:root{--ink-950: #111816;--ink-900: #18211e;--ink-800: #26332f;--ink-700: #3d4b46;--ink-600: #5d6b66;--ink-500: #7b8984;--ink-300: #bec8c4;--ink-200: #d8dfdc;--ink-100: #e9eeec;--canvas: #f3f1eb;--surface: #fffdf9;--surface-muted: #f8f6f1;--surface-strong: #ede9df;--brand: #c44936;--brand-dark: #9f3425;--brand-soft: #f7ddd7;--brand-wash: #fdf1ed;--gold: #b08a48;--gold-soft: #f3ead8;--status-free: #237a58;--status-free-bg: #e5f3ec;--status-seated: #315f79;--status-seated-bg: #e3eef4;--status-late: #a66c1d;--status-late-bg: #f8ecd7;--status-overdue: #b83d35;--status-overdue-bg: #f9e3df;--status-reserved: #766049;--status-reserved-bg: #eee7dc;--status-manual: #4d6f68;--status-manual-bg: #e2eeeb;--text-primary: var(--ink-950);--text-secondary: var(--ink-600);--text-tertiary: var(--ink-500);--text-inverse: #fffdf9;--bg-primary: var(--surface);--bg-secondary: var(--canvas);--bg-tertiary: var(--surface-strong);--bg-surface: var(--surface);--border-light: var(--ink-100);--border-medium: var(--ink-200);--border-focus: var(--brand);--primary: var(--brand);--primary-hover: var(--brand-dark);--primary-light: var(--brand-soft);--primary-soft: var(--brand-wash);--accent: var(--ink-950);--accent-hover: #050807;--font-heading: "Manrope", sans-serif;--font-body: "DM Sans", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.1rem;--radius-xl: 1.5rem;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(17, 24, 22, .05), 0 8px 24px rgba(17, 24, 22, .03);--shadow-md: 0 16px 38px rgba(17, 24, 22, .09);--shadow-lg: 0 32px 72px rgba(17, 24, 22, .16);--shadow-hover: 0 20px 46px rgba(17, 24, 22, .12);--transition-fast: .15s cubic-bezier(.2, .8, .2, 1);--transition-normal: .24s cubic-bezier(.2, .8, .2, 1);--nav-height: 76px}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh;margin:0;color:var(--text-primary);background:radial-gradient(circle at 7% 8%,rgba(196,73,54,.08),transparent 26rem),radial-gradient(circle at 95% 88%,rgba(176,138,72,.09),transparent 30rem),var(--canvas);font-family:var(--font-body);font-size:15px;line-height:1.55}body:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;content:"";pointer-events:none;opacity:.45;background-image:linear-gradient(rgba(24,33,30,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(24,33,30,.018) 1px,transparent 1px);background-size:32px 32px}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}img,svg{display:block;max-width:100%}#root{min-height:100vh;isolation:isolate}h1,h2,h3,h4,h5,h6{margin:0;color:var(--ink-950);font-family:var(--font-heading);font-weight:700;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(1.8rem,3vw,2.75rem)}h2{font-size:clamp(1.35rem,2vw,1.85rem)}h3{font-size:1.08rem}h4{font-size:1rem}p{margin:0;color:var(--text-secondary)}a{color:inherit;text-decoration:none}.brand-mark{display:inline-flex;align-items:center;gap:.72rem;color:var(--ink-950)}.brand-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:13px 13px 13px 5px;color:#fff;background:linear-gradient(145deg,#d25a45,var(--brand-dark));box-shadow:0 8px 18px #9f34253d;font-family:var(--font-heading);font-size:1.2rem;font-weight:800}.brand-wordmark{display:grid;line-height:1;text-align:left}.brand-wordmark strong{font-family:var(--font-heading);font-size:1.02rem;letter-spacing:-.035em}.brand-wordmark small{margin-top:.28rem;color:var(--ink-500);font-size:.62rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.brand-mark-inverse{color:#fff}.brand-mark-inverse .brand-wordmark small{color:#ffffff85}.brand-mark-compact .brand-symbol{width:38px;height:38px;border-radius:12px 12px 12px 4px;font-size:1.05rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(196,73,54,.22);outline-offset:2px}.page-shell{width:min(1460px,100%);margin:0 auto;padding:clamp(1rem,2vw,1.75rem);animation:page-enter .42s ease both}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-heading-copy{display:grid;gap:.35rem}.page-kicker{color:var(--brand-dark);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.surface-card,.form-panel{border:1px solid rgba(24,33,30,.09);border-radius:var(--radius-xl);background:#fffdf9f0;box-shadow:var(--shadow-sm)}.surface-card{overflow:hidden}.surface-card-header{padding:1.25rem 1.4rem;border-bottom:1px solid var(--border-light)}.surface-card-body{padding:1.4rem}.form-panel{padding:clamp(1.1rem,3vw,2rem)}.split-page{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(480px,1.5fr);gap:1.25rem;align-items:start}.form-stack{display:grid;gap:1rem}.ui-field{display:grid;gap:.45rem}.ui-label{color:var(--ink-700);font-size:.82rem;font-weight:700}.ui-help{color:var(--text-tertiary);font-size:.82rem}.ui-input,.ui-select,.ui-textarea{width:100%;min-height:48px;padding:.76rem .9rem;border:1px solid var(--ink-200);border-radius:var(--radius-md);color:var(--ink-950);background:var(--surface);box-shadow:0 1px #11181605;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{border-color:var(--ink-300)}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px #c449361c}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--ink-500)}.ui-textarea{min-height:120px;resize:vertical}.ui-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.64rem 1rem;border:1px solid transparent;border-radius:var(--radius-md);font-size:.86rem;font-weight:700;line-height:1;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)}.ui-button:disabled{cursor:not-allowed;opacity:.48}.ui-button-primary{color:#fff;background:var(--brand);box-shadow:0 8px 18px #9f34252e}.ui-button-primary:hover:not(:disabled){background:var(--brand-dark);box-shadow:0 11px 25px #9f34253d}.ui-button-secondary{color:var(--ink-800);border-color:var(--ink-200);background:var(--surface)}.ui-button-secondary:hover:not(:disabled){border-color:var(--ink-300);background:var(--surface-muted)}.ui-button-success{color:#fff;background:var(--status-free)}.ui-button-warning{color:#6d4510;background:var(--status-late-bg);border-color:#a66c1d3d}.ui-button-danger{color:var(--status-overdue);background:var(--status-overdue-bg);border-color:#b83d3533}.ui-button-quiet{color:var(--ink-700);border-color:transparent;background:transparent}.ui-button-quiet:hover:not(:disabled){background:var(--surface-strong)}.ui-button-sm{min-height:36px;padding:.5rem .7rem;font-size:.78rem}.ui-button-block{width:100%}.ui-button-icon{width:40px;padding:0}.actions-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.65rem;margin-top:1.35rem}.inline-cluster{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.ui-alert{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid transparent;border-radius:var(--radius-md);font-size:.88rem;font-weight:600}.ui-alert-danger{color:#8f2e28;border-color:#b83d352e;background:var(--status-overdue-bg)}.ui-alert-success{color:#1d674a;border-color:#237a582e;background:var(--status-free-bg)}.ui-alert-warning{color:#7f5317;border-color:#a66c1d33;background:var(--status-late-bg)}.ui-alert-info{color:#315f79;border-color:#315f792e;background:var(--status-seated-bg)}.status-chip{display:inline-flex;align-items:center;width:fit-content;padding:.26rem .55rem;border-radius:var(--radius-full);background:var(--surface-strong);color:var(--ink-700);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.empty-state{min-height:150px;display:grid;place-items:center;padding:2rem;border:1px dashed var(--ink-200);border-radius:var(--radius-lg);color:var(--text-tertiary);text-align:center;background:#f8f6f1b3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.split-page{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}}@media (max-width: 620px){:root{--nav-height: 68px}body{font-size:14px}.page-shell{padding:.85rem}.form-panel,.surface-card-body{padding:1rem}.actions-row .ui-button{flex:1 1 130px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.layout-container{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-secondary)}.route-container{flex:1;padding:var(--spacing-lg);background-color:var(--bg-secondary)}.dashboard-container{background-color:var(--bg-secondary)}.card{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden}.reservation-container,.form-container{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.dashboard-columns{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(520px,1.6fr);gap:var(--spacing-md);align-items:start}.dashboard-columns .reservations-main-section,.dashboard-columns .tables-main-section{margin:0;padding:0;border:none}@media (max-width: 991px){.dashboard-columns{grid-template-columns:1fr}}.table-card{position:relative;background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:100%;min-height:160px;padding:var(--spacing-md);transition:border-color var(--transition-fast)}.table-card:hover{border-color:var(--border-medium)}.table-card-main-info{flex-grow:1}.table-card-status-info{text-align:right;min-width:70px}.table-card-delete-button{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);color:var(--text-tertiary);opacity:0;transition:all var(--transition-fast);background:none;border:none;padding:var(--spacing-xs);cursor:pointer;z-index:10}.table-card:hover .table-card-delete-button{opacity:1}.table-card-delete-button:hover{color:var(--status-overdue)}.table-card-button{color:var(--primary);opacity:0;transition:opacity var(--transition-fast)}.table-card:hover .table-card-button{opacity:1}.table-card.table-filled{background-color:var(--status-seated-bg);border-color:var(--status-seated)}.table-card.upcoming-reserved{background-color:var(--status-reserved-bg);border-color:var(--status-reserved);border-style:dashed}.table-card.table-late{background-color:var(--status-late-bg);border-color:var(--status-late);border-style:dashed}.table-card.table-overdue-cancellation{background-color:var(--status-overdue-bg);border-color:var(--status-overdue)}.table-card.table-manually-occupied{background-color:var(--status-manual-bg);border-color:var(--status-manual);border-style:dashed}body.modal-open{overflow:hidden}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);z-index:1050}.modal-card{position:relative;background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:0 20px 50px #0f172a33;max-height:90vh;width:min(1100px,95vw);overflow-y:auto}.modal-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);border:none;background:transparent;color:var(--text-tertiary);font-size:1.5rem;line-height:1;padding:var(--spacing-xs);cursor:pointer}.modal-close:hover{color:var(--text-secondary)}.status-label{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:var(--radius-full)}.status-free{background-color:var(--status-free-bg);color:var(--status-free)}.status-seated{background-color:var(--status-seated-bg);color:var(--status-seated)}.status-manually-occupied{background-color:var(--status-manual-bg);color:var(--status-manual)}.status-upcoming,.status-reserved{background-color:var(--status-reserved-bg);color:var(--status-reserved)}.status-late{background-color:var(--status-late-bg);color:var(--status-late)}.status-overdue---cancel{background-color:var(--status-overdue-bg);color:var(--status-overdue)}.guest-info{font-size:.8125rem;color:var(--text-secondary);word-break:break-word}.next-reservation-warning,.manual-conflict-warning{background-color:var(--status-late-bg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin-top:var(--spacing-sm)!important;border-left:3px solid var(--status-late)}.next-reservation-warning p,.manual-conflict-warning p{margin-bottom:var(--spacing-xs)!important;font-size:.8125rem}.next-reservation-warning strong,.manual-conflict-warning strong{color:var(--status-late)}.action-buttons-container{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.action-buttons-container button{font-size:.75rem;padding:.25rem .625rem}.action-buttons-container .btn-icon{background:none;border:none;color:var(--text-tertiary);padding:var(--spacing-xs);cursor:pointer;transition:color var(--transition-fast)}.action-buttons-container .btn-icon:hover{color:var(--status-overdue)}.manual-occupy-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:1050}.manual-occupy-modal{background-color:var(--bg-primary);border-radius:var(--radius-lg);width:90%;max-width:380px;overflow:hidden;z-index:1051}.manual-occupy-modal .card-header{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.manual-occupy-modal .card-header h5{margin:0 0 var(--spacing-xs) 0;font-weight:600}.manual-occupy-modal .card-header p{font-size:.8125rem;color:var(--text-secondary);margin:0}.manual-occupy-modal .card-body{padding:var(--spacing-lg)}.manual-occupy-modal .card-footer{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--bg-secondary);border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.manual-occupy-modal .input-group .form-control{text-align:center}.input-group .btn svg{vertical-align:middle}.join-tooltip{position:absolute;top:50%;left:102%;transform:translateY(-50%);background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);z-index:1050;min-width:180px;max-width:400px}.join-tooltip h6{margin:0 0 var(--spacing-sm) 0;font-weight:600;font-size:.8125rem;color:var(--text-primary);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light)}.join-tooltip ul{list-style:none;padding:0;margin:0}.join-tooltip li{padding:var(--spacing-xs) 0;font-size:.8125rem;color:var(--text-secondary);white-space:nowrap}.dashboard-reservations-list-scrollable{max-height:50vh;overflow-y:auto;padding:var(--spacing-md);background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg)}.dashboard-tables-scrollable{padding:var(--spacing-md);background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);max-height:60vh;overflow:auto}.dashboard-reservations-list-scrollable::-webkit-scrollbar{width:6px}.dashboard-reservations-list-scrollable::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.dashboard-reservations-list-scrollable::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.dashboard-reservations-list-scrollable::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.tables-container{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-primary);border-radius:var(--radius-lg)}.tables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.tables-grid-item{min-width:220px;display:flex}.table-map-board{position:relative;min-width:100%;min-height:100%;border-radius:var(--radius-lg);background-color:transparent}.table-map-board.is-editing{outline:2px dashed var(--border-medium);outline-offset:-2px;touch-action:none}.table-map-wrapper{position:relative;min-height:100%}.table-map-toolbar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm);z-index:2;background:linear-gradient(180deg,#f9fafbf2,#f9fafb99,#f9fafb00)}.table-map-toolbar-group{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.table-map-toolbar-actions{margin-left:auto}.table-map-toolbar-panel{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.toolbar-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.toolbar-controls{display:flex;align-items:center;gap:var(--spacing-xs)}.fixture-picker-group{display:flex;gap:var(--spacing-xs)}.fixture-picker{border:1px solid var(--border-light);background-color:var(--bg-primary);width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.fixture-picker.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.fixture-swatch{display:block;width:18px;height:12px;border:2px solid var(--text-secondary);border-radius:4px}.fixture-swatch.square{width:14px;height:14px}.fixture-swatch.circle{border-radius:999px;width:14px;height:14px}.fixture-swatch.triangle{width:16px;height:14px;clip-path:polygon(50% 0%,0% 100%,100% 100%)}.fixture-swatch.pentagon{width:16px;height:14px;clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%)}.toolbar-field{display:flex;flex-direction:column;gap:.25rem;font-size:.7rem;color:var(--text-tertiary)}.toolbar-field input,.toolbar-controls select{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.3rem .5rem;font-size:.75rem;background-color:var(--bg-primary);color:var(--text-primary)}.toolbar-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.table-map-canvas{position:relative;min-width:100%;min-height:100%;border-radius:var(--radius-lg);--table-map-grid-size: 24px;background-color:var(--bg-secondary);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--table-map-grid-size) - 1px),rgba(15,23,42,.04) calc(var(--table-map-grid-size) - 1px),rgba(15,23,42,.04) var(--table-map-grid-size)),repeating-linear-gradient(to right,transparent 0,transparent calc(var(--table-map-grid-size) - 1px),rgba(15,23,42,.04) calc(var(--table-map-grid-size) - 1px),rgba(15,23,42,.04) var(--table-map-grid-size))}.table-map-node{position:absolute;width:180px;min-height:120px;padding:var(--spacing-sm);border-radius:var(--radius-lg);border:1px solid var(--border-light);background-color:var(--bg-primary);box-shadow:0 8px 20px #0f172a14;-webkit-user-select:none;user-select:none}.table-map-node.table-filled{background-color:var(--status-seated-bg);border-color:var(--status-seated)}.table-map-node.upcoming-reserved{background-color:var(--status-reserved-bg);border-color:var(--status-reserved);border-style:dashed}.table-map-node.table-late{background-color:var(--status-late-bg);border-color:var(--status-late);border-style:dashed}.table-map-node.table-overdue-cancellation{background-color:var(--status-overdue-bg);border-color:var(--status-overdue)}.table-map-node.table-manually-occupied{background-color:var(--status-manual-bg);border-color:var(--status-manual);border-style:dashed}.table-map-node.is-editing{cursor:grab;touch-action:none}.table-map-node.is-dragging{cursor:grabbing;box-shadow:0 12px 24px #0f172a2e}.table-map-fixture{position:absolute;border:2px solid var(--border-medium);border-radius:var(--radius-md);background-color:#ffffffd1;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xs);font-size:.75rem;font-weight:600;-webkit-user-select:none;user-select:none}.table-map-fixture.circle{border-radius:999px}.table-map-fixture.triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.table-map-fixture.pentagon{clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%)}.table-map-fixture.is-editing{cursor:move;touch-action:none}.table-map-fixture.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.table-map-fixture.is-dragging{cursor:grabbing}.table-map-fixture-label{pointer-events:none}.fixture-handle{position:absolute;width:12px;height:12px;background-color:var(--primary);border-radius:4px;border:2px solid #fff;box-shadow:0 2px 6px #0f172a33}.fixture-handle-nw{top:-8px;left:-8px;cursor:nwse-resize}.fixture-handle-ne{top:-8px;right:-8px;cursor:nesw-resize}.fixture-handle-sw{bottom:-8px;left:-8px;cursor:nesw-resize}.fixture-handle-se{bottom:-8px;right:-8px;cursor:nwse-resize}.table-map-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.table-map-name{font-weight:600;color:var(--text-primary)}.table-map-meta{font-size:.75rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.table-map-guest{font-size:.8125rem;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.table-map-time{font-size:.75rem;color:var(--text-secondary)}.table-map-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.table-map-actions .btn{font-size:.7rem;padding:.2rem .4rem}.table-map-hint{font-size:.6875rem;color:var(--text-tertiary);margin-top:var(--spacing-xs)}.pill-button.danger{border-color:var(--status-overdue);background-color:var(--status-overdue-bg);color:var(--status-overdue)}@media (min-width: 992px){.dashboard-container{display:flex;flex-direction:column;height:calc(100vh - var(--nav-height) - (var(--spacing-lg) * 2));overflow:hidden}.dashboard-columns{flex:1 1 auto;min-height:0;height:100%;align-items:stretch}.reservations-main-section,.tables-main-section{display:flex;flex-direction:column;min-height:0;height:100%}.dashboard-reservations-list-scrollable,.dashboard-tables-scrollable{flex:1 1 0;max-height:none;min-height:0;height:100%;overflow:auto}}.tables-main-section .loading-placeholder{width:100%;display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);min-height:200px}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);border:none;font-size:.875rem}.alert-danger{background-color:var(--status-overdue-bg);color:var(--status-overdue)}.alert-success{background-color:var(--status-free-bg);color:var(--status-free)}.alert-warning{background-color:var(--status-late-bg);color:var(--status-late)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.page-header h1{font-size:1.5rem}.date-navigation{display:flex;align-items:center;gap:var(--spacing-sm)}.date-navigation .btn{padding:.375rem .75rem}.date-display{font-weight:600;color:var(--text-primary);min-width:180px;text-align:center}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.section-header h2{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.section-title{display:flex;align-items:center;gap:var(--spacing-sm)}.section-pill{display:inline-flex;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);background-color:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-full)}.section-time-pill{color:var(--text-primary);background:linear-gradient(135deg,#eef6ff,#f6fbff);border-color:#cfe0ff;font-weight:500}.section-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.icon-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.icon-button i{font-size:.95rem;line-height:1}.icon-button:hover{background-color:var(--bg-tertiary);border-color:var(--border-medium);color:var(--text-primary)}.segmented-control{display:inline-flex;align-items:center;border:1px solid var(--border-light);border-radius:var(--radius-full);overflow:hidden;background-color:var(--bg-primary)}.segmented-control-btn{border:none;background:transparent;color:var(--text-secondary);padding:.25rem .6rem;font-size:.75rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.segmented-control-btn+.segmented-control-btn{border-left:1px solid var(--border-light)}.segmented-control-btn:hover,.segmented-control-btn.segmented-control-active{background-color:var(--bg-tertiary);color:var(--text-primary)}.segmented-control-btn:disabled{opacity:.5;cursor:not-allowed;background-color:transparent}.pill-button{border:1px solid var(--border-light);background-color:var(--bg-primary);color:var(--text-secondary);padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.pill-button:hover,.pill-button-active{background-color:var(--bg-tertiary);border-color:var(--border-medium);color:var(--text-primary)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-tertiary)}.empty-state p{color:var(--text-tertiary);font-size:.875rem}.form-page{max-width:600px;margin:0 auto}.form-page .form-container{padding:var(--spacing-xl)}.form-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.two-column-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-lg)}@media (max-width: 991px){.two-column-layout{grid-template-columns:1fr}}.time-display{font-size:.875rem;color:var(--text-secondary);font-weight:500}html:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--bg-secondary);z-index:-1}html:before{display:none}.layout-container{background:transparent}.route-container{min-width:0;padding:0;background:transparent}.dashboard-container{width:min(1720px,100%);margin:0 auto;padding:clamp(.9rem,1.6vw,1.45rem);background:transparent;animation:page-enter .42s ease both}.dashboard-columns{grid-template-columns:minmax(350px,.83fr) minmax(600px,1.72fr);gap:1rem}.reservations-main-section,.tables-main-section{min-width:0;padding:.85rem;border:1px solid rgba(24,33,30,.08);border-radius:var(--radius-xl);background:#fffdf994;box-shadow:0 1px #ffffffb3 inset}.section-header{min-height:52px;margin-bottom:.65rem;padding:0 .25rem;gap:.75rem}.section-header h2{color:var(--ink-950);font-size:1.05rem;font-weight:800;letter-spacing:-.025em}.section-title{min-width:0;flex-wrap:wrap;gap:.55rem}.section-pill{border-color:transparent;padding:.26rem .58rem;color:var(--ink-600);background:var(--surface-strong);font-size:.7rem;font-weight:700}.section-time-pill{gap:.35rem;color:var(--brand-dark);background:var(--brand-wash);white-space:nowrap}.section-timezone{color:var(--ink-500);font-size:.66rem;font-weight:700}.section-timezone:before{margin-right:.35rem;content:"·"}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.icon-button{width:38px;height:38px;border-color:#18211e1a;border-radius:12px;color:var(--ink-700);background:var(--surface);box-shadow:var(--shadow-sm)}.icon-button:hover{border-color:var(--brand);color:#fff;background:var(--brand);transform:translateY(-1px)}.icon-button svg{font-size:.82rem}.segmented-control{min-height:38px;border-color:#18211e1a;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}.segmented-control-btn{min-width:38px;padding:.45rem .65rem;color:var(--ink-600);font-weight:700}.segmented-control-btn+.segmented-control-btn{border-color:var(--ink-100)}.segmented-control-btn:hover{color:var(--ink-950);background:var(--surface-strong)}.segmented-control-btn.segmented-control-active{color:#fff;background:var(--ink-900)}.pill-button{min-height:38px;border-color:#18211e1a;border-radius:12px;padding-inline:.8rem;color:var(--ink-700);background:var(--surface);box-shadow:var(--shadow-sm)}.pill-button-active{border-color:var(--brand);color:#fff;background:var(--brand)}.dashboard-reservations-list-scrollable,.dashboard-tables-scrollable{padding:.65rem;border-color:#18211e14;border-radius:calc(var(--radius-xl) - .25rem);background:#fffdf9cc;box-shadow:inset 0 1px #fff,var(--shadow-sm)}.dashboard-reservations-list-scrollable::-webkit-scrollbar,.dashboard-tables-scrollable::-webkit-scrollbar{width:7px;height:7px}.dashboard-reservations-list-scrollable::-webkit-scrollbar-thumb,.dashboard-tables-scrollable::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--ink-300);background-clip:padding-box}.tables-list{padding:.2rem}.tables-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.75rem}.tables-grid-item{min-width:0}.table-card{position:relative;width:100%;min-height:196px;display:flex;flex-direction:column;padding:1rem;overflow:hidden;border:1px solid rgba(24,33,30,.1);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 8px 22px #11181609;transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.table-card:before{position:absolute;inset:0 auto 0 0;width:3px;content:"";background:var(--status-free)}.table-card:hover{transform:translateY(-3px);border-color:#18211e2e;box-shadow:var(--shadow-md)}.table-card.table-filled:before{background:var(--status-seated)}.table-card.upcoming-reserved:before{background:var(--status-reserved)}.table-card.table-late:before{background:var(--status-late)}.table-card.table-overdue-cancellation:before{background:var(--status-overdue)}.table-card.table-manually-occupied:before{background:var(--status-manual)}.table-card.table-filled,.table-card.upcoming-reserved,.table-card.table-late,.table-card.table-overdue-cancellation,.table-card.table-manually-occupied{border-style:solid}.table-card-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.table-card-main-info h3{margin-bottom:.45rem;font-size:1.08rem}.table-capacity{display:flex;align-items:center;gap:.42rem;font-size:.78rem}.table-card-status-info{min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right}.time-detail-info{color:var(--ink-500);font-size:.7rem;line-height:1.3}.guest-info{margin-top:.55rem;color:var(--ink-700);font-size:.78rem}.table-card-delete-button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;background:#fffdf9e6;box-shadow:var(--shadow-sm)}.next-reservation-warning,.manual-conflict-warning{margin-top:.7rem!important;padding:.65rem .75rem;border:0;border-left:3px solid var(--status-late);border-radius:10px;background:var(--status-late-bg)}.manual-conflict-warning{border-left-color:var(--status-overdue);background:var(--status-overdue-bg)}.next-reservation-warning p,.manual-conflict-warning p{color:var(--ink-700);font-size:.72rem}.action-buttons-container{display:grid;grid-template-columns:1fr;gap:.4rem;margin-top:auto;padding-top:.8rem}.action-buttons-container button{margin:0}.manual-occupy-modal-overlay{background:#111816a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.manual-occupy-modal{width:min(410px,calc(100vw - 2rem));border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-lg)}.manual-modal-header{padding:1.2rem 1.3rem;border-bottom:1px solid var(--border-light)}.manual-modal-header p{margin-top:.3rem}.manual-modal-body{padding:1.3rem}.manual-modal-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.3rem;border-top:1px solid var(--border-light);background:var(--surface-muted)}.input-group{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem}.duration-input{text-align:center}.modal-overlay{padding:clamp(.5rem,2vw,1.5rem);background:#111816b3;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal-card{width:min(1180px,96vw);max-height:94vh;border:1px solid rgba(255,255,255,.12);border-radius:1.7rem;background:var(--canvas);box-shadow:var(--shadow-lg)}.modal-close{width:40px;height:40px;display:grid;place-items:center;top:.8rem;right:.8rem;z-index:2;border-radius:12px;color:var(--ink-700);background:var(--surface);box-shadow:var(--shadow-sm)}.available-tables-panel{padding:.4rem}.available-tables-header{max-width:720px;margin:0 auto 1.1rem;padding:.5rem;text-align:center}.available-tables-header h2{font-size:1.15rem}.available-tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.7rem}.available-table-slot{min-width:0}.search-panel{max-width:980px}.search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.8rem}.search-actions{display:flex;align-items:center;gap:.55rem}.search-actions>div{display:flex}.form-page-narrow{max-width:760px}.actions-row-start{justify-content:flex-start}.reservation-summary{margin-bottom:1.25rem}.reservation-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.reservation-summary-grid p{display:grid;gap:.35rem}.reservation-summary-grid strong{color:var(--ink-500);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.reservation-summary-grid span:not(.status-chip){color:var(--ink-900);font-weight:700}.location-list{display:grid;gap:.65rem;margin-bottom:1rem}.location-option{width:100%;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--ink-200);border-radius:var(--radius-lg);color:var(--ink-800);background:var(--surface);cursor:pointer}.location-option:after{width:18px;height:18px;border:2px solid var(--ink-300);border-radius:50%;content:""}.location-option.is-selected{border-color:var(--brand);color:var(--brand-dark);background:var(--brand-wash);box-shadow:inset 0 0 0 1px var(--brand)}.location-option.is-selected:after{border:5px solid var(--brand);background:#fff}.location-radio{display:none}@media (min-width: 992px){.dashboard-container{height:calc(100vh - var(--nav-height));padding-bottom:1.2rem}}@media (max-width: 1180px){.dashboard-columns{grid-template-columns:1fr}.dashboard-container{display:block;height:auto;overflow:visible}.reservations-main-section,.tables-main-section{height:auto}.dashboard-reservations-list-scrollable,.dashboard-tables-scrollable{height:auto;max-height:none;overflow:visible}.dashboard-reservations-list-scrollable{min-height:230px}.dashboard-tables-scrollable{min-height:420px}}@media (max-width: 1320px) and (min-width: 1181px){.section-timezone{display:none}}@media (max-width: 720px){.dashboard-container{padding:.7rem}.reservations-main-section,.tables-main-section{padding:.65rem;border-radius:var(--radius-lg)}.section-header{align-items:flex-start;flex-direction:column}.section-actions{width:100%;justify-content:flex-start}.section-time-pill{order:3}.dashboard-reservations-list-scrollable,.dashboard-tables-scrollable{padding:.45rem}.dashboard-reservations-list-scrollable,.dashboard-tables-scrollable{min-height:0}.tables-grid{grid-template-columns:1fr}.available-tables-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-form{grid-template-columns:1fr}.search-actions .ui-button{flex:1}.search-actions>div{flex:1}.reservation-summary-grid{grid-template-columns:1fr}}@media (max-width: 460px){.available-tables-grid{grid-template-columns:1fr}.modal-overlay{align-items:flex-end;padding:0}.modal-card{width:100vw;max-height:96vh;border-radius:1.4rem 1.4rem 0 0}}.loading-wrapper{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl)}.loader{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loader-dots{display:flex;gap:6px}.loader-dots span{width:8px;height:8px;background-color:var(--primary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.loader-dots span:nth-child(1){animation-delay:-.32s}.loader-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.reservation-list-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;margin-bottom:.65rem;padding:1rem;border:1px solid rgba(24,33,30,.09);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 8px 22px #11181609;transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.reservation-list-item:before{position:absolute;top:.9rem;bottom:.9rem;left:0;width:3px;border-radius:0 3px 3px 0;content:"";background:var(--brand)}.reservation-list-item:hover{transform:translateY(-2px);border-color:#c4493638;box-shadow:var(--shadow-md)}.reservation-list-item-other-status{opacity:.82}.reservation-list-item-other-status:before{background:var(--ink-300)}.reservation-details-section{min-width:0;display:grid;grid-template-columns:.75fr 1.45fr 1.25fr .8fr;align-items:center;gap:.75rem}.reservation-list-item .detail-item{min-width:0;display:flex;align-items:center;gap:.48rem;color:var(--ink-600);font-size:.83rem}.reservation-list-item .detail-item svg{flex:0 0 auto;color:var(--ink-400, #91a09b);font-size:.8rem}.reservation-list-item .detail-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-list-item .detail-time{color:var(--ink-950);font-weight:800}.reservation-list-item .detail-name{color:var(--ink-800);font-weight:600}.reservation-list-item .detail-status span{padding:.25rem .5rem;border-radius:var(--radius-full);color:var(--status-free);background:var(--status-free-bg);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.action-buttons-section{display:flex;align-items:center;gap:.38rem}.reservation-action-link{display:inline-flex}.linked-tables-section{grid-column:1 / -1;padding-top:.7rem;border-top:1px solid var(--border-light)}.linked-tables-row{display:flex;align-items:center;gap:.55rem}.linked-tables-row svg{flex:0 0 auto;color:var(--ink-600)}.linked-tables-row p{font-size:.78rem}.linked-tables-row strong{color:var(--ink-700)}@media (max-width: 1120px){.reservation-details-section{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.reservation-list-item{grid-template-columns:1fr}.reservation-details-section{grid-template-columns:1fr 1.4fr}.action-buttons-section{justify-content:flex-end}}.available-table-card{width:100%;min-height:116px;padding:1rem;border:1px solid var(--ink-200);border-radius:var(--radius-lg);color:var(--ink-900);text-align:left;background:var(--surface);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.available-table-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--shadow-md)}.available-table-card.table-selected{border-color:var(--brand);background:var(--brand-wash);box-shadow:inset 0 0 0 1px var(--brand),var(--shadow-sm)}.available-table-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.available-table-card h3{margin-bottom:.55rem}.available-table-capacity{display:flex;align-items:center;gap:.42rem;font-size:.82rem}.available-table-check{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--ink-200);border-radius:50%;color:#fff;background:var(--surface-muted)}.table-selected .available-table-check{border-color:var(--brand);background:var(--brand)}.schedule-page{max-width:1120px}.schedule-timezone-card{margin-bottom:1rem}.schedule-timezone-card h3{margin-bottom:.35rem}.schedule-timezone-card p{margin-bottom:.9rem}.schedule-timezone-card .ui-select{max-width:440px}.schedule-table-wrap{overflow-x:auto;border:1px solid rgba(24,33,30,.09);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);box-shadow:var(--shadow-sm)}.schedule-table{width:100%;min-width:760px;border-collapse:collapse}.schedule-table th,.schedule-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border-light);text-align:left;vertical-align:middle}.schedule-table th{color:var(--ink-500);background:var(--surface-muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.schedule-table tbody tr:last-child td{border-bottom:0}.schedule-table tbody tr{transition:background var(--transition-fast)}.schedule-table tbody tr:hover{background:var(--brand-wash)}.schedule-day-name{min-width:110px;color:var(--ink-900);font-weight:700}.schedule-status-col{width:84px;text-align:center!important}.schedule-table .ui-input,.schedule-table .ui-select{min-width:125px;min-height:42px;padding:.55rem .65rem;font-size:.82rem}.schedule-switch-wrap{display:flex;justify-content:center}.schedule-switch{width:42px;height:24px;margin:0;border:0;border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--ink-200);cursor:pointer;transition:background var(--transition-fast)}.schedule-switch:before{display:block;width:18px;height:18px;margin:3px;border-radius:50%;content:"";background:#fff;box-shadow:0 2px 5px #1118162e;transition:transform var(--transition-fast)}.schedule-switch:checked{background:var(--brand)}.schedule-switch:checked:before{transform:translate(18px)}.schedule-actions-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem;border:1px solid rgba(24,33,30,.09);border-top:0;border-radius:0 0 var(--radius-xl) var(--radius-xl);background:var(--surface-muted)}@media (max-width: 620px){.schedule-actions-footer .ui-button{flex:1}}.table-combos-page{max-width:1300px;padding:var(--spacing-md)}.table-combos-header{margin-bottom:var(--spacing-lg)}.table-combos-header-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.table-combos-header h2{font-size:1.65rem;margin-bottom:var(--spacing-xs)}.table-combos-header p{color:var(--text-secondary);max-width:760px}.table-combos-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.table-combos-card{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.table-combos-card-header{margin-bottom:var(--spacing-md)}.table-combos-card-header h3{font-size:1.125rem;margin-bottom:.2rem}.table-combos-card-header p{font-size:.875rem;color:var(--text-secondary)}.combo-create-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.combo-setting-panel{border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-secondary);padding:.75rem}.combo-setting-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.combo-setting-input{max-width:110px}.combo-table-picker{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-sm);max-height:340px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm);background:linear-gradient(180deg,#fff,#fafafa)}.combo-table-chip{border:1px solid var(--border-light);background-color:var(--bg-primary);border-radius:var(--radius-md);padding:.55rem .6rem;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.combo-table-chip:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.combo-table-chip.selected{border-color:var(--primary);background-color:var(--primary-light)}.combo-table-chip-name{display:block;font-weight:600;color:var(--text-primary);font-size:.88rem}.combo-table-chip-meta{font-size:.75rem;color:var(--text-secondary)}.combo-preview{background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.75rem}.combo-preview-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--text-secondary)}.combo-preview-row strong{color:var(--text-primary)}.combo-selected-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);min-height:30px}.combo-selected-pill{font-size:.75rem;background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);padding:.2rem .65rem;border:1px solid rgba(211,47,47,.2)}.combo-muted{color:var(--text-tertiary);font-size:.85rem}.combo-create-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.combo-empty-state{border:1px dashed var(--border-medium);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;color:var(--text-secondary)}.combo-empty-state small{display:block;margin-top:.45rem;color:var(--text-tertiary)}.combo-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:620px;overflow-y:auto;padding-right:2px}.combo-list-item{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.75rem;background-color:#fff}.combo-list-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:var(--spacing-sm)}.combo-list-item-header h4{font-size:.95rem;margin:0}.combo-list-item-actions{display:flex;gap:var(--spacing-xs)}.combo-metrics{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:.5rem}.combo-metric-badge{font-size:.72rem;padding:.15rem .5rem;border-radius:var(--radius-full);border:1px solid var(--border-light);color:var(--text-secondary);background-color:var(--bg-secondary)}.combo-metric-badge.emphasis{color:var(--primary);border-color:#d32f2f40;background-color:var(--primary-light)}.combo-tables{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.combo-table-pill{font-size:.74rem;border-radius:var(--radius-full);padding:.16rem .52rem;background-color:var(--bg-tertiary);color:var(--text-secondary)}@media (max-width: 1000px){.table-combos-header-row{flex-direction:column;align-items:flex-start}.table-combos-layout{grid-template-columns:1fr}}.workspace-page,.bot-settings-page{max-width:1180px;margin:0 auto}.workspace-hero{display:flex;justify-content:space-between;gap:var(--spacing-lg);align-items:flex-end;padding:clamp(1.25rem,4vw,2.5rem);margin-bottom:var(--spacing-lg);background:radial-gradient(circle at 95% 5%,rgba(211,47,47,.16),transparent 30%),linear-gradient(135deg,#18181b,#2a1718);border-radius:var(--radius-xl);color:var(--text-inverse)}.workspace-eyebrow,.workspace-module-kicker{display:block;margin-bottom:.35rem;color:inherit;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.workspace-hero h1{margin:0;font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);line-height:1.05}.workspace-hero p{max-width:620px;margin:.75rem 0 0;color:#ffffffc7}.workspace-primary-action,.workspace-secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem 1rem;border-radius:var(--radius-md);font-weight:700;text-decoration:none;white-space:nowrap}.workspace-primary-action{border:1px solid var(--primary);background:var(--primary);color:#fff}.workspace-primary-action:hover:not(:disabled){background:var(--primary-hover);color:#fff}.workspace-primary-action:disabled{cursor:wait;opacity:.7}.workspace-secondary-action{border:1px solid rgba(255,255,255,.32);color:#fff}.workspace-secondary-action:hover{color:#fff;background:#ffffff1a}.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.workspace-module{min-height:200px;padding:1.35rem;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-primary)}.workspace-module h2,.portal-card h2{margin:0;color:var(--text-primary);font-size:1.3rem}.workspace-module p{margin:.75rem 0 1rem;color:var(--text-secondary)}.workspace-module span:last-child{display:inline-block;font-weight:700}.workspace-module-active{color:var(--primary);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.workspace-module-active:hover{color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.workspace-module-next{background:linear-gradient(145deg,var(--bg-primary),var(--bg-secondary));border-style:dashed}.portal-card{margin-bottom:var(--spacing-lg);padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-primary)}.portal-card-heading{display:flex;justify-content:space-between;gap:var(--spacing-md);align-items:flex-start;margin-bottom:1.25rem}.portal-status{padding:.3rem .6rem;border-radius:var(--radius-full);color:var(--status-free);background:var(--status-free-bg);font-size:.8rem;font-weight:700}.capability-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.capability-row{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem;border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer}.capability-row:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.capability-row input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--primary)}.capability-row strong,.capability-row small{display:block}.capability-row small,.portal-field small{color:var(--text-secondary);line-height:1.4}.portal-field{display:block;margin-top:1rem;color:var(--text-primary);font-weight:700}.portal-field textarea{display:block;width:100%;margin:.45rem 0;padding:.75rem;border:1px solid var(--border-medium);border-radius:var(--radius-md);resize:vertical;color:var(--text-primary);font:inherit}.portal-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.portal-save-bar{position:sticky;bottom:1rem;display:flex;justify-content:space-between;gap:var(--spacing-md);align-items:center;padding:.9rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:#fffffff0;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.portal-feedback{margin-bottom:var(--spacing-md);padding:.85rem 1rem;border-radius:var(--radius-md);font-weight:600}.portal-feedback-success{background:var(--status-free-bg);color:var(--status-free)}.portal-feedback-error{background:var(--status-overdue-bg);color:var(--status-overdue)}.portal-loading,.workspace-empty{max-width:720px;margin:4rem auto;padding:2rem;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-primary);text-align:center}@media (max-width: 760px){.workspace-hero,.portal-save-bar,.portal-card-heading{align-items:stretch;flex-direction:column}.workspace-grid,.capability-list{grid-template-columns:1fr}}.app-navbar{position:sticky;top:0;z-index:100;min-height:var(--nav-height);border-bottom:1px solid rgba(255,255,255,.08);color:#f8f5ee;background:#111816f5;box-shadow:0 12px 30px #1118161f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-navbar-inner{width:100%;min-height:var(--nav-height);display:flex;align-items:center;gap:.75rem;padding:.7rem clamp(.85rem,2vw,1.6rem)}.app-brand{flex:0 0 auto;display:inline-flex;align-items:center}.active-location-pill,.active-business-pill{min-width:0;display:inline-grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.48rem;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.11);border-radius:var(--radius-full);color:#f7f4ed;background:#ffffff0e;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.active-location-pill:hover,.active-business-pill:hover{border-color:#ffffff38;background:#ffffff1a;transform:translateY(-1px)}.active-location-label{color:#ffffff94;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.active-location-name{min-width:0;max-width:220px;overflow:hidden;color:#fff;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.app-navbar-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.navbar-divider{width:1px;height:25px;margin:0 .25rem;background:#ffffff21}.nav-icon-button{width:40px;height:40px;display:inline-grid;place-items:center;border:0;border-radius:12px;color:#ffffffb8;background:transparent;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.nav-icon-button:hover{color:#fff;background:#ffffff1a;transform:translateY(-1px)}.nav-icon-button-danger:hover{color:#ffb6aa;background:#c449362e}@media (max-width: 1080px){.active-location-label{display:none}.active-business-pill,.active-location-pill{grid-template-columns:auto minmax(0,1fr)}}@media (max-width: 860px){.active-business-pill{display:none}.active-location-pill{grid-template-columns:auto minmax(0,1fr)}}@media (max-width: 620px){.app-navbar-inner{gap:.4rem;padding-inline:.65rem}.app-brand .brand-wordmark{display:none}.active-location-pill{padding:.46rem .62rem}.active-location-name{max-width:100px}.nav-icon-button{width:36px;height:36px}.app-navbar-actions .nav-icon-button:nth-child(2){display:none}.navbar-divider{display:none}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);padding:var(--spacing-lg)}.login-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:400px}.login-logo{margin-bottom:var(--spacing-xl)}.login-logo .brand-symbol{width:52px;height:52px;font-size:1.45rem}.login-logo .brand-wordmark strong{font-size:1.35rem}.login-card{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 var(--spacing-xs) 0}.login-header p{color:var(--text-secondary);font-size:.875rem;margin:0}.login-form .form-group{margin-bottom:var(--spacing-md)}.login-label{display:block;color:var(--text-secondary);font-size:.8125rem;font-weight:500;margin-bottom:var(--spacing-xs)}.login-form .form-input{width:100%;padding:.75rem 1rem;font-size:.9375rem;font-family:inherit;border:1px solid var(--border-light);border-radius:var(--radius-md);transition:border-color var(--transition-fast);background-color:var(--bg-primary);box-sizing:border-box}.login-form .form-input:focus{outline:none;border-color:var(--primary)}.login-form .form-input::placeholder{color:var(--text-tertiary)}.login-form .form-input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.login-error{background-color:var(--status-overdue-bg);border-left:3px solid var(--status-overdue);color:var(--status-overdue);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:.875rem}.login-button{width:100%;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;font-family:inherit;color:var(--text-inverse);background-color:var(--primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.login-button:hover,.login-button:active{background-color:var(--primary-hover)}.login-button:disabled{background-color:var(--text-tertiary);cursor:not-allowed}.login-footer{text-align:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.login-footer p{color:var(--text-tertiary);font-size:.8125rem;margin:0}@media (max-width: 480px){.login-card{padding:var(--spacing-lg)}.login-header h2{font-size:1.25rem}}
