.print-preview{background:var(--color-panel);flex-direction:column;height:100vh;display:flex}.preview-toolbar{min-height:var(--toolbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex;position:sticky;top:0}.preview-toolbar__field{align-items:center;gap:.35rem;display:inline-flex}.preview-toolbar__option{white-space:nowrap;align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.preview-toolbar__option--group{gap:.35rem}.preview-toolbar__indent-amount{width:3.25rem;font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;padding:.2rem .3rem}.preview-toolbar__indent-amount:disabled{opacity:.5}.preview-toolbar__font-step{border:1px solid var(--color-border);background:var(--color-surface);min-width:1.6rem;color:var(--color-text);cursor:pointer;border-radius:4px;padding:.15rem .4rem;line-height:1}.preview-toolbar__font-step:disabled{opacity:.5;cursor:default}.preview-toolbar__font-value{text-align:center;min-width:2.75rem;font-size:.8rem}.preview-toolbar__weekend-opacity{vertical-align:middle;width:6rem}.preview-toolbar__weekend-value{text-align:center;min-width:2.75rem;font-size:.8rem}.month-range-picker{display:inline-block;position:relative}.month-range-picker__trigger{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.3rem .6rem;line-height:1.2;display:inline-flex}.month-range-picker__trigger-range{font-size:.85rem;font-weight:600}.month-range-picker__trigger-count{color:#555;font-size:.7rem}.month-range-picker__popover{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;flex-direction:column;align-items:center;gap:.15rem;width:16rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 6px 18px #0000002e}.month-range-picker__nav{background:var(--color-panel);cursor:pointer;width:100%;color:var(--color-text);border:none;border-radius:4px;padding:.1rem;font-size:.7rem}.month-range-picker__nav:hover{background:var(--color-border)}.month-range-picker__month{width:100%}.month-range-picker__month-label{text-align:center;margin:.25rem 0 .15rem;font-size:.78rem;font-weight:600}.month-range-picker__weekday-row,.month-range-picker__week{grid-template-columns:repeat(7,1fr);display:grid}.month-range-picker__weekday{text-align:center;color:#777;padding-bottom:.1rem;font-size:.62rem}.month-range-picker__day{aspect-ratio:1;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;font-size:.72rem}.month-range-picker__day:hover{outline:1px solid var(--color-border)}.month-range-picker__day--muted{color:#b8bcc4}.month-range-picker__day--medicated{background:#fde68a;font-weight:600}.month-range-picker__day--in-range{background:#cfe2ff}.month-range-picker__day--in-range.month-range-picker__day--medicated{background:linear-gradient(#cfe2ff8c,#cfe2ff8c),#fde68a}.month-range-picker__day--range-start{border-top-left-radius:4px;border-bottom-left-radius:4px}.month-range-picker__day--range-end{border-top-right-radius:4px;border-bottom-right-radius:4px}.month-range-picker__day--today-week{border-top:1px dotted var(--color-accent);border-bottom:1px dotted var(--color-accent)}.month-range-picker__week .month-range-picker__day--today-week:first-child{border-left:1px dotted var(--color-accent)}.month-range-picker__week .month-range-picker__day--today-week:last-child{border-right:1px dotted var(--color-accent)}.month-range-picker__hint{color:#666;text-align:center;margin:.35rem 0 0;font-size:.66rem}.print-preview__scroll{flex:1;justify-content:center;padding:1.5rem;display:flex;overflow:auto}.preview-document{background:var(--color-surface);color:var(--color-text);width:100%;max-width:60rem;padding:1.5rem;font-size:1rem}.preview-document__patient-name{margin:0;font-size:1.4em}.preview-document__printed-date{color:#555;margin:.25rem 0 1.25rem}.preview-document__calendar{border-collapse:collapse;table-layout:fixed;width:100%}.preview-document__weekday{border:1px solid var(--color-border);text-align:center;background:var(--color-panel);padding:.25rem .4rem;font-size:.72em}.preview-document__day{border:1px solid var(--color-border);vertical-align:top;height:6rem;padding:0}.preview-document__day--weekend,.preview-document__weekday--weekend{background:color-mix(in srgb, var(--print-weekend-bg,#ccc) calc(var(--print-weekend-opacity,.65) * 100%), transparent);-webkit-print-color-adjust:exact;print-color-adjust:exact}.preview-document__day-inner{box-sizing:border-box;flex-direction:column;height:100%;min-height:6rem;padding:.35rem;display:flex}.preview-document__day-label{margin-bottom:.2rem;font-weight:600}.preview-document__location--clinic{margin-top:auto}.preview-document__location-heading{text-align:left;color:#555;font-size:.66em;font-style:italic}.preview-document__drug{font-size:.82em}.preview-document__checkbox{border:1px solid var(--color-text);box-sizing:border-box;vertical-align:middle;text-indent:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:.85em;height:.85em;margin-right:.4em;display:inline-block}.preview-document__notes-cell{border:1px solid var(--color-border);border-top:2px solid var(--color-border);vertical-align:top;padding:.4rem .5rem;font-size:.8em}.preview-document__notes-heading{margin-right:.4rem;font-weight:700}.preview-document__notes-body{white-space:pre-wrap}@page{size:letter landscape;margin:.5in}@media print{.preview-toolbar,.main-canvas-screen,.context-menu,.dialog-backdrop,.modal-dialog__overlay{display:none!important}.print-preview,.print-preview__scroll{background:var(--color-surface);height:auto;padding:0;overflow:visible}.preview-document{max-width:none;padding:0}.preview-document__week{break-inside:avoid;page-break-inside:avoid}.preview-document__calendar thead{display:table-header-group}.preview-document__calendar tfoot{display:table-footer-group}.preview-document__notes-foot{break-inside:avoid;page-break-inside:avoid}}:root{--toolbar-height:3rem;--drug-panel-width:16rem;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:var(--font-body);--color-surface:#fff;--color-panel:#f5f6f8;--color-border:#d0d4da;--color-text:#1c1e21;--color-accent:#b3261e;--color-bg:#fff;--color-field:#fff;--color-muted:#8a9099;--color-cell-alt:#f3f4f6;--accent-soft:#fbeae9;--color-day-selected:#eef5ff;font-family:var(--font-body);color:var(--color-text)}:root[data-theme=warm]{--font-body:"Hanken Grotesk", system-ui, -apple-system, sans-serif;--font-display:"Bricolage Grotesque", system-ui, sans-serif;--color-surface:oklch(99.3% .006 70);--color-panel:oklch(95.5% .018 60);--color-border:oklch(85% .022 58);--color-text:oklch(24% .025 50);--color-accent:oklch(56% .14 42);--color-bg:oklch(97.3% .014 64);--color-field:oklch(98.5% .009 66);--color-panel-2:oklch(93.5% .022 58);--color-muted:oklch(50% .028 54);--color-border-strong:oklch(72% .028 54);--color-cell-alt:oklch(96.7% .014 64);--color-cell-hover:oklch(95.5% .035 50);--color-day-selected:oklch(94.5% .05 52);--accent-press:oklch(49% .145 40);--accent-ink:oklch(99% .012 60);--accent-soft:oklch(94.5% .05 52);--accent-ring:oklch(80% .09 48);--accent-text:oklch(50% .14 42)}:root[data-theme=warm] .class-section__heading,:root[data-theme=warm] .notes-area__label,:root[data-theme=warm] .dialog__title,:root[data-theme=warm] .modal-dialog__title,:root[data-theme=warm] .preview-document__patient-name{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-bg)}.main-canvas{background:var(--color-bg);flex-direction:column;height:100vh;display:flex}.toolbar{z-index:10;height:var(--toolbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding:0 .75rem;display:flex;position:sticky;top:0}.toolbar__save-group{align-items:center;gap:.125rem;display:inline-flex}.toolbar__unsaved-indicator{color:var(--color-accent);font-size:1.1rem;font-weight:700;line-height:1}.toolbar__patient-name{min-width:8rem;height:2rem;color:var(--color-text);background:var(--color-field);border:1px solid var(--color-border);border-radius:4px;flex:auto;padding:0 .5rem;font-size:1rem}.main-canvas__body{flex:auto;min-height:0;display:flex}.drug-panel{top:var(--toolbar-height);flex:0 0 var(--drug-panel-width);width:var(--drug-panel-width);height:calc(100vh - var(--toolbar-height));background:var(--color-panel);border-right:1px solid var(--color-border);padding:.75rem;position:sticky;overflow-y:auto}.main-canvas__center{flex-direction:column;flex:auto;min-width:0;padding:.75rem;display:flex;overflow-y:auto}.calendar-grid-region{flex-direction:column;flex:auto;min-height:0;display:flex}.calendar-grid__weekday-header{border:1px solid #0000;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.35rem;margin-right:2.5rem;display:grid}.calendar-grid__weekday{text-align:center;color:#555;background:var(--color-panel);white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:.15rem .25rem;font-size:.72rem;font-weight:600;overflow:hidden}.calendar-grid{flex:auto;align-items:stretch;gap:.5rem;min-height:22rem;display:flex}.calendar-grid__weeks{border:1px solid var(--color-border);flex:auto;overflow:hidden}.calendar-grid__weeks-strip{background:var(--color-border);flex-direction:column;gap:2px;height:100%;display:flex}@keyframes calendar-week-slide-from-bottom{0%{opacity:.85;transform:translateY(16%)}to{opacity:1;transform:translateY(0)}}@keyframes calendar-week-slide-from-top{0%{opacity:.85;transform:translateY(-16%)}to{opacity:1;transform:translateY(0)}}.calendar-grid__weeks-strip--from-bottom{animation:.24s cubic-bezier(.22,.61,.36,1) calendar-week-slide-from-bottom}.calendar-grid__weeks-strip--from-top{animation:.24s cubic-bezier(.22,.61,.36,1) calendar-week-slide-from-top}@media (prefers-reduced-motion:reduce){.calendar-grid__weeks-strip--from-bottom,.calendar-grid__weeks-strip--from-top{animation:none}}.week-row{flex:1 1 0;grid-template-columns:repeat(7,1fr);gap:2px;min-height:0;display:grid}.day-cell{background:var(--color-surface);cursor:pointer;min-height:6rem;padding:.25rem;font-size:.85rem;overflow:hidden}.week-row--alt .day-cell{background:var(--color-cell-alt)}.week-row--past{position:relative}.week-row--past:after{content:"";z-index:2;pointer-events:none;opacity:var(--past-stripe-opacity,.1);background-image:repeating-linear-gradient(var(--past-stripe-angle,36deg), var(--past-stripe-color,#c1731a) 0, var(--past-stripe-color,#c1731a) calc(var(--past-stripe-size,15px) / 2), transparent calc(var(--past-stripe-size,15px) / 2), transparent var(--past-stripe-size,15px));position:absolute;inset:0}.day-cell__label{margin-bottom:.25rem;font-weight:600}.day-cell__label--today{background:var(--color-accent);color:var(--color-surface);border-radius:4px;padding:0 .35rem;display:inline-block}.day-cell__subtitle{text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);margin-top:.2rem;font-size:.65rem}.day-cell__pills{flex-direction:column;gap:2px;min-height:.75rem;display:flex}.pill{border-radius:4px;padding:.1rem .3rem;font-size:.75rem;line-height:1.3;display:block}.pill--home{background:#e3f0ff;border:1px solid #9cc4f5}.pill--clinic{background:#ffe9d6;border:1px solid #f0b87f}.pill--ghost{opacity:.45;border-style:dashed}.pill--selected{outline:2px solid var(--color-accent);outline-offset:1px}.pill--cut{opacity:.6;border-style:dashed}.day-cell--selected{outline:2px solid var(--color-accent);outline-offset:-2px;background:var(--color-day-selected)}.context-menu{background:var(--color-surface);border:1px solid var(--color-border);z-index:1000;border-radius:6px;flex-direction:column;min-width:12rem;padding:.25rem;display:flex;box-shadow:0 4px 16px #0000002e}.context-menu button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.4rem .6rem;font-size:.85rem}.context-menu button:hover{background:#eef2f7}.dialog-backdrop{z-index:1100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-surface);border-radius:8px;max-width:26rem;padding:1.25rem 1.5rem;box-shadow:0 8px 32px #0000004d}.dialog__title{margin:0 0 .5rem;font-size:1.1rem}.dialog__body{margin:0 0 1rem;font-size:.9rem;line-height:1.4}.dialog__actions{justify-content:flex-end;gap:.5rem;display:flex}.week-nav{flex-direction:column;align-self:stretch;gap:.25rem;display:flex}.week-nav__button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;flex:1 1 0;justify-content:center;align-items:center;width:2rem;min-height:2rem;display:flex}.week-nav__button:hover:not(:disabled){background:var(--color-panel)}.week-nav__button:disabled{opacity:.4;cursor:default}.notes-area{border-top:1px solid var(--color-border);flex:none;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.notes-area__label{flex:none;font-weight:600}.notes-area__field{flex:auto;position:relative}.notes-area__input{width:100%;height:2.25rem;min-height:2.25rem;font:inherit;color:var(--color-text);background:var(--color-field);border:1px solid var(--color-border);resize:vertical;border-radius:4px;padding:.4rem 3.75rem .4rem .5rem;line-height:1.3}.notes-area__counter{color:var(--color-muted);pointer-events:none;font-size:.75rem;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.notes-area__quick-add{font:inherit;white-space:nowrap;color:var(--color-text);background:var(--color-field);border:1px solid var(--color-border);cursor:pointer;border-radius:4px;flex:none;padding:.4rem .6rem}.notes-area__quick-add:hover{background:var(--color-border)}.drug-name__paren{font-style:italic}.region-placeholder{color:var(--color-muted);font-style:italic}.settings-menu{display:inline-flex;position:relative}.settings-menu__trigger{border:1px solid var(--color-border);background:var(--color-surface);width:2rem;height:2rem;color:var(--color-text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:1.05rem;line-height:1;display:inline-flex}.settings-menu__trigger:hover,.settings-menu__trigger[aria-expanded=true]{background:var(--color-panel)}.settings-menu__popover{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;flex-direction:column;gap:.6rem;min-width:15rem;padding:.75rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 6px 18px #0000002e}.settings-menu__group{flex-direction:column;display:flex}.settings-menu__group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-bottom:.3rem;font-size:.7rem;font-weight:600}.settings-menu__row{justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.settings-menu__row+.settings-menu__row{margin-top:.3rem}.settings-menu__row-label{color:#555}.settings-menu__number{width:4.5rem;font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:4px;padding:.15rem .3rem}.settings-menu__color{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;width:2.5rem;height:1.6rem;padding:0}.settings-menu__reset{width:100%;font:inherit;color:var(--color-text);background:var(--color-panel);border:1px solid var(--color-border);cursor:pointer;border-radius:4px;padding:.4rem .6rem}.settings-menu__reset:hover{background:var(--color-border)}.settings-menu__select{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;padding:.15rem .3rem}.settings-menu__group .drug-name-format{justify-content:space-between;width:100%}.drug-name-format{align-items:center;gap:.3rem;font-size:.85rem;display:inline-flex}.drug-name-format__caption{color:#555}.drug-name-format__select{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;padding:.15rem .3rem}.sort-toggle{gap:.25rem;margin-bottom:.5rem;display:flex}.sort-toggle__option{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;flex:auto;padding:.25rem .5rem}.sort-toggle__option[aria-pressed=true]{background:var(--color-text);color:var(--color-surface);border-color:var(--color-text)}.class-section__heading{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.375rem;width:100%;padding:.25rem 0;font-weight:700;display:flex}.class-section__drugs{padding-left:.5rem}.drug-row{margin:.125rem 0}.drug-chip{border:1px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.3rem .5rem;display:flex}.drug-chip--selected{border-color:var(--color-accent);background:var(--accent-soft)}.duration-chips{flex-wrap:wrap;gap:.25rem;padding:.25rem 0 .25rem .75rem;display:flex}.duration-chip{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:999px;padding:.2rem .45rem;font-size:.85rem}.duration-chip--selected{border-color:var(--color-accent);background:var(--accent-soft);font-weight:600}.drug-panel__premed{border-top:1px solid var(--color-border);margin-top:.75rem;padding-top:.5rem}.drug-panel__premed-toggle{width:100%;font:inherit;text-align:left;color:var(--accent-text,var(--color-accent));background:var(--accent-soft);border:1px dashed var(--color-accent);cursor:pointer;border-radius:4px;padding:.4rem .5rem;font-weight:600;display:block}.drug-panel__premed-toggle--active{outline:2px solid var(--accent-ring,var(--color-accent));outline-offset:1px;border-style:solid}.drug-panel__premed-menu{flex-direction:column;gap:.25rem;padding:.4rem 0 .1rem .75rem;display:flex}.drug-panel__premed-action{font:inherit;text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:4px;padding:.3rem .5rem;font-size:.85rem}.drug-panel__premed-action:hover:not(:disabled){border-color:var(--color-accent);background:var(--accent-soft)}.drug-panel__premed-action:disabled{color:var(--color-muted);cursor:default}.drug-panel__misc{border-top:1px solid var(--color-border);margin-top:.75rem;padding-top:.5rem}.misc-entry{margin-bottom:.5rem}.misc-entry__label{margin-bottom:.125rem;font-size:.8rem;font-weight:600;display:block}.misc-entry__input{width:100%;color:var(--color-text);background:var(--color-field);border:1px solid var(--color-border);border-radius:4px;padding:.25rem .5rem}.misc-entry__chips{flex-direction:column;gap:.25rem;margin-top:.25rem;display:flex}.drug-panel__error{color:var(--color-muted);font-style:italic}.modal-dialog__overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog__panel{background:#fff;border-radius:8px;outline:none;width:min(28rem,100vw - 2rem);padding:1.25rem 1.5rem;box-shadow:0 8px 32px #00000040}.modal-dialog__title{margin:0 0 .5rem;font-size:1.1rem}.modal-dialog__body{color:#333;margin:0 0 1rem}.modal-dialog__input{box-sizing:border-box;width:100%;font:inherit;color:var(--color-text);background:var(--color-field);border:1px solid var(--color-border);border-radius:4px;margin-bottom:1rem;padding:.4rem .5rem}.modal-dialog__actions{justify-content:flex-end;gap:.5rem;display:flex}.modal-dialog__button{font:inherit;cursor:pointer;padding:.4rem .9rem}.modal-dialog__button--primary{font-weight:600}.modal-dialog__button--destructive{color:#8a1f1f}.modal-dialog__button:disabled{cursor:not-allowed;opacity:.5}
