:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:#f4f7fb;color:#18243b;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#1262c3;text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:#fff;border-bottom:1px solid #e3e8f0;padding:16px max(24px,calc((100vw - 1180px)/2))}.brand{font-size:23px;font-weight:800;letter-spacing:-.7px;color:#142d57}.topbar nav{display:flex;align-items:center;gap:19px;flex-wrap:wrap;font-size:13px;font-weight:650}.navuser{color:#64748b}.container{max-width:1180px;margin:32px auto;padding:0 20px;min-height:65vh}.heading{margin:0 0 20px}h1{font-size:30px;line-height:1.2;letter-spacing:-.9px;margin:0 0 7px}h2{font-size:17px;margin:0 0 18px}p{margin:6px 0 16px}.muted{color:#687992;font-size:14px}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:15px;padding:22px;margin-bottom:18px;box-shadow:0 2px 12px #16345508}.auth{max-width:480px;margin:70px auto}.auth h1{margin-bottom:12px}.stack{display:grid;gap:16px}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:18px;align-items:end}.formgrid .full{grid-column:1/-1}.formgrid button{width:max-content}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#33435d}input,select,textarea{background:#fff;color:#172740;border:1px solid #cfd7e4;border-radius:8px;min-height:41px;font:inherit;padding:10px 11px;width:100%;outline-offset:2px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#2069c8;outline:2px solid #2069c820}button{border:0;background:#2266c5;color:white;padding:11px 18px;border-radius:8px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}button:hover{background:#1752a3}.secondary{background:#eaf1fa;color:#235995}.secondary:hover{background:#dbe8fa}.small{padding:7px 10px;font-size:12px}.inline{display:inline}.link{background:none;color:#315b92;padding:0}.link:hover{background:none;text-decoration:underline}.filter{display:flex;align-items:flex-end;gap:15px;flex-wrap:wrap}.filter label{min-width:180px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:20px;display:grid;gap:8px}.stat strong{font-size:29px;letter-spacing:-1px}.stat span{font-size:12px;color:#66758b;font-weight:600}details>summary{cursor:pointer;color:#1d5bb5;user-select:none;list-style:none}details>summary::-webkit-details-marker{display:none}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:640px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#708199;padding:13px 12px;border-bottom:1px solid #e5ebf2}td{padding:15px 12px;border-bottom:1px solid #eef2f6;font-size:13px}td small{display:block;color:#8190a4;margin-top:5px}.sectionhead{display:flex;justify-content:space-between;align-items:center}.sectionhead h2{margin:0}.action{display:flex;gap:6px;align-items:center}.action select{min-width:90px;max-width:120px;padding:7px;font-size:12px;min-height:34px}.empty{text-align:center;color:#6d7d91;padding:30px}.chip{display:inline-block;padding:6px 9px;border-radius:100px;font-size:11px;font-weight:750;text-transform:capitalize;white-space:nowrap}.s-confirmed{color:#1d54a4;background:#e5efff}.s-seated{color:#187848;background:#d9f7e7}.s-completed{color:#546a80;background:#eaf0f5}.s-cancelled,.s-no_show{color:#a03f37;background:#ffebe7}.alert{padding:14px 18px;margin-bottom:18px;border-radius:9px;font-size:14px}.alert.error{background:#ffebeb;color:#a32626}.alert.success{background:#e4f8ec;color:#176b39}.copyable{margin:12px 0;overflow-wrap:anywhere;background:#fff;padding:11px;border-radius:6px;font-family:monospace}.floor{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:15px;margin:20px 0}.floor-table{border:2px solid #a8d0fa;background:#e8f4ff;border-radius:19px;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.floor-table strong{font-size:21px}.floor-table small{font-size:12px;color:#53708b}footer{text-align:center;color:#8190a3;font-size:12px;padding:30px}.note{margin:20px 0}@media(max-width:760px){.topbar{padding:16px}.topbar nav{gap:10px}.container{margin:22px auto;padding:0 13px}h1{font-size:24px}.formgrid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,1fr)}.panel{padding:17px}}@media(max-width:500px){.formgrid{grid-template-columns:1fr}.filter{display:grid}.stats{gap:9px}.stat{padding:13px}.stat strong{font-size:24px}.topbar nav{font-size:12px}}
/* SeatPilot v0.2 — restaurant workspace redesign */
:root{background:#f5f7fb;color:#15243c}body{background:#f5f7fb}.app-shell{min-height:100vh;display:flex}.sidebar{width:252px;flex:none;min-height:100vh;background:#101b2e;color:#b7c4d9;display:flex;flex-direction:column;padding:26px 15px 17px;position:sticky;top:0;height:100vh}.sidebar .brand{display:flex;align-items:center;gap:11px;color:#fff;font-size:22px;padding:3px 12px 32px;letter-spacing:-.8px}.sidebar .brand:hover{text-decoration:none}.brandmark{display:grid;place-items:center;width:38px;height:38px;background:#6366f1;color:white;border-radius:12px;font-weight:900;font-size:21px}.sidebar .brand small{display:block;color:#7186a4;font-size:9px;letter-spacing:2px;padding-top:3px}.side-group{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#768ba7;padding:17px 13px 9px}.side-link{display:flex;gap:13px;align-items:center;padding:12px 13px;color:#b8c6d8;font-weight:600;font-size:13px;border-radius:9px;margin:2px 0}.side-link span{width:22px;text-align:center;font-size:18px}.side-link:hover{background:#1b2a40;color:#fff;text-decoration:none}.side-link.selected{background:#4f46e5;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #29374a;padding-top:14px}.workspace-name{padding:9px 13px;color:#fff;font-weight:700;font-size:13px}.workspace-name small{display:block;color:#8c9eb8;font-weight:400;margin-top:4px}.signout{background:none;color:#aebcd0;width:100%;text-align:left;padding:12px 13px}.signout:hover{background:#1b2a40}.workspace{min-width:0;flex:1}.app-topbar{height:75px;border-bottom:1px solid #e8edf3;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 35px}.app-topbar>div:first-child{display:flex;flex-direction:column;gap:5px}.app-topbar strong{font-size:15px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#8190a7;display:block}.user-pill{display:flex;align-items:center;gap:10px;font-weight:700;font-size:12px}.avatar{width:34px;height:34px;background:#e9e7ff;color:#4f46e5;border-radius:50%;display:grid;place-items:center;font-weight:800}.workspace .container{max-width:1450px;padding:0 34px;margin:31px auto;min-height:calc(100vh - 125px)}.heading{margin-bottom:25px}.heading h1{font-size:30px;margin:7px 0}.heading .muted{margin-bottom:0}.panel{border:1px solid #e8ecf3;box-shadow:0 8px 30px #111f3807;border-radius:16px}.stats{gap:16px}.stat{border:1px solid #e9edf4;box-shadow:0 5px 18px #1a294307;padding:24px 22px;border-radius:15px;position:relative;overflow:hidden}.stat:before{content:"";width:36px;height:4px;background:#6555e8;border-radius:99px;position:absolute;top:0;left:21px}.stat:nth-child(2):before{background:#10b981}.stat:nth-child(3):before{background:#f59e0b}.stat:nth-child(4):before{background:#ef6b6b}.stat strong{font-size:35px}.stat span{text-transform:uppercase;letter-spacing:1.1px;font-size:10px;font-weight:800}.filter.panel{padding:16px 20px;align-items:flex-end}.sectionhead{gap:15px;margin-bottom:15px}.sectionhead h2{font-size:16px}.sectionhead .muted{margin:7px 0 0;font-size:12px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:18px;margin-bottom:3px}.timeline-panel{min-width:0}.timeline{margin-top:17px}.timeline-row{display:grid;grid-template-columns:74px 21px minmax(0,1fr);align-items:center;gap:11px;min-height:72px}.timeline-time{font-size:11px;color:#708099;font-weight:800}.timeline-dot{height:11px;width:11px;border:3px solid #6366f1;background:#fff;border-radius:50%;position:relative;margin:auto}.timeline-row:not(:last-child) .timeline-dot:after{content:"";position:absolute;width:1px;height:54px;background:#e1e5f0;top:10px;left:2px}.timeline-booking{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8f9fc;border:1px solid #eef0f5;padding:13px;border-radius:10px}.timeline-booking strong{font-size:13px}.timeline-booking small{display:block;color:#79869a;margin-top:5px;font-size:11px}.text-link{font-size:12px;font-weight:750;color:#4f46e5}.quick-card{display:flex;gap:12px;align-items:center;color:#1d2b45;padding:18px 0;border-bottom:1px solid #edf0f4}.quick-card:hover{text-decoration:none;color:#4f46e5}.quick-card>span:nth-child(2){flex:1}.quick-card strong{display:block;font-size:13px}.quick-card small{display:block;color:#8290a5;font-size:11px;margin-top:5px}.quick-icon{height:39px;width:39px;border-radius:11px;background:#f0efff;color:#4f46e5;display:grid;place-items:center;font-size:19px}.quick-note{font-size:12px;line-height:1.7;margin-top:20px}.s-confirmed{background:#ecebff;color:#4f46e5}button{background:#5146df}button:hover{background:#3930b7}.secondary{background:#efedff;color:#4f46e5}.secondary:hover{background:#e4e1ff}.auth{margin:50px auto}.auth .panel{padding:28px}.auth h1{font-size:32px}.nav-cta{background:#5146df;color:white!important;padding:10px 17px;border-radius:10px}.version-footer{display:none}.floor-table{border-color:#aaa5f4;background:#f0efff;color:#4741b3}.topbar{padding-left:30px;padding-right:30px}@media(max-width:1100px){.sidebar{width:215px}.workspace .container{padding:0 20px}.app-topbar{padding:0 20px}.dashboard-columns{grid-template-columns:1fr}}@media(max-width:750px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;min-height:auto;padding:12px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:3px}.sidebar .brand{padding:6px 10px 10px;width:100%}.side-group,.sidebar-bottom{display:none}.side-link{font-size:12px;padding:9px 11px}.side-link span{display:none}.app-topbar{height:59px}.workspace .container{margin:18px auto;padding:0 12px}.heading h1{font-size:25px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:18px 13px}.stat strong{font-size:29px}}@media(max-width:500px){.app-topbar .eyebrow{display:none}.user-pill{font-size:11px}.timeline-row{grid-template-columns:60px 14px minmax(0,1fr);gap:5px}.timeline-booking{padding:10px}.timeline-booking .chip{font-size:9px;padding:5px}.sidebar .brand{padding-bottom:6px}.side-link{font-size:11px}}
/* SeatPilot v0.3: interactive floor plan */
.floor-canvas{position:relative;min-height:520px;width:100%;overflow:auto;border:1px solid #dce5f1;border-radius:18px;background-color:#f5f8fc;background-image:linear-gradient(#dfe8f2 1px,transparent 1px),linear-gradient(90deg,#dfe8f2 1px,transparent 1px);background-size:24px 24px;margin:18px 0;touch-action:pan-y}
.seat-map-table{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:108px;height:86px;border:2px solid #21a179!important;background:#e5faf1!important;color:#114c3a!important;border-radius:19px!important;cursor:grab!important;user-select:none;touch-action:none;box-shadow:0 9px 24px #1b385219;font-weight:600;z-index:2;padding:8px!important}
.seat-map-table strong{font-size:16px}.seat-map-table small{font-size:11px;color:inherit;opacity:.8}
.seat-map-table.reserved{border-color:#df9a28!important;background:#fff3d9!important;color:#765019!important}
.seat-map-table.seated{border-color:#e15e65!important;background:#ffe3e6!important;color:#8b2f38!important}
.seat-map-table.moving{cursor:grabbing!important;box-shadow:0 18px 36px #102e4f3b;z-index:5}
.seat-map-table:focus-visible{outline:3px solid #315cf3;outline-offset:3px}
.floor-controls,.floor-key,.floor-date{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.floor-controls{justify-content:space-between}.floor-key{font-size:12px;color:#526174}.floor-key span{display:inline-flex;align-items:center;gap:5px}.floor-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#21a179}.floor-dot.reserved{background:#df9a28}.floor-dot.seated{background:#e15e65}.floor-date{margin-top:14px}.floor-date label{max-width:260px}.floor-empty{padding:40px;text-align:center;color:#64748b}
@media(max-width:700px){.floor-canvas{min-width:0;min-height:460px}.seat-map-table{width:90px;height:75px}.floor-controls{align-items:stretch}.floor-controls button{width:100%}}

/* v0.4 service operations */
.service-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.service-forms .panel{margin:0}.service-forms form{margin-top:12px}.service-forms input,.service-forms select{width:100%}@media(max-width:850px){.service-forms{grid-template-columns:1fr}}
