:root{
  --bg:#f5f2eb;--paper:#fffefa;--ink:#181815;--muted:#706d66;--line:#d9d5cc;
  --soft:#efebe3;--field:#fff6d7;--ok:#315f45;--bad:#8a3838;--shadow:0 24px 64px rgba(24,24,21,.12);
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}
.shell{min-height:100vh;padding:22px 12px}
.app-card{width:min(100%,610px);min-height:calc(100vh - 44px);margin:auto;background:var(--paper);border:1px solid var(--line);border-radius:40px;padding:30px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.brand{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}
.wordmark{font-size:13px;font-weight:700;letter-spacing:.25em;text-transform:uppercase}.address{font-size:12px;color:var(--muted);text-align:right;max-width:220px}
.progress{display:flex;gap:5px;margin:0 0 26px}.progress i{height:3px;flex:1;border-radius:4px;background:var(--line)}.progress i.on{background:var(--ink)}
.kicker{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 10px}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.03;margin:0 0 17px}h1{font-size:clamp(38px,10vw,62px)}h2{font-size:clamp(31px,8vw,47px)}
p{line-height:1.5}.lead{color:var(--muted);margin:0 0 20px}.micro{color:var(--muted);font-size:12px;text-align:center;margin:14px 0 0}
.intro{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin-bottom:20px}.intro-copy{min-width:0}
.tooth-mark{width:78px;height:78px;color:var(--ink);opacity:.16}
.portraits{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 18px}.portrait{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,var(--paper),var(--soft))}
.avatar{width:50px;height:50px;flex:0 0 50px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:Georgia,serif;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.portrait small{color:var(--muted)}
.choices{display:grid;gap:10px;margin:18px 0}.choice,.slot,.day,.ghost,.primary{border:1px solid var(--line);background:var(--paper);border-radius:17px;min-height:50px;padding:12px 15px}
.choice{width:100%;text-align:left;min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:14px}.choice span:first-child{display:grid;gap:4px}.choice small,.duration{color:var(--muted);line-height:1.35}.duration{white-space:nowrap}
.choice[aria-pressed="true"],.slot[aria-pressed="true"],.day[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}.choice[aria-pressed="true"] small,.choice[aria-pressed="true"] .duration{color:#ddd}
.note{border-left:3px solid var(--ink);background:var(--soft);padding:12px 14px;margin:15px 0;line-height:1.45}
.actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:25px}.primary{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:650}.actions .primary{margin-left:auto}.ghost{background:transparent}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0 12px}.calendar-head strong{font-size:17px;text-transform:capitalize}.round{width:44px;height:44px;border:1px solid var(--line);background:var(--paper);border-radius:50%;font-size:18px}
.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday{text-align:center;color:var(--muted);font-size:11px;padding:7px 0}.day{padding:5px;min-height:46px;border-radius:13px}.day:disabled{background:var(--soft)}.empty{visibility:hidden}.legend{display:flex;gap:15px;color:var(--muted);font-size:12px;margin-top:11px}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:19px 0}.slot{padding:10px}.assignment{background:var(--soft);border-radius:16px;padding:14px;margin-top:15px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:19px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:650;font-size:14px}.field input{width:100%;min-height:52px;border:1px solid var(--line);border-radius:15px;background:var(--paper);padding:12px}.field small{color:var(--muted)}
.summary{border-top:1px solid var(--line);margin-top:17px}.summary-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.summary-label{color:var(--muted);font-size:13px}.change{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;padding:6px}
.confirm-zone{text-align:center;margin:22px auto 5px}.confirm{width:min(100%,390px);min-height:76px;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:18px 25px;font-weight:700;box-shadow:0 14px 30px rgba(23,23,20,.2)}.confirm-help{display:block;color:var(--muted);font-size:12px;margin-top:10px}
.success-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#e0ebe3;color:var(--ok);font-size:28px;margin-bottom:17px}.final-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.final-actions button{min-height:51px}.status{min-height:20px;color:var(--ok);text-align:center;margin-top:12px}
.error{color:var(--bad);min-height:22px;margin-top:10px}.loader{text-align:center;padding:70px 10px;color:var(--muted)}.spinner{display:block;width:32px;height:32px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;margin:0 auto 14px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.suspended{text-align:center;padding:16vh 8px}.suspended .tooth-mark{margin:0 auto 20px}.hidden{display:none!important}
@media(max-width:520px){.shell{padding:0}.app-card{min-height:100vh;border:0;border-radius:0;padding:23px 18px;box-shadow:none}.address{display:none}.intro{grid-template-columns:1fr}.tooth-mark{display:none}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.slots{grid-template-columns:repeat(2,1fr)}.summary-row{grid-template-columns:1fr auto}.summary-label{grid-column:1/-1}.final-actions{grid-template-columns:1fr}.portraits{margin-bottom:14px}}

.portraits[hidden]{display:none!important}
;
.app-card h2.functional-title{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(1.45rem,5vw,1.8rem);line-height:1.15;font-weight:700;letter-spacing:-.02em;margin:32px 0 10px}2.functional-title{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(1.45rem,5vw,1.8rem);line-height:1.15;font-weight:700;letter-spacing:-.02em;margin:32px 0 10px}
