:root{--bg:#f5f4f0;--surface:#fff;--ink:#1d2724;--muted:#5c6864;--line:#daded6;--fig:#7a2e4a;--fig-ink:#fff;--fig-soft:#f2e5ea;--celadon-soft:#e5ece7;--wa:#127a43;--ok:#2c7656;--ok-soft:#e0f0e7;--warn:#8e6210;--warn-soft:#f7edd6;--bad:#a1372e;--bad-soft:#f6e1de;--display:"Bodoni Moda", Georgia, serif;--body:"Manrope", system-ui, sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#121715;--surface:#1a211f;--ink:#e8ece8;--muted:#9faaa5;--line:#2d3733;--fig:#db93ae;--fig-ink:#1c1016;--fig-soft:#38232d;--celadon-soft:#202d27;--ok:#82d0a8;--ok-soft:#1c3128;--warn:#e5bc62;--warn-soft:#382e17;--bad:#f09c92;--bad-soft:#3c2220;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--body);font-variation-settings:"opsz" 11;margin:0;font-size:14px;line-height:1.55}a{color:inherit}h1,h2{font-family:var(--display);margin:0;font-weight:500;line-height:1.15}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;padding:10px 12px;font-size:16px}:focus-visible{outline:2px solid var(--fig);outline-offset:2px}.btn{border:1px solid var(--fig);background:var(--fig);color:var(--fig-ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn.quiet{border-color:var(--line);color:var(--ink);background:0 0}.btn.sm{padding:5px 12px;font-size:13px}.btn.wa{background:var(--wa);border-color:var(--wa);color:#fff}.btn.danger{border-color:var(--bad);color:var(--bad);background:0 0}.wrap{max-width:1000px;margin:0 auto;padding:24px 16px 64px}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;display:flex}.top h1{font-size:30px}.muted{color:var(--muted)}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.tabs a{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:13px;text-decoration:none}.tabs a[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:18px}.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.name{font-size:16px;font-weight:600}.meta{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin-top:6px;font-size:13px;display:flex}.pill{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500}.s-new{background:var(--fig-soft);color:var(--fig)}.s-contacted{background:var(--warn-soft);color:var(--warn)}.s-booked{background:var(--ok-soft);color:var(--ok)}.s-lost{background:var(--celadon-soft);color:var(--muted)}.actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.actions form{display:inline}.notes{gap:8px;margin-top:12px;display:flex}.notes input{flex:1}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.stat b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:30px;font-weight:400;display:block}.stat span{color:var(--muted);font-size:13px}.empty{text-align:center;color:var(--muted);padding:40px 16px}.gate{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.gate form{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:14px;width:100%;max-width:380px;padding:28px;display:grid}.gate h1{font-size:28px}.gate label{color:var(--muted);gap:6px;font-size:13px;font-weight:500;display:grid}.err{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:10px 12px;font-size:14px}.note{background:var(--celadon-soft);color:var(--muted);border-radius:10px;margin-bottom:18px;padding:10px 14px;font-size:13px}.legal{max-width:720px;margin:0 auto;padding:32px 16px 80px}.legal h1{margin-top:28px;font-size:clamp(30px,5vw,40px)}.legal h2{font-family:var(--body);margin:28px 0 8px;font-size:17px;font-weight:600}.legal p,.legal li{color:var(--ink);max-width:66ch;font-size:15px;line-height:1.7}.legal ul{padding-left:20px}.legal li{margin-bottom:6px}.legal a{color:var(--fig)}.legal .back{font-size:14px;text-decoration:none}.legal hr{border:0;border-top:1px solid var(--line);margin:48px 0 8px}.ed{gap:0;display:grid}.ed .card{gap:14px;display:grid}.fl{color:var(--muted);gap:6px;font-size:13px;font-weight:500;display:grid}.fl small{font-weight:400}.fl textarea{font-family:var(--body);resize:vertical;line-height:1.5}.g2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.g4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (max-width:640px){.g2,.g4{grid-template-columns:1fr 1fr}}.chk{flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.chk input{width:18px;height:18px;accent-color:var(--fig)}.prev{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px}.prev-h,.prev-r{grid-template-columns:1.3fr 1.1fr .9fr;align-items:center;gap:10px;font-size:13px;display:grid}.prev-h{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px;font-size:11px;font-weight:600}.prev-r{border-bottom:1px dashed var(--line);padding:6px 0}.prev-r:last-of-type{border-bottom:0}.prev-r input{padding:6px 8px;font-size:13px}@media (max-width:640px){.prev-h{display:none}.prev-r{grid-template-columns:1fr}}.admin-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;padding-bottom:16px;display:flex}.admin-nav{margin:0}.admin-tools{align-items:center;gap:8px;display:flex}.lang-sw{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.lang-sw a{color:var(--muted);padding:5px 10px;font-size:12px;font-weight:600;text-decoration:none}.lang-sw a[aria-current=true]{background:var(--ink);color:var(--bg)}.btn.exit{color:#b4483f;background:0 0;border-color:#b4483f}.g3{grid-template-columns:1fr 1.2fr 1fr;gap:12px;display:grid}@media (max-width:700px){.g3{grid-template-columns:1fr}}.books{color:var(--ink);flex-wrap:wrap;gap:8px 18px;margin-top:4px;font-weight:400;display:flex}.books-form{background:var(--bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;display:flex}.books-form .books{flex:1;margin:0}a.stat{text-decoration:none;display:block}a.stat:hover{border-color:var(--fig)}.quick{flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 28px;display:flex}.dash-sec{margin-top:30px}.sec-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.sec-row h2{font-size:24px}.card.slim{padding:14px 18px}.card.slim .name .pill{vertical-align:2px;margin-left:6px}details.card>summary{cursor:pointer;list-style:none}details.card>summary::-webkit-details-marker{display:none}details.add>summary{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}details.add>summary .name{color:var(--fig)}details.patient>summary{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}details.patient>summary:after{content:"›";color:var(--muted);margin-left:4px;font-size:20px;transition:transform .2s}details.patient[open]>summary:after{transform:rotate(90deg)}details.patient>summary .pill{margin-left:auto}.patient-body{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.patient-body .fl{margin-bottom:8px}.note-peek{font-style:italic}.chips{flex-wrap:wrap;gap:8px;display:flex}.chipb{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px}.chipb.on{background:var(--ok-soft);border-color:var(--ok);color:var(--ok);font-weight:500}.chips[aria-busy=true]{opacity:.7}.notes textarea{resize:vertical;flex:1;font-size:14px}.seg{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.seg form{display:contents}.seg button{color:var(--muted);cursor:pointer;border:0;border-right:1px solid var(--line);background:0 0;padding:5px 11px;font-size:12px}.seg form:last-child button{border-right:0}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg);font-weight:600}.choice{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:6px;display:grid}.chk.opt{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:10px;align-items:flex-start;padding:10px 12px}.chk.opt.on{border-color:var(--fig);box-shadow:0 0 0 1px var(--fig)}.chk.opt span{gap:2px;display:grid}.chk.opt small{color:var(--muted);font-size:12px;font-weight:400}.sale-row{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:4px;padding-top:12px;display:flex}.sale-row .fl{flex:1;min-width:140px}.status-lines{justify-items:start;gap:4px;margin-top:6px;display:grid}.st{border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.st-free{background:var(--ok-soft);color:var(--ok)}.st-sale{color:#7a5a1e;background:#f3ead8}.st-patients{background:var(--line);color:var(--ink)}.st-pat{color:var(--muted);background:0 0;padding:0;font-weight:400}.st-note{color:var(--muted);font-size:12px}@media (prefers-color-scheme:dark){.st-sale{color:#e3c68c;background:#3a3120}}.pfiles{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.pfiles li{background:var(--bg);border-radius:8px;align-items:center;gap:12px;padding:6px 10px;font-size:14px;display:flex}.pfiles li span:first-child{flex:1}.pfile-add{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.pfile-add input[type=file]{flex:220px;padding:6px;font-size:13px}.pfile-add input:not([type]){flex:2 220px;padding:7px 10px;font-size:14px}.linkbtn{color:var(--bad);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.hbars{gap:8px;display:grid}.hbar{grid-template-columns:minmax(0,1.3fr) 1fr 36px;align-items:center;gap:10px;font-size:13px;display:grid}.hbar .l{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hbar .b{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.hbar .b i{background:var(--fig);border-radius:4px;height:100%;display:block}.hbar .n{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
