:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f1f3f6;--border: #dfe3e8;--text: #14181f;--muted: #667085;--accent: #2f6df6;--accent-ink: #ffffff;--danger: #c8372d;--danger-bg: #fdeeec;--ok: #1f7a4d;--ok-bg: #e8f5ee;--warn-bg: #fff5e5;--warn: #9a6200;--radius: 12px;--radius-sm: 8px;--shadow-resting: 0 1px 2px rgb(16 24 40 / 5%), 0 2px 6px rgb(16 24 40 / 6%);--shadow-raised: 0 2px 4px rgb(16 24 40 / 6%), 0 10px 24px -6px rgb(16 24 40 / 14%);--shadow-overlay: 0 8px 16px -4px rgb(16 24 40 / 12%), 0 24px 48px -12px rgb(16 24 40 / 22%);--shadow: var(--shadow-resting);--glass-bg: rgb(255 255 255 / 68%);--glass-border: rgb(255 255 255 / 55%);--glass-blur: saturate(180%) blur(14px);--accent-2: #4f86ff;--accent-grad: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 38%, transparent);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .15s;--dur: .22s;--dur-slow: .36s;--mono: ui-monospace, SFMono-Regular, Menlo, monospace}@media (prefers-color-scheme: dark){:root{--bg: #0e1116;--surface: #161b22;--surface-2: #1d232c;--border: #2b323c;--text: #e6e9ee;--muted: #939cab;--accent: #5b8dfa;--accent-ink: #0b1020;--danger: #f08b82;--danger-bg: #3a1f1d;--ok: #6ed39b;--ok-bg: #16302a;--warn-bg: #33280f;--warn: #e8c07d;--shadow-resting: 0 1px 2px rgb(0 0 0 / 40%), 0 2px 6px rgb(0 0 0 / 32%);--shadow-raised: 0 2px 4px rgb(0 0 0 / 40%), 0 12px 28px -6px rgb(0 0 0 / 55%);--shadow-overlay: 0 8px 18px -4px rgb(0 0 0 / 50%), 0 28px 56px -12px rgb(0 0 0 / 68%);--shadow: var(--shadow-resting);--glass-bg: rgb(22 27 34 / 66%);--glass-border: rgb(255 255 255 / 10%);--glass-blur: saturate(160%) blur(14px);--accent-2: #6f9dff;--accent-grad: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:22px;letter-spacing:-.3px}h2{font-size:17px}h3{font-size:14px}p{margin:0}a{color:var(--accent)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shimmer{0%{background-position:-160% 0}to{background-position:160% 0}}.rise-in{animation:rise-in var(--dur-slow) var(--ease-spring) both}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:var(--surface-2)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--text) 8%,transparent) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.rise-in{animation:none}}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--surface);padding:20px 14px;display:flex;flex-direction:column;gap:18px}.shell>.sidebar{border:none;border-right:1px solid var(--glass-border)}.topbar,.topbar .brand span{display:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;flex:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.icon-btn:hover{background:var(--surface-2)}.drawer-backdrop,.drawer-close{display:none}.brand{font-weight:700;letter-spacing:-.2px;padding:0 8px}.brand span{color:var(--muted);font-weight:500;display:block;font-size:12px}.nav{position:relative;display:flex;flex-direction:column;gap:2px}.nav-indicator{position:absolute;left:0;right:0;top:0;border-radius:var(--radius-sm);background:var(--accent-grad);box-shadow:0 1px 2px #10182829;transition:transform var(--dur) var(--ease-out);pointer-events:none;z-index:0}.nav a{position:relative;z-index:1;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:14px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.nav a:hover:not(.active){background:var(--surface-2)}.nav a.active{color:var(--accent-ink);font-weight:600}.main{padding:24px 28px 64px;max-width:1100px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:16px;flex-wrap:wrap;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.page-head .sub{color:var(--muted);font-size:13px;margin-top:5px;max-width:62ch}.card{background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:var(--radius);box-shadow:var(--shadow-resting);padding:18px;margin-bottom:18px;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.card--hover{cursor:pointer}.card--hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.card>header{margin-bottom:14px}.card>header .sub{color:var(--muted);font-size:13px;margin-top:3px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;gap:12px;align-items:center;justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:5px}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:14px;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.field{flex:1 1 160px;min-width:0}.field-sm{flex:0 1 110px}button{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out)}button:hover:not(:disabled){background:var(--surface-2)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent-grad);background-color:var(--accent);border-color:transparent;color:var(--accent-ink);box-shadow:0 1px 2px #1018281f}button.primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:var(--shadow-raised)}button.danger{color:var(--danger)}button.link{border:none;background:none;color:var(--accent);padding:2px 4px;text-decoration:underline}button.sm{padding:4px 9px;font-size:12.5px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:0 10px 8px;border-bottom:1px solid var(--border)}td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr{transition:background var(--dur-fast) var(--ease-out)}tbody tr:hover{background:var(--surface-2)}tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.1px;background:var(--surface-2);color:var(--muted);border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.9;flex:none}.badge.ok{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 26%,transparent)}.badge.warn{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 26%,transparent)}.badge.off{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 26%,transparent)}.mono{font-family:var(--mono);font-size:12px;color:var(--muted)}.notice{padding:10px 12px;border-radius:var(--radius-sm);font-size:13.5px}.notice.error{background:var(--danger-bg);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 24%,transparent);animation:rise-in var(--dur) var(--ease-out) both}.notice.info{background:var(--surface-2);color:var(--muted)}.notice.hint{background:var(--warn-bg);color:var(--warn)}.empty{color:var(--muted);font-size:13.5px;padding:14px 2px}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--surface)) 0%,var(--surface) 68%);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));box-shadow:var(--shadow-resting);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:4px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.stat-value{font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.5px;color:var(--text);font-variant-numeric:tabular-nums}.stat-label{font-size:11.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}table.sticky-head thead th{position:sticky;top:0;z-index:1;background:var(--surface)}.auth-wrap{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(120% 78% at 50% -12%,color-mix(in srgb,var(--accent) 15%,transparent) 0%,transparent 62%),var(--bg)}.auth-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px;animation:rise-in var(--dur-slow) var(--ease-spring) both}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand.center{justify-content:center;text-align:left}.auth-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:13px;background:var(--accent-grad);color:var(--accent-ink);box-shadow:var(--shadow-raised)}.auth-mark svg{width:24px;height:24px}.auth-wordmark{display:flex;flex-direction:column;gap:1px}.auth-wordmark strong{font-size:19px;font-weight:700;letter-spacing:-.3px;line-height:1.15}.auth-wordmark span{color:var(--muted);font-size:12px}.auth-head h1{font-size:23px;letter-spacing:-.4px}.auth-head p{color:var(--muted);font-size:14px;margin-top:6px}.auth-google{display:flex;justify-content:center;min-height:44px}.auth-foot{color:var(--muted);font-size:12px;text-align:center}.biz-list{display:flex;flex-direction:column;gap:10px}.biz-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:var(--surface);box-shadow:var(--shadow-resting);cursor:pointer;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.biz-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised);border-color:color-mix(in srgb,var(--accent) 34%,var(--border))}.biz-avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:11px;background:color-mix(in srgb,var(--accent) 15%,var(--surface-2));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));color:var(--accent);font-weight:700;font-size:15px;text-transform:uppercase}.biz-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.biz-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.biz-type{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.biz-arrow{flex:none;display:inline-flex;color:var(--muted);transition:transform var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.biz-row:hover .biz-arrow{transform:translate(3px);color:var(--accent)}.biz-arrow svg{width:18px;height:18px}.wizard-steps{display:flex;gap:8px;margin-bottom:16px}.wizard-step{display:flex;align-items:center;gap:9px;flex:1;min-width:0;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:var(--surface-2);transition:border-color var(--dur) var(--ease-out),background var(--dur) var(--ease-out)}.wizard-step.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.wizard-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border-radius:999px;font-size:12px;font-weight:700;background:var(--surface);color:var(--muted);border:1px solid var(--border);transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.wizard-step.active .wizard-num{background:var(--accent-grad);color:var(--accent-ink);border-color:transparent}.wizard-step.done .wizard-num{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.wizard-num svg{width:14px;height:14px}.wizard-label{display:flex;flex-direction:column;min-width:0}.wizard-label b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wizard-label span{font-size:11px;color:var(--muted)}.day{border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:var(--radius);padding:14px 16px;background:var(--surface)}.day-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.day-head h3{font-size:13.5px;letter-spacing:-.1px}.day-count{flex:none;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--muted);padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);font-variant-numeric:tabular-nums}.slots{display:flex;flex-wrap:wrap;gap:8px}.slot{display:inline-flex;flex-direction:column;justify-content:center;gap:3px;min-height:44px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.slot:hover{transform:translateY(-2px);background:var(--surface);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:var(--shadow-raised)}.slot-time{font-size:12.5px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.1px}.slot .seats{align-self:flex-start;font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--accent);padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent)}.avail-cached{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);color:var(--muted);vertical-align:middle}.avail-cached svg{width:1.05em;height:1.05em;flex:none}.cat-group{display:flex;flex-direction:column;gap:10px}.cat-group+.cat-group{padding-top:14px;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.cat-legend{font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.cat-item{padding:12px 14px;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-sm)}.cat-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 11px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface);border:1px solid var(--border);color:var(--text)}.cat-chip-x{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;flex:none;border:none;border-radius:999px;background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.cat-chip .cat-chip-x:hover{background:var(--danger-bg);color:var(--danger)}.cat-checks{display:flex;flex-wrap:wrap;gap:8px}.cat-check{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.cat-check:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--surface-2)}.cat-check:has(input:checked){background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--text);font-weight:600}.cat-check input{width:auto;margin:0}.cat-detail{margin-top:10px;padding:14px;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:12px}.cat-detail h3{font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.sched-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);color:var(--muted);font-size:12.5px}.sched-chip svg{width:1.05em;height:1.05em;flex:none;color:var(--accent)}.sched-chip b{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text)}.sched-add{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.team-user{display:inline-flex;align-items:center;gap:10px;min-width:0}.team-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--surface-2));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));color:var(--accent)}.team-avatar svg{width:1em;height:1em}.team-role{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--accent) 9%,var(--surface-2));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));color:var(--text)}.team-role svg{width:1em;height:1em;flex:none;color:var(--accent)}@media (max-width: 767.98px){.shell{display:block;min-height:100vh}.topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;padding:10px 14px;border:none;border-bottom:1px solid var(--glass-border)}.topbar .brand{padding:0}.shell>.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(288px,84vw);z-index:50;border:none;border-right:1px solid var(--glass-border);visibility:hidden;transform:translate(-100%);transition:transform var(--dur) var(--ease-out),visibility 0s linear var(--dur);overflow-y:auto}.shell>.sidebar[data-open=true]{visibility:visible;transform:translate(0);box-shadow:var(--shadow-overlay);transition:transform var(--dur) var(--ease-out),visibility 0s}.drawer-close{display:inline-flex;align-self:flex-end}.nav a{padding:12px}.drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000073;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease-out)}.drawer-backdrop[data-open=true]{opacity:1;pointer-events:auto}.main{padding:18px 16px 48px}}
