:root{--ink:#263d36;--muted:#66746b;--green:#4b6454;--deep:#304c3d;--line:#e2e7de;--cream:#f7f8f3;--white:#fff;--sage:#e9eee3;--gold:#8c6728;--radius:18px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--cream);font-size:15px;line-height:1.55}
*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}a{color:var(--deep);text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:10px 16px;font-weight:600;transition:background .16s,border-color .16s}button:hover{background:var(--sage);border-color:#b8c6b3}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #88a97a;outline-offset:3px}input,select{width:100%;min-height:43px;border:1px solid #d5ddcf;border-radius:9px;background:#fff;color:var(--ink);padding:9px 11px}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-1.3px;line-height:1.15;margin-bottom:14px}h2{font-size:1.35rem;letter-spacing:-.4px;font-weight:600;margin-bottom:0}h3{font-size:1.05rem;margin-bottom:0}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:1.7px;color:var(--muted);margin-bottom:9px}.muted{font-size:.85rem;color:var(--muted)}.topbar{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 42px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,serif;font-size:1.85rem;line-height:1.1}.brand-symbol{font-size:2.5rem;letter-spacing:-7px;width:48px;height:48px;border:1px solid #b2c1a8;border-radius:50%;line-height:40px;padding-left:10px}.brand small{display:block;font-family:"Segoe UI",Arial,sans-serif;font-size:.5rem;letter-spacing:1.8px;margin-top:7px}.topbar nav{display:flex;gap:24px;font-size:.8rem}.topbar nav a{text-decoration:none}.topbar nav a:hover{text-decoration:underline}main{max-width:1440px;margin:auto;padding:0 42px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:46px 0 30px}.welcome>div>p:last-child{color:var(--muted);margin:0}.doctor{padding:12px 20px;border-left:2px solid #c0cdb7;font-size:.95rem;white-space:nowrap}.doctor small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;font-size:.75rem;color:var(--muted)}.live-label>span{color:#688d57;margin-right:5px}.quiet-button{background:transparent;padding:7px 13px;font-size:.8rem}.text-button{background:none;border:0;color:var(--green);font-size:.78rem;padding:8px 0;text-align:left}.text-button:hover{background:none;text-decoration:underline}.agenda-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:32px}.stat-card{text-align:left;padding:19px 20px;border-radius:14px;display:flex;flex-direction:column;font-weight:400;gap:6px;box-shadow:0 3px 10px #20362603}.stat-card[aria-pressed=true]{background:var(--deep);color:white;border-color:var(--deep)}.stat-card span{font-size:.77rem}.stat-card strong{font-size:2rem;line-height:1.2;letter-spacing:-1px;font-weight:500}.stat-card small{font-size:.66rem;opacity:.75}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.agenda-title{justify-content:space-between}.agenda-filters{display:grid;grid-template-columns:1.1fr 1.3fr 1fr;gap:12px}.agenda-filters label{font-size:.7rem;color:var(--muted);margin:0}.agenda-filters input,.agenda-filters select{font-size:.8rem;margin-top:6px}.filter-meta{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:16px}.filter-meta p{font-size:.75rem;color:var(--muted);margin:0}#agenda-view-help{font-size:.73rem;max-width:650px;margin-bottom:20px}.appointments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.appointment-card{padding:21px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 16px #293d2c03}.card-header{display:flex;align-items:center;gap:11px;margin-bottom:20px}.contact-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:600;background:#edf0e8;flex-shrink:0}.card-identity{min-width:0}.card-identity h3{font-size:.85rem;overflow-wrap:anywhere}.card-caption{font-size:.63rem;color:var(--muted);margin:3px 0 0}.card-schedule{display:flex;gap:16px;align-items:center;margin-bottom:17px}.date-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;min-height:82px;padding:9px 8px;background:var(--cream);border:1px solid var(--line);border-radius:11px}.date-month{font-size:.56rem;letter-spacing:1px}.date-day{font-size:1.6rem;line-height:1.2;font-weight:500}.date-weekday{font-size:.61rem;color:var(--muted)}.appointment-hour{font-size:1.65rem;line-height:1.15;letter-spacing:-.7px;margin-bottom:5px}.time-caption{font-size:.7rem;color:var(--muted);margin:0}.appointment-time{font-size:.64rem;color:var(--muted);margin:7px 0 0}.badge{font-size:.67rem;font-weight:600;padding:5px 9px;border-radius:7px;background:#f7eed9;color:var(--gold);display:inline-block;margin-bottom:10px}.badge.confirmed{background:#e9f1e5;color:#426037}.badge.cancelled{background:#f4e9e5;color:#835747}.financial-brief{font-size:.75rem;font-weight:600;margin-bottom:3px}.card-disclaimer{font-size:.65rem;color:var(--muted);margin-bottom:12px}.card-details{font-size:.7rem;padding-top:12px;border-top:1px solid var(--line)}summary{cursor:pointer;color:var(--green);font-weight:600}details p{margin:10px 0;color:var(--muted)}.card-action{margin-top:16px;width:100%;font-size:.74rem;background:#f0f3ec;border-color:#dfe6d8;color:var(--deep)}.routine-card,.review-card{background:var(--sage);border:1px solid #dfe5d7;border-radius:var(--radius);padding:23px;margin-bottom:18px}.routine-card h2{font-family:Georgia,serif;font-weight:400;font-size:1.5rem;margin-bottom:20px}.routine-card ol{padding-left:20px;font-size:.79rem;color:#50644f}.routine-card li{padding-left:4px;margin-bottom:13px}.routine-card .muted{font-size:.7rem;margin:0}.review-card{background:#fff}.review-card h2{font-size:1.1rem}.step-number{width:28px;height:28px;flex-shrink:0;background:var(--sage);border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:700}.review-card p{font-size:.77rem}.selected-subject{padding:12px;background:var(--cream);border-radius:10px;font-weight:600}.review-card select{margin-bottom:12px;font-size:.8rem}.check-label{display:flex;align-items:flex-start;gap:8px;font-size:.72rem;font-weight:400;margin:14px 0}.check-label input{width:15px;min-height:0;height:15px;margin:4px 0 0;flex-shrink:0;accent-color:var(--green)}.primary-button{background:var(--deep);color:white;border-color:var(--deep);font-size:.8rem;padding:12px 16px;width:100%}.primary-button:hover{background:#223b2c;color:white}.next-step{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.small-details{font-size:.72rem;margin-top:16px}.small-details button{font-size:.72rem}#financial-feedback:not(:empty),#message-result:not(:empty){padding:12px;background:var(--cream);border-radius:10px;margin:16px 0 0}.agenda-sync{font-size:.67rem;color:var(--muted);border-top:1px solid var(--line);margin-top:25px;padding-top:16px}.agenda-sync p{margin-bottom:4px}.empty-state{grid-column:1/-1;background:white;border:1px dashed #b8c7b0;padding:34px;border-radius:14px;color:var(--muted);font-size:.85rem}.login-card{max-width:460px;margin:10px auto 75px;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 15px 40px #243d2806}.login-card>p{font-size:.85rem;color:var(--muted)}.login-card form{display:grid;gap:9px;margin-top:25px}.login-card label{margin:5px 0 0}.login-card button{margin-top:12px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0;margin-top:50px;color:var(--muted);font-size:.7rem}.skip-link{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip-link:focus{top:15px}.manual{max-width:900px;padding-top:35px}.manual h1{font-size:2.7rem}.manual section{background:white;padding:28px;border:1px solid var(--line);border-radius:var(--radius);margin:20px 0}.manual h2{margin-bottom:12px}.manual p,.manual li{font-size:.92rem}.manual li{margin-bottom:10px}
@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 360px}.appointments{gap:22px}}@media(max-width:1100px){.appointments{grid-template-columns:1fr}.workspace{gap:22px;grid-template-columns:minmax(0,1fr) 310px}.agenda-summary{gap:9px}.stat-card{padding:15px}.stat-card small{font-size:.6rem}}@media(max-width:800px){.topbar{padding:20px 24px}.topbar nav{gap:14px;font-size:.73rem}main{padding:0 24px}.welcome{padding-top:34px}.doctor{display:none}.workspace{grid-template-columns:1fr}.appointments{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.review-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.review-column>section{margin:0}.review-card{grid-column:1/-1}.routine-card{grid-column:1/-1}.routine-card ol{display:flex;gap:25px;flex-wrap:wrap}.routine-card li{flex:1;min-width:150px}.welcome>div>p:last-child{font-size:.85rem}}@media(max-width:520px){.topbar{padding:17px 18px;align-items:flex-start}.brand{font-size:1.5rem}.brand-symbol{width:38px;height:38px;font-size:2.1rem;line-height:32px;padding-left:7px}.brand small{font-size:.4rem;letter-spacing:1px}.topbar nav{display:flex;flex-direction:column;gap:6px;text-align:right;font-size:.65rem}main{padding:0 18px}.welcome{padding:29px 0 24px}.welcome>div>p:last-child{max-width:300px}.agenda-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:25px}.stat-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px}.stat-card:last-child strong{grid-column:2;grid-row:1/3;font-size:1.6rem}.stat-card{padding:15px}.stat-card strong{font-size:1.8rem}.stat-card small{font-size:.64rem}.appointments{grid-template-columns:1fr}.agenda-filters{grid-template-columns:1fr 1fr}.agenda-filters label:nth-child(2){grid-column:1/-1;grid-row:2}.session-toolbar{font-size:.65rem}.agenda-title h2{font-size:1.3rem}.agenda-title .eyebrow{font-size:.58rem}.agenda-title button{font-size:.7rem;padding:7px 10px}.routine-card ol{display:block}.login-card{padding:24px}footer{flex-direction:column;gap:5px}.manual h1{font-size:2rem}.manual section{padding:22px}}
.payment-attention{padding:12px;border:1px solid #d9bb76;border-left:4px solid #a87521;border-radius:9px;background:#fff6df;color:#714c13;font-size:.75rem;font-weight:600;line-height:1.5;margin:10px 0 14px}

#reset-numbers{font:inherit;width:100%;min-height:96px;border:1px solid #d5ddcf;border-radius:9px;padding:10px;resize:vertical}#reset-results{overflow-wrap:anywhere;font-size:.78rem;margin:12px 0}#reset-status{font-size:.8rem;margin-top:14px}#reset-confirmation{margin-bottom:12px}#reset-numbers:focus-visible{outline:3px solid #88a97a;outline-offset:3px}

.manage-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.cancel-action{color:#8b3b36}.manage-dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #dfe5d9;border-radius:24px;padding:28px;color:var(--ink,#263a2d);background:#fff;box-shadow:0 20px 80px #172b2340}.manage-dialog::backdrop{background:#16281c80}.manage-dialog button{margin-top:12px}.manage-dialog input[type=date],.manage-dialog select{width:100%;box-sizing:border-box}.manage-preview:not(:empty){padding:16px;background:#f2f5ef;border-radius:14px;line-height:1.6}#notice-body{white-space:pre-line}.manage-dialog[open]{display:block}.manage-dialog label[hidden]{display:none}@media(max-width:600px){.manage-dialog{padding:20px}.manage-card-actions{flex-wrap:wrap}}

/* Official artwork and mobile use, without cached patient data. */
.brand-logo{display:block;width:210px;max-width:100%;height:auto}.brand-board{display:block;width:100%;height:auto;margin:18px auto 0}.topbar nav{align-items:center;flex-wrap:wrap}.badge.completed{background:#e9f1e5;color:#426037}.agenda-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}textarea{font:inherit;color:var(--ink);border:1px solid #d5ddcf;border-radius:9px;padding:10px}textarea:focus-visible{outline:3px solid #88a97a;outline-offset:3px}.check-label{min-height:44px;align-items:center}.check-label input{width:20px;height:20px;margin:0;flex-shrink:0}body{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:720px){button,input,select,summary{min-height:44px}input,select,textarea{font-size:16px!important}.topbar{gap:14px}.brand-logo{width:175px}.topbar nav{justify-content:flex-end;gap:8px}.topbar nav a{display:flex;align-items:center;min-height:44px}.topbar nav button{font-size:.75rem}.agenda-title,.filter-meta,.session-toolbar{flex-wrap:wrap}.agenda-filters{grid-template-columns:1fr 1fr}.agenda-summary{gap:8px}.manage-dialog{max-height:calc(100dvh - 24px);padding:20px;overflow-wrap:anywhere}.manual{overflow-wrap:anywhere}.panel-tabs button{flex:1;min-width:120px}}
@media(max-width:400px){.topbar{padding:14px;flex-wrap:wrap}.brand-logo{width:175px}.topbar nav{max-width:none;width:100%;justify-content:space-between}.topbar nav a{font-size:.72rem}main{padding:0 14px}.agenda-title button{font-size:.75rem}.agenda-filters{grid-template-columns:1fr}.agenda-filters label:nth-child(2){grid-column:auto;grid-row:auto}.welcome h1{font-size:2.05rem}.agenda-summary .stat-card{padding:13px}.panel-tabs{gap:6px}}

@media(max-width:720px){.topbar{flex-wrap:wrap;align-items:center}.topbar nav{flex-direction:row;width:100%;justify-content:flex-start;text-align:left}.topbar nav a{font-size:.75rem;padding:0 4px}.brand-logo{width:190px}}

button,input,select,summary{min-height:44px}.topbar nav a{min-height:44px;display:flex;align-items:center}

/* Loading is a state, never an unverified zero or an invitation to click again. */
.sync-status{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;margin:16px 0;border:1px solid #cdd9c6;border-radius:12px;font-size:.9rem;font-weight:600;line-height:1.6;overflow-wrap:anywhere;min-width:0}.sync-status:empty{display:none}.sync-status::before{flex:none;font-weight:700}.sync-loading{background:#fff7dc;border-color:#ddca88;color:#655014}.sync-loading::before{content:'↻'}.sync-ready{background:#edf4e9;border-color:#c9d8c0;color:#355233}.sync-ready::before{content:'✓'}.sync-error{background:#fff0ec;border-color:#dbb1a8;color:#803b30}.sync-error::before{content:'!'}.sync-status+.agenda-filters{margin-top:18px}@media(max-width:520px){.sync-status{padding:12px;font-size:.85rem}}

.intake-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:24px;align-items:start;margin:24px 0}.intake-layout .review-card{margin:0;min-width:0}.intake-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;margin:18px 0}.intake-fields label{display:block;margin:0}.intake-fields input,.intake-fields select{display:block;width:100%;margin-top:8px;box-sizing:border-box}.intake-fields label:last-child{grid-column:1/-1}.intake-layout h3{margin:14px 0}.intake-layout button{min-height:44px}.intake-confirmation{overflow-wrap:anywhere}.intake-confirmation>button{display:block;width:100%;margin:12px 0}.intake-confirmation [hidden]{display:none!important}#intake-status{white-space:pre-line;line-height:1.65}#intake-summary p{line-height:1.65}.intake-layout summary{display:flex;align-items:center;min-height:44px}.intake-layout details[open] summary{margin-bottom:12px}@media(max-width:850px){.intake-layout{grid-template-columns:1fr}}@media(max-width:520px){.intake-fields{grid-template-columns:1fr}.intake-layout .review-card{padding:20px}.intake-fields label:last-child{grid-column:auto}.intake-layout{gap:18px}}

.session-identity{max-width:100%;overflow-wrap:anywhere;font-size:.85rem;color:var(--muted,#667c78)}
