.schedule-page{max-width:1460px}.schedule-hero{display:flex;justify-content:space-between;align-items:end;gap:28px;padding:38px 0 28px}.schedule-hero h1{font-size:clamp(28px,3.3vw,42px);letter-spacing:-.8px}.schedule-hero p:not(.eyebrow){color:var(--muted-foreground);margin:12px 0 0;font-size:14px}.sheet-mark{font-size:11px;color:var(--muted-foreground);white-space:nowrap;display:flex;gap:8px;align-items:center}.sheet-dot{width:7px;height:7px;border-radius:50%;background:#177f70}.planner-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:26px;align-items:start}.setup-panel{border:1px solid var(--border);background:#fff;padding:20px}.panel-label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:700;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--border)}.text-button{border:0;background:none;padding:3px 0;color:#087481;font-size:11px;text-decoration:underline;text-underline-offset:4px;min-height:30px}.schedule-page label,dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;margin-bottom:16px}.schedule-page label span,dialog label span{font-weight:400;color:var(--muted-foreground)}.schedule-page input,.schedule-page select,.schedule-page textarea,dialog input,dialog select,dialog textarea{font:inherit;font-size:13px;min-height:42px;width:100%;border:1px solid #bdcccf;border-radius:2px;background:#fbfcf9;padding:9px;color:var(--foreground);min-width:0}.schedule-page input:focus,.schedule-page select:focus,dialog input:focus,dialog select:focus,dialog textarea:focus{outline:2px solid #0b7f86;outline-offset:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.field-hint{font-size:11px;font-weight:400;line-height:1.65;color:var(--muted-foreground);margin:0 0 16px}.schedule-page label small{font-size:10px;font-weight:400;line-height:1.7;color:var(--muted-foreground)}.check-label{flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500!important;cursor:pointer}.check-label input{width:16px!important;min-height:16px!important;height:16px;accent-color:#087481;flex-shrink:0}.b12-toggle{align-self:center;margin-top:16px}.dose-details{border-top:1px solid var(--border);padding-top:12px;margin:0 0 18px}.dose-details summary{font-size:11px;color:#087481;cursor:pointer;min-height:30px}.dose-details .form-grid{margin-top:12px}.dose-preview{padding:14px;background:#eef5f0;border-left:3px solid #5d9e6d;margin:18px 0}.mini-label{font-size:9px;letter-spacing:1.5px;font-weight:750;color:#447253}.dose-preview p{font-size:12px;line-height:1.8;margin:5px 0 0}.dose-preview b{font-size:16px;color:#174e3a}.primary-button{background:#07394c;border:1px solid #07394c;color:#fff;font:inherit;font-size:13px;min-height:44px;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px}.primary-button:hover{background:#0a5368}.setup-panel .primary-button{width:100%;margin-bottom:10px}.clinical-note{background:#f5f5ed;border:1px solid #e4e4d6;padding:13px;font-size:11px;color:#566256;line-height:1.8}.clinical-note b{font-weight:650;color:#344d43}.clinical-note p{margin:5px 0}.clinical-note.compact{margin:4px 0 18px}.workspace{min-width:0}.workspace-heading{display:flex;justify-content:space-between;align-items:start;gap:14px;margin:0 0 18px}.workspace-heading .eyebrow{font-size:9px;margin-bottom:7px}.workspace-heading h2{font-size:24px;letter-spacing:-.5px;line-height:1.25;margin:0;font-weight:700}.plan-summary{font-size:11px;color:var(--muted-foreground);margin:8px 0 0;line-height:1.8}.plan-badge{font-size:10px;white-space:nowrap;padding:4px 9px;border:1px solid var(--border);background:#fff}.plan-badge.ready{background:#e7f2e9;color:#25673c;border-color:#a2c8a9}.plan-badge.example{background:#fff3d6;color:#755b17;border-color:#e7d49b}.sheet-toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.toolbar-group{display:flex;flex-wrap:wrap;gap:6px}.sheet-toolbar button,.file-toolbar button,.dialog-actions>button{border:1px solid #bdcccf;background:#fff;color:var(--foreground);padding:7px 10px;min-height:35px;font:inherit;font-size:11px;line-height:1.5}.sheet-toolbar button:hover:not(:disabled),.file-toolbar button:hover:not(:disabled){background:#e9f2ed;border-color:#117b83}.sheet-toolbar .print-button{background:#0b7379;color:#fff;border-color:#0b7379}button:disabled{opacity:.4;cursor:not-allowed}.planner-status{font-size:11px;min-height:18px;margin:10px 0;color:#12665a}.workspace-notice{font-size:11px;padding:9px 12px;background:#fff3d6;border:1px solid #e7d49b;margin-top:12px}.empty-sheet{min-height:435px;border:1px dashed #b8c9ca;background:#fcfdf9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.empty-sheet h3{font-size:18px;margin:23px 0 8px}.empty-sheet p{font-size:12px;color:var(--muted-foreground);line-height:1.8;margin:0 0 10px}.empty-grid{display:grid;grid-template-columns:48px 100px 48px 70px;grid-auto-rows:24px;gap:1px;border:1px solid #bed0c8;background:#bed0c8;box-shadow:6px 6px 0 #eef2e8;transform:rotate(-3deg);font-size:8px}.empty-grid span,.empty-grid i{display:flex;align-items:center;justify-content:center;background:#fff;font-style:normal}.empty-grid .green{background:#a8d490}.empty-grid .orange{background:#efb188}.table-shell{width:100%;overflow:auto;border:1px solid #9daead;background:#fff;max-height:760px;scrollbar-width:thin}.table-shell:focus-visible{outline:2px solid #0a7e85;outline-offset:2px}#schedule-table{border-collapse:collapse;width:100%;min-width:670px;table-layout:fixed;font-size:12px;line-height:1.55}#schedule-table th{font-size:11px;background:#eaf0eb;color:#234b3c;text-align:left;padding:11px 10px;position:sticky;top:0;z-index:1;border:1px solid #9daead;white-space:nowrap}#schedule-table th:first-child{width:113px}#schedule-table th:nth-child(2){width:146px}#schedule-table th:nth-child(3){width:114px}#schedule-table th:nth-child(4){width:147px}#schedule-table .edit-column{width:40px}#schedule-table td{border:1px solid #b8c5bf;padding:9px 10px;vertical-align:top;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}#schedule-table .date-cell{font-size:11px;white-space:nowrap;color:#314f4d}#schedule-table .drug-cell{font-weight:600}.drug-amivantamab{background:#acd895}.drug-chemo{background:#f1a478}.drug-b12{background:#f7f4df}.drug-oral{background:#d7e6f2}.manual-cell{background:#fff4ab}.note-cell{color:#52605b;font-size:11px;line-height:1.75}.status-badge{display:inline-block;font-size:9px;padding:1px 6px;border-radius:2px;margin-bottom:4px;background:#edf3ee;border:1px solid #cedcd2;color:#46644e}.status-badge.given{background:#e4eee7;color:#1e6241}.status-badge.held{background:#fff0d8;color:#845200;border-color:#ebce99}.status-badge.cancelled{background:#f4e9e7;color:#8a5c51}.status-held .dose-cell,.status-cancelled .dose-cell{text-decoration:line-through;color:#826c62}.status-cancelled .drug-cell,.status-cancelled .cycle-cell{color:#807f79;background:#eeefea}.note-event td{background:#f0f1e7;color:#3b584c}.note-event strong{font-size:11px}.row-edit{padding:2px 5px;font-size:15px;min-height:28px;border:0;background:transparent;color:#087782}.date-range{display:block;font-size:9px;color:#637675}.row-history{display:block;font-size:9px;color:#8a6e3b;margin-top:3px;white-space:normal}.sheet-footer{padding:14px 0;border-bottom:1px solid var(--border)}.color-key{display:flex;flex-wrap:wrap;gap:14px;font-size:10px}.color-key>span{display:flex;align-items:center;gap:6px}.color-key i{width:9px;height:9px;border:1px solid #b1bdad}.amiv-key{background:#acd895}.chemo-key{background:#f1a478}.manual-key{background:#fff4ab}.sheet-footer p{font-size:10px;margin:10px 0 0;color:var(--muted-foreground)}.file-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:13px 0;font-size:10px;color:var(--muted-foreground)}.file-toolbar>div{display:flex;gap:6px}.file-toolbar button{min-height:31px;font-size:10px;padding:5px 9px}.schedule-reference{margin:34px 0 0;border-top:1px solid var(--border);padding:16px 0;font-size:12px}.schedule-reference>summary{cursor:pointer;font-size:12px;color:#0b7079;min-height:35px}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 36px;padding-top:14px}.reference-grid h3{font-size:13px;margin:0 0 8px}.reference-grid p,.reference-grid li{font-size:11px;line-height:1.9;color:var(--muted-foreground)}.reference-grid ul{padding-left:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-error{color:#963d25;background:#fff0e8;font-size:12px;padding:9px 12px;line-height:1.7}dialog{width:min(530px,calc(100% - 28px));max-height:90vh;overflow:auto;border:1px solid #9bb2af;padding:24px;color:var(--foreground);background:#fdfefb;box-shadow:0 20px 90px #092e3b38}dialog::backdrop{background:#0a2a3b65}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:22px}.dialog-heading h2{font-size:21px;margin:0;line-height:1.4;letter-spacing:-.3px}.dialog-heading .eyebrow{font-size:9px;margin-bottom:6px}.close-button{border:0;background:none;font-size:25px;color:#51716a;line-height:1;padding:3px 7px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.dialog-actions .primary-button{background:#07394c;color:white;padding:9px 15px}.dialog-copy{font-size:12px;line-height:1.8;color:var(--muted-foreground)}.edit-options{border:1px solid var(--border);background:#f1f6f0;padding:12px}.edit-options .check-label{font-size:11px;margin:0 0 9px}.edit-options .field-hint{font-size:10px;margin:0}
@media(min-width:1500px){#schedule-table th:nth-child(2){width:170px}#schedule-table th:nth-child(4){width:170px}}@media(max-width:1100px){.planner-layout{grid-template-columns:285px minmax(0,1fr);gap:18px}.setup-panel{padding:16px}.sheet-mark{display:none}.workspace-heading h2{font-size:21px}.panel-label{align-items:start;font-size:10px}.panel-label .text-button{font-size:10px}}@media(max-width:850px){.planner-layout{grid-template-columns:1fr}.setup-panel{display:block}.schedule-hero{padding-top:28px}.schedule-hero h1{font-size:29px}#plan-form{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}#plan-form>label,#plan-form>.form-grid,#plan-form>#chemo-options{grid-column:1}#plan-form>.dose-preview{grid-column:2;grid-row:1/4;align-self:start;margin-top:0}#plan-form>.primary-button{grid-column:2;grid-row:4}#plan-form>.form-error,#plan-form>.field-hint{grid-column:1/-1}.clinical-note{margin-top:10px}.workspace{margin-top:12px}.table-shell{max-height:650px}}@media(max-width:540px){.schedule-page{padding:0 16px 24px}.schedule-hero p:not(.eyebrow){font-size:12px}.schedule-hero .eyebrow{font-size:9px;letter-spacing:1px}.setup-panel{padding:16px}#plan-form{display:block}.panel-label{font-size:11px}.panel-label .text-button{font-size:10px}.dose-preview{margin-top:14px!important}.workspace-heading h2{font-size:22px}.workspace-heading{gap:8px}.plan-summary{font-size:10px}.sheet-toolbar{gap:8px}.sheet-toolbar button{font-size:10px;min-height:34px;padding:7px 8px}.sheet-toolbar .toolbar-group{gap:5px}.reference-grid{grid-template-columns:1fr;gap:18px}.empty-grid{grid-template-columns:42px 83px 42px 57px}.empty-sheet{min-height:360px;padding:20px 12px}.file-toolbar{display:block}.file-toolbar>span{display:block;margin-top:8px}.schedule-page .site-footer{font-size:10px}dialog{padding:19px}.dialog-heading h2{font-size:19px}.form-grid{gap:0 10px}}
@page{size:A4 landscape;margin:11mm}@media print{body{background:white;font-size:10px;color:#111;print-color-adjust:exact;-webkit-print-color-adjust:exact}.site-header,.skip-link,.schedule-hero,.setup-panel,.sheet-toolbar,.file-toolbar,.schedule-reference,.site-footer,.workspace-notice,.planner-status,.edit-column,.empty-sheet,dialog{display:none!important}.schedule-page{max-width:none;padding:0}.planner-layout{display:block}.workspace-heading{margin-bottom:12px}.workspace-heading .eyebrow{font-size:8px}.workspace-heading h2{font-size:20px;color:#111}.plan-summary{font-size:10px;color:#333}.plan-badge{font-size:9px}.table-shell{overflow:visible;max-height:none;border:none}#schedule-table{font-size:10px;min-width:0;table-layout:fixed}#schedule-table th{position:static;font-size:10px;background:#e6eee6}#schedule-table th,#schedule-table td{border:1px solid #555;padding:6px 8px}#schedule-table th:first-child{width:105px}#schedule-table th:nth-child(2){width:145px}#schedule-table th:nth-child(3){width:115px}#schedule-table th:nth-child(4){width:150px}#schedule-table thead{display:table-header-group}#schedule-table tr{break-inside:avoid}.note-cell{font-size:9px}.sheet-footer{border:0}.sheet-footer p{font-size:9px;color:#333}.row-history{color:#555}.color-key{font-size:9px}.status-badge{font-size:8px}}

.table-scroll-hint{display:none;font-size:10px;color:var(--muted-foreground)}@media(max-width:850px){.table-scroll-hint{display:block}}@media print{.table-scroll-hint{display:none!important}}

/* Appointment view: one date, all medications, one place for day notes. */
.table-shell:has(.appointment-table){max-height:none;overflow:visible;border:1px solid #acbdb5}
#schedule-table.appointment-table{min-width:0;table-layout:fixed}
#schedule-table.appointment-table thead th{position:static;background:#e6eee8;padding:12px 15px;font-size:11px;border-color:#acbdb5}
#schedule-table.appointment-table thead th:first-child{width:142px}
#schedule-table.appointment-table thead th:nth-child(2){width:auto}
#schedule-table.appointment-table thead th:nth-child(3){width:225px}
#schedule-table.appointment-table tbody th.appointment-date{position:static;vertical-align:top;text-align:left;white-space:normal;border:1px solid #b9c9bf;padding:18px 14px;background:#f1f5ee;color:#184b3a}
.appointment-date-number{display:block;font-size:16px;letter-spacing:-.25px;line-height:1.5;font-weight:750;white-space:nowrap}
.appointment-weekday{display:block;font-size:11px;font-weight:400;color:#5c7466;margin:3px 0 14px}
.appointment-cycle{display:block;width:fit-content;max-width:100%;font-size:10px;line-height:1.5;font-weight:500;padding:3px 6px;background:#e2ece3;margin:4px 0;overflow-wrap:anywhere}
.appointment-count{display:block;font-size:10px;font-weight:400;color:#6f8274;margin-top:12px}
#schedule-table.appointment-table td.appointment-medicines{padding:2px 14px;background:#fff;border-color:#b9c9bf}
.med-item{display:grid;grid-template-columns:minmax(110px,1fr) minmax(110px,.95fr) 25px;gap:12px;align-items:start;padding:16px 0;border-bottom:1px solid #e2eae2}
.med-item:last-child{border-bottom:0}
.med-identity{min-width:0}.med-identity .drug-cell{display:inline-block;padding:3px 7px;border-radius:2px;font-size:12px;line-height:1.65;max-width:100%;font-weight:650}
.med-identity>.cycle-cell{display:none;font-size:9px;padding:2px 5px;margin:6px 0;width:fit-content}
.med-identity>.cycle-cell.manual-cell{display:block}
.med-subtitle{display:block;font-size:10px;font-weight:400;line-height:1.7;color:#6c7e73;margin-top:6px}
.med-dose{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.med-dose .dose-cell{font-size:16px;line-height:1.6;letter-spacing:-.2px;font-weight:700;color:#183d31;overflow-wrap:anywhere}
.med-dose .chemo-dose{font-size:11px;line-height:1.85;letter-spacing:0;font-weight:500}
.med-dose .status-badge{margin:0;font-size:9px;padding:1px 5px}
.manual-label{font-size:9px;padding:1px 5px;background:#fff1a7;color:#765b14;border:1px solid #e3d681}
.med-item .row-edit{font-size:16px;line-height:1.5;padding:0;min-height:30px;color:#2e8079}
.inactive-medicines{margin:8px 0 4px;padding:10px 0 0;border-top:1px dashed #d6c6b6}
.inactive-heading{font-size:10px;color:#8a6b58;font-weight:600;margin-bottom:2px}
.inactive-medicines .med-item{padding:11px 0}.inactive-medicines .dose-cell{color:#917d71;font-size:13px}.inactive-medicines .drug-cell{background:#eeeee6;color:#7c7d6f}
#schedule-table.appointment-table td.appointment-notes{padding:17px 13px;font-size:11px;background:#fcfcf6;line-height:1.85;border-color:#b9c9bf;color:#677568}
.day-note{position:relative;padding:10px;background:#fff4cf;border:1px solid #e6dcad;margin-bottom:10px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.day-note b{font-size:10px;color:#72602e}.day-note p{margin:4px 0}.day-note .row-edit{float:right}
.day-med-note{font-size:10px;margin:0 0 10px;line-height:1.9;overflow-wrap:anywhere}.day-med-note b{font-weight:650;color:#4e6654}
.no-day-note{font-size:10px;color:#9aa696}.day-note-button{display:block;padding:4px 0;margin-top:8px;border:0;background:none;color:#3c8478;font-size:10px;text-align:left}.segment-indicator{font-size:9px;color:#9caa9b;margin-top:12px}.no-appointment-meds{display:block;color:#869181;padding:16px 0;font-size:11px}
.table-scroll-hint{display:block!important;font-size:10px;color:#738774;margin:4px 0 12px}
@media(min-width:1400px){#schedule-table.appointment-table thead th:nth-child(3){width:245px}}
@media(min-width:851px) and (max-width:1150px){#schedule-table.appointment-table thead th:first-child{width:113px}#schedule-table.appointment-table thead th:nth-child(3){width:140px}#schedule-table.appointment-table td.appointment-medicines{padding:2px 9px}.med-item{grid-template-columns:minmax(85px,1fr) minmax(80px,.8fr) 20px;gap:7px}.med-identity .drug-cell{font-size:10px}.appointment-date-number{font-size:13px}.med-dose .dose-cell{font-size:14px}.med-dose .chemo-dose{font-size:10px}}
@media(max-width:850px){
 .table-shell:has(.appointment-table){border:0;background:none;overflow:visible}.appointment-table,.appointment-table tbody{display:block;width:100%}.appointment-table thead{display:none}
 #schedule-table.appointment-table tr.appointment-row{display:block;border:1px solid #b4c8b8;background:#fff;margin-bottom:14px;box-shadow:3px 3px 0 #e7ede2}
 #schedule-table.appointment-table tbody th.appointment-date{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;width:100%;border:0;border-bottom:1px solid #c2d2c1;padding:12px 14px}
 .appointment-date-number{font-size:18px}.appointment-weekday{margin:0;font-size:11px}.appointment-cycle{margin:0;font-size:9px}.appointment-count{width:100%;margin:1px 0 0;font-size:10px}
 #schedule-table.appointment-table td.appointment-medicines{display:block;border:0;padding:0 14px}
 .med-item{grid-template-columns:minmax(0,1fr) minmax(105px,.9fr) 22px;gap:10px;padding:15px 0}.med-dose .dose-cell{font-size:16px}.med-dose .chemo-dose{font-size:11px}.med-identity .drug-cell{font-size:12px}.med-subtitle{font-size:10px}
 #schedule-table.appointment-table td.appointment-notes{display:block;border:0;border-top:1px solid #edf0e6;padding:9px 14px;background:#fbfcf5;font-size:10px}.appointment-notes .no-day-note{display:none}.day-note-button{margin:0;min-height:28px;font-size:10px}.day-med-note{font-size:10px}.day-note{font-size:11px;margin-bottom:8px}.inactive-heading{font-size:10px}
}
@media print{
 .table-scroll-hint,.day-note-button,.med-item .row-edit,.day-note .row-edit{display:none!important}
 .table-shell:has(.appointment-table){border:0;max-height:none}
 #schedule-table.appointment-table{display:table;table-layout:fixed;width:100%;font-size:9px}
 #schedule-table.appointment-table thead{display:table-header-group}#schedule-table.appointment-table tbody{display:table-row-group}
 #schedule-table.appointment-table tr.appointment-row{display:table-row;break-inside:avoid;box-shadow:none}
 #schedule-table.appointment-table thead th:first-child{width:110px}#schedule-table.appointment-table thead th:nth-child(2){width:auto}#schedule-table.appointment-table thead th:nth-child(3){width:220px}
 #schedule-table.appointment-table tbody th.appointment-date{display:table-cell;padding:10px;background:#ecf2e6;border:1px solid #677e68}
 #schedule-table.appointment-table td.appointment-medicines{display:table-cell;padding:0 10px;border:1px solid #677e68}
 #schedule-table.appointment-table td.appointment-notes{display:table-cell;padding:10px;border:1px solid #677e68;font-size:9px}
 .appointment-date-number{font-size:13px}.appointment-weekday{font-size:9px;margin:2px 0 7px}.appointment-cycle{font-size:8px;margin:3px 0}.appointment-count{font-size:8px;margin-top:5px}
 .med-item{grid-template-columns:minmax(0,1fr) minmax(120px,1fr);gap:10px;padding:9px 0}
 .med-identity .drug-cell{font-size:10px;padding:2px 5px}.med-subtitle{font-size:8px;margin-top:3px}.med-dose .dose-cell{font-size:12px}.med-dose .chemo-dose{font-size:9px}.med-dose .status-badge{font-size:7px}.day-med-note,.day-note{font-size:8px;line-height:1.7}.day-note b{font-size:8px}.no-day-note{display:none}.manual-label{font-size:7px}.inactive-heading{font-size:8px}.inactive-medicines .dose-cell{font-size:10px}
}
