@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.resize{resize:both}}:root{--ink:#18322d;--muted:#60716d;--paper:#fff;--canvas:#f3f6f4;--line:#dce6e1;--brand:#0f7462;--brand-dark:#0a584a;--brand-soft:#e2f2ed;--warning:#9a5614;--warning-soft:#fff2dc;--danger:#a83939;--danger-soft:#fde8e8;--shadow:0 14px 40px #1f423a14}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:2px;outline:3px solid #66b6a5}.app-shell{min-height:100vh}.portal-main{min-height:100vh;padding:24px 24px 110px}.content-wrap{width:min(100%,1120px);margin:0 auto}.desktop-nav{display:none}.mobile-topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.eyebrow{color:var(--brand);letter-spacing:.09em;text-transform:uppercase;font-size:.78rem;font-weight:800}.page-title{letter-spacing:-.035em;margin:4px 0 6px;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.06}.page-subtitle{color:var(--muted);max-width:720px;margin:0}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px}.card-pad{padding:22px}.card-title{letter-spacing:-.015em;margin:0;font-size:1.15rem}.card-copy{color:var(--muted);margin:7px 0 0}.grid-2,.grid-3,.stack{gap:16px;display:grid}.section{margin-top:30px}.section-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.section-title{letter-spacing:-.02em;margin:0;font-size:1.3rem}.nav-brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.brand-title{font-weight:850;line-height:1.15}.nav-links{gap:7px;margin-top:34px;display:grid}.nav-link{color:#49615b;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-weight:700;display:flex}.nav-link:hover,.nav-link.active{background:var(--brand-soft);color:var(--brand-dark)}.nav-footer{margin-top:auto;padding-top:24px}.user-chip{background:#f5f8f6;border-radius:15px;padding:12px}.user-name{font-weight:750}.user-role{color:var(--muted);font-size:.8rem}.mobile-nav{z-index:30;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border-radius:22px;grid-template-columns:repeat(5,1fr);padding:8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 16px 44px #1b3e3633}.mobile-link{color:#64746f;border-radius:14px;justify-items:center;gap:3px;padding:8px 2px;font-size:.68rem;font-weight:750;display:grid}.mobile-link.active{color:var(--brand-dark);background:var(--brand-soft)}.button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:780;transition:transform .15s,background .15s;display:inline-flex}.button:hover{background:var(--brand-dark);transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:wait;transform:none}.button.secondary{color:var(--brand-dark);background:var(--brand-soft)}.button.secondary:hover{background:#d2ebe3}.button.ghost{color:var(--ink);background:#f0f4f2}.button.danger{background:var(--danger)}.button.small{border-radius:10px;min-height:36px;padding:7px 10px;font-size:.82rem}.field{gap:7px;display:grid}.field label,.field-label{font-size:.9rem;font-weight:760}.input,.select,.textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cddbd5;border-radius:13px;min-height:46px;padding:11px 12px}.textarea{resize:vertical;min-height:92px}.form-grid{gap:14px;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hint{color:var(--muted);font-size:.82rem}.badge{color:#50615c;background:#edf2f0;border-radius:999px;align-items:center;gap:6px;width:max-content;padding:5px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.badge.active,.badge.allow{color:#17683f;background:#dff4e9}.badge.draft,.badge.limit{background:var(--warning-soft);color:var(--warning)}.badge.archived,.badge.avoid,.badge.emergency{background:var(--danger-soft);color:var(--danger)}.badge.doctor{background:var(--warning-soft);color:var(--warning)}.warning-card{background:var(--warning-soft);border:1px solid #f0d3a9;border-radius:18px;gap:14px;padding:18px;display:flex}.warning-card.emergency{background:var(--danger-soft);border-color:#efb7b7}.warning-title{margin:0;font-weight:850}.warning-copy{color:#6e5a42;margin:4px 0 0}.emergency .warning-copy{color:#744b4b}.today-hero{color:#fff;background:linear-gradient(135deg,#173d35 0%,#0d6c5a 100%);border:0;padding:26px;position:relative;overflow:hidden}.today-hero:after{content:"";background:#ffffff12;border-radius:999px;width:240px;height:240px;position:absolute;top:-100px;right:-70px}.hero-grid{z-index:1;gap:22px;display:grid;position:relative}.hero-kicker{color:#bfe3d9;font-weight:760}.hero-title{letter-spacing:-.035em;margin:3px 0 7px;font-size:clamp(1.7rem,5vw,2.6rem);line-height:1.08}.hero-copy{color:#d9ede7;max-width:650px;margin:0}.progress-ring{background:conic-gradient(#9ee1ce var(--progress), #ffffff29 0);border-radius:999px;place-items:center;width:116px;height:116px;display:grid}.progress-inner{border-radius:inherit;text-align:center;background:#17463d;place-items:center;width:88px;height:88px;display:grid}.progress-value{font-size:1.55rem;font-weight:850;line-height:1}.progress-label{color:#c7e6de;font-size:.72rem}.metric-row{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.metric{border:1px solid var(--line);background:#f8faf9;border-radius:15px;padding:14px}.metric-label{color:var(--muted);font-size:.8rem}.metric-value{margin-top:3px;font-size:1.25rem;font-weight:850}.dose-list{gap:10px;display:grid}.dose-item{border:1px solid var(--line);border-radius:16px;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:14px;display:grid}.dose-time{background:var(--brand-soft);color:var(--brand-dark);border-radius:9px;padding:6px 8px;font-size:.82rem;font-weight:850}.dose-name{font-weight:800}.dose-meta{color:var(--muted);font-size:.83rem}.week-scroll{padding-bottom:4px;overflow-x:auto}.week-navigation{justify-content:flex-end;align-items:center;gap:8px;display:flex}.week-navigation-top{margin-bottom:12px}.week-nav-button{flex:none;width:38px;height:38px}.week-range{color:var(--muted);text-align:center;font-size:.82rem;font-weight:760}.week-table{gap:8px;min-width:820px;display:grid}.week-row{grid-template-columns:210px repeat(7,minmax(75px,1fr));align-items:stretch;gap:7px;display:grid}.week-cell{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:62px;padding:8px}.week-head{text-align:center;min-height:auto;color:var(--muted);background:0 0;border:0;font-size:.78rem;font-weight:800}.week-label{flex-direction:column;justify-content:center;padding:0;display:flex}.medication-colored{background:var(--medication-color,white)}.week-medication-button{width:100%;min-height:60px;color:inherit;text-align:left;cursor:help;background:0 0;border:0;border-radius:11px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:8px;display:flex}.week-medication-button:hover,.week-medication-button:focus-visible{background:var(--brand-soft)}.week-medication-name{align-items:center;gap:6px;font-weight:800;display:inline-flex}.medication-tooltip-popover{z-index:100;pointer-events:none;background:#fff;border:1px solid #b9d3ca;border-radius:16px;width:min(510px,100vw - 24px);padding:18px;position:fixed;box-shadow:0 18px 50px #15372f38}.medication-tooltip-title{margin-bottom:11px;font-size:1rem;display:block}.medication-tooltip-fields{gap:9px;margin:0;display:grid}.medication-tooltip-fields div{grid-template-columns:112px 1fr;align-items:start;gap:9px;display:grid}.medication-tooltip-fields dt{color:var(--brand-dark);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:850}.medication-tooltip-fields dd{color:var(--muted);margin:0;font-size:.85rem}.week-actions{justify-content:center;gap:4px;display:flex}.icon-button{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#f8faf9;border-radius:9px;place-items:center;display:grid}.icon-button.taken,.icon-button:hover{background:var(--brand-soft);color:var(--brand-dark);border-color:#afd8cc}.icon-button.skipped{background:var(--danger-soft);color:var(--danger);border-color:#ebc1c1}.medication-color-picker{border:1px solid var(--line);border-radius:15px;gap:10px;margin:0;padding:14px;display:grid}.medication-color-picker legend{padding:0 6px}.medication-color-options{flex-wrap:wrap;gap:8px;display:flex}.medication-color-option{color:var(--muted);cursor:pointer;background:#f8faf9;border:2px solid #0000;border-radius:12px;align-items:center;gap:7px;padding:7px 10px;font-size:.8rem;font-weight:740;display:inline-flex}.medication-color-option:has(input:checked){border-color:var(--brand);color:var(--brand-dark)}.medication-color-option input{opacity:0;pointer-events:none;position:absolute}.medication-color-option:focus-within{outline-offset:2px;outline:3px solid #66b6a5}.medication-color-swatch{border:1px solid #18322d1f;border-radius:8px;width:23px;height:23px}.timeline{gap:13px;display:grid}.task-card{gap:13px;padding:19px;display:grid}.task-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.task-date{color:var(--brand-dark);align-items:center;gap:8px;font-weight:800;display:flex}.task-title{margin:6px 0 0;font-size:1.08rem}.source{color:var(--muted);align-items:center;gap:7px;font-size:.78rem;display:flex}.schedule-editor{border-top:1px solid var(--line);gap:10px;padding-top:16px;display:grid}.schedule-editor-row{grid-template-columns:minmax(120px,1fr) 130px auto;align-items:center;gap:9px;display:grid}.schedule-editor-row label{font-weight:760}.schedule-label-input,.time-input{min-width:0}.dosage-editor{border:1px solid var(--line);background:#f8faf9;border-radius:15px;gap:12px;margin:0;padding:16px;display:grid}.dosage-editor legend{padding:0 6px}.dosage-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dosage-preview{background:var(--brand-soft);color:var(--brand-dark);border-radius:11px;gap:2px;padding:11px 12px;display:grid}.dosage-preview span{font-size:.76rem;font-weight:760}.diet-column{border-top:5px solid #3b9b69}.diet-column.limit{border-top-color:#d39142}.diet-column.avoid{border-top-color:#c15a5a}.diet-list{gap:13px;margin-top:16px;display:grid}.diet-item{border-top:1px solid var(--line);padding-top:13px}.diet-item:first-child{border-top:0;padding-top:0}.diet-title{font-weight:820}.diet-copy{color:var(--muted);margin:4px 0 0}.chart-wrap{width:100%;height:280px;margin-top:16px}.chart-periods{margin-bottom:4px}.entry-list{gap:11px;display:grid}.entry-card{padding:17px}.entry-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.entry-date{font-weight:820}.entry-author{color:var(--muted);font-size:.78rem}.entry-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:12px;display:flex}.entry-actions details{flex:560px}details summary{cursor:pointer;color:var(--brand-dark);align-items:center;gap:6px;font-weight:760}details[open] summary{margin-bottom:14px}.summary-title{align-items:center;gap:7px;display:inline-flex}.medication-create-panel>summary{font-size:1.05rem}.medication-archive-form{padding-top:4px}.calendar-shell{padding:18px;overflow:hidden}.calendar-toolbar{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;margin-bottom:16px;display:grid}.calendar-month-title{text-align:center;letter-spacing:-.02em;margin:0;font-size:1.35rem}.calendar-nav-button{width:38px;height:38px}.calendar-today-button{margin-left:5px}.calendar-grid{border:1px solid var(--line);background:var(--line);overflow:hidden}.calendar-weekdays,.calendar-week{background:var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.calendar-week{border-top:1px solid var(--line);position:relative}.calendar-weekday{color:var(--muted);text-align:center;text-transform:uppercase;background:#eef3f1;padding:8px 5px;font-size:.78rem;font-weight:850}.calendar-day{background:#fff;min-width:0;min-height:140px;padding:8px;position:relative}.calendar-day.outside{color:#9aa7a3;background:#f6f8f7}.calendar-day.today{box-shadow:inset 0 0 0 2px #8bc9b8}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--brand);background:#f0f9f6}.calendar-day-number{width:29px;height:29px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;margin:0 0 6px auto;font-size:.82rem;font-weight:850;display:grid}.calendar-day-number:hover,.calendar-day-number[aria-pressed=true]{background:var(--brand);color:#fff}.calendar-day-mobile-events{display:none}.calendar-week-event-layer{z-index:2;pointer-events:none;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:24px;gap:4px 1px;display:grid;position:absolute;top:45px;left:0;right:0}.calendar-event-bar{background:var(--brand-soft);min-width:0;height:24px;color:var(--brand-dark);text-align:left;cursor:pointer;pointer-events:auto;border:0;border-radius:0;padding:3px 8px}.calendar-event-bar.range-start{border-left:4px solid var(--brand);border-radius:7px 0 0 7px;margin-left:5px}.calendar-event-bar.range-end{border-radius:0 7px 7px 0;margin-right:5px}.calendar-event-bar.range-start.range-end{border-radius:7px}.calendar-event-bar.status-done{color:#566762;background:#edf1ef}.calendar-event-bar.status-done.range-start{border-left-color:#6f817c}.calendar-event-bar.status-cancelled{background:var(--danger-soft);color:var(--danger);text-decoration:line-through}.calendar-event-bar.status-cancelled.range-start{border-left-color:var(--danger)}.calendar-event-title{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:790;display:block;overflow:hidden}.calendar-more{width:max-content;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 5px;font-size:.72rem;font-weight:800}.calendar-more-desktop{z-index:3;position:absolute;bottom:3px;right:5px}.calendar-selected-list{gap:12px;display:grid}.calendar-selected-task{border:1px solid var(--line);border-left:5px solid var(--brand);box-shadow:var(--shadow);background:#fff;border-radius:18px;gap:13px;padding:18px;display:grid}.calendar-selected-task.status-done{border-left-color:#778984}.calendar-selected-task.status-cancelled{border-left-color:var(--danger);opacity:.78}.calendar-task-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding-top:4px;display:flex}.calendar-task-actions details{flex:600px}.calendar-task-actions summary,.calendar-shell+.section summary,.calendar-selected-task summary{display:inline-flex}.calendar-form-wide{grid-column:1/-1}.urgent-medication-card{background:#fff7df;border-color:#e8cf94}.urgent-medication-card>svg{color:#9a6614;flex:none}.urgent-medication-list{gap:8px;margin-top:8px;display:grid}.urgent-medication-list p{color:#5e5037;margin:0}.urgent-medication-note{color:#7b6c51;margin:10px 0 0;font-size:.8rem}.report-cta{justify-content:space-between;align-items:center;gap:18px;display:flex}.report-cta .button{flex:none}.report-toolbar{z-index:10;position:sticky;top:12px}.report-period-select{width:auto;min-width:120px}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:.86rem}.report-table th,.report-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 9px}.report-table th{color:var(--brand-dark);letter-spacing:.02em;background:#f2f6f4;font-size:.76rem}.report-table tbody tr:last-child td{border-bottom:0}.login-page{background:radial-gradient(circle at 10% 10%, #dff1eb 0, transparent 35%), var(--canvas);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{width:min(100%,460px);padding:28px}.login-icon{background:var(--brand);color:#fff;border-radius:19px;place-items:center;width:58px;height:58px;margin-bottom:22px;display:grid}.login-title{letter-spacing:-.035em;margin:0;font-size:2rem}.login-copy{color:var(--muted);margin:8px 0 22px}.login-error{background:var(--danger-soft);color:var(--danger);border-radius:12px;padding:11px 13px;font-weight:650}.disclaimer{color:var(--muted);border:1px dashed #bdcbc6;border-radius:16px;margin-top:28px;padding:15px 17px;font-size:.83rem}.empty{text-align:center;color:var(--muted);padding:30px 20px}.admin-panel{padding:20px}.admin-grid{gap:16px;display:grid}.audit-row{border-top:1px solid var(--line);gap:2px;padding:10px 0;font-size:.86rem;display:grid}.audit-row:first-child{border-top:0}.max-user-settings{gap:4px;display:grid}.max-link-box{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;margin-top:12px;display:grid}.max-notification-form{margin-top:12px}.notification-settings-group{border:1px solid var(--line);background:#fff;border-radius:14px;gap:10px;padding:13px;display:grid}.notification-toggle{cursor:pointer;align-items:flex-start;gap:9px;display:flex}.notification-toggle input{width:18px;height:18px;accent-color:var(--brand);margin-top:2px}.notification-toggle span{gap:1px;display:grid}.notification-toggle small{color:var(--muted);font-size:.76rem}.notification-time-row{grid-template-columns:minmax(0,1fr) 145px;align-items:center;gap:10px;display:grid}.notice{color:var(--ink);background:#f2faf7;border:1px solid #cfe2dc;border-radius:14px;padding:12px 14px}.notice.compact{gap:5px;font-size:.88rem;line-height:1.45;display:grid}.week-cell-inactive{color:#a4aca9;background:#f7f8f7;justify-content:center;align-items:center;display:flex}@media (min-width:760px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-row{grid-template-columns:repeat(4,1fr)}.hero-grid{grid-template-columns:1fr auto;align-items:center}}@media (min-width:1040px){.app-shell{grid-template-columns:260px 1fr;display:grid}.desktop-nav{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.mobile-topbar,.mobile-nav{display:none}.portal-main{padding:34px 38px 60px}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);align-items:start}}@media (max-width:700px){.week-navigation{justify-content:space-between;width:100%}.section-head:has(.week-navigation){flex-wrap:wrap}.calendar-shell{padding:12px}.calendar-toolbar{grid-template-columns:auto minmax(0,1fr) auto}.calendar-today-button{grid-column:1/-1;width:100%;margin-left:0}.calendar-month-title{font-size:1.08rem}.calendar-weekday{padding:7px 2px;font-size:.66rem}.calendar-day{min-height:58px;padding:4px}.calendar-day.outside{opacity:.55}.calendar-day-number{width:25px;height:25px;margin:0 auto 4px;font-size:.72rem}.calendar-week-event-layer,.calendar-more-desktop{display:none}.calendar-day-mobile-events{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.calendar-mobile-event-dot{background:var(--brand);cursor:pointer;border:0;border-radius:999px;width:7px;height:7px;padding:0}.calendar-mobile-event-dot.status-done{background:#778984}.calendar-mobile-event-dot.status-cancelled{background:var(--danger)}.calendar-more{padding:0;font-size:.62rem;line-height:1}.max-link-box,.notification-time-row{grid-template-columns:1fr}.max-link-box .button{width:100%}}@media (max-width:520px){.portal-main{padding:18px 14px 105px}.card{border-radius:18px}.card-pad,.today-hero{padding:18px}.page-head{margin-bottom:18px}.page-title{font-size:1.8rem}.metric-value{font-size:1.08rem}.schedule-editor-row{grid-template-columns:1fr 116px}.schedule-editor-row .button{grid-column:1/-1}.dosage-editor-grid{grid-template-columns:1fr}.medication-tooltip-fields div{grid-template-columns:1fr;gap:2px}.report-cta{flex-direction:column;align-items:stretch}.report-cta .button{width:100%}}@media print{@page{margin:12mm}html,body{color:#111;background:#fff;font-size:11px}.desktop-nav,.mobile-nav,.mobile-topbar,.no-print,.disclaimer{display:none!important}.app-shell{display:block!important}.portal-main{min-height:0;padding:0}.content-wrap{width:100%;max-width:none}.page-head{margin-bottom:12px}.page-title{font-size:24px}.section{break-inside:avoid;margin-top:14px}.card{box-shadow:none;border-radius:8px}.card-pad{padding:12px}.metric{padding:8px}.metric-value{font-size:14px}.report-table{font-size:9px}.report-table th,.report-table td{padding:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
