:root{--bg:#f4f6fa;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--nav:#0b1020;--accent:#7c3aed;--accent2:#6d28d9;--green:#15803d;--red:#b91c1c;--amber:#b45309;--blue:#1d4ed8;--shadow:0 8px 30px rgba(17,24,39,.08)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{cursor:pointer}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:12px 22px;background:var(--nav);color:#fff;box-shadow:0 3px 15px rgba(0,0,0,.18)}.brand{font-size:22px;font-weight:850;white-space:nowrap}.brand span,.login-logo span{color:#c4b5fd}.topbar nav{display:flex;gap:6px;flex:1;overflow:auto}.topbar nav a,.account a{padding:8px 10px;border-radius:10px;white-space:nowrap;color:#d1d5db}.topbar nav a:hover,.account a:hover{background:#1f2937;color:white}.account{display:flex;align-items:center;gap:5px;white-space:nowrap}.account>span{font-weight:700;margin-right:4px}.container{max-width:1320px;margin:0 auto;padding:28px 20px 70px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.page-head h1{margin:0;font-size:30px}.page-head p{margin:5px 0 0;color:var(--muted)}.card,.login-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:22px;margin-bottom:20px}.narrow,.login-card{max-width:560px;margin:48px auto}.login-card{padding:34px}.login-logo{font-size:26px;font-weight:900;margin-bottom:28px}.login-card h1{margin:0 0 6px;font-size:32px}.login-card p{color:var(--muted);margin:0 0 26px}.stack{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span2{grid-column:span 2}label{display:grid;gap:7px;font-weight:650}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d1d5db;border-radius:11px;background:#fff;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.13)}textarea{resize:vertical}.primary,button.primary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 16px;background:var(--accent);color:white;font-weight:800}.primary:hover{background:var(--accent2)}.big{min-height:48px;font-size:16px}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:11px;border:1px solid var(--line);background:#fff;font-weight:750}.ghost{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 10px}.danger{color:var(--red)}.actions{display:flex;gap:10px;align-items:center}.actions-inline{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.actions-inline form{display:inline-flex}.flash{padding:13px 15px;border-radius:12px;margin:0 0 16px;border:1px solid}.flash.success{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.flash.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.form-message{min-height:22px;color:var(--red);font-weight:650}.muted,small{color:var(--muted)}code{background:#f3f4f6;padding:2px 5px;border-radius:6px}.calendar-toolbar{display:flex;justify-content:center;align-items:center;gap:22px;margin:4px 0 12px}.calendar-toolbar a{font-size:24px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-head{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.week-head>div{padding:8px}.month-grid{background:var(--line);border:1px solid var(--line);gap:1px;border-radius:14px;overflow:hidden}.day{min-height:138px;background:#fff;padding:9px;min-width:0}.day.outside{background:#f8fafc;color:#9ca3af}.day-num{display:flex;justify-content:flex-end;font-weight:800;margin-bottom:7px}.day-num a{display:grid;place-items:center;width:28px;height:28px;border-radius:50%}.day-num a:hover{background:#ede9fe}.event-chip{display:block;border-left:4px solid var(--blue);background:#eff6ff;padding:6px 7px;border-radius:7px;margin-bottom:5px;overflow:hidden}.event-chip strong,.event-chip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-chip small{font-size:11px;margin-top:1px}.status-hold{background:#fffbeb;border-color:var(--amber)}.status-draft{background:#f3f4f6;border-color:#6b7280}.status-cancelled{opacity:.5;text-decoration:line-through;border-color:var(--red)}.more{display:block;padding:2px 5px}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.check{display:flex;align-items:center;gap:8px;font-weight:650}.check input{width:auto}.card fieldset{border:1px solid var(--line);border-radius:12px;padding:14px}.card legend{font-weight:800;padding:0 6px}.searchbar{display:flex;gap:10px;margin-bottom:18px}.searchbar input{font-size:17px;padding:13px 14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.availability-list{display:grid;gap:10px}.availability-row{display:grid;grid-template-columns:minmax(170px,1fr) auto minmax(260px,2fr);align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-left:6px solid #9ca3af;border-radius:13px;padding:13px 16px}.availability-row>div:first-child small{display:block}.availability-row.free{border-left-color:var(--green)}.availability-row.busy{border-left-color:var(--amber)}.availability-row.closed{opacity:.65}.pill{padding:5px 9px;border-radius:99px;background:#f3f4f6;font-weight:800;font-size:12px}.free .pill{background:#dcfce7;color:#166534}.busy .pill{background:#fef3c7;color:#92400e}.conflicts{display:grid;gap:2px}.opening-grid{display:grid;gap:9px;margin-bottom:18px}.opening-row{display:grid;grid-template-columns:minmax(150px,1fr) 130px auto 130px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.mini-form{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:6px;min-width:600px;padding:10px 0}.copy-field{margin-top:8px}.passkey-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.passkey-row:last-child{border-bottom:0}.passkey-row small{display:block;margin-top:3px}
@media(max-width:900px){.topbar{display:block;padding:10px 14px}.brand{display:block;margin-bottom:7px}.topbar nav{padding-bottom:4px}.account{position:absolute;right:10px;top:8px}.account>span{display:none}.container{padding:18px 12px 70px}.day{min-height:106px;padding:5px}.event-chip{padding:4px;font-size:11px}.event-chip small{display:none}.availability-row{grid-template-columns:1fr auto}.conflicts{grid-column:1/-1}.page-head h1{font-size:25px}}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}.span2{grid-column:span 1}.calendar{min-width:700px}.month-grid,.week-head{width:700px}.calendar-toolbar+ .week-head,.month-grid{ }.container:has(.month-grid){overflow-x:auto}.searchbar{display:grid}.opening-row{grid-template-columns:1fr 1fr auto 1fr}.opening-row .check{grid-column:1/-1}.availability-row{grid-template-columns:1fr}.pill{justify-self:start}.login-card{margin:24px auto;padding:24px}.page-head{align-items:center}.page-head .button{white-space:nowrap}.topbar nav a{font-size:13px;padding:7px}.account a:first-of-type{display:none}}
