@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--color-primary:#2d689e;--color-primary-light:#238abc;--color-primary-dark:#1c75a0;--color-primary-50:#eff8ff;--color-primary-100:#daeeff;--color-primary-200:#b1dfff;--color-accent:#9ccd6b;--color-accent-light:#b3da8e;--color-accent-dark:#7ab44d;--color-bg:#f8f9fb;--color-bg-alt:#eef1f5;--color-bg-card:#fff;--color-bg-elevated:#fff;--color-text:#1a1a1a;--color-text-secondary:#5a5a5a;--color-text-muted:#8a8a8a;--color-text-inverse:#fff;--color-border:#d6dce6;--color-border-light:#e5eaf0;--color-success:#5cb85c;--color-warning:#f0ad4e;--color-error:#c0392b;--color-info:#2980b9;--color-weekend:#f8e0e0;--color-weekend-text:#c0392b;--color-available:#e3f2d9;--color-available-text:#3d6b1e;--color-full:#f8e0e0;--color-full-text:#c0392b;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-heading:"Inter", var(--font-family);--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-size-4xl:3.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.7;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 10px 30px #0000001a, 0 4px 8px #0000000a;--shadow-xl:0 20px 50px #0000001f;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--max-width:1200px;--header-height:72px;--font-scale:1}[data-contrast=high]{--color-primary:gold;--color-primary-light:#ffeb73;--color-primary-dark:#ccac00;--color-primary-50:#1a1a1a;--color-primary-100:#333;--color-primary-200:#4d4d4d;--color-accent:#0fc;--color-accent-light:#66ffdb;--color-accent-dark:#0ca;--color-bg:#000;--color-bg-alt:#1a1a1a;--color-bg-card:#000;--color-bg-elevated:#1a1a1a;--color-text:#fff;--color-text-secondary:#ddd;--color-text-muted:#aaa;--color-text-inverse:#000;--color-border:#fff;--color-border-light:#666;--color-success:#0f8;--color-warning:#fc0;--color-error:#f55;--color-info:#5cf;--color-weekend:#300;--color-weekend-text:#f88;--color-available:#030;--color-available-text:#0f0;--color-full:#300;--color-full-text:#f55;--color-status-no-show-bg:#310;--color-status-no-show-text:#fa0;--shadow-sm:0 0 0 1px #fff;--shadow-md:0 0 0 2px #fff;--shadow-lg:0 0 0 3px #fff}[data-contrast=high] .status-no_show{background:var(--color-status-no-show-bg)!important;color:var(--color-status-no-show-text)!important}[data-contrast=high] .status-confirmed,[data-contrast=high] .status-completed{background:var(--color-available)!important;color:var(--color-available-text)!important}[data-contrast=high] .status-cancelled{background:var(--color-full)!important;color:var(--color-full-text)!important}[data-contrast=high] .status-needs_seat{color:#fc0!important;background:#320!important}[data-contrast=high] .hero{border-bottom:2px solid var(--color-border);background:#000!important}[data-contrast=high] .login-page{background:#000!important}[data-contrast=high] .card,[data-contrast=high] .admin-form-section,[data-contrast=high] .summary-card,[data-contrast=high] .modal-content{border:2px solid var(--color-border)!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:calc(16px * var(--font-scale));scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.skip-nav{top:-100%;left:var(--space-md);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);z-index:10000;font-weight:var(--font-weight-semibold);text-decoration:none;position:absolute}.skip-nav:focus{top:var(--space-md)}.a11y-toolbar{bottom:var(--space-lg);right:var(--space-lg);gap:var(--space-xs);z-index:1000;flex-direction:column;display:flex;position:fixed}.a11y-btn{border-radius:var(--radius-full);border:2px solid var(--color-border);background:var(--color-bg-card);width:44px;height:44px;color:var(--color-text);font-size:var(--font-size-lg);cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.a11y-btn:hover,.a11y-btn:focus-visible{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);transform:scale(1.1)}.header{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);height:var(--header-height);background:#ffffffeb;position:sticky;top:0}.header-inner{max-width:var(--max-width);padding:0 var(--space-xl);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.logo{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);letter-spacing:-.02em;align-items:center;gap:var(--space-sm);text-decoration:none;display:flex}.logo-icon{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));border-radius:var(--radius-sm);color:#fff;width:36px;height:36px;font-size:var(--font-size-lg);justify-content:center;align-items:center;display:flex}.logo-img{object-fit:contain;width:auto;height:70px}.nav{align-items:center;gap:var(--space-lg);display:flex}.nav-link{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none;position:relative}.nav-link:hover,.nav-link:focus-visible{color:var(--color-primary);background:var(--color-primary-50)}.nav-link.active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.lang-toggle{background:var(--color-bg-alt);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);min-height:36px}.lang-toggle:hover,.lang-toggle:focus-visible{background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary)}.menu-toggle{color:var(--color-text);font-size:var(--font-size-xl);cursor:pointer;padding:var(--space-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:none}@media (max-width:768px){.menu-toggle{display:flex}.nav{top:var(--header-height);background:var(--color-bg-card);padding:var(--space-lg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);gap:var(--space-sm);flex-direction:column;display:none;position:absolute;left:0;right:0}.nav.nav-open{display:flex}.nav-link{width:100%;padding:var(--space-md);font-size:var(--font-size-md)}}.hero{color:var(--color-text-inverse);padding:var(--space-4xl) var(--space-xl);text-align:center;background:linear-gradient(#0009,#000000b3),url(/main_bg.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:420px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";opacity:.4;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{z-index:1;max-width:700px;margin:0 auto;position:relative}.hero h1{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--space-lg);letter-spacing:-.03em}.hero p{font-size:var(--font-size-lg);opacity:.9;margin-bottom:var(--space-2xl);line-height:var(--line-height-relaxed)}@media (max-width:768px){.hero{padding:var(--space-3xl) var(--space-lg);min-height:320px}.hero h1{font-size:var(--font-size-2xl)}}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:2px solid #0000;min-width:44px;min-height:48px;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-bg-card);color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-50)}.btn-outline{color:inherit;opacity:.8;background:0 0;border-color:currentColor}.btn-outline:hover{background:#ffffff26;border-color:#ffffffb3}.btn-ghost{color:var(--color-text-secondary);padding:var(--space-sm) var(--space-md);background:0 0;border:none}.btn-ghost:hover{background:var(--color-bg-alt);color:var(--color-text)}.btn-danger{background:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.btn-danger:hover{opacity:.9}.btn-success{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success)}.btn-warning{background:var(--color-warning);color:var(--color-text-inverse);border-color:var(--color-warning)}.btn-warning:hover{opacity:.9}.btn-sm{padding:var(--space-xs) var(--space-md);min-height:36px;font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-lg) var(--space-2xl);font-size:var(--font-size-lg);min-height:56px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.container{max-width:var(--max-width);padding:0 var(--space-xl);margin:0 auto}.section{padding:var(--space-4xl) var(--space-xl)}.section-alt{background:var(--color-bg-alt)}.section-title{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2xl);text-align:center;letter-spacing:-.02em}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-icon{background:var(--color-primary-50);width:48px;height:48px;color:var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-xl);margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.card h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm);color:var(--color-text)}.card p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.info-grid{gap:var(--space-xl);max-width:var(--max-width);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid}@media (max-width:768px){.info-grid{grid-template-columns:1fr}}.hours-table{border-collapse:collapse;width:100%;margin-top:var(--space-md)}.hours-table td{padding:var(--space-xs) 0;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border-light)}.hours-table td:first-child{font-weight:var(--font-weight-medium);color:var(--color-text)}.hours-table td:last-child{text-align:right;color:var(--color-text-secondary)}.hours-table tr.closed td{color:var(--color-text-muted)}.hours-table tr.open td:last-child{color:var(--color-success);font-weight:var(--font-weight-medium)}.price-item{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.price-item:last-child{border-bottom:none}.price-value{font-weight:var(--font-weight-bold);color:var(--color-primary);font-size:var(--font-size-lg)}.wizard{max-width:640px;padding:var(--space-3xl) var(--space-xl);margin:0 auto}.wizard-progress{justify-content:center;gap:var(--space-xl);margin-bottom:var(--space-3xl);padding:0 var(--space-lg);display:flex}.wizard-step-indicator{align-items:center;gap:var(--space-xs);flex-direction:column;flex:1;max-width:100px;display:flex}.wizard-step-dot{border-radius:var(--radius-full);border:2px solid var(--color-border);background:var(--color-bg-card);width:36px;height:36px;color:var(--color-text-muted);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.wizard-step-indicator.active .wizard-step-dot{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 0 0 4px var(--color-primary-100)}.wizard-step-indicator.completed .wizard-step-dot{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.wizard-step-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;font-weight:var(--font-weight-medium)}.wizard-step-indicator.active .wizard-step-label{color:var(--color-primary)}.wizard-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-align:center;margin-bottom:var(--space-2xl);color:var(--color-text)}.guests-grid{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(4,1fr);display:grid}.guest-btn{aspect-ratio:1;border-radius:var(--radius-lg);border:2px solid var(--color-border);background:var(--color-bg-card);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;min-height:72px;display:flex}.guest-btn:hover{border-color:var(--color-primary);background:var(--color-primary-50);transform:scale(1.03)}.guest-btn.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.guest-btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.guest-custom-input{gap:var(--space-md);align-items:center;display:flex}.guest-custom-input input{flex:1}.calendar{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.calendar-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.calendar-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.calendar-nav{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg-card);width:40px;height:40px;color:var(--color-text);cursor:pointer;font-size:var(--font-size-lg);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.calendar-nav:hover{background:var(--color-primary-50);border-color:var(--color-primary)}.calendar-nav:disabled{opacity:.3;cursor:not-allowed}.calendar-weekdays{margin-bottom:var(--space-sm);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekday{text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);padding:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.calendar-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day{aspect-ratio:1;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;min-height:44px;display:flex}.calendar-day:hover:not(:disabled):not(.calendar-day-empty){background:var(--color-primary-50);color:var(--color-primary)}.calendar-day.selected{background:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-sm)}.calendar-day.today{border:2px solid var(--color-accent)}.calendar-day.weekend{background:var(--color-weekend);color:var(--color-weekend-text);cursor:not-allowed;opacity:.6}.calendar-day:disabled,.calendar-day.disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.4}.calendar-day.calendar-day-empty{cursor:default}.time-slots{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.time-slot{padding:var(--space-md);border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-bg-card);font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);text-align:center;min-height:48px}.time-slot:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-50)}.time-slot.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.time-slot.full{background:var(--color-full);border-color:var(--color-full);color:var(--color-full-text);cursor:not-allowed;opacity:.6}.time-slot-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);margin-top:2px;display:block}.form-group{margin-bottom:var(--space-lg)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-xs);display:block}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);min-height:48px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.form-input:invalid:not(:placeholder-shown){border-color:var(--color-error)}.form-textarea{resize:vertical;min-height:100px}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.form-hint{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:var(--space-xs)}.summary-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.summary-row{padding:var(--space-md) 0;border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.summary-row:last-child{border-bottom:none}.summary-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.summary-value{font-weight:var(--font-weight-semibold);text-align:right}.summary-edit{color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family);background:0 0;border:none;min-height:24px;padding:0;text-decoration:underline}.summary-edit:hover{color:var(--color-primary-dark)}.confirmation{text-align:center;padding:var(--space-3xl) var(--space-xl);max-width:500px;margin:0 auto}.confirmation-icon{background:var(--color-available);width:80px;height:80px;color:var(--color-primary);border-radius:var(--radius-full);margin:0 auto var(--space-xl);justify-content:center;align-items:center;font-size:40px;animation:.4s scaleIn;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.confirmation h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:var(--space-xs)}.confirmation h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.confirmation-code{background:var(--color-bg-alt);border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-xl) 0;display:inline-block}.confirmation-code-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-xs);display:block}.confirmation-code-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);letter-spacing:.2em;font-family:Courier New,monospace}.wizard-actions{justify-content:space-between;gap:var(--space-md);margin-top:var(--space-2xl);display:flex}.wizard-actions .btn{flex:1;max-width:200px}.footer{background:var(--color-primary-dark);color:var(--color-text-inverse);padding:var(--space-3xl) var(--space-xl);text-align:center}.footer-content{max-width:var(--max-width);margin:0 auto}.footer p{opacity:.7;font-size:var(--font-size-sm);margin-bottom:var(--space-sm)}.footer a{color:var(--color-accent-light);text-decoration:none}.footer a:hover{text-decoration:underline}.admin-layout{min-height:calc(100vh - var(--header-height));display:flex}.admin-sidebar{background:var(--color-bg-card);border-right:1px solid var(--color-border-light);width:260px;padding:var(--space-xl) 0;flex-shrink:0}.admin-sidebar-link{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xl);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);border-left:3px solid #0000;text-decoration:none;display:flex}.admin-sidebar-link:hover{background:var(--color-primary-50);color:var(--color-primary)}.admin-sidebar-link.active{color:var(--color-primary);background:var(--color-primary-50);border-left-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.admin-sidebar-link-icon{font-size:var(--font-size-lg);text-align:center;width:24px}.admin-main{padding:var(--space-2xl);background:var(--color-bg);flex:1;overflow-y:auto}.admin-header{margin-bottom:var(--space-2xl);justify-content:space-between;align-items:center;display:flex}.admin-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}@media (max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--color-border-light);width:100%;padding:var(--space-sm) 0;display:flex;overflow-x:auto}.admin-sidebar-link{padding:var(--space-sm) var(--space-md);white-space:nowrap;border-bottom:3px solid #0000;border-left:none}.admin-sidebar-link.active{border-left-color:#0000;border-bottom-color:var(--color-primary)}.admin-main{padding:var(--space-lg)}}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.stat-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin-bottom:var(--space-xs)}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.admin-table-container{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table th{background:var(--color-bg-alt);padding:var(--space-md) var(--space-lg);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.admin-table td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm)}.admin-table tr:hover td{background:var(--color-primary-50)}.admin-table tr:last-child td{border-bottom:none}.status-badge{align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);display:inline-flex}.status-confirmed{background:var(--color-available);color:var(--color-available-text)}.status-cancelled{background:var(--color-full);color:var(--color-full-text)}.status-completed{background:var(--color-available);color:var(--color-available-text);border:1px solid var(--color-available-text)}.status-no_show{color:#e65100;background:#fff3e0}.status-needs_seat{color:#f57f17;background:#fff8e1}.actions-cell{gap:var(--space-xs);flex-wrap:wrap;display:flex}.admin-form-section{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.admin-form-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border-light)}.admin-form-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.login-page{background:linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));min-height:100vh;padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-3xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl)}.login-card h1{text-align:center;font-size:var(--font-size-2xl);margin-bottom:var(--space-2xl);color:var(--color-primary)}.login-error{background:var(--color-full);color:var(--color-error);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:var(--font-size-sm);text-align:center}.toast{bottom:var(--space-2xl);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-weight:var(--font-weight-medium);z-index:10000;opacity:0;transition:all var(--transition-base);position:fixed;left:50%;transform:translate(-50%)translateY(100%)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.loading{padding:var(--space-3xl);justify-content:center;align-items:center;display:flex}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--space-3xl);color:var(--color-text-muted)}.empty-state-icon{margin-bottom:var(--space-md);opacity:.5;font-size:48px}.date-filter{gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}@media (max-width:768px){.admin-table-container{overflow-x:auto}.admin-table{min-width:600px}}.about-section{max-width:800px;margin:0 auto}.about-text{font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);text-align:center}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.animate-in{animation:.5s forwards fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-card);padding:var(--space-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.slide-in-left{animation:1s forwards slideInLeft}.slide-in-right{animation:1s forwards slideInRight}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}
