:root {
    --bg: #f5f5f7;
    --surface: rgba(255,255,255,.82);
    --surface-solid: #fff;
    --text: #1d1d1f;
    --muted: #6e6e73;
    --line: rgba(0,0,0,.08);
    --blue: #007aff;
    --blue-hover: #006ee6;
    --green: #34c759;
    --red: #ff3b30;
    --orange: #ff9500;
    --shadow: 0 18px 50px rgba(0,0,0,.07);
    --radius: 22px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--blue);text-decoration:none}
button,input,textarea,select{font:inherit}
.muted{color:var(--muted)}
.small-text{font-size:13px}
.auth-body{min-height:100vh;background:#fff}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(430px,.95fr)}
.auth-visual{padding:34px;background:radial-gradient(circle at 20% 10%,rgba(115,180,255,.85),transparent 35%),radial-gradient(circle at 80% 75%,rgba(186,121,255,.8),transparent 38%),linear-gradient(145deg,#0b63ce,#7b5bff 52%,#dd6dce);display:flex;align-items:center;justify-content:center;color:white}
.auth-visual-inner{width:min(560px,85%)}
.auth-app-icon,.brand-mark{display:grid;place-items:center;background:linear-gradient(145deg,#1485ff,#5d5ce2);color:#fff;font-weight:700;box-shadow:0 10px 30px rgba(0,122,255,.25)}
.auth-app-icon{width:72px;height:72px;border-radius:20px;font-size:34px;background:rgba(255,255,255,.2);backdrop-filter:blur(20px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.auth-visual h1{font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:36px 0 24px}
.auth-visual p{font-size:20px;line-height:1.5;max-width:520px;color:rgba(255,255,255,.86)}
.glass-preview{margin-top:46px;padding:24px 26px;border:1px solid rgba(255,255,255,.24);border-radius:24px;background:rgba(255,255,255,.13);backdrop-filter:blur(24px);display:grid;gap:8px;max-width:390px;box-shadow:0 20px 50px rgba(0,0,0,.1)}
.glass-preview strong{font-size:22px}.glass-preview span{color:rgba(255,255,255,.75)}.mini-pill{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.auth-panel{display:grid;place-items:center;padding:42px;background:#fbfbfd}
.auth-card{width:min(440px,100%)}
.auth-logo-row{display:flex;align-items:center;gap:13px;margin-bottom:46px}.auth-logo-row strong{display:block;font-size:17px}.auth-logo-row span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.brand-mark{width:42px;height:42px;border-radius:12px}.brand-mark.large{width:50px;height:50px;border-radius:15px;font-size:20px}
.auth-card h2{font-size:36px;letter-spacing:-.04em;margin:0 0 8px}.auth-card>p{margin:0 0 30px}
.field{display:grid;gap:8px;margin:0 0 17px}.field>span{font-size:13px;font-weight:600;color:#47474b;margin-left:3px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 15px;outline:none;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.015)}.field input:focus,.field textarea:focus{border-color:rgba(0,122,255,.5);box-shadow:0 0 0 4px rgba(0,122,255,.09)}
.primary-button{border:0;background:var(--blue);color:#fff;border-radius:14px;padding:12px 18px;font-weight:650;cursor:pointer;box-shadow:0 7px 18px rgba(0,122,255,.2);transition:.15s}.primary-button:hover{background:var(--blue-hover);transform:translateY(-1px)}.primary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary-button.full{width:100%;padding:14px}.primary-button.center{display:block;text-align:center}
.setup-hint{text-align:center;font-size:13px;color:var(--muted);margin-top:22px}.alert{padding:13px 15px;border-radius:13px;margin:0 0 18px;font-size:14px}.alert.error{background:#fff1f0;color:#a61b14;border:1px solid #ffd8d5}.alert.success{background:#effbf2;color:#176b2c;border:1px solid #d3f0da}
.setup-body{min-height:100vh;padding:40px 20px;background:radial-gradient(circle at 10% 10%,#e4f1ff,transparent 30%),radial-gradient(circle at 90% 90%,#f0e7ff,transparent 30%),var(--bg)}.setup-wrap{max-width:760px;margin:0 auto}.setup-card{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:36px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}.setup-card h1{font-size:34px;letter-spacing:-.04em;margin:0 0 8px}.setup-divider{height:1px;background:var(--line);margin:26px 0}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.app-body{background:var(--bg)}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:rgba(250,250,252,.86);backdrop-filter:saturate(180%) blur(24px);z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:3px 8px 21px}.brand-name{font-weight:700;letter-spacing:-.02em}.brand-subtitle{font-size:12px;color:var(--muted);margin-top:2px}.account-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 15px;margin:3px 3px 18px}.account-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;color:#8e8e93}.account-name{font-weight:650;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-role{font-size:12px;color:var(--muted);margin-top:2px}.nav-list{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:12px;color:#3a3a3c;font-size:14px;font-weight:560}.nav-item>span{width:22px;text-align:center;color:#77777c;font-size:17px}.nav-item.active{background:#e8f2ff;color:#0066d6}.nav-item.active>span{color:#007aff}.nav-item.disabled{opacity:.52;cursor:default}.nav-item em{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-left:auto;color:#929297}.sidebar-footer{margin-top:auto;padding:16px 5px 2px;border-top:1px solid var(--line)}.user-mini{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e8e8ed;color:#3a3a3c;font-weight:700}.avatar.small{width:32px;height:32px;font-size:12px}.user-mini-copy{min-width:0}.user-mini-copy strong,.user-mini-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini-copy strong{font-size:13px}.user-mini-copy span{font-size:11px;color:var(--muted);margin-top:2px}.logout-link{display:inline-block;font-size:12px;color:var(--muted);margin:13px 0 0 48px}.main-content{padding:42px clamp(24px,4vw,62px) 70px;min-width:0}.mobile-bar{display:none}
.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-header h1{font-size:38px;letter-spacing:-.045em;margin:5px 0 6px}.page-header p{margin:0;color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:18px}.stat-card,.panel{background:var(--surface);border:1px solid rgba(255,255,255,.8);box-shadow:0 2px 16px rgba(0,0,0,.035);backdrop-filter:blur(18px);border-radius:var(--radius)}.stat-card{padding:19px;position:relative;min-height:154px}.stat-icon{position:absolute;right:16px;top:16px;width:32px;height:32px;border-radius:10px;background:#f0f0f4;display:grid;place-items:center;color:#5a5a60;font-weight:700}.stat-label{font-size:12px;color:var(--muted);max-width:110px;line-height:1.25}.stat-value{font-size:34px;font-weight:720;letter-spacing:-.045em;margin-top:25px}.stat-value span{font-size:18px;color:#a1a1a6;font-weight:600;margin-left:3px}.stat-value.money-value{font-size:25px}.stat-note{font-size:11px;color:#9a9aa0;margin-top:4px}
.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);gap:18px}.panel{padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.panel h2{font-size:20px;letter-spacing:-.025em;margin:4px 0 0}.soft-badge{font-size:10px;text-transform:uppercase;letter-spacing:.1em;background:#eaf8ee;color:#25813b;padding:6px 9px;border-radius:999px}.reservation-list{display:grid}.reservation-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.reservation-row:first-child{border-top:0}.date-tile{width:48px;height:52px;border-radius:13px;background:#f1f4f8;display:grid;place-items:center;align-content:center}.date-tile strong{font-size:18px;line-height:1}.date-tile span{font-size:9px;color:var(--muted);margin-top:4px}.reservation-main{min-width:0}.reservation-main strong,.reservation-main span{display:block}.reservation-main strong{font-size:14px}.reservation-main span{font-size:12px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservation-meta{text-align:right;display:grid;justify-items:end;gap:6px}.reservation-meta strong{font-size:13px}.status{font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:5px 7px;border-radius:8px;background:#f0f0f3;color:#696970}.status.confirmed,.status.checked_in{background:#eaf7ed;color:#24763a}.status.cancelled,.status.no_show{background:#fff0ef;color:#b22e26}.status.temporary,.status.inquiry{background:#fff7e8;color:#9b6712}.task-list{display:grid;gap:2px}.task-row{display:grid;grid-template-columns:10px 1fr;gap:11px;padding:12px 0;border-top:1px solid var(--line)}.task-row:first-child{border-top:0}.task-dot{width:8px;height:8px;border-radius:50%;background:#a1a1a6;margin-top:5px}.task-dot.high{background:var(--orange)}.task-dot.urgent{background:var(--red)}.task-row strong,.task-row span{display:block}.task-row strong{font-size:13px}.task-row span{font-size:11px;color:var(--muted);margin-top:3px}.empty-state{text-align:center;padding:46px 20px;color:var(--muted)}.empty-state.compact{padding:36px 10px}.empty-icon{width:52px;height:52px;border-radius:16px;background:#f1f1f5;display:grid;place-items:center;margin:0 auto 13px;font-size:22px}.empty-state h3{color:#3a3a3c;font-size:15px;margin:0 0 6px}.empty-state p{font-size:12px;line-height:1.5;max-width:340px;margin:0 auto}.roadmap-panel{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:24px}.roadmap-panel p{margin:6px 0 0;color:var(--muted);font-size:13px}.roadmap-chips{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.roadmap-chips span{background:#f2f2f6;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:10px;color:#5d5d62}
@media (max-width:1180px){.stats-grid{grid-template-columns:repeat(3,1fr)}.content-grid{grid-template-columns:1fr}.side-panel{min-height:180px}}
@media (max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{padding:30px 22px;min-height:100vh}.form-grid.two{grid-template-columns:1fr}.mobile-bar{display:flex;position:sticky;top:0;height:60px;align-items:center;justify-content:space-between;padding:0 15px;background:rgba(250,250,252,.86);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);z-index:30}.icon-button{border:0;background:#eeeef2;border-radius:10px;width:36px;height:36px}.app-shell{display:block}.sidebar{position:fixed;left:-285px;width:270px;height:calc(100vh - 60px);top:60px;transition:left .22s ease;box-shadow:20px 0 50px rgba(0,0,0,.12)}.sidebar.open{left:0}.main-content{padding:24px 16px 48px}.page-header{align-items:flex-start}.page-header h1{font-size:30px}.page-header .primary-button{display:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{min-height:140px}.content-grid{grid-template-columns:1fr}.panel{padding:18px}.reservation-row{grid-template-columns:48px 1fr}.reservation-meta{grid-column:2;text-align:left;justify-items:start;grid-auto-flow:column;justify-content:start}.roadmap-panel{display:block}.roadmap-chips{justify-content:flex-start;margin-top:18px}}
@media (max-width:420px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:16px}.stat-label{font-size:11px}.stat-value{font-size:30px}.stat-value.money-value{font-size:20px}}
