:root{--ink:#111827;--muted:#64748b;--line:#e5e7eb;--bg:#f5f7fb;--card:#fff;--brand:#111827;--accent:#f59e0b;--green:#15803d}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.top{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.brand{font-weight:800;letter-spacing:-.02em}.brand span{color:#f59e0b}.userbar{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px}.container{max-width:1240px;margin:0 auto;padding:28px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.hero h1{font-size:32px;margin:0 0 7px;letter-spacing:-.03em}.hero p{margin:0;color:var(--muted)}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;background:var(--brand);color:#fff}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.amber{background:var(--accent);color:#111827}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 4px 18px #0f172a08}.stat{font-size:30px;font-weight:800}.label{font-size:13px;color:var(--muted);margin-top:5px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px}.field label{font-size:12px;font-weight:700;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid #d7dce5;border-radius:9px;padding:10px;background:#fff}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);font-size:14px}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2ff}.pill.frame{background:#f1f5f9}.pill.frameless{background:#fff7ed}.modal{position:fixed;inset:0;background:#0f172a88;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modalbox{background:#fff;border-radius:18px;padding:24px;width:min(520px,100%)}.modalbox h2{margin-top:0}.close{float:right;background:none;border:0;font-size:24px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.dow,.day{padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.dow{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;background:#f8fafc}.day{min-height:105px}.daynum{font-weight:800;font-size:13px}.avail{margin-top:8px;border-radius:8px;padding:6px;font-size:11px;background:#fef3c7}.empty{color:#94a3b8;font-size:12px;margin-top:12px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.authbox{width:min(470px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 12px 40px #0f172a12}.authbox h1{margin-top:0}.authbox .field{margin-bottom:14px}.notice{padding:12px;border-radius:10px;background:#f0fdf4;color:#166534;margin-bottom:15px;font-size:14px}.error{padding:12px;border-radius:10px;background:#fef2f2;color:#991b1b;margin-bottom:15px;font-size:14px}.tabs{display:flex;gap:6px;margin-bottom:20px}.tab{padding:9px 13px;border-radius:9px;border:1px solid transparent;background:transparent}.tab.active{background:#111827;color:#fff}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h2{margin:0;font-size:19px}.small{font-size:12px;color:var(--muted)}@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr)}.hero{align-items:start;flex-direction:column}.container{padding:18px}.calendar{overflow:auto}.day{min-width:120px}.top{padding:0 16px}}

.tablewrap{overflow:auto}.btn.danger{background:#b91c1c;color:#fff}hr{border:0;border-top:1px solid var(--line);margin:20px 0}h3{margin-bottom:10px}
