:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#102a2a;background:#ecf6f3;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-height:100vh}.shell{width:min(100% - 2rem,32rem);margin:auto;padding:calc(1.25rem + env(safe-area-inset-top)) 0 2rem}
header{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}header p{margin:.15rem 0 0;color:#5d7371}.card{background:#fff;border:1px solid #d6e5e1;border-radius:1.25rem;padding:1.4rem;box-shadow:0 16px 40px #14534a12}.hidden{display:none!important}
h1,h2{margin:.2rem 0 .5rem}label{display:grid;gap:.4rem;margin:1rem 0;font-weight:650}input,select,button{font:inherit;border-radius:.75rem;min-height:3rem}input,select{border:1px solid #b9ceca;padding:.7rem;background:#fff}button{width:100%;border:0;background:#0f766e;color:#fff;font-weight:750;padding:.7rem 1rem;cursor:pointer}button:disabled{opacity:.55;cursor:wait}
.check{display:flex;align-items:center;font-weight:500}.check input{min-height:auto}.muted{color:#617472}.message{min-height:1.5rem;color:#9f2d20}.identity{display:flex;justify-content:space-between;align-items:start}.identity .link{width:auto;min-height:auto;background:transparent;color:#0f766e;padding:.35rem}
.surface-access{display:grid;gap:.7rem;margin:1rem 0;padding:1rem;border:1px solid #b9d4cc;border-radius:.85rem;background:#f1faf7}.surface-access h2,.surface-access p{margin:0}.surface-actions{display:grid;gap:.55rem}.surface-actions a,.surface-actions button{display:flex;align-items:center;justify-content:center;min-height:2.75rem;border-radius:.75rem;padding:.65rem .9rem;font-weight:700;text-decoration:none}.surface-actions a{border:1px solid #0f766e;background:#0f766e;color:#fff}.surface-actions .secondary{border:1px solid #b9ceca;background:#fff;color:#102a2a}
.status-orb{width:8rem;height:8rem;margin:2rem auto 1rem;border-radius:50%;background:#a8b6b4;box-shadow:0 0 0 1rem #eef3f2}.status-orb.available{background:#14a36d;box-shadow:0 0 0 1rem #dff6eb}.status-orb.pending{background:#e9a23b;box-shadow:0 0 0 1rem #fff1d9}.status-orb.busy{background:#d75140;box-shadow:0 0 0 1rem #fae7e3}
#availability-card{text-align:center}#availability-card label{text-align:left}
@media(display-mode:standalone){.shell{padding-top:calc(1.5rem + env(safe-area-inset-top))}}
