:root{--color-bg:#fff;--color-surface:#fff;--color-text:#18181b;--color-muted:#71717a;--color-border:#e4e4e7;--color-hover:#f4f4f5;--color-primary:#18181b;--color-primary-text:#fff;--color-danger:#dc2626;--color-amber:#b45309;--color-blue:#1d4ed8;--color-green:#15803d;--radius:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg)}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3{margin:0 0 var(--space-4);letter-spacing:-.02em;line-height:1.2}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}p{margin:0 0 var(--space-4)}a{color:var(--color-text)}button{font:inherit;padding:var(--space-2) var(--space-4);border:1px solid var(--color-primary);border-radius:var(--radius);background:var(--color-primary);color:var(--color-primary-text);cursor:pointer;transition:opacity .15s}button:hover:not(:disabled){opacity:.85}button:disabled{opacity:.4;cursor:not-allowed}.button-secondary{color:var(--color-text);border-color:var(--color-border);background:0 0}.button-small{padding:var(--space-1) var(--space-3);font-size:.875rem}input,select{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{width:100%;max-width:60rem;padding:0 var(--space-4);margin:0 auto}.page{gap:var(--space-6);padding-top:var(--space-8);padding-bottom:var(--space-8);flex-direction:column;display:flex}.site-header{z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header-inner{align-items:center;gap:var(--space-4);min-height:4rem;padding:var(--space-2) var(--space-4);grid-template-columns:1fr auto 1fr;display:grid}.header-left{justify-self:start}.header-right{justify-self:end}.site-title{letter-spacing:-.02em;color:var(--color-text);white-space:nowrap;font-size:1.25rem;font-weight:700;text-decoration:none}.menu-button{color:var(--color-text);border-color:var(--color-border);padding:var(--space-2) var(--space-3);background:0 0;font-size:1.25rem;line-height:1}.user-status{align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:.875rem;display:flex}.sidebar-backdrop{z-index:20;opacity:0;pointer-events:none;background:#0000004d;transition:opacity .2s;position:fixed;inset:0}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.sidebar{z-index:30;width:16rem;max-width:80vw;padding:var(--space-4);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.sidebar-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-size:.875rem;font-weight:600}.sidebar-nav{flex-direction:column;display:flex}.sidebar-link{padding:var(--space-3) var(--space-3);color:var(--color-text);border-left:2px solid #0000;text-decoration:none}.sidebar-link:hover{background:var(--color-hover)}.sidebar-link.active{border-left-color:var(--color-primary);font-weight:600}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 1.5);padding:var(--space-6)}.subheading{margin:var(--space-8) 0 var(--space-4);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-size:.875rem;font-weight:600}.subheading:first-child{margin-top:0}.page-footer-link{margin:var(--space-6) 0 0;font-size:.875rem}.muted{color:var(--color-muted)}.error-text{color:var(--color-danger)}.success-text{color:var(--color-green)}.form{gap:var(--space-4);flex-direction:column;display:flex}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.field{gap:var(--space-1);flex-direction:column;display:flex}.field-label{font-size:.875rem;font-weight:500}.field input,.field select{width:100%}.form-actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;font-size:.875rem;display:flex}.form-actions button{font-size:1rem}.modal{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:min(36rem,100vw - 2rem);color:var(--color-text);padding:0}.modal::backdrop{background:#0006}.modal-content{padding:var(--space-6)}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.modal-header h2{margin:0}.restaurant-list{gap:var(--space-3);flex-direction:column;display:flex}.restaurant-card{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;display:flex}.restaurant-cuisine{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-size:.75rem;font-weight:500}.restaurant-name{margin:var(--space-1) 0;font-size:1.125rem}.restaurant-meta{color:var(--color-muted);margin:0;font-size:.875rem}.pagination{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-6);display:flex}.pagination-info{color:var(--color-muted);font-size:.875rem}.filter-bar{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filter-button{padding:var(--space-1) var(--space-3);color:var(--color-text);border-color:var(--color-border);background:0 0;font-size:.875rem}.filter-button.is-active{background:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.booking-list{margin:0;padding:0;list-style:none}.booking-item{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.booking-item:first-child{border-top:none;padding-top:0}.booking-title{font-weight:600}.booking-meta{color:var(--color-muted);font-size:.875rem}.booking-side{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.booking-error{flex-basis:100%;margin:0;font-size:.875rem}.status{padding:.125rem var(--space-2);border-radius:var(--radius);background:var(--status-bg);color:var(--status-text);font-size:.75rem;font-weight:500;display:inline-block}.status-requested{--status-bg:#f59e0b26;--status-text:var(--color-amber)}.status-confirmed{--status-bg:#3b82f626;--status-text:var(--color-blue)}.status-seated{--status-bg:#22c55e26;--status-text:var(--color-green)}.status-cancelled{--status-bg:#71717a26;--status-text:var(--color-muted)}
