:root{--cc-white:#ffffff;--cc-surface:#f6f8fa;--cc-navy:#0b1f3a;--cc-navy-600:#14315c;--cc-teal:#0f766e;--cc-teal-700:#0b5c55;--cc-green:#15803d;--cc-danger:#b42318;--cc-border:#d7dee6;--cc-muted:#4a5768;--cc-radius:12px;--cc-shadow:0 1px 2px rgba(11,31,58,.06),0 8px 24px rgba(11,31,58,.06);--cc-font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--cc-font);color:var(--cc-navy);background:var(--cc-surface)}.cc-card{background:var(--cc-white);border:1px solid var(--cc-border);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);padding:24px}.cc-btn{background:var(--cc-teal);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer}.cc-btn:hover{background:var(--cc-teal-700)}.cc-btn:focus-visible{outline:3px solid var(--cc-navy-600);outline-offset:2px}.cc-input{width:100%;padding:10px 12px;border:1px solid var(--cc-border);border-radius:10px;font-size:16px}.cc-label{display:block;font-size:14px;color:var(--cc-muted);margin:12px 0 6px}.cc-badge{display:inline-block;font-size:12px;font-weight:600;color:var(--cc-green);background:#eaf6ee;padding:2px 8px;border-radius:999px}.cc-center{min-height:100dvh;display:grid;place-items:center;padding:20px}.cc-shell{max-width:960px;margin:0 auto;padding:24px}.cc-h1{font-size:22px;margin:0 0 4px}.cc-sub{color:var(--cc-muted);margin:0 0 20px}.cc-err{color:var(--cc-danger);font-size:14px;margin:8px 0 0}.cc-appbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--cc-white);border-bottom:1px solid var(--cc-border);position:-webkit-sticky;position:sticky;top:0;z-index:5}.cc-appbar h1{font-size:16px;margin:0;color:var(--cc-navy)}.cc-linkbtn{background:none;border:0;color:var(--cc-teal);font-weight:600;cursor:pointer;padding:6px 8px}.cc-layout{display:block}.cc-content{padding:16px;max-width:1100px;margin:0 auto}.cc-nav{list-style:none;margin:0;padding:0}.cc-nav a,.cc-nav button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;padding:12px 14px;border:0;background:none;color:var(--cc-navy);font:inherit;border-radius:10px;cursor:pointer;min-height:44px}.cc-nav .active,.cc-nav a[aria-current=true]{background:#eef4f3;color:var(--cc-teal-700);font-weight:600}.cc-nav .cc-disabled{color:var(--cc-muted);cursor:not-allowed}.cc-tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;background:var(--cc-white);border-top:1px solid var(--cc-border);padding:6px env(safe-area-inset-right) calc(6px + env(safe-area-inset-bottom)) env(safe-area-inset-left)}.cc-tabbar button{flex:1 1;min-height:44px;border:0;background:none;color:var(--cc-muted);font-size:12px;cursor:pointer}.cc-tabbar button.active{color:var(--cc-teal-700);font-weight:600}.cc-with-tabs{padding-bottom:76px}@media (min-width:768px){.cc-rail-layout{display:grid;grid-template-columns:248px 1fr;min-height:100dvh}.cc-rail{background:var(--cc-white);border-right:1px solid var(--cc-border);padding:16px 10px}.cc-hide-desktop{display:none}}@media (max-width:767px){.cc-hide-mobile{display:none}}.cc-state{text-align:center;padding:40px 20px;color:var(--cc-muted)}.cc-skel{height:14px;background:linear-gradient(90deg,#eef1f4,#e2e8ee,#eef1f4);border-radius:6px;margin:8px 0;animation:cc-pulse 1.2s ease-in-out infinite}@keyframes cc-pulse{0%,to{opacity:.7}50%{opacity:1}}.cc-gate{border:1px solid #f2d9a8;background:#fdf6e9;color:#7a5b1e;border-radius:var(--cc-radius);padding:16px}.cc-denied{border:1px solid #f2c0bb;background:#fdecea;color:#8a231b;border-radius:var(--cc-radius);padding:16px}@media (prefers-reduced-motion:reduce){.cc-skel{animation:none}}.cc-h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}.cc-h3,.cc-muted{color:var(--cc-muted)}.cc-muted{font-weight:400}.cc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cc-row{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:var(--cc-white);border:1px solid var(--cc-border);border-radius:10px;padding:12px 14px;cursor:pointer;color:var(--cc-navy);font:inherit}.cc-row:hover{border-color:var(--cc-teal)}.cc-row:disabled{opacity:.5;cursor:default}.cc-chev{font-size:20px;line-height:1}.cc-back,.cc-chev{color:var(--cc-teal-700)}.cc-back{background:none;border:0;font:inherit;font-weight:600;cursor:pointer;padding:0 0 8px}.cc-btn-ghost{background:transparent;color:var(--cc-teal-700);border:1px solid var(--cc-border)}.cc-btn-sm{padding:7px 12px;font-size:13px;border-radius:8px}.cc-ok{border-color:#b7e0c2;background:#eef8f1}.cc-dl{display:grid;grid-template-columns:96px 1fr;grid-gap:8px 12px;gap:8px 12px;margin:0}.cc-dl dt{color:var(--cc-muted)}.cc-dl dd{margin:0;font-weight:600}.cc-appt{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--cc-white);border:1px solid var(--cc-border);border-radius:10px;padding:12px 14px}.cc-appt-muted{opacity:.8}.cc-appt-actions{display:flex;gap:6px;flex-shrink:0}.cc-pill{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:999px;background:#eef1f4;color:var(--cc-muted)}.cc-pill-cancelled{background:#fdecea;color:#8a231b}.cc-pill-completed{background:#eef8f1;color:#15803d}.cc-pill-no_show{background:#fdf6e9;color:#7a5b1e}.cc-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.cc-tile{background:var(--cc-white);border:1px solid var(--cc-border);border-radius:10px;padding:16px}.cc-tile-n{font-size:28px;font-weight:700;color:var(--cc-navy)}.cc-tile-l{font-size:13px;color:var(--cc-muted);margin-top:4px}.cc-ok-text{color:var(--cc-green)}.cc-segmented{display:flex;gap:4px;background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:10px;padding:4px;margin:4px 0;overflow-x:auto}.cc-segmented button{flex:1 0 auto;min-height:40px;border:0;background:none;color:var(--cc-muted);font:inherit;font-size:13px;font-weight:600;border-radius:8px;padding:8px 12px;cursor:pointer;white-space:nowrap}.cc-segmented button.active{background:var(--cc-white);color:var(--cc-teal-700);box-shadow:var(--cc-shadow)}.cc-segmented button:focus-visible{outline:3px solid var(--cc-navy-600);outline-offset:2px}.cc-tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#eef1f4;color:var(--cc-muted);white-space:nowrap}.cc-tag-info{background:#e8f1fb;color:#14315c}.cc-tag-flag{background:#fdf6e9;color:#7a5b1e}.cc-list-tight{display:flex;flex-direction:column;gap:6px}.cc-obs-head{align-items:baseline;gap:8px;margin-bottom:6px}.cc-obs-head,.cc-obs-row{display:flex;justify-content:space-between}.cc-obs-row{align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--cc-border)}.cc-obs-val{font-weight:600;color:var(--cc-navy)}.cc-obs-meta{display:flex;align-items:center;gap:8px;font-size:12px}.cc-spark-wrap{color:var(--cc-teal);margin:4px 0 8px;overflow-x:auto}.cc-spark{display:block;max-width:100%}.cc-tile{margin-top:12px}.cc-tile-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.cc-note{background:var(--cc-white)}.cc-pill-active{background:#e8f1fb;color:#14315c}