:root{--ink: #12211f;--ink-soft: #38493f;--muted: #6b7b75;--paper: #f4f6f5;--card: #ffffff;--line: #e3e8e6;--line-strong: #cfd7d4;--brand: #0e7c6b;--brand-ink: #0a5a4e;--brand-wash: #e6f2ef;--accent: #b8791f;--accent-wash: #fbf1dd;--accent-line: #e9cd97;--danger: #c0433d;--danger-wash: #f8e8e7;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(18, 33, 31, .04), 0 6px 20px -12px rgba(18, 33, 31, .18);--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--brand-ink)}.wrap{width:100%;max-width:720px;margin:0 auto;padding:0 16px}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.spread{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.grow{flex:1}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.01em;color:var(--ink)}h1{font-size:22px}h2{font-size:17px}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink)}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px}.divider{height:1px;background:var(--line);border:0;margin:0}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--sans);font-size:14px;font-weight:550;border-radius:var(--radius-sm);border:1px solid transparent;padding:10px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center;transition:background .14s ease,border-color .14s ease,transform .06s ease;min-height:42px}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-ink)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--line-strong)}.btn-ghost:hover{background:#f0f3f2}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-wash)}.btn-sm{min-height:34px;padding:6px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}label.field{display:block}.field-label{font-size:13px;font-weight:550;color:var(--ink-soft);margin-bottom:6px}.input{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:11px 13px;min-height:44px}.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:var(--mono);font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-soft);background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.chip[data-on=true]{background:var(--brand-wash);border-color:var(--brand);color:var(--brand-ink);font-weight:600}.chip-static{cursor:default}.pill{font-family:var(--mono);font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.pill-active{background:var(--brand-wash);color:var(--brand-ink)}.pill-revoked{background:#eef1f0;color:var(--muted)}.pill-suspended{background:var(--danger-wash);color:var(--danger)}.cred{border:1px solid var(--accent-line);background:var(--accent-wash);border-radius:var(--radius);padding:16px}.cred-secret{font-family:var(--mono);font-size:13px;word-break:break-all;color:#4a3510;background:#fff;border:1px dashed var(--accent-line);border-radius:var(--radius-sm);padding:12px;-webkit-user-select:all;user-select:all}.cred-warn{color:var(--accent);font-size:12.5px;display:flex;align-items:center;gap:6px}.bars{display:flex;align-items:flex-end;gap:4px;height:72px;border-bottom:1px solid var(--line)}.bar{flex:1;background:var(--brand);border-radius:3px 3px 0 0;min-height:0;transition:height .3s ease}.meter{height:8px;background:#eef1f0;border-radius:999px;overflow:hidden}.meter>i{display:block;height:100%;background:var(--brand);border-radius:999px}.meter.warn>i{background:var(--accent)}.topbar{position:sticky;top:0;z-index:20;background:#f4f6f5db;-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}.brandmark{display:flex;align-items:center;gap:9px;font-weight:650;letter-spacing:-.01em}.brand-dot{width:20px;height:20px;border-radius:6px;background:var(--brand);position:relative}.brand-dot:after{content:"";position:absolute;inset:6px 6px auto auto;width:7px;height:7px;border-radius:2px;background:#fff}.tabbar{display:flex;gap:4px}.tab{font-size:14px;font-weight:550;color:var(--muted);text-decoration:none;padding:12px 4px;border-bottom:2px solid transparent;margin-right:16px}.tab.active{color:var(--ink);border-bottom-color:var(--brand)}.clinic-select{font-family:var(--sans);font-size:13px;font-weight:550;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:999px;padding:6px 12px;background:#fff;max-width:46vw;text-overflow:ellipsis}.empty{text-align:center;padding:40px 20px}.empty .glyph{font-family:var(--mono);font-size:26px;color:var(--line-strong)}.toasts{position:fixed;left:0;right:0;bottom:16px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:60;pointer-events:none}.toast{pointer-events:auto;background:var(--ink);color:#fff;font-size:13.5px;font-weight:500;padding:10px 16px;border-radius:999px;box-shadow:var(--shadow);max-width:90vw}.toast.err{background:var(--danger)}.spin{width:18px;height:18px;border:2px solid var(--brand-wash);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-page{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (min-width: 640px){.card-pad{padding:22px}h1{font-size:25px}}
