
    :root{
      --navy:#063A7A;--blue:#1675B8;--sky:#EEF8FF;--brand-blue:#2EA8FF;--brand-lime:#9AE11D;--brand-mist:#DCE8F5;--ink:#17222c;--muted:#65727e;--line:#d9e1e7;
      --paper:#fff;--bg:#F4F8FC;--green:#16784a;--green-bg:#e7f6ee;--amber:#9a5a00;--amber-bg:#fff4d7;
      --red:#a93232;--red-bg:#fff0f0;--purple:#6750a4;--purple-bg:#f2effb;--shadow:0 8px 24px rgba(20,57,91,.09);--radius:18px;
    }
    *{box-sizing:border-box}[hidden]{display:none!important}html{font-size:16px;background:var(--bg)}
    body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45;padding-bottom:calc(88px + env(safe-area-inset-bottom))}
    button,input,select,textarea{font:inherit}button{cursor:pointer}.app{max-width:820px;margin:0 auto;min-height:100vh}
    header{background:linear-gradient(135deg,#063A7A,#0A4F98);color:#fff;padding:calc(20px + env(safe-area-inset-top)) 20px 25px;border-radius:0 0 26px 26px;box-shadow:var(--shadow)}
    .header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.eyebrow{margin:0 0 3px;font-size:.82rem;opacity:.8;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
    h1{margin:0;font-size:clamp(1.55rem,6vw,2.15rem);line-height:1.12}.profile{margin:7px 0 0;color:#DCE8F5;font-weight:650}.date-pill{white-space:nowrap;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:8px 11px;border-radius:999px;font-size:.82rem;font-weight:800}
    .progress-wrap{margin-top:18px}.progress-label{display:flex;justify-content:space-between;font-size:.86rem;font-weight:750;margin-bottom:7px}.progress{height:10px;background:rgba(255,255,255,.2);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;width:0;background:#79d7a7;border-radius:inherit;transition:width .3s ease}
    main{padding:18px 14px 10px}.view{display:none}.view.active{display:block}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:18px 2px 10px}.section-head h2{font-size:1.2rem;margin:0}.section-head p{margin:2px 0 0;color:var(--muted);font-size:.86rem}.count{color:var(--muted);font-size:.86rem;font-weight:800}
    .panel,.dose-card,.inventory-card,.summary-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:17px;margin-bottom:14px}.panel h2,.panel h3{margin:0 0 12px}.subhead{margin:18px 0 9px;font-size:.94rem;color:var(--navy)}
    .notice{border-radius:14px;padding:12px 14px;margin-bottom:14px;display:flex;gap:10px;align-items:flex-start;font-size:.92rem;border:1px solid}.notice.warn{background:var(--amber-bg);border-color:#f0d185;color:#694000}.notice.info{background:var(--sky);border-color:#b9dceb;color:#173f5d}.notice.danger{background:var(--red-bg);border-color:#efb7b7;color:#742222}.notice strong{display:block;margin-bottom:2px}
    .summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}.summary-card{padding:11px 8px;text-align:center;box-shadow:none}.summary-card strong{display:block;font-size:1.25rem;color:var(--navy)}.summary-card span{font-size:.72rem;color:var(--muted);font-weight:800}.summary-card.alert strong{color:var(--amber)}.summary-card.good strong{color:var(--green)}
    .handoff{display:grid;gap:8px}.handoff-row{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.handoff-row:first-child{border-top:0}.handoff-row .when{font-weight:850;color:var(--navy);font-size:.84rem}.handoff-row p{margin:0;font-size:.85rem}.handoff-row small{color:var(--muted)}
    .time-group{margin:0 0 20px;background:#eaf1f6;border:2px solid #b8cbd9;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.time-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#063A7A,#0A4F98);color:#fff;padding:13px 16px}.time-group.complete{border-color:#a9d6bd}.time-group.complete .time-group-header{background:linear-gradient(135deg,#17643f,#21845a)}.time-group.overdue{border-color:#e2bd75}.time-group.overdue .time-group-header{background:linear-gradient(135deg,#8d5405,#b56d09)}.time-group.missed{border-color:#e3aaaa}.time-group.missed .time-group-header{background:linear-gradient(135deg,#8c2929,#b33b3b)}.round-label{font-size:.69rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.round-time{font-size:1.42rem;font-weight:950;line-height:1.05;margin-top:2px}.round-meta{text-align:right;font-size:.78rem;font-weight:800}.round-meta strong{display:block;font-size:.9rem}.time-group-body{padding:10px}.time-group .dose-card{padding:14px;margin:0 0 9px;display:grid;grid-template-columns:1fr;gap:0;position:relative;overflow:hidden;box-shadow:none;border-radius:14px}.time-group .dose-card:last-child{margin-bottom:0}.dose-card.done{background:#f5fbf8;border-color:#b9dfca}.dose-card.skipped{opacity:.72}.dose-card.overdue:not(.done){border-left:5px solid var(--amber)}.dose-card.missed:not(.done){border-left:5px solid var(--red)}.dose-card.claimed{border-color:#9fc6df}.dose-card.held{background:#faf8f2;border-color:#e6d7ad}
    .time{font-size:1rem;font-weight:850;color:var(--navy);padding-top:2px}.dose-main h3{font-size:1.04rem;margin:0 0 2px}.dose-detail{color:var(--muted);font-weight:700;font-size:.92rem;margin:0}.instructions{font-size:.87rem;color:var(--muted);margin:5px 0 0}.meta-line{font-size:.8rem;color:var(--muted);margin-top:5px}.badge{display:inline-flex;align-items:center;margin:7px 5px 0 0;padding:3px 8px;border-radius:999px;font-size:.74rem;font-weight:850;background:var(--amber-bg);color:var(--amber)}.badge.blue{background:var(--sky);color:var(--blue)}.badge.green{background:var(--green-bg);color:var(--green)}.badge.purple{background:var(--purple-bg);color:var(--purple)}.badge.red{background:var(--red-bg);color:var(--red)}
    .actions{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}.btn{border:0;border-radius:12px;padding:10px 14px;font-weight:800;min-height:44px;background:#e9eef2;color:var(--ink)}.btn.primary{background:var(--navy);color:#fff}.btn.given{background:var(--green);color:#fff}.btn.danger{background:var(--red-bg);color:var(--red)}.btn.small{min-height:38px;padding:7px 11px;font-size:.84rem}.btn.outline{background:#fff;border:1px solid var(--line)}.btn.purple{background:var(--purple-bg);color:var(--purple)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,.nav-btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #77bfe9;outline-offset:2px}.status-line{font-size:.84rem;font-weight:800;margin-top:10px;color:var(--green)}.status-line.skip{color:var(--muted)}.status-line.warn{color:var(--amber)}.record-fix-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.undo-entry-btn{background:var(--red-bg);color:var(--red);border:1px solid color-mix(in srgb,var(--red) 35%,transparent)}.undo-record-dialog{width:min(520px,calc(100% - 24px))}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}label{font-size:.84rem;font-weight:800;color:#3d4b57}input,select,textarea{width:100%;min-height:46px;border:1px solid #bdc9d2;background:#fff;border-radius:11px;padding:10px 11px;color:var(--ink)}textarea{min-height:78px;resize:vertical}.helper{font-size:.78rem;color:var(--muted);margin:1px 0 0}.conditional{grid-column:1/-1;background:var(--sky);border:1px solid #c7e0ec;border-radius:13px;padding:12px}.check-row{display:flex;align-items:center;gap:9px;min-height:40px;font-size:.86rem;font-weight:800;color:#3d4b57}.check-row input{width:20px;min-height:20px;height:20px;accent-color:var(--navy)}.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.range-tag{display:inline-block;margin-top:4px;color:var(--blue);font-size:.78rem;font-weight:800}.form-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.dose-series{grid-column:1/-1;border:1px solid #c8d6df;border-radius:14px;background:#f9fbfc;padding:12px}.dose-series-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.dose-series-head strong{font-size:.92rem;color:var(--navy)}.additional-dose-row{border-top:1px solid #dbe4ea;padding-top:12px;margin-top:12px}.additional-dose-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.additional-dose-title strong{font-size:.85rem;color:var(--navy)}.dose-series-actions{display:flex;align-items:center;justify-content:flex-start;margin-top:10px}.mini-note{font-size:.76rem;color:var(--muted);margin:4px 0 0}
    .manage-row{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:start;padding:13px 0;border-top:1px solid var(--line)}.manage-row:first-child{border-top:0}.manage-row h3{font-size:.98rem;margin:0}.manage-row p{font-size:.83rem;color:var(--muted);margin:3px 0}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 9px;min-height:38px;font-weight:750;color:var(--navy)}
    .inventory-grid{display:grid;gap:12px}.inventory-card{padding:16px}.inv-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.inv-top h3{margin:0;font-size:1.03rem}.stock{font-size:1.35rem;font-weight:900;color:var(--navy);text-align:right}.stock small{display:block;font-size:.76rem;color:var(--muted);font-weight:700}.meter{height:8px;background:#e8edf1;border-radius:99px;margin:12px 0 7px;overflow:hidden}.meter span{display:block;height:100%;background:var(--green);border-radius:inherit}.inventory-card.low .meter span{background:#d17a00}.inventory-card.low{border-color:#e8bf78}.inv-meta{font-size:.82rem;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.low-tag{color:var(--amber);font-weight:850}.ok-tag{color:var(--green);font-weight:850}.stock-edit{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;align-items:end}.stock-actions{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}
    .history-day{font-size:.86rem;font-weight:850;color:var(--navy);margin:17px 2px 7px}.history-item{display:grid;grid-template-columns:70px 1fr auto;gap:10px;background:#fff;border-bottom:1px solid var(--line);padding:12px}.history-item:first-of-type{border-radius:14px 14px 0 0}.history-item:last-of-type{border-radius:0 0 14px 14px;border-bottom:0}.history-item strong{font-size:.92rem}.history-item p{font-size:.8rem;color:var(--muted);margin:2px 0}.hist-status{font-size:.78rem;font-weight:850;color:var(--green);text-transform:capitalize}.hist-status.skipped,.hist-status.not_needed{color:var(--muted)}.hist-status.held,.hist-status.late,.hist-status.early{color:var(--amber)}.hist-status.missed,.hist-status.safety{color:var(--red)}.history-item.safety-event{background:var(--red-bg);border-left:4px solid var(--red)}.history-item.safety-event strong{color:#7b2020}.history-item.safety-event p{color:#784545}.voided{text-decoration:line-through;opacity:.58}
    .care-library-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 14px;position:sticky;top:0;z-index:4;background:var(--bg);padding:4px 0 8px}.care-library-tab{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 15px;font-weight:850;font-size:.84rem;color:var(--navy)}.care-library-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.care-library-selected{background:color-mix(in srgb,var(--theme-soft) 38%,var(--theme-paper));border:1px solid color-mix(in srgb,var(--theme-secondary) 30%,var(--theme-line));border-radius:14px;padding:12px 14px;margin-bottom:14px}.care-library-selected .label{font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--theme-muted)}.care-library-selected strong{display:block;color:var(--theme-primary);font-size:1rem;margin-top:2px}.library-item.selected{border:1px solid color-mix(in srgb,var(--theme-secondary) 48%,var(--theme-line));background:color-mix(in srgb,var(--theme-soft) 48%,var(--theme-paper));box-shadow:inset 4px 0 0 var(--theme-primary),0 5px 16px rgba(20,57,91,.08)}.library-item.selected h4{color:var(--theme-primary)}.selected-item-badge{display:inline-flex;align-items:center;margin-top:8px;background:var(--theme-primary);color:#fff;border:1px solid color-mix(in srgb,var(--theme-primary) 82%,#fff);border-radius:999px;padding:4px 8px;font-size:.64rem;font-weight:900;letter-spacing:.05em}.library-item[data-library-select]{cursor:pointer}.care-library-empty{padding:18px;border:1px dashed var(--line);border-radius:14px;background:#fff;text-align:center;color:var(--muted)}    .device-track-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.device-track-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#f9fcff}.device-track-card.current{border-color:#9dcce9;background:#eef8ff}.device-track-card.supply{border-color:#cbd9b0;background:#f8fceF}.device-track-card.warn{border-color:#e2b66b;background:var(--amber-bg)}.device-track-card.danger{border-color:#e0a0a0;background:var(--red-bg)}.device-track-card .track-kicker{display:block;font-size:.68rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.device-track-card strong{display:block;color:var(--navy);font-size:.94rem}.device-track-card p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.sync-issue-list{display:grid;gap:8px;margin-top:10px}.sync-issue-row{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.sync-issue-row strong{display:block;color:var(--red);font-size:.84rem}.sync-issue-row p{margin:3px 0;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.sync-issue-meta{font-size:.7rem;color:var(--muted);font-weight:800}.sync-issue-empty{padding:12px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:#fafcfd}.sync-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--red-bg);color:var(--red);font-weight:900;font-size:.76rem}@media(max-width:600px){.device-track-grid{grid-template-columns:1fr}}

    .tabs{display:flex;gap:6px;overflow:auto;margin-bottom:12px}.tab-btn{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;font-weight:800;font-size:.82rem}.tab-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
    .empty{background:#fff;border:1px dashed #bdc9d2;border-radius:var(--radius);padding:28px 18px;text-align:center;color:var(--muted)}.mini-list{margin:0;padding-left:18px;color:var(--muted);font-size:.86rem}.mini-list li{margin:5px 0}
    .bottom-nav{position:fixed;z-index:10;left:50%;transform:translateX(-50%);bottom:0;width:min(820px,100%);background:rgba(255,255,255,.97);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 6px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(20,57,91,.08)}.nav-btn{background:transparent;border:0;border-radius:12px;padding:7px 2px;color:var(--muted);font-size:.67rem;font-weight:800;min-height:55px;min-width:0}.nav-btn .nav-icon{display:block;font-size:1.2rem;line-height:1.15;margin-bottom:3px}.nav-btn.active{background:var(--sky);color:var(--navy)}
    dialog{border:0;border-radius:18px;padding:0;width:min(510px,calc(100% - 28px));box-shadow:0 20px 70px rgba(0,0,0,.28);max-height:90vh;overflow:auto}dialog::backdrop{background:rgba(10,25,36,.55)}.dialog-body{padding:20px}.dialog-body h2{margin:0 0 8px}.dialog-body>p{color:var(--muted);margin:0 0 16px}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.verify-card{background:var(--sky);border:1px solid #c7e0ec;border-radius:14px;padding:12px;margin:12px 0;transition:.18s ease}.verify-card.early-warning{background:var(--red-bg);border:2px solid #d96a6a;box-shadow:0 0 0 3px rgba(169,50,50,.08)}.verify-card.early-warning strong{color:#7b2020}.verify-card.early-warning p{color:#784545}.early-alarm{margin:10px 0 0!important;animation:earlyPulse 1.6s ease-in-out infinite}.early-alarm .alarm-icon{font-size:1.2rem;line-height:1}.early-alarm strong{font-size:.92rem}@keyframes earlyPulse{0%,100%{box-shadow:0 0 0 0 rgba(169,50,50,0)}50%{box-shadow:0 0 0 4px rgba(169,50,50,.09)}}.verify-card strong{display:block;color:var(--navy);font-size:1.05rem}.verify-card p{margin:4px 0;color:var(--muted);font-size:.85rem}.quick-notes{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.quick-note{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:750}
    .privacy{font-size:.8rem;color:var(--muted);text-align:center;padding:12px 18px 4px}.toast{position:fixed;z-index:30;left:50%;bottom:96px;transform:translate(-50%,20px);background:#17222c;color:white;padding:11px 16px;border-radius:12px;font-weight:700;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100% - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.future-time-dialog{width:min(560px,calc(100% - 24px));border-radius:22px;overflow:hidden}.future-time-alert{padding:0;background:#fff}.future-time-alert-head{background:#8f2020;color:#fff;padding:22px 22px 18px;text-align:center}.future-time-alert-icon{display:block;font-size:2.4rem;line-height:1;margin-bottom:8px}.future-time-alert-head h2{margin:0;font-size:1.55rem;line-height:1.15;color:#fff}.future-time-alert-body{padding:20px 22px 22px}.future-time-alert-body>p{font-size:1rem;color:#5f2a2a;margin:0 0 16px;line-height:1.5;text-align:center}.future-time-details{background:#fff0f0;border:2px solid #d86565;border-radius:14px;padding:14px 16px;margin:0 0 18px}.future-time-details div{display:flex;justify-content:space-between;gap:14px;padding:5px 0}.future-time-details span{color:#744;font-size:.88rem}.future-time-details strong{color:#7b2020;text-align:right}.future-time-ok{width:100%;min-height:50px;font-size:1.02rem;font-weight:850;background:#a93232!important;color:#fff!important;border-color:#a93232!important}
    @media(max-width:600px){.summary-grid{grid-template-columns:repeat(6,minmax(62px,1fr));overflow-x:auto}.form-grid{grid-template-columns:1fr}.field.full,.conditional{grid-column:auto}.round-time{font-size:1.28rem}.time-group-header{padding:12px 13px}.manage-row{grid-template-columns:55px 1fr}.manage-row .row-actions{grid-column:2;justify-content:flex-start}.date-pill{font-size:.75rem}.header-row{align-items:center}.stock-edit{grid-template-columns:1fr 1fr}.check-grid{grid-template-columns:repeat(2,1fr)}}
    @media print{body{padding:0;background:#fff}.bottom-nav,.actions,.notice,.privacy,.btn,.tabs{display:none!important}header{border-radius:0;box-shadow:none;padding:15px;color:#000;background:#fff;border-bottom:2px solid #000}.profile{color:#333}.view{display:none!important}#todayView{display:block!important}main{padding:10px}.dose-card,.panel{box-shadow:none;break-inside:avoid}.progress-wrap{display:none}}
  
    .time-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.time-choice{display:flex;align-items:flex-start;gap:9px;border:1px solid #bdc9d2;border-radius:12px;background:#fff;padding:10px;cursor:pointer}.time-choice input{width:18px;min-height:18px;height:18px;margin-top:2px;accent-color:var(--navy)}.time-choice span{display:block}.time-choice strong{display:block;font-size:.84rem;color:var(--navy)}.time-choice small{display:block;font-size:.73rem;color:var(--muted);margin-top:2px}.time-choice.selected{border:2px solid var(--blue);background:var(--sky);padding:9px}@media(max-width:560px){.time-choice-grid{grid-template-columns:1fr}}
    .skip-reason-area{grid-column:1/-1;background:#fff8e8;border:1px solid #edd49b;border-radius:14px;padding:12px}.skip-reason-area h4{margin:0 0 4px;font-size:.9rem;color:#694000}.reason-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}.reason-card{min-height:58px;border:1px solid #d8c18c;border-radius:12px;background:#fff;padding:10px 12px;text-align:left;font-weight:850;color:#624516}.reason-card small{display:block;font-size:.73rem;font-weight:650;color:#7a6744;margin-top:2px}.reason-card.selected{border:2px solid var(--amber);background:var(--amber-bg);padding:9px 11px}.one-time-action{display:flex;align-items:center;justify-content:space-between;gap:14px}.one-time-action h3{margin:0 0 3px}.one-time-action p{margin:0;color:var(--muted);font-size:.84rem}.one-time-list{display:grid;gap:8px;margin-top:12px}.one-time-row{display:grid;grid-template-columns:72px 1fr auto;gap:10px;align-items:start;border-top:1px solid var(--line);padding-top:9px}.one-time-row:first-child{border-top:0;padding-top:0}.one-time-row .when{font-weight:900;color:var(--navy)}.one-time-row p{margin:0;font-size:.85rem}.one-time-row small{color:var(--muted)}
    @media(max-width:560px){.reason-cards{grid-template-columns:1fr}.one-time-action{align-items:stretch;flex-direction:column}.one-time-action .btn{width:100%}.one-time-row{grid-template-columns:62px minmax(0,1fr);gap:8px 10px}.one-time-row>div:nth-child(2){min-width:0}.one-time-row .btn{grid-column:2;justify-self:start;margin-top:1px}}

    .time-group.held{border-color:#c8b9e9}.time-group.held .time-group-header{background:linear-gradient(135deg,#58458d,#725cab)}.hold-banner{margin-top:12px;background:var(--purple-bg);border:1px solid #cfc3ea;border-radius:12px;padding:11px 12px}.hold-banner strong{display:block;color:var(--purple);font-size:.9rem}.hold-banner p{margin:3px 0 8px;color:var(--muted);font-size:.8rem}.dose-confirm-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.dose-confirm-row strong{display:block;color:var(--navy);font-size:1.15rem;margin-top:2px}.quick-note.selected{background:var(--sky);border-color:var(--blue);color:var(--navy)}

    /* Today-tab finishing polish */
    .time-group.next-round{border-color:#4b95c6;box-shadow:0 0 0 3px rgba(35,116,171,.12),var(--shadow)}
    .time-group.next-round .time-group-header{position:relative}
    .next-round-pill{display:inline-flex;align-items:center;gap:5px;margin-top:5px;background:#fff;color:var(--navy);border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}
    .time-group.overdue.next-round,.time-group.missed.next-round{box-shadow:0 0 0 3px rgba(169,50,50,.10),var(--shadow)}
    .round-toggle{display:block;margin:12px 0 0 auto;border:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:4px 9px;font-size:.68rem;font-weight:850;min-height:28px}
    .time-group.collapsed .time-group-body{display:none}
    .time-group.collapsed{margin-bottom:12px}
    .last-recorded-panel{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;padding:12px 14px;margin:12px 0;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 16px rgba(20,57,91,.05)}
    .last-recorded-icon{width:40px;height:40px;border-radius:12px;background:var(--green-bg);color:var(--green);display:grid;place-items:center;font-size:1.15rem;font-weight:950}
    .last-recorded-panel .label{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;margin-bottom:1px}
    .last-recorded-panel strong{display:block;font-size:.92rem;color:var(--navy)}
    .last-recorded-panel small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}
    .handling-banner{margin-top:8px;border:1px solid #a9cde3;background:#eef8fd;color:#174f72;border-radius:10px;padding:7px 9px;font-size:.77rem;font-weight:850;display:flex;align-items:center;gap:7px}
    .handling-banner.you{border-color:#78b69a;background:#edf8f2;color:#14643f}
    @media(max-width:560px){.last-recorded-panel{grid-template-columns:36px 1fr;padding:10px 12px}.last-recorded-icon{width:36px;height:36px}.round-meta{min-width:104px}}


    /* Schedule-tab visual grouping */
    .schedule-topbar{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.schedule-topbar .btn{flex:0 0 auto}
    .view-switch{display:inline-flex;background:#e8eef3;border:1px solid var(--line);border-radius:12px;padding:3px;gap:3px}.view-switch button{border:0;background:transparent;border-radius:9px;padding:7px 11px;font-weight:850;color:var(--muted)}.view-switch button.active{background:#fff;color:var(--navy);box-shadow:0 1px 4px rgba(20,57,91,.12)}
    .schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.schedule-toolbar h3{margin:0}.schedule-toolbar .helper{margin:2px 0 0}

    /* Medication view: each regimen reads as its own care block */
    .regimen-card{background:#eaf1f6;border:2px solid #b8cbd9;border-radius:20px;margin:0 0 20px;overflow:hidden;box-shadow:var(--shadow)}
    .regimen-head{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#063A7A,#0A4F98);color:#fff}
    .regimen-head h3{margin:0;font-size:1.12rem;color:#fff}.regimen-head p{margin:3px 0 0;color:#DCE8F5;font-size:.8rem;font-weight:700}.regimen-status{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
    .regimen-head .badge{margin-top:0;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.23)}
    .regimen-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start}
    .regimen-actions .btn.outline{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.48);color:#fff}.regimen-actions .btn.outline:hover{background:rgba(255,255,255,.18)}
    .regimen-actions .btn.purple{background:#f1ecff;color:#4e3a80}.regimen-actions .btn.danger{background:#fff0f0;color:#8c2929}
    .regimen-times{padding:10px;background:#eaf1f6}
    .regimen-time{display:grid;grid-template-columns:92px 1fr auto;gap:11px;align-items:center;padding:12px 13px;margin:0 0 9px;background:#fff;border:1px solid #d3dee5;border-radius:14px;box-shadow:0 2px 7px rgba(20,57,91,.04)}
    .regimen-time:last-child{margin-bottom:0}.regimen-time .rt-time{font-weight:950;color:var(--navy);font-size:1rem}.regimen-time p{margin:2px 0 0;font-size:.82rem;color:var(--muted)}.regimen-time strong{font-size:.94rem}

    /* Time view: match the visual language of Today's care rounds */
    .daypart{font-size:.72rem;font-weight:950;letter-spacing:.08em;color:var(--navy);text-transform:uppercase;margin:20px 3px 8px;padding-left:2px}
    .schedule-time-group{margin:0 0 18px;border:2px solid #b8cbd9;border-radius:20px;overflow:hidden;background:#eaf1f6;box-shadow:var(--shadow)}
    .schedule-time-head{padding:12px 16px;background:linear-gradient(135deg,#063A7A,#0A4F98);color:#fff;font-weight:950;font-size:1.2rem}
    .schedule-time-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:9px 10px 0;padding:12px 13px;background:#fff;border:1px solid #d3dee5;border-radius:13px}
    .schedule-time-row:last-child{margin-bottom:10px}.schedule-time-row h4{margin:0;font-size:.95rem;color:var(--ink)}.schedule-time-row p{margin:3px 0 0;color:var(--muted);font-size:.8rem}

    /* Add-to-schedule form */
    .dose-entry-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"time amount" "unit supply" "custom supply" "check check" "instructions instructions";gap:12px;align-items:start}.dose-entry-time{grid-area:time}.dose-entry-amount{grid-area:amount}.dose-entry-unit{grid-area:unit}.dose-entry-custom{grid-area:custom}.dose-entry-supply{grid-area:supply;align-self:start}.dose-entry-check{grid-area:check}.dose-entry-instructions{grid-area:instructions}.supply-deduction-field{padding:0}.supply-deduction-field label{display:block;margin-bottom:5px}.supply-check-row{justify-content:flex-start;gap:10px;padding:10px 12px;border:1px solid #c8d6df;border-radius:12px;background:#f8fbfd;min-height:46px}.supply-check-row span{font-weight:850;color:#3d4b57}.supply-check-row input{order:0;flex:0 0 auto;margin:0;width:22px;height:22px;min-height:22px}.schedule-form-panel{scroll-margin-top:10px}@media(max-width:600px){.dose-entry-grid{grid-template-columns:1fr;grid-template-areas:"time" "amount" "supply" "unit" "custom" "check" "instructions"}}
    .schedule-form-panel,.library-panel{border:2px solid #c7d7e2;background:#fbfdfe}.schedule-form-panel h3,.library-panel h3{color:var(--navy)}
    .schedule-form-panel>.form-section-title{margin-top:4px}
    .schedule-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:7px}
    .schedule-type-card{display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:start;border:1px solid #c8d4dd;border-radius:14px;padding:12px 13px;background:#fff;cursor:pointer;min-height:82px;transition:.15s ease}
    .schedule-type-card:hover{border-color:#8ebbd7;background:#f8fcfe}.schedule-type-card input{grid-row:1/3;width:20px;height:20px;min-height:20px;margin:2px 0 0;padding:0;accent-color:var(--blue)}
    .schedule-type-card strong{grid-column:2;display:block;color:var(--navy);font-size:.92rem;line-height:1.2}.schedule-type-card small{grid-column:2;display:block;color:var(--muted);font-size:.75rem;line-height:1.35;margin-top:4px;font-weight:600}
    .schedule-type-card:has(input:checked){border:2px solid var(--blue);background:var(--sky);padding:11px 12px;box-shadow:0 0 0 3px rgba(35,116,171,.08)}
    .schedule-type-card:has(input:checked) strong{color:#164f78}
    .schedule-form-panel .conditional{margin-top:2px}

    .library-grid{display:grid;gap:11px;margin:10px 0 15px}.library-item{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.library-item h4{margin:0;font-size:.96rem}.library-item p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.library-item-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
    .subpanel{border:1px solid var(--line);border-radius:13px;padding:12px;background:#f8fafb;margin-top:10px}.subpanel-title{font-size:.83rem;font-weight:900;color:var(--navy);margin-bottom:8px}.schedule-paused-banner{background:var(--purple-bg);border:1px solid #cfc2ed;border-radius:11px;padding:9px 10px;margin-top:9px;color:#4e3a80;font-size:.82rem}.schedule-paused-banner strong{display:block}.archive-list{display:grid;gap:7px}.archive-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.archive-row p{margin:2px 0 0;color:var(--muted);font-size:.78rem}
    dialog.schedule-admin-dialog{width:min(520px,calc(100% - 28px))}.schedule-admin-dialog .dialog-body{padding:18px}.radio-stack{display:grid;gap:7px}.radio-option{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff}.radio-option input{width:19px;height:19px;min-height:19px;margin-top:1px}.radio-option strong{display:block}.radio-option small{display:block;color:var(--muted);font-size:.76rem}
    @media(max-width:560px){.schedule-type-grid{grid-template-columns:1fr}.regimen-head{display:block}.regimen-actions{justify-content:flex-start;margin-top:10px}.regimen-time{grid-template-columns:78px 1fr}.regimen-time .row-actions{grid-column:1/-1}.schedule-time-row{grid-template-columns:1fr}.library-item{grid-template-columns:1fr}.library-item-actions{justify-content:flex-start}}


    .saved-items-bottom-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.saved-items-bottom-card h3{margin:0 0 4px;color:var(--navy)}.saved-items-bottom-card .helper{margin:0}.saved-items-bottom-card .btn{flex:0 0 auto}@media(max-width:560px){.saved-items-bottom-card{align-items:stretch;flex-direction:column}.saved-items-bottom-card .btn{width:100%}}

    /* Owner/Admin schedule controls */
    .schedule-health-panel{border:2px solid #c8d9e5;background:#fbfdff}.health-list{display:grid;gap:7px}.health-item{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:.82rem}.health-item.warn{border-color:#ead09a;background:#fffaf0}.health-item.danger{border-color:#e5b0b0;background:#fff6f6}.health-item .hi-icon{font-weight:950}.queue-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:11px;margin-top:8px;background:#fff}.queue-card h4{margin:0;font-size:.9rem}.queue-card p{margin:3px 0 0;color:var(--muted);font-size:.77rem}.queue-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.schedule-preview-dialog{width:min(620px,calc(100% - 24px))}.schedule-preview-summary{display:grid;gap:8px;margin:12px 0}.preview-med{border:1px solid #bfd0dc;border-radius:13px;overflow:hidden}.preview-med-head{background:var(--navy);color:#fff;padding:9px 11px}.preview-med-head strong{font-size:.98rem}.preview-row{display:grid;grid-template-columns:88px 1fr;gap:9px;padding:8px 10px;border-top:1px solid var(--line);font-size:.82rem}.preview-row:first-child{border-top:0}.preview-row .pr-time{font-weight:900;color:var(--navy)}.preview-row small{display:block;color:var(--muted);margin-top:1px}.schedule-history-item{border:1px solid var(--line);border-radius:12px;padding:10px 11px;margin-top:8px;background:#fff}.schedule-history-item summary{cursor:pointer}.schedule-history-item h4{display:inline;margin:0;font-size:.88rem;color:var(--navy)}.schedule-history-meta{font-size:.74rem;color:var(--muted);margin-top:3px}.schedule-history-detail{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.schedule-history-box{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fafcfd}.schedule-history-box strong{font-size:.76rem;color:var(--navy)}.schedule-history-box p{font-size:.74rem;color:var(--muted);white-space:pre-line;margin:4px 0 0}.archive-regimen{border:1px solid var(--line);border-radius:11px;background:#fafbfc;padding:9px 10px;margin-top:7px}.archive-regimen summary{cursor:pointer;font-weight:850;color:var(--navy)}.archive-time{display:grid;grid-template-columns:78px 1fr;gap:8px;border-top:1px solid var(--line);padding:7px 0;font-size:.8rem}.archive-time:first-of-type{margin-top:8px}.owner-only-note{background:var(--sky);border:1px solid #bddbe9;border-radius:11px;padding:9px 10px;color:#174766;font-size:.8rem;margin-bottom:10px}@media(max-width:560px){.queue-card{grid-template-columns:1fr}.queue-actions{justify-content:flex-start}.schedule-history-detail{grid-template-columns:1fr}.preview-row{grid-template-columns:74px 1fr}}

    /* Supply access + medication contact details */
    .med-contact-panel{margin-top:13px;border:1px solid #cbd8e1;border-radius:13px;background:#f8fbfd;overflow:hidden}.med-contact-panel summary{list-style:none;cursor:pointer;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--navy);font-weight:850}.med-contact-panel summary::-webkit-details-marker{display:none}.med-contact-panel summary:after{content:'+';font-size:1.05rem;color:var(--blue)}.med-contact-panel[open] summary:after{content:'−'}.med-contact-panel summary small{display:block;color:var(--muted);font-size:.72rem;font-weight:700;margin-left:auto}.med-contact-body{border-top:1px solid #dbe4ea;padding:12px}.contact-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-edit-grid .field.full{grid-column:1/-1}.contact-edit-grid textarea{min-height:66px}.contact-save-row{grid-column:1/-1;display:flex;justify-content:flex-end}.contact-read-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.contact-read-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}.contact-read-card>span{display:block;font-size:.66rem;font-weight:900;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}.contact-read-card>strong{display:block;color:var(--navy);font-size:.88rem}.contact-read-card p{margin:4px 0 0;font-size:.78rem;color:var(--muted);white-space:pre-line}.contact-phone{color:var(--blue);font-weight:800;text-decoration:none}.contact-muted,.contact-empty{color:var(--muted);font-size:.8rem}.contact-empty{padding:4px 1px}.inventory-card input:disabled{background:#f0f3f5;color:#5f6c75}.inventory-card .stock-actions:empty{display:none}@media(max-width:600px){.contact-edit-grid,.contact-read-grid{grid-template-columns:1fr}.contact-edit-grid .field.full,.contact-save-row{grid-column:auto}.med-contact-panel summary{align-items:flex-start}.med-contact-panel summary small{text-align:right}}


    /* Supply dashboard */
    .supply-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 14px}.supply-summary-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 9px;text-align:center;box-shadow:0 4px 14px rgba(20,57,91,.05)}.supply-summary-card strong{display:block;font-size:1.35rem;color:var(--navy)}.supply-summary-card span{font-size:.7rem;color:var(--muted);font-weight:850}.supply-summary-card.out strong{color:var(--red)}.supply-summary-card.low strong,.supply-summary-card.soon strong{color:var(--amber)}.supply-summary-card.ok strong{color:var(--green)}
    .supply-med-card{background:#eaf1f6;border:2px solid #b8cbd9;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:16px}.supply-med-card.low{border-color:#e4c27e}.supply-med-card.out{border-color:#e3aaaa}.supply-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#063A7A,#0A4F98);color:#fff;padding:14px 16px}.supply-med-card.low .supply-card-head{background:linear-gradient(135deg,#8d5405,#b56d09)}.supply-med-card.out .supply-card-head{background:linear-gradient(135deg,#8c2929,#b33b3b)}.supply-card-head h3{margin:0;font-size:1.08rem}.supply-card-head p{margin:3px 0 0;font-size:.76rem;opacity:.84}.supply-card-amount{text-align:right;font-weight:950;font-size:1.35rem;line-height:1.05}.supply-card-amount small{display:block;font-size:.7rem;font-weight:750;opacity:.8;margin-top:3px}.supply-card-body{padding:12px}.supply-status-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.supply-status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:900;background:var(--green-bg);color:var(--green)}.supply-status-chip.low{background:var(--amber-bg);color:var(--amber)}.supply-status-chip.out{background:var(--red-bg);color:var(--red)}.supply-status-chip.soon{background:#fff4d7;color:#875200}.supply-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.supply-meta-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 10px}.supply-meta-card span{display:block;font-size:.65rem;font-weight:900;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.supply-meta-card strong{display:block;font-size:.87rem;color:var(--navy);margin-top:2px}.supply-last-updated{font-size:.73rem;color:var(--muted);margin-top:9px}.supply-primary-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.supply-details{margin-top:10px;border:1px solid #ccd8e0;border-radius:12px;background:#fff;overflow:hidden}.supply-details summary{cursor:pointer;list-style:none;padding:10px 11px;color:var(--navy);font-weight:850;font-size:.82rem;display:flex;justify-content:space-between;gap:10px}.supply-details summary::-webkit-details-marker{display:none}.supply-details summary:after{content:'+';color:var(--blue);font-size:1rem}.supply-details[open] summary:after{content:'−'}.supply-details-body{border-top:1px solid var(--line);padding:10px 11px}.supply-history-row{display:grid;grid-template-columns:82px 1fr auto;gap:8px;align-items:start;padding:8px 0;border-top:1px solid var(--line);font-size:.78rem}.supply-history-row:first-child{border-top:0}.supply-history-row .when{font-weight:900;color:var(--navy)}.supply-history-row p{margin:1px 0 0;color:var(--muted)}.refill-progress{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.refill-progress .badge{margin:0}.supply-warning-today{margin-top:9px;background:var(--red-bg);border:2px solid #d96a6a;border-radius:11px;padding:9px 10px;color:#7b2020;font-size:.8rem;font-weight:800}.all-supply-history summary{cursor:pointer}.inventory-grid{display:block}.inventory-card{padding:0}
    .supply-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.supply-settings-grid .field.full{grid-column:1/-1}.reconcile-difference{border-radius:12px;padding:10px 11px;background:#f3f6f8;border:1px solid var(--line);font-size:.86rem;margin-top:10px}.reconcile-difference strong{color:var(--navy)}
    @media(max-width:600px){.supply-summary-grid{grid-template-columns:repeat(2,1fr)}.supply-meta-grid{grid-template-columns:1fr}.supply-card-head{align-items:center}.supply-card-amount{font-size:1.15rem}.supply-history-row{grid-template-columns:72px 1fr}.supply-history-row>span:last-child{grid-column:2}.supply-settings-grid{grid-template-columns:1fr}.supply-settings-grid .field.full{grid-column:auto}}

    /* Appointments — calendar-style experience */
    .appointments-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 2px 12px}.appointments-top h2{margin:0;font-size:1.35rem}.appointments-top p{margin:2px 0 0;color:var(--muted);font-size:.84rem}
    .appointments-calendar{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:14px}.calendar-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px 14px 10px;border-bottom:1px solid #edf1f4}.calendar-month{font-size:1.18rem;font-weight:950;color:var(--ink);text-align:center}.calendar-nav{display:flex;align-items:center;gap:5px}.calendar-icon-btn{border:0;background:transparent;color:#d82c20;min-width:38px;min-height:38px;border-radius:11px;font-size:1.55rem;line-height:1;font-weight:500}.calendar-icon-btn:hover{background:#fff1f0}.calendar-today-btn{border:0;background:transparent;color:#d82c20;font-weight:850;padding:8px 9px;border-radius:10px}.calendar-today-btn:hover{background:#fff1f0}
    .calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{padding:8px 10px 3px}.calendar-weekdays span{text-align:center;color:#8a949c;font-size:.68rem;font-weight:850;text-transform:uppercase}.calendar-grid{padding:0 10px 11px}.calendar-day{position:relative;border:0;background:transparent;min-height:54px;padding:5px 2px 12px;border-radius:12px;color:var(--ink);display:flex;align-items:flex-start;justify-content:center}.calendar-day:hover{background:#f6f7f8}.calendar-day.other-month{color:#bcc2c7}.calendar-day .day-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:750;font-size:.88rem}.calendar-day.today:not(.selected) .day-number{color:#d82c20;font-weight:950}.calendar-day.selected .day-number{background:#e43a2f;color:#fff;font-weight:950}.calendar-day .event-dots{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);display:flex;gap:3px;justify-content:center}.calendar-day .event-dot{width:4px;height:4px;border-radius:50%;background:#e43a2f}.calendar-day.selected .event-dot{background:#e43a2f}.calendar-day.other-month .event-dot{opacity:.35}
    .agenda-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:14px}.agenda-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);background:#fbfcfd}.agenda-head .date-stack span{display:block;color:#e43a2f;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.agenda-head .date-stack strong{display:block;font-size:1.12rem;margin-top:1px}.agenda-list{padding:7px 12px 12px}.appointment-event{display:grid;grid-template-columns:82px 4px 1fr auto;gap:11px;align-items:start;padding:13px 4px;border-bottom:1px solid #edf0f2}.appointment-event:last-child{border-bottom:0}.appointment-time{font-size:.8rem;font-weight:850;color:#53616c;text-align:right;padding-top:2px}.appointment-time strong{display:block;color:var(--ink);font-size:.86rem}.appointment-accent{width:4px;align-self:stretch;min-height:50px;border-radius:99px;background:#e43a2f}.appointment-main h3{margin:0;font-size:.98rem}.appointment-main p{margin:2px 0 0;color:var(--muted);font-size:.8rem}.appointment-main .appointment-meta{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:6px}.appointment-main .appointment-meta span,.appointment-main .appointment-meta a{font-size:.76rem;color:#52616d;text-decoration:none}.appointment-main .appointment-meta a{color:var(--blue);font-weight:750}.appointment-actions{display:flex;gap:5px;align-items:flex-start}.appointment-empty{padding:28px 18px;text-align:center;color:var(--muted)}.appointment-empty .empty-icon{font-size:2rem;display:block;margin-bottom:6px;opacity:.5}.appointments-access{margin-bottom:12px}
    .appointment-dialog{width:min(600px,calc(100% - 24px))}.appointment-dialog .dialog-body{padding:20px}.appointment-dialog-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.appointment-dialog-title h2{margin:0}.appointment-type-row{display:flex;gap:6px;flex-wrap:wrap}.appointment-type-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:800;color:var(--muted)}.appointment-type-chip.selected{background:#fff0ef;border-color:#e99a94;color:#b3261e}.appointment-type-all-day-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.appointment-date-row{grid-column:1/-1}.appointment-time-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.appointment-time-row[hidden]{display:none!important}.all-day-row{display:inline-grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:8px;width:max-content;max-width:100%;min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--theme-paper,#fff);padding:9px 11px;color:var(--theme-ink,var(--ink));cursor:pointer;align-self:end}.all-day-row strong{font-size:.84rem;line-height:1}.all-day-row input{width:21px;height:21px;min-height:21px;margin:0;accent-color:#e43a2f}.time-12h-picker{width:100%}.time-wheel-trigger{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:11px;background:var(--theme-paper,#fff);color:var(--theme-ink,var(--ink));padding:10px 12px;font:inherit;font-size:.9rem;font-weight:850;text-align:left;cursor:pointer}.time-wheel-trigger::after{content:'▾';font-size:.78rem;color:var(--muted)}.time-wheel-trigger.placeholder{color:var(--muted);font-weight:700}.time-wheel-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--theme-secondary) 62%,transparent);outline-offset:2px}.time-12h-picker.compact .time-wheel-trigger{min-height:46px;padding:9px 10px;font-size:.84rem}.legacy-time-note{margin:5px 2px 0;color:var(--muted);font-size:.68rem;line-height:1.3}.legacy-time-note strong{color:var(--navy)}
.time-wheel-dialog{width:min(420px,calc(100% - 22px));max-width:420px;padding:0;border:0;border-radius:22px;background:var(--theme-paper,#fff);color:var(--theme-ink,var(--ink));box-shadow:0 24px 70px rgba(5,25,48,.28);overflow:hidden}.time-wheel-dialog::backdrop{background:rgba(7,22,38,.42);backdrop-filter:blur(2px)}.time-wheel-sheet{padding:0;background:var(--theme-paper,#fff)}.time-wheel-head{display:grid;grid-template-columns:80px 1fr 80px;align-items:center;gap:8px;padding:12px 14px 10px;border-bottom:1px solid var(--line)}.time-wheel-head strong{text-align:center;color:var(--theme-primary,var(--navy));font-size:.94rem}.time-wheel-action{border:0;background:transparent;padding:8px 4px;color:var(--theme-secondary,var(--blue));font:inherit;font-size:.85rem;font-weight:900;cursor:pointer}.time-wheel-action.cancel{text-align:left;color:var(--muted)}.time-wheel-action.done{text-align:right}.time-wheel-labels{display:grid;grid-template-columns:1fr 1fr 1fr;padding:10px 22px 3px;color:var(--muted);font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;text-align:center}.time-wheel-stage{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;height:222px;margin:0 14px 8px;overflow:hidden}.time-wheel-selection{position:absolute;z-index:0;left:4px;right:4px;top:89px;height:44px;border-radius:11px;background:color-mix(in srgb,var(--theme-soft,#eef6fb) 76%,var(--theme-paper,#fff));border:1px solid color-mix(in srgb,var(--theme-secondary) 20%,var(--line));pointer-events:none}.time-wheel-column{position:relative;z-index:1;height:222px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;padding:89px 4px;box-sizing:border-box;-webkit-overflow-scrolling:touch}.time-wheel-column::-webkit-scrollbar{display:none}.time-wheel-column+.time-wheel-column{border-left:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.time-wheel-item{display:flex;width:100%;height:44px;align-items:center;justify-content:center;scroll-snap-align:center;border:0;background:transparent;color:var(--theme-ink,var(--ink));font:inherit;font-size:1.22rem;font-weight:760;opacity:.42;transform:scale(.9);transition:opacity .12s ease,transform .12s ease;font-variant-numeric:tabular-nums;cursor:pointer}.time-wheel-item.near{opacity:.7;transform:scale(.96)}.time-wheel-item.active{opacity:1;transform:scale(1);font-weight:900;color:var(--theme-primary,var(--navy))}.time-wheel-footer{min-height:44px;display:flex;justify-content:center;padding:2px 14px calc(12px + env(safe-area-inset-bottom))}.time-wheel-clear{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;font-weight:850;padding:8px 14px;cursor:pointer}.time-wheel-clear[hidden]{display:none!important}
@media(max-width:520px){.appointment-dialog{width:min(100% - 14px,600px)}.appointment-dialog .dialog-body{padding:15px}.appointment-type-all-day-row{grid-template-columns:minmax(0,1fr) auto}.appointment-time-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.time-12h-picker.compact .time-wheel-trigger{font-size:.8rem;padding:9px 8px}.all-day-row{padding:9px 10px;gap:7px}.time-wheel-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:22px 22px 0 0}.time-wheel-head{padding-top:14px}.time-wheel-stage{height:238px}.time-wheel-column{height:238px;padding-top:97px;padding-bottom:97px}.time-wheel-selection{top:97px}}
    @media(max-width:600px){.appointments-top{align-items:flex-start}.calendar-day{min-height:48px}.calendar-day .day-number{width:28px;height:28px;font-size:.82rem}.appointment-event{grid-template-columns:66px 4px 1fr}.appointment-actions{grid-column:3}.appointment-time{font-size:.72rem}.appointment-time strong{font-size:.78rem}.agenda-head{padding:13px 14px}.bottom-nav .nav-btn{font-size:.62rem}}


    /* Care Profile + multi-patient account management */
    .header-tools{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:150px}
    .patient-switch-wrap{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:5px 7px;max-width:250px}
    .patient-switch-wrap span{font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;opacity:.78;white-space:nowrap}
    .patient-switcher{min-height:32px;height:32px;border:0;background:rgba(255,255,255,.96);color:var(--navy);border-radius:8px;padding:3px 26px 3px 8px;font-size:.78rem;font-weight:850;max-width:155px}
    .care-dashboard{display:grid;gap:14px}.care-hub-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
    .care-hub-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 16px;background:#f7fafc;border-bottom:1px solid var(--line)}
    .care-hub-head h3{margin:0;color:var(--navy);font-size:1.03rem}.care-hub-head p{margin:3px 0 0;color:var(--muted);font-size:.79rem}.care-hub-body{padding:15px 16px}
    .active-patient-card{background:linear-gradient(135deg,#063A7A,#0A4F98);color:#fff;border-radius:18px;padding:16px;box-shadow:var(--shadow);margin-bottom:14px}
    .active-patient-card .kicker{font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;opacity:.76}.active-patient-card h3{margin:4px 0 2px;font-size:1.28rem}.active-patient-card p{margin:0;color:#DCE8F5;font-size:.82rem}.active-patient-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.active-patient-card .btn.outline{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
    .patient-roster{display:grid;gap:8px;margin-top:10px}.patient-roster-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.patient-roster-item.active{border:2px solid var(--blue);background:var(--sky);padding:10px 11px}.patient-roster-item strong{display:block;color:var(--navy)}.patient-roster-item small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}
    .team-grid{display:grid;gap:9px}.team-member{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.team-member.you{border-color:#9cc9e4;background:#f3faff}.team-member h4{margin:0;font-size:.94rem}.team-member p{margin:3px 0 0;color:var(--muted);font-size:.77rem}.team-member-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.team-member-actions select{min-height:38px;width:auto;max-width:145px;padding:6px 28px 6px 8px;font-size:.78rem}
    .role-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:900;background:var(--sky);color:var(--navy);margin-top:5px}.role-pill.owner{background:var(--purple-bg);color:var(--purple)}.role-pill.admin{background:#eef0ff;color:#4554a4}.role-pill.viewer{background:#edf0f2;color:#64727d}.role-pill.on-duty{background:var(--green-bg);color:var(--green)}
    .permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.permission-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.permission-card h4{margin:0;color:var(--navy);font-size:.9rem}.permission-card p{margin:3px 0 7px;color:var(--muted);font-size:.74rem}.permission-card ul{list-style:none;padding:0;margin:0;font-size:.75rem}.permission-card li{margin:4px 0}.permission-card .yes{color:var(--green)}.permission-card .no{color:var(--muted)}
    .profile-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-summary{border:1px solid var(--line);border-radius:13px;padding:10px;background:#fff}.profile-summary span{display:block;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.profile-summary strong{display:block;color:var(--navy);font-size:.92rem;margin-top:2px}
    .contact-list{display:grid;gap:8px}.contact-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fff}.contact-row strong{display:block}.contact-row small{display:block;color:var(--muted);font-size:.75rem}.contact-row a{color:var(--blue);font-weight:800;text-decoration:none}
    .settings-divider{height:1px;background:var(--line);margin:15px 0}.security-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.security-stat{border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}.security-stat strong{display:block;font-size:1.2rem;color:var(--navy)}.security-stat span{display:block;font-size:.68rem;color:var(--muted);font-weight:850}
    .danger-zone{border-color:#ecc1c1}.danger-zone .care-hub-head{background:#fff6f6}.danger-zone .care-hub-head h3{color:var(--red)}
    .invite-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;border-top:1px solid var(--line);padding:9px 0}.invite-row:first-child{border-top:0}.invite-row strong{display:block}.invite-row small{display:block;color:var(--muted);font-size:.74rem}
    .notification-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toggle-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:#fff;font-size:.8rem;font-weight:800}.toggle-card input{width:20px;height:20px;min-height:20px}
    .prototype-note{background:#fff9e8;border:1px solid #ecd08d;border-radius:12px;padding:10px 11px;color:#6d4b08;font-size:.77rem;margin-top:10px}
    @media(max-width:600px){.header-row{align-items:flex-start}.header-tools{min-width:126px}.patient-switch-wrap{display:block;padding:5px}.patient-switch-wrap span{display:block;margin:0 0 2px 2px}.patient-switcher{max-width:132px;width:132px}.permission-grid,.notification-grid{grid-template-columns:1fr}.profile-summary-grid,.security-stat-grid{grid-template-columns:1fr 1fr}.team-member{grid-template-columns:1fr}.team-member-actions{justify-content:flex-start}.patient-roster-item{grid-template-columns:1fr}.patient-roster-item .row-actions{justify-content:flex-start}}

    /* Cloud account + shared sync */
    body.cloud-locked .app,body.cloud-locked .bottom-nav{visibility:hidden}
    .cloud-auth-overlay{position:fixed;z-index:1000;inset:0;background:linear-gradient(160deg,#edf5f9,#f7f9fb);display:flex;justify-content:center;align-items:flex-start;padding:20px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.cloud-login-card{margin:auto 0}
    .cloud-auth-overlay[hidden]{display:none!important}
    .cloud-login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 60px rgba(20,57,91,.16);padding:24px}
    .cloud-login-mark{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#063A7A,#0A4F98);color:#fff;display:grid;place-items:center;font-size:1.55rem;margin-bottom:14px}
    .cloud-login-card h1{color:var(--navy);font-size:1.55rem;margin:0}.cloud-login-card>p{color:var(--muted);font-size:.88rem;margin:6px 0 18px}
    .cloud-login-card .field{margin-top:10px}.cloud-login-card .btn{width:100%;margin-top:14px}.cloud-auth-message{min-height:20px;color:var(--muted);font-size:.8rem;margin-top:10px;text-align:center}
    .cloud-status-pill{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.13);color:#fff;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:850;cursor:pointer;white-space:nowrap}
    .cloud-status-pill[data-tone="online"]{background:rgba(121,215,167,.18);border-color:rgba(170,235,199,.42)}.cloud-status-pill[data-tone="error"]{background:rgba(255,196,196,.18);border-color:rgba(255,196,196,.4)}
    .cloud-account-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.cloud-account-stat{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.cloud-account-stat span{display:block;color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.cloud-account-stat strong{display:block;color:var(--navy);font-size:.84rem;margin-top:2px;word-break:break-word}
    .cloud-mode #caregiverForm{display:none!important}.cloud-mode #currentCaregiver{pointer-events:none;background:#f0f3f5}.cloud-mode .prototype-note.cloud-local-profile-note{display:none!important}
    .cloud-migration-dialog{width:min(560px,calc(100% - 28px))}.cloud-migration-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.cloud-migration-actions .btn{min-height:50px}
    @media(max-width:600px){.cloud-account-grid{grid-template-columns:1fr}.cloud-migration-actions{grid-template-columns:1fr}}

    /* v31 responsive polish */
    .cloud-backup-migration-note{margin-top:12px;padding:11px 12px;border:1px solid #cfc3ea;background:var(--purple-bg);border-radius:12px;color:#57447f;font-size:.78rem;line-height:1.45}.cloud-backup-migration-note strong{display:block;color:var(--purple);margin-bottom:2px}
    @media(min-width:601px){
      .header-tools{display:grid;grid-template-columns:1fr auto;grid-template-areas:"patient patient" "sync date";width:min(300px,42vw);min-width:240px;gap:8px;align-items:center}
      .patient-switch-wrap{grid-area:patient;display:grid;grid-template-columns:1fr;gap:3px;width:100%;max-width:none;padding:7px 9px;border-radius:13px}
      .patient-switch-wrap span{margin:0 0 1px 1px;font-size:.64rem}
      .patient-switcher{width:100%;max-width:none;height:36px;min-height:36px;padding:4px 30px 4px 9px;font-size:.82rem}
      .cloud-status-pill{grid-area:sync;justify-self:start}.date-pill{grid-area:date;justify-self:end}
      .active-patient-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:20px;align-items:center;padding:18px 20px}
      .active-patient-card .kicker,.active-patient-card h3,.active-patient-card p{grid-column:1}
      .active-patient-actions{grid-column:2;grid-row:1/4;align-self:center;justify-content:flex-end;margin-top:0;max-width:270px}
    }
    @media(max-width:600px){
      .header-row{display:block}.header-tools{display:grid;grid-template-columns:1fr auto;grid-template-areas:"patient patient" "sync date";width:100%;min-width:0;margin-top:14px;gap:8px;align-items:center}
      .patient-switch-wrap{grid-area:patient;display:grid;grid-template-columns:1fr;gap:3px;width:100%;max-width:none;padding:7px 9px}
      .patient-switch-wrap span{display:block;margin:0 0 1px 1px}.patient-switcher{width:100%;max-width:none;height:38px;min-height:38px;font-size:.82rem}
      .cloud-status-pill{grid-area:sync;justify-self:start}.date-pill{grid-area:date;justify-self:end}
      .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin:12px 0 16px}
      .summary-card{min-width:0;padding:10px 5px;border-radius:14px}.summary-card strong{font-size:1.18rem}.summary-card span{display:block;font-size:.68rem;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
      .active-patient-card{display:block;padding:16px}.active-patient-actions{margin-top:12px;max-width:none}
    }
    @media(max-width:370px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

    /* v32 care-management, supply, and appointment polish */
    .ownership-action-card .care-hub-body{display:flex;flex-direction:column;gap:10px}.ownership-action-card .form-actions{margin-top:0}
    .remove-patient-card{border-color:#e7c7c7}.remove-patient-card .care-hub-head{background:#fff8f8}.remove-patient-card .care-hub-head h3{color:#8f2e2e}
    .optional-label{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.15}.optional-label .helper{font-weight:650}
    .supply-settings-grid{align-items:start}.supply-settings-grid .field{min-width:0}.supply-settings-grid input{margin-top:auto}.input-with-suffix{display:flex;align-items:center;gap:8px;min-width:0}.input-with-suffix input{min-width:0;flex:1}.input-with-suffix span{white-space:nowrap;color:var(--muted);font-size:.86rem;font-weight:750}.device-cycle-summary{grid-column:1/-1;border:1px solid #b9d7ec;background:#f4f9fd;border-radius:14px;padding:12px 14px}.device-cycle-summary strong{color:var(--navy)}.supply-setup-card{border:1px solid #b9d7ec;background:#f4f9fd;border-radius:14px;padding:14px;margin-bottom:14px}.supply-setup-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,230px);align-items:start;gap:14px}.supply-track-field,.supply-unit-compact{min-width:0}.supply-track-field>label:first-child,.supply-unit-compact>label{display:block;margin-bottom:5px;min-height:18px}.supply-track-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:46px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px;font-size:.88rem;font-weight:900;color:var(--navy);cursor:pointer}.supply-track-toggle span{display:block;line-height:1.2}.supply-track-toggle input{order:2;justify-self:end;flex:0 0 auto;width:22px;height:22px;min-height:22px;margin:0;accent-color:var(--theme-primary)}.supply-unit-compact{min-width:190px}.supply-unit-compact select{min-height:46px}.library-minimal-note{margin-top:8px}.library-legacy-fields{display:none!important}@media(max-width:600px){.supply-setup-row{grid-template-columns:1fr}.supply-unit-compact{min-width:0;width:100%}.supply-track-toggle{width:100%}}
    .appointment-location-group{grid-column:1/-1;border:1px solid #d6e1e8;border-radius:14px;background:#f8fbfd;padding:12px}.appointment-location-group>strong{display:block;color:var(--navy);font-size:.9rem;margin-bottom:9px}.appointment-address-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:10px}.appointment-address-grid .full{grid-column:1/-1}.appointment-city-state-zip{display:grid;grid-template-columns:1.4fr .55fr .7fr;gap:10px;grid-column:1/-1}.appointment-map-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.appointment-map-link{display:inline-flex;align-items:center;gap:5px;border:1px solid #b9cbd7;border-radius:9px;padding:6px 9px;background:#fff;color:var(--blue);font-size:.77rem;font-weight:850;text-decoration:none}.appointment-address-link{color:var(--blue);font-weight:800;text-decoration:none;white-space:pre-line}.appointment-main .appointment-meta .appointment-location-name{font-weight:850;color:var(--navy)}.appointment-main .appointment-meta .appointment-map-links{flex-basis:100%;margin-top:3px}.appointment-main .appointment-meta .appointment-map-link{color:var(--blue);font-weight:850;border:1px solid #b9cbd7;padding:6px 9px}.appointment-main .appointment-meta .appointment-address-link{flex-basis:100%;color:var(--blue);font-weight:800;white-space:pre-line}
    .today-item-type{display:inline-flex;margin:0 0 5px;padding:2px 7px;border-radius:999px;background:#edf4f8;color:#4d6575;font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.dose-card.care-item .dose-detail{color:#4d6575}.dose-card.care-item .actions .given{min-width:126px}
    .library-panel{scroll-margin-top:10px}.library-panel .schedule-toolbar{align-items:flex-start}.library-panel-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
    @media(max-width:600px){.appointment-address-grid,.appointment-city-state-zip{grid-template-columns:1fr}.appointment-address-grid .full,.appointment-city-state-zip{grid-column:auto}.library-panel-actions{justify-content:flex-start}.ownership-action-card .form-actions .btn,.remove-patient-card .form-actions .btn{width:100%}}

    /* v33 Care Team invitations + patient-specific access */
    #cloudInviteAccept .btn{width:100%}
    .patient-access-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}.patient-access-option{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff;font-size:.8rem}.patient-access-option input{width:auto;margin-top:2px}.patient-access-option strong{display:block;color:var(--navy);font-size:.82rem}.patient-access-option small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.team-email{display:block;color:var(--muted);font-size:.72rem;margin-top:2px;word-break:break-word}.team-access{margin-top:8px;padding-top:8px;border-top:1px solid #e8eef2}.team-access-title{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#627888;margin-bottom:5px}.team-access-list{display:flex;gap:5px;flex-wrap:wrap}.patient-access-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;background:#edf4f8;color:#39566a;font-size:.68rem;font-weight:800}.team-access-editor{display:grid;gap:6px;margin-top:7px}.team-access-editor label{display:flex;gap:6px;align-items:center;font-size:.74rem;color:#455d6d}.team-access-editor input{width:auto}.invite-row{grid-template-columns:1fr auto}.invite-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.invite-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:.66rem;font-weight:900;margin-left:5px;background:#edf4f8;color:#446273}.invite-status.sent{background:#e8f6ee;color:#2b6e49}.invite-status.manual{background:#fff3dd;color:#8a5b0a}.invite-status.existing_account{background:#eef0fb;color:#4d4c8a}.invite-patient-line{margin-top:3px}.invite-help{border:1px solid #d9e6ee;border-radius:12px;background:#f8fbfd;padding:10px 12px;margin-top:10px;color:#536a78;font-size:.76rem;line-height:1.4}.invite-welcome-dialog{width:min(470px,calc(100% - 24px));border-radius:20px}.invite-welcome-dialog h2{margin-bottom:5px}.invite-welcome-summary{border:1px solid #d8e4eb;background:#f7fafc;border-radius:12px;padding:10px 12px;margin:10px 0;font-size:.8rem;color:#4e6472}.invite-welcome-dialog .btn{width:100%}.invite-send-status{min-height:18px;margin-top:7px;font-size:.76rem;color:var(--muted)}
    @media(max-width:600px){.patient-access-picker{grid-template-columns:1fr}.invite-row{grid-template-columns:1fr}.invite-actions{justify-content:flex-start}.team-access-editor{grid-template-columns:1fr}.team-member-actions select{max-width:100%;width:100%}}

    /* v33.5 secure invitation-code flow */
    .cloud-login-secondary{width:100%;margin-top:8px}.invite-code-entry{margin-top:4px}.invite-code-input{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:1rem}.invite-code-result{margin-top:12px;border:1px solid #bcd8c8;background:#f2fbf6;border-radius:14px;padding:12px}.invite-code-result strong{color:var(--navy)}.invite-code-display{display:block;margin:8px 0;font-size:1.45rem;font-weight:950;letter-spacing:.12em;color:#185c3d}.invite-code-result .form-actions{margin-top:8px}.invite-code-result p{margin:5px 0;color:#526b5d;font-size:.76rem;line-height:1.4}.invite-status.code_ready{background:#fff3dd;color:#8a5b0a}.invite-status.needs_code{background:#fdeaea;color:#8d3434}.invite-status.accepted{background:#e8f6ee;color:#2b6e49}.password-mismatch-warning{display:flex;gap:9px;align-items:flex-start;margin:-2px 0 12px;padding:11px 12px;border:2px solid #b93636;border-radius:12px;background:#fff0f0;color:#7d2020;font-size:.82rem;font-weight:850;line-height:1.35}.password-mismatch-warning .warn-icon{font-size:1.15rem;line-height:1}.password-mismatch-warning[hidden]{display:none}.field input.password-invalid{border:2px solid #b93636!important;background:#fff7f7;box-shadow:0 0 0 3px rgba(185,54,54,.09)}.join-code-note{border:1px solid #d9e6ee;border-radius:12px;background:#f8fbfd;padding:9px 10px;margin:8px 0 10px;color:#536a78;font-size:.76rem;line-height:1.4}


    /* v35 official Carekeeping brand */
    .cloud-login-logo{display:block;width:min(330px,88%);height:auto;margin:0 auto 8px}.cloud-login-card{padding-top:20px}.cloud-login-card>p{text-align:center}.cloud-login-mark{display:none}.app-brand-title{display:flex;align-items:flex-start;gap:11px}.app-brand-mark{width:40px;height:40px;object-fit:contain;flex:0 0 auto;margin-top:2px}.app-brand-title .eyebrow{margin-top:1px}.brand-lime-accent{color:var(--brand-lime)}
    @media(max-width:520px){.app-brand-mark{width:35px;height:35px}.app-brand-title{gap:8px}.cloud-login-logo{width:min(300px,92%)}.cloud-auth-overlay{padding:10px 12px}.cloud-login-card{border-radius:20px;padding:18px 18px 20px}}@media(max-height:700px){.cloud-auth-overlay{padding-top:10px;padding-bottom:10px}}

    /* v35.6 — Carekeeping brand palette pass
       Official palette: Navy #063A7A, Sky Blue #2EA8FF, Kabuki Lime #9AE11D,
       Soft Mist #DCE8F5, Cloud White #FFFFFF.
       Amber/red remain reserved for warning, overdue, missed, destructive, and safety states. */
    :root{
      --navy:#063A7A;
      --blue:#2EA8FF;
      --sky:#EEF8FF;
      --brand-blue:#2EA8FF;
      --brand-lime:#9AE11D;
      --brand-mist:#DCE8F5;
      --paper:#FFFFFF;
      --bg:#F5F9FD;
      --ink:#12395F;
      --muted:#5C7186;
      --line:#C9D9E8;
      --green:#5F9600;
      --green-bg:#F1F9DE;
      --purple:#1675B8;
      --purple-bg:#EEF8FF;
      --shadow:0 8px 24px rgba(6,58,122,.09);
    }

    html,body{background:var(--bg);color:var(--ink)}
    h2,h3,h4,.section-head h2,.appointments-top h2{color:var(--navy)}
    .section-head p,.helper,.meta-line,.instructions,.dose-detail,.count{color:var(--muted)}
    label,.optional-label{color:var(--navy)}
    input,select,textarea{border-color:#BFD2E4;background:#fff;color:var(--ink)}
    input:hover,select:hover,textarea:hover{border-color:#9FC4E1}
    input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--brand-blue);border-color:var(--brand-blue)}
    input[type="checkbox"],input[type="radio"]{accent-color:var(--brand-blue)}

    /* Global cards, panels, and nested information cards */
    .panel,.dose-card,.inventory-card,.summary-card,.care-hub-card,.permission-card,.profile-summary,
    .security-stat,.toggle-card,.cloud-account-stat,.patient-access-option,.team-member,.patient-roster-item,
    .contact-row,.contact-read-card,.library-item,.health-item,.queue-card,.schedule-history-item,.schedule-history-box,
    .archive-regimen,.archive-row,.regimen-time,.schedule-time-row,.supply-summary-card,.supply-meta-card,
    .appointments-calendar,.agenda-panel,.appointment-location-group,.subpanel,.radio-option,.verify-card{
      background:#fff;border-color:var(--line);
    }
    .panel,.care-hub-card,.appointments-calendar,.agenda-panel{box-shadow:var(--shadow)}
    .care-hub-head,.agenda-head,.regimen-head+*,.subpanel,.schedule-history-box,.archive-row,.archive-regimen{
      border-color:var(--line)
    }
    .care-hub-head,.agenda-head{background:#F7FBFF}
    .care-hub-head h3,.profile-summary strong,.security-stat strong,.permission-card h4,
    .supply-meta-card strong,.contact-read-card>strong,.patient-roster-item strong{color:var(--navy)}

    /* Buttons, tabs, nav, pills and labels */
    .btn{background:var(--brand-mist);color:var(--navy)}
    .btn:hover:not(:disabled){filter:brightness(.985)}
    .btn.primary{background:var(--navy);color:#fff}
    .btn.given{background:var(--brand-lime);color:var(--navy)}
    .btn.outline,.icon-btn{background:#fff;border-color:#BFD2E4;color:var(--navy)}
    .btn.purple{background:var(--sky);color:var(--navy);border:1px solid #BBDDF3}
    .tab-btn{background:#fff;border-color:#BFD2E4;color:var(--navy)}
    .tab-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}
    .badge{background:var(--brand-mist);color:var(--navy)}
    .badge.blue{background:var(--sky);color:var(--navy);border:1px solid #C0E2F6}
    .badge.green{background:#F0F9DA;color:var(--navy);border:1px solid #C8E88A}
    .badge.purple{background:var(--sky);color:var(--navy);border:1px solid #BBDDF3}
    .date-pill,.cloud-status-pill,.patient-switch-wrap{border-color:rgba(255,255,255,.30)}
    .bottom-nav{background:rgba(255,255,255,.98);border-top-color:var(--brand-mist);box-shadow:0 -8px 24px rgba(6,58,122,.08)}
    .nav-btn{color:#657B90}
    .nav-btn.active{background:var(--brand-mist);color:var(--navy)}
    .nav-btn.active .nav-icon{color:var(--brand-blue)}

    /* Today — care rounds */
    .time-group,.regimen-card,.schedule-time-group,.supply-med-card{
      background:#F2F7FC;border-color:#B8CEE2
    }
    .time-group-header,.regimen-head,.schedule-time-head,.supply-card-head,
    .active-patient-card{background:linear-gradient(135deg,#063A7A,#0B579E)}
    .time-group.next-round{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(46,168,255,.14),var(--shadow)}
    .next-round-pill{background:var(--brand-lime);color:var(--navy)}
    .dose-card.done{background:#F5FBE7;border-color:#CBEA94}
    .last-recorded-panel{background:#fff;border-color:var(--line)}
    .last-recorded-icon{background:var(--brand-lime);color:var(--navy)}
    .handling-banner{background:var(--sky);border-color:#B9DDF3;color:var(--navy)}
    .handling-banner.you{background:#F1F9DE;border-color:#C9E98E;color:var(--navy)}
    .time-group.complete{border-color:#B9DE73}
    .time-group.complete .time-group-header{background:linear-gradient(135deg,#8ED10B,#A6E52D);color:var(--navy)}
    .time-group.complete .round-label,.time-group.complete .round-meta{color:var(--navy)}
    .time-group.held{border-color:#AFCFE8}
    .time-group.held .time-group-header{background:linear-gradient(135deg,#1675B8,#2EA8FF)}
    .hold-banner,.schedule-paused-banner{background:var(--sky);border-color:#B9DDF3;color:var(--navy)}
    .hold-banner strong,.schedule-paused-banner strong{color:var(--navy)}

    /* Schedule */
    .view-switch{background:var(--brand-mist);border-color:#BFD2E4}
    .view-switch button{color:var(--navy)}
    .view-switch button.active{background:#fff;color:var(--navy);box-shadow:0 1px 5px rgba(6,58,122,.12)}
    .regimen-times{background:#F2F7FC}
    .regimen-time,.schedule-time-row{border-color:#C8D9E8}
    .daypart{color:var(--brand-blue)}
    .schedule-form-panel,.library-panel,.schedule-health-panel{background:#F8FCFF;border-color:#BBD5E8}
    .supply-check-row,.appointment-location-group,.invite-help,.join-code-note{background:#F7FBFF;border-color:#C7DCEB}
    .supply-check-row span{color:var(--navy)}
    .schedule-type-card{border-color:#C4D7E7;background:#fff}
    .schedule-type-card:hover{border-color:var(--brand-blue);background:#F8FCFF}
    .schedule-type-card:has(input:checked){border-color:var(--brand-blue);background:var(--sky);box-shadow:0 0 0 3px rgba(46,168,255,.10)}
    .schedule-type-card:has(input:checked) strong{color:var(--navy)}
    .owner-only-note{background:var(--sky);border-color:#B9DDF3;color:var(--navy)}

    /* Supply */
    .meter,.supply-meter{background:var(--brand-mist)}
    .meter span,.supply-meter span{background:var(--brand-lime)}
    .ok-tag,.supply-summary-card.ok strong{color:#628F0A}
    .supply-status-chip{background:#F0F9DA;color:var(--navy);border:1px solid #CCE997}
    .supply-details,.med-contact-panel{background:#F8FCFF;border-color:#C4D8E8}
    .supply-details summary,.med-contact-panel summary{color:var(--navy)}
    .reconcile-difference{background:#F5F9FD;border-color:var(--line)}

    /* Appointments — replace the old red calendar accent with Carekeeping Sky Blue */
    .calendar-toolbar{border-bottom-color:var(--brand-mist)}
    .calendar-month{color:var(--navy)}
    .calendar-icon-btn,.calendar-today-btn{color:var(--brand-blue)}
    .calendar-icon-btn:hover,.calendar-today-btn:hover{background:var(--sky)}
    .calendar-weekdays span{color:#6E8396}
    .calendar-day{color:var(--navy)}
    .calendar-day:hover{background:#F4F9FD}
    .calendar-day.other-month{color:#A9BAC8}
    .calendar-day.today:not(.selected) .day-number{color:var(--navy);box-shadow:inset 0 0 0 2px var(--brand-blue)}
    .calendar-day.selected .day-number{background:var(--brand-blue);color:#fff}
    .calendar-day .event-dot,.calendar-day.selected .event-dot{background:var(--brand-blue)}
    .agenda-head .date-stack span{color:var(--brand-blue)}
    .appointment-time{color:#60788D}.appointment-time strong{color:var(--navy)}
    .appointment-accent{background:var(--brand-blue)}
    .appointment-type-chip{background:#fff;border-color:#C4D7E7;color:var(--navy)}
    .appointment-type-chip.selected{background:var(--sky);border-color:var(--brand-blue);color:var(--navy)}
    .all-day-row input{accent-color:var(--brand-blue)}
    .appointment-map-link{border-color:#B9D4E7;background:#fff;color:var(--brand-blue)}

    /* History */
    .history-day{color:var(--brand-blue)}
    .history-item{background:#fff;border-color:var(--line)}
    .hist-status:not(.missed):not(.safety):not(.held):not(.late):not(.early):not(.skipped):not(.not_needed){color:#628F0A}

    /* Care Profile / Care Team */
    .patient-roster-item.active{border-color:var(--brand-blue);background:var(--sky)}
    .team-member.you{border-color:#A9D8F3;background:#F4FAFF}
    .role-pill{background:var(--brand-mist);color:var(--navy)}
    .role-pill.owner{background:var(--brand-lime);color:var(--navy)}
    .role-pill.admin{background:var(--sky);color:var(--navy);border:1px solid #B9DDF3}
    .role-pill.viewer{background:#fff;color:var(--navy);border:1px solid #C4D7E7}
    .role-pill.on-duty{background:#F0F9DA;color:var(--navy);border:1px solid #CCE997}
    .permission-card .yes{color:#628F0A}
    .notification-grid .toggle-card:has(input:checked){background:#F7FBFF;border-color:#A9D8F3}
    .patient-access-chip{background:var(--brand-mist);color:var(--navy)}
    .team-access-title{color:#60788D}
    .invite-status{background:var(--brand-mist);color:var(--navy)}
    .invite-status.sent,.invite-status.accepted{background:#F0F9DA;color:var(--navy)}
    .invite-status.existing_account{background:var(--sky);color:var(--navy)}
    .invite-code-result{background:#F5FBE7;border-color:#CBEA94}
    .invite-code-display{color:var(--navy)}

    /* Sign-in / overlays / dialogs */
    .cloud-auth-overlay{background:linear-gradient(160deg,#F2F8FD,#FFFFFF)}
    .cloud-login-card{border-color:var(--brand-mist)}
    dialog{border:1px solid var(--brand-mist)}
    dialog::backdrop{background:rgba(6,32,64,.56)}
    .toast{background:var(--navy);color:#fff}

    /* Keep safety semantics distinct from normal Carekeeping branding */
    .notice.warn,.time-group.overdue,.supply-med-card.low,.health-item.warn{ /* amber intentionally retained */ }
    .notice.danger,.time-group.missed,.supply-med-card.out,.history-item.safety-event,
    .danger-zone,.remove-patient-card,.password-mismatch-warning{ /* red intentionally retained */ }

    /* v36 usability, responsive layout, Care Profile tabs, and user themes */
    :root{--theme-primary:#063A7A;--theme-secondary:#2EA8FF;--theme-accent:#9AE11D;--theme-soft:#DCE8F5;--theme-bg:#F4F8FC;--theme-paper:#FFFFFF;--theme-ink:#17222c;--theme-muted:#65727e;--theme-line:#d9e1e7}
    html[data-theme="carekeeping"]{--theme-primary:#063A7A;--theme-secondary:#2EA8FF;--theme-accent:#9AE11D;--theme-soft:#DCE8F5}
    html[data-theme="ocean"]{--theme-primary:#075985;--theme-secondary:#06B6D4;--theme-accent:#2DD4BF;--theme-soft:#CFFAFE}
    html[data-theme="lavender"]{--theme-primary:#5B3F8C;--theme-secondary:#8B5CF6;--theme-accent:#60A5FA;--theme-soft:#EDE9FE}
    html[data-theme="rose"]{--theme-primary:#7F1D3A;--theme-secondary:#E85D8E;--theme-accent:#F4A7C1;--theme-soft:#FCE7F3}
    html[data-theme="forest"]{--theme-primary:#14532D;--theme-secondary:#2F855A;--theme-accent:#84CC16;--theme-soft:#DCFCE7}
    html[data-theme="neutral"]{--theme-primary:#334155;--theme-secondary:#64748B;--theme-accent:#38BDF8;--theme-soft:#E2E8F0}
    html[data-appearance="dark"]{--theme-bg:#101820;--theme-paper:#17232D;--theme-ink:#F3F7FA;--theme-muted:#AAB7C2;--theme-line:#344550}
    @media(prefers-color-scheme:dark){html[data-appearance="system"]{--theme-bg:#101820;--theme-paper:#17232D;--theme-ink:#F3F7FA;--theme-muted:#AAB7C2;--theme-line:#344550}}
    html[data-appearance="light"]{--theme-bg:#F4F8FC;--theme-paper:#FFFFFF;--theme-ink:#17222c;--theme-muted:#65727e;--theme-line:#d9e1e7}
    html{background:var(--theme-bg)}body{background:var(--theme-bg);color:var(--theme-ink)}
    header,.time-group-header{background:linear-gradient(135deg,var(--theme-primary),color-mix(in srgb,var(--theme-primary) 78%,var(--theme-secondary)))}
    .panel,.dose-card,.inventory-card,.summary-card,.care-hub-card,.active-patient-card,.agenda-panel,.appointments-calendar{background:var(--theme-paper);border-color:var(--theme-line);color:var(--theme-ink)}
    .btn.primary{background:var(--theme-primary)}.badge.blue,.range-tag{color:var(--theme-primary)}.badge.blue{background:color-mix(in srgb,var(--theme-secondary) 14%,var(--theme-paper))}
    .view-switch button.active,.tab-btn.active,.profile-tab.active{background:var(--theme-primary)!important;color:#fff!important;border-color:var(--theme-primary)!important}
    .nav-btn.active{color:var(--theme-primary)}.check-row input{accent-color:var(--theme-primary)}
    input,select,textarea,.btn.outline,.icon-btn,.library-item{background:var(--theme-paper);color:var(--theme-ink);border-color:var(--theme-line)}
    label,.field label{color:var(--theme-ink)}.helper,.section-head p,.care-hub-head p{color:var(--theme-muted)}
    .profile-subnav{position:sticky;top:0;z-index:20;display:flex;gap:7px;overflow-x:auto;padding:8px 2px 12px;margin:0 0 12px;background:linear-gradient(var(--theme-bg) 78%,transparent);scrollbar-width:none}.profile-subnav::-webkit-scrollbar{display:none}
    .profile-tab{flex:0 0 auto;min-height:44px;border:1px solid var(--theme-line);border-radius:999px;background:var(--theme-paper);color:var(--theme-primary);padding:9px 14px;font-weight:850}
    .care-hub-card[data-profile-section][hidden]{display:none!important}
    .settings-label{font-size:.9rem;color:var(--theme-primary)}
    .care-dashboard{display:block}.care-hub-card{margin-bottom:14px}
    .history-tabs{overflow-x:auto;display:flex;gap:6px;scrollbar-width:none}.history-tabs::-webkit-scrollbar{display:none}.history-tabs .tab-btn{white-space:nowrap;min-height:44px}
    .summary-grid{overflow:visible}
    .actions .btn,.form-actions .btn,.row-actions .btn,.calendar-icon-btn,.calendar-today-btn,.icon-btn{min-height:44px}
    .empty{padding:20px;text-align:center;color:var(--theme-muted)}
    @media(max-width:640px){
      .app{max-width:100%}main{padding-left:10px;padding-right:10px}.panel,.care-hub-card{border-radius:15px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:1}.summary-grid{grid-template-columns:repeat(3,1fr)}
      .care-hub-head,.inv-top,.appointments-top{align-items:flex-start}.care-hub-head{gap:10px}.team-member,.patient-roster-item{grid-template-columns:1fr}.team-member-actions,.row-actions{justify-content:flex-start}
      .actions,.form-actions{display:grid;grid-template-columns:1fr 1fr}.actions .btn:only-child,.form-actions .btn:only-child{grid-column:1/-1}.actions .btn,.form-actions .btn{width:100%}
      .appointment-city-state-zip{grid-template-columns:1fr 1fr}.appointment-city-state-zip .field:first-child{grid-column:1/-1}
      .bottom-nav{overflow-x:auto;justify-content:flex-start}.nav-btn{min-width:72px}
    }
    @media(max-width:390px){.summary-grid{grid-template-columns:repeat(2,1fr)}.actions,.form-actions{grid-template-columns:1fr}.appointment-city-state-zip{grid-template-columns:1fr}.appointment-city-state-zip .field:first-child{grid-column:auto}}
    @media(min-width:900px){.app{max-width:1080px}.view#todayView{max-width:820px;margin:0 auto}.view#scheduleView,.view#inventoryView,.view#careProfileView{max-width:1040px;margin:0 auto}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v36.3 — bulk recording + auth-startup polish */
.auth-startup{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 4px;color:var(--muted);font-weight:800}.auth-spinner{width:22px;height:22px;border:3px solid var(--brand-mist);border-top-color:var(--navy);border-radius:50%;animation:careSpin .8s linear infinite}@keyframes careSpin{to{transform:rotate(360deg)}}
.today-bulk-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.round-bulk-btn{margin-top:8px;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.34)!important;color:#fff!important;min-height:38px}.time-group.complete .round-bulk-btn{color:var(--navy)!important;border-color:rgba(6,58,122,.25)!important;background:rgba(255,255,255,.5)!important}
.bulk-dialog{width:min(680px,calc(100% - 24px));max-height:min(88vh,820px);padding:0;overflow:hidden}.bulk-form{display:flex;flex-direction:column;max-height:min(88vh,820px)}.bulk-head{padding:18px 18px 12px;border-bottom:1px solid var(--line)}.bulk-head h2{margin:0 0 4px}.bulk-head p{margin:0;color:var(--muted);font-size:.82rem}.bulk-body{overflow:auto;padding:14px 18px;-webkit-overflow-scrolling:touch}.bulk-round{border:1px solid var(--line);border-radius:15px;padding:12px;margin-bottom:10px;background:var(--surface)}.bulk-round:last-child{margin-bottom:0}.bulk-round-head{display:grid;grid-template-columns:auto 1fr minmax(130px,180px);gap:10px;align-items:center}.bulk-round-head input[type=checkbox],.bulk-item input[type=checkbox]{width:20px;height:20px;min-height:20px}.bulk-round-title strong{display:block;color:var(--navy)}.bulk-round-title small{display:block;color:var(--muted)}.bulk-time label{display:block;font-size:.7rem;font-weight:900;color:var(--muted);margin-bottom:3px}.bulk-time input{min-height:42px}.bulk-items{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.bulk-item{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:7px 2px}.bulk-item strong{display:block;font-size:.86rem}.bulk-item small{display:block;color:var(--muted);font-size:.74rem}.bulk-unavailable{opacity:.55}.bulk-note{margin-top:8px;font-size:.75rem;color:var(--muted)}.bulk-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1.25fr;gap:8px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);z-index:2}.bulk-permission-card{margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.bulk-permission-card .team-access-title{margin-bottom:6px}.bulk-permission-toggle{display:flex;align-items:flex-start;gap:7px;font-size:.75rem;margin:5px 0}.bulk-permission-toggle input{width:18px;height:18px;min-height:18px;margin-top:1px}.bulk-permission-toggle span{color:var(--muted)}.saving-lock{pointer-events:none;opacity:.72}
@media(max-width:600px){.today-bulk-actions{width:100%;justify-content:stretch}.today-bulk-actions .btn{flex:1}.bulk-dialog{width:calc(100% - 14px);max-height:94vh}.bulk-form{max-height:94vh}.bulk-body{padding:12px}.bulk-head{padding:15px 14px 10px}.bulk-round-head{grid-template-columns:auto 1fr}.bulk-time{grid-column:1/-1}.bulk-actions{padding-left:12px;padding-right:12px}.round-bulk-btn{width:100%}}


    /* v36.7 — canonical Care Library + device refill reminders */
    
    #libraryPanel{scroll-margin-top:12px}.library-panel .subpanel{background:#fff}

/* v36.7 — theme-coordinated Today care rounds */
.time-group.complete{
  border-color:color-mix(in srgb,var(--theme-secondary) 34%,var(--theme-line));
}
.time-group.complete .time-group-header{
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--theme-primary) 90%,var(--theme-accent)),
    color-mix(in srgb,var(--theme-secondary) 76%,var(--theme-primary))
  );
  color:#fff;
}
.time-group.complete .round-label,.time-group.complete .round-meta{color:#fff}
.time-group.complete .dose-card.done{
  background:color-mix(in srgb,var(--theme-soft) 35%,var(--theme-paper));
  border-color:color-mix(in srgb,var(--theme-secondary) 25%,var(--theme-line));
}
.time-group-header{align-items:stretch}
.round-meta{
  min-width:154px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:2px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:12px;
  background:rgba(255,255,255,.11);
  color:#fff;
}
.round-meta strong{margin:0;color:inherit}
.round-meta .round-bulk-btn,.round-meta .round-toggle{margin-top:7px}
.time-group.complete .round-bulk-btn,.time-group.complete .round-toggle{
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
  background:rgba(255,255,255,.13)!important;
}
@media(max-width:600px){
  .time-group-header{align-items:center}
  .round-meta{min-width:136px;padding:7px 8px}
}


/* v37.1 — Care Library visual/status polish */
.library-item-dialog{width:min(560px,calc(100% - 24px));max-height:min(90dvh,760px);padding:0;overflow:hidden}
.library-item-dialog .dialog-body{max-height:min(90dvh,760px);overflow:auto;-webkit-overflow-scrolling:touch}
.library-item-dialog .dialog-actions{position:sticky;bottom:0;background:var(--theme-paper,#fff);border-top:1px solid var(--theme-line,var(--line));padding-top:12px}
.care-library-setup-status{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.setup-chip{display:inline-flex;align-items:center;min-height:27px;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:900;border:1px solid var(--theme-line,var(--line));background:var(--theme-paper,#fff);color:var(--theme-muted,var(--muted))}.setup-chip.ready{background:color-mix(in srgb,var(--theme-soft) 58%,var(--theme-paper));border-color:color-mix(in srgb,var(--theme-secondary) 34%,var(--theme-line));color:var(--theme-primary)}.setup-chip.needs{background:#fff7e8;border-color:#e7c37c;color:#805500}.setup-chip.na{background:color-mix(in srgb,var(--theme-line) 30%,var(--theme-paper));border-color:var(--theme-line);color:var(--theme-muted)}
.library-setup-mini{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.library-setup-mini .setup-chip{font-size:.66rem;min-height:25px}
.device-simple-schedule{border:1px solid #a9cae8;background:#f4f9fd}.device-simple-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.device-simple-head h3{margin:0;color:var(--navy)}.device-simple-head p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.device-expiry-preview{border:1px solid #b9d7ec;border-radius:13px;background:#fff;padding:12px}.device-expiry-preview span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--muted)}.device-expiry-preview strong{display:block;color:var(--navy);margin-top:3px}.device-schedule-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.schedule-item-picker,.dose-entry-supply,.dose-entry-check{display:none!important}
.device-track-grid.single{grid-template-columns:1fr}.supply-schedule-note{border:1px dashed #b9d7ec;background:#f9fcff;border-radius:12px;padding:10px 12px;margin:10px 0;color:var(--muted);font-size:.78rem}.supply-schedule-note strong{color:var(--navy)}
@media(max-width:600px){.device-simple-head{flex-direction:column}.device-schedule-actions{display:grid;grid-template-columns:1fr}.device-schedule-actions .btn{width:100%}.care-library-setup-status{gap:5px}}


    /* v38.7 — mobile date/time containment + calendar toolbar alignment */
    .field,.form-grid>* ,.appointment-time-row>*{min-width:0}
    input[type="date"],input[type="time"],input[type="datetime-local"]{width:100%;max-width:100%;min-width:0;inline-size:100%;box-sizing:border-box;overflow:hidden}
    @media(max-width:600px){
      .appointment-dialog .field,.appointment-dialog .appointment-time-row,.appointment-dialog .appointment-type-all-day-row{min-width:0;max-width:100%}
      .appointment-date-row input[type="date"],.appointment-dialog input[type="date"],.appointment-dialog input[type="time"],.appointment-dialog input[type="datetime-local"]{width:100%;max-width:100%;min-width:0;inline-size:100%}
      .calendar-toolbar{grid-template-columns:38px auto minmax(0,1fr) 38px;align-items:center;column-gap:6px;row-gap:0;padding:12px 10px 9px}
      .calendar-toolbar .calendar-nav{display:contents}
      .calendar-toolbar .calendar-nav:first-child .calendar-icon-btn{grid-column:1;grid-row:1}
      .calendar-today-btn{grid-column:2;grid-row:1;padding:7px 6px;white-space:nowrap}
      .calendar-month{grid-column:3;grid-row:1;text-align:center;white-space:nowrap;font-size:1.08rem;min-width:0}
      .calendar-toolbar>.calendar-nav:last-child .calendar-icon-btn{grid-column:4;grid-row:1}
      .calendar-icon-btn{min-width:38px;width:38px;min-height:38px;padding:0;display:grid;place-items:center}
    }

    /* v38.6 — simplified Supply + wheel-based 5-minute schedule/appointment time picker */
    .simple-supply-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);max-width:760px;margin:0 auto}.simple-supply-card.out{border-color:#d9a4a4}.simple-supply-card.low,.simple-supply-card.soon{border-color:#dfc282}.simple-supply-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.simple-supply-head h3{margin:2px 0 3px;color:var(--theme-primary,var(--navy));font-size:1.15rem}.simple-supply-head p{margin:0;color:var(--muted);font-size:.8rem}.simple-supply-amount{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft,#f7fafc)}.simple-supply-amount strong{display:block;color:var(--theme-primary,var(--navy));font-size:1.65rem;line-height:1.05}.simple-supply-amount span{display:block;color:var(--muted);font-size:.82rem;margin-top:6px}.simple-supply-reminder{display:grid;grid-template-columns:minmax(120px,.7fr) 1.3fr;gap:12px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line)}.simple-supply-reminder span{color:var(--muted);font-size:.78rem;font-weight:850}.simple-supply-reminder strong{color:var(--text);font-size:.88rem}.simple-supply-reminder small{grid-column:2;color:var(--muted);font-size:.72rem;line-height:1.35}.simple-supply-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.simple-supply-updated{margin:10px 0 0;color:var(--muted);font-size:.74rem}.simple-details{margin-top:11px}.supply-na{border-style:dashed;box-shadow:none}.supply-na-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--surface-soft,#eef3f7);color:var(--muted);font-weight:900}.simple-supply-copy{color:var(--muted);margin:14px 0 2px}.supply-unit-compact[hidden]{display:none!important}#supplySummary[hidden],#allSupplyHistory[hidden],#supplyAccessNote[hidden]{display:none!important}
    @media(max-width:600px){.simple-supply-card{padding:13px}.simple-supply-head{align-items:center}.simple-supply-amount strong{font-size:1.4rem}.simple-supply-reminder{grid-template-columns:1fr;gap:4px}.simple-supply-reminder small{grid-column:1}.simple-supply-actions .btn{flex:1 1 140px}.supply-setup-row{grid-template-columns:1fr}}

    /* v38.35.0 Therapy workflow */
    .therapy-profile-list{display:grid;gap:8px;margin-top:10px}.therapy-profile-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px 11px;background:var(--theme-paper,#fff)}.therapy-profile-row.inactive{opacity:.68;background:color-mix(in srgb,var(--theme-paper,#fff) 85%,#b9c6d0 15%)}.therapy-profile-name{font-weight:900;color:var(--navy)}.therapy-profile-meta{font-size:.72rem;color:var(--muted);margin-top:2px}.therapy-status-pill{border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:900;background:#eaf7e0;color:#315c12}.therapy-status-pill.inactive{background:#eef1f3;color:#5c6871}.therapy-add-grid{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.therapy-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin-top:7px}.therapy-check-option{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:9px 10px;background:var(--theme-paper,#fff);font-size:.82rem;font-weight:850;color:var(--theme-ink,var(--ink))}.therapy-check-option input{width:19px;height:19px;min-height:19px;margin:0;accent-color:var(--blue)}.therapy-check-option.inactive{opacity:.65}.appointment-therapy-field{grid-column:1/-1;border:1px solid #d6e1e8;border-radius:14px;background:#f8fbfd;padding:12px}.appointment-therapy-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.therapy-tag{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:#eef8ff;color:var(--navy);font-size:.7rem;font-weight:900;border:1px solid #cfe3f0}
    @media(max-width:600px){.therapy-profile-row{grid-template-columns:minmax(0,1fr) auto}.therapy-profile-row .therapy-status-pill{grid-column:2}.therapy-profile-row button{grid-column:1/-1;width:100%}.therapy-check-grid{grid-template-columns:1fr}}

    /* v38.36.1 — contrast, recipient-name validation, invite-code visibility */
    .appointment-reminders-field{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--theme-paper,#fff)}
    .appointment-reminder-list{display:grid;gap:7px;margin-top:8px}.appointment-reminder-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:9px 10px;background:var(--theme-soft,#f7fafc)}
    .appointment-reminder-row strong{font-size:.82rem;color:var(--theme-ink,var(--ink))}.appointment-reminder-row small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.appointment-reminder-builder{display:grid;grid-template-columns:minmax(145px,1fr) 90px minmax(110px,.8fr) auto;gap:7px;align-items:end;margin-top:10px}.appointment-reminder-builder .field{min-width:0}.appointment-reminder-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.appointment-reminder-empty{font-size:.76rem;color:var(--muted);padding:7px 1px}.appointment-reminder-count{font-weight:900;color:var(--theme-primary,var(--navy))}
    .reports-range-panel{border:1px solid var(--theme-line,var(--line));border-radius:14px;padding:12px;margin-bottom:12px;background:var(--theme-paper,var(--paper))}.reports-range-panel h4{margin:0 0 4px;color:var(--theme-primary,var(--navy))}.reports-range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.reports-range-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
    .report-preview-dialog{width:min(1040px,calc(100% - 20px));height:min(94dvh,980px);max-width:none;padding:0;overflow:hidden;border:0;border-radius:18px;background:var(--theme-paper,#fff)}.report-preview-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.report-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--theme-paper,#fff)}.report-preview-head h2{margin:0;font-size:1rem;color:var(--theme-primary,var(--navy))}.report-preview-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.report-preview-frame{width:100%;height:100%;border:0;background:#fff}.report-preview-note{font-size:.7rem;color:var(--muted);margin-top:2px}.calendar-swipe-hint{font-size:.68rem;color:var(--muted);text-align:center;padding:0 10px 8px}
    @media(max-width:700px){.appointment-reminder-builder{grid-template-columns:1fr 82px 1fr}.appointment-reminder-builder .appointment-reminder-add{grid-column:1/-1;width:100%}.reports-range-grid{grid-template-columns:1fr}.report-preview-dialog{width:100%;height:var(--ck-visual-viewport-height,100dvh);max-height:var(--ck-visual-viewport-height,100dvh);margin:0;border-radius:0}.report-preview-head{align-items:flex-start;flex-direction:column;padding-top:calc(12px + env(safe-area-inset-top));padding-left:calc(14px + env(safe-area-inset-left));padding-right:calc(14px + env(safe-area-inset-right))}.report-preview-actions{width:100%}.report-preview-actions .btn{flex:1 1 auto}.calendar-swipe-hint{display:block}}


/* v38.37.0 — Episodes, Emergency Documents, Notifications & Mileage */
.ck-feature-list{display:grid;gap:10px}.ck-feature-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--theme-line);border-radius:13px;background:var(--theme-paper)}
.ck-feature-row>div{min-width:0}.ck-feature-row strong{display:block;color:var(--theme-ink)}.ck-feature-row small{display:block;color:var(--theme-muted);margin-top:3px}.ck-feature-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.ck-report-card{border:1px solid var(--theme-line);border-radius:14px;padding:12px;background:var(--theme-paper);margin-top:10px}.ck-report-card h4{margin:0 0 3px}.ck-report-card .helper{margin:0 0 10px}
.report-empty-state{border:1px dashed var(--theme-line);border-radius:12px;padding:14px;margin-top:10px;background:var(--theme-soft);color:var(--theme-muted);font-size:.84rem}.report-empty-state strong{display:block;color:var(--theme-text);margin-bottom:3px}.report-quick-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.report-quick-actions .btn{min-width:94px}.report-custom-range{margin-top:10px;border-top:1px solid var(--theme-line);padding-top:8px}.report-custom-range>summary{cursor:pointer;font-weight:800;color:var(--theme-primary)}
.ck-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.ck-summary{border:1px solid var(--theme-line);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--theme-paper) 94%,var(--theme-secondary))}.ck-summary span{display:block;font-size:.72rem;color:var(--theme-muted)}.ck-summary strong{font-size:1.05rem}
.ck-locked{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:850;color:var(--theme-muted)}.ck-file-input{padding:8px}.ck-inline-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.ck-notification-unread{border-color:var(--theme-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-primary) 35%,transparent)}
.ck-mileage-table{width:100%;border-collapse:collapse;font-size:.82rem}.ck-mileage-table th,.ck-mileage-table td{padding:8px;border-bottom:1px solid var(--theme-line);text-align:left;vertical-align:top}.ck-mileage-table th{color:var(--theme-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.ck-mileage-table .num{text-align:right;white-space:nowrap}
.ck-modal-note{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--theme-secondary) 10%,var(--theme-paper));border:1px solid var(--theme-line);color:var(--theme-muted);font-size:.8rem}
@media(max-width:700px){.ck-summary-grid{grid-template-columns:1fr}.ck-feature-row{flex-direction:column}.ck-feature-actions{justify-content:flex-start}.ck-inline-form{grid-template-columns:1fr}.ck-mileage-table{font-size:.76rem}.ck-mileage-table th:nth-child(4),.ck-mileage-table td:nth-child(4){display:none}}



/* v36.1 — mobile dialog consistency and reachability */
#adminDialog,
#correctionDialog,
#oneTimeDialog,
#reconcileSupplyDialog,
#supplySettingsDialog,
#refillStatusDialog,
#refillDialog,
.appointment-dialog,
.schedule-admin-dialog,
.invite-welcome-dialog{
  max-height:min(92dvh,920px);
}
#adminDialog{overflow:hidden}
#adminDialog #adminForm{
  max-height:min(92dvh,920px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:0;
}
#adminDialog .dialog-actions{
  position:sticky;
  bottom:0;
  z-index:5;
  margin:16px -20px 0;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(to bottom,rgba(255,255,255,.94),#fff 28%);
  border-top:1px solid var(--theme-line,var(--line));
  box-shadow:0 -8px 20px rgba(6,58,122,.06);
}
html[data-appearance="dark"] #adminDialog .dialog-actions{
  background:linear-gradient(to bottom,color-mix(in srgb,var(--theme-paper) 94%,transparent),var(--theme-paper) 28%);
}
#adminDialog .form-grid,
#adminDialog .form-grid > *,
#adminDialog .conditional,
#adminDialog .field,
#adminDialog .verify-card,
#adminDialog .time-choice-grid,
#adminDialog .time-choice,
#adminDialog #adminGivenAtField,
#adminDialog #adminGivenAt,
#adminDialog #adminCaregiver,
#adminDialog #adminNotes,
#adminDialog .quick-notes{
  width:100%;
  min-width:0;
  max-width:100%;
}
#adminDialog .conditional{grid-column:1/-1}
#adminDialog .time-choice{box-sizing:border-box}
#adminDialog .time-choice span{min-width:0;flex:1}
#adminDialog .quick-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#adminDialog .quick-note{width:100%;min-height:44px;border-radius:12px;text-align:left;white-space:normal;line-height:1.25}

@media(max-width:640px){
  dialog{
    width:calc(100% - 16px);
    max-width:calc(100% - 16px);
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    border-radius:20px;
  }
  .dialog-body{padding:16px}
  .dialog-body h2{font-size:1.42rem;line-height:1.15;margin-bottom:10px}
  #adminDialog #adminForm{
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding:16px 16px 0;
  }
  #adminDialog .verify-card{margin:10px 0}
  #adminDialog .form-grid{gap:10px}
  #adminDialog .conditional{padding:11px;margin:0}
  #adminDialog .time-choice-grid{gap:8px}
  #adminDialog .time-choice{padding:11px}
  #adminDialog .time-choice.selected{padding:10px}
  #adminDialog .field{gap:5px}
  #adminDialog .helper{line-height:1.35}
  #adminDialog #adminCaregiverField .helper{font-size:.72rem}
  #adminDialog .dialog-actions{
    margin:14px -16px 0;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:1fr 1.25fr;
    gap:8px;
  }
  #adminDialog .dialog-actions .btn{width:100%;min-height:48px}
  #adminDialog .quick-notes{grid-template-columns:1fr 1fr}
  #adminDialog textarea{min-height:72px}
}
@media(max-width:390px){
  #adminDialog .quick-notes{grid-template-columns:1fr}
  #adminDialog .dialog-actions{grid-template-columns:1fr 1fr}
}

.account-choice-grid{display:grid;gap:9px;margin:12px 0}.account-choice{width:100%;text-align:left;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:13px;color:var(--ink);cursor:pointer}.account-choice strong{display:block;color:var(--navy);font-size:.95rem}.account-choice span{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}.family-code-display{font-size:1.2rem;font-weight:900;letter-spacing:.08em;color:var(--navy);background:var(--soft);border-radius:12px;padding:10px 12px;display:inline-block}.join-request-card{border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:10px;background:var(--surface)}.join-request-card h4{margin:0}.join-request-card small{display:block;color:var(--muted);margin-top:3px}.join-request-controls{display:grid;grid-template-columns:160px 1fr;gap:10px;margin-top:10px}.family-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:640px){.join-request-controls,.family-meta-grid{grid-template-columns:1fr}}



/* v36.4.1 — iPhone actual-time card alignment and visible deployment version. */
#adminDialog #adminGivenTimeArea,
#adminDialog #adminGivenTimeArea .time-choice-grid,
#adminDialog #adminGivenTimeArea .time-choice,
#adminDialog #adminGivenAtField,
#adminDialog #adminGivenAt{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}
#adminDialog #adminGivenTimeArea{grid-column:1/-1;justify-self:stretch;align-self:stretch}
#adminDialog #adminGivenAt{display:block;width:100%;inline-size:100%;min-inline-size:0;max-inline-size:100%}
.app-version-badge{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid var(--theme-line,var(--line));background:var(--theme-paper,var(--paper));color:var(--muted);border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:850;line-height:1}
@media(max-width:640px){
  #adminDialog .form-grid{grid-template-columns:minmax(0,1fr)!important;width:100%;min-width:0;max-width:100%}
  #adminDialog .form-grid>*{min-width:0;max-width:100%}
  #adminDialog #adminGivenTimeArea{
    width:auto!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:11px!important;
    overflow:hidden;
  }
  #adminDialog #adminGivenTimeArea .time-choice-grid{width:100%!important;grid-template-columns:minmax(0,1fr)!important;margin:0!important}
  #adminDialog #adminGivenTimeArea .time-choice{width:auto!important;max-width:none!important;margin:0!important;overflow:hidden}
  #adminDialog #adminGivenAtField{width:auto!important;max-width:none!important;margin:10px 0 0!important;overflow:hidden}
  #adminDialog #adminGivenAt{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
}



/* v38.5 — private-beta login UI cleanup; invitation flow retained */

/* Top header stays focused on the active care recipient and today's status. */
.header-tools{
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "patient patient"
    "sync date" !important;
}
.header-tools>.patient-switch-wrap{grid-area:patient !important}
.patient-switch-wrap{min-width:0;overflow:hidden}
.patient-switcher{min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.family-access-switch{max-width:460px;margin:0 0 14px}

/* Four-tab native/web navigation: equal, centered targets at every width. */
.bottom-nav{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  justify-items:stretch;
  align-items:stretch;
  overflow:visible !important;
}
.bottom-nav .nav-btn{
  width:100%;
  min-width:0 !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin:0;
}
.bottom-nav .nav-btn .nav-icon{margin-left:auto;margin-right:auto}

/* Dark mode: map legacy palette variables to high-contrast equivalents too.
   A large portion of the mature UI still references these legacy variables. */
html[data-appearance="dark"]{
  --navy:#8CC8FF;
  --blue:#69BFFF;
  --sky:#1C3343;
  --brand-blue:#55B7FF;
  --brand-lime:#B7F34A;
  --brand-mist:#293D4C;
  --ink:#F6F9FB;
  --muted:#BAC7D1;
  --line:#465B6A;
  --paper:#17232D;
  --bg:#0E171E;
  --green:#7DDBAB;
  --green-bg:#163829;
  --amber:#FFD17A;
  --amber-bg:#3B2C15;
  --red:#FFAAAA;
  --red-bg:#3A2024;
  --purple:#C8B7FF;
  --purple-bg:#2D2940;
  --shadow:0 9px 28px rgba(0,0,0,.28);
  --theme-bg:#0E171E;
  --theme-paper:#17232D;
  --theme-ink:#F6F9FB;
  --theme-muted:#BAC7D1;
  --theme-line:#465B6A;
  --theme-heading:#8CC8FF;
}
html[data-theme="carekeeping"][data-appearance="dark"]{--theme-heading:#8CC8FF}
html[data-theme="ocean"][data-appearance="dark"]{--theme-heading:#67E8F9}
html[data-theme="lavender"][data-appearance="dark"]{--theme-heading:#C4B5FD}
html[data-theme="rose"][data-appearance="dark"]{--theme-heading:#FDA4C7}
html[data-theme="forest"][data-appearance="dark"]{--theme-heading:#86EFAC}
html[data-theme="neutral"][data-appearance="dark"]{--theme-heading:#CBD5E1}

@media(prefers-color-scheme:dark){
  html[data-appearance="system"]{
    --navy:#8CC8FF;
    --blue:#69BFFF;
    --sky:#1C3343;
    --brand-blue:#55B7FF;
    --brand-lime:#B7F34A;
    --brand-mist:#293D4C;
    --ink:#F6F9FB;
    --muted:#BAC7D1;
    --line:#465B6A;
    --paper:#17232D;
    --bg:#0E171E;
    --green:#7DDBAB;
    --green-bg:#163829;
    --amber:#FFD17A;
    --amber-bg:#3B2C15;
    --red:#FFAAAA;
    --red-bg:#3A2024;
    --purple:#C8B7FF;
    --purple-bg:#2D2940;
    --theme-bg:#0E171E;
    --theme-paper:#17232D;
    --theme-ink:#F6F9FB;
    --theme-muted:#BAC7D1;
    --theme-line:#465B6A;
    --theme-heading:#8CC8FF;
  }
  html[data-theme="ocean"][data-appearance="system"]{--theme-heading:#67E8F9}
  html[data-theme="lavender"][data-appearance="system"]{--theme-heading:#C4B5FD}
  html[data-theme="rose"][data-appearance="system"]{--theme-heading:#FDA4C7}
  html[data-theme="forest"][data-appearance="system"]{--theme-heading:#86EFAC}
  html[data-theme="neutral"][data-appearance="system"]{--theme-heading:#CBD5E1}
}

/* Explicit dark surfaces and text where older hard-coded light colors survived the theme layer. */
html[data-appearance="dark"] body,
html[data-appearance="dark"] main{background:var(--theme-bg);color:var(--theme-ink)}
html[data-appearance="dark"] .bottom-nav,
html[data-appearance="dark"] dialog,
html[data-appearance="dark"] .panel,
html[data-appearance="dark"] .dose-card,
html[data-appearance="dark"] .inventory-card,
html[data-appearance="dark"] .summary-card,
html[data-appearance="dark"] .care-hub-card,
html[data-appearance="dark"] .appointments-calendar,
html[data-appearance="dark"] .agenda-panel,
html[data-appearance="dark"] .library-item,
html[data-appearance="dark"] .history-item,
html[data-appearance="dark"] .team-member,
html[data-appearance="dark"] .permission-card,
html[data-appearance="dark"] .profile-summary,
html[data-appearance="dark"] .contact-row,
html[data-appearance="dark"] .toggle-card,
html[data-appearance="dark"] .sync-issue-row,
html[data-appearance="dark"] .cloud-login-card{
  background:var(--theme-paper) !important;
  color:var(--theme-ink);
  border-color:var(--theme-line) !important;
}
html[data-appearance="dark"] .care-hub-head,
html[data-appearance="dark"] .agenda-head,
html[data-appearance="dark"] .subpanel,
html[data-appearance="dark"] .schedule-history-box,
html[data-appearance="dark"] .archive-row,
html[data-appearance="dark"] .archive-regimen,
html[data-appearance="dark"] .time-group,
html[data-appearance="dark"] .regimen-card,
html[data-appearance="dark"] .schedule-time-group,
html[data-appearance="dark"] .supply-med-card,
html[data-appearance="dark"] .regimen-times,
html[data-appearance="dark"] .schedule-form-panel,
html[data-appearance="dark"] .library-panel,
html[data-appearance="dark"] .schedule-health-panel,
html[data-appearance="dark"] .supply-details,
html[data-appearance="dark"] .med-contact-panel,
html[data-appearance="dark"] .reconcile-difference,
html[data-appearance="dark"] .supply-setup-card,
html[data-appearance="dark"] .device-simple-schedule,
html[data-appearance="dark"] .device-track-card,
html[data-appearance="dark"] .device-expiry-preview,
html[data-appearance="dark"] .supply-schedule-note,
html[data-appearance="dark"] .conditional,
html[data-appearance="dark"] .dose-series,
html[data-appearance="dark"] .notice.info,
html[data-appearance="dark"] .supply-check-row,
html[data-appearance="dark"] .appointment-location-group,
html[data-appearance="dark"] .invite-help,
html[data-appearance="dark"] .join-code-note,
html[data-appearance="dark"] .team-member.you,
html[data-appearance="dark"] .patient-roster-item.active,
html[data-appearance="dark"] .notification-grid .toggle-card:has(input:checked){
  background:color-mix(in srgb,var(--theme-paper) 88%,var(--theme-secondary)) !important;
  color:var(--theme-ink) !important;
  border-color:var(--theme-line) !important;
}
html[data-appearance="dark"] input,
html[data-appearance="dark"] select,
html[data-appearance="dark"] textarea,
html[data-appearance="dark"] .btn.outline,
html[data-appearance="dark"] .icon-btn,
html[data-appearance="dark"] .tab-btn,
html[data-appearance="dark"] .profile-tab,
html[data-appearance="dark"] .care-library-tab,
html[data-appearance="dark"] .calendar-icon-btn,
html[data-appearance="dark"] .calendar-today-btn{
  background:#101B23 !important;
  color:var(--theme-ink) !important;
  border-color:#526878 !important;
}
html[data-appearance="dark"] input::placeholder,
html[data-appearance="dark"] textarea::placeholder{color:#93A5B2;opacity:1}
html[data-appearance="dark"] input:disabled,
html[data-appearance="dark"] select:disabled,
html[data-appearance="dark"] textarea:disabled{background:#1A2731 !important;color:#92A2AE !important}
html[data-appearance="dark"] label,
html[data-appearance="dark"] .field label,
html[data-appearance="dark"] .check-row,
html[data-appearance="dark"] .supply-track-toggle{color:var(--theme-ink) !important}
html[data-appearance="dark"] .helper,
html[data-appearance="dark"] .meta-line,
html[data-appearance="dark"] .instructions,
html[data-appearance="dark"] .dose-detail,
html[data-appearance="dark"] .section-head p,
html[data-appearance="dark"] .care-hub-head p,
html[data-appearance="dark"] .team-member p,
html[data-appearance="dark"] .patient-roster-item small,
html[data-appearance="dark"] .contact-row small,
html[data-appearance="dark"] .bulk-item small,
html[data-appearance="dark"] .bulk-round-title small{color:var(--theme-muted) !important}
html[data-appearance="dark"] .subhead,
html[data-appearance="dark"] .time,
html[data-appearance="dark"] .stock,
html[data-appearance="dark"] .calendar-month,
html[data-appearance="dark"] .care-hub-head h3,
html[data-appearance="dark"] .profile-summary strong,
html[data-appearance="dark"] .security-stat strong,
html[data-appearance="dark"] .permission-card h4,
html[data-appearance="dark"] .supply-meta-card strong,
html[data-appearance="dark"] .contact-read-card>strong,
html[data-appearance="dark"] .patient-roster-item strong,
html[data-appearance="dark"] .device-simple-head h3,
html[data-appearance="dark"] .device-expiry-preview strong,
html[data-appearance="dark"] .supply-schedule-note strong,
html[data-appearance="dark"] .account-choice strong,
html[data-appearance="dark"] .family-code-display,
html[data-appearance="dark"] .settings-label{color:var(--theme-heading) !important}
html[data-appearance="dark"] .bottom-nav{background:rgba(18,29,38,.98) !important;border-top-color:var(--theme-line) !important;box-shadow:0 -8px 24px rgba(0,0,0,.28)}
html[data-appearance="dark"] .nav-btn{color:#C3CED6 !important}
html[data-appearance="dark"] .nav-btn.active{background:#243746 !important;color:#FFFFFF !important}
html[data-appearance="dark"] .nav-btn.active .nav-icon{color:var(--theme-heading) !important}
html[data-appearance="dark"] .cloud-auth-overlay{background:linear-gradient(160deg,#0C151C,#13232E) !important}
html[data-appearance="dark"] .cloud-auth-message{color:var(--theme-muted)}
html[data-appearance="dark"] .setup-chip.na{background:#23313B !important;color:#C0CBD3 !important;border-color:var(--theme-line)}
html[data-appearance="dark"] .setup-chip.needs{background:#382C18 !important;color:#FFD17A !important;border-color:#80612A}
html[data-appearance="dark"] .setup-chip.ready{background:#1D3542 !important;color:#D9EDFF !important;border-color:#456F8C}
html[data-appearance="dark"] .library-item.selected{
  background:color-mix(in srgb,var(--theme-paper) 82%,var(--theme-secondary)) !important;
  border-color:color-mix(in srgb,var(--theme-heading) 55%,var(--theme-line)) !important;
  box-shadow:inset 4px 0 0 var(--theme-heading),0 5px 18px rgba(0,0,0,.22) !important;
}
html[data-appearance="dark"] .library-item.selected h4{color:var(--theme-heading) !important}
html[data-appearance="dark"] .care-library-selected{background:#1C2C37 !important;border-color:#405A6B !important}
html[data-appearance="dark"] .care-library-selected strong{color:var(--theme-heading) !important}
html[data-appearance="dark"] .notice.warn{background:#3B2C15 !important;color:#FFE0A3 !important;border-color:#80612A !important}
html[data-appearance="dark"] .notice.danger{background:#3A2024 !important;color:#FFC2C2 !important;border-color:#7D4046 !important}
html[data-appearance="dark"] .dose-card.done{background:#173427 !important;border-color:#35644D !important}
html[data-appearance="dark"] .prototype-note{background:#352B18 !important;border-color:#79612E !important;color:#F6D893 !important}
html[data-appearance="dark"] .danger-zone .care-hub-head,
html[data-appearance="dark"] .remove-patient-card .care-hub-head{background:#341F23 !important}
html[data-appearance="dark"] dialog::backdrop{background:rgba(0,0,0,.72)}

/* System-dark gets the same hard-coded surface fixes. */
@media(prefers-color-scheme:dark){
  html[data-appearance="system"] body,
  html[data-appearance="system"] main{background:var(--theme-bg);color:var(--theme-ink)}
  html[data-appearance="system"] .bottom-nav{background:rgba(18,29,38,.98)!important;border-top-color:var(--theme-line)!important}
  html[data-appearance="system"] .nav-btn{color:#C3CED6!important}
  html[data-appearance="system"] .nav-btn.active{background:#243746!important;color:#fff!important}
  html[data-appearance="system"] input,
  html[data-appearance="system"] select,
  html[data-appearance="system"] textarea{background:#101B23!important;color:var(--theme-ink)!important;border-color:#526878!important}
  html[data-appearance="system"] input::placeholder,
  html[data-appearance="system"] textarea::placeholder{color:#93A5B2;opacity:1}
}

/* Desktop + mobile selector sizing and no-overlap behavior. */
@media(min-width:601px){
  .header-tools{width:min(330px,44vw) !important;min-width:250px !important}
  .patient-switch-wrap{width:100%;max-width:none}
}
@media(max-width:600px){
  .header-row{display:block}
  .header-tools{
    width:100% !important;
    min-width:0 !important;
    margin-top:14px;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "family family"
      "patient patient"
      "sync date" !important;
  }
  .patient-switch-wrap{width:100%;max-width:none}
  .patient-switcher{width:100%;max-width:none}
  .bottom-nav{padding-left:8px;padding-right:8px}
  .bottom-nav .nav-btn{font-size:.66rem;min-height:58px;padding-left:4px;padding-right:4px}
}



/* v38.8 final cascade override — iOS 26 WebKit date/time controls.
   Keep native pickers, remove horizontal input padding that makes 100% width
   render wider than its container, and force mobile grid tracks to shrink. */
@media(max-width:640px){
  .form-grid,.supply-settings-grid{grid-template-columns:minmax(0,1fr)!important}
  .field,.form-grid>*,.supply-settings-grid>*,.bulk-time,.appointment-date-row,.appointment-time-row>*{min-width:0!important;max-width:100%!important}
  input[type="date"],input[type="time"],input[type="datetime-local"],
  #adminDialog #adminGivenAt{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    inline-size:100%!important;
    max-inline-size:100%!important;
    min-inline-size:0!important;
    -webkit-min-logical-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
    text-align:center;
  }
  input[type="date"]::-webkit-date-and-time-value,
  input[type="time"]::-webkit-date-and-time-value,
  input[type="datetime-local"]::-webkit-date-and-time-value{
    width:100%;
    min-width:0;
    text-align:center;
  }
  input[type="date"]::-webkit-datetime-edit,
  input[type="time"]::-webkit-datetime-edit,
  input[type="datetime-local"]::-webkit-datetime-edit{
    min-width:0;
    padding-left:0;
    padding-right:0;
  }
}



/* v38.9 — full light/dark readability pass + Care Team count-pill cleanup.
   Text targets WCAG AA contrast (4.5:1 for normal text); interactive borders/focus
   indicators target at least 3:1 where the boundary is required to identify a control. */
:root{
  --a11y-muted:#5C7186;
  --a11y-accent-text:var(--theme-primary,#063A7A);
  --a11y-control-line:#7D98AE;
  --a11y-placeholder:#65798A;
  --a11y-disabled-bg:#EEF2F5;
  --a11y-disabled-text:#526678;
  --a11y-success:#4F7D00;
  --muted:#5C7186;
  --green:#4F7D00;
  --blue:#1675B8;
  --theme-muted:#5C7186;
}
html[data-appearance="dark"]{
  --a11y-muted:#BAC7D1;
  --a11y-accent-text:var(--theme-heading,#8CC8FF);
  --a11y-control-line:#526878;
  --a11y-placeholder:#AAB7C2;
  --a11y-disabled-bg:#1A2731;
  --a11y-disabled-text:#AAB7C2;
  --a11y-success:#7DDBAB;
}
@media(prefers-color-scheme:dark){
  html[data-appearance="system"]{
    --a11y-muted:#BAC7D1;
    --a11y-accent-text:var(--theme-heading,#8CC8FF);
    --a11y-control-line:#526878;
    --a11y-placeholder:#AAB7C2;
    --a11y-disabled-bg:#1A2731;
    --a11y-disabled-text:#AAB7C2;
    --a11y-success:#7DDBAB;
  }
}

/* Care Team / access count pills: one line, optically centered, never squeezed into a tall bubble. */
#teamCountBadge,#inviteCountBadge,#familyRequestCount{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  min-height:32px!important;
  margin:0!important;
  padding:6px 11px!important;
  white-space:nowrap!important;
  text-align:center!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums;
}
.care-hub-head>div{min-width:0}
@media(max-width:640px){
  .care-hub-head:has(>#teamCountBadge),
  .care-hub-head:has(>#inviteCountBadge),
  .care-hub-head:has(>#familyRequestCount){align-items:flex-start!important}
}

/* Restore the intentional high-contrast active-recipient card. A later theme rule had
   flattened it to white while leaving its subtitle in near-white. */
.active-patient-card{
  background:linear-gradient(135deg,var(--theme-primary,#063A7A),color-mix(in srgb,var(--theme-primary,#063A7A) 78%,var(--theme-secondary,#2EA8FF)))!important;
  color:#FFFFFF!important;
  border-color:transparent!important;
}
.active-patient-card .kicker{color:#EAF4FF!important;opacity:1!important}
.active-patient-card h3{color:#FFFFFF!important}
.active-patient-card p{color:#EAF4FF!important;opacity:1!important}
.active-patient-card .btn.outline{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.62)!important;color:#FFFFFF!important}

/* Readable secondary and interactive text. The bright brand blue remains available
   for decorative accents, but normal-size text uses the theme's contrast-safe color. */
.helper,.meta-line,.instructions,.dose-detail,.count,.section-head p,.care-hub-head p,
.team-member p,.team-email,.team-access-title,.patient-roster-item small,.contact-row small,
.profile-summary span,.security-stat span,.supply-summary-card span,.supply-meta-card span,
.supply-last-updated,.simple-supply-head p,.simple-supply-amount span,.simple-supply-reminder span,
.simple-supply-updated,.mini-note,.bulk-item small,.bulk-round-title small,.bulk-note,.empty{
  color:var(--a11y-muted)!important;
}
.daypart,.history-day,.calendar-icon-btn,.calendar-today-btn,.agenda-head .date-stack span,
.appointment-map-link,.appointment-address-link,.contact-row a,.contact-phone,.range-tag{
  color:var(--a11y-accent-text)!important;
}
.status-line:not(.warn),.ok-tag,.permission-card .yes,.supply-summary-card.ok strong,
.hist-status:not(.missed):not(.safety):not(.held):not(.late):not(.early):not(.skipped):not(.not_needed){
  color:var(--a11y-success)!important;
}

/* Small calendar labels and adjacent-month dates are still secondary, but no longer faint. */
.calendar-weekdays span,.calendar-day.other-month{color:var(--a11y-muted)!important}
.calendar-day.selected .day-number{background:var(--theme-primary,#063A7A)!important;color:#FFFFFF!important}
.calendar-day.selected .event-dot{background:#FFFFFF!important}

/* Form controls: clear boundaries, readable placeholders/disabled values, and a
   contrast-safe focus indicator in every color theme. */
input,select,textarea{border-color:var(--a11y-control-line)!important}
input::placeholder,textarea::placeholder{color:var(--a11y-placeholder)!important;opacity:1!important}
input:disabled,select:disabled,textarea:disabled{
  background:var(--a11y-disabled-bg)!important;
  color:var(--a11y-disabled-text)!important;
  -webkit-text-fill-color:var(--a11y-disabled-text)!important;
  opacity:1!important;
  border-color:var(--a11y-control-line)!important;
}
.btn.outline,.icon-btn,.tab-btn,.profile-tab,.care-library-tab,.calendar-icon-btn,.calendar-today-btn{
  border-color:var(--a11y-control-line)!important;
}
.btn:focus-visible,.nav-btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
.tab-btn:focus-visible,.profile-tab:focus-visible,.care-library-tab:focus-visible,.calendar-icon-btn:focus-visible,.calendar-today-btn:focus-visible{
  outline:3px solid var(--a11y-accent-text)!important;
  outline-offset:2px!important;
}

/* Explicit dark appearance: normalize legacy light surfaces that predate theming. */
html[data-appearance="dark"] .patient-roster-item,
html[data-appearance="dark"] .cloud-account-stat,
html[data-appearance="dark"] .patient-access-option,
html[data-appearance="dark"] .contact-read-card,
html[data-appearance="dark"] .supply-summary-card,
html[data-appearance="dark"] .supply-meta-card,
html[data-appearance="dark"] .schedule-history-item,
html[data-appearance="dark"] .queue-card,
html[data-appearance="dark"] .appointment-type-chip,
html[data-appearance="dark"] .simple-supply-card,
html[data-appearance="dark"] .last-recorded-panel{
  background:var(--theme-paper)!important;
  color:var(--theme-ink)!important;
  border-color:var(--theme-line)!important;
}
html[data-appearance="dark"] .contact-row a,
html[data-appearance="dark"] .contact-phone,
html[data-appearance="dark"] .appointment-address-link,
html[data-appearance="dark"] .appointment-map-link{color:var(--a11y-accent-text)!important}
html[data-appearance="dark"] .badge.blue{background:#1D3542!important;color:var(--theme-heading)!important;border-color:#526878!important}
html[data-appearance="dark"] .badge.green{background:#163829!important;color:#A8F0C9!important;border-color:#35644D!important}
html[data-appearance="dark"] .badge.purple{background:#2D2940!important;color:#D9CEFF!important;border-color:#5B5479!important}
html[data-appearance="dark"] .badge.red{background:#3A2024!important;color:#FFC2C2!important;border-color:#7D4046!important}
html[data-appearance="dark"] .btn.given,
html[data-appearance="dark"] .next-round-pill,
html[data-appearance="dark"] .last-recorded-icon,
html[data-appearance="dark"] .role-pill.owner{color:#063A7A!important}
html[data-appearance="dark"] .role-pill.viewer{background:#24323C!important;color:#DCE7EE!important;border-color:#526878!important}
html[data-appearance="dark"] .role-pill.on-duty,
html[data-appearance="dark"] .handling-banner.you,
html[data-appearance="dark"] .supply-status-chip:not(.low):not(.out):not(.soon),
html[data-appearance="dark"] .invite-status.sent,
html[data-appearance="dark"] .invite-status.accepted,
html[data-appearance="dark"] .invite-code-result{background:#163829!important;color:#A8F0C9!important;border-color:#35644D!important}
html[data-appearance="dark"] .invite-status.manual,
html[data-appearance="dark"] .invite-status.code_ready,
html[data-appearance="dark"] .supply-status-chip.soon{background:#3B2C15!important;color:#FFE0A3!important;border-color:#80612A!important}
html[data-appearance="dark"] .invite-status.needs_code,
html[data-appearance="dark"] .password-mismatch-warning{background:#3A2024!important;color:#FFC2C2!important;border-color:#7D4046!important}
html[data-appearance="dark"] .invite-welcome-summary,
html[data-appearance="dark"] .today-item-type,
html[data-appearance="dark"] .schedule-time-head{background:#24323C!important;color:var(--theme-ink)!important;border-color:var(--theme-line)!important}
html[data-appearance="dark"] .cloud-backup-migration-note{background:#2D2940!important;color:#D9CEFF!important;border-color:#5B5479!important}

/* System appearance now gets the same surface corrections when the OS is dark. */
@media(prefers-color-scheme:dark){
  html[data-appearance="system"] body,
  html[data-appearance="system"] main{background:var(--theme-bg)!important;color:var(--theme-ink)!important}
  html[data-appearance="system"] .panel,
  html[data-appearance="system"] .dose-card,
  html[data-appearance="system"] .inventory-card,
  html[data-appearance="system"] .summary-card,
  html[data-appearance="system"] .care-hub-card,
  html[data-appearance="system"] .appointments-calendar,
  html[data-appearance="system"] .agenda-panel,
  html[data-appearance="system"] .library-item,
  html[data-appearance="system"] .history-item,
  html[data-appearance="system"] .team-member,
  html[data-appearance="system"] .permission-card,
  html[data-appearance="system"] .profile-summary,
  html[data-appearance="system"] .contact-row,
  html[data-appearance="system"] .toggle-card,
  html[data-appearance="system"] .sync-issue-row,
  html[data-appearance="system"] .cloud-login-card,
  html[data-appearance="system"] .patient-roster-item,
  html[data-appearance="system"] .cloud-account-stat,
  html[data-appearance="system"] .patient-access-option,
  html[data-appearance="system"] .contact-read-card,
  html[data-appearance="system"] .supply-summary-card,
  html[data-appearance="system"] .supply-meta-card,
  html[data-appearance="system"] .schedule-history-item,
  html[data-appearance="system"] .queue-card,
  html[data-appearance="system"] .appointment-type-chip,
  html[data-appearance="system"] .simple-supply-card,
  html[data-appearance="system"] .last-recorded-panel{
    background:var(--theme-paper)!important;
    color:var(--theme-ink)!important;
    border-color:var(--theme-line)!important;
  }
  html[data-appearance="system"] .care-hub-head,
  html[data-appearance="system"] .agenda-head,
  html[data-appearance="system"] .subpanel,
  html[data-appearance="system"] .schedule-history-box,
  html[data-appearance="system"] .archive-row,
  html[data-appearance="system"] .archive-regimen,
  html[data-appearance="system"] .regimen-times,
  html[data-appearance="system"] .schedule-form-panel,
  html[data-appearance="system"] .library-panel,
  html[data-appearance="system"] .schedule-health-panel,
  html[data-appearance="system"] .supply-details,
  html[data-appearance="system"] .med-contact-panel,
  html[data-appearance="system"] .reconcile-difference,
  html[data-appearance="system"] .supply-setup-card,
  html[data-appearance="system"] .device-simple-schedule,
  html[data-appearance="system"] .device-track-card,
  html[data-appearance="system"] .device-expiry-preview,
  html[data-appearance="system"] .supply-schedule-note,
  html[data-appearance="system"] .conditional,
  html[data-appearance="system"] .dose-series,
  html[data-appearance="system"] .notice.info,
  html[data-appearance="system"] .supply-check-row,
  html[data-appearance="system"] .appointment-location-group,
  html[data-appearance="system"] .invite-help,
  html[data-appearance="system"] .join-code-note,
  html[data-appearance="system"] .team-member.you,
  html[data-appearance="system"] .patient-roster-item.active,
  html[data-appearance="system"] .notification-grid .toggle-card:has(input:checked){
    background:color-mix(in srgb,var(--theme-paper) 88%,var(--theme-secondary))!important;
    color:var(--theme-ink)!important;
    border-color:var(--theme-line)!important;
  }
  html[data-appearance="system"] label,
  html[data-appearance="system"] .field label,
  html[data-appearance="system"] .check-row,
  html[data-appearance="system"] .supply-track-toggle{color:var(--theme-ink)!important}
  html[data-appearance="system"] .subhead,
  html[data-appearance="system"] .time,
  html[data-appearance="system"] .stock,
  html[data-appearance="system"] .calendar-month,
  html[data-appearance="system"] .care-hub-head h3,
  html[data-appearance="system"] .profile-summary strong,
  html[data-appearance="system"] .security-stat strong,
  html[data-appearance="system"] .permission-card h4,
  html[data-appearance="system"] .supply-meta-card strong,
  html[data-appearance="system"] .contact-read-card>strong,
  html[data-appearance="system"] .patient-roster-item strong,
  html[data-appearance="system"] .device-simple-head h3,
  html[data-appearance="system"] .device-expiry-preview strong,
  html[data-appearance="system"] .supply-schedule-note strong,
  html[data-appearance="system"] .account-choice strong,
  html[data-appearance="system"] .family-code-display,
  html[data-appearance="system"] .settings-label{color:var(--theme-heading)!important}
  html[data-appearance="system"] .nav-btn{color:#C3CED6!important}
  html[data-appearance="system"] .nav-btn.active{background:#243746!important;color:#FFFFFF!important}
  html[data-appearance="system"] .nav-btn.active .nav-icon{color:var(--theme-heading)!important}
  html[data-appearance="system"] .cloud-auth-overlay{background:linear-gradient(160deg,#0C151C,#13232E)!important}
  html[data-appearance="system"] .notice.warn{background:#3B2C15!important;color:#FFE0A3!important;border-color:#80612A!important}
  html[data-appearance="system"] .notice.danger{background:#3A2024!important;color:#FFC2C2!important;border-color:#7D4046!important}
  html[data-appearance="system"] .dose-card.done{background:#173427!important;border-color:#35644D!important}
  html[data-appearance="system"] .danger-zone .care-hub-head,
  html[data-appearance="system"] .remove-patient-card .care-hub-head{background:#341F23!important}
  html[data-appearance="system"] .badge.blue{background:#1D3542!important;color:var(--theme-heading)!important;border-color:#526878!important}
  html[data-appearance="system"] .badge.green{background:#163829!important;color:#A8F0C9!important;border-color:#35644D!important}
  html[data-appearance="system"] .badge.purple{background:#2D2940!important;color:#D9CEFF!important;border-color:#5B5479!important}
  html[data-appearance="system"] .badge.red{background:#3A2024!important;color:#FFC2C2!important;border-color:#7D4046!important}
  html[data-appearance="system"] .btn.given,
  html[data-appearance="system"] .next-round-pill,
  html[data-appearance="system"] .last-recorded-icon,
  html[data-appearance="system"] .role-pill.owner{color:#063A7A!important}
  html[data-appearance="system"] .role-pill.viewer{background:#24323C!important;color:#DCE7EE!important;border-color:#526878!important}
  html[data-appearance="system"] .role-pill.on-duty,
  html[data-appearance="system"] .handling-banner.you,
  html[data-appearance="system"] .supply-status-chip:not(.low):not(.out):not(.soon),
  html[data-appearance="system"] .invite-status.sent,
  html[data-appearance="system"] .invite-status.accepted,
  html[data-appearance="system"] .invite-code-result{background:#163829!important;color:#A8F0C9!important;border-color:#35644D!important}
  html[data-appearance="system"] .invite-status.manual,
  html[data-appearance="system"] .invite-status.code_ready,
  html[data-appearance="system"] .supply-status-chip.soon{background:#3B2C15!important;color:#FFE0A3!important;border-color:#80612A!important}
  html[data-appearance="system"] .invite-status.needs_code,
  html[data-appearance="system"] .password-mismatch-warning{background:#3A2024!important;color:#FFC2C2!important;border-color:#7D4046!important}
  html[data-appearance="system"] .invite-welcome-summary,
  html[data-appearance="system"] .today-item-type,
  html[data-appearance="system"] .schedule-time-head{background:#24323C!important;color:var(--theme-ink)!important;border-color:var(--theme-line)!important}
  html[data-appearance="system"] .cloud-backup-migration-note{background:#2D2940!important;color:#D9CEFF!important;border-color:#5B5479!important}
}

/* Carekeeping v38.10 — final component polish
   Normalize pills/badges and card-header actions so labels are optically centered,
   do not wrap inside capsule controls, and remain stable across mobile/desktop. */
:where(.badge,.role-pill,.patient-access-chip,.invite-status,.setup-chip,.selected-item-badge,
       .supply-status-chip,.supply-na-badge,.sync-count-badge,.app-version-badge,
       .next-round-pill,.cloud-status-pill,.date-pill,.notification-mode-pill){
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  text-align:center;
  vertical-align:middle;
  line-height:1.1;
}
:where(.badge,.role-pill,.patient-access-chip,.invite-status,.setup-chip,.selected-item-badge,
       .supply-status-chip,.supply-na-badge,.sync-count-badge,.app-version-badge,
       .next-round-pill,.cloud-status-pill,.date-pill,.notification-mode-pill){white-space:nowrap}

/* Generic status badges stay compact but no longer sit visually high or left-heavy. */
.badge{justify-content:center;text-align:center;line-height:1.1}
.role-pill{justify-content:center;text-align:center;line-height:1.1}
.patient-access-chip,.invite-status,.setup-chip,.selected-item-badge,.supply-status-chip,.supply-na-badge{
  justify-content:center;text-align:center;line-height:1.1
}

/* Header actions are their own layout role. Remove inline-badge margins and center
   them against the title block instead of inheriting status-label spacing. */
.care-hub-head{min-width:0}
.care-hub-head>div:first-child{min-width:0;flex:1 1 auto}
.care-hub-head>div:first-child h3,.care-hub-head>div:first-child p{max-width:100%;overflow-wrap:break-word}
.care-hub-head>:is(.badge,.role-pill,.sync-count-badge,.app-version-badge,.btn){
  flex:0 0 auto;
  align-self:center;
  margin:0!important;
}
.care-hub-head>.badge,.care-hub-head>.role-pill{
  min-height:32px;
  padding:0 11px;
  line-height:1!important;
}
#careRecipientAccessBadge{
  min-width:86px!important;
  min-height:32px!important;
  height:32px;
  padding:0 12px!important;
  margin:0!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Count/status capsules all use the same vertical geometry. */
#teamCountBadge,#inviteCountBadge,#familyRequestCount,.sync-count-badge{
  height:32px!important;
  min-height:32px!important;
  line-height:1!important;
  align-self:center!important;
}

/* Notification status labels were emitted as pills but had no component styling. */
.notification-mode-pill{
  min-height:24px;
  margin-left:6px;
  padding:4px 8px;
  border:1px solid var(--a11y-control-line,var(--theme-line,var(--line)));
  border-radius:999px;
  background:var(--brand-mist,var(--theme-soft,#EAF4FA));
  color:var(--theme-primary,var(--navy));
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.01em;
}
.notification-mode-pill.native{background:#F0F9DA;color:var(--navy);border-color:#C8E88A}
.notification-mode-pill.browser{background:var(--sky);color:var(--navy);border-color:#B9DDF3}

/* Keep action/chip rows deliberate instead of relying on baseline alignment. */
.row-actions,.team-member-actions,.invite-actions,.active-patient-actions,.simple-supply-actions,
.supply-primary-actions,.form-actions,.regimen-actions,.care-library-setup-status,.library-setup-mini,
.team-access-list,.regimen-status{align-items:center}

/* Card internals should never force a card wider than the viewport. */
.care-hub-card,.care-hub-body,.care-hub-head,.team-member,.patient-roster-item,.permission-card,
.profile-summary,.contact-row,.toggle-card,.library-item,.simple-supply-card,.supply-meta-card,
.schedule-history-item,.appointment-event{min-width:0}
.team-member>div,.patient-roster-item>div,.appointment-main{min-width:0}

/* Dark variants for the newly standardized notification-mode pills. */
html[data-appearance="dark"] .notification-mode-pill.browser{
  background:#1D3542!important;color:var(--theme-heading)!important;border-color:#526878!important
}
html[data-appearance="dark"] .notification-mode-pill.native{
  background:#163829!important;color:#A8F0C9!important;border-color:#35644D!important
}
@media(prefers-color-scheme:dark){
  html[data-appearance="system"] .notification-mode-pill.browser{
    background:#1D3542!important;color:var(--theme-heading)!important;border-color:#526878!important
  }
  html[data-appearance="system"] .notification-mode-pill.native{
    background:#163829!important;color:#A8F0C9!important;border-color:#35644D!important
  }
}

/* Mobile polish: keep titles readable while badges/buttons remain compact and aligned. */
@media(max-width:600px){
  .care-hub-head{gap:9px;padding:14px 15px}
  .care-hub-head>:is(.badge,.role-pill,.sync-count-badge){align-self:flex-start!important;margin-top:1px!important}
  #careRecipientAccessBadge{align-self:flex-start!important;margin-top:1px!important}
  .care-hub-head>.btn.small{
    max-width:46%;
    min-height:36px;
    padding:7px 10px;
    line-height:1.15;
    text-align:center;
    white-space:normal;
  }
  .patient-roster-item .row-actions,.team-member-actions{align-items:center}
  .patient-access-chip,.invite-status,.setup-chip,.role-pill{max-width:100%}
}





html[data-appearance="dark"] .undo-entry-btn{background:#3A2024!important;color:#FFC2C2!important;border-color:#7D4046!important}
@media (prefers-color-scheme:dark){html[data-appearance="system"] .undo-entry-btn{background:#3A2024!important;color:#FFC2C2!important;border-color:#7D4046!important}}

/* Carekeeping v38.34.1 — recipient summary/edit UX + standardized save/cancel actions.
   Desktop/tablet retain the richer recipient header. On phones the global
   header is only brand + active recipient + sync/date; page titles live in
   each view. Today's progress remains in the header only on Today. */
.mobile-header-brand{display:none}
.header-status-row{display:contents}

@media(max-width:600px){
  .app-header{
    padding:calc(10px + env(safe-area-inset-top)) 14px 12px;
    border-radius:0 0 22px 22px;
  }
  .app-header .header-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "brand status"
      "patient patient";
    gap:8px 10px;
    align-items:center!important;
  }
  .app-header .app-brand-title{
    grid-area:brand;
    min-width:0;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .app-header .app-brand-mark{
    width:27px!important;
    height:27px!important;
    flex:0 0 27px;
  }
  .app-header .desktop-header-copy{display:none!important}
  .app-header .mobile-header-brand{
    display:block;
    min-width:0;
    color:#fff;
    font-size:1.05rem;
    font-weight:950;
    line-height:1;
    letter-spacing:-.015em;
    white-space:nowrap;
  }
  .app-header .header-tools{
    display:contents!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
  }
  .app-header .header-status-row{
    grid-area:status;
    justify-self:end;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    min-width:0;
  }
  .app-header .cloud-status-pill{
    min-height:30px;
    padding:5px 9px;
    font-size:.67rem;
  }
  .app-header .date-pill{
    min-height:30px;
    padding:5px 9px;
    font-size:0;
  }
  .app-header .date-pill::after{
    content:attr(data-mobile-date);
    font-size:.69rem;
  }
  .app-header .patient-switch-wrap{
    grid-area:patient!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .app-header .patient-switch-wrap>span{display:none!important}
  .app-header .patient-switcher{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:37px!important;
    min-height:37px!important;
    padding:4px 34px 4px 10px!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    font-size:.84rem!important;
    font-weight:900!important;
    line-height:1.1!important;
    box-shadow:none!important;
  }
  .app-header .patient-switcher:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}
  .app-header .progress-wrap{
    margin-top:9px;
  }
  .app-header .progress-label{
    margin-bottom:5px;
    font-size:.72rem;
    line-height:1.15;
  }
  .app-header .progress{height:7px}
  body:not([data-active-view="todayView"]) .app-header .progress-wrap{display:none!important}
  body:not([data-active-view="todayView"]) .app-header{padding-bottom:10px}

  /* v38.34.1 shared Carekeeping UX foundation */
  .today-tools-details{padding:0;overflow:hidden;margin:0 0 14px}
  .today-tools-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:var(--theme-primary);font-weight:900}
  .today-tools-details>summary::-webkit-details-marker{display:none}
  .today-tools-summary-copy{display:flex;flex-direction:column;min-width:0}
  .today-tools-summary-copy small{margin-top:2px;color:var(--theme-muted);font-size:.72rem;font-weight:700;line-height:1.25}
  .today-tools-chevron{flex:0 0 auto;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--theme-soft);color:var(--theme-primary);font-size:1.05rem;line-height:1;transition:transform .16s ease}
  .today-tools-details[open] .today-tools-chevron{transform:rotate(180deg)}
  .today-tools-body{border-top:1px solid var(--theme-line);padding:12px;display:grid;gap:10px}
  .today-tools-body .last-recorded-panel,.today-tools-body .notice,.today-tools-body .summary-grid{margin:0}
  .today-tools-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:2px}
  .today-tools-actions p{margin:0;color:var(--theme-muted);font-size:.77rem;line-height:1.35;flex:1 1 220px}
  .backfill-rounds{display:grid;gap:10px;margin-top:10px}
  .backfill-round{border:1px solid var(--theme-line);border-radius:14px;background:var(--theme-paper);overflow:hidden}
  .backfill-round-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:color-mix(in srgb,var(--theme-soft) 58%,var(--theme-paper))}
  .backfill-round-head strong{color:var(--theme-primary)}
  .backfill-round-head small{display:block;color:var(--theme-muted);margin-top:2px}
  .backfill-items{display:grid;gap:0}
  .backfill-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:11px 12px;border-top:1px solid var(--theme-line);cursor:pointer}
  .backfill-item input{margin-top:3px;width:22px;height:22px}
  .backfill-item strong{display:block;color:var(--theme-ink)}
  .backfill-item small{display:block;color:var(--theme-muted);margin-top:2px;line-height:1.3}
  .backfill-empty{border:1px dashed var(--theme-line);border-radius:13px;padding:14px;color:var(--theme-muted);text-align:center;background:color-mix(in srgb,var(--theme-soft) 35%,var(--theme-paper))}
  .backfill-audit-note{margin-top:10px;padding:10px 11px;border-radius:12px;background:var(--theme-soft);color:var(--theme-muted);font-size:.76rem;line-height:1.4}
  @media(max-width:600px){.today-tools-actions .btn{width:100%}.backfill-round-head{align-items:flex-start}.backfill-round-head .field{min-width:130px}}

  /* The view owns its page title; keep the first heading close to the compact app bar. */
  main{padding-top:12px}
  .view>.section-head:first-child,
  .view>.appointments-top:first-child{margin-top:8px}
}

@media(max-width:390px){
  .app-header .header-row{gap:7px 8px}
  .app-header .mobile-header-brand{font-size:1rem}
  .app-header .app-brand-mark{width:25px!important;height:25px!important;flex-basis:25px}
  .app-header .header-status-row{gap:5px}
  .app-header .date-pill{padding-left:8px;padding-right:8px}
  .app-header .date-pill::after{font-size:.66rem}
  .app-header .cloud-status-pill{font-size:.64rem;padding-left:8px;padding-right:8px}
}



/* v38.34.1 — recipient summary/edit UX + compact Today tools + shared low-supply state */
.ux-setup-guide,.ux-welcome-guide,.ux-next-step{border:1px solid color-mix(in srgb,var(--theme-secondary,#1675B8) 35%,var(--theme-line,#d9e1e7));background:color-mix(in srgb,var(--theme-soft,#EEF8FF) 72%,var(--theme-paper,#fff));border-radius:18px;padding:15px;margin:14px 0;box-shadow:0 5px 16px rgba(20,57,91,.05)}
.ux-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ux-guide-head h3{margin:2px 0 4px;color:var(--theme-primary,var(--navy));font-size:1.03rem}.ux-guide-head p{margin:0;color:var(--theme-muted,var(--muted));font-size:.82rem}.ux-kicker{font-size:.65rem;letter-spacing:.11em;font-weight:950;color:var(--theme-secondary,var(--blue))}.ux-guide-dismiss{border:0;background:transparent;color:var(--theme-muted,var(--muted));font-size:1.5rem;line-height:1;padding:0 4px;cursor:pointer}.ux-guide-steps{display:grid;gap:8px;margin-top:12px}.ux-guide-step{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--theme-line,var(--line));background:var(--theme-paper,var(--paper));border-radius:13px;padding:10px 11px;text-align:left;color:var(--theme-ink,var(--ink));width:100%}.ux-guide-step .ux-step-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:950;background:var(--theme-soft,var(--sky));color:var(--theme-primary,var(--navy))}.ux-guide-step.complete .ux-step-icon{background:#e7f6ee;color:#12663e}.ux-guide-step strong{display:block;font-size:.84rem}.ux-guide-step small{display:block;margin-top:2px;color:var(--theme-muted,var(--muted));font-size:.73rem}.ux-guide-step .ux-step-arrow{font-size:1.2rem;color:var(--theme-muted,var(--muted))}.ux-guide-step.complete .ux-step-arrow{visibility:hidden}
.ux-next-step{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.ux-next-step strong{display:block;color:var(--theme-primary,var(--navy));font-size:.9rem}.ux-next-step p{margin:3px 0 0;color:var(--theme-muted,var(--muted));font-size:.78rem}.ux-next-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.one-time-action{padding:10px 12px!important;margin-top:10px!important;box-shadow:none!important}.one-time-action h3{font-size:.86rem!important}.one-time-action p{font-size:.74rem!important}.one-time-action .btn{min-height:38px!important;font-size:.76rem!important;padding:8px 11px!important}
.profile-mobile-menu,.profile-mobile-back{display:none}.profile-mobile-menu{gap:9px;margin:0 0 14px}.profile-mobile-menu>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--theme-line,var(--line));border-radius:15px;background:var(--theme-paper,var(--paper));padding:13px 14px;color:var(--theme-ink,var(--ink));box-shadow:0 3px 10px rgba(20,57,91,.035)}.profile-mobile-menu>button strong{display:block;color:var(--theme-primary,var(--navy));font-size:.91rem}.profile-mobile-menu>button small{display:block;margin-top:3px;color:var(--theme-muted,var(--muted));font-size:.72rem;line-height:1.25}.profile-mobile-menu>button b{font-size:1.35rem;color:var(--theme-secondary,var(--blue));font-weight:700}.profile-mobile-back{align-items:center;gap:10px;margin:0 0 10px}.profile-mobile-back>strong{color:var(--theme-primary,var(--navy));font-size:.88rem}

/* v38.34.1 targeted dark-mode readability pass for Care Profile home */
html[data-appearance="dark"] .section-head h2,
html[data-appearance="dark"] .appointments-top h2,
html[data-appearance="dark"] .profile-mobile-back>strong{
  color:var(--theme-heading,var(--theme-ink)) !important;
}
html[data-appearance="dark"] .profile-mobile-menu>button{
  background:color-mix(in srgb,var(--theme-paper) 92%,#0B1620) !important;
  border-color:color-mix(in srgb,var(--theme-heading) 24%,var(--theme-line)) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
}
html[data-appearance="dark"] .profile-mobile-menu>button:hover,
html[data-appearance="dark"] .profile-mobile-menu>button:focus-visible{
  border-color:color-mix(in srgb,var(--theme-heading) 42%,var(--theme-line)) !important;
  background:color-mix(in srgb,var(--theme-paper) 86%,#10202D) !important;
}
html[data-appearance="dark"] .profile-mobile-menu>button strong{
  color:var(--theme-heading,var(--theme-ink)) !important;
}
html[data-appearance="dark"] .profile-mobile-menu>button small{
  color:color-mix(in srgb,var(--theme-ink) 78%,var(--theme-muted)) !important;
}
html[data-appearance="dark"] .profile-menu-chevron{
  background:color-mix(in srgb,var(--theme-heading) 16%,var(--theme-paper)) !important;
  border-color:color-mix(in srgb,var(--theme-heading) 30%,var(--theme-line)) !important;
}
html[data-appearance="dark"] .profile-menu-chevron::before,
html[data-appearance="dark"] .profile-menu-chevron::after{
  background:var(--theme-heading) !important;
}
html[data-appearance="dark"] .app-version-badge{
  color:color-mix(in srgb,var(--theme-ink) 88%,var(--theme-muted)) !important;
  border-color:color-mix(in srgb,var(--theme-heading) 28%,var(--theme-line)) !important;
  background:color-mix(in srgb,var(--theme-paper) 90%,#0B1620) !important;
}
html[data-appearance="dark"] .active-patient-card{
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}

.ux-details{border:1px solid var(--theme-line,var(--line));border-radius:14px;background:var(--theme-paper,var(--paper));overflow:hidden}.ux-details>summary{cursor:pointer;padding:11px 13px;font-weight:900;color:var(--theme-primary,var(--navy));list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.ux-details>summary::-webkit-details-marker{display:none}.ux-details>summary::after{content:'+';font-size:1.1rem;color:var(--theme-secondary,var(--blue))}.ux-details[open]>summary::after{content:'−'}.ux-details-body{padding:0 13px 13px}.ux-details-note{display:block;color:var(--theme-muted,var(--muted));font-size:.72rem;font-weight:600;margin-top:2px}
.ux-advanced-schedule{grid-column:1/-1;margin-top:2px}.ux-advanced-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ux-advanced-schedule .schedule-type-card{height:100%}.ux-advanced-schedule .field.full{margin-top:8px}
.schedule-health-panel.healthy-compact{padding:10px 12px}.schedule-health-panel.healthy-compact .schedule-toolbar{align-items:center}.schedule-health-panel.healthy-compact .schedule-toolbar h3{font-size:.86rem;margin:0}.schedule-health-panel.healthy-compact .schedule-toolbar p{display:none}.schedule-health-panel.healthy-compact #scheduleHealthList{display:none}.schedule-health-panel.healthy-compact #scheduleHealthBadge{font-size:.7rem}
.team-member .ux-team-manage{margin-top:10px}.team-member .ux-team-manage .team-member-actions{margin:0 0 10px}.team-member .ux-team-manage .team-access-editor,.team-member .ux-team-manage .bulk-permission-card{margin-top:9px}.team-member>div:first-child>p{margin-bottom:7px}
#currentCaregiver:disabled{-webkit-appearance:none;appearance:none;background-image:none!important;padding-right:12px;color:var(--theme-ink,var(--ink));opacity:1}
.ux-notification-preferences{border-bottom:1px solid var(--theme-line,var(--line));padding-bottom:14px;margin-bottom:14px}.ux-notification-preferences h4{margin:0 0 4px;color:var(--theme-primary,var(--navy));font-size:.92rem}.ux-notification-preferences>p{margin:0 0 10px;color:var(--theme-muted,var(--muted));font-size:.77rem}
.ux-report-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.ux-report-action{display:flex;flex-direction:column;align-items:stretch;gap:4px;border:1px solid var(--theme-line,var(--line));border-radius:14px;padding:10px;background:var(--theme-paper,var(--paper))}.ux-report-action .btn{width:100%;margin:0!important}.ux-report-action small{display:block;color:var(--theme-muted,var(--muted));font-size:.7rem;line-height:1.3;padding:0 2px 2px}.ux-report-action input{display:none}
#syncDiagnosticsCard .care-hub-body>.ux-details{border:0;background:transparent}.appointments-access.ux-access-compact{padding:8px 11px!important;margin:8px 0 12px!important;font-size:.75rem!important}.appointments-access.ux-access-compact>span{display:none}.appointments-access.ux-access-compact strong{font-size:.76rem!important}.appointments-access.ux-access-compact div>span{font-size:.73rem!important}
.dialog-body>.dialog-actions{position:sticky;bottom:0;z-index:3;background:var(--theme-paper,var(--paper));border-top:1px solid var(--theme-line,var(--line));padding-top:10px;padding-bottom:max(2px,env(safe-area-inset-bottom));margin-top:14px}
.toast.ux-saved::before{content:'✓ ';font-weight:950}
@media(max-width:720px){
  .profile-subnav{display:none!important}.profile-mobile-menu{display:grid}.profile-mobile-back{display:flex}.careProfile-mobile-detail .profile-mobile-menu{display:none}.careProfile-mobile-home .profile-mobile-back{display:none}.careProfile-mobile-home [data-profile-section="true"]{display:none!important}.careProfile-mobile-home .active-patient-card{display:block!important;margin-bottom:12px}.careProfile-mobile-detail .active-patient-card{display:none!important}
  .ux-guide-step{grid-template-columns:28px minmax(0,1fr) auto;padding:9px}.ux-next-step{align-items:stretch;flex-direction:column}.ux-next-actions{justify-content:flex-start}.ux-next-actions .btn{flex:1 1 auto}.ux-advanced-schedule-grid{grid-template-columns:1fr}.ux-report-grid{grid-template-columns:1fr}
  .one-time-action{align-items:center!important;flex-direction:row!important}.one-time-action>div{min-width:0}.one-time-action p{display:none}.one-time-action .btn{width:auto!important;flex:0 0 auto;white-space:nowrap}
  .appointments-access.ux-access-compact{border-radius:12px}.care-hub-card{overflow:hidden}
}
@media(max-width:430px){.one-time-action .btn{font-size:.7rem!important}.profile-mobile-menu>button{padding:12px}.ux-guide-step small{font-size:.69rem}}



/* v38.34.1 — one wheel-picker visual language + shared notification state across web/native.
   Scheduled/appointment times stay on 5-minute increments. Actual care times stay minute-accurate. */
.time-12h-picker[data-minute-step="1"] .time-wheel-trigger::after{content:'▾'}
.bulk-time .time-12h-picker{width:100%}
.bulk-time .time-wheel-trigger{min-height:42px;padding:9px 10px;font-size:.82rem}

@media(max-width:640px){
  #adminDialog,
  #bulkRecordDialog,
  #correctionDialog,
  #backfillCareDialog,
  #oneTimeDialog{
    width:calc(100% - 12px)!important;
    max-width:calc(100% - 12px)!important;
    max-height:calc(var(--ck-visual-viewport-height,100dvh) - 12px)!important;
    margin:auto!important;
    overflow:hidden!important;
  }

  #adminDialog #adminForm,
  #correctionDialog .dialog-body,
  #backfillCareDialog .dialog-body,
  #oneTimeDialog .dialog-body{
    max-height:calc(var(--ck-visual-viewport-height,100dvh) - 12px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scroll-padding-bottom:92px;
  }

  #bulkRecordDialog .bulk-form{
    max-height:calc(var(--ck-visual-viewport-height,100dvh) - 12px)!important;
    min-height:0;
    overflow:hidden!important;
  }
  #bulkRecordDialog .bulk-body{min-height:0;flex:1 1 auto;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:92px}

  #adminDialog .dialog-actions,
  #correctionDialog .dialog-actions,
  #backfillCareDialog .dialog-actions,
  #oneTimeDialog .dialog-actions,
  #bulkRecordDialog .bulk-actions{
    position:sticky!important;
    bottom:0!important;
    z-index:20!important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;
    background:var(--theme-paper,var(--paper))!important;
    box-shadow:0 -10px 24px color-mix(in srgb,var(--theme-ink,#17222c) 10%,transparent);
  }

  #adminDialog #adminForm::after,
  #correctionDialog .dialog-body::after,
  #backfillCareDialog .dialog-body::after,
  #oneTimeDialog .dialog-body::after{
    content:'';
    display:block;
    height:max(8px,env(safe-area-inset-bottom));
  }

  #adminGivenAtField .time-wheel-trigger,
  #correctionTimeField .time-wheel-trigger,
  [data-time-for="backfillActualTime"] .time-wheel-trigger,
  [data-time-for="oneTimeGivenAt"] .time-wheel-trigger{
    min-height:48px;
  }
}



/* v38.34.1 — read-first recipient profile + consistent Cancel / primary action geometry. */
.care-recipient-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.recipient-profile-summary{display:grid;gap:12px}
.recipient-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.recipient-summary-item,.recipient-summary-detail{border:1px solid var(--theme-line,var(--line));background:var(--theme-paper,#fff);border-radius:13px;padding:11px 12px;min-width:0}
.recipient-summary-item span,.recipient-summary-detail>span{display:block;color:var(--theme-muted,var(--muted));font-size:.72rem;font-weight:850;letter-spacing:.02em;margin-bottom:4px}
.recipient-summary-item strong{display:block;color:var(--theme-text,var(--ink));font-size:.92rem;line-height:1.35;overflow-wrap:anywhere}
.recipient-summary-detail p{margin:0;color:var(--theme-text,var(--ink));font-size:.88rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.recipient-summary-empty{color:var(--theme-muted,var(--muted))!important;font-style:italic;font-weight:650!important}
.standard-save-cancel{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;margin-top:16px!important}
.standard-save-cancel .btn{min-width:128px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;margin:0!important}
.standard-save-cancel .btn.outline{order:1}
.standard-save-cancel .btn.primary{order:2}


/* v38.34.1 inhaler medication subtype */
.inhaler-settings-panel{grid-column:1/-1;border:1px solid var(--theme-line,var(--line));border-radius:14px;background:color-mix(in srgb,var(--theme-soft) 38%,var(--theme-paper));padding:14px;margin-top:2px}
.inhaler-settings-panel h3{margin:0 0 4px;color:var(--theme-primary,var(--navy));font-size:1rem}.inhaler-settings-panel>p{margin:0 0 12px;color:var(--theme-muted,var(--muted));font-size:.78rem}
.inhaler-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inhaler-settings-grid .full{grid-column:1/-1}.inhaler-check-row{display:flex;align-items:flex-start;justify-content:flex-start;gap:9px;padding:10px 0}.inhaler-check-row input{width:22px;height:22px;min-height:22px;margin:0;flex:0 0 auto;accent-color:var(--theme-primary)}
.inhaler-check-row span{display:block;line-height:1.25}.inhaler-check-row small{display:block;color:var(--theme-muted,var(--muted));font-size:.72rem;margin-top:2px;font-weight:650}
.inhaler-record-guidance{border:1px solid color-mix(in srgb,var(--theme-secondary) 32%,var(--theme-line));background:color-mix(in srgb,var(--theme-soft) 42%,var(--theme-paper));border-radius:12px;padding:10px 12px}.inhaler-record-guidance strong{color:var(--theme-primary)}.inhaler-record-guidance p{margin:4px 0 0;color:var(--theme-muted);font-size:.78rem;line-height:1.4}
.inhaler-library-meta{margin-top:5px!important;color:var(--theme-primary)!important;font-weight:800}.inhaler-library-meta.warn{color:#8a5b0a!important}.inhaler-library-meta.danger{color:var(--red)!important}
@media(max-width:600px){.inhaler-settings-grid{grid-template-columns:1fr}.inhaler-settings-grid .full{grid-column:auto}}
/* v38.34.1 self-care mode */
#patientSelfCareModeRow{align-items:flex-start}.recipient-summary-item strong.self-care{color:var(--theme-primary,var(--navy))}
@media(max-width:600px){#patientSelfCareModeRow .helper{display:block;margin-top:2px}}

/* v38.34.1 settings/edit polish */
.check-row{justify-content:flex-start;text-align:left;max-width:100%}
.check-row.field,.form-grid>.check-row.field{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;align-self:start!important;width:100%;gap:10px}
.check-row.field input,.settings-check-row input{flex:0 0 auto;margin:0}
.settings-check-row{width:100%;padding:7px 0;justify-content:flex-start!important;text-align:left}
.settings-check-row span{display:block;line-height:1.35}
.care-hub-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.settings-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.settings-summary-item{border:1px solid var(--theme-line,var(--line));border-radius:11px;background:var(--theme-paper,var(--paper));padding:10px 11px;min-width:0}
.settings-summary-item span{display:block;color:var(--theme-muted,var(--muted));font-size:.72rem;font-weight:800;margin-bottom:3px}
.settings-summary-item strong{display:block;color:var(--theme-ink,var(--ink));font-size:.88rem;overflow-wrap:anywhere}
.settings-edit-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--theme-line,var(--line))}
.settings-action-copy{margin:0;color:var(--theme-muted,var(--muted));font-size:.8rem;line-height:1.45}
.danger-confirm-copy{border:1px solid #e3b3b3;background:#fff6f6;border-radius:12px;padding:11px 12px;color:#7b2020;font-size:.8rem;line-height:1.4;margin:10px 0 12px}
@media(max-width:600px){.settings-summary-grid{grid-template-columns:1fr}.care-hub-head-actions{width:100%;justify-content:flex-start}.care-hub-head:has(.care-hub-head-actions){flex-wrap:wrap}}
/* Dialogs already share one action bar; normalize button geometry so Cancel/Save feel the same everywhere. */
.dialog-actions .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
@media(max-width:600px){
  .care-recipient-head-actions{width:100%;justify-content:flex-start}
  .care-recipient-head-actions .btn{flex:1 1 auto}
  .recipient-summary-grid{grid-template-columns:1fr}
  .standard-save-cancel{display:grid!important;grid-template-columns:1fr 1.25fr!important;width:100%}
  .standard-save-cancel .btn{width:100%;min-width:0}
}
html[data-appearance="dark"] .recipient-summary-item,
html[data-appearance="dark"] .recipient-summary-detail{background:var(--theme-panel,#142531)}
@media (prefers-color-scheme:dark){
  html[data-appearance="system"] .recipient-summary-item,
  html[data-appearance="system"] .recipient-summary-detail{background:var(--theme-panel,#142531)}
}

/* v38.34.1 notification unity + Today disclosure polish */
.notifications-unified-card .care-hub-body{display:grid;gap:0}
.notification-preferences-section,
.notification-timing-section,
.notification-device-section{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid var(--theme-line,var(--line))}
.notification-device-section{padding-bottom:0;margin-bottom:0;border-bottom:0}
.notification-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 10px}
.notification-section-head.compact{margin-bottom:9px}
.notification-section-head h4{margin:0;color:var(--theme-primary,var(--navy));font-size:.95rem;line-height:1.25}
.notification-section-head p{margin:3px 0 0;color:var(--theme-muted,var(--muted));font-size:.76rem;line-height:1.35}
.notification-section-head .btn{flex:0 0 auto;align-self:flex-start}
.notification-preference-actions{justify-content:flex-start!important;margin-top:11px!important}
.notification-permission-field{margin:0}
.notification-permission-field .btn{width:100%}
.notification-permission-field .helper{margin:7px 0 0}
.notifications-unified-card .prototype-note{margin-top:10px}
.ux-notification-preferences{border-bottom:1px solid var(--theme-line,var(--line));padding-bottom:16px;margin-bottom:16px}
.ux-notification-preferences>h4,.ux-notification-preferences>p{display:none}

.today-tools-details>summary{
  list-style:none!important;
  -webkit-appearance:none;
  appearance:none;
  background:color-mix(in srgb,var(--theme-soft) 58%,var(--theme-paper));
  border-radius:inherit;
  min-height:58px;
  transition:background .16s ease,box-shadow .16s ease;
}
.today-tools-details>summary::marker{content:''!important;font-size:0!important}
.today-tools-details>summary::-webkit-details-marker{display:none!important}
.today-tools-details>summary:hover{background:color-mix(in srgb,var(--theme-soft) 78%,var(--theme-paper))}
.today-tools-details>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-secondary) 45%,transparent);outline-offset:-3px}
.today-tools-details[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0;background:color-mix(in srgb,var(--theme-soft) 72%,var(--theme-paper))}
.today-tools-summary-copy{display:grid!important;gap:3px;min-width:0}
.today-tools-summary-copy>span:first-child{display:block;color:var(--theme-primary);font-size:.94rem;line-height:1.2;font-weight:950}
.today-tools-summary-copy small{display:block!important;margin:0!important;line-height:1.3!important}
.today-tools-chevron{position:relative;flex:0 0 32px!important;width:32px!important;height:32px!important;border:1px solid color-mix(in srgb,var(--theme-primary) 18%,var(--theme-line));background:var(--theme-paper)!important;box-shadow:0 2px 7px color-mix(in srgb,var(--theme-primary) 8%,transparent)}
.today-tools-chevron::before{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:2px solid var(--theme-primary);border-bottom:2px solid var(--theme-primary);transform:translate(-50%,-66%) rotate(45deg);transition:transform .16s ease}
.today-tools-details[open] .today-tools-chevron{transform:none!important}
.today-tools-details[open] .today-tools-chevron::before{transform:translate(-50%,-32%) rotate(225deg)}

@media(max-width:600px){
  .notification-section-head{gap:9px}
  .notification-section-head:not(.compact){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .notification-section-head .btn{white-space:nowrap}
  .notification-preference-actions .btn{width:100%}
  .today-tools-details>summary{min-height:60px;padding:12px 13px!important}
  .today-tools-summary-copy small{font-size:.7rem!important}
}


/* v38.34.1 — shared app lock + native biometric bridge */
body.app-locked .app,body.app-locked .bottom-nav{visibility:hidden!important}
.app-lock-overlay{
  position:fixed;z-index:1300;inset:0;display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));
  overflow:auto;background:
    radial-gradient(circle at 50% 12%,color-mix(in srgb,var(--theme-secondary,#2EA8FF) 12%,transparent),transparent 36%),
    color-mix(in srgb,var(--theme-bg,#F5F9FD) 97%,#fff);
  -webkit-overflow-scrolling:touch
}
.app-lock-overlay[hidden]{display:none!important}
.app-lock-card{
  width:min(430px,100%);background:var(--theme-paper,#fff);border:1px solid var(--theme-line,#C9D9E8);
  border-radius:24px;box-shadow:0 22px 70px rgba(6,58,122,.18);padding:22px
}
.app-lock-logo{display:block;width:min(270px,80%);height:auto;margin:0 auto 8px}
.app-lock-kicker{text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:950;color:var(--theme-muted,#5C7186);margin:5px 0}
.app-lock-card h2{text-align:center;margin:3px 0 5px;color:var(--theme-primary,#063A7A);font-size:1.45rem}
.app-lock-copy{text-align:center;color:var(--theme-muted,#5C7186);font-size:.82rem;line-height:1.45;margin:0 0 14px}
.app-lock-actions{display:grid;gap:9px}
.app-lock-actions .btn{width:100%;min-height:48px}
.app-lock-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;color:var(--theme-muted,#5C7186);font-size:.7rem;margin:13px 0}
.app-lock-divider::before,.app-lock-divider::after{content:'';height:1px;background:var(--theme-line,#C9D9E8)}
.app-lock-password-form .field{margin:0}
.app-lock-password-form .btn{width:100%;margin-top:10px}
.app-lock-message{min-height:19px;margin:8px 0 0;text-align:center;color:var(--theme-muted,#5C7186);font-size:.76rem;line-height:1.35}
.app-lock-footer{display:flex;justify-content:center;margin-top:13px}
.app-lock-footer .btn{min-height:42px}
.app-lock-settings{margin-top:0}
.app-lock-setting-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.app-lock-setting-head h4{margin:0;color:var(--theme-primary,#063A7A);font-size:.9rem}
.app-lock-setting-head p{margin:4px 0 0;color:var(--theme-muted,#5C7186);font-size:.75rem;line-height:1.4}
.app-lock-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.app-lock-summary-item{border:1px solid var(--theme-line,#C9D9E8);border-radius:12px;background:var(--theme-soft,#EEF8FF);padding:10px}
.app-lock-summary-item span{display:block;color:var(--theme-muted,#5C7186);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.app-lock-summary-item strong{display:block;color:var(--theme-primary,#063A7A);font-size:.82rem;margin-top:3px}
.app-lock-summary-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.app-lock-editor{margin-top:12px;padding-top:12px;border-top:1px solid var(--theme-line,#C9D9E8)}
.app-lock-editor .settings-check-row{margin:0}
.app-lock-native-note{margin-top:8px}
@media(max-width:600px){
  .app-lock-card{padding:18px;border-radius:20px}
  .app-lock-summary{grid-template-columns:1fr}
  .app-lock-setting-head{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .app-lock-summary-actions .btn{flex:1 1 130px}
}

/* v38.34.1 locked-account identity */
.app-lock-account{
  display:grid;
  justify-items:center;
  gap:2px;
  margin:12px 0 16px;
  padding:10px 14px;
  border:1px solid color-mix(in srgb,var(--theme-primary) 14%,var(--theme-line));
  border-radius:14px;
  background:color-mix(in srgb,var(--theme-soft) 56%,var(--theme-paper));
  text-align:center
}
.app-lock-account[hidden]{display:none!important}
.app-lock-account-label{
  color:var(--theme-muted,var(--muted));
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase
}
.app-lock-account-name{
  color:var(--theme-primary,var(--navy));
  font-size:1rem;
  line-height:1.2
}
.app-lock-account-email{
  color:var(--theme-muted,var(--muted));
  font-size:.77rem;
  line-height:1.25
}


/* v38.34.1 — definitive Care Profile dark-mode contrast fix.
   Intentionally independent of the selected theme name. */
html[data-appearance="dark"] .profile-mobile-menu>button{
  background:#182630!important;
  border-color:#536B7B!important;
  color:#F6F9FB!important;
}
html[data-appearance="dark"] .profile-mobile-menu>button strong{
  color:#9FD2FF!important;
  -webkit-text-fill-color:#9FD2FF!important;
}
html[data-appearance="dark"] .profile-mobile-menu>button small{
  color:#C7D3DC!important;
  -webkit-text-fill-color:#C7D3DC!important;
}
html[data-appearance="dark"] .profile-mobile-menu>button:hover,
html[data-appearance="dark"] .profile-mobile-menu>button:focus-visible{
  background:#1D3040!important;
  border-color:#75A7C8!important;
}
html[data-appearance="dark"] .profile-menu-chevron{
  background:#213746!important;
  border-color:#607A8C!important;
}
html[data-appearance="dark"] .profile-menu-chevron::after{
  border-color:#9FD2FF!important;
}

@media(prefers-color-scheme:dark){
  html[data-appearance="system"] .profile-mobile-menu>button{
    background:#182630!important;
    border-color:#536B7B!important;
    color:#F6F9FB!important;
  }
  html[data-appearance="system"] .profile-mobile-menu>button strong{
    color:#9FD2FF!important;
    -webkit-text-fill-color:#9FD2FF!important;
  }
  html[data-appearance="system"] .profile-mobile-menu>button small{
    color:#C7D3DC!important;
    -webkit-text-fill-color:#C7D3DC!important;
  }
  html[data-appearance="system"] .profile-mobile-menu>button:hover,
  html[data-appearance="system"] .profile-mobile-menu>button:focus-visible{
    background:#1D3040!important;
    border-color:#75A7C8!important;
  }
  html[data-appearance="system"] .profile-menu-chevron{
    background:#213746!important;
    border-color:#607A8C!important;
  }
  html[data-appearance="system"] .profile-menu-chevron::after{
    border-color:#9FD2FF!important;
  }
}


/* ============================================================
   v38.34.1 — end-user polish pass
   Inspired by native iOS hierarchy: neutral elevated surfaces,
   high-contrast primary text, restrained Carekeeping blue accents.
   ============================================================ */

/* Shared polish tokens */
html{
  --ck-radius-card:18px;
  --ck-radius-control:13px;
  --ck-control-height:48px;
}
.cloud-login-card,
.app-lock-card{
  border-radius:26px!important;
}

/* Sign-in: one clear visual hierarchy */
.cloud-auth-overlay{
  background:
    radial-gradient(circle at 50% 0%,rgba(46,168,255,.12),transparent 34%),
    linear-gradient(160deg,#F3F8FC,#FFFFFF)!important;
  padding:clamp(18px,4vh,42px) 16px!important;
}
.cloud-login-card{
  width:min(410px,100%)!important;
  padding:26px!important;
  border:1px solid #D7E3EC!important;
  box-shadow:0 26px 70px rgba(14,47,75,.14)!important;
}
.cloud-login-logo{
  width:min(250px,76%)!important;
  margin:0 auto 6px!important;
}
.cloud-login-tagline{
  color:#5F7282!important;
  font-size:.82rem!important;
  margin:4px 0 20px!important;
}
.auth-view-head{
  text-align:left!important;
  margin:0 0 16px!important;
}
.auth-view-head h1{
  color:#102A43!important;
  font-size:1.45rem!important;
  letter-spacing:-.02em;
}
.auth-view-head p{
  color:#657887!important;
  font-size:.82rem!important;
  margin-top:3px!important;
}
.cloud-login-card .field label,
.app-lock-password-form .field label{
  font-size:.76rem!important;
  color:#334E63!important;
  margin-bottom:5px!important;
}
.cloud-login-card input,
.app-lock-card input{
  min-height:var(--ck-control-height)!important;
  border-radius:var(--ck-radius-control)!important;
}
#cloudSignInButton,
#appLockPasswordButton,
#appLockBiometric{
  min-height:50px!important;
  border-radius:14px!important;
  font-size:.92rem!important;
}
.cloud-login-secondary{
  min-height:46px!important;
  border-radius:14px!important;
}
.auth-beta-details{
  margin-top:16px!important;
  border-top:1px solid #E3EBF1!important;
  padding-top:12px!important;
}
.auth-beta-details>summary{
  color:#5E7181!important;
  font-size:.76rem!important;
  font-weight:800!important;
}
.auth-beta-details>div{
  color:#6C7F8E!important;
  font-size:.74rem!important;
  line-height:1.45!important;
}

/* Soft lock: account + one primary unlock flow */
.app-lock-overlay{
  background:
    radial-gradient(circle at 50% 8%,rgba(46,168,255,.14),transparent 32%),
    linear-gradient(160deg,#F3F8FC,#EAF2F8)!important;
}
.app-lock-card{
  width:min(390px,calc(100% - 28px))!important;
  padding:26px!important;
  border:1px solid #D5E1EA!important;
  box-shadow:0 28px 75px rgba(14,47,75,.17)!important;
}
.app-lock-logo{
  width:min(205px,64%)!important;
  margin:0 auto 8px!important;
}
.app-lock-kicker{
  color:#6D7F8E!important;
  font-size:.67rem!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  margin-top:8px!important;
}
.app-lock-card h2{
  color:#102A43!important;
  font-size:1.42rem!important;
  letter-spacing:-.02em;
}
.app-lock-copy{
  color:#647887!important;
  max-width:315px!important;
  font-size:.8rem!important;
}
.app-lock-account{
  background:#F4F8FB!important;
  border:1px solid #DCE7EE!important;
  box-shadow:none!important;
  margin:14px 0 16px!important;
}
.app-lock-account-label{color:#718391!important}
.app-lock-account-name{color:#173B59!important}
.app-lock-account-email{color:#718391!important}
.app-lock-divider{color:#7A8C99!important}
.app-lock-divider::before,
.app-lock-divider::after{background:#DDE6EC!important}
.app-lock-footer .btn{
  color:#657987!important;
  font-weight:800!important;
}

/* Cleaner light surfaces throughout */
.panel,
.care-hub-card,
.appointments-calendar,
.agenda-panel,
.dose-card,
.inventory-card,
.summary-card,
.library-item,
.history-item,
.team-member,
.permission-card,
.profile-summary,
.contact-row,
.toggle-card{
  border-radius:var(--ck-radius-card)!important;
}

/* ============================================================
   Dark appearance — neutral hierarchy first, blue as accent.
   ============================================================ */
html[data-appearance="dark"]{
  --ck-dark-bg:#0B141B;
  --ck-dark-surface:#14232D;
  --ck-dark-elevated:#1A2C37;
  --ck-dark-line:#3D5564;
  --ck-dark-text:#F6F9FB;
  --ck-dark-muted:#BDC9D2;
  --ck-dark-accent:#78C8FF;
  --ck-dark-button:#0B4F91;
}
html[data-appearance="dark"] body,
html[data-appearance="dark"] main{
  background:var(--ck-dark-bg)!important;
  color:var(--ck-dark-text)!important;
}
html[data-appearance="dark"] .panel,
html[data-appearance="dark"] .care-hub-card,
html[data-appearance="dark"] .appointments-calendar,
html[data-appearance="dark"] .agenda-panel,
html[data-appearance="dark"] .dose-card,
html[data-appearance="dark"] .inventory-card,
html[data-appearance="dark"] .summary-card,
html[data-appearance="dark"] .library-item,
html[data-appearance="dark"] .history-item,
html[data-appearance="dark"] .team-member,
html[data-appearance="dark"] .permission-card,
html[data-appearance="dark"] .profile-summary,
html[data-appearance="dark"] .contact-row,
html[data-appearance="dark"] .toggle-card,
html[data-appearance="dark"] .sync-issue-row,
html[data-appearance="dark"] .cloud-account-stat,
html[data-appearance="dark"] .patient-roster-item,
html[data-appearance="dark"] .simple-supply-card,
html[data-appearance="dark"] .last-recorded-panel{
  background:var(--ck-dark-surface)!important;
  color:var(--ck-dark-text)!important;
  border-color:var(--ck-dark-line)!important;
  box-shadow:none!important;
}
html[data-appearance="dark"] .section-head h2,
html[data-appearance="dark"] .appointments-top h2{
  color:var(--ck-dark-accent)!important;
}
html[data-appearance="dark"] .section-head p,
html[data-appearance="dark"] .appointments-top p,
html[data-appearance="dark"] .care-hub-head p,
html[data-appearance="dark"] .helper,
html[data-appearance="dark"] .meta-line,
html[data-appearance="dark"] .instructions,
html[data-appearance="dark"] .dose-detail,
html[data-appearance="dark"] .count,
html[data-appearance="dark"] .team-member p,
html[data-appearance="dark"] .team-email,
html[data-appearance="dark"] .empty{
  color:var(--ck-dark-muted)!important;
}

/* Care Profile: near-white titles, blue only for accent */
html[data-appearance="dark"] .profile-mobile-menu>button{
  background:var(--ck-dark-surface)!important;
  border-color:var(--ck-dark-line)!important;
  box-shadow:none!important;
}
html[data-appearance="dark"] .profile-mobile-menu>button strong{
  color:var(--ck-dark-text)!important;
  -webkit-text-fill-color:var(--ck-dark-text)!important;
}
html[data-appearance="dark"] .profile-mobile-menu>button small{
  color:var(--ck-dark-muted)!important;
  -webkit-text-fill-color:var(--ck-dark-muted)!important;
}
html[data-appearance="dark"] .profile-mobile-menu>button:hover,
html[data-appearance="dark"] .profile-mobile-menu>button:focus-visible{
  background:var(--ck-dark-elevated)!important;
  border-color:#5E7B8E!important;
}
html[data-appearance="dark"] .profile-menu-chevron{
  background:#203744!important;
  border-color:#4A6575!important;
}
html[data-appearance="dark"] .profile-menu-chevron::after{
  border-color:var(--ck-dark-accent)!important;
}
html[data-appearance="dark"] .app-version-badge{
  color:#D8E2E9!important;
  border-color:#4A6170!important;
  background:#16252F!important;
}

/* Card headings across all views */
html[data-appearance="dark"] .care-hub-head h3,
html[data-appearance="dark"] .panel h3,
html[data-appearance="dark"] .dose-card h3,
html[data-appearance="dark"] .inventory-card h3,
html[data-appearance="dark"] .library-item h3,
html[data-appearance="dark"] .agenda-panel h3,
html[data-appearance="dark"] .profile-summary strong{
  color:var(--ck-dark-text)!important;
}

/* Forms and controls */
html[data-appearance="dark"] input,
html[data-appearance="dark"] select,
html[data-appearance="dark"] textarea{
  background:#101E27!important;
  color:var(--ck-dark-text)!important;
  border-color:#496170!important;
}
html[data-appearance="dark"] input::placeholder,
html[data-appearance="dark"] textarea::placeholder{
  color:#899AA6!important;
}
html[data-appearance="dark"] label{
  color:#E9F0F4!important;
}
html[data-appearance="dark"] .btn.primary{
  background:var(--ck-dark-button)!important;
  color:#FFFFFF!important;
  border-color:#1A6AB2!important;
}
html[data-appearance="dark"] .btn.outline{
  color:#EAF2F7!important;
  border-color:#597181!important;
  background:transparent!important;
}
html[data-appearance="dark"] .btn.outline:hover{
  background:#1C303C!important;
}

/* Today: keep status colors, remove muddy title blues */
html[data-appearance="dark"] .dose-card:not(.status-given):not(.completed) h3,
html[data-appearance="dark"] .time-group-header h3,
html[data-appearance="dark"] .one-time-action h3{
  color:var(--ck-dark-text)!important;
}
html[data-appearance="dark"] .today-tools-details>summary{
  background:#13242E!important;
  color:var(--ck-dark-text)!important;
  border-color:var(--ck-dark-line)!important;
}
html[data-appearance="dark"] .today-tools-summary-copy>span:first-child{
  color:var(--ck-dark-text)!important;
}

/* Care Library */
html[data-appearance="dark"] .library-item strong,
html[data-appearance="dark"] .selected-item-title,
html[data-appearance="dark"] .supply-card-head strong{
  color:var(--ck-dark-text)!important;
}

/* Appointments — Carekeeping blue rather than unrelated red */
html[data-appearance="dark"] .calendar-month,
html[data-appearance="dark"] .calendar-day{
  color:var(--ck-dark-text)!important;
}
html[data-appearance="dark"] .calendar-weekdays span,
html[data-appearance="dark"] .calendar-day.other-month{
  color:#8598A5!important;
}
html[data-appearance="dark"] .calendar-icon-btn,
html[data-appearance="dark"] .calendar-today-btn{
  color:var(--ck-dark-accent)!important;
}
html[data-appearance="dark"] .calendar-icon-btn:hover,
html[data-appearance="dark"] .calendar-today-btn:hover,
html[data-appearance="dark"] .calendar-day:hover{
  background:#1C303C!important;
}
html[data-appearance="dark"] .calendar-day.selected .day-number{
  background:#2186CF!important;
  color:#FFFFFF!important;
}
html[data-appearance="dark"] .calendar-day.today:not(.selected) .day-number{
  color:var(--ck-dark-accent)!important;
}
html[data-appearance="dark"] .calendar-day .event-dot{
  background:var(--ck-dark-accent)!important;
}

/* Bottom nav */
html[data-appearance="dark"] .bottom-nav{
  background:#101D26!important;
  border-color:#304653!important;
}
html[data-appearance="dark"] .bottom-nav button{
  color:#B8C6CF!important;
}
html[data-appearance="dark"] .bottom-nav button.active{
  background:#213847!important;
  color:#FFFFFF!important;
}
html[data-appearance="dark"] .bottom-nav button.active .nav-icon{
  color:var(--ck-dark-accent)!important;
}

/* Sign-in + lock in dark mode */
html[data-appearance="dark"] .cloud-auth-overlay,
html[data-appearance="dark"] .app-lock-overlay{
  background:
    radial-gradient(circle at 50% 0%,rgba(62,169,244,.14),transparent 34%),
    linear-gradient(160deg,#0A131A,#10212B)!important;
}
html[data-appearance="dark"] .cloud-login-card,
html[data-appearance="dark"] .app-lock-card{
  background:#15242E!important;
  border-color:#3C5362!important;
  color:var(--ck-dark-text)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.32)!important;
}
html[data-appearance="dark"] .cloud-login-logo,
html[data-appearance="dark"] .app-lock-logo{
  background:#FFFFFF!important;
  border-radius:18px!important;
  padding:8px!important;
}
html[data-appearance="dark"] .cloud-login-tagline,
html[data-appearance="dark"] .auth-view-head p,
html[data-appearance="dark"] .app-lock-copy,
html[data-appearance="dark"] .app-lock-kicker,
html[data-appearance="dark"] .app-lock-account-label,
html[data-appearance="dark"] .app-lock-account-email{
  color:#B9C7D0!important;
}
html[data-appearance="dark"] .auth-view-head h1,
html[data-appearance="dark"] .app-lock-card h2{
  color:#FFFFFF!important;
}
html[data-appearance="dark"] .app-lock-account{
  background:#101E27!important;
  border-color:#3E5665!important;
}
html[data-appearance="dark"] .app-lock-account-name{
  color:#FFFFFF!important;
}
html[data-appearance="dark"] .auth-beta-details{
  border-color:#354C5A!important;
}
html[data-appearance="dark"] .auth-beta-details>summary,
html[data-appearance="dark"] .auth-beta-details>div{
  color:#AFC0CA!important;
}
html[data-appearance="dark"] .app-lock-divider{
  color:#8FA0AC!important;
}
html[data-appearance="dark"] .app-lock-divider::before,
html[data-appearance="dark"] .app-lock-divider::after{
  background:#3A505E!important;
}

/* System appearance on a dark device gets the same treatment */
@media(prefers-color-scheme:dark){
  html[data-appearance="system"]{
    --ck-dark-bg:#0B141B;
    --ck-dark-surface:#14232D;
    --ck-dark-elevated:#1A2C37;
    --ck-dark-line:#3D5564;
    --ck-dark-text:#F6F9FB;
    --ck-dark-muted:#BDC9D2;
    --ck-dark-accent:#78C8FF;
    --ck-dark-button:#0B4F91;
  }
  html[data-appearance="system"] body,
  html[data-appearance="system"] main{background:var(--ck-dark-bg)!important;color:var(--ck-dark-text)!important}
  html[data-appearance="system"] .profile-mobile-menu>button{background:var(--ck-dark-surface)!important;border-color:var(--ck-dark-line)!important}
  html[data-appearance="system"] .profile-mobile-menu>button strong{color:var(--ck-dark-text)!important;-webkit-text-fill-color:var(--ck-dark-text)!important}
  html[data-appearance="system"] .profile-mobile-menu>button small{color:var(--ck-dark-muted)!important;-webkit-text-fill-color:var(--ck-dark-muted)!important}
  html[data-appearance="system"] .section-head h2,
  html[data-appearance="system"] .appointments-top h2{color:var(--ck-dark-accent)!important}
  html[data-appearance="system"] .cloud-auth-overlay,
  html[data-appearance="system"] .app-lock-overlay{
    background:radial-gradient(circle at 50% 0%,rgba(62,169,244,.14),transparent 34%),linear-gradient(160deg,#0A131A,#10212B)!important
  }
  html[data-appearance="system"] .cloud-login-card,
  html[data-appearance="system"] .app-lock-card{
    background:#15242E!important;border-color:#3C5362!important;color:var(--ck-dark-text)!important
  }
  html[data-appearance="system"] .auth-view-head h1,
  html[data-appearance="system"] .app-lock-card h2{color:#FFFFFF!important}
  html[data-appearance="system"] .cloud-login-tagline,
  html[data-appearance="system"] .auth-view-head p,
  html[data-appearance="system"] .app-lock-copy{color:#B9C7D0!important}
}


/* ============================================================
   v38.34.1 — clarity pass: login, lock, Care Team, duplicate copy
   ============================================================ */
.cloud-auth-message:empty,.app-lock-message:empty{display:none!important}
.cloud-auth-message{min-height:0!important;margin-top:10px!important}
.auth-text-button{
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:var(--theme-muted,var(--muted))!important;text-decoration:none!important;
  min-height:auto!important;padding:8px 10px!important
}
.auth-text-button:hover,.auth-text-button:focus-visible{color:var(--theme-primary,var(--navy))!important;text-decoration:underline!important}
/* Item 9 — password reset and structured account recovery */
.auth-inline-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.auth-inline-actions .auth-text-button{width:auto!important;margin:0!important;padding:5px 7px!important}
.auth-security-note{margin-top:12px;border:1px solid var(--border);border-radius:12px;padding:10px 11px;background:var(--panel-soft,#f8fbfd);color:var(--muted);font-size:.76rem;line-height:1.45}
.auth-security-note strong{color:var(--navy)}
.auth-success-box{border:1px solid #bcd8c8;background:#f2fbf6;border-radius:14px;padding:12px;margin:10px 0;color:#315c46;font-size:.82rem;line-height:1.45}
.auth-success-box strong{color:#185c3d}
.auth-recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.auth-recovery-grid .full{grid-column:1/-1}
@media(max-width:520px){.auth-recovery-grid{grid-template-columns:1fr}}
html[data-appearance="dark"] .auth-security-note{background:#16242d!important;border-color:#314653!important;color:var(--theme-muted)!important}
html[data-appearance="dark"] .auth-security-note strong{color:var(--theme-text)!important}
html[data-appearance="dark"] .auth-success-box{background:#153126!important;border-color:#315c49!important;color:#cce9d9!important}
html[data-appearance="dark"] .auth-success-box strong{color:#e0f5e9!important}
.cloud-login-card .auth-view-head{margin-bottom:14px!important}
.cloud-login-card .auth-view-head h1{margin:0!important}
.cloud-login-secondary{margin-top:10px!important}
#publicAccountClosed{text-align:center}
#publicAccountClosed .auth-view-head{text-align:center!important}

/* Soft lock intentionally mirrors a compact sign-in card. */
.app-lock-card-simple{width:min(370px,calc(100% - 28px))!important;padding:24px!important}
.app-lock-card-simple .app-lock-logo{width:min(190px,62%)!important;margin:0 auto 10px!important}
.app-lock-card-simple h2{margin:2px 0 14px!important;font-size:1.28rem!important}
.app-lock-account-simple{
  display:block!important;background:transparent!important;border:0!important;
  margin:0 0 12px!important;padding:0!important;text-align:left!important
}
.app-lock-account-simple[hidden]{display:none!important}
.app-lock-account-simple .app-lock-account-email{
  display:block!important;color:var(--theme-muted,var(--muted))!important;
  font-size:.8rem!important;font-weight:800!important;text-align:left!important
}
.app-lock-password-form{display:grid;gap:10px}
.app-lock-biometric-actions{margin-top:8px!important}
.app-lock-biometric-actions .btn{min-height:42px!important;background:transparent!important}
.app-lock-footer{margin-top:5px!important}
.app-lock-footer .btn{width:auto!important;margin:auto!important}

/* Owners have fixed household-wide access; no Manage access drawer. */
.team-member[data-member-role="owner"]>.team-member-actions:empty{display:none!important}

/* Neutral Manage access treatment — no muddy blue-on-blue in dark mode. */
html[data-appearance="dark"] .team-member .ux-team-manage{
  background:#182630!important;border-color:#536B7B!important
}
html[data-appearance="dark"] .team-member .ux-team-manage>summary,
html[data-appearance="dark"] .team-member .ux-team-manage>summary::after,
html[data-appearance="dark"] .team-member .ux-team-manage .team-access-title,
html[data-appearance="dark"] .team-member .ux-team-manage .team-access-editor label,
html[data-appearance="dark"] .team-member .ux-team-manage .bulk-permission-toggle{
  color:#F6F9FB!important;-webkit-text-fill-color:#F6F9FB!important
}
html[data-appearance="dark"] .team-member .ux-team-manage .patient-access-chip{
  background:#263B47!important;color:#F6F9FB!important
}
html[data-appearance="dark"] .team-member .ux-team-manage select{
  background:#101E27!important;color:#F6F9FB!important;border-color:#607888!important
}
@media(prefers-color-scheme:dark){
  html[data-appearance="system"] .team-member .ux-team-manage{background:#182630!important;border-color:#536B7B!important}
  html[data-appearance="system"] .team-member .ux-team-manage>summary,
  html[data-appearance="system"] .team-member .ux-team-manage>summary::after,
  html[data-appearance="system"] .team-member .ux-team-manage .team-access-title,
  html[data-appearance="system"] .team-member .ux-team-manage .team-access-editor label,
  html[data-appearance="system"] .team-member .ux-team-manage .bulk-permission-toggle{color:#F6F9FB!important;-webkit-text-fill-color:#F6F9FB!important}
  html[data-appearance="system"] .team-member .ux-team-manage .patient-access-chip{background:#263B47!important;color:#F6F9FB!important}
}

/* Sign out is discoverable without making it visually dominant. */
.ux-account-signout{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;margin-top:4px;border-top:1px solid var(--theme-line,var(--line));
  color:var(--theme-muted,var(--muted));font-size:.78rem
}
.ux-account-signout .btn{margin:0!important;width:auto!important}
@media(max-width:600px){.ux-account-signout{align-items:flex-start;flex-direction:column}.ux-account-signout .btn{width:100%!important}}


/* ============================================================
   v38.34.1 — global search + device notification control
   ============================================================ */
.header-search-button{
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid color-mix(in srgb,var(--theme-primary) 20%,var(--theme-line));
  background:color-mix(in srgb,var(--theme-paper) 90%,transparent);
  color:var(--theme-primary);
  border-radius:999px;
  padding:0 10px;
  font:inherit;
  font-size:.73rem;
  font-weight:900;
  cursor:pointer;
}
.header-search-button svg,
.global-search-input-wrap svg{
  width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round
}
.header-search-button:hover{background:color-mix(in srgb,var(--theme-soft) 60%,var(--theme-paper))}
.header-search-button:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-secondary) 38%,transparent);outline-offset:2px}

.global-search-dialog{
  width:min(680px,calc(100% - 28px));
  max-width:680px;
  max-height:min(760px,calc(var(--ck-visual-viewport-height,100vh) - 28px));
  padding:0!important;
  border:1px solid var(--theme-line,var(--line));
  border-radius:22px;
  background:var(--theme-paper,var(--paper));
  color:var(--theme-ink,var(--ink));
  overflow:hidden;
  box-shadow:0 28px 90px rgba(6,37,62,.26)
}
.global-search-dialog::backdrop{background:rgba(7,18,26,.48);backdrop-filter:blur(4px)}
.global-search-shell{display:flex;flex-direction:column;max-height:inherit;min-height:280px}
.global-search-top{display:flex;align-items:center;gap:9px;padding:14px;border-bottom:1px solid var(--theme-line,var(--line));background:var(--theme-paper,var(--paper))}
.global-search-input-wrap{flex:1;display:flex;align-items:center;gap:9px;min-width:0;height:46px;padding:0 13px;border:1px solid color-mix(in srgb,var(--theme-primary) 18%,var(--theme-line));border-radius:14px;background:color-mix(in srgb,var(--theme-soft) 34%,var(--theme-paper));color:var(--theme-muted,var(--muted))}
.global-search-input-wrap:focus-within{border-color:var(--theme-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-secondary) 14%,transparent)}
.global-search-input-wrap input{flex:1!important;min-width:0!important;height:auto!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;color:var(--theme-ink,var(--ink))!important;font-size:1rem!important;box-shadow:none!important}
.global-search-input-wrap input::-webkit-search-cancel-button{cursor:pointer}
.global-search-context{padding:8px 16px 6px;color:var(--theme-muted,var(--muted));font-size:.7rem;font-weight:800;background:color-mix(in srgb,var(--theme-soft) 20%,var(--theme-paper))}
.global-search-results{overflow:auto;-webkit-overflow-scrolling:touch;padding:7px 10px 16px}
.global-search-empty{min-height:210px;display:grid;place-content:center;text-align:center;gap:5px;padding:30px;color:var(--theme-muted,var(--muted))}
.global-search-empty strong{color:var(--theme-ink,var(--ink));font-size:1rem}
.global-search-empty span{font-size:.78rem;line-height:1.4;max-width:360px}
.global-search-group{margin-top:10px}
.global-search-group h3{margin:0 7px 6px;color:var(--theme-muted,var(--muted));font-size:.66rem;letter-spacing:.055em;text-transform:uppercase}
.global-search-group-list{display:grid;gap:3px}
.global-search-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:10px 11px;border:0;border-radius:12px;background:transparent;color:var(--theme-ink,var(--ink));font:inherit;cursor:pointer}
.global-search-result:hover,.global-search-result:focus-visible{background:color-mix(in srgb,var(--theme-soft) 54%,var(--theme-paper));outline:0}
.global-search-result-copy{display:grid;gap:2px;min-width:0}
.global-search-result-copy strong{font-size:.87rem;color:var(--theme-ink,var(--ink));white-space:normal}
.global-search-result-copy small{font-size:.71rem;color:var(--theme-muted,var(--muted));white-space:normal;line-height:1.32}
.global-search-result-arrow{position:relative;flex:0 0 24px;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--theme-soft) 70%,var(--theme-paper))}
.global-search-result-arrow::after{content:'';position:absolute;left:8px;top:7px;width:7px;height:7px;border-top:2px solid var(--theme-secondary);border-right:2px solid var(--theme-secondary);transform:rotate(45deg)}
.notification-toggle-off{
  color:var(--theme-ink,var(--ink))!important;
  border-color:color-mix(in srgb,var(--theme-muted) 42%,var(--theme-line))!important;
}
.notification-toggle-off:hover{background:color-mix(in srgb,var(--theme-soft) 42%,var(--theme-paper))!important}

html[data-appearance="dark"] .header-search-button{background:#1A2D38!important;border-color:#4A6575!important;color:#F6F9FB!important}
html[data-appearance="dark"] .global-search-dialog{background:#14232D!important;border-color:#3D5564!important;color:#F6F9FB!important}
html[data-appearance="dark"] .global-search-top{background:#14232D!important;border-color:#3D5564!important}
html[data-appearance="dark"] .global-search-input-wrap{background:#101E27!important;border-color:#496170!important;color:#BDC9D2!important}
html[data-appearance="dark"] .global-search-input-wrap input{color:#F6F9FB!important}
html[data-appearance="dark"] .global-search-context{background:#101E27!important;color:#BDC9D2!important}
html[data-appearance="dark"] .global-search-empty strong,
html[data-appearance="dark"] .global-search-result-copy strong{color:#F6F9FB!important}
html[data-appearance="dark"] .global-search-empty span,
html[data-appearance="dark"] .global-search-result-copy small,
html[data-appearance="dark"] .global-search-group h3{color:#BDC9D2!important}
html[data-appearance="dark"] .global-search-result:hover,
html[data-appearance="dark"] .global-search-result:focus-visible{background:#1A2C37!important}
html[data-appearance="dark"] .global-search-result-arrow{background:#213744!important}
html[data-appearance="dark"] .notification-toggle-off{color:#F6F9FB!important;border-color:#597181!important}

@media(max-width:720px){
  .header-search-button{width:34px;padding:0;flex:0 0 34px}
  .header-search-button span{display:none}
  .global-search-dialog{width:100%;max-width:none;height:var(--ck-visual-viewport-height,100dvh);max-height:var(--ck-visual-viewport-height,100dvh);margin:0;border:0;border-radius:0}
  .global-search-shell{height:100%;max-height:100%}
  .global-search-top{padding:calc(11px + env(safe-area-inset-top,0px)) 11px 11px}
  .global-search-close{min-height:42px}
  .global-search-results{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
}


/* ============================================================
   v38.34.1 — notification reliability + desktop search refinement
   ============================================================ */
.notification-device-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.notification-device-actions .btn{min-height:42px}
.notification-device-summary{margin:9px 0 0!important;font-weight:850}
#notificationModeNote:empty{display:none}
.header-search-button{
  width:min(270px,28vw);
  min-width:190px;
  justify-content:flex-start;
  border-radius:12px;
  padding:0 9px 0 11px;
  color:var(--theme-muted,var(--muted));
  background:color-mix(in srgb,var(--theme-paper) 94%,var(--theme-soft));
  font-weight:750;
}
.header-search-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-search-shortcut{
  margin-left:auto;
  padding:3px 6px;
  border:1px solid color-mix(in srgb,var(--theme-muted) 28%,var(--theme-line));
  border-radius:6px;
  background:color-mix(in srgb,var(--theme-soft) 35%,var(--theme-paper));
  color:var(--theme-muted,var(--muted));
  font:inherit;
  font-size:.62rem;
  font-weight:850;
  line-height:1;
  white-space:nowrap
}
.global-search-dialog{
  margin:min(10vh,86px) auto auto!important;
}
.global-search-quick{margin-top:2px!important}
.global-search-quick h3{margin-top:5px!important}
html[data-appearance="dark"] .header-search-button{
  background:#152731!important;
  border-color:#435E6D!important;
  color:#C7D3DC!important
}
html[data-appearance="dark"] .header-search-shortcut{
  background:#1E3340!important;
  border-color:#4C6878!important;
  color:#C7D3DC!important
}
@media(max-width:720px){
  .header-search-button{width:34px!important;min-width:34px!important;padding:0!important;justify-content:center!important}
  .header-search-label,.header-search-shortcut{display:none!important}
  .notification-device-actions{display:grid;grid-template-columns:1fr}
  .notification-device-actions .btn{width:100%}
}


/* v38.34.1 — simple header search icon */
.header-search-button{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  padding:0!important;
  justify-content:center!important;
  border-radius:10px!important;
}
.header-search-button svg{width:17px!important;height:17px!important}


/* v38.34.1 — consistent Today action rows for medications and care items */
@media(min-width:641px){
  .dose-card .actions>.btn.given{
    width:170px!important;
    min-width:170px!important;
    flex:0 0 170px!important;
  }
  .dose-card .actions>[data-status="skipped"],
  .dose-card .actions>[data-status="held"]{
    width:70px!important;
    min-width:70px!important;
    flex:0 0 70px!important;
  }
  .dose-card .actions>[data-claim],
  .dose-card .actions>[data-release]{
    width:142px!important;
    min-width:142px!important;
    flex:0 0 142px!important;
  }
}


/* v38.34.1 — repeating appointments */
.appointment-repeat-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.appointment-repeat-options{grid-column:1/-1;border:1px solid var(--theme-line,var(--line));border-radius:14px;padding:12px;background:color-mix(in srgb,var(--theme-soft) 24%,var(--theme-paper))}
.appointment-custom-repeat{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:10px;margin-bottom:10px}
.appointment-repeat-options>.field{margin-top:8px}
.appointment-repeat-summary{margin:8px 1px 0!important;font-weight:800}
.appointment-series-scope-dialog{width:min(470px,calc(100% - 24px));padding:0;border:0;border-radius:20px;background:var(--theme-paper,var(--paper));color:var(--theme-ink,var(--ink));box-shadow:0 26px 75px rgba(0,0,0,.28)}
.appointment-series-scope-dialog::backdrop{background:rgba(7,22,38,.48)}
.appointment-series-scope-actions{display:grid;gap:8px;margin:14px 0}
.appointment-series-scope-actions>.btn{display:grid;text-align:left;justify-content:stretch;height:auto;min-height:62px;padding:11px 13px}
.appointment-series-scope-actions>.btn strong{font-size:.86rem;color:inherit}
.appointment-series-scope-actions>.btn small{font-size:.71rem;color:var(--theme-muted,var(--muted));font-weight:650;margin-top:3px;white-space:normal}
html[data-appearance="dark"] .appointment-repeat-options{background:#101E27!important;border-color:#3D5564!important}
html[data-appearance="dark"] .appointment-series-scope-dialog{background:#14232D!important;color:#F6F9FB!important}
@media(max-width:520px){
  .appointment-repeat-row{grid-template-columns:1fr}
  .appointment-custom-repeat{grid-template-columns:110px 1fr}
}


/* v38.36.1 — Carekeeping dark-mode contrast correction for Care Profile / Appointments. */
html[data-theme="carekeeping"][data-appearance="dark"]{
  --ck-dark-panel:#14232D;
  --ck-dark-panel-2:#182A36;
  --ck-dark-border:#526B7C;
  --ck-dark-heading:#B7DCFF;
  --ck-dark-text:#F6F9FB;
  --ck-dark-muted:#D2DCE4;
}
html[data-theme="carekeeping"][data-appearance="dark"] :is(
  .ux-profile-card-details>summary,.ux-details>summary,.notification-section-head h4,
  .app-lock-setting-head h4,.reports-range-panel h4,.settings-label
){color:var(--ck-dark-heading)!important;-webkit-text-fill-color:var(--ck-dark-heading)!important}
html[data-theme="carekeeping"][data-appearance="dark"] :is(
  .ux-details-note,.notification-section-head p,.app-lock-setting-head p,.app-lock-native-note,
  .settings-action-copy,.ux-report-action small,.reports-range-panel .helper,
  .permission-card p,.permission-card .no,.profile-summary span,.security-stat span,
  .settings-summary-item span,.app-lock-summary-item span,.notification-device-summary,
  .appointment-therapy-field .helper,.care-hub-body>.helper
){color:var(--ck-dark-muted)!important;-webkit-text-fill-color:var(--ck-dark-muted)!important}
html[data-theme="carekeeping"][data-appearance="dark"] :is(
  .settings-summary-item strong,.app-lock-summary-item strong,.profile-summary strong,.security-stat strong
){color:var(--ck-dark-text)!important;-webkit-text-fill-color:var(--ck-dark-text)!important}
html[data-theme="carekeeping"][data-appearance="dark"] :is(
  .ux-details,.ux-report-action,.reports-range-panel,.settings-summary-item,.app-lock-summary-item,
  .appointment-therapy-field
){background:var(--ck-dark-panel)!important;border-color:var(--ck-dark-border)!important;color:var(--ck-dark-text)!important}
html[data-theme="carekeeping"][data-appearance="dark"] .ux-profile-card-details{background:transparent!important;border-color:transparent!important}
html[data-theme="carekeeping"][data-appearance="dark"] .ux-details-body{color:var(--ck-dark-text)!important}
html[data-theme="carekeeping"][data-appearance="dark"] .permission-card li{color:var(--ck-dark-text)}
html[data-theme="carekeeping"][data-appearance="dark"] .permission-card .yes{color:#A8F0C9!important}
html[data-theme="carekeeping"][data-appearance="dark"] .permission-card .no{color:#D2DCE4!important}
html[data-theme="carekeeping"][data-appearance="dark"] .remove-patient-card .ux-profile-card-details>summary{color:#FFC2C2!important;-webkit-text-fill-color:#FFC2C2!important}
html[data-theme="carekeeping"][data-appearance="dark"] .remove-patient-card .ux-details-note{color:#F0C7CB!important;-webkit-text-fill-color:#F0C7CB!important}
html[data-theme="carekeeping"][data-appearance="dark"] .danger-confirm-copy{background:#3A2024!important;color:#FFD0D0!important;border-color:#8B4A52!important}
html[data-theme="carekeeping"][data-appearance="dark"] .appointment-therapy-field{background:#14232D!important;border-color:#526B7C!important}
html[data-theme="carekeeping"][data-appearance="dark"] .therapy-check-option{background:#182A36!important;border-color:#526B7C!important;color:#F6F9FB!important}
html[data-theme="carekeeping"][data-appearance="dark"] .therapy-tag{background:#213746!important;color:#B7DCFF!important;border-color:#526B7C!important}
html[data-theme="carekeeping"][data-appearance="dark"] .invite-code-inline{background:#102A22!important;border-color:#3F765E!important;color:#E7FFF2!important}
html[data-theme="carekeeping"][data-appearance="dark"] .invite-code-inline code{color:#B9FFD7!important}

/* v38.36.3 — report action button surface consistency. */
html[data-theme="carekeeping"][data-appearance="dark"] :is(.appointment-reminders-field,.appointment-reminder-row){
  background:var(--ck-dark-panel)!important;
  border-color:var(--ck-dark-border)!important;
  color:var(--ck-dark-text)!important;
}
html[data-theme="carekeeping"][data-appearance="dark"] .appointment-reminder-row{background:var(--ck-dark-panel-2)!important}
html[data-theme="carekeeping"][data-appearance="dark"] :is(.appointment-reminder-row strong,.appointment-reminder-count){
  color:var(--ck-dark-text)!important;
  -webkit-text-fill-color:var(--ck-dark-text)!important;
}
html[data-theme="carekeeping"][data-appearance="dark"] :is(.appointment-reminder-row small,.appointment-reminder-empty){
  color:var(--ck-dark-muted)!important;
  -webkit-text-fill-color:var(--ck-dark-muted)!important;
}
#reportsDataCard :is(.reports-range-panel,.ux-report-action){background:var(--theme-paper,var(--paper));border-color:var(--theme-line,var(--line))}
@media(prefers-color-scheme:dark){
  html[data-theme="carekeeping"][data-appearance="system"] :is(.appointment-reminders-field,.appointment-reminder-row){background:#14232D!important;border-color:#526B7C!important;color:#F6F9FB!important}
  html[data-theme="carekeeping"][data-appearance="system"] .appointment-reminder-row{background:#182A36!important}
  html[data-theme="carekeeping"][data-appearance="system"] :is(.appointment-reminder-row strong,.appointment-reminder-count){color:#F6F9FB!important;-webkit-text-fill-color:#F6F9FB!important}
  html[data-theme="carekeeping"][data-appearance="system"] :is(.appointment-reminder-row small,.appointment-reminder-empty){color:#D2DCE4!important;-webkit-text-fill-color:#D2DCE4!important}
}

/* Pending invite code shown on each invitation row for the current browser session. */
.invite-code-inline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px;padding:8px 9px;border:1px solid #BFD9CC;border-radius:10px;background:#F2FBF6;color:#315C46}
.invite-code-inline span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.invite-code-inline code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;font-weight:950;letter-spacing:.08em;color:#185C3D}
.invite-code-inline .btn{margin-left:auto}

@media(prefers-color-scheme:dark){
  html[data-theme="carekeeping"][data-appearance="system"] :is(
    .ux-profile-card-details>summary,.ux-details>summary,.notification-section-head h4,
    .app-lock-setting-head h4,.reports-range-panel h4,.settings-label
  ){color:#B7DCFF!important;-webkit-text-fill-color:#B7DCFF!important}
  html[data-theme="carekeeping"][data-appearance="system"] :is(
    .ux-details-note,.notification-section-head p,.app-lock-setting-head p,.app-lock-native-note,
    .settings-action-copy,.ux-report-action small,.reports-range-panel .helper,
    .permission-card p,.permission-card .no,.profile-summary span,.security-stat span,
    .settings-summary-item span,.app-lock-summary-item span,.notification-device-summary,
    .appointment-therapy-field .helper,.care-hub-body>.helper
  ){color:#D2DCE4!important;-webkit-text-fill-color:#D2DCE4!important}
  html[data-theme="carekeeping"][data-appearance="system"] :is(.ux-details,.ux-report-action,.reports-range-panel,.settings-summary-item,.app-lock-summary-item,.appointment-therapy-field){background:#14232D!important;border-color:#526B7C!important;color:#F6F9FB!important}
  html[data-theme="carekeeping"][data-appearance="system"] .ux-profile-card-details{background:transparent!important;border-color:transparent!important}
  html[data-theme="carekeeping"][data-appearance="system"] :is(.settings-summary-item strong,.app-lock-summary-item strong,.profile-summary strong,.security-stat strong){color:#F6F9FB!important}
  html[data-theme="carekeeping"][data-appearance="system"] .remove-patient-card .ux-profile-card-details>summary{color:#FFC2C2!important}
  html[data-theme="carekeeping"][data-appearance="system"] .appointment-therapy-field{background:#14232D!important;border-color:#526B7C!important}
  html[data-theme="carekeeping"][data-appearance="system"] .therapy-check-option{background:#182A36!important;border-color:#526B7C!important;color:#F6F9FB!important}
  html[data-theme="carekeeping"][data-appearance="system"] .invite-code-inline{background:#102A22!important;border-color:#3F765E!important;color:#E7FFF2!important}
  html[data-theme="carekeeping"][data-appearance="system"] .invite-code-inline code{color:#B9FFD7!important}
}




/* v38.37.0 — dark-theme empty/setup surfaces + clearer Care Profile active state. */
.profile-tab.active{
  box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-secondary) 40%,transparent),0 5px 14px rgba(20,57,91,.12)!important;
}
.profile-mobile-menu>button.active{
  border-color:color-mix(in srgb,var(--theme-secondary) 65%,var(--theme-line))!important;
  background:color-mix(in srgb,var(--theme-soft) 55%,var(--theme-paper))!important;
  box-shadow:inset 4px 0 0 var(--theme-primary),0 5px 16px rgba(20,57,91,.08)!important;
}
.profile-mobile-menu>button.active strong{color:var(--theme-primary)!important}
.haptics-setting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.haptics-setting span{min-width:0}.haptics-setting strong{display:block;color:var(--theme-ink,var(--ink));font-size:.84rem}.haptics-setting small{display:block;margin-top:2px;color:var(--theme-muted,var(--muted));font-size:.72rem;font-weight:650}.haptics-setting input{width:22px;height:22px;min-height:22px;margin:0;accent-color:var(--theme-primary)}

html[data-appearance="dark"] .empty,
html[data-appearance="dark"] .ux-setup-guide,
html[data-appearance="dark"] .ux-welcome-guide,
html[data-appearance="dark"] .ux-next-step{
  background:var(--ck-dark-surface,var(--theme-paper))!important;
  color:var(--ck-dark-text,var(--theme-ink))!important;
  border-color:var(--ck-dark-line,var(--theme-line))!important;
  box-shadow:none!important;
}
html[data-appearance="dark"] .ux-setup-guide .ux-guide-step,
html[data-appearance="dark"] .ux-welcome-guide .ux-guide-step,
html[data-appearance="dark"] .ux-next-step .ux-guide-step{
  background:var(--ck-dark-elevated,#1C2C37)!important;
  border-color:var(--ck-dark-line,var(--theme-line))!important;
  color:var(--ck-dark-text,var(--theme-ink))!important;
}
html[data-appearance="dark"] .profile-mobile-menu>button.active{
  background:#20333F!important;
  border-color:#64869B!important;
  box-shadow:inset 4px 0 0 var(--ck-dark-accent,#8CC8FF)!important;
}
html[data-appearance="dark"] .profile-mobile-menu>button.active strong{color:var(--ck-dark-accent,#8CC8FF)!important}
html[data-appearance="dark"] .profile-tab.active{box-shadow:0 0 0 2px rgba(140,200,255,.28)!important}

@media (prefers-color-scheme:dark){
  html[data-appearance="system"] .empty,
  html[data-appearance="system"] .ux-setup-guide,
  html[data-appearance="system"] .ux-welcome-guide,
  html[data-appearance="system"] .ux-next-step{
    background:var(--ck-dark-surface,var(--theme-paper))!important;
    color:var(--ck-dark-text,var(--theme-ink))!important;
    border-color:var(--ck-dark-line,var(--theme-line))!important;
    box-shadow:none!important;
  }
  html[data-appearance="system"] .ux-setup-guide .ux-guide-step,
  html[data-appearance="system"] .ux-welcome-guide .ux-guide-step,
  html[data-appearance="system"] .ux-next-step .ux-guide-step{
    background:var(--ck-dark-elevated,#1C2C37)!important;
    border-color:var(--ck-dark-line,var(--theme-line))!important;
    color:var(--ck-dark-text,var(--theme-ink))!important;
  }
}



/* v38.37.2 — per-recipient duty, member self-name, and setup-title dark contrast. */
.my-name-editor{margin-top:12px}
.my-name-editor .field{margin:0}.my-name-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.my-name-input-row .btn{white-space:nowrap;min-height:46px}
.duty-recipient-section{display:grid;gap:8px}
.duty-recipient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.duty-recipient-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--theme-line,var(--line));border-radius:12px;padding:10px 11px;background:var(--theme-paper,var(--paper));color:var(--theme-ink,var(--ink))}
.duty-recipient-toggle span{min-width:0}.duty-recipient-toggle strong{display:block;color:inherit;font-size:.82rem}.duty-recipient-toggle small{display:block;margin-top:2px;color:var(--theme-muted,var(--muted));font-size:.7rem}.duty-recipient-toggle input{width:22px;height:22px;min-height:22px;margin:0;accent-color:var(--theme-primary)}
html[data-appearance="dark"] .ux-setup-guide .ux-guide-head h3,
html[data-appearance="dark"] .ux-welcome-guide .ux-guide-head h3,
html[data-appearance="dark"] .ux-next-step .ux-guide-head h3{color:var(--ck-dark-text,#EAF4FA)!important}
html[data-appearance="dark"] .duty-recipient-toggle{background:var(--ck-dark-elevated,#1C2C37)!important;border-color:var(--ck-dark-line,#496272)!important;color:var(--ck-dark-text,#EAF4FA)!important}
@media (prefers-color-scheme:dark){
  html[data-appearance="system"] .ux-setup-guide .ux-guide-head h3,
  html[data-appearance="system"] .ux-welcome-guide .ux-guide-head h3,
  html[data-appearance="system"] .ux-next-step .ux-guide-head h3{color:var(--ck-dark-text,#EAF4FA)!important}
  html[data-appearance="system"] .duty-recipient-toggle{background:var(--ck-dark-elevated,#1C2C37)!important;border-color:var(--ck-dark-line,#496272)!important;color:var(--ck-dark-text,#EAF4FA)!important}
}
@media(max-width:600px){.my-name-input-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.my-name-input-row .btn{width:auto;padding-left:12px;padding-right:12px}.duty-recipient-grid{grid-template-columns:1fr}}

/* v38.37.6 — Report empty states and quick date ranges */
@media(min-width:601px){
  #backfillCareDialog .backfill-aligned-field>label{min-height:2.45em;display:flex;align-items:flex-end}
  #backfillCareDialog .backfill-aligned-field .time-wheel-trigger,
  #backfillCareDialog .backfill-aligned-field>select{height:48px;min-height:48px}
}



    /* Item 3 — glucose readings */
    .glucose-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px}
    .glucose-context-grid .check-row{margin:0;min-height:42px}
    .glucose-history-item .glucose-reading-value{font-size:1.05rem;color:var(--theme-primary,var(--navy));font-weight:900}
    .glucose-history-item .glucose-reading-meta{color:var(--muted);font-size:.78rem;margin-top:3px}
    .glucose-source-link{margin-top:8px}
    .glucose-quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
    .glucose-schedule-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .glucose-schedule-mode label{border:1px solid var(--theme-line,var(--line));border-radius:12px;padding:10px 12px;display:flex;gap:9px;align-items:flex-start;background:var(--theme-paper,var(--paper))}
    .glucose-schedule-mode input{margin-top:2px}
    .glucose-specific-times{display:grid;gap:8px}
    .glucose-specific-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
    .glucose-schedule-list{display:grid;gap:9px;margin-top:10px}
    .glucose-schedule-row{border:1px solid var(--theme-line,var(--line));border-radius:12px;padding:11px 12px;background:var(--theme-paper,var(--paper));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
    .glucose-schedule-row strong{display:block;color:var(--theme-primary,var(--navy))}
    .glucose-schedule-row small{display:block;color:var(--theme-muted,var(--muted));margin-top:3px;line-height:1.35}
    .glucose-schedule-row .actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
    .glucose-occurrence-note{border:1px solid var(--theme-line,var(--line));border-radius:10px;padding:9px 10px;background:var(--theme-soft,var(--soft));margin-bottom:10px}
    @media(max-width:700px){.glucose-schedule-mode{grid-template-columns:1fr}.glucose-schedule-row{grid-template-columns:1fr}.glucose-schedule-row .actions{justify-content:flex-start}.glucose-quick-actions{justify-content:flex-start}}
    @media(max-width:600px){.glucose-context-grid{grid-template-columns:1fr}.glucose-specific-time-row{grid-template-columns:1fr auto}}
    /* Item 8 — configurable daily activities / behaviors */
    .activity-quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
    .activity-category-list{display:grid;gap:9px}
    .activity-category-row{border:1px solid var(--theme-line,var(--line));border-radius:12px;padding:11px 12px;background:var(--theme-paper,var(--paper));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
    .activity-category-row strong{display:block;color:var(--theme-primary,var(--navy))}
    .activity-category-row small{display:block;color:var(--theme-muted,var(--muted));margin-top:3px;line-height:1.35}
    .activity-category-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
    .activity-field-builder{display:grid;gap:8px;margin-top:8px}
    .activity-field-row{display:grid;grid-template-columns:minmax(120px,1.25fr) minmax(110px,.85fr) minmax(120px,1fr) auto auto;gap:8px;align-items:end;border:1px solid var(--theme-line,var(--line));border-radius:12px;padding:10px;background:var(--theme-soft,var(--soft))}
    .activity-field-row .field{margin:0}
    .activity-field-required{display:flex;align-items:center;gap:6px;min-height:42px;font-size:.78rem;font-weight:800;color:var(--theme-muted,var(--muted))}
    .activity-entry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .activity-entry-fields .field.full{grid-column:1/-1}
    .activity-history-item .activity-summary{font-weight:850;color:var(--theme-primary,var(--navy))}
    .activity-history-item .activity-meta{color:var(--theme-muted,var(--muted));font-size:.78rem;margin-top:3px}
    .pattern-note{border:1px solid var(--theme-line,var(--line));border-radius:12px;padding:10px 12px;background:var(--theme-soft,var(--soft));margin-top:10px}
    @media(max-width:800px){.activity-field-row{grid-template-columns:1fr 1fr}.activity-field-row .activity-field-options{grid-column:1/-1}.activity-category-row{grid-template-columns:1fr}.activity-category-actions{justify-content:flex-start}}
    @media(max-width:600px){.activity-entry-fields{grid-template-columns:1fr}.activity-quick-actions{justify-content:flex-start}}
  

/* v38.38.0 — Today quick-action mobile formatting fix
   Multi-action cards need their own mobile layout. The generic one-time-action
   row treatment works for a single button, but it squeezed the Blood glucose
   and Daily activity / behavior headings beside two wrapping controls. */
@media(max-width:600px){
  #glucoseQuickAction,
  #activityQuickAction{
    align-items:stretch!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  #glucoseQuickAction>div:first-child,
  #activityQuickAction>div:first-child{
    width:100%;
  }
  #glucoseQuickAction .glucose-quick-actions,
  #activityQuickAction .activity-quick-actions{
    display:flex;
    width:100%;
    gap:8px;
    flex-wrap:nowrap;
    justify-content:stretch;
    align-items:stretch;
  }
  #glucoseQuickAction .glucose-quick-actions .btn,
  #activityQuickAction .activity-quick-actions .btn{
    flex:1 1 0;
    width:auto!important;
    min-width:0;
    white-space:normal;
    line-height:1.2;
  }
}
@media(max-width:350px){
  #glucoseQuickAction .glucose-quick-actions,
  #activityQuickAction .activity-quick-actions{
    flex-direction:column;
  }
}

/* v38.38.0 — Web header search placement fix 1
   Desktop/web header order: Synced -> Search -> Date.
   Mobile/native header layout remains unchanged. */
@media(min-width:601px){
  .app-header .header-tools{
    grid-template-columns:minmax(0,1fr) 34px auto !important;
    grid-template-areas:
      "patient patient patient"
      "sync search date" !important;
  }
  .app-header .cloud-status-pill{
    grid-area:sync !important;
    justify-self:start;
  }
  .app-header .header-search-button{
    grid-area:search !important;
    justify-self:center;
  }
  .app-header .date-pill{
    grid-area:date !important;
    justify-self:end;
  }
}

/* ======================================================================
   v38.38.0 WEB ACCESSIBILITY CONTRAST PASS 1
   Semantic color tokens are the authoritative accessibility layer for web.
   These map the existing Carekeeping visual identity to WCAG 2.2 AA-safe
   foreground/background/control pairings without changing layout.
   ====================================================================== */
:root{
  /* Text */
  --text-primary:#17222C;
  --text-secondary:#435A6B;
  --text-muted:#5C7186;
  --text-inverse:#FFFFFF;
  --text-link:#0A5A9C;
  --text-placeholder:#65798A;
  --text-disabled:#526678;

  /* Surfaces */
  --surface-background:#F4F8FC;
  --surface-raised:#FFFFFF;
  --surface-subtle:#EEF4F8;
  --surface-inverse:#063A7A;
  --surface-disabled:#EEF2F5;

  /* Actions / controls */
  --action-primary-background:var(--theme-action,var(--theme-primary,#063A7A));
  --action-primary-foreground:#FFFFFF;
  --action-secondary-background:var(--theme-soft,#DCE8F5);
  --action-secondary-foreground:var(--theme-primary,#063A7A);
  --action-secondary-border:#60778A;
  --action-control-border:#60778A;
  --action-focus-ring:#005EA8;
  --action-selected-background:var(--theme-primary,#063A7A);
  --action-selected-foreground:#FFFFFF;
  --action-accent-control:#1675B8;

  /* Status */
  --status-error-foreground:#8F2525;
  --status-error-background:#FFF0F0;
  --status-error-border:#A13A3A;
  --status-warning-foreground:#6B4300;
  --status-warning-background:#FFF4D7;
  --status-warning-border:#8A5B0A;
  --status-success-foreground:#356100;
  --status-success-background:#F1F9DE;
  --status-success-border:#587A16;
  --status-info-foreground:#0A4F7A;
  --status-info-background:#EEF8FF;
  --status-info-border:#3E789A;

  /* Compatibility aliases for legacy web styles */
  --theme-text:var(--text-primary);
  --border:var(--action-control-border);
  --panel-soft:var(--surface-subtle);
  --a11y-muted:var(--text-muted);
  --a11y-accent-text:var(--text-link);
  --a11y-control-line:var(--action-control-border);
  --a11y-placeholder:var(--text-placeholder);
  --a11y-disabled-bg:var(--surface-disabled);
  --a11y-disabled-text:var(--text-disabled);
  --a11y-success:var(--status-success-foreground);
  --muted:var(--text-muted);
  --blue:var(--text-link);
  --green:var(--status-success-foreground);
}

html[data-appearance="dark"]{
  --text-primary:#F6F9FB;
  --text-secondary:#D2DCE4;
  --text-muted:#BAC7D1;
  --text-inverse:#0B141B;
  --text-link:#9FD2FF;
  --text-placeholder:#BAC7D1;
  --text-disabled:#AAB7C2;

  --surface-background:#0E171E;
  --surface-raised:#17232D;
  --surface-subtle:#21313C;
  --surface-inverse:#F6F9FB;
  --surface-disabled:#1A2731;

  --action-primary-background:#0B5FA5;
  --action-primary-foreground:#FFFFFF;
  --action-secondary-background:#21313C;
  --action-secondary-foreground:#F6F9FB;
  --action-secondary-border:#60798A;
  --action-control-border:#60798A;
  --action-focus-ring:#9FD2FF;
  --action-selected-background:#0B5FA5;
  --action-selected-foreground:#FFFFFF;
  --action-accent-control:#9FD2FF;

  --status-error-foreground:#FFC2C2;
  --status-error-background:#3A2024;
  --status-error-border:#A46068;
  --status-warning-foreground:#FFE0A3;
  --status-warning-background:#3B2C15;
  --status-warning-border:#A57B34;
  --status-success-foreground:#A8F0C9;
  --status-success-background:#163829;
  --status-success-border:#4B8166;
  --status-info-foreground:#B7DCFF;
  --status-info-background:#1D3542;
  --status-info-border:#60798A;

  --theme-text:var(--text-primary);
  --border:var(--action-control-border);
  --panel-soft:var(--surface-subtle);
  --a11y-muted:var(--text-muted);
  --a11y-accent-text:var(--text-link);
  --a11y-control-line:var(--action-control-border);
  --a11y-placeholder:var(--text-placeholder);
  --a11y-disabled-bg:var(--surface-disabled);
  --a11y-disabled-text:var(--text-disabled);
  --a11y-success:var(--status-success-foreground);
  --muted:var(--text-muted);
  --blue:var(--text-link);
  --green:var(--status-success-foreground);
}

@media(prefers-color-scheme:dark){
  html[data-appearance="system"]{
    --text-primary:#F6F9FB;
    --text-secondary:#D2DCE4;
    --text-muted:#BAC7D1;
    --text-inverse:#0B141B;
    --text-link:#9FD2FF;
    --text-placeholder:#BAC7D1;
    --text-disabled:#AAB7C2;
    --surface-background:#0E171E;
    --surface-raised:#17232D;
    --surface-subtle:#21313C;
    --surface-inverse:#F6F9FB;
    --surface-disabled:#1A2731;
    --action-primary-background:#0B5FA5;
    --action-primary-foreground:#FFFFFF;
    --action-secondary-background:#21313C;
    --action-secondary-foreground:#F6F9FB;
    --action-secondary-border:#60798A;
    --action-control-border:#60798A;
    --action-focus-ring:#9FD2FF;
    --action-selected-background:#0B5FA5;
    --action-selected-foreground:#FFFFFF;
    --action-accent-control:#9FD2FF;
    --status-error-foreground:#FFC2C2;
    --status-error-background:#3A2024;
    --status-error-border:#A46068;
    --status-warning-foreground:#FFE0A3;
    --status-warning-background:#3B2C15;
    --status-warning-border:#A57B34;
    --status-success-foreground:#A8F0C9;
    --status-success-background:#163829;
    --status-success-border:#4B8166;
    --status-info-foreground:#B7DCFF;
    --status-info-background:#1D3542;
    --status-info-border:#60798A;
    --theme-text:var(--text-primary);
    --border:var(--action-control-border);
    --panel-soft:var(--surface-subtle);
    --a11y-muted:var(--text-muted);
    --a11y-accent-text:var(--text-link);
    --a11y-control-line:var(--action-control-border);
    --a11y-placeholder:var(--text-placeholder);
    --a11y-disabled-bg:var(--surface-disabled);
    --a11y-disabled-text:var(--text-disabled);
    --a11y-success:var(--status-success-foreground);
    --muted:var(--text-muted);
    --blue:var(--text-link);
    --green:var(--status-success-foreground);
  }
}

/* Core text and surfaces */
html,body{background:var(--surface-background);color:var(--text-primary)}
.helper,.meta-line,.instructions,.dose-detail,.count,.empty,
.team-email,.team-access-title,.patient-roster-item small,.contact-row small,
.profile-summary span,.security-stat span,.supply-summary-card span,.supply-meta-card span,
.supply-last-updated,.simple-supply-head p,.simple-supply-amount span,.simple-supply-reminder span,
.simple-supply-updated,.mini-note,.bulk-item small,.bulk-round-title small,.bulk-note,
.ux-details-note,.ux-report-action small,.appointment-main p,.appointment-main .appointment-meta span,
.glucose-history-item .glucose-reading-meta,.activity-category-row small,.activity-history-item .activity-meta,
.activity-field-required,.duty-recipient-toggle small,.haptics-setting small{
  color:var(--text-muted)!important;
  opacity:1!important;
}

/* Links and text accents use a text-safe blue rather than decorative Sky Blue. */
.daypart,.history-day,.calendar-icon-btn,.calendar-today-btn,.agenda-head .date-stack span,
.appointment-map-link,.appointment-address-link,.contact-row a,.contact-phone,.range-tag,
.auth-text-button,.ux-kicker,.global-search-result-link{
  color:var(--text-link)!important;
}

/* Controls and affordance boundaries */
input,select,textarea,.btn.outline,.icon-btn,.tab-btn,.profile-tab,.care-library-tab,
.calendar-icon-btn,.calendar-today-btn,.appointment-map-link,.appointment-type-chip,
.schedule-type-card,.radio-option,.toggle-card,.patient-access-option,.therapy-check-option,
.duty-recipient-toggle,.header-search-button,.global-search-input-wrap{
  border-color:var(--action-control-border)!important;
}
input::placeholder,textarea::placeholder{color:var(--text-placeholder)!important;opacity:1!important}
input:disabled,select:disabled,textarea:disabled{
  background:var(--surface-disabled)!important;
  color:var(--text-disabled)!important;
  -webkit-text-fill-color:var(--text-disabled)!important;
  border-color:var(--action-control-border)!important;
  opacity:1!important;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--action-accent-control)!important}

/* Primary/selected controls */
.btn.primary,.tab-btn.active,.care-library-tab.active,.calendar-day.selected .day-number,
.view-switch button.active:not(.btn),.selected-item-badge{
  background:var(--action-primary-background)!important;
  color:var(--action-primary-foreground)!important;
  border-color:var(--action-primary-background)!important;
}
.calendar-day.selected .event-dot{background:var(--action-primary-foreground)!important}

/* Secondary controls retain the brand's mist/soft treatment with a clear edge. */
.btn:not(.primary):not(.given):not(.danger):not(.purple),.btn.outline,.icon-btn{
  color:var(--action-secondary-foreground);
}
.btn.outline,.icon-btn{background:var(--surface-raised)!important}

/* Focus: high-contrast two-layer indicator; never remove native focus without replacement. */
:where(button,a[href],input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:3px solid var(--action-focus-ring)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 1px var(--surface-raised),0 0 0 6px color-mix(in srgb,var(--action-focus-ring) 35%,transparent)!important;
}

/* Status pairings: text + border + background, with existing labels/icons preserved. */
.notice.danger,.password-mismatch-warning,.supply-warning-today,
.invite-status.needs_code,.danger-confirm-copy{
  background:var(--status-error-background)!important;
  color:var(--status-error-foreground)!important;
  border-color:var(--status-error-border)!important;
}
.notice.warn,.status-line.warn,.invite-status.manual,.invite-status.code_ready,.supply-status-chip.low,.supply-status-chip.soon{
  color:var(--status-warning-foreground)!important;
}
.notice.warn,.invite-status.manual,.invite-status.code_ready,.supply-status-chip.low,.supply-status-chip.soon{
  background:var(--status-warning-background)!important;
  border-color:var(--status-warning-border)!important;
}
.notice.info,.badge.blue,.badge.purple,.owner-only-note,.handling-banner{
  background:var(--status-info-background)!important;
  color:var(--status-info-foreground)!important;
  border-color:var(--status-info-border)!important;
}
.badge.green,.ok-tag,.permission-card .yes,.supply-summary-card.ok strong,
.supply-status-chip:not(.low):not(.out):not(.soon),.invite-status.sent,.invite-status.accepted,
.role-pill.on-duty,.handling-banner.you,.invite-code-result{
  color:var(--status-success-foreground)!important;
}
.badge.green,.supply-status-chip:not(.low):not(.out):not(.soon),.invite-status.sent,.invite-status.accepted,
.role-pill.on-duty,.handling-banner.you,.invite-code-result{
  background:var(--status-success-background)!important;
  border-color:var(--status-success-border)!important;
}

/* Calendar/date affordances previously used decorative Sky Blue directly. */
.calendar-day.today:not(.selected) .day-number{
  color:var(--text-link)!important;
  box-shadow:inset 0 0 0 2px var(--action-accent-control)!important;
}
.calendar-day .event-dot{background:var(--action-accent-control)!important}
.appointment-accent{background:var(--action-accent-control)!important}

/* Report and audit helper panels: muted text must pass on the soft fill. */
.report-empty-state,.backfill-audit-note{
  background:var(--surface-subtle)!important;
  color:var(--text-secondary)!important;
  border-color:var(--action-control-border)!important;
}
.report-empty-state strong{color:var(--text-primary)!important}

/* Viewer/inactive pills were just under AA in the legacy palette. */
.role-pill.viewer,.therapy-status-pill.inactive{
  color:var(--text-secondary)!important;
  border-color:var(--action-control-border)!important;
}

/* Dark-mode surfaces that carried legacy light text variables. */
html[data-appearance="dark"] :is(.invite-welcome-summary,.today-item-type,.schedule-time-head,
.ux-setup-guide .ux-guide-step,.ux-welcome-guide .ux-guide-step,.ux-next-step .ux-guide-step,
.auth-security-note){color:var(--text-primary)!important}
@media(prefers-color-scheme:dark){
  html[data-appearance="system"] :is(.invite-welcome-summary,.today-item-type,.schedule-time-head,
  .ux-setup-guide .ux-guide-step,.ux-welcome-guide .ux-guide-step,.ux-next-step .ux-guide-step,
  .auth-security-note){color:var(--text-primary)!important}
}

/* Disabled state remains visually distinct without making essential labels unreadable. */
.btn:disabled,button:disabled{opacity:.72!important;filter:saturate(.45)!important;cursor:not-allowed}
.btn:disabled{color:var(--text-disabled)!important}

/* Reduced transparency: guarantee opaque surfaces for legibility. */
@media(prefers-reduced-transparency:reduce){
  .bottom-nav,.cloud-auth-overlay,.modal-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .bottom-nav{background:var(--surface-raised)!important}
}

/* Meaningful graphical indicators must also meet the 3:1 non-text target. */
.nav-btn.active .nav-icon,
.profile-mobile-menu>button b,
.ux-details>summary::after,
.med-contact-panel summary:after,
.supply-details summary:after{
  color:var(--action-accent-control)!important;
}
.time-group.next-round,
.schedule-type-card:hover,
.schedule-type-card:has(input:checked),
.appointment-type-chip.selected,
.patient-roster-item.active,
.notification-grid .toggle-card:has(input:checked){
  border-color:var(--action-accent-control)!important;
}
.meter span,.supply-meter span{background:var(--status-success-foreground)!important}

/* Legacy surface aliases and theme-aware text roles retained for older components. */
:root{
  --surface:var(--surface-raised);
  --surface-soft:var(--surface-subtle);
  --soft:var(--surface-subtle);
  --theme-primary-text:var(--theme-primary,#063A7A);
}
html[data-appearance="dark"]{
  --surface:var(--surface-raised);
  --surface-soft:var(--surface-subtle);
  --soft:var(--surface-subtle);
  --theme-soft:var(--surface-subtle);
  --theme-primary-text:var(--theme-heading,#9FD2FF);
}
@media(prefers-color-scheme:dark){html[data-appearance="system"]{
  --surface:var(--surface-raised);
  --surface-soft:var(--surface-subtle);
  --soft:var(--surface-subtle);
  --theme-soft:var(--surface-subtle);
  --theme-primary-text:var(--theme-heading,#9FD2FF);
}}

/* Generic dark-mode text surfaces for every selectable color theme, not just Carekeeping. */
html[data-appearance="dark"] :is(
  .care-library-selected strong,.library-item.selected h4,.time-wheel-head strong,.time-wheel-item.active,
  .settings-label,.setup-chip.ready,.simple-supply-head h3,.simple-supply-amount strong,
  .reports-range-panel h4,.report-preview-head h2,.report-custom-range>summary,
  .today-tools-details>summary,.today-tools-chevron,.backfill-round-head strong,
  .ux-guide-head h3,.ux-guide-step .ux-step-icon,.ux-next-step strong,
  .profile-mobile-menu>button strong,.profile-mobile-back>strong,.ux-details>summary,
  .ux-notification-preferences h4,.inhaler-settings-panel h3,.inhaler-record-guidance strong,
  .inhaler-library-meta,#patientSelfCareModeRow strong,.notification-section-head h4,
  .today-tools-summary-copy>span:first-child,.app-lock-card h2,.app-lock-setting-head h4,
  .app-lock-summary-item strong,.glucose-history-item .glucose-reading-value,.glucose-schedule-row strong,
  .activity-category-row strong,.activity-history-item .activity-summary,.ck-report-card h4
){color:var(--theme-primary-text)!important}

@media(prefers-color-scheme:dark){html[data-appearance="system"] :is(
  .care-library-selected strong,.library-item.selected h4,.time-wheel-head strong,.time-wheel-item.active,
  .settings-label,.setup-chip.ready,.simple-supply-head h3,.simple-supply-amount strong,
  .reports-range-panel h4,.report-preview-head h2,.report-custom-range>summary,
  .today-tools-details>summary,.today-tools-chevron,.backfill-round-head strong,
  .ux-guide-head h3,.ux-guide-step .ux-step-icon,.ux-next-step strong,
  .profile-mobile-menu>button strong,.profile-mobile-back>strong,.ux-details>summary,
  .ux-notification-preferences h4,.inhaler-settings-panel h3,.inhaler-record-guidance strong,
  .inhaler-library-meta,#patientSelfCareModeRow strong,.notification-section-head h4,
  .today-tools-summary-copy>span:first-child,.app-lock-card h2,.app-lock-setting-head h4,
  .app-lock-summary-item strong,.glucose-history-item .glucose-reading-value,.glucose-schedule-row strong,
  .activity-category-row strong,.activity-history-item .activity-summary,.ck-report-card h4
){color:var(--theme-primary-text)!important}}

html[data-appearance="dark"] :is(
  .security-stat,.settings-summary-item,.app-lock-summary-item,.pattern-note,.ck-report-card,
  .reports-range-panel,.supply-track-toggle,.account-choice,.join-request-card,.recipient-summary-item
){background:var(--surface-raised)!important;color:var(--text-primary)!important;border-color:var(--action-control-border)!important}
@media(prefers-color-scheme:dark){html[data-appearance="system"] :is(
  .security-stat,.settings-summary-item,.app-lock-summary-item,.pattern-note,.ck-report-card,
  .reports-range-panel,.supply-track-toggle,.account-choice,.join-request-card,.recipient-summary-item
){background:var(--surface-raised)!important;color:var(--text-primary)!important;border-color:var(--action-control-border)!important}}

.account-choice,.join-request-card{border-color:var(--action-control-border)!important}
.account-choice strong{color:var(--theme-primary-text)!important}
.account-choice span{color:var(--text-muted)!important}

/* Final AA corrections found by rendered static-state audit. */
.nav-btn{color:var(--text-muted)!important}
.settings-summary-item span,.app-lock-summary-item span,.pattern-note .helper,
.pattern-note p,.report-empty-state .helper,.backfill-audit-note{
  color:var(--text-secondary)!important;
}

html[data-appearance="dark"] input,
html[data-appearance="dark"] select,
html[data-appearance="dark"] textarea,
html[data-appearance="dark"] .btn.outline,
html[data-appearance="dark"] .icon-btn,
html[data-appearance="dark"] .tab-btn,
html[data-appearance="dark"] .profile-tab,
html[data-appearance="dark"] .care-library-tab,
html[data-appearance="dark"] .calendar-icon-btn,
html[data-appearance="dark"] .calendar-today-btn,
html[data-appearance="dark"] .header-search-button,
html[data-appearance="dark"] .account-choice{
  border-color:var(--action-control-border)!important;
}
@media(prefers-color-scheme:dark){
  html[data-appearance="system"] input,
  html[data-appearance="system"] select,
  html[data-appearance="system"] textarea,
  html[data-appearance="system"] .btn.outline,
  html[data-appearance="system"] .icon-btn,
  html[data-appearance="system"] .tab-btn,
  html[data-appearance="system"] .profile-tab,
  html[data-appearance="system"] .care-library-tab,
  html[data-appearance="system"] .calendar-icon-btn,
  html[data-appearance="system"] .calendar-today-btn,
  html[data-appearance="system"] .header-search-button,
  html[data-appearance="system"] .account-choice{
    border-color:var(--action-control-border)!important;
  }
}
.nav-btn.active{color:var(--theme-primary,#063A7A)!important}
.app-header :is(.cloud-status-pill,.date-pill,.patient-switch-wrap){border-color:rgba(255,255,255,.62)!important}

/* Hover/pressed/disabled states keep accessible token pairings. */
.btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--action-primary-background) 90%,#000)!important;color:var(--action-primary-foreground)!important;filter:none!important}
.btn.primary:active:not(:disabled){background:color-mix(in srgb,var(--action-primary-background) 84%,#000)!important;color:var(--action-primary-foreground)!important;filter:none!important}
.btn.outline:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--surface-subtle)!important;color:var(--action-secondary-foreground)!important;filter:none!important}
.btn.outline:active:not(:disabled),.icon-btn:active:not(:disabled){background:color-mix(in srgb,var(--surface-subtle) 86%,var(--action-control-border))!important;color:var(--action-secondary-foreground)!important}
.btn:disabled,button:disabled{
  opacity:1!important;
  background:var(--surface-disabled)!important;
  color:var(--text-disabled)!important;
  border-color:var(--action-control-border)!important;
  filter:none!important;
  cursor:not-allowed!important;
}


/* v38.38.0 — Product Administration Portal Fix 2
   The global login polish rule above intentionally fixes normal auth cards at 410px
   with !important. Product Administration is a data workspace and must override it. */
.cloud-login-card.product-admin-mode{
  width:min(1080px,calc(100vw - 32px))!important;
  max-width:1080px!important;
  min-width:0!important;
}
.product-admin-view{width:100%;min-width:0}
.product-admin-account{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--sky);border-radius:12px;padding:10px 12px;margin:8px 0 14px;font-size:.78rem;color:var(--muted)}
.product-admin-account strong{color:var(--navy);font-size:.82rem;overflow-wrap:break-word;word-break:normal;text-align:right;min-width:0}
.product-admin-section{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:15px;margin-top:12px;min-width:0}
.product-admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;min-width:0}
.product-admin-section-head>div{min-width:0}
.product-admin-section-head h2{font-size:1rem;margin:0;color:var(--navy)}
.product-admin-section-head p{margin:3px 0 0;color:var(--muted);font-size:.76rem;line-height:1.4}
.product-admin-list-head .btn{width:auto!important;margin:0!important;flex:0 0 auto}
.product-admin-message{min-height:20px;margin-top:9px;font-size:.78rem;color:var(--muted);font-weight:750}
.product-admin-message.success{color:var(--green)}
.product-admin-message.error{color:var(--red)}
.product-admin-invite-list{display:grid;gap:8px;min-width:0}
.product-admin-invite-row{display:grid;grid-template-columns:minmax(250px,2fr) minmax(110px,.7fr) minmax(190px,1.15fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--bg);min-width:0}
.product-admin-invite-row>*{min-width:0}
.product-admin-invite-email{font-size:.82rem;font-weight:850;color:var(--navy);overflow-wrap:break-word;word-break:normal;line-height:1.25}
.product-admin-invite-meta{font-size:.7rem;color:var(--muted);margin-top:3px;line-height:1.35}
.product-admin-invite-status{justify-self:start;display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:900;background:var(--sky);color:var(--navy);white-space:nowrap}
.product-admin-invite-status.used{background:var(--green-bg);color:var(--green)}
.product-admin-invite-status.expired{background:var(--amber-bg);color:var(--amber)}
.product-admin-invite-status.blocked{background:var(--red-bg);color:var(--red)}
.product-admin-household{font-size:.7rem;color:var(--muted);overflow-wrap:break-word;word-break:normal;line-height:1.35}
.product-admin-empty{border:1px dashed var(--line);border-radius:12px;padding:14px;text-align:center;color:var(--muted);font-size:.78rem}
@media(max-width:760px){
  .cloud-login-card.product-admin-mode{width:calc(100vw - 24px)!important;max-width:none!important;padding:20px!important}
  .product-admin-invite-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .product-admin-household{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px}
  .product-admin-invite-status{justify-self:end}
}
@media(max-width:520px){
  .cloud-login-card.product-admin-mode{width:calc(100vw - 20px)!important;padding:18px!important}
  .product-admin-invite-row{grid-template-columns:minmax(0,1fr)}
  .product-admin-invite-status{justify-self:start}
  .product-admin-household{grid-column:auto}
  .product-admin-list-head{align-items:center}
  .product-admin-account{align-items:flex-start;flex-direction:column}
  .product-admin-account strong{text-align:left}
}


/* ==========================================================
   v38.38.1 — small appointment/search cleanup batch
   ========================================================== */
/* Keep appointment indicators visible when their date is selected.
   The prior selected-state override turned the dot white against the
   white calendar cell, making the appointment appear to disappear. */
.calendar-day.selected .event-dot{
  background:var(--action-accent-control)!important;
  box-shadow:0 0 0 1px var(--surface-raised)!important;
}
html[data-appearance="dark"] .calendar-day.selected .event-dot{
  background:var(--ck-dark-accent)!important;
  box-shadow:0 0 0 1px #14232D!important;
}

/* Reminder type is intentionally hidden from the user for now: all
   appointment reminder creation is relative to appointment start. */
.appointment-reminder-builder-simple{
  grid-template-columns:110px minmax(150px,1fr) auto!important;
}
@media(max-width:700px){
  .appointment-reminder-builder-simple{grid-template-columns:110px minmax(0,1fr)!important}
  .appointment-reminder-builder-simple .appointment-reminder-add{grid-column:1/-1!important;width:100%!important}
}

/* =========================================================
   Carekeeping v38.38.3 — Legal acceptance / voluntary use
   ========================================================= */
.legal-inline-acceptance,.legal-voluntary-note{margin-top:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel-soft,#f8fbfd);padding:12px;color:var(--text-primary);font-size:.8rem;line-height:1.45}
.legal-inline-acceptance p{margin:0 0 10px}.legal-voluntary-note{margin:0 0 12px}
.legal-document-links{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}
.legal-document-links-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.cloud-login-card .legal-document-link{width:auto!important;margin:0!important;border:1px solid var(--brand-mist,#c9dce6);border-radius:999px;background:#fff;color:var(--navy);padding:7px 10px;font:inherit;font-size:.73rem;font-weight:800;cursor:pointer;text-align:left}
.legal-document-links-stack .legal-document-link{width:100%!important;border-radius:12px;padding:10px 11px}
.legal-check-row{display:flex;align-items:flex-start;gap:10px;margin-top:10px;cursor:pointer;color:var(--text-primary);font-size:.79rem;line-height:1.45}
.legal-check-row input{width:18px!important;height:18px!important;min-width:18px;margin:2px 0 0!important;accent-color:var(--navy)}
.legal-check-row-primary{border:2px solid var(--brand-mist,#c9dce6);border-radius:14px;padding:12px;background:#fff}
.legal-document-dialog{width:min(760px,calc(100vw - 28px));max-height:min(86vh,900px);border:1px solid var(--border);border-radius:20px;padding:0;background:var(--panel,#fff);color:var(--text-primary);box-shadow:0 24px 70px rgba(10,35,52,.28)}
.legal-document-dialog::backdrop{background:rgba(7,23,34,.58)}
.legal-document-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--border)}
.legal-document-dialog-head h2{margin:0;color:var(--navy);font-size:1.2rem}.legal-dialog-close{border:0;background:transparent;color:var(--muted);font-size:1.65rem;line-height:1;cursor:pointer;padding:0 2px}
.legal-document-meta{padding:10px 20px 0;color:var(--muted);font-size:.76rem;font-weight:700}
.legal-document-body{margin:10px 20px 4px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-soft,#f8fbfd);white-space:pre-wrap;overflow:auto;max-height:58vh;font-size:.82rem;line-height:1.55;font-family:inherit}
.legal-document-dialog .form-actions{padding:8px 20px 18px;margin:0}.legal-document-dialog .form-actions .btn{min-width:120px}
html[data-appearance="dark"] .legal-inline-acceptance,html[data-appearance="dark"] .legal-voluntary-note,html[data-appearance="dark"] .legal-document-body{background:#16242d!important;border-color:#314653!important;color:var(--theme-text)!important}
html[data-appearance="dark"] .legal-check-row-primary,html[data-appearance="dark"] .cloud-login-card .legal-document-link{background:#101b22!important;border-color:#38505d!important;color:var(--theme-text)!important}
html[data-appearance="dark"] .legal-document-dialog{background:#101b22!important;border-color:#314653!important;color:var(--theme-text)!important}
html[data-appearance="dark"] .legal-document-dialog-head h2{color:var(--theme-text)!important}
@media(max-width:520px){.legal-document-links-stack{grid-template-columns:1fr}.legal-document-dialog{width:calc(100vw - 18px);border-radius:16px}.legal-document-dialog-head{padding:15px 15px 10px}.legal-document-meta{padding:8px 15px 0}.legal-document-body{margin:8px 15px 3px;padding:12px;max-height:62vh}.legal-document-dialog .form-actions{padding:8px 15px 15px}}


/* ==========================================================
   Carekeeping v38.38.5 — Account deletion & endpoint correction
   ========================================================== */
.account-legal-links{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.account-delete-heading{color:var(--red)}
.account-deletion-dialog{width:min(680px,calc(100vw - 28px))}
.account-deletion-dialog .dialog-body{max-height:min(82vh,760px);overflow:auto}
.account-deletion-warning{margin:10px 0 12px}
.account-deletion-warning>div{display:flex;flex-direction:column;gap:3px}
.account-deletion-family-list{display:grid;gap:8px;margin:10px 0}
.account-deletion-family-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface-soft,#f7fafc)}
.account-deletion-family-row strong,.account-deletion-family-row small{display:block}
.account-deletion-family-row small{margin-top:3px;color:var(--muted)}
.account-delete-check{margin-top:10px}
#accountDeletionStatusMessage[data-tone="error"]{color:var(--red);font-weight:700}
#accountDeletionStatusMessage[data-tone="busy"]{color:var(--navy);font-weight:700}
@media(max-width:600px){#accountPrivacyCard .form-actions .btn,.account-deletion-dialog .dialog-actions .btn{width:100%}.account-deletion-dialog .dialog-actions{flex-direction:column}}
html[data-appearance="dark"] .account-deletion-family-row{background:#17253A;border-color:#416083}
html[data-appearance="system"] .account-deletion-family-row{background:var(--surface-soft,#f7fafc)}


/* ==========================================================
   Carekeeping v38.38.6 — Legal & Privacy UI Cleanup Pass 1
   ========================================================== */

/* Legal document actions use the same visual language as Carekeeping cards/buttons. */
.legal-document-link{
  appearance:none;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:42px;
  min-width:0;
  border:1px solid var(--theme-line,var(--line));
  border-radius:12px;
  background:var(--theme-paper,#fff);
  color:var(--theme-primary,var(--navy));
  padding:9px 11px;
  font:inherit;
  font-size:.77rem;
  font-weight:850;
  line-height:1.25;
  text-align:left;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(12,45,73,.04);
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease;
}
.legal-document-link:hover{
  background:#F7FBFF;
  border-color:#8FC8EA;
  box-shadow:0 3px 10px rgba(12,45,73,.08);
}
.legal-document-link:focus-visible{
  outline:3px solid rgba(25,126,190,.22);
  outline-offset:2px;
}

/* Keep the four legal choices aligned as a predictable two-by-two grid. */
.cloud-login-card .legal-inline-acceptance .legal-document-links,
.cloud-login-card .legal-document-links-stack,
.account-legal-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.cloud-login-card .legal-inline-acceptance .legal-document-link,
.cloud-login-card .legal-document-links-stack .legal-document-link,
.account-legal-links .legal-document-link{
  width:100%!important;
  height:100%;
  min-height:44px;
  margin:0!important;
  border-radius:12px;
  white-space:normal;
  overflow-wrap:anywhere;
}
.cloud-login-card .legal-inline-acceptance .legal-document-link,
.cloud-login-card .legal-document-links-stack .legal-document-link{
  justify-content:center;
  text-align:center;
}

/* Account & Privacy sub-sections read as Carekeeping cards, not raw browser controls. */
.account-legal-panel,
.account-delete-panel{
  border:1px solid var(--theme-line,var(--line));
  border-radius:14px;
  background:var(--theme-paper,#fff);
  padding:12px;
}
.account-legal-panel .helper,
.account-delete-panel .helper{margin-bottom:0}
.account-delete-panel{
  margin-top:12px;
  border-color:#E6B9B9;
  background:#FFF9F9;
}
.account-delete-panel .form-actions{margin:10px 0 0}
.account-delete-heading{display:block;margin-bottom:5px}

/* Align the destructive acknowledgement checkbox and copy as one intentional row. */
.account-delete-check{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr);
  align-items:center!important;
  gap:10px!important;
  margin-top:12px!important;
  padding:10px 11px;
  border:1px solid var(--theme-line,var(--line));
  border-radius:12px;
  background:var(--theme-paper,#fff);
}
.account-delete-check input{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0!important;
  align-self:center;
}
.account-delete-check span{
  min-width:0;
  line-height:1.4;
}

/* Sign-in failures should be unmistakable without visually overwhelming the login card. */
.cloud-auth-message[data-tone="error"]{
  display:block!important;
  margin-top:12px!important;
  padding:10px 11px;
  border:1px solid #D89191;
  border-radius:12px;
  background:#FFF3F3;
  color:#8A1F1F!important;
  font-weight:800;
  line-height:1.4;
  text-align:left;
}
.cloud-auth-message[data-tone="busy"]{
  color:var(--theme-muted,var(--muted));
  font-weight:700;
}

html[data-appearance="dark"] .legal-document-link,
html[data-appearance="dark"] .account-legal-panel,
html[data-appearance="dark"] .account-delete-check{
  background:#101B22!important;
  border-color:#38505D!important;
  color:var(--theme-text)!important;
}
html[data-appearance="dark"] .legal-document-link:hover{background:#16242D!important;border-color:#517387!important}
html[data-appearance="dark"] .account-delete-panel{
  background:#2B1C20!important;
  border-color:#75434B!important;
}
html[data-appearance="dark"] .cloud-auth-message[data-tone="error"]{
  background:#321D21!important;
  border-color:#824B55!important;
  color:#FFD1D1!important;
}

@media(max-width:420px){
  .cloud-login-card .legal-inline-acceptance .legal-document-links,
  .cloud-login-card .legal-document-links-stack,
  .account-legal-links{grid-template-columns:1fr}
}


/* ==========================================================
   Carekeeping v38.38.8 — Readable Privacy Admin Assignee Pass 1
   ========================================================== */
.product-admin-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.product-admin-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;border-radius:999px;padding:0 8px;background:var(--sky);border:1px solid var(--line);color:var(--navy);font-size:.7rem;font-weight:900}
.product-admin-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 6px}
.product-admin-filter-grid .field{margin:0}
.product-admin-filter-grid select{min-height:42px}
.product-admin-privacy-workspace{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.35fr);gap:14px;align-items:start;margin-top:10px}
.product-admin-pane-label{margin:0 0 6px;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.product-admin-request-list{display:grid;gap:8px;max-height:620px;overflow:auto;padding-right:2px}
.product-admin-request-row{width:100%;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--bg);padding:11px 12px;color:var(--ink);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.product-admin-request-row:hover{background:var(--paper);border-color:color-mix(in srgb,var(--navy) 28%,var(--line))}
.product-admin-request-row:focus-visible{outline:3px solid color-mix(in srgb,var(--sky) 62%,transparent);outline-offset:2px}
.product-admin-request-row.active{background:var(--paper);border-color:var(--navy);box-shadow:0 0 0 2px color-mix(in srgb,var(--sky) 76%,transparent)}
.product-admin-request-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.product-admin-request-ref{font-size:.8rem;font-weight:950;color:var(--navy);overflow-wrap:anywhere}
.product-admin-request-person{margin-top:5px;font-size:.76rem;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.product-admin-request-meta{margin-top:4px;font-size:.68rem;color:var(--muted);line-height:1.35}
.product-admin-status-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:3px 7px;background:var(--sky);color:var(--navy);font-size:.64rem;font-weight:900}
.product-admin-status-pill.processing{background:var(--amber-bg);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 35%,var(--line))}
.product-admin-status-pill.completion{background:var(--green-bg);color:var(--green);border-color:color-mix(in srgb,var(--green) 35%,var(--line))}
.product-admin-status-pill.denial{background:var(--red-bg);color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,var(--line))}
.product-admin-status-pill.appeal{background:var(--purple-bg,var(--sky));color:var(--purple,var(--navy))}
.product-admin-request-detail{min-height:180px}
.product-admin-detail-card{border:1px solid var(--line);border-radius:14px;background:var(--bg);padding:13px}
.product-admin-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}
.product-admin-detail-header h3{margin:0;color:var(--navy);font-size:.98rem;overflow-wrap:anywhere}
.product-admin-detail-sub{margin-top:3px;color:var(--muted);font-size:.7rem;line-height:1.4}
.product-admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.product-admin-detail-item{min-width:0}
.product-admin-detail-item.wide{grid-column:1/-1}
.product-admin-detail-label{display:block;color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px}
.product-admin-detail-value{color:var(--ink);font-size:.76rem;font-weight:750;line-height:1.45;overflow-wrap:anywhere}
.product-admin-request-text{border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:10px;white-space:pre-wrap;font-size:.74rem;line-height:1.48;color:var(--ink);max-height:190px;overflow:auto}
.product-admin-workflow-card{margin-top:12px;border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:12px}
.product-admin-workflow-card h4,.product-admin-events h4{margin:0 0 8px;color:var(--navy);font-size:.82rem}
.product-admin-workflow-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.product-admin-workflow-fields .field{margin:0}
.product-admin-workflow-fields .wide{grid-column:1/-1}
.product-admin-workflow-fields textarea{min-height:76px}
.product-admin-action-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.product-admin-action-row .btn{width:auto!important;margin:0!important}
.product-admin-action-row .btn.danger{background:var(--red-bg)!important;color:var(--red)!important;border-color:color-mix(in srgb,var(--red) 40%,var(--line))!important}
.product-admin-events{margin-top:12px}
.product-admin-event-list{display:grid;gap:7px}
.product-admin-event{border-left:3px solid var(--line);padding:5px 0 5px 10px}
.product-admin-event strong{display:block;color:var(--navy);font-size:.73rem}
.product-admin-event-meta{font-size:.65rem;color:var(--muted);margin-top:2px}
.product-admin-event-note{font-size:.7rem;color:var(--ink);line-height:1.4;margin-top:3px;white-space:pre-wrap}
.product-admin-sensitive-note{margin:0 0 9px;border:1px solid var(--line);border-radius:11px;padding:8px 10px;background:var(--sky);color:var(--muted);font-size:.7rem;line-height:1.4}
@media(max-width:900px){
  .product-admin-privacy-workspace{grid-template-columns:1fr}
  .product-admin-request-list{max-height:360px}
}
@media(max-width:620px){
  .product-admin-filter-grid,.product-admin-detail-grid,.product-admin-workflow-fields{grid-template-columns:1fr}
  .product-admin-detail-item.wide,.product-admin-workflow-fields .wide{grid-column:auto}
  .product-admin-detail-header{flex-direction:column}
}


/* ==========================================================
   Carekeeping v38.38.13 — Native Security Onboarding Pass 1
   ========================================================== */
.product-admin-execution-card{
  margin-top:12px;
  border:1px solid color-mix(in srgb,var(--red) 36%,var(--line));
  border-radius:12px;
  background:var(--red-bg);
  padding:11px 12px
}
.product-admin-execution-card strong{
  display:block;
  color:var(--red);
  font-size:.8rem;
  margin-bottom:4px
}
.product-admin-execution-card p{
  margin:0 0 9px;
  color:var(--ink);
  font-size:.71rem;
  line-height:1.48
}
.product-admin-execution-card label{
  display:block;
  color:var(--navy);
  font-size:.68rem;
  font-weight:900;
  margin-bottom:4px
}
.product-admin-execution-card input{
  width:100%;
  min-height:42px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-weight:800
}
.product-admin-execution-card small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.65rem
}
.product-admin-version-badge{margin-top:8px}


/* ======================================================================
   Carekeeping v38.38.13 — Native Security Onboarding Pass 1
   Today missed-care contrast + immediate privacy shield.
   ====================================================================== */
.app-privacy-shield{
  position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;
  padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));
  background:var(--surface-background);color:var(--text-primary)
}
.app-privacy-shield[hidden]{display:none!important}
.app-privacy-shield-card{display:grid;justify-items:center;gap:10px;text-align:center}
.app-privacy-shield-card img{width:min(230px,68vw);height:auto}
.app-privacy-shield-card strong{font-size:.9rem;color:var(--text-secondary)}
body.app-privacy-shield-active .app,body.app-privacy-shield-active .bottom-nav{visibility:hidden!important}
.app-lock-biometric-consent-note{display:block;margin-top:3px;color:var(--text-muted);font-size:.7rem;font-weight:650;line-height:1.35}

/* Record missed care: use semantic surfaces/tokens throughout, including dark mode. */
#backfillCareDialog{
  background:var(--surface-raised)!important;color:var(--text-primary)!important;
  border:1px solid var(--action-control-border)!important
}
#backfillCareDialog .dialog-body{background:var(--surface-raised)!important;color:var(--text-primary)!important}
#backfillCareDialog h2,#backfillCareDialog label,#backfillCareDialog .backfill-item strong{color:var(--text-primary)!important}
#backfillCareDialog .helper,#backfillCareDialog .backfill-round-head small,#backfillCareDialog .backfill-item small{color:var(--text-muted)!important;opacity:1!important}
#backfillCareDialog input,#backfillCareDialog select,#backfillCareDialog textarea,#backfillCareDialog .time-wheel-trigger{
  background:var(--surface-raised)!important;color:var(--text-primary)!important;
  border-color:var(--action-control-border)!important;-webkit-text-fill-color:var(--text-primary)!important
}
#backfillCareDialog .time-wheel-trigger.placeholder{color:var(--text-placeholder)!important;-webkit-text-fill-color:var(--text-placeholder)!important}
#backfillCareDialog .backfill-round{background:var(--surface-raised)!important;border-color:var(--action-control-border)!important}
#backfillCareDialog .backfill-round-head{background:var(--surface-subtle)!important;border-color:var(--action-control-border)!important}
#backfillCareDialog .backfill-round-head strong{color:var(--theme-primary-text)!important}
#backfillCareDialog .backfill-item{background:var(--surface-raised)!important;border-color:var(--action-control-border)!important;color:var(--text-primary)!important}
#backfillCareDialog .backfill-item:hover,#backfillCareDialog .backfill-item:focus-within{background:var(--surface-subtle)!important}
#backfillCareDialog .backfill-empty,#backfillCareDialog .backfill-audit-note{background:var(--surface-subtle)!important;color:var(--text-secondary)!important;border-color:var(--action-control-border)!important}
#backfillCareDialog .notice.info{background:var(--status-info-background)!important;color:var(--status-info-foreground)!important;border-color:var(--status-info-border)!important}
#backfillCareDialog .notice.info strong,#backfillCareDialog .notice.info span{color:var(--status-info-foreground)!important}
#backfillCareDialog .check-row{color:var(--text-primary)!important}
#backfillCareDialog .dialog-actions{background:var(--surface-raised)!important;border-color:var(--action-control-border)!important}


/* ==========================================================
   Carekeeping v38.38.13 — Native Security Onboarding Pass 1
   ========================================================== */
.native-security-setup-dialog{width:min(620px,calc(100% - 24px));padding:0;border:1px solid var(--action-control-border,var(--line));border-radius:22px;background:var(--surface-raised,var(--theme-paper,#fff));color:var(--text-primary,var(--theme-ink,var(--ink)));box-shadow:0 28px 80px rgba(5,22,36,.32)}
.native-security-setup-dialog::backdrop{background:rgba(7,22,38,.62);backdrop-filter:blur(3px)}
.native-security-setup-body{padding:22px}
.native-security-setup-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;margin-bottom:12px;background:var(--status-success-background,#eaf7ef);color:var(--status-success-foreground,#185c37);border:1px solid var(--action-control-border,var(--line));font-size:1.2rem;font-weight:950}
.native-security-setup-body>h2{color:var(--text-primary,var(--theme-ink,var(--ink)));margin:0 0 7px}
.native-security-setup-body>p{color:var(--text-muted,var(--theme-muted,var(--muted)));line-height:1.48;margin:0 0 16px}
.native-security-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;margin-top:10px;border:1px solid var(--action-control-border,var(--line));border-radius:16px;background:var(--surface-default,var(--theme-paper,#fff))}
.native-security-choice-copy{min-width:0;display:grid;gap:4px}.native-security-choice-copy strong{color:var(--text-primary,var(--theme-ink,var(--ink)));font-size:.95rem}.native-security-choice-copy span{color:var(--text-muted,var(--theme-muted,var(--muted)));font-size:.8rem;line-height:1.42}.native-security-choice-copy small{color:var(--text-link,var(--theme-secondary,var(--navy)));font-size:.72rem;font-weight:850}
.native-security-choice.is-complete{border-color:var(--status-success-foreground,#356100);background:color-mix(in srgb,var(--status-success-background,#eaf7ef) 70%,var(--surface-default,#fff))}.native-security-choice.is-complete .btn{background:var(--surface-disabled,#eef2f5)!important;color:var(--text-disabled,#526678)!important;border:1px solid var(--action-control-border,var(--line))!important}
.native-security-setup-note{margin-top:14px;padding:10px 12px;border-radius:12px;background:var(--surface-subtle,var(--theme-soft,#eef8ff));border:1px solid var(--action-control-border,var(--line));color:var(--text-muted,var(--theme-muted,var(--muted)));font-size:.76rem;line-height:1.4}
.native-security-setup-actions{justify-content:flex-end}.native-security-setup-actions .btn{min-width:112px}
html[data-appearance="dark"] .native-security-setup-dialog{background:#14232D!important;border-color:#60798A!important;color:#F6F9FB!important}html[data-appearance="dark"] .native-security-choice{background:#17232D!important;border-color:#60798A!important}html[data-appearance="dark"] .native-security-choice-copy strong,html[data-appearance="dark"] .native-security-setup-body>h2{color:#F6F9FB!important}html[data-appearance="dark"] .native-security-choice-copy span,html[data-appearance="dark"] .native-security-setup-body>p,html[data-appearance="dark"] .native-security-setup-note{color:#BAC7D1!important}html[data-appearance="dark"] .native-security-choice-copy small{color:#9FD2FF!important}html[data-appearance="dark"] .native-security-setup-note{background:#101B22!important;border-color:#60798A!important}
@media(max-width:560px){.native-security-setup-dialog{width:calc(100% - 16px);border-radius:18px}.native-security-setup-body{padding:17px}.native-security-choice{grid-template-columns:1fr}.native-security-choice .btn{width:100%}.native-security-setup-actions .btn{width:100%}}

@media (prefers-color-scheme:dark){
  html[data-appearance="system"] .native-security-setup-dialog{background:#14232D!important;border-color:#60798A!important;color:#F6F9FB!important}
  html[data-appearance="system"] .native-security-choice{background:#17232D!important;border-color:#60798A!important}
  html[data-appearance="system"] .native-security-choice-copy strong,html[data-appearance="system"] .native-security-setup-body>h2{color:#F6F9FB!important}
  html[data-appearance="system"] .native-security-choice-copy span,html[data-appearance="system"] .native-security-setup-body>p,html[data-appearance="system"] .native-security-setup-note{color:#BAC7D1!important}
  html[data-appearance="system"] .native-security-choice-copy small{color:#9FD2FF!important}
  html[data-appearance="system"] .native-security-setup-note{background:#101B22!important;border-color:#60798A!important}
}


/* Carekeeping v38.38.14 — Mobile UI & Report Polish Pass 1 */


/* ======================================================================
   Carekeeping v38.38.15 — Global Dark Contrast + Today Action Simplification
   ====================================================================== */

/*
   Dialogs are semantic surfaces in every appearance mode. This closes the
   System + dark-OS mismatch where controls inherited dark styling while the
   dialog canvas remained light. These rules intentionally apply globally so
   every current and future form dialog inherits the same readable contract.
*/
dialog,
dialog .dialog-body,
dialog form.dialog-body{
  background:var(--surface-raised,var(--theme-paper,var(--paper,#fff)))!important;
  color:var(--text-primary,var(--theme-ink,var(--ink,#17222c)))!important;
}
dialog{border-color:var(--action-control-border,var(--theme-line,var(--line)))!important}
dialog :is(h1,h2,h3,h4,h5,h6,label,.field>label,.check-row,.radio-option strong){
  color:var(--text-primary,var(--theme-ink,var(--ink,#17222c)))!important;
}
dialog :is(.helper,.mini-note,.meta-line,.legacy-time-note,.radio-option small,.dialog-subtitle){
  color:var(--text-muted,var(--theme-muted,var(--muted,#65727e)))!important;
  opacity:1!important;
}
dialog :is(input,select,textarea,.time-wheel-trigger){
  background:var(--surface-raised,var(--theme-paper,#fff))!important;
  color:var(--text-primary,var(--theme-ink,var(--ink)))!important;
  -webkit-text-fill-color:var(--text-primary,var(--theme-ink,var(--ink)))!important;
  border-color:var(--action-control-border,var(--theme-line,var(--line)))!important;
}
dialog :is(input,textarea)::placeholder{
  color:var(--text-placeholder,var(--theme-muted,var(--muted)))!important;
  -webkit-text-fill-color:var(--text-placeholder,var(--theme-muted,var(--muted)))!important;
  opacity:1!important;
}
dialog .dialog-actions{
  background:var(--surface-raised,var(--theme-paper,var(--paper,#fff)))!important;
  border-color:var(--action-control-border,var(--theme-line,var(--line)))!important;
}

/* System appearance must receive a dark dialog canvas whenever the OS is dark. */
@media(prefers-color-scheme:dark){
  html[data-appearance="system"] dialog,
  html[data-appearance="system"] dialog .dialog-body,
  html[data-appearance="system"] dialog form.dialog-body{
    background:var(--surface-raised,#17232D)!important;
    color:var(--text-primary,#F6F9FB)!important;
  }
}

/* Today keeps the two frequent actions visible. Safety/coordination actions
   remain available without turning each medication card into a 2x2 button grid. */
.today-primary-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px;
}
.today-primary-actions .btn{width:100%;min-width:0}
.today-more-actions{margin-top:8px}
.today-more-actions>summary{
  display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;
  min-height:36px;padding:6px 2px;color:var(--text-link,var(--theme-primary,var(--navy)));
  font-size:.78rem;font-weight:850;user-select:none
}
.today-more-actions>summary::-webkit-details-marker{display:none}
.today-more-actions>summary::after{content:'▾';font-size:.72rem;transition:transform .15s ease}
.today-more-actions[open]>summary::after{transform:rotate(180deg)}
.today-more-menu{
  display:flex;gap:7px;flex-wrap:wrap;padding:7px 0 1px;
}
.today-more-menu .btn{min-height:40px}
@media(max-width:600px){
  .today-primary-actions{grid-template-columns:1fr 1fr}
  .today-more-menu{display:grid;grid-template-columns:1fr}
  .today-more-menu .btn{width:100%}
}

/* System + dark OS: controls must match the explicit Dark appearance contract. */
@media(prefers-color-scheme:dark){
  html[data-appearance="system"] :is(
    .btn.outline,.icon-btn,.tab-btn,.profile-tab,.care-library-tab,
    .calendar-icon-btn,.calendar-today-btn
  ){
    background:#101B23!important;
    color:var(--text-link,#9FD2FF)!important;
    border-color:var(--action-control-border,#60798A)!important;
  }
  html[data-appearance="system"] :is(.tab-btn,.profile-tab,.care-library-tab).active{
    background:var(--action-selected-background,#0B5FA5)!important;
    color:var(--action-selected-foreground,#FFFFFF)!important;
    border-color:var(--action-selected-background,#0B5FA5)!important;
  }
}

/* Legal/privacy controls and destructive account card use semantic colors in all modes/themes. */
.legal-document-link{
  background:var(--surface-raised,var(--theme-paper,#fff))!important;
  color:var(--text-link,var(--theme-primary,var(--navy)))!important;
  border-color:var(--action-control-border,var(--theme-line,var(--line)))!important;
}
.legal-document-link:hover{
  background:var(--surface-subtle,var(--theme-soft,#eef4f8))!important;
  border-color:var(--action-control-border,var(--theme-line,var(--line)))!important;
}
.account-legal-panel,.account-delete-check{
  background:var(--surface-raised,var(--theme-paper,#fff))!important;
  color:var(--text-primary,var(--theme-ink,var(--ink)))!important;
  border-color:var(--action-control-border,var(--theme-line,var(--line)))!important;
}
.account-delete-panel{
  background:var(--status-error-background,var(--red-bg,#fff0f0))!important;
  color:var(--text-primary,var(--theme-ink,var(--ink)))!important;
  border-color:var(--status-error-border,var(--red,#a93232))!important;
}
.account-delete-panel .account-delete-heading{color:var(--status-error-foreground,var(--red))!important}
.account-delete-panel :is(.settings-action-copy,.helper){color:var(--text-secondary,var(--theme-muted,var(--muted)))!important;opacity:1!important}

/* ======================================================================
   Carekeeping v38.38.16 — Preset Theme Cohesion Pass 1

   Purpose:
   The selectable themes now drive every BRAND role consistently instead of
   only the newest theme-token-aware surfaces. Safety/status semantics remain
   independent of user theme: warning/overdue = amber, danger/missed = red,
   success/status = semantic green, and informational/hold states remain info.
   ====================================================================== */

/* Theme role contract — light appearance. */
html[data-theme="carekeeping"]{
  --theme-primary:#063A7A;--theme-secondary:#2EA8FF;--theme-accent:#9AE11D;--theme-soft:#DCE8F5;
  --theme-heading:#063A7A;--theme-link:#063A7A;--theme-action:#063A7A;--theme-focus:#063A7A;
  --theme-control-accent:#063A7A;--theme-accent-foreground:#17222C;
}
html[data-theme="ocean"]{
  --theme-primary:#075985;--theme-secondary:#06B6D4;--theme-accent:#2DD4BF;--theme-soft:#CFFAFE;
  --theme-heading:#075985;--theme-link:#075985;--theme-action:#075985;--theme-focus:#075985;
  --theme-control-accent:#075985;--theme-accent-foreground:#17222C;
}
html[data-theme="lavender"]{
  --theme-primary:#5B3F8C;--theme-secondary:#8B5CF6;--theme-accent:#60A5FA;--theme-soft:#EDE9FE;
  --theme-heading:#5B3F8C;--theme-link:#5B3F8C;--theme-action:#5B3F8C;--theme-focus:#5B3F8C;
  --theme-control-accent:#5B3F8C;--theme-accent-foreground:#17222C;
}
html[data-theme="rose"]{
  --theme-primary:#7F1D3A;--theme-secondary:#E85D8E;--theme-accent:#F4A7C1;--theme-soft:#FCE7F3;
  --theme-heading:#7F1D3A;--theme-link:#7F1D3A;--theme-action:#7F1D3A;--theme-focus:#7F1D3A;
  --theme-control-accent:#7F1D3A;--theme-accent-foreground:#17222C;
}
html[data-theme="forest"]{
  --theme-primary:#14532D;--theme-secondary:#2F855A;--theme-accent:#84CC16;--theme-soft:#DCFCE7;
  --theme-heading:#14532D;--theme-link:#14532D;--theme-action:#14532D;--theme-focus:#14532D;
  --theme-control-accent:#14532D;--theme-accent-foreground:#17222C;
}
html[data-theme="neutral"]{
  --theme-primary:#334155;--theme-secondary:#64748B;--theme-accent:#38BDF8;--theme-soft:#E2E8F0;
  --theme-heading:#334155;--theme-link:#334155;--theme-action:#334155;--theme-focus:#334155;
  --theme-control-accent:#334155;--theme-accent-foreground:#17222C;
}

/* Theme role contract — explicit dark appearance.  Primary surface colors stay
   deep enough for white button/header text; readable accents/headings become
   brighter theme-specific tints. */
html[data-theme="carekeeping"][data-appearance="dark"]{
  --theme-secondary:#55B7FF;--theme-accent:#B7F34A;--theme-heading:#9FD2FF;
  --theme-link:#9FD2FF;--theme-action:#0B5FA5;--theme-focus:#9FD2FF;--theme-control-accent:#9FD2FF;
}
html[data-theme="ocean"][data-appearance="dark"]{
  --theme-secondary:#22D3EE;--theme-accent:#5EEAD4;--theme-heading:#67E8F9;
  --theme-link:#67E8F9;--theme-action:#0E7490;--theme-focus:#67E8F9;--theme-control-accent:#67E8F9;
}
html[data-theme="lavender"][data-appearance="dark"]{
  --theme-secondary:#A78BFA;--theme-accent:#93C5FD;--theme-heading:#C4B5FD;
  --theme-link:#C4B5FD;--theme-action:#6D4AC7;--theme-focus:#C4B5FD;--theme-control-accent:#C4B5FD;
}
html[data-theme="rose"][data-appearance="dark"]{
  --theme-secondary:#F472B6;--theme-accent:#F9A8D4;--theme-heading:#FDA4C7;
  --theme-link:#FDA4C7;--theme-action:#A13762;--theme-focus:#FDA4C7;--theme-control-accent:#FDA4C7;
}
html[data-theme="forest"][data-appearance="dark"]{
  --theme-secondary:#4ADE80;--theme-accent:#A3E635;--theme-heading:#86EFAC;
  --theme-link:#86EFAC;--theme-action:#247A48;--theme-focus:#86EFAC;--theme-control-accent:#86EFAC;
}
html[data-theme="neutral"][data-appearance="dark"]{
  --theme-secondary:#94A3B8;--theme-accent:#7DD3FC;--theme-heading:#CBD5E1;
  --theme-link:#CBD5E1;--theme-action:#526579;--theme-focus:#CBD5E1;--theme-control-accent:#CBD5E1;
}

/* System-dark receives the same per-theme roles. */
@media(prefers-color-scheme:dark){
  html[data-theme="carekeeping"][data-appearance="system"]{--theme-secondary:#55B7FF;--theme-accent:#B7F34A;--theme-heading:#9FD2FF;--theme-link:#9FD2FF;--theme-action:#0B5FA5;--theme-focus:#9FD2FF;--theme-control-accent:#9FD2FF}
  html[data-theme="ocean"][data-appearance="system"]{--theme-secondary:#22D3EE;--theme-accent:#5EEAD4;--theme-heading:#67E8F9;--theme-link:#67E8F9;--theme-action:#0E7490;--theme-focus:#67E8F9;--theme-control-accent:#67E8F9}
  html[data-theme="lavender"][data-appearance="system"]{--theme-secondary:#A78BFA;--theme-accent:#93C5FD;--theme-heading:#C4B5FD;--theme-link:#C4B5FD;--theme-action:#6D4AC7;--theme-focus:#C4B5FD;--theme-control-accent:#C4B5FD}
  html[data-theme="rose"][data-appearance="system"]{--theme-secondary:#F472B6;--theme-accent:#F9A8D4;--theme-heading:#FDA4C7;--theme-link:#FDA4C7;--theme-action:#A13762;--theme-focus:#FDA4C7;--theme-control-accent:#FDA4C7}
  html[data-theme="forest"][data-appearance="system"]{--theme-secondary:#4ADE80;--theme-accent:#A3E635;--theme-heading:#86EFAC;--theme-link:#86EFAC;--theme-action:#247A48;--theme-focus:#86EFAC;--theme-control-accent:#86EFAC}
  html[data-theme="neutral"][data-appearance="system"]{--theme-secondary:#94A3B8;--theme-accent:#7DD3FC;--theme-heading:#CBD5E1;--theme-link:#CBD5E1;--theme-action:#526579;--theme-focus:#CBD5E1;--theme-control-accent:#CBD5E1}
}

/* Bridge mature/legacy brand variables into the active preset.
   This is the key compatibility layer that prevents old Carekeeping-blue
   components from ignoring Ocean/Lavender/Rose/Forest/Neutral. */
:root{
  --navy:var(--theme-primary);
  --blue:var(--theme-link,var(--theme-secondary,#1675B8));
  --sky:color-mix(in srgb,var(--theme-soft) 76%,var(--theme-paper));
  --brand-blue:var(--theme-secondary);
  --brand-lime:var(--theme-accent);
  --brand-mist:var(--theme-soft);
  --text-link:var(--theme-link,var(--theme-primary,#063A7A));
  --action-primary-background:var(--theme-action,var(--theme-primary,#063A7A));
  --action-selected-background:var(--theme-action,var(--theme-primary,#063A7A));
  --action-focus-ring:var(--theme-focus,var(--theme-primary,#063A7A));
  --action-accent-control:var(--theme-control-accent,var(--theme-secondary,#1675B8));
  --theme-primary-text:var(--theme-heading,var(--theme-primary,#063A7A));
}
html[data-appearance="dark"]{
  --theme-soft:color-mix(in srgb,var(--theme-heading,var(--theme-primary,#9FD2FF)) 13%,var(--surface-raised));
  --navy:var(--theme-heading,var(--theme-primary,#9FD2FF));
  --blue:var(--theme-link,var(--theme-secondary,#9FD2FF));
  --sky:color-mix(in srgb,var(--theme-heading) 11%,var(--surface-raised));
  --brand-blue:var(--theme-secondary);
  --brand-lime:var(--theme-accent);
  --brand-mist:var(--theme-soft);
}
@media(prefers-color-scheme:dark){
  html[data-appearance="system"]{
    --theme-soft:color-mix(in srgb,var(--theme-heading,var(--theme-primary,#9FD2FF)) 13%,var(--surface-raised));
    --navy:var(--theme-heading,var(--theme-primary,#9FD2FF));
    --blue:var(--theme-link,var(--theme-secondary,#9FD2FF));
    --sky:color-mix(in srgb,var(--theme-heading) 11%,var(--surface-raised));
    --brand-blue:var(--theme-secondary);
    --brand-lime:var(--theme-accent);
    --brand-mist:var(--theme-soft);
    --text-link:var(--theme-link,var(--theme-primary,#9FD2FF));
    --action-primary-background:var(--theme-action,var(--theme-primary,#0B5FA5));
    --action-selected-background:var(--theme-action,var(--theme-primary,#0B5FA5));
    --action-focus-ring:var(--theme-focus,var(--theme-heading,#9FD2FF));
    --action-accent-control:var(--theme-control-accent,var(--theme-secondary,#9FD2FF));
    --theme-primary-text:var(--theme-heading,var(--theme-primary,#9FD2FF));
  }
}

/* Brand surfaces should follow the preset. Safety/status variants are excluded. */
header,
.regimen-head,
.schedule-time-head,
.active-patient-card,
.supply-med-card:not(.low):not(.out) .supply-card-head,
.time-group:not(.complete):not(.overdue):not(.missed):not(.held) .time-group-header{
  background:linear-gradient(135deg,
    var(--theme-primary),
    color-mix(in srgb,var(--theme-primary) 76%,var(--theme-secondary)))!important;
}

/* Completed rounds intentionally feel coordinated with the chosen preset while
   overdue/missed/held continue to communicate semantic state independently. */
.time-group.complete{
  border-color:color-mix(in srgb,var(--theme-secondary) 40%,var(--theme-line))!important;
}
.time-group.complete .time-group-header{
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--theme-primary) 88%,var(--theme-accent)),
    color-mix(in srgb,var(--theme-primary) 68%,var(--theme-secondary)))!important;
  color:#FFFFFF!important;
}
.time-group.complete .round-label,.time-group.complete .round-meta{color:#FFFFFF!important}

/* Progress and positive primary-care actions are brand accents, not safety
   statuses, so they now move with the preset too. */
.progress>span{background:var(--theme-control-accent)!important}
.btn.given,.next-round-pill,.last-recorded-icon{
  background:var(--theme-accent)!important;
  color:var(--theme-accent-foreground)!important;
  border-color:color-mix(in srgb,var(--theme-accent) 65%,var(--theme-primary))!important;
}

/* All ordinary headings/legacy heading roles inherit the selected preset.
   Explicit warning/error/status selectors remain later/more-specific semantic
   colors and are intentionally not included here. */
h2,h3,h4,.section-head h2,.appointments-top h2,
.subhead,.time,.stock,.handoff-row .when,.one-time-row .when,
.care-hub-head h3,.profile-summary strong,.security-stat strong,.permission-card h4,
.supply-meta-card strong,.contact-read-card>strong,.patient-roster-item strong,
.device-simple-head h3,.device-expiry-preview strong,.supply-schedule-note strong,
.account-choice strong,.family-code-display,.settings-label{
  color:var(--theme-primary-text)!important;
}

/* Theme-aware navigation and selectable surfaces. */
.nav-btn.active{
  background:color-mix(in srgb,var(--theme-soft) 82%,var(--surface-raised))!important;
  color:var(--theme-primary-text)!important;
}
.nav-btn.active .nav-icon{color:var(--theme-control-accent)!important}
.bottom-nav{border-top-color:color-mix(in srgb,var(--theme-control-accent) 22%,var(--theme-line))!important}
.care-library-tab.active,.tab-btn.active,.profile-tab.active,.view-switch button.active:not(.btn){
  background:var(--theme-action)!important;color:#FFFFFF!important;border-color:var(--theme-action)!important;
}
.library-item.selected,.patient-roster-item.active,.notification-grid .toggle-card:has(input:checked),
.schedule-type-card:has(input:checked){
  border-color:var(--theme-control-accent)!important;
  box-shadow:inset 4px 0 0 var(--theme-control-accent),0 5px 16px color-mix(in srgb,var(--theme-primary) 10%,transparent)!important;
}

/* Theme-aware soft/info-like brand panels. These are ordinary brand emphasis,
   not warning/error/success state panels. */
.care-library-selected,.ux-setup-guide,.ux-welcome-guide,.ux-next-step,
.inhaler-settings-panel,.inhaler-record-guidance,.global-search-input-wrap{
  background:color-mix(in srgb,var(--theme-soft) 64%,var(--theme-paper))!important;
  border-color:color-mix(in srgb,var(--theme-secondary) 30%,var(--theme-line))!important;
}

/* Focus/selection should visually belong to the selected preset. */
:where(button,a[href],input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline-color:var(--theme-focus)!important;
  box-shadow:0 0 0 1px var(--surface-raised),0 0 0 6px color-mix(in srgb,var(--theme-focus) 30%,transparent)!important;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--theme-control-accent)!important}

/* Preserve status semantics regardless of theme selection. */
.notice.warn,.status-line.warn,.time-group.overdue,.supply-med-card.low,.health-item.warn,
.invite-status.manual,.invite-status.code_ready,.supply-status-chip.low,.supply-status-chip.soon{
  /* semantic amber rules intentionally remain authoritative */
}
.notice.danger,.time-group.missed,.supply-med-card.out,.history-item.safety-event,
.danger-zone,.remove-patient-card,.password-mismatch-warning{
  /* semantic red rules intentionally remain authoritative */
}

/* High-specificity compatibility overrides for the older dark-appearance layer.
   These replace fixed Carekeeping-blue accents with the selected preset while
   retaining the neutral dark surface hierarchy. */
html[data-appearance="dark"]{
  --ck-dark-accent:var(--theme-heading);
  --ck-dark-button:var(--theme-action);
}
@media(prefers-color-scheme:dark){
  html[data-appearance="system"]{
    --ck-dark-accent:var(--theme-heading);
    --ck-dark-button:var(--theme-action);
  }
}

html[data-appearance="dark"] :is(.section-head h2,.appointments-top h2,.panel>h3,.care-hub-head h3),
html[data-appearance="dark"] :is(.calendar-icon-btn,.calendar-today-btn){
  color:var(--theme-heading)!important;
}
html[data-appearance="dark"] .btn.primary{
  background:var(--theme-action)!important;
  color:#FFFFFF!important;
  border-color:color-mix(in srgb,var(--theme-action) 78%,var(--theme-heading))!important;
}
html[data-appearance="dark"] :is(.btn.given,.next-round-pill,.last-recorded-icon,.role-pill.owner){
  background:var(--theme-accent)!important;
  color:var(--theme-accent-foreground)!important;
  border-color:color-mix(in srgb,var(--theme-accent) 64%,var(--theme-primary))!important;
}
html[data-appearance="dark"] .calendar-day.selected .day-number{
  background:var(--theme-action)!important;color:#FFFFFF!important;
}
html[data-appearance="dark"] .bottom-nav button.active{
  background:color-mix(in srgb,var(--theme-heading) 14%,var(--ck-dark-surface))!important;
  color:var(--theme-heading)!important;
}
html[data-appearance="dark"] .bottom-nav button.active .nav-icon{color:var(--theme-heading)!important}
html[data-appearance="dark"] .profile-menu-chevron::after{border-color:var(--theme-heading)!important}
html[data-appearance="dark"] .calendar-day .event-dot{background:var(--theme-heading)!important}

@media(prefers-color-scheme:dark){
  html[data-appearance="system"] :is(.section-head h2,.appointments-top h2,.panel>h3,.care-hub-head h3),
  html[data-appearance="system"] :is(.calendar-icon-btn,.calendar-today-btn){color:var(--theme-heading)!important}
  html[data-appearance="system"] .btn.primary{
    background:var(--theme-action)!important;color:#FFFFFF!important;
    border-color:color-mix(in srgb,var(--theme-action) 78%,var(--theme-heading))!important;
  }
  html[data-appearance="system"] :is(.btn.given,.next-round-pill,.last-recorded-icon,.role-pill.owner){
    background:var(--theme-accent)!important;color:var(--theme-accent-foreground)!important;
    border-color:color-mix(in srgb,var(--theme-accent) 64%,var(--theme-primary))!important;
  }
  html[data-appearance="system"] .calendar-day.selected .day-number{background:var(--theme-action)!important;color:#FFFFFF!important}
  html[data-appearance="system"] .bottom-nav button.active{
    background:color-mix(in srgb,var(--theme-heading) 14%,var(--ck-dark-surface))!important;
    color:var(--theme-heading)!important;
  }
  html[data-appearance="system"] .bottom-nav button.active .nav-icon{color:var(--theme-heading)!important}
  html[data-appearance="system"] .profile-menu-chevron::after{border-color:var(--theme-heading)!important}
  html[data-appearance="system"] .calendar-day .event-dot{background:var(--theme-heading)!important}
}

/* v38.38.16 refinement: make progress and secondary controls visibly belong
   to the selected preset without sacrificing the neutral accessible edge. */
.progress>span{background:var(--theme-accent)!important}
.btn.outline,.icon-btn,.care-library-tab:not(.active),.profile-tab:not(.active),.tab-btn:not(.active),
.calendar-icon-btn,.calendar-today-btn{
  color:var(--theme-primary-text)!important;
}
html[data-appearance="dark"]{
  --action-secondary-foreground:var(--theme-heading);
  --action-secondary-background:color-mix(in srgb,var(--theme-heading) 10%,var(--surface-raised));
}
@media(prefers-color-scheme:dark){
  html[data-appearance="system"]{
    --action-secondary-foreground:var(--theme-heading);
    --action-secondary-background:color-mix(in srgb,var(--theme-heading) 10%,var(--surface-raised));
  }
}


/* ============================================================
   Carekeeping v38.38.19 — Care Round Drag Handle Reliability Pass 1
   ============================================================ */
.time-group .dose-card.round-orderable{position:relative;padding-right:52px}
.today-round-drag-handle{
  position:absolute;right:7px;top:50%;transform:translateY(-50%);z-index:3;
  width:34px;height:50px;display:flex;align-items:center;justify-content:center;
  border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text-muted);
  cursor:ns-resize;touch-action:none;user-select:none;-webkit-user-select:none;
  -webkit-tap-highlight-color:transparent
}
.today-round-drag-handle:hover{background:var(--surface-soft);color:var(--theme-heading);border-color:color-mix(in srgb,var(--theme-heading) 24%,transparent)}
.today-round-drag-handle:active{background:color-mix(in srgb,var(--theme-heading) 14%,var(--surface-raised));color:var(--theme-heading)}
.today-round-drag-handle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;background:var(--surface-soft);color:var(--theme-heading)}
.today-round-grip{display:block;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.78;box-shadow:8px 0 0 currentColor,0 8px 0 currentColor,8px 8px 0 currentColor,0 16px 0 currentColor,8px 16px 0 currentColor;transform:translate(-4px,-8px)}
.round-item-dragging{opacity:.92;transform:scale(.995);box-shadow:0 12px 28px rgba(0,0,0,.2)!important;z-index:5;outline:2px solid color-mix(in srgb,var(--theme-heading) 60%,transparent);outline-offset:2px}
body.today-round-dragging{user-select:none;-webkit-user-select:none;cursor:ns-resize}
@media(max-width:600px){
  .time-group .dose-card.round-orderable{padding-right:50px}
  .today-round-drag-handle{right:5px;width:38px;height:56px}
}

/* Carekeeping v38.38.20 — Care Library UX Pass 1 */
.library-item .library-setup-mini{align-items:flex-start}
.library-item .setup-chip{max-width:100%;white-space:normal;line-height:1.25}
.library-item>div:first-child>p:first-of-type{font-weight:700}
#medMonitoringKindField .helper,#medMedicationFormField .helper,#medTypeHelp{line-height:1.4}
@media(max-width:560px){#libraryItemDialog .form-grid{grid-template-columns:1fr}#medMedicationFormField,#medMonitoringKindField,#medCareCategoryField{grid-column:1/-1}}

#inhalerSupplyDialog .dialog-body{max-width:620px}
.simple-supply-actions [data-inhaler-start]{white-space:nowrap}
@media(max-width:560px){.simple-supply-actions{display:grid;grid-template-columns:1fr}.simple-supply-actions .btn{width:100%}}

/* v38.38.22 — Care Library metadata + Monitoring control polish */
#libraryItemDialog #medMonitoringKindField{grid-column:1/-1}
#libraryItemDialog #medMonitoringKindField select{max-width:100%;text-overflow:ellipsis}


/* v38.38.26 — Today action consistency + glucose reminder selector polish */
.dose-card .today-primary-actions{
  width:min(100%,340px);
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch;
}
.dose-card .today-primary-actions>.btn.given,
.dose-card .today-primary-actions>[data-status="skipped"]{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:initial!important;
  min-height:44px!important;
  padding:9px 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal;
  line-height:1.15;
}
#glucoseScheduleDialog{width:min(560px,calc(100% - 28px))}
.glucose-schedule-mode{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.glucose-schedule-mode .glucose-mode-option{
  min-width:0;
  min-height:76px;
  border:1px solid var(--action-control-border,var(--theme-line,var(--line)));
  border-radius:13px;
  padding:11px 12px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:10px;
  align-items:start;
  background:var(--surface-raised,var(--theme-paper,var(--paper)));
  color:var(--text-primary,var(--theme-ink,var(--ink)));
  cursor:pointer;
}
.glucose-schedule-mode .glucose-mode-option:hover{
  background:var(--surface-subtle,var(--theme-soft));
}
.glucose-schedule-mode .glucose-mode-option:has(input:checked){
  border:2px solid var(--theme-focus,var(--action-focus,#005EA8));
  padding:10px 11px;
  background:color-mix(in srgb,var(--theme-soft,var(--surface-subtle)) 72%,var(--surface-raised));
}
.glucose-schedule-mode .glucose-mode-option input[type="radio"]{
  appearance:auto!important;
  -webkit-appearance:radio!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  margin:1px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  box-shadow:none!important;
  accent-color:var(--theme-control-accent,var(--action-accent-control,var(--theme-primary)))!important;
  align-self:start;
}
.glucose-mode-copy{display:block;min-width:0}
.glucose-mode-copy strong{
  display:block;
  margin:0;
  color:var(--text-primary,var(--theme-ink,var(--ink)))!important;
  font-size:.88rem;
  line-height:1.2;
  font-weight:900;
}
.glucose-mode-copy small{
  display:block;
  margin-top:4px;
  color:var(--text-muted,var(--theme-muted,var(--muted)))!important;
  font-size:.74rem;
  line-height:1.35;
  font-weight:650;
}
@media(max-width:700px){
  #glucoseScheduleDialog{width:calc(100% - 16px);max-height:94dvh}
  #glucoseScheduleDialog .dialog-body{padding:16px}
  .glucose-schedule-mode{grid-template-columns:1fr;gap:8px}
  .glucose-schedule-mode .glucose-mode-option{min-height:0;padding:10px 11px;grid-template-columns:18px minmax(0,1fr)}
  .glucose-schedule-mode .glucose-mode-option:has(input:checked){padding:9px 10px}
  .glucose-mode-copy strong{font-size:.86rem}
  .glucose-mode-copy small{font-size:.73rem}
  .dose-card .today-primary-actions{width:100%}
}

/* v38.38.27 — Glucose Preferences + Invite Expiration Pass 1 */
#glucoseProfileSettingsCard .form-grid{max-width:360px}
#glucoseProfileSettingsCard .form-actions{margin-top:10px}
.invite-expiration-notice{margin-bottom:10px}
.invite-row.expired{border:1px solid var(--status-warning-border,#A86A00);border-radius:12px;padding:11px 12px;margin:8px 0;background:var(--status-warning-surface,#FFF4D6)}
.invite-row.expiring{border-left:3px solid var(--status-warning-border,#A86A00);padding-left:10px}
.invite-status.expired,.invite-status.expiring{background:var(--status-warning-surface,#FFF4D6)!important;color:var(--status-warning-foreground,#704600)!important;border:1px solid var(--status-warning-border,#A86A00)}
.invite-expiry-line{margin-top:4px;font-weight:800}
.invite-expiry-line.expired,.invite-expiry-line.expiring{color:var(--status-warning-foreground,#704600)!important}
html[data-appearance="dark"] .invite-row.expired{background:var(--status-warning-surface,#3A2D12);border-color:var(--status-warning-border,#D9A441)}
@media(prefers-color-scheme:dark){html[data-appearance="system"] .invite-row.expired{background:var(--status-warning-surface,#3A2D12);border-color:var(--status-warning-border,#D9A441)}}
@media(max-width:600px){#glucoseProfileSettingsCard .form-grid{max-width:none}.invite-row.expired{padding:10px}}

/* v38.38.29 — System Administrator header cleanup
   Keep the signed-in status bar simple; the invitation action lives in the Invite Beta User section. */
.product-admin-view .btn.primary:not(:disabled){background:var(--navy,#063A7A)!important;color:#FFFFFF!important;border:1px solid var(--navy,#063A7A)!important}
.product-admin-view .btn.primary:disabled{background:#EEF2F5!important;color:#526678!important;border:1px solid #60778A!important}


/* v38.38.30 — Pre-auth primary action visibility fix
   The auth/login surface renders before a saved theme is necessarily applied.
   Keep primary actions and text-link/focus roles valid by falling back to the
   base Carekeeping theme whenever the optional preset role variables are absent. */
.cloud-auth-overlay .btn.primary:not(:disabled),
.app-lock-overlay .btn.primary:not(:disabled){
  background:var(--action-primary-background,var(--theme-primary,#063A7A))!important;
  color:var(--action-primary-foreground,#FFFFFF)!important;
  border-color:var(--action-primary-background,var(--theme-primary,#063A7A))!important;
}


/* v38.38.39 — Security hardening final regression and release sign-off */
body[data-native-platform="ios"] .care-library-tabs{
  top:max(8px,env(safe-area-inset-top,0px));
  padding-top:8px;
  scroll-margin-top:calc(env(safe-area-inset-top,0px) + 12px);
}
body[data-native-platform="ios"] #appointmentsView,
body[data-native-platform="ios"] .appointments-top,
body[data-native-platform="ios"] .appointments-calendar,
body[data-native-platform="ios"] .agenda-panel,
body[data-native-platform="ios"] #appointmentAgendaList{
  scroll-margin-top:calc(env(safe-area-inset-top,0px) + 12px);
}
body[data-native-platform="ios"]{overscroll-behavior-y:none}
body[data-native-platform="ios"] .app-lock-overlay.biometric-pending .app-lock-message{
  display:block!important;
  position:fixed;
  z-index:1002;
  top:auto;
  bottom:calc(env(safe-area-inset-bottom,0px) + 34px);
  left:16px;right:16px;width:auto;max-width:520px;margin:0 auto;
  padding:10px 14px;border-radius:14px;
  background:rgba(6,58,122,.96);color:#fff;
  box-shadow:0 8px 24px rgba(6,31,58,.24);
  font-size:.82rem;font-weight:800;line-height:1.35;text-align:center;
}


/* v38.38.39 — iOS unlock/appointments polish + password visibility */
.password-input-wrap{position:relative;display:block;width:100%}
.password-input-wrap>input{width:100%;padding-right:48px!important}
.password-visibility-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--theme-muted,#52616d);font-size:1.1rem;line-height:1;cursor:pointer;z-index:2}
.password-visibility-toggle:hover{background:color-mix(in srgb,var(--theme-soft,#eaf1f5) 76%,transparent)}
.password-visibility-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-primary,#063A7A) 35%,transparent);outline-offset:1px}
.password-visibility-toggle[aria-pressed="true"]{color:var(--theme-primary,#063A7A)}
body[data-native-platform="ios"] #appointmentsView .appointments-top{position:sticky;top:max(8px,env(safe-area-inset-top,0px));z-index:24;margin:0 -4px 10px;padding:10px 4px 9px;background:var(--theme-background,var(--bg,#f6f8fa));border-bottom:1px solid color-mix(in srgb,var(--theme-line,#dce4e8) 80%,transparent)}
body[data-native-platform="ios"] #appointmentsView .appointments-top #addAppointmentBtn{flex:0 0 auto;white-space:nowrap}

/* v38.38.40 — simplified Daily Activities & Behaviors setup (web-first) */
.activity-setup-dialog .dialog-body{max-width:720px}
.activity-setup-intro{margin:-4px 0 16px;max-width:64ch}
.activity-name-field{margin-bottom:14px}
.activity-name-field input{font-size:1.05rem;min-height:48px}
.activity-setup-label,.activity-kind-fieldset legend,.activity-record-fieldset legend{font-weight:800;color:var(--theme-primary,var(--navy));font-size:.96rem}
.activity-suggestions{margin-bottom:18px}
.activity-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.activity-chip{border:1px solid var(--theme-line,var(--line));background:var(--theme-paper,var(--paper));color:var(--theme-primary,var(--navy));border-radius:999px;min-height:40px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer}
.activity-chip:hover,.activity-chip:focus-visible{border-color:var(--theme-primary,var(--navy));background:var(--theme-soft,var(--soft));outline:none}
.activity-kind-fieldset,.activity-record-fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}
.activity-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}
.activity-kind-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;border:1px solid var(--theme-line,var(--line));background:var(--theme-paper,var(--paper));border-radius:13px;padding:11px 12px;min-height:65px;color:var(--theme-text,var(--ink));font:inherit;cursor:pointer}
.activity-kind-card strong{color:var(--theme-primary,var(--navy));font-size:.96rem}
.activity-kind-card span{color:var(--theme-muted,var(--muted));font-size:.82rem;line-height:1.3}
.activity-kind-card:hover,.activity-kind-card:focus-visible{border-color:var(--theme-primary,var(--navy));outline:none}
.activity-kind-card.active{border-color:var(--theme-primary,var(--navy));box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-primary,var(--navy)) 18%,transparent);background:var(--theme-soft,var(--soft))}
.activity-record-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.activity-record-option{display:flex;align-items:center;gap:10px;border:1px solid var(--theme-line,var(--line));border-radius:12px;padding:10px 11px;min-height:58px;background:var(--theme-paper,var(--paper));cursor:pointer}
.activity-record-option input{width:20px;height:20px;flex:0 0 auto}
.activity-record-option span:not(.activity-record-icon){display:flex;flex-direction:column;gap:2px;min-width:0}
.activity-record-option strong{color:var(--theme-primary,var(--navy));font-size:.91rem}
.activity-record-option small{color:var(--theme-muted,var(--muted));font-size:.78rem;line-height:1.25}
.activity-record-option.fixed{cursor:default;background:var(--theme-soft,var(--soft))}
.activity-record-icon{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--theme-primary,var(--navy));color:var(--theme-paper,var(--paper));font-size:.76rem;font-weight:900;flex:0 0 auto}
.activity-advanced{border:1px solid var(--theme-line,var(--line));border-radius:12px;padding:0;margin:4px 0 14px;background:var(--theme-paper,var(--paper))}
.activity-advanced summary{cursor:pointer;padding:11px 12px;font-weight:800;color:var(--theme-primary,var(--navy));list-style-position:inside}
.activity-advanced[open]{padding-bottom:12px}
.activity-advanced[open] summary{border-bottom:1px solid var(--theme-line,var(--line));margin-bottom:11px}
.activity-advanced>p,.activity-advanced>.field,.activity-advanced>.activity-custom-fields{margin-left:12px;margin-right:12px}
.activity-custom-fields{margin-top:12px}
.activity-setup-preview{display:flex;flex-direction:column;gap:4px;border-radius:12px;padding:11px 12px;margin:0 0 4px;background:var(--theme-soft,var(--soft));border:1px solid var(--theme-line,var(--line))}
.activity-setup-preview strong{color:var(--theme-primary,var(--navy));font-size:.86rem}
.activity-setup-preview span{font-weight:700;line-height:1.35}
.activity-setup-preview small{color:var(--theme-muted,var(--muted));font-size:.78rem}
.activity-empty-state{border:1px dashed var(--theme-line,var(--line));border-radius:12px;padding:14px;background:var(--theme-soft,var(--soft))}
.activity-empty-state strong{color:var(--theme-primary,var(--navy))}
.activity-empty-state p{margin:5px 0 0}
@media(max-width:600px){
  .activity-setup-dialog{max-width:calc(100vw - 18px);width:calc(100vw - 18px)}
  .activity-kind-grid,.activity-record-options{grid-template-columns:1fr}
  .activity-chip{min-height:42px}
  .activity-setup-dialog .dialog-actions{position:sticky;bottom:0;background:var(--theme-paper,var(--paper));padding-top:10px;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:2}
}
