/* Agenda: cells may shrink within seven columns; their height never sets track width. */
.ag-page{min-width:0}
.ag-page .agenda-layout{display:grid;grid-template-columns:minmax(260px,310px) minmax(0,1fr);gap:26px;align-items:start}
.ag-page .mini-calendar{min-width:0;width:100%;padding:22px;box-sizing:border-box;overflow:visible}
.ag-page .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;max-width:none;min-width:0;margin:22px 0 0;gap:4px}
.ag-page .calendar-grid>small{min-width:0;font-size:9px;font-weight:600;margin-bottom:7px;color:#72829b}
.ag-page .calendar-grid>button{display:grid;place-items:center;box-sizing:border-box;min-width:0;width:100%;height:36px;min-height:36px;padding:0;aspect-ratio:auto;font-size:12px;border:1px solid transparent;border-radius:9px}
.ag-page .calendar-grid>button.in-range:not(.selected){background:#edf3ff;color:#4466a9}
.ag-page .calendar-grid>button.is-today:not(.selected){border-color:#a7bae8;font-weight:650;color:#3459ac}
.ag-page .calendar-grid>button.selected{color:#fff;background:var(--blue)}
.ag-page .calendar-grid>button:focus-visible,.ag-month-arrow:focus-visible{outline:2px solid #426df3;outline-offset:2px}
.ag-month-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.ag-month-header h2{font-size:15px;line-height:1.45;text-transform:capitalize;min-width:0;overflow-wrap:anywhere}
.ag-month-header>div{display:flex;gap:5px;flex-shrink:0}
.ag-month-arrow{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;min-width:28px;padding:0;border:1px solid #dce5f4;border-radius:9px;background:#fff;color:#657ba2}
.ag-month-arrow .icon{width:14px;height:14px}
.ag-month-arrow:hover{background:#edf3ff;border-color:#afc2ed;color:#315ad2}
.ag-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:19px}
.ag-page .calendar-key{margin:0;font-size:10px;line-height:1.5}
.ag-calendar-footer>.text-btn{font-size:11px;padding:5px 0}
.ag-page .agenda-note{display:flex;gap:9px;align-items:flex-start;margin-top:19px;padding-top:17px;font-size:11px;line-height:1.7}
.ag-page .agenda-note .icon{flex-shrink:0;width:15px;height:15px;margin-top:2px}
.ag-page .agenda-day{min-width:0}
.ag-period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.ag-period-toolbar .segmented{padding:4px}
.ag-period-toolbar .segmented button{font-size:12px;padding:9px 18px}
.ag-pending-filter{display:flex;align-items:center;gap:7px;border:1px solid #e2e8f2;background:#ffffff99;border-radius:11px;padding:10px 13px;font-size:11px;color:#6c7b95}
.ag-pending-filter .icon{width:15px;height:15px;color:#ba883a}
.ag-pending-filter:hover,.ag-pending-filter.active{background:#fff3df;border-color:#ecd6ad;color:#926320}
.ag-page .ag-day-heading{gap:15px;margin:0 0 22px;align-items:center}
.ag-page .ag-day-heading h2{font-size:20px;text-transform:capitalize;line-height:1.4;margin-top:7px}
.ag-period-label{font-size:9px;letter-spacing:1.5px;color:#7f91ac;font-weight:650}
.ag-day-heading>.pill{flex-shrink:0;font-size:10px}
.ag-date-heading{font-size:12px;color:#6c7f9b;text-transform:capitalize;line-height:1.6;margin:25px 0 12px;display:flex;align-items:center;gap:10px}
.ag-date-heading:first-child{margin-top:0}
.ag-date-heading>span{font-size:9px;background:#e7edfd;color:#5274c1;padding:2px 7px;border-radius:5px;text-transform:none}
.ag-page .visit-card{display:grid;grid-template-columns:85px minmax(0,1fr) auto;padding:22px;gap:20px;min-width:0;align-items:center;margin-bottom:14px}
.ag-page .visit-time{border-right:1px solid var(--line);font-size:24px;padding-right:17px;min-width:0;letter-spacing:-.6px}
.ag-page .visit-time small{font-size:9px;letter-spacing:0;line-height:1.5;white-space:normal}
.ag-page .visit-card-info{min-width:0}
.ag-page .visit-card-info h3{font-size:15px;margin-top:10px;overflow-wrap:anywhere}
.ag-page .visit-card-info>p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.ag-page .visit-card-info .pill{font-size:10px}
.ag-page .visit-card-info .ag-next{display:flex;gap:6px;align-items:flex-start;font-size:11px;color:#7b8ba3;margin-top:12px;max-width:420px}
.ag-next .icon{width:13px;height:13px;flex-shrink:0;margin-top:2px}
.ag-page .visit-actions{margin:0;gap:9px;min-width:0;align-items:stretch;width:auto;padding:0;border:0;flex-direction:column}
.ag-page .visit-actions>.btn{font-size:11px;min-height:38px;padding:10px 13px;white-space:normal;line-height:1.4}
.ag-page .visit-actions>.text-btn{font-size:10px;justify-content:center;display:inline-flex;gap:5px}
.ag-page .visit-actions>.pill{font-size:9px;line-height:1.5;max-width:125px;text-align:center}
.ag-page .ag-finished{background:#ffffff72}
.ag-page .agenda-empty{margin-top:0;padding:40px 25px}
.ag-page .agenda-empty>.btn{margin-top:22px}
@media(max-width:1200px){
 .ag-page .agenda-layout{grid-template-columns:minmax(250px,280px) minmax(0,1fr);gap:20px}
 .ag-page .mini-calendar{padding:18px}
 .ag-page .visit-card{grid-template-columns:74px minmax(0,1fr);padding:20px;gap:15px}
 .ag-page .visit-actions{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;margin-top:2px}
 .ag-page .visit-time{font-size:23px}
}
@media(max-width:920px){
 .ag-page .agenda-layout{grid-template-columns:1fr;gap:24px}
 .ag-page .mini-calendar{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);column-gap:28px;padding:23px}
 .ag-month-header,.ag-page .calendar-grid{grid-column:1}
 .ag-page .calendar-grid{max-width:370px}
 .ag-calendar-footer{grid-column:2;grid-row:1;align-self:center;margin:0;flex-wrap:wrap}
 .ag-page .agenda-note{grid-column:2;grid-row:2;align-self:start;margin-top:22px;padding-top:18px}
 .ag-page .ag-day-heading h2{font-size:19px}
}
@media(max-width:560px){
 .ag-page .mini-calendar{display:block;padding:20px}
 .ag-page .calendar-grid{max-width:none}
 .ag-page .calendar-grid>button{height:40px;min-height:40px;font-size:13px}
 .ag-month-header h2{font-size:16px}
 .ag-month-arrow{flex-basis:32px;width:32px;height:32px;min-width:32px}
 .ag-calendar-footer{margin-top:17px;flex-wrap:nowrap}
 .ag-page .agenda-note{margin-top:15px;padding-top:15px}
 .ag-period-toolbar{gap:8px;margin-bottom:20px}
 .ag-period-toolbar .segmented button{padding:9px 15px}
 .ag-pending-filter{padding:10px;font-size:10px}
 .ag-page .ag-day-heading h2{font-size:17px}
 .ag-page .visit-card{padding:17px;grid-template-columns:65px minmax(0,1fr);gap:13px}
 .ag-page .visit-time{font-size:20px;padding-right:10px;align-self:start;margin-top:5px}
 .ag-page .visit-time small{font-size:8px}
 .ag-page .visit-card-info h3{font-size:14px}
 .ag-page .visit-actions{grid-column:1/-1;padding-top:13px;margin-top:0;border-top:1px solid #e6ecf5;gap:8px}
 .ag-page .visit-actions>.btn{flex:1}
 .ag-page .visit-actions>.text-btn{padding:8px 0}
}
