.datetime-wheel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:12px 18px 18px;display:inline-flex;flex-direction:column;gap:8px}.datetime-wheel-summary{display:flex;justify-content:center;gap:14px;font-size:13px;color:var(--text-dim)}.datetime-wheel-summary .accent-text{color:var(--accent);font-weight:700;font-size:14px}.datetime-wheel-columns{display:flex;gap:4px}.wheel-column{position:relative;overflow:hidden}.wheel-highlight{position:absolute;left:0;right:0;border-top:1px solid var(--accent-dim);border-bottom:1px solid var(--accent-dim);background:#d79b5014;pointer-events:none;z-index:1}.wheel-column:before,.wheel-column:after{content:"";position:absolute;left:0;right:0;height:40%;pointer-events:none;z-index:2}.wheel-column:before{top:0;background:linear-gradient(to bottom,var(--panel),rgba(42,38,32,0))}.wheel-column:after{bottom:0;background:linear-gradient(to top,var(--panel),rgba(42,38,32,0))}.wheel-scroll{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}.wheel-scroll::-webkit-scrollbar{display:none}.wheel-item{scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text);font-size:15px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .05s linear}.wheel-item small{color:var(--text-dim);font-size:11px;font-weight:400}.floorplan-toolbar{display:flex;align-items:center;gap:12px 20px;margin-bottom:14px;flex-wrap:wrap}.floorplan-toolbar-right{display:flex;gap:8px;margin-left:auto}.edit-hint{font-size:13px;color:var(--accent);background:#d79b5014;border:1px dashed var(--accent-dim);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:12px}.floor-tabs{display:flex;gap:8px}.floor-tab{background:var(--panel);border:1px solid var(--panel-border);color:var(--text-dim);padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:14px}.floor-tab.active{background:var(--accent);color:#1a1815;border-color:var(--accent)}.legend{display:flex;gap:16px;font-size:13px;color:var(--text-dim)}.legend b{color:var(--text);margin-left:2px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend .dot.free{background:var(--free)}.legend .dot.booked{background:var(--reserved)}.legend .dot.seated{background:var(--seated)}.floorplan-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.floor-canvas-wrap{position:relative;min-width:0}.zoom-controls{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:4px;background:#232019eb;border:1px solid var(--panel-border);border-radius:999px;padding:4px;box-shadow:0 6px 18px #0006;z-index:15}.zoom-controls button{min-width:34px;height:34px;border-radius:999px;border:none;background:transparent;color:var(--text);font-size:18px}.zoom-controls button:hover:not(:disabled){background:var(--panel)}.zoom-controls button:disabled{opacity:.35}.zoom-controls .fit-btn{font-size:13px;font-weight:600;padding:0 12px;color:var(--accent)}.zoom-controls span{min-width:42px;text-align:center;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.floor-canvas-scroll{background-color:var(--bg-elevated);overflow:auto;border:1px solid var(--panel-border);border-radius:var(--radius);max-height:calc(100vh - 170px);-webkit-overflow-scrolling:touch}.floor-canvas-scroll.editing{border-color:var(--accent-dim);border-style:dashed}.floor-canvas{position:relative;background-color:var(--bg-elevated);background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px}.floor-canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:14px;text-align:center;padding:30px}.table-shape{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:2px solid var(--free);background:#3ec97c24;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .15s,border-color .15s,transform .1s;padding:4px;text-align:center;overflow:visible}.table-shape:not(.edit-mode):hover{transform:scale(1.04);box-shadow:0 6px 16px #00000059}.table-shape.dragging{transition:none;z-index:10;box-shadow:0 8px 20px #0006}.table-shape.state-booked{border-color:var(--reserved);background:#e0555a29}.table-shape.state-seated{border-color:var(--seated);background:#4f9de02e}.table-shape.edit-mode{cursor:grab;border-style:dashed}.table-shape .table-label{font-weight:700;font-size:15px}.table-shape .table-capacity{font-size:10px;color:var(--text-dim)}.table-shape .table-guest{font-size:12px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-shape .table-time{font-size:10px;color:var(--text-dim);white-space:nowrap}.table-shape .table-next{font-size:10px;color:#e9b949;font-weight:600;white-space:nowrap}.table-edit-controls{position:absolute;top:-14px;right:-14px;display:flex;gap:4px}.table-edit-controls button{width:30px;height:30px;border-radius:50%;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);font-size:12px;display:flex;align-items:center;justify-content:center;padding:0}.table-edit-controls button.danger-btn{background:var(--danger);border-color:var(--danger);color:#fff}.floorplan-sidebar{display:flex;flex-direction:column;gap:16px;min-width:0}.wheel-card{padding:12px;display:flex;flex-direction:column;gap:8px}.wheel-card .datetime-wheel{border:none;padding:0;display:flex;background:transparent}.now-btn{width:100%}.agenda-card{padding:14px}.agenda-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.agenda-head h3{margin:0;font-size:15px}.agenda-count{background:var(--bg-elevated);border-radius:999px;padding:2px 10px;font-size:13px;color:var(--text-dim)}.agenda-list{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 520px);min-height:120px;overflow-y:auto}.agenda-item{background:var(--bg-elevated);border:1px solid var(--panel-border);border-left:3px solid var(--reserved);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;cursor:pointer;color:var(--text);text-align:left;width:100%}.agenda-item.status-seated{border-left-color:var(--seated)}.agenda-item.status-completed{border-left-color:var(--free);opacity:.6}.agenda-item.active-now{background:#d79b5014;border-color:var(--accent-dim)}.agenda-item small{color:var(--text-dim);font-weight:400}.agenda-item .row3{margin-top:4px;font-size:12px;color:#e9b949;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-item:hover{border-color:var(--accent-dim)}.agenda-item .row1{display:flex;justify-content:space-between;font-weight:600;margin-bottom:3px}.agenda-item .row2{color:var(--text-dim);display:flex;justify-content:space-between;gap:10px}.agenda-empty{color:var(--text-dim);font-size:13px;padding:10px 0}@media (max-width: 1000px){.floorplan-body{grid-template-columns:1fr}.floorplan-sidebar{display:grid;grid-template-columns:minmax(260px,1fr) 1.3fr;gap:16px;order:-1}.agenda-list{max-height:260px}.floor-canvas-scroll{max-height:none}}@media (max-width: 760px){.floorplan-sidebar{grid-template-columns:1fr}.agenda-card{order:2}.floorplan-body{display:flex;flex-direction:column;align-items:stretch}.floorplan-sidebar{display:contents}.wheel-card{order:0}.floor-canvas-scroll{order:1;width:100%}.floorplan-toolbar-right{width:100%;margin-left:0}.floorplan-toolbar-right .btn{flex:1}.legend{gap:12px;font-size:12px}}.table-seats{position:absolute;pointer-events:none;z-index:-1;overflow:visible}.table-seats .chair-seat{fill:#6b6155;stroke:#94877a;stroke-width:1}.table-seats .chair-back{fill:#a8998a}.table-seats .sofa-body{fill:#7a5536;stroke:#a77a52;stroke-width:1}.table-seats .sofa-back{fill:#a77a52}.table-seats .sofa-seam{stroke:#5c3f27;stroke-width:1.2}.table-seats .sofa-arc-seat{fill:none;stroke:#7a5536}.table-seats .sofa-arc-back{fill:none;stroke:#a77a52}.table-shape.edit-mode .table-seats{opacity:.55}.table-shape{background:#2e2a22;box-shadow:inset 0 0 0 100px #3ec97c1f}.table-shape.state-booked{box-shadow:inset 0 0 0 100px #e0555a33}.table-shape.state-seated{box-shadow:inset 0 0 0 100px #4f9de038}.decor{position:absolute;pointer-events:none;z-index:-2}.decor-room{border:4px solid #6b2a24;background:#ffffff04;border-radius:2px}.decor-island{background:#5aaa5038;border:1px solid rgba(110,190,100,.35);border-radius:6px}.decor-island:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);border-radius:50%;background:#6b2a24;box-shadow:0 0 0 3px #f2ede21f}.decor-area{display:flex;align-items:center;justify-content:center;border:1.5px dashed rgba(242,237,226,.18);background:#f2ede209;border-radius:12px;text-align:center;padding:4px}.decor-area span{color:#f2ede273;font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.table-shape.late{border-color:#f08c32;animation:late-pulse 1.6s ease-in-out infinite}@keyframes late-pulse{50%{box-shadow:inset 0 0 0 100px #f08c3247,0 0 0 4px #f08c3240}}@media (prefers-reduced-motion: reduce){.table-shape.late{animation:none}}.late-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#f08c32;color:#1a1815;font-size:9px;font-weight:700;padding:1px 6px;border-radius:999px;white-space:nowrap;z-index:2}.agenda-head .print-btn{margin-left:8px;width:30px;height:30px;font-size:14px}.agenda-head h3{flex:1}.agenda-head .agenda-count{order:0}.late-banner{font-size:13px;font-weight:600;color:#f3a25a;background:#f08c321f;border:1px solid rgba(240,140,50,.35);border-radius:var(--radius-sm);padding:6px 10px;margin-bottom:10px}.agenda-item.late{border-left-color:#f08c32}.agenda-item.status-noshow{border-left-color:#e9b949;opacity:.55}.agenda-item .row-status{margin-top:4px;font-size:11px;font-weight:700}.agenda-item .row-status.late{color:#f3a25a}.agenda-item .row-status.noshow{color:#e9b949}.agenda-item .row-status.completed{color:var(--free)}.customers-layout{display:flex;gap:20px;margin-top:16px;align-items:flex-start}.customers-table{flex:1;padding:0;overflow:hidden}.customers-table table{width:100%;border-collapse:collapse}.customers-table th{text-align:left;padding:12px 16px;color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--panel-border)}.customers-table td{padding:12px 16px;border-bottom:1px solid var(--panel-border);font-size:14px}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--bg-elevated)}.customer-detail{width:340px;flex-shrink:0}.history-list{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto}.history-item{border-bottom:1px solid var(--panel-border);padding-bottom:8px;font-size:13px}.users-table-wrap{margin-top:20px}.search-box{display:flex;align-items:center;gap:8px;max-width:420px;background:var(--bg-elevated);border:1px solid var(--panel-border);border-radius:var(--radius-sm);padding:0 12px}.search-box:focus-within{border-color:var(--accent-dim)}.search-box input{flex:1;background:transparent;border:none;color:var(--text);padding:11px 0;font-size:16px;outline:none}.customers-table .num{text-align:right}.customers-table td.phone{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-dim)}.clickable-row.selected{background:#d79b5014}.empty-cell{color:var(--text-dim);text-align:center;padding:28px 16px!important}.customer-detail{width:380px;position:sticky;top:80px}.detail-phone{color:var(--accent);text-decoration:none;font-weight:600;font-size:14px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 16px}.stat-row>div{background:var(--bg-elevated);border-radius:var(--radius-sm);padding:10px;text-align:center}.stat-row b{display:block;font-size:20px}.stat-row span{font-size:12px;color:var(--text-dim)}.customer-detail h4{margin:0 0 10px}.history-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px}.history-sub{color:var(--text-dim)}@media (max-width: 860px){.customers-layout{flex-direction:column-reverse}.customers-layout,.customer-detail{width:100%}.customer-detail{position:static}.customers-table{width:100%}.customers-table th,.customers-table td{padding:10px 12px}}.stat-row .warn b{color:#e9b949}.free-page{max-width:1100px}.free-filters{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:18px 32px;margin-bottom:14px}.filter-label{font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.chips.no-margin{margin-bottom:0}.free-page .chip{min-height:40px;padding:8px 14px;font-size:14px}.chip-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;font-family:inherit}.time-stepper,.stepper{display:flex;align-items:center;gap:6px}.time-stepper button{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--bg-elevated);color:var(--text);font-size:18px}.time-stepper input{background:var(--bg-elevated);border:1px solid var(--accent-dim);color:var(--accent);font-weight:700;font-size:18px;padding:6px 10px;border-radius:var(--radius-sm);height:40px;font-family:inherit;color-scheme:dark}.stepper-value{min-width:36px;text-align:center;font-weight:700;font-size:18px}.free-page .stepper button{width:40px;height:40px}.free-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-dim);font-size:14px;margin-bottom:16px}.free-summary b{color:var(--accent)}.free-summary-count{margin-left:auto;font-size:13px}.free-section-title{display:flex;align-items:center;gap:8px;font-size:15px;margin:8px 0 12px}.free-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:24px}.free-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);border:1px solid var(--panel-border);border-left:3px solid var(--panel-border);border-radius:var(--radius);padding:14px 16px}.free-card.fits{border-left-color:var(--free)}.free-card-label{font-weight:700;font-size:16px}.free-card-meta{display:flex;gap:8px;font-size:13px;color:var(--text-dim);margin-top:2px}.free-card-meta span+span:before{content:"· "}.free-card-until{font-size:12px;color:var(--free);margin-top:6px;font-weight:600}.free-empty{background:var(--panel);border:1px dashed var(--panel-border);border-radius:var(--radius);padding:18px;color:var(--text-dim);margin-bottom:24px}@media (max-width: 900px){.free-filters{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.free-filters{grid-template-columns:1fr}.free-summary-count{margin-left:0;width:100%}}:root{--bg: #1a1815;--bg-elevated: #232019;--panel: #2a2620;--panel-border: #3a352c;--text: #f2ede2;--text-dim: #b3a996;--accent: #d79b50;--accent-dim: #a7774a;--free: #3ec97c;--reserved: #e0555a;--seated: #4f9de0;--danger: #e0555a;--radius: 12px;--radius-sm: 8px;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--bg-elevated);border-bottom:1px solid var(--panel-border)}.top-nav .brand{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.top-nav .brand img{height:40px;width:auto;display:block}.top-nav .brand span{padding-left:10px;border-left:1px solid var(--panel-border)}.top-nav nav{display:flex;gap:6px}.top-nav nav a{color:var(--text-dim);text-decoration:none;padding:8px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:500}.top-nav nav a.active,.top-nav nav a:hover{color:var(--text);background:var(--panel)}.top-nav .user-box{display:flex;align-items:center;gap:12px;color:var(--text-dim);font-size:14px}.top-nav .user-box button{background:transparent;border:1px solid var(--panel-border);color:var(--text-dim);padding:6px 12px;border-radius:var(--radius-sm)}.top-nav .user-box button:hover{color:var(--text);border-color:var(--accent-dim)}.page{flex:1;padding:20px;overflow:auto}.btn{background:var(--accent);color:#1a1815;border:none;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:14px}.btn:hover{background:#e3ae6c}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--panel);color:var(--text);border:1px solid var(--panel-border)}.btn.secondary:hover{border-color:var(--accent-dim)}.btn.danger{background:var(--danger);color:#fff}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;color:var(--text-dim)}.field input,.field select,.field textarea{background:var(--bg-elevated);border:1px solid var(--panel-border);color:var(--text);padding:10px 12px;border-radius:var(--radius-sm);font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent-dim)}.error-text{color:var(--danger);font-size:13px;margin-top:-6px;margin-bottom:10px}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:18px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:24px;width:420px;max-width:92vw;max-height:88vh;overflow:auto}.modal h2{margin-top:0;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.badge.free{background:#3ec97c2e;color:var(--free)}.badge.reserved{background:#e0555a2e;color:var(--reserved)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top-nav{position:sticky;top:0;z-index:20;gap:12px}.top-nav .user-box .user-name{border:none;background:transparent;color:var(--text);padding:6px 8px}.top-nav .user-box .user-name small{color:var(--text-dim);margin-left:4px;font-size:11px;padding:2px 6px;border:1px solid var(--panel-border);border-radius:999px}.btn{transition:background .15s,border-color .15s,transform .08s;min-height:40px}.btn:active:not(:disabled){transform:scale(.97)}.btn.small{min-height:32px;padding:6px 12px;font-size:13px}.btn.big{width:100%;min-height:48px;font-size:15px}.btn.danger:hover{background:#ec6b70}.btn.ghost-danger{background:transparent;color:var(--danger);border:1px solid rgba(224,85,90,.4)}.btn.ghost-danger:hover{background:#e0555a1f}.icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--panel-border);background:transparent;color:var(--text-dim);flex-shrink:0}.icon-btn:hover{color:var(--text);border-color:var(--accent-dim)}.field input,.field select,.field textarea{font-size:16px}.error-text{margin-top:0}.banner-error{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e0555a1f;border:1px solid rgba(224,85,90,.4);color:#f3a5a8;padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:14px;font-size:14px}.page-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.page-head h2{margin:0}.page-head-count{color:var(--text-dim);font-size:14px}.modal-overlay{padding:16px;animation:fade-in .15s ease-out}.modal{animation:pop-in .18s ease-out;box-shadow:0 20px 50px #00000080}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media (prefers-reduced-motion: reduce){.modal,.modal-overlay,.toast{animation:none!important}}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.modal-head h2,.modal-head h3{margin:0}.modal-sub{color:var(--text-dim);font-size:13px;margin-top:4px}.modal-actions.spread{justify-content:space-between}.view-grid{display:flex;flex-direction:column;border:1px solid var(--panel-border);border-radius:var(--radius-sm);margin:12px 0 16px}.view-row{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;font-size:14px}.view-row+.view-row{border-top:1px solid var(--panel-border)}.view-row>span:first-child{color:var(--text-dim)}.view-row strong{text-align:right;font-weight:600}.view-row a{color:var(--accent);text-decoration:none;font-weight:600}.view-row.muted{font-size:12px;color:var(--text-dim)}.primary-actions{display:flex;flex-direction:column;gap:8px}.status-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--bg-elevated);color:var(--text-dim)}.status-pill.small{padding:2px 8px;font-size:11px}.status-pill.status-booked{background:#e0555a29;color:#f08a8e}.status-pill.status-seated{background:#4f9de02e;color:#7cb8ec}.status-pill.status-completed{background:#3ec97c24;color:var(--free)}.status-pill.status-cancelled{text-decoration:line-through}.confirm-box{background:var(--bg-elevated);border:1px solid var(--accent-dim);border-radius:var(--radius-sm);padding:12px 14px;margin:10px 0;font-size:14px}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.known-customer{font-size:12px;color:var(--accent)}.stepper{display:flex;align-items:center;gap:8px}.stepper button{width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--bg-elevated);color:var(--text);font-size:20px}.stepper button:hover{border-color:var(--accent-dim)}.field .stepper input{width:64px;text-align:center;font-weight:700}.stepper-hint{font-size:12px;color:#e9b949}.time-row{display:flex;gap:10px}.time-row .field{flex:1;margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.chip{border:1px solid var(--panel-border);background:var(--bg-elevated);color:var(--text-dim);border-radius:999px;padding:6px 12px;font-size:13px}.chip.active{border-color:var(--accent);color:var(--accent);background:#d79b501a}.other-bookings{font-size:13px;color:var(--text-dim);background:var(--bg-elevated);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:14px;display:flex;flex-direction:column;gap:3px}.other-bookings-title{font-size:12px;font-weight:600;margin-bottom:2px}.other-bookings .clash{color:#f08a8e;font-weight:600}.toast-stack{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:100;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}.toast{padding:12px 18px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 10px 30px #00000073;animation:pop-in .2s ease-out}.toast-success{background:#2c4a37;color:#c9f2d8;border:1px solid #3ec97c55}.toast-error{background:#4a2c2e;color:#f8c9cb;border:1px solid #e0555a66}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(ellipse at top,#2b261c 0%,var(--bg) 60%)}.login-card{width:100%;max-width:360px;padding:28px 24px}.login-logo{display:block;width:190px;max-width:70%;height:auto;margin:4px auto 0}.login-sub{text-align:center;color:var(--text-dim);font-size:13px;letter-spacing:.3px;margin:14px 0 24px}.users-layout{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:start}.users-form h3{margin-top:0}.users-list{padding:6px 0}.user-row{display:flex;align-items:center;gap:12px;padding:12px 18px}.user-row+.user-row{border-top:1px solid var(--panel-border)}.user-avatar{width:38px;height:38px;border-radius:50%;background:#d79b5026;color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.user-info{flex:1;min-width:0}.user-title{font-weight:600}.you-tag{margin-left:8px;font-size:11px;color:var(--accent);border:1px solid var(--accent-dim);padding:1px 6px;border-radius:999px}.user-meta{color:var(--text-dim);font-size:13px}.user-actions{display:flex;gap:6px}@media (max-width: 760px){.top-nav{flex-wrap:wrap;padding:10px 16px}.top-nav .brand img{height:28px}.top-nav .main-nav{order:3;width:100%;overflow-x:auto}.top-nav .main-nav a{flex:1;text-align:center;white-space:nowrap}.top-nav .user-box .user-name small{display:none}.page{padding:14px 16px}.users-layout{grid-template-columns:1fr}.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-width:100%;border-radius:var(--radius) var(--radius) 0 0;max-height:92vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}}.day-section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-dim);margin:4px 0 10px}.day-empty{background:#3ec97c14;border:1px dashed rgba(62,201,124,.4);color:var(--free);border-radius:var(--radius-sm);padding:14px;font-size:14px;margin-bottom:16px}.day-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.day-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--bg-elevated);border:1px solid var(--panel-border);border-left:3px solid var(--reserved);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text)}.day-item:hover{border-color:var(--accent-dim)}.day-item.status-seated{border-left-color:var(--seated)}.day-item.status-completed{border-left-color:var(--free);opacity:.6}.day-item.active-now{background:#d79b5014}.day-time{display:flex;flex-direction:column;align-items:center;min-width:48px;font-variant-numeric:tabular-nums}.day-time b{font-size:15px}.day-time span{font-size:12px;color:var(--text-dim)}.day-info{flex:1;min-width:0}.day-name{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-meta{font-size:12px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.free-chip{color:var(--free);border-color:#3ec97c59}.chip.free-chip:hover{background:#3ec97c1a}.back-link{background:none;border:none;color:var(--accent);padding:0;margin-bottom:12px;font-size:13px;font-weight:600;display:block}.form-title{font-weight:700;font-size:15px;margin-bottom:12px}.phone-input{display:flex;align-items:center;background:var(--bg-elevated);border:1px solid var(--panel-border);border-radius:var(--radius-sm);overflow:hidden}.phone-input:focus-within{border-color:var(--accent-dim)}.phone-input.incomplete:not(:focus-within){border-color:#e9b94999}.phone-prefix{padding:10px 4px 10px 12px;color:var(--accent);font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.field .phone-input input{flex:1;min-width:0;border:none;background:transparent;padding-left:6px;font-variant-numeric:tabular-nums;letter-spacing:.3px}.phone-ok{color:var(--free);padding-right:12px;font-weight:700}@media (max-width: 760px){.top-nav .main-nav a{padding:8px;font-size:13px}}.top-nav .brand{background:none;border:none;padding:2px 4px;border-radius:var(--radius-sm)}.top-nav .brand:hover img{filter:brightness(1.15)}.logo-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;background:radial-gradient(ellipse at center,#2b241a,#14120f 70%);animation:fade-in .35s ease-out}.logo-screen img{width:min(72vw,110vh);max-width:1100px;height:auto;margin-bottom:4vh;filter:drop-shadow(0 10px 40px rgba(215,155,80,.18))}.logo-screen-time{font-size:clamp(28px,5vw,56px);font-weight:300;color:var(--accent);letter-spacing:2px;font-variant-numeric:tabular-nums}.logo-screen-date{font-size:clamp(13px,1.6vw,18px);color:var(--text-dim);letter-spacing:1px}@media (prefers-reduced-motion: reduce){.logo-screen{animation:none}}.status-pill.status-noshow{background:#e9b94924;color:#e9b949}.status-pill.status-late{background:#f08c322e;color:#f3a25a}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.day-item.late{border-left-color:#f08c32}.day-item.status-noshow,.day-item.status-completed{opacity:.55}.customer-note-box{font-size:13px;background:#e9b9491a;border:1px solid rgba(233,185,73,.35);color:#f0d08a;padding:8px 10px;border-radius:var(--radius-sm)}.view-row.customer-note strong{color:#f0d08a}.move-hint{font-size:12px;color:var(--accent);margin:-4px 0 12px}.primary-actions .btn.secondary{width:100%}.print-sheet{display:none}@media print{body{background:#fff!important}.app-shell>*:not(.page),.page>div>*:not(.print-sheet),.toast-stack,.modal-overlay{display:none!important}.page{padding:0!important}.print-sheet{display:block;color:#000;font-size:12px}.print-sheet h1{font-size:18px;margin:0 0 4px}.print-sheet table{width:100%;border-collapse:collapse;margin-top:10px}.print-sheet th,.print-sheet td{border:1px solid #999;padding:5px 7px;text-align:left;vertical-align:top}.print-sheet small{color:#555}}.time-row .field{min-width:0}.time-row .field select,.time-row .field input{width:100%;min-width:0}
