:root{--teal:#14a3a6;--teal-dark:#0e7c7e;--teal-soft:#7fc9cb;--teal-tint:#e8f5f5;--teal-line:#bde3e3;--ink:#211e19;--ink-2:#4e463c;--muted:#7a7064;--faint:#a79c8c;--gold:#c29a3e;--gold-soft:#e6d4a6;--gold-line:#eadfc2;--ivory:#faf6ee;--ivory-2:#f3ecdd;--card:#fff;--line:#e7decd;--line-soft:#f0e9db;--paper:var(--ivory);--spruce:#0c4344;--spruce-2:#0a3839;--spruce-ink:#efe9dc;--spruce-muted:#8fb3b0;--spruce-line:#efe9dc29;--shadow-sm:0 1px 2px #211e190a;--shadow:0 1px 2px #211e190a,0 14px 34px #0c43440f;--shadow-lg:0 2px 6px #211e190d,0 26px 60px #0c43441a;--r:13px;--r-sm:10px;--r-lg:18px;--tap:52px;--charcoal:var(--ink)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--ivory);color:var(--ink-2);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:General Sans,system-ui,-apple-system,sans-serif;font-size:18px;line-height:1.65}a{color:var(--teal-dark);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.014em;margin:0;font-family:Sentient,Georgia,serif;font-weight:600;line-height:1.1}h1{letter-spacing:-.02em;font-size:clamp(33px,4.4vw,50px)}h2{font-size:clamp(24px,2.7vw,32px)}h3{letter-spacing:-.01em;font-size:21px}em{font-style:italic;font-weight:500}button{cursor:pointer;font-family:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:5px}.topband :focus-visible,.cm-card :focus-visible,.panel.spruce :focus-visible,.auth-photo :focus-visible{outline-color:var(--teal-soft)}.btn{min-height:var(--tap);border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 30px;font-family:General Sans,sans-serif;font-size:18px;font-weight:600;transition:transform .12s,box-shadow .15s,background .15s;display:inline-flex}.btn-primary{background:var(--teal);color:#fff;box-shadow:var(--shadow)}.btn-primary:hover{background:var(--teal-dark);box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-1px)}.btn-ghost{background:var(--card);color:var(--teal-dark);border-color:var(--teal-line)}.btn-ghost:hover{background:var(--teal-tint);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-block{width:100%}.field{color:var(--ink);letter-spacing:.01em;margin-bottom:8px;font-size:16px;font-weight:600;display:block}.input{width:100%;min-height:var(--tap);color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:13px 18px;font-family:inherit;font-size:18px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--faint)}.input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint);outline:none}.auth-split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-photo{background:var(--spruce);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.auth-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.auth-photo .plate{z-index:1;background:var(--spruce);border-top:2px solid var(--gold);margin:0;padding:40px 46px;position:relative}.auth-photo .plate img{width:auto;height:30px;margin-bottom:18px;display:block;position:static}.auth-photo .plate p{max-width:30ch;color:var(--spruce-ink);margin:0;font-family:Sentient,serif;font-size:23px;line-height:1.35}.auth-photo .plate em{color:#fff}.auth-formpane{background:var(--ivory);justify-content:center;align-items:center;padding:56px 44px;display:flex}.auth-formpane .auth-card{box-shadow:none;background:0 0;border:0;max-width:420px;padding:0}.auth-wrap{background:var(--ivory);justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:44px 42px 40px}.auth-logo{width:auto;height:26px;margin-bottom:30px;display:block}.auth-mark{letter-spacing:.01em;margin-bottom:26px;font-family:General Sans,sans-serif;font-size:26px;font-weight:700}.auth-mark .a{color:var(--ink)}.auth-mark .b{color:var(--teal)}.auth-card h1{margin-bottom:14px;font-size:clamp(30px,3.4vw,38px);line-height:1.08}.auth-lede{color:var(--ink-2);margin:0 0 28px;font-size:18px;line-height:1.6}.auth-note{color:var(--muted);margin-top:22px;font-size:15px;line-height:1.55}.auth-error{color:#8a4a24;border-radius:var(--r-sm);background:#f7eae1;border:1px solid #e4c6ae;margin-bottom:22px;padding:12px 16px;font-size:16px}.auth-sent{background:var(--teal-tint);border:1px solid var(--teal-line);border-radius:var(--r-sm);padding:24px 26px}.auth-sent h2{color:var(--ink);margin-bottom:8px;font-family:Sentient,serif;font-size:23px}.auth-sent p{color:var(--ink-2);margin:0;font-size:16px}.shell{flex-direction:column;min-height:100vh;display:flex}.topband{background:var(--spruce);color:var(--spruce-ink);border-bottom:2px solid var(--gold)}.topband-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1120px;margin:0 auto;padding:20px 28px;display:flex}.brandmark{align-items:center;display:inline-flex}.brandmark img,.brandmark .logo{width:auto;height:26px;display:block}.brandmark .admin-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--spruce-muted);border-left:1px solid var(--spruce-line);margin-left:16px;padding-left:16px;font-family:General Sans,sans-serif;font-size:14px;font-weight:600}.topband-actions{align-items:center;gap:20px;display:flex}.topband .signout{min-height:44px;color:var(--spruce-ink);background:0 0;border:1.5px solid #efe9dc3d;border-radius:999px;align-items:center;padding:0 20px;font-size:16px;font-weight:600;display:inline-flex}.topband .signout:hover{color:#fff;background:#efe9dc1a;text-decoration:none}.navband{background:var(--card);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}.navband-inner{gap:4px;max-width:1120px;margin:0 auto;padding:0 28px;display:flex;overflow-x:auto}.navband a{min-height:var(--tap);color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;padding:0 18px;font-size:17px;font-weight:600;transition:color .14s;display:inline-flex;position:relative}.navband a:hover{color:var(--ink);text-decoration:none}.navband a.active{color:var(--ink);border-bottom-color:var(--gold)}.tabbar,.sheet-list{display:none}.main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:48px 28px 80px}.sheet-list{flex-direction:column;gap:12px}.sheet-row{min-height:var(--tap);background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);color:var(--ink);align-items:center;gap:16px;padding:18px 22px;transition:border-color .14s,box-shadow .14s;display:flex}.sheet-row:hover{border-color:var(--gold-line);box-shadow:var(--shadow);text-decoration:none}.sheet-ico{color:var(--teal-dark);flex:none;display:inline-flex}.sheet-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sheet-title{color:var(--ink);font-family:Sentient,serif;font-size:20px;line-height:1.15}.sheet-sub{color:var(--muted);font-size:15px}.sheet-chev{color:var(--faint);flex:none;font-size:28px;line-height:1}.sheet-signout{margin-top:6px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--teal-dark);align-items:center;gap:10px;margin-bottom:14px;font-family:General Sans,sans-serif;font-size:13px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:1px;flex:none;width:8px;height:8px;transform:rotate(45deg)}.lede{color:var(--ink-2);max-width:64ch;font-size:20px;line-height:1.6}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:30px 32px}.panel.spruce{background:var(--spruce);border-color:var(--spruce);color:var(--spruce-ink)}.panel.spruce h2,.panel.spruce h3{color:#fff}.panel.gold-trim{border-top:3px solid var(--gold)}.grid{gap:22px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stack-gap{flex-direction:column;gap:26px;display:flex}.rule-gold{background:linear-gradient(90deg,var(--gold-line),var(--gold-soft) 30%,var(--gold-line));border:0;height:1px;margin:2px 0}.placeholder-note{color:var(--muted);background:var(--ivory-2);border:1px dashed var(--line);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.main .stack-gap>*{animation:.5s cubic-bezier(.22,.61,.36,1) both riseIn}.main .stack-gap>:first-child{animation-delay:0s}.main .stack-gap>:nth-child(2){animation-delay:55ms}.main .stack-gap>:nth-child(3){animation-delay:.11s}.main .stack-gap>:nth-child(4){animation-delay:.165s}.main .stack-gap>:nth-child(5){animation-delay:.22s}.main .stack-gap>:nth-child(6){animation-delay:.275s}.main .stack-gap>:nth-child(n+7){animation-delay:.32s}.switcher{align-items:center;gap:10px;display:flex}.switcher-label{color:var(--spruce-muted);white-space:nowrap;font-size:14px}.switcher-btns{background:#efe9dc14;border-radius:999px;gap:6px;padding:4px;display:flex}.switcher-btns button{min-height:40px;color:var(--spruce-ink);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:0 18px;font-size:16px;font-weight:600}.switcher-btns button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.switcher-btns button:not(.on):hover{background:#efe9dc1f}.page-head{margin-bottom:2px}.page-head h1{margin-bottom:10px}.page-sub{color:var(--ink-2);max-width:60ch;margin:0;font-size:19px;line-height:1.6}.tenure{border-top:1px solid var(--gold-line);letter-spacing:.02em;color:var(--muted);max-width:60ch;margin:16px 0 0;padding-top:14px;font-size:15px}.chip{letter-spacing:.015em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;min-height:32px;padding:4px 15px;font-size:14px;font-weight:600;line-height:1.2;display:inline-flex}.chip:before{content:"";opacity:.85;background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.chip--confirmed{background:var(--teal-tint);color:var(--teal-dark);border-color:var(--teal-line)}.chip--pending{color:#8a6410;border-color:var(--gold-line);background:#fbf2dd}.chip--cancelled{background:var(--ivory-2);color:var(--muted);border-color:var(--line);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.chip--cancelled:before{text-decoration:none}.chip--done{background:var(--line-soft);color:var(--muted);border-color:var(--line)}.chip--method{background:var(--card);color:var(--ink-2);border-color:var(--line);letter-spacing:.02em}.day-group{margin-bottom:8px}.day-group h2{border-bottom:1px solid var(--gold-line);margin-bottom:16px;padding-bottom:12px;font-size:23px}.visit-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.visit-row-li{list-style:none}.visit-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r);min-height:48px;box-shadow:var(--shadow-sm);color:inherit;flex-wrap:wrap;align-items:center;gap:18px;padding:18px 22px;text-decoration:none;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex}.visit-row:hover{border-color:var(--gold-line);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}.visit-time{color:var(--ink);min-width:190px;font-family:Sentient,serif;font-size:19px;font-weight:600}.visit-who{color:var(--ink-2);flex:1;min-width:140px;font-size:17px}.visit-who .cg{color:var(--ink);font-weight:600}.visit-row .chip{margin-left:auto}.visit-chev{color:var(--faint);flex:none;font-size:24px;line-height:1;transition:color .14s,transform .14s}.visit-row:hover .visit-chev{color:var(--teal-dark);transform:translate(2px)}.earlier{margin:0 0 6px}.earlier>summary{cursor:pointer;min-height:44px;color:var(--teal-dark);align-items:center;gap:8px;font-size:16px;font-weight:600;list-style:none;display:inline-flex}.earlier>summary::-webkit-details-marker{display:none}.earlier>summary:before{content:"↑";font-size:15px}.earlier[open]>summary:before{content:"↓"}.earlier>summary:hover{text-underline-offset:3px;text-decoration:underline}.earlier .earlier-body{margin-top:18px}.sched-cols{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.sched-main{flex-direction:column;gap:22px;min-width:0;display:flex}.sched-side{position:sticky;top:20px}.ongoing-card{background:var(--spruce);color:var(--spruce-ink);border-top:3px solid var(--gold);border-radius:var(--r);box-shadow:var(--shadow);padding:24px 24px 22px}.ongoing-card h2{color:#fff;margin:6px 0 8px;font-size:20px}.ongoing-card p{color:var(--spruce-ink);margin:0 0 14px;font-size:15px;line-height:1.5}.ongoing-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ongoing-slot{border-radius:var(--r-sm);background:#ffffff0f;border:1px solid #ffffff24;padding:12px 14px}.ongoing-slot .when{color:#fff;font-family:Sentient,serif;font-size:16px;font-weight:600;line-height:1.2;display:block}.ongoing-slot .who{color:var(--spruce-ink);margin-top:2px;font-size:14px;display:block}.hero{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:32px 34px 34px;position:relative;overflow:hidden}.hero:before{content:"";background:var(--spruce);width:5px;position:absolute;top:0;bottom:0;left:0}.hero .eyebrow{margin-bottom:10px}.hero .when{color:var(--ink);letter-spacing:-.015em;margin:4px 0 6px;font-family:Sentient,serif;font-size:clamp(26px,3.4vw,36px);line-height:1.08}.hero .who{color:var(--ink-2);margin:0 0 20px;font-size:19px}.hero .who strong{color:var(--ink)}.hero .who .cg{color:var(--ink);font-weight:600}.hero-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.hero-cg{align-items:center;gap:14px;margin:0 0 18px;display:flex}.hero-cg .who{margin:0}.weekstrip{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.weekcell{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);text-align:center;flex-direction:column;align-items:center;gap:6px;min-height:96px;padding:12px 8px 14px;transition:border-color .14s,box-shadow .14s;display:flex}.weekcell.today{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-line)}a.weekcell{color:inherit;text-decoration:none}a.weekcell:hover{border-color:var(--gold-line);box-shadow:var(--shadow-sm);text-decoration:none}.weekcell .wd{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:600}.weekcell .dn{color:var(--ink);font-family:Sentient,serif;font-size:22px;line-height:1}.weekcell.today .dn{color:var(--gold)}.weekcell .dots{flex-wrap:wrap;justify-content:center;gap:4px;min-height:10px;margin-top:2px;display:flex}.weekdot{background:var(--teal);border-radius:50%;width:9px;height:9px}.weekdot.pending{background:var(--gold)}.weekdot.cancelled,.weekdot.done{background:var(--faint)}.weekcell .none{color:var(--faint);font-size:12px}.month-stat{color:var(--ink-2);letter-spacing:.005em;align-items:center;gap:9px;margin:16px 0 0;font-size:16px;display:flex}.month-stat .ms-mark{color:var(--teal);flex:none;font-size:12px;line-height:1}.cm-card{background:var(--spruce);color:var(--spruce-ink);border-top:3px solid var(--gold);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:30px 32px}.cm-card h2,.cm-card h3{color:#fff}.cm-card .role{color:var(--teal-soft);font-weight:600}.cm-card .contact{flex-direction:column;gap:8px;margin-top:16px;display:flex}.cm-card .contact a{color:#fff;text-decoration:underline;-webkit-text-decoration-color:var(--gold-soft);text-decoration-color:var(--gold-soft);text-underline-offset:3px;font-weight:600}.cm-card .afterhours{border-top:1px solid var(--spruce-line);color:var(--spruce-ink);margin-top:18px;padding-top:18px;font-size:16px}.cm-card .afterhours strong{color:#fff}.avatar{object-fit:cover;background:var(--teal-tint);width:64px;height:64px;color:var(--teal-dark);border:1px solid var(--teal-line);border-radius:50%;flex:none;justify-content:center;align-items:center;font-family:Sentient,serif;font-size:24px;font-weight:600;display:inline-flex}.avatar-lg{width:80px;height:80px;font-size:30px}.cg-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.cg-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:26px 28px;scroll-margin-top:24px;transition:border-color .14s,box-shadow .14s;display:flex}.cg-card:hover{border-color:var(--gold-line);box-shadow:var(--shadow)}.cg-head{align-items:center;gap:16px;display:flex}.cg-name{color:var(--ink);margin:0;font-family:Sentient,serif;font-size:21px}.cg-desig{color:var(--teal-dark);margin:2px 0 0;font-size:15px;font-weight:600}.cg-bio{color:var(--ink-2);margin:0;font-size:16px;line-height:1.6}.cg-meta{color:var(--muted);margin:0;font-size:15px}.cg-meta .k{color:var(--ink);font-weight:600}.taglist{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.taglist li{background:var(--teal-tint);color:var(--teal-dark);border:1px solid var(--teal-line);border-radius:999px;padding:5px 13px;font-size:14px;font-weight:600}.visit-back{margin:0}.visit-detail{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:30px 34px 32px;position:relative;overflow:hidden}.visit-detail:before{content:"";background:var(--spruce);width:5px;position:absolute;top:0;bottom:0;left:0}.visit-day{letter-spacing:-.015em;margin:6px 0 8px;font-size:clamp(26px,3.4vw,36px);line-height:1.08}.visit-when{color:var(--ink);margin:0 0 16px;font-family:Sentient,serif;font-size:22px}.visit-dur{color:var(--muted);font-weight:400}.visit-meta-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.visit-service{letter-spacing:.02em;color:var(--teal-dark);font-size:15px;font-weight:600}.visit-cancel-note{color:var(--ink-2);margin:16px 0 0;font-size:16px;line-height:1.6}.visit-detail .verified-note{margin-top:16px}.visit-cg{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:26px 28px;display:flex}.visit-cg-head{align-items:center;gap:18px;display:flex}.visit-cg .cg-meta{margin-top:4px}.visit-cg-link{margin:0}.timeline-day{margin-bottom:6px}.timeline-day>h2{border-bottom:1px solid var(--gold-line);margin-bottom:14px;padding-bottom:10px;font-size:22px}.spine{margin:0;padding:0 0 0 26px;list-style:none;position:relative}.spine:before{content:"";background:var(--gold-line);width:2px;position:absolute;top:8px;bottom:8px;left:6px}.spine-item{padding:0 0 22px;position:relative}.spine-item:last-child{padding-bottom:2px}.spine-item:before{content:"";background:var(--card);border:3px solid var(--teal);box-sizing:border-box;border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:-26px}.spine-item .sentence{color:var(--ink);margin:0;font-size:18px;line-height:1.5}.spine-item .meta{letter-spacing:.04em;text-transform:uppercase;color:var(--teal-dark);margin:0 0 4px;font-size:14px;font-weight:600}.spine-metalink{color:inherit;text-decoration:none}.spine-metalink:hover{text-underline-offset:3px;text-decoration:underline}.verified-note{color:var(--muted);letter-spacing:.01em;align-items:center;gap:7px;margin:6px 0 0;font-size:14px;display:flex}.verified-note .vmark{color:var(--teal);font-size:11px;line-height:1}.update-item{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r-sm);box-shadow:var(--shadow-sm);padding:20px 24px}.update-item .label{letter-spacing:.09em;text-transform:uppercase;color:var(--teal-dark);margin:0 0 6px;font-size:13px;font-weight:600}.update-item .sentence{color:var(--ink);margin:0;font-size:18px;line-height:1.55}.careplan-goals{margin:0;padding:0;list-style:none}.careplan-goal{border-top:1px solid var(--gold-line);padding:22px 0}.careplan-goal:first-child{border-top:0;padding-top:6px}.careplan-goal:last-child{padding-bottom:2px}.cpg-title{color:var(--ink);margin:0;font-family:Sentient,serif;font-size:21px;line-height:1.25}.cpg-focus{color:var(--ink-2);max-width:60ch;margin:6px 0 0;font-size:17px;line-height:1.55}.circle-group+.circle-group{margin-top:26px}.circle-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-family:General Sans,sans-serif;font-size:14px;font-weight:600}.circle-list{margin:0;padding:0;list-style:none}.circle-row{min-height:var(--tap);border-top:1px solid var(--gold-line);flex-wrap:wrap;align-items:center;gap:16px;padding:16px 0;display:flex}.circle-row:first-child{border-top:0}.circle-who{flex-direction:column;flex:1;gap:2px;min-width:180px;display:flex}.circle-name{color:var(--ink);font-size:18px;font-weight:600;line-height:1.3}.circle-rel{color:var(--muted);font-size:15px;line-height:1.4}.circle-reach{flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto;display:flex}.circle-reach a{color:var(--teal-dark);font-size:16px;text-decoration:none}.circle-reach a:hover{text-underline-offset:3px;text-decoration:underline}.circle-cta{margin:22px 0 0}.bill-hero{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:30px 34px 32px;position:relative;overflow:hidden}.bill-hero:before{content:"";background:var(--spruce);width:5px;position:absolute;top:0;bottom:0;left:0}.bill-hero .eyebrow{margin-bottom:8px}.bill-hero .bignum{color:var(--ink);letter-spacing:-.02em;margin:2px 0 6px;font-family:Sentient,serif;font-size:clamp(38px,6vw,54px);line-height:1}.bill-hero .subline{color:var(--ink-2);margin:0;font-size:17px}.bill-hero .subline strong{color:var(--ink)}.bill-hero .paidnote{color:var(--muted);margin:10px 0 0;font-size:15px}.bill-month{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden}.bill-month+.bill-month{margin-top:14px}.bill-month>summary{cursor:pointer;color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 26px;font-family:Sentient,serif;font-size:22px;list-style:none;display:flex}.bill-month>summary::-webkit-details-marker{display:none}.bill-month[open]>summary{border-bottom:1px solid var(--gold-line)}.bill-month>summary .tot{color:var(--muted);font-family:General Sans,sans-serif;font-size:16px;font-weight:600}.bill-month>summary .caret{color:var(--teal-dark);margin-left:auto;font-size:16px;font-weight:600;transition:transform .15s}.bill-month[open]>summary .caret{transform:rotate(180deg)}.bill-hours{color:var(--muted);letter-spacing:.01em;margin:0;padding:14px 26px 0;font-size:15px}.bill-invoices{padding:14px 26px 0}.bill-invoices-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:600}.bill-invoice-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.bill-invoice-link{color:var(--teal-dark);font-family:General Sans,sans-serif;font-size:16px;font-weight:600}.bill-invoice-link:hover{color:var(--teal);text-decoration:underline}.bill-rows{margin:0;padding:0;list-style:none}.bill-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:16px;padding:16px 26px;display:flex}.bill-row:last-child{border-bottom:0}.bill-row.payment{background:var(--teal-tint)}.bill-row .desc{min-width:120px;color:var(--ink);flex:1;font-size:17px}.bill-row .when{color:var(--muted);min-width:96px;font-size:15px}.bill-row .amt{color:var(--ink);white-space:nowrap;margin-left:auto;font-family:Sentient,serif;font-size:19px;font-weight:600}.bill-row.payment .amt{color:var(--teal-dark)}.bill-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);min-width:74px;font-size:13px;font-weight:600}.bill-row.payment .bill-kind{color:var(--teal-dark)}.notice{background:var(--ivory-2);border:1px solid var(--gold-line);border-top:3px solid var(--gold);border-radius:var(--r);padding:28px 30px}.notice h3{margin:0 0 10px}.notice p{color:var(--ink-2);margin:0 0 14px;font-size:17px;line-height:1.6}.notice .actions{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.req-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:24px 26px;transition:border-color .14s,box-shadow .14s;display:flex}.req-card:hover{border-color:var(--gold-line);box-shadow:var(--shadow)}.req-top{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.req-type{color:var(--ink);margin:0;font-family:Sentient,serif;font-size:20px}.req-when{color:var(--muted);margin-left:auto;font-size:15px}.req-excerpt{color:var(--ink-2);margin:0;font-size:17px;line-height:1.55}.timeline{align-items:center;gap:0;margin:2px 0 0;padding:0;list-style:none;display:flex}.timeline li{color:var(--muted);flex:1;align-items:center;font-size:14px;font-weight:600;display:flex}.timeline li:last-child{flex:none}.timeline .node{align-items:center;gap:8px;display:inline-flex}.timeline .dot{background:var(--line);border:2px solid var(--line);border-radius:50%;flex:none;width:16px;height:16px}.timeline li.reached{color:var(--teal-dark)}.timeline li.reached .dot{background:var(--teal);border-color:var(--teal)}.timeline .bar{background:var(--line);flex:1;min-width:24px;height:2px;margin:0 10px}.timeline li.reached .bar{background:var(--teal)}.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);max-width:640px;padding:32px 34px}.form-row{margin-bottom:22px}.select{width:100%;min-height:var(--tap);color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-sm);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none' stroke='%237A7064' stroke-width='2'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding:13px 46px 13px 18px;font-family:inherit;font-size:18px}.select:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-tint);outline:none}textarea.input{resize:vertical;min-height:150px;line-height:1.55}.radio-set{flex-wrap:wrap;gap:12px;display:flex}.radio-chip{min-height:var(--tap);border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:0 22px;font-size:17px;font-weight:600;display:inline-flex}.radio-chip input{accent-color:var(--teal);width:20px;height:20px}.radio-chip:has(input:checked){border-color:var(--teal);background:var(--teal-tint);color:var(--teal-dark)}.field-hint{color:var(--muted);margin:6px 0 0;font-size:15px}.banner{border-radius:var(--r-sm);align-items:center;gap:10px;padding:14px 18px;font-size:16px;display:flex}.banner-info{background:var(--line-soft);color:var(--ink-2);border:1px solid var(--line)}.banner-ok{background:var(--teal-tint);color:var(--teal-dark);border:1px solid var(--teal-line)}.banner-error{color:#8a4a24;background:#f7eae1;border:1px solid #e4c6ae}.empty{background:var(--card);border:1px dashed var(--gold-line);border-radius:var(--r);text-align:center;padding:40px 34px}.empty h3{margin:0 0 8px}.empty p{color:var(--muted);max-width:46ch;margin:0 auto;font-size:17px}.quiet-cta{background:var(--ivory-2);border:1px solid var(--gold-line);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;display:flex}.quiet-cta p{color:var(--ink-2);margin:0;font-size:17px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.section-head h2{margin:0}.linkish{color:var(--teal-dark);font-size:16px;font-weight:600}.linkish:hover{text-underline-offset:3px;text-decoration:underline}.linkcards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.linkcard{min-height:var(--tap);background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);color:var(--ink);align-items:center;gap:16px;padding:22px 24px;transition:border-color .14s,box-shadow .14s,transform .12s;display:flex}.linkcard:hover{border-color:var(--gold-line);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}.linkcard .lc-ico{color:var(--teal-dark);flex:none;display:inline-flex}.linkcard .lc-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.linkcard .lc-title{color:var(--ink);font-family:Sentient,serif;font-size:20px;line-height:1.15}.linkcard .lc-sub{color:var(--muted);font-size:15px;line-height:1.45}.linkcard .lc-arrow{color:var(--faint);flex:none;font-size:26px;line-height:1}.cm-card .cm-lead{align-items:center;gap:18px;display:flex}.cm-card .cm-lead .avatar{color:#fff;background:#ffffff1f;border-color:#ffffff47}.cm-card .cm-names{min-width:0}.admin-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:26px;padding-bottom:2px;display:flex}.admin-nav a{min-height:40px;color:var(--ink);border-bottom:2px solid #0000;align-items:center;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.admin-nav a:hover{color:var(--teal-dark);text-decoration:none}.admin-nav a.active{color:var(--teal-dark);border-bottom-color:var(--teal)}.admin-head{margin-bottom:22px}.admin-head h1{margin-bottom:4px;font-size:26px}.admin-head p{color:var(--muted);margin:0;font-size:16px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px}.stat .n{color:var(--ink);font-family:Sentient,serif;font-size:30px;line-height:1}.stat .k{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:13px;font-weight:600}.atable{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;font-size:15px;overflow:hidden}.atable th,.atable td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:11px 14px}.atable th{background:var(--ivory-2);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.atable tr:last-child td{border-bottom:0}.atable td .msg{color:var(--ink-2);max-width:38ch}.atable .mono{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.pill--pending{color:#8a6410;border-color:var(--gold-line);background:#fbf2dd}.pill--accepted{background:var(--teal-tint);color:var(--teal-dark);border-color:var(--teal-line)}.pill--expired{background:var(--line-soft);color:var(--muted);border-color:var(--line)}.pill--revoked{color:#8a4a24;background:#f7eae1;border-color:#e4c6ae}.pill--received{color:#8a6410;border-color:var(--gold-line);background:#fbf2dd}.pill--in_progress{background:var(--teal-tint);color:var(--teal-dark);border-color:var(--teal-line)}.pill--done{background:var(--line-soft);color:var(--muted);border-color:var(--line)}.pill--yes{background:var(--teal-tint);color:var(--teal-dark);border-color:var(--teal-line)}.pill--no{background:var(--line-soft);color:var(--muted);border-color:var(--line)}.chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.chips a{background:var(--card);border:1px solid var(--line);min-height:36px;color:var(--ink-2);border-radius:999px;align-items:center;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.chips a:hover{border-color:var(--teal-line);text-decoration:none}.chips a.on{background:var(--teal-tint);border-color:var(--teal-line);color:var(--teal-dark)}.admin-form{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);max-width:620px;padding:22px 24px}.admin-form .form-row{margin-bottom:16px}.admin-form .input,.admin-form .select{min-height:46px;font-size:16px}.admin-form textarea.input{min-height:110px}.admin-form .field{font-size:14px}.checkline{color:var(--ink-2);align-items:flex-start;gap:10px;font-size:15px;line-height:1.5;display:flex}.checkline input{width:20px;height:20px;accent-color:var(--teal);flex:none;margin-top:2px}.rowactions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-sm{min-height:38px;padding:0 16px;font-size:14px}.note-inline{border:1.5px solid var(--line);border-radius:var(--r-sm);min-width:180px;min-height:38px;color:var(--ink);padding:6px 12px;font-family:inherit;font-size:14px}.admin-banner{border-radius:var(--r-sm);margin-bottom:18px;padding:12px 16px;font-size:15px}.admin-banner.ok{background:var(--teal-tint);color:var(--teal-dark);border:1px solid var(--teal-line)}.admin-banner.err{color:#8a4a24;background:#f7eae1;border:1px solid #e4c6ae}.admin-section{margin-bottom:34px}.admin-section>h2{margin-bottom:14px;font-size:20px}.tablewrap{overflow-x:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.viewtoggle{background:var(--ivory-2);border:1px solid var(--line);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.viewtoggle .seg{min-height:44px;color:var(--muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 24px;font-size:16px;font-weight:600;display:inline-flex}.viewtoggle .seg:hover{color:var(--ink);text-decoration:none}.viewtoggle .seg.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.calendar{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px 24px 26px}.cal-head{justify-content:center;align-items:center;gap:20px;margin-bottom:18px;display:flex}.cal-title{text-align:center;letter-spacing:-.015em;min-width:11ch;font-size:26px}.cal-arrow{width:44px;height:44px;color:var(--teal-dark);background:var(--teal-tint);border:1px solid var(--teal-line);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:26px;line-height:1;display:inline-flex}.cal-arrow:hover{background:var(--teal);color:#fff;text-decoration:none}.cal-arrow.disabled{color:var(--faint);background:var(--line-soft);border-color:var(--line);cursor:not-allowed}.cal-grid{border-collapse:separate;border-spacing:6px;table-layout:fixed;width:100%}.cal-grid thead th{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);text-align:center;padding:2px 0 10px;font-family:General Sans,sans-serif;font-size:12px;font-weight:700}.calcell{vertical-align:top;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);height:110px;padding:8px 8px 6px;position:relative}.calcell.out{background:var(--card);border-color:var(--line-soft)}.calcell.out .calcell-num{color:var(--faint)}.calcell.out .calcell-visits,.calcell.out .caldots{opacity:.45}.calcell.today{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-line)}.calcell-num{color:var(--ink);margin-bottom:6px;font-family:Sentient,serif;font-size:17px;line-height:1;display:block}.calcell.today .calcell-num{color:var(--gold);font-weight:600}.calcell-visits{flex-direction:column;gap:4px;display:flex}.calchip{border:1px solid #0000;border-radius:7px;align-items:baseline;gap:6px;min-height:26px;padding:4px 8px;font-size:13px;line-height:1.15;text-decoration:none;transition:transform .12s,box-shadow .12s,filter .12s;display:flex;overflow:hidden}.calchip:hover{box-shadow:var(--shadow-sm);filter:brightness(.98);text-decoration:none;transform:translateY(-1px)}.calchip-time{white-space:nowrap;flex:none;font-weight:600}.calchip-who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calchip--confirmed{background:var(--teal-tint);color:var(--teal-dark);border-color:var(--teal-line)}.calchip--pending{color:#8a6410;border-color:var(--gold-line);background:#fbf2dd}.calchip--pending .calchip-who{font-style:italic}.calchip--cancelled{background:var(--ivory-2);color:var(--muted);border-color:var(--line)}.calchip--cancelled .calchip-time,.calchip--cancelled .calchip-who{text-decoration:line-through}.calchip--done{background:var(--line-soft);color:var(--muted);border-color:var(--line)}.calcell-more{color:var(--teal-dark);border-radius:6px;margin-top:2px;padding:3px 6px;font-size:12px;font-weight:600;display:inline-block}.calcell-more:hover{background:var(--teal-tint);text-decoration:none}.upcoming{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);margin:0;padding:0;list-style:none;overflow:hidden}.upcoming li+li{border-top:1px solid var(--line-soft)}.up-row{min-height:56px;color:var(--ink);align-items:center;gap:14px;padding:10px 16px;text-decoration:none;display:flex}.up-row:hover{background:var(--teal-tint)}.up-day{color:var(--ink);flex:0 0 108px;font-weight:600}.up-time{color:var(--ink-2);font-variant-numeric:tabular-nums;flex:0 0 84px}.up-who{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.up-who em{color:var(--muted);font-style:italic}.up-go{color:var(--teal-dark);font-size:20px;line-height:1}.up-row--cancelled .up-time,.up-row--cancelled .up-day{color:var(--muted);text-decoration:line-through}.up-cancelled{color:var(--muted);font-style:italic}.quiet-empty{color:var(--muted);font-size:16px}@media (max-width:700px){.up-day{flex-basis:92px}.up-time{flex-basis:76px}}.caldots{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-height:24px;padding:2px 0;text-decoration:none;display:none}.caldot{background:var(--teal);border-radius:50%;width:8px;height:8px}.caldot--pending{background:var(--gold-soft)}.caldot--cancelled{background:var(--line)}.caldot--done{background:var(--teal-soft)}.caldot-plus{color:var(--muted);font-size:11px;font-weight:600;line-height:1}.callegend{border-top:1px solid var(--gold-line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 20px;margin:16px 0 0;padding-top:14px;font-size:13px;display:flex}.callegend-item{align-items:center;gap:7px;line-height:1.3;display:inline-flex}.callegend-dot{border:1px solid #0000;border-radius:50%;flex:none;width:10px;height:10px}.callegend-dot--confirmed{background:var(--teal-tint);border-color:var(--teal-line)}.callegend-dot--done{background:var(--teal-soft);border-color:var(--teal-line)}.callegend-dot--pending{background:var(--gold-soft);border-color:var(--gold-line)}.callegend-dot--cancelled{background:var(--ivory-2);border-color:var(--line)}.avatar-mark{color:var(--gold-soft);background:#efe9dc1f;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.cm-card a,.panel.spruce a,.auth-panel a{color:var(--gold-soft);text-underline-offset:3px;-webkit-text-decoration:underline #e6d4a699;text-decoration:underline #e6d4a699}.cm-card a:hover,.panel.spruce a:hover,.auth-panel a:hover{color:var(--spruce-ink)}@media (max-width:900px){.auth-split{grid-template-columns:1fr;min-height:100vh}.auth-photo{justify-content:flex-end;min-height:180px;max-height:34vh}.auth-photo .plate{padding:20px 24px}.auth-photo .plate p{display:none}.auth-photo .plate img{height:26px;margin-bottom:0}.auth-formpane{padding:40px 28px 48px}.auth-formpane .auth-card{max-width:460px}}@media (max-width:700px){.navband{display:none}.topband-inner{flex-direction:column;justify-content:center;gap:12px;padding-top:14px;padding-bottom:14px}.brandmark{justify-content:center}.signout-form{display:none}.topband-actions{justify-content:center;gap:0;width:100%;display:none}.topband-actions:has(.switcher){display:flex}.switcher{justify-content:center}.tabbar{z-index:40;background:var(--card);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0c43440f}.tab{min-height:48px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px 4px;font-weight:600;display:flex;position:relative}.tab:hover{color:var(--ink);text-decoration:none}.tab .tab-icon{width:24px;height:24px}.tab .tab-label{letter-spacing:.01em;font-size:12px;line-height:1}.tab .tab-mark{background:var(--teal);opacity:0;border-radius:1px;width:6px;height:6px;position:absolute;top:0;transform:rotate(45deg)}.tab.active{color:var(--teal-dark)}.tab.active .tab-mark{opacity:1}.main{padding-bottom:96px}.sched-cols{grid-template-columns:1fr}.sched-side{position:static}.linkcards,.cg-grid,.grid-2{grid-template-columns:1fr}}@media (max-width:640px){body{font-size:18px}.auth-card{padding:34px 26px 30px}.auth-photo{min-height:150px}.auth-formpane{padding:32px 22px 40px}.main{padding:32px 20px 96px}.topband-inner,.navband-inner{padding-left:20px;padding-right:20px}.weekstrip{grid-template-columns:repeat(7,1fr);gap:5px}.weekcell{min-height:82px;padding:9px 3px 11px}.weekcell .dn{font-size:18px}.visit-row .chip{margin-left:0}.visit-chev{margin-left:auto}.visit-time{min-width:auto}.bill-row .amt{margin-left:0}.req-when{width:100%;margin-left:0}.circle-reach{align-items:flex-start;width:100%;margin-left:0}.switcher-label{display:none}.calendar{padding:14px 10px 16px}.cal-grid{border-spacing:3px}.cal-title{min-width:0;font-size:20px}.cal-grid thead th{letter-spacing:.04em;font-size:10px}.calcell{height:58px;padding:5px 2px}.calcell-num{margin-bottom:4px;font-size:14px}.calcell-visits{display:none}.caldots{display:flex}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
