*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#1a1a2e;--color-secondary:#16213e;--color-accent:#e94560;--color-bg:#fff;--color-bg-alt:#f8f9fa;--color-text:#1a1a2e;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--font-heading:"Georgia", serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius:8px;--shadow:0 1px 3px #0000001a;--shadow-lg:0 4px 12px #0000001a;--max-width:1200px}html{-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}ul{list-style:none}button{cursor:pointer;font-family:var(--font-body)}.page-loading{min-height:60vh;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:1.125rem;display:flex}.page-error{min-height:60vh;color:var(--color-error);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;font-size:1.125rem;display:flex}@media (width<=768px){html{font-size:15px}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}}:where(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]):not([type=submit]):not([type=button])),:where(select),:where(textarea){font-size:.95rem;line-height:1.5;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.625rem .75rem}.navbar{background:var(--color-primary);color:#fff;z-index:100;box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.navbar-brand{align-items:center;gap:.75rem;display:flex}.navbar-logo{border-radius:4px;width:auto;height:36px}.navbar-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:700}.navbar-links{align-items:center;gap:.25rem;display:flex}.navbar-link{color:#ffffffd9;border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:background .2s,color .2s}.navbar-link:hover{color:#fff;background:#ffffff26;text-decoration:none}.navbar-link.active{color:#fff;background:#ffffff1a}.navbar-toggle{color:#fff;background:0 0;border:none;padding:.25rem;font-size:1.5rem;display:none}@media (width<=768px){.navbar-toggle{display:block}.navbar-links{background:var(--color-primary);box-shadow:var(--shadow-lg);flex-direction:column;padding:.5rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}.navbar-links.open{display:flex}.navbar-link{width:100%;padding:.75rem 1rem}}.venue-page{flex-direction:column;min-height:100vh;display:flex}.venue-main{max-width:var(--max-width);flex:1;width:100%;margin:0 auto;padding:2rem 1.5rem}.footer{background:var(--color-primary);color:#ffffffb3;text-align:center;padding:1.5rem;font-size:.875rem}.footer a{color:#ffffffd9}.footer a:hover{color:#fff}.footer p{margin:0}.footer-links{margin-top:.5rem}.footer-links a{text-decoration:none}.footer-sep{opacity:.6;margin:0 .5rem}.landing-page{flex-direction:column;min-height:100vh;display:flex}.landing-navbar{background:var(--color-primary);color:#fff;z-index:100;box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.landing-navbar-brand{align-items:center;gap:.75rem;display:flex}.landing-navbar-logo{width:auto;height:36px}.landing-navbar-icon{color:var(--color-accent);font-size:1.5rem}.landing-navbar-title{color:#fff;font-size:1.25rem;font-weight:700;text-decoration:none}.landing-navbar-toggle{color:#fff;cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1.5rem;display:none}.landing-navbar-links{align-items:center;gap:1.5rem;display:flex}.owner-sidebar .language-selector,.admin-sidebar .language-selector,.staff-sidebar .language-selector{margin:.75rem 0}.landing-navbar-link{color:#ffffffd9;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.landing-navbar-link:hover,.landing-navbar-link.active{color:#fff}.landing-navbar-signin{border-radius:var(--radius);background:#ffffff26;padding:.5rem 1rem}.landing-navbar-signin:hover{background:#ffffff40}.language-selector{position:relative}.language-selector-trigger{color:#fff;border-radius:var(--radius);cursor:pointer;background:#ffffff26;border:none;align-items:center;gap:.3rem;padding:.4rem .6rem;font-size:.9rem;transition:background .2s;display:flex}.language-selector-trigger:hover{background:#ffffff40}.language-flag{font-size:1.1rem;line-height:1}.language-selector-dropdown{background:var(--color-surface,#fff);border:1px solid var(--color-border,#ddd);border-radius:var(--radius);z-index:200;min-width:180px;margin-top:.25rem;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.language-selector-option{width:100%;color:var(--color-text,#333);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.9rem;transition:background .15s;display:flex}.language-selector-option:hover{background:var(--color-bg,#f5f5f5)}.language-selector-option.active{background:var(--color-primary-light,#e8f0fe);font-weight:600}.landing-loading{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));min-height:100vh}.landing-hero{background:linear-gradient(135deg,#172554,#be185d);width:100%;height:260px;display:block}.landing-hero-wrapper{position:relative}.landing-hero-tagline{color:#fff;text-shadow:0 2px 8px #000000b3,0 1px 3px #00000080;letter-spacing:.03em;pointer-events:none;font-family:Courier New,Courier,monospace;font-size:1.75rem;font-weight:600;position:absolute;bottom:1.5rem;right:2rem}.landing-hero-image{object-fit:cover;object-position:center}.landing-hero-fallback{position:relative;overflow:hidden}.landing-hero-fallback:after{content:"";border:2px solid #fde68aa6;border-radius:50%;width:22rem;height:22rem;position:absolute;top:-10rem;right:12%;box-shadow:0 0 0 2rem #fde68a14,0 0 0 5rem #fde68a0d}.landing-main{max-width:var(--max-width);flex:1;width:100%;margin:0 auto;padding:3rem 1.5rem}.landing-main h2{color:var(--color-primary);margin-bottom:1.5rem}.landing-venues-state{min-height:8rem;color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;display:flex}.landing-venues-error{color:var(--color-error)}.landing-main hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.venue-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.venue-card-link{text-decoration:none;display:block}.venue-card{border-radius:var(--radius);border:1px solid var(--color-border);background-position:50%;background-size:cover;height:180px;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden}.venue-card:hover{box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-2px)}.venue-card-overlay{color:#fff;background:linear-gradient(#0000001a 40%,#000000bf 100%);align-items:flex-end;padding:1.25rem;font-size:1.25rem;font-weight:700;display:flex;position:absolute;inset:0}.venue-card-overlay small{opacity:.85;margin-left:auto;font-size:.75rem;font-weight:500}.venue-card-overlay svg{margin-right:.5rem}.landing-login{text-align:center}.landing-login a{font-weight:600}@media (width<=768px){.venue-list{grid-template-columns:1fr}.landing-hero-tagline{display:none}.landing-navbar-toggle{display:block}.landing-navbar-links{background:var(--color-primary);box-shadow:var(--shadow-lg);flex-direction:column;gap:.75rem;padding:1rem 1.5rem;display:none;position:absolute;top:100%;left:0;right:0}.landing-navbar-links.open{display:flex}.landing-navbar-link{justify-content:flex-start;width:100%;padding:.5rem 0}.landing-navbar-signin{justify-content:center;width:100%}}.how-it-works-main,.about-main{max-width:var(--max-width);flex:1;width:100%;margin:0 auto;padding:2rem 1.5rem 4rem}.how-it-works-hero,.about-hero{text-align:center;background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;border-radius:var(--radius);margin-bottom:3rem;padding:3rem 1.5rem}.how-it-works-hero h1,.about-hero h1{margin-bottom:.75rem;font-size:2.25rem}.how-it-works-hero p,.about-hero p{opacity:.9;max-width:600px;margin:0 auto;font-size:1.125rem}.how-it-works-section{background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border);margin-bottom:3rem;padding:2rem}.how-it-works-section.reseller{background:linear-gradient(135deg, rgba(var(--color-primary-rgb,23, 37, 84), .03), rgba(var(--color-secondary-rgb,190, 24, 93), .03))}.how-it-works-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;margin-bottom:1rem;padding:.35rem .85rem;font-size:.75rem;font-weight:700;display:inline-block}.how-it-works-badge.owner{background:var(--color-primary);color:#fff}.how-it-works-badge.reseller{background:var(--color-secondary);color:#fff}.how-it-works-section h2{color:var(--color-primary);margin-bottom:.75rem;font-size:1.75rem}.how-it-works-lead{color:var(--color-text-muted);margin-bottom:2rem;font-size:1.05rem}.how-it-works-steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.how-it-works-step{border-radius:var(--radius);border:1px solid var(--color-border);text-align:center;background:#fff;padding:1.5rem;position:relative}.step-number{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-bottom:1rem;font-size:1.125rem;font-weight:700;display:inline-flex}.how-it-works-step h3{color:var(--color-text);margin-bottom:.5rem;font-size:1rem}.how-it-works-step p{color:var(--color-text-muted);font-size:.875rem;line-height:1.5}.how-it-works-cta{text-align:center;padding-top:1rem}.how-it-works-section.features{background:linear-gradient(135deg, rgba(var(--color-primary-rgb,23, 37, 84), .02), rgba(var(--color-secondary-rgb,190, 24, 93), .02))}.how-it-works-features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1rem;display:grid}.how-it-works-feature{border-radius:var(--radius);border:1px solid var(--color-border);text-align:center;background:#fff;padding:1.5rem;transition:transform .2s,box-shadow .2s}.how-it-works-feature:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.how-it-works-feature .feature-icon{color:var(--color-primary);margin-bottom:1rem;font-size:2rem}.how-it-works-feature h3{color:var(--color-text);margin-bottom:.5rem;font-size:1.125rem}.how-it-works-feature p{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.how-it-works-section.pricing-section{background:linear-gradient(135deg, rgba(var(--color-primary-rgb,23, 37, 84), .05), rgba(var(--color-secondary-rgb,190, 24, 93), .05))}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.pricing-card{border-radius:var(--radius);border:2px solid var(--color-border);text-align:center;background:#fff;padding:1.5rem;transition:transform .2s,border-color .2s}.pricing-card:hover{border-color:var(--color-primary);transform:translateY(-4px)}.pricing-country{color:var(--color-primary);margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.pricing-currency{color:var(--color-text-muted);text-transform:uppercase;margin-bottom:1rem;font-size:.875rem}.pricing-items{flex-direction:column;gap:.75rem;display:flex}.pricing-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.pricing-item:last-child{border-bottom:none}.pricing-label{color:var(--color-text-muted);font-size:.875rem}.pricing-value{color:var(--color-text);font-size:1rem;font-weight:600}.pricing-empty{text-align:center;color:var(--color-text-muted);padding:2rem;font-style:italic}.about-section{margin-bottom:3rem}.about-section h2{color:var(--color-primary);margin-bottom:1rem;font-size:1.75rem}.about-section p{color:var(--color-text);margin-bottom:1rem;font-size:1.05rem;line-height:1.7}.about-section.privacy-summary{background:linear-gradient(135deg, rgba(var(--color-primary-rgb,23, 37, 84), .04), rgba(var(--color-secondary-rgb,190, 24, 93), .04));border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem}.about-features{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.about-feature{background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border);text-align:center;padding:1.5rem}.about-feature-icon{color:var(--color-primary);margin-bottom:1rem;font-size:2rem}.about-feature h3{color:var(--color-text);margin-bottom:.5rem;font-size:1.125rem}.about-feature p{color:var(--color-text-muted);margin-bottom:0;font-size:.9rem}.about-contact{text-align:center;background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border);padding:2rem}.about-email a{color:var(--color-primary);font-size:1.25rem;font-weight:600;text-decoration:none}.about-email a:hover{text-decoration:underline}.reseller-register-card{max-width:500px}.reseller-register-card .form-group{margin-bottom:1rem}.reseller-register-card textarea{resize:vertical;min-height:80px}.venue-hero{border-radius:var(--radius);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:320px;display:flex;position:relative;overflow:hidden}.venue-hero-image{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.venue-hero-overlay{z-index:2;text-align:center;width:100%;padding:3rem 2rem;position:relative}.venue-hero:before{content:"";z-index:1;background:#0000008c;position:absolute;inset:0}.venue-hero-overlay h1{color:#fff;margin-bottom:.5rem;font-size:2.25rem}.venue-hero-overlay p{color:#ffffffd9;max-width:600px;margin:0 auto;font-size:1.125rem}.venue-ctas{flex-wrap:wrap;justify-content:center;gap:1rem;margin:2rem 0;display:flex}.btn{border-radius:var(--radius);border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s,transform .1s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:color-mix(in srgb, var(--color-accent) 85%, #000);color:#fff}.btn-secondary{background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-border);color:var(--color-text)}.venue-info{background:var(--color-bg-alt);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem;padding:2rem;display:grid}.venue-info-item{text-align:center}.info-icon{color:var(--color-accent);margin-bottom:.5rem;font-size:1.5rem}.venue-info-item h3{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.25rem;font-size:.875rem}.venue-info-item p{font-weight:600}.venue-hours-list{text-align:left;margin:0;padding:0;font-size:.875rem;list-style:none}.venue-hours-list li{justify-content:space-between;gap:1rem;font-weight:600;display:flex}.menu-page{flex-direction:column;min-height:100vh;display:flex}.menu-page .venue-main{padding-top:2rem}.menu-page .venue-main h1{color:var(--color-primary);margin-bottom:2rem}.category-section{margin-bottom:2.5rem}.category-section h2{border-bottom:2px solid var(--color-accent);color:var(--color-primary);margin-bottom:1rem;padding-bottom:.5rem}.menu-item-card{border:1px solid var(--color-border);border-radius:var(--radius);gap:1rem;margin-bottom:.75rem;padding:1rem;transition:box-shadow .2s;display:flex}.menu-item-card:hover{box-shadow:var(--shadow)}.menu-item-image{object-fit:cover;border-radius:var(--radius);flex-shrink:0;width:80px;height:80px}.menu-item-info{flex:1;min-width:0}.menu-item-name{margin-bottom:.25rem;font-weight:600}.menu-item-desc{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.875rem}.menu-item-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.menu-item-price{color:var(--color-accent);font-size:1.125rem;font-weight:700}.dietary-flag{text-transform:uppercase;background:var(--color-bg-alt);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}@media (width<=768px){.venue-hero{padding:2rem 0 1.5rem}.venue-info{grid-template-columns:1fr}.menu-item-card{flex-direction:column}.menu-item-image{width:100%;height:160px}}.booking-page{flex-direction:column;min-height:100vh;display:flex}.booking-main{width:100%;max-width:var(--max-width);flex:1;margin:0 auto;padding:2rem 1.5rem 4rem}.booking-intro{margin-bottom:1.5rem}.booking-intro h1{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.booking-intro p{color:var(--color-text-muted)}.booking-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.5rem;display:grid}.booking-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.booking-availability-card{position:sticky;top:1rem}.booking-terms{max-width:46rem}.booking-terms-item{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.9rem}.booking-terms-prices{flex-wrap:wrap;gap:.4rem 1.25rem;margin-bottom:.5rem;display:flex}.booking-terms-prices span{font-size:.9rem;font-weight:600}.booking-terms-contact{margin-bottom:0}.booking-card-title{align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.15rem;display:flex}.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.booking-field{flex-direction:column;gap:.375rem;min-width:0;display:flex}.booking-field-full{grid-column:1/-1}.booking-field span{color:var(--color-text-muted);align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;display:flex}.booking-field span em{opacity:.7;font-style:normal;font-weight:400}.booking-field input,.booking-field select,.booking-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);width:100%;padding:.7rem .8rem}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:var(--color-accent)}.booking-field textarea{resize:vertical}.booking-btn{border-radius:var(--radius);color:#fff;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.8rem 1rem;font-size:1rem;font-weight:700;display:flex}.booking-btn:disabled{opacity:.55;cursor:not-allowed}.booking-check-btn{background:var(--color-accent)}.booking-confirm-btn{background:var(--color-success)}.booking-plan{margin-top:1.5rem}.booking-plan-hint{color:var(--color-text-muted);align-items:center;gap:.375rem;margin-top:.75rem;font-size:.875rem;display:flex}.booking-status{border-radius:var(--radius);align-items:center;gap:.5rem;padding:.8rem 1rem;font-weight:500;display:flex}.booking-status.checking{color:#3730a3;background:#e0e7ff}.booking-status.success{color:var(--color-success);background:#10b9811f}.booking-status.error{color:var(--color-error);background:#ef44441f}@media (width<=768px){.booking-main{padding:1.5rem 1rem 4rem}.booking-layout{grid-template-columns:1fr}.booking-availability-card{position:static}.booking-fields{grid-template-columns:1fr}.booking-field-full{grid-column:auto}}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-group label{color:var(--color-text-muted);font-size:.875rem;font-weight:600}.form-group input{border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:var(--font-body);padding:.75rem}.availability-results{margin-top:1.5rem}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.maintenance-page{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.maintenance-logo{object-fit:contain;max-width:260px;max-height:64px;margin-bottom:1rem}.maintenance-brand{margin-bottom:1rem;font-size:1.5rem;font-weight:700}.error-page h1{margin-bottom:.5rem}.error-page p{color:var(--color-text-muted);margin-bottom:1.5rem}.error-page a{color:var(--color-accent);font-weight:600}.ordering-page{flex-direction:column;min-height:100vh;display:flex}.ordering-layout{max-width:var(--max-width);flex:1;width:100%;margin:0 auto;padding:1.5rem 1rem 0}.ordering-main{flex:1;padding-bottom:calc(50vh + 5rem)}.menu-items-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.menu-item-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.menu-item-card.unavailable{opacity:.6}.menu-item-image{object-fit:cover;width:100%;height:140px}.menu-item-info{flex-direction:column;flex:1;gap:.375rem;padding:1rem;display:flex}.menu-item-desc{color:var(--color-text-muted);font-size:.9rem}.menu-item-ingredients{color:var(--color-text-muted);font-size:.8rem}.menu-item-meta{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.menu-item-price{font-size:1.1rem;font-weight:700}.dietary-flags{gap:.25rem;display:flex}.dietary-badge{background:var(--color-bg-alt);border:1px solid var(--color-border);text-transform:uppercase;border-radius:999px;padding:.125rem .5rem;font-size:.7rem}.unavailable-label{color:var(--color-error);font-size:.8rem;font-weight:600}.menu-item-add{background:var(--color-accent);color:#fff;border-radius:var(--radius);border:none;margin-top:.75rem;padding:.5rem 1rem;font-weight:600}.menu-item-add:disabled{opacity:.5;cursor:not-allowed}.ordering-sidebar{z-index:100;position:fixed;bottom:0;left:0;right:0}.ordering-sidebar .cart-empty{display:none}.cart{background:var(--color-bg);border-top:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.cart-bar{cursor:pointer;width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.85rem 1rem;font-size:1rem;font-weight:700;display:flex}.cart-bar-info{align-items:center;gap:.5rem;display:flex}.cart-bar-chevron{transition:transform .2s}.cart.expanded .cart-bar-chevron{transform:rotate(90deg)}.cart-body{max-height:0;transition:max-height .25s;overflow:hidden}.cart.expanded .cart-body{max-height:48vh;padding:0 1rem .75rem;overflow-y:auto}.cart h2{margin:.75rem 0 .5rem;font-size:1.1rem}.cart-item{border-bottom:1px solid var(--color-border);padding:.375rem 0}.cart-item-main{flex-direction:column;gap:.25rem;display:flex}.cart-item-name{font-weight:600}.cart-item-options{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.8rem;display:block;overflow:hidden}.cart-item-controls{align-items:center;gap:.5rem;display:flex}.cart-item-controls button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-alt);width:28px;height:28px}.cart-item-customise{cursor:pointer;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.8rem;display:inline-flex;width:auto!important;height:auto!important}.cart-item-price{white-space:nowrap;margin-left:auto;font-weight:600}.cart-item-remove{margin-left:.5rem}.cart-total{justify-content:flex-end;padding:.75rem 0 .5rem;font-size:1.05rem;display:flex}.cart-place-order{background:var(--color-success);color:#fff;border-radius:var(--radius);border:none;width:100%;padding:.75rem;font-weight:700}.cart-empty{color:var(--color-text-muted)}@media (width>=900px){.ordering-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:2rem;display:grid}.ordering-main{padding-bottom:1.5rem}.ordering-sidebar{max-height:calc(100vh - 3rem);position:sticky;top:1.5rem;overflow-y:auto}.ordering-sidebar .cart{border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.cart-bar{display:none}.cart-body,.cart.expanded .cart-body{max-height:none;padding:.75rem 1rem;overflow:visible}}.order-confirmed{min-height:60vh;color:var(--color-success);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;font-size:1.25rem;font-weight:600;display:flex}.order-confirmed-message{text-align:center;align-items:center;gap:.5rem;display:flex}.order-confirmed-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;font-size:1rem;display:flex}.floor-plan-display{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius);min-height:320px;margin:1rem 0 0;padding:1rem;position:relative;overflow:auto}.floor-plan-display .floor-plan-table{border:2px solid var(--color-success);background:var(--color-bg);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;min-width:56px;height:56px;font-weight:600;display:flex;position:absolute;transform:translate(-50%,-50%)}.floor-plan-display .floor-plan-table.unavailable{border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.floor-plan-display .floor-plan-table.selected{border-color:var(--color-accent);transform:translate(-50%,-50%)scale(1.1);box-shadow:0 0 0 3px #e9456033}.floor-plan-fallback{flex-wrap:wrap;gap:.5rem;display:flex}.floor-plan-fallback .floor-plan-table{position:static;transform:none}.area-booking-page main{max-width:var(--max-width);margin:0 auto;padding:1.5rem 1rem}.areas-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin:1.5rem 0;display:grid}.area-card{border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.area-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 3px #e9456026}.area-card button{background:var(--color-primary);color:#fff;border-radius:var(--radius);border:none;margin-top:.5rem;padding:.5rem 1rem}.area-booking-form{border:1px solid var(--color-border);border-radius:var(--radius);max-width:480px;box-shadow:var(--shadow);margin:2rem auto;padding:1.5rem}.area-booking-form>button{background:var(--color-success);color:#fff;border-radius:var(--radius);border:none;width:100%;margin-top:1rem;padding:.75rem;font-weight:700}.booking-message{text-align:center;border-radius:var(--radius);margin-top:1rem;padding:.75rem}.booking-message.success{color:var(--color-success);background:#10b9811a}.customise-backdrop{z-index:200;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.customise-sheet{background:var(--color-bg);border-radius:var(--radius) var(--radius) 0 0;flex-direction:column;width:100%;max-width:560px;max-height:85vh;display:flex}.customise-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.customise-header h2{margin:0;font-size:1.15rem}.customise-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:1.5rem;line-height:1}.customise-body{flex:1;padding:1rem 1.25rem;overflow-y:auto}.customise-group{border:none;margin:0 0 1.25rem;padding:0}.customise-group-title{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.5rem;font-weight:700;display:flex}.customise-group-hint{color:var(--color-text-muted);font-size:.8rem;font-weight:400}.customise-options{flex-direction:column;gap:.5rem;display:flex}.customise-option{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.customise-option.selected{border-color:var(--color-accent);background:#e945600f}.customise-option input{accent-color:var(--color-accent)}.customise-option-name{flex:1}.customise-option-price{color:var(--color-text-muted);white-space:nowrap;font-size:.85rem}.customise-footer{border-top:1px solid var(--color-border);padding:.75rem 1.25rem}.customise-footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.customise-total{font-weight:700}.customise-actions{gap:.5rem;display:flex}@media (width>=768px){.customise-backdrop{align-items:center}.customise-sheet{border-radius:var(--radius)}}.login-page{background:var(--color-bg-alt);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.login-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2.5rem 2rem}.login-card h1{text-align:center;color:var(--color-primary);margin-bottom:.25rem}.login-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.875rem}.login-error{color:var(--color-error);border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.login-card form{flex-direction:column;gap:1rem;display:flex}.login-btn{justify-content:center;width:100%;margin-top:.5rem}.login-card input,.login-card select{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font-size:1rem;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);padding:.75rem;transition:border-color .2s}.login-card input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #e945601a}.login-toggle{text-align:center;color:var(--color-text-muted);margin-top:1.5rem;font-size:.875rem}.login-page-shell>.login-page{flex:1;width:100%;min-height:0}.link-btn{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;font-weight:600}.link-btn:hover{text-decoration:underline}.login-demo{background:var(--color-bg-alt);border-radius:var(--radius);color:var(--color-text-muted);margin-top:1.5rem;padding:1rem;font-size:.8125rem}.login-demo p{margin-bottom:.5rem}.login-demo code{background:var(--color-border);border-radius:3px;padding:.125rem .375rem;font-size:.8125rem}.login-demo ul{padding-left:1.25rem;list-style:outside}.login-demo li{margin-bottom:.25rem}.owner-layout,.admin-layout,.staff-layout{min-height:100vh;display:flex}.owner-sidebar,.admin-sidebar,.staff-sidebar{background:var(--color-primary);color:#fff;flex-direction:column;width:240px;height:100vh;padding:1.5rem;display:flex;position:sticky;top:0}.owner-sidebar h2,.admin-sidebar h2,.staff-sidebar h2{color:#fff;margin-bottom:1.5rem;font-size:1.25rem}.owner-sidebar nav,.admin-sidebar nav,.staff-sidebar nav{flex-direction:column;flex:1;gap:.25rem;min-height:0;display:flex;overflow-y:auto}.owner-sidebar nav::-webkit-scrollbar{width:6px}.admin-sidebar nav::-webkit-scrollbar{width:6px}.staff-sidebar nav::-webkit-scrollbar{width:6px}.owner-sidebar nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.admin-sidebar nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.staff-sidebar nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.owner-sidebar nav a,.admin-sidebar nav a,.staff-sidebar nav a{color:#ffffffb3;border-radius:6px;padding:.5rem .75rem;transition:all .2s}.owner-sidebar nav a:hover,.admin-sidebar nav a:hover,.staff-sidebar nav a:hover{color:#fff;background:#ffffff1a;text-decoration:none}.owner-sidebar nav a.active,.admin-sidebar nav a.active,.staff-sidebar nav a.active{color:#fff;background:var(--color-accent);font-weight:600}.owner-sidebar-footer,.admin-sidebar-footer,.staff-sidebar-footer{border-top:1px solid #fff3;padding-top:1rem}.owner-content,.admin-content,.staff-content{flex:1;padding:2rem;overflow-y:auto}.analytics-cards,.admin-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.analytics-card,.stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.analytics-card h3,.stat-card h3{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.875rem}.analytics-card p,.stat-card p{font-size:1.75rem;font-weight:700}.analytics-filters{gap:1rem;margin:1.5rem 0;display:flex}.analytics-filters label{color:var(--color-text-muted);flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.analytics-filters input[type=date]{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:.4rem .5rem}.orders-list{flex-direction:column;gap:.75rem;display:flex}.order-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);justify-content:space-between;align-items:center;padding:1rem;display:flex}.order-card-clickable{cursor:pointer}.order-card-clickable:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.order-card.status-completed{border-left:4px solid var(--color-success)}.order-card.status-active{border-left:4px solid var(--color-warning)}.order-card.status-cancelled{border-left:4px solid var(--color-error)}.order-card .status-badge,.order-status-badge{text-transform:uppercase;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.completed,.order-status-badge.completed{color:#065f46;background:#d1fae5}.status-badge.active,.order-status-badge.active,.status-badge.pending{color:#92400e;background:#fef3c7}.status-badge.cancelled,.order-status-badge.cancelled{color:#991b1b;background:#fee2e2}.status-badge.preparing,.order-status-badge.preparing{color:#1e40af;background:#dbeafe}.status-badge.ready_to_serve,.order-status-badge.ready_to_serve{color:#166534;background:#dcfce7}.kitchen-screen h1{margin-bottom:1rem}.kitchen-error{color:var(--color-error);margin-bottom:.75rem}.kitchen-empty{color:var(--color-text-muted)}.kitchen-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:1rem;display:grid}.kitchen-column{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.kitchen-column-title{border-bottom:1px solid var(--color-border);margin-bottom:.75rem;padding-bottom:.5rem;font-size:1rem}.kitchen-column-title.status-active{color:#92400e}.kitchen-column-title.status-preparing{color:#1e40af}.kitchen-column-title.status-ready_to_serve{color:#166534}.kitchen-column-empty{color:var(--color-text-muted);font-size:.9rem}.kitchen-column-list{flex-direction:column;gap:.75rem;display:flex}.kitchen-card{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;border-left-width:4px;padding:.75rem}.kitchen-card.status-active{border-left-color:var(--color-warning)}.kitchen-card.status-preparing{border-left-color:#2563eb}.kitchen-card.status-ready_to_serve{border-left-color:var(--color-success)}.kitchen-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.kitchen-card-table{font-weight:700}.kitchen-card-time{color:var(--color-text-muted);font-size:.8rem}.kitchen-card-items{margin:0 0 .75rem;padding:0;font-size:.95rem;list-style:none}.kitchen-card-items li{padding:.1rem 0}.kitchen-card-options{color:var(--color-text-muted);margin:.1rem 0 .2rem 1rem;padding:0;font-size:.85rem;list-style:none}.kitchen-item-qty{font-weight:700}.kitchen-card-actions{gap:.5rem;display:flex}.venue-settings-checkbox{cursor:pointer;align-items:center;gap:.5rem;display:flex}.status-confirmed{color:var(--color-success);font-weight:600}.status-pending{color:var(--color-warning);font-weight:600}.status-cancelled{color:var(--color-error);font-weight:600}.tabs{border-bottom:2px solid var(--color-border);gap:0;margin-bottom:1.5rem;display:flex}.tabs button{color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.tabs button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}table{border-collapse:collapse;width:100%;margin:1rem 0}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.menu-editor .add-category,.areas-page .add-area-form,.admin-pricing .pricing-form,.css-templates-page .template-form{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.menu-editor .add-category input,.areas-page .add-area-form input,.admin-pricing .pricing-form input,.css-templates-page .template-form input,.css-templates-page .template-form textarea{border:1px solid var(--color-border);border-radius:var(--radius);flex:1;min-width:200px;padding:.625rem .75rem;font-size:.95rem}.categories-list,.areas-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.categories-list li,.areas-list li{border:1px solid var(--color-border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.category-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);box-shadow:var(--shadow);overflow:hidden}.category-header{background:var(--color-surface,#fafafa);border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.category-header input{border:1px solid var(--color-border);border-radius:var(--radius);flex:1;padding:.625rem .75rem;font-size:.95rem}.cat-toggle{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.cat-name{flex:1;font-weight:600}.cat-order{color:var(--color-text-muted);background:var(--color-surface,#f0f0f0);border-radius:999px;padding:.15rem .6rem;font-size:.8rem}.cat-actions,.item-actions{gap:.25rem;display:flex}.cat-actions button,.item-actions button{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.35rem .6rem}.category-body{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.add-item-form{border-bottom:1px dashed var(--color-border);flex-wrap:wrap;gap:.5rem;padding-bottom:.75rem;display:flex}.add-item-form input{border:1px solid var(--color-border);border-radius:var(--radius);flex:1;min-width:120px;padding:.625rem .75rem;font-size:.95rem}.add-item-form input[type=number]{flex:0 0 80px;min-width:80px}.category-items{flex-direction:column;gap:.5rem;display:flex}.menu-item-row{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface,#fff);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.menu-item-row>.modifier-editor{flex:100%;margin-top:.5rem}.item-thumb{border-radius:var(--radius);object-fit:cover;flex-shrink:0;width:48px;height:48px}.item-thumb.placeholder{background:var(--color-surface,#f0f0f0);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.item-info{flex-direction:column;flex:1;min-width:0;display:flex}.item-name{font-weight:600}.item-desc{color:var(--color-text-muted);font-size:.85rem}.item-meta{color:var(--color-text-muted);font-size:.8rem}.item-badge.unavailable{color:var(--color-error,#b91c1c);vertical-align:middle;border:1px solid;border-radius:999px;margin-left:.4rem;padding:.05rem .4rem;font-size:.7rem}.item-price{white-space:nowrap;font-weight:600}.items-empty{color:var(--color-text-muted);padding:.25rem 0;font-size:.875rem}.modifier-editor{margin-top:.5rem}.modifier-toggle{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;font-size:.875rem;font-weight:600;display:flex}.modifier-count{color:var(--color-text-muted);margin-left:auto;font-size:.8rem;font-weight:400}.modifier-body{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:.75rem;margin-top:.5rem;padding:.75rem;display:flex}.modifier-group{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);padding:.6rem}.modifier-group-header,.modifier-group-edit,.modifier-option,.modifier-option-edit,.modifier-add-option,.modifier-add-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.modifier-group-name{font-weight:600}.modifier-group-meta{color:var(--color-text-muted);font-size:.8rem}.modifier-group-actions,.modifier-option-actions{gap:.25rem;margin-left:auto;display:flex}.modifier-group-actions button,.modifier-option-actions button,.modifier-option-edit button,.modifier-group-edit button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-alt);cursor:pointer;width:28px;height:28px}.modifier-group-edit input,.modifier-group-edit select,.modifier-option-edit input{border:1px solid var(--color-border);border-radius:var(--radius);padding:.4rem .6rem;font-size:.875rem}.modifier-group-edit input[type=number]{flex:0 0 64px;width:64px}.modifier-options{flex-direction:column;gap:.35rem;margin-top:.5rem;display:flex}.modifier-option{border:1px dashed var(--color-border);border-radius:var(--radius);padding:.35rem .5rem;font-size:.875rem}.modifier-option-name{flex:1}.modifier-option-price{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.modifier-badge{color:var(--color-accent,#e94560);border:1px solid;border-radius:999px;margin-left:.3rem;padding:.05rem .4rem;font-size:.7rem}.modifier-add-option,.modifier-add-group{border:1px dashed var(--color-border);border-radius:var(--radius);cursor:pointer;color:var(--color-text-muted);background:0 0;padding:.35rem .6rem;font-size:.85rem}.modifier-add-option:hover,.modifier-add-group:hover{border-color:var(--color-accent,#e94560);color:var(--color-accent,#e94560)}.modifier-add-group{align-self:flex-start;padding:.45rem .75rem}.item-edit{flex-direction:column;flex:1;gap:.5rem;display:flex}.item-edit-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.item-edit-row input,.item-edit-full{border:1px solid var(--color-border);border-radius:var(--radius);padding:.625rem .75rem;font-size:.95rem}.item-edit-row input{flex:1;min-width:120px}.item-edit-row input[type=number]{flex:0 0 90px;min-width:90px}.available-toggle{white-space:nowrap;align-items:center;gap:.35rem;font-size:.875rem;display:inline-flex}.dietary-toggles{flex-wrap:wrap;gap:.5rem;display:flex}.dietary-chip{border:1px solid var(--color-border);cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.8rem;display:inline-flex}.thumb-preview{width:64px;height:64px;position:relative}.thumb-preview img{object-fit:cover;border-radius:var(--radius);width:100%;height:100%}.thumb-preview button{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:-6px;right:-6px}.upload-btn{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.875rem;display:inline-flex}.upload-btn input[type=file]{display:none}.item-edit-actions{gap:.5rem;display:flex}.item-edit-actions button{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:var(--color-surface,#fff);padding:.4rem .9rem}.theme-editor label{flex-direction:column;gap:.25rem;margin-bottom:1rem;font-weight:500;display:flex}.theme-editor input[type=color]{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;width:60px;height:40px;padding:2px}.theme-editor input[type=text]{border:1px solid var(--color-border);border-radius:var(--radius);max-width:400px;padding:.625rem .75rem;font-size:.95rem}.booking-form{flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:2rem;display:flex}.booking-form label{flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500;display:flex}.customer-details{max-width:400px;margin-top:2rem}.customer-details label{flex-direction:column;gap:.25rem;margin-bottom:1rem;font-weight:500;display:flex}.customer-details input,.customer-details textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;padding:.625rem .75rem;font-size:.95rem}.areas-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.area-card{border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.staff-order-screen .order-card{flex-direction:column;align-items:stretch;gap:.75rem}.order-header{justify-content:space-between;align-items:center;display:flex}.order-actions{gap:.5rem;display:flex}.order-actions button{border-radius:var(--radius);border:none;padding:.4rem 1rem;font-size:.85rem;font-weight:500}.order-actions .btn-complete{background:var(--color-success);color:#fff}.order-actions .btn-cancel{background:var(--color-error);color:#fff}.order-actions .btn-paid,.btn-paid{background:var(--color-success);color:#fff;border-radius:var(--radius);border:none;padding:.4rem 1rem;font-size:.85rem;font-weight:600}.staff-order-screen .btn-collections{background:var(--color-primary);color:#fff;border-radius:var(--radius);border:none;margin-bottom:1rem;padding:.45rem 1rem;font-size:.85rem;font-weight:600}.order-actions .btn-external{background:var(--color-primary);color:#fff;border-radius:var(--radius);border:none;padding:.4rem 1rem;font-size:.85rem;font-weight:600}.tender-modal label,.collections-modal label{color:var(--color-text-muted);flex-direction:column;gap:.3rem;margin:.75rem 0;font-size:.875rem;display:flex}.tender-modal input,.tender-modal select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:.625rem}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.collections-modal h3{margin:1rem 0 .5rem}.collections-table{border-collapse:collapse;width:100%;font-size:.85rem}.collections-table th,.collections-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.4rem .5rem}.collections-table th{color:var(--color-text-muted);font-weight:600}.tender-modal .hint{color:var(--color-text-muted);font-size:.875rem}.tender-modal .error{color:var(--color-error);font-size:.85rem}.order-detail-backdrop{z-index:1100;background:#0f172a9e;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.order-detail-modal{border-radius:var(--radius);background:var(--color-bg);width:min(100%,620px);max-height:min(760px,100vh - 2rem);box-shadow:var(--shadow-lg);padding:1.25rem;overflow-y:auto}.order-detail-header,.order-detail-summary,.order-detail-payment,.order-detail-item{justify-content:space-between;align-items:center;gap:1rem;display:flex}.order-detail-header{margin-bottom:1rem}.order-detail-close{color:var(--color-text-muted);background:0 0;border:none;font-size:1.75rem;line-height:1}.order-detail-summary{border-bottom:1px solid var(--color-border);align-items:flex-start;padding-bottom:1rem}.order-detail-summary>div,.order-detail-item>div{flex-direction:column;gap:.2rem;display:flex}.order-detail-summary span,.order-detail-item span{color:var(--color-text-muted);font-size:.875rem}.table-id-secondary{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.78em;font-weight:400}.order-detail-payment{border-bottom:1px solid var(--color-border);padding:1rem 0}.order-items-list{flex-direction:column;gap:.25rem;padding-top:.75rem;display:flex}.order-detail-item{border-bottom:1px solid var(--color-border);padding:.7rem 0}.order-detail-options{color:var(--color-text-muted);margin:.2rem 0 0 .75rem;padding:0;font-size:.8rem;list-style:none}.qty-controls{align-items:center;gap:.4rem;display:inline-flex}.qty-btn{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:6px;min-width:1.6rem;line-height:1.3}.qty-btn:disabled{opacity:.35;cursor:default}.qty-remove{color:var(--color-error)}.order-add-item{align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.order-add-item select{flex:1}@media (width<=520px){.order-detail-modal{padding:1rem}.order-detail-summary,.order-detail-payment{flex-direction:column;align-items:flex-start}}.booking-message{color:#065f46;border-radius:var(--radius);background:#d1fae5;margin-top:1rem;padding:1rem;font-weight:500}.booking-message.error{color:#991b1b;background:#fee2e2}.booking-message.checking{color:#3730a3;background:#e0e7ff}.order-confirmed{min-height:60vh;color:var(--color-success);justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.btn-sm{border-radius:var(--radius);padding:.4rem .75rem;font-size:.85rem}.owner-sidebar-footer .btn-sm,.admin-sidebar-footer .btn-sm,.staff-sidebar-footer .btn-sm,.staff-content .btn-sm{color:#fff;background:#ffffff26;border:1px solid #ffffff4d}.btn-sm:hover{opacity:.85}.chart-section{margin:2rem 0}.chart-section h2{margin-bottom:1rem}.revenue-chart{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);max-width:600px;box-shadow:var(--shadow);padding:1.5rem}.admin-entity-editor,.admin-dashboard,.admin-pricing,.css-templates-page,.menu-editor,.areas-page,.tables-page,.bookings-page{padding:1.5rem}.booking-management{max-width:1280px}.booking-management-header,.booking-management-list-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.booking-management-subtitle{color:var(--color-text-muted);margin-top:.35rem}.booking-management-form,.booking-management-list{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);box-shadow:var(--shadow);margin-top:1.5rem;padding:1.25rem}.booking-management-form h2,.booking-management-list h2{margin:0}.booking-management-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.booking-management-grid label{flex-direction:column;gap:.3rem;font-size:.875rem;font-weight:600;display:flex}.booking-management-grid input,.booking-management-grid select,.booking-management-grid textarea,.booking-management-list-header select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;color:var(--color-text);font:inherit;padding:.55rem .65rem;font-weight:400}.booking-management-grid textarea{resize:vertical}.booking-management-grid small{color:var(--color-text-muted);font-weight:400}.booking-management-wide{grid-column:span 2}.booking-management-actions{gap:.6rem;margin-top:1rem;display:flex}.booking-management-list-header{align-items:center}.booking-management-list-header select{width:auto;min-width:9rem}.booking-table-wrap{overflow-x:auto}.booking-management-table{min-width:880px}.booking-management-table td small{color:var(--color-text-muted);font-size:.8rem;display:block}.booking-row-actions{white-space:nowrap}.booking-row-actions button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;margin:.15rem;padding:.35rem .55rem;font-size:.8rem}.booking-row-actions .booking-danger{color:var(--color-error)}.reservation-status{text-transform:uppercase;border-radius:999px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.reservation-status-confirmed{color:#065f46;background:#d1fae5}.reservation-status-cancelled,.reservation-status-no_show{color:#991b1b;background:#fee2e2}.reservation-status-completed{color:#3730a3;background:#e0e7ff}@media (width<=800px){.booking-management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.booking-management-header,.booking-management-list-header{flex-direction:column;align-items:stretch}.booking-management-grid{grid-template-columns:1fr}.booking-management-wide{grid-column:span 1}.booking-management-form,.booking-management-list{padding:1rem}}.billing-page,.owner-dashboard{padding:1.5rem}.orders-table{width:100%;overflow-x:auto}.orders-list-header,.orders-table .order-card{grid-template-columns:minmax(6rem,1fr) minmax(9rem,1.35fr) minmax(6rem,.8fr) minmax(7rem,.9fr) minmax(10rem,1.35fr) minmax(8rem,auto);align-items:center;column-gap:1rem;min-width:50rem;display:grid}.orders-list-header{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;padding:0 1rem .5rem;font-size:.75rem;font-weight:700}.orders-table .orders-list{min-width:50rem}.orders-table .order-card{justify-content:initial}.promotions-page{max-width:1100px;padding:1.5rem}.promotions-page>h1{margin-bottom:.35rem}.promotions-page>p{color:var(--color-text-muted)}.promotions-page .card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface,#fff);box-shadow:var(--shadow);margin-top:1.5rem;padding:1.25rem}.promotions-page .card h2{margin-top:0}.promotions-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:1rem;display:grid}.promotions-page .form-grid label{color:var(--color-text-secondary);flex-direction:column;gap:.4rem;font-weight:600;display:flex}.promotions-page .form-grid input,.promotions-page .form-grid select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg,#fff);width:100%;min-height:2.5rem;color:var(--color-text);padding:.5rem .65rem}.promotions-page .form-grid>button{justify-self:start}.promotions-page .table-responsive{overflow-x:auto}.promotions-page table{border-collapse:collapse;width:100%;min-width:42rem}.promotions-page th,.promotions-page td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:.75rem .6rem}.promotions-page th{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem}@media (width<=700px){.promotions-page .form-grid{grid-template-columns:1fr}}.reseller-venues{padding:1.5rem}.reseller-venue-list{flex-direction:column;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.reseller-venue-list li{border:1px solid var(--color-border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.reseller-venue-info{flex-direction:column;gap:.25rem;display:flex}.reseller-venue-name{font-weight:600}.reseller-venue-meta{color:var(--color-text-muted);font-size:.8rem}.area-booking-page{padding:1.5rem}.owner-setup-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.owner-setup-card{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow);background:var(--color-surface,#fff);padding:2rem}.owner-setup-card h1{margin-bottom:1.25rem}.setup-steps{gap:.5rem;margin-bottom:1.5rem;display:flex}.setup-step{text-align:center;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);flex:1;padding:.4rem .25rem;font-size:.8rem}.setup-step.active{border-color:var(--color-primary,#2563eb);color:var(--color-primary,#2563eb);font-weight:600}.setup-step.done{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.setup-form{flex-direction:column;gap:1rem;display:flex}.setup-form p{color:var(--color-text-muted);font-size:.9rem}.setup-row{gap:.75rem;display:flex}.setup-row .form-group{flex:1}.setup-form .form-group select,.setup-form .form-group input{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;padding:.625rem .75rem;font-size:.95rem}.setup-inline{flex-wrap:wrap;gap:.5rem;display:flex}.setup-inline input{border:1px solid var(--color-border);border-radius:var(--radius);flex:1;min-width:140px;padding:.625rem .75rem;font-size:.95rem}.setup-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.setup-list li{border:1px solid var(--color-border);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.setup-list li .remove{color:var(--color-error,#b91c1c);cursor:pointer;background:0 0;border:none;margin-left:auto}.setup-area-block{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.setup-area-block h3{margin:0;font-size:.95rem}.setup-nav{justify-content:space-between;gap:.75rem;margin-top:.5rem;display:flex}.no-venues-actions{align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.owner-venue-name{color:var(--color-text-muted);margin:0;padding:0 .75rem .5rem;font-size:.85rem}.owner-venue-selector{box-sizing:border-box;color:#fff;width:100%;font:inherit;background:#ffffff1a;border:1px solid #ffffff59;border-radius:6px;margin:0 0 .5rem;padding:.45rem .5rem}.owner-venue-selector:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.owner-venue-selector option{background:var(--color-bg);color:var(--color-text)}.floor-plan-editor{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius);-webkit-user-select:none;user-select:none;height:420px;margin-top:1rem;position:relative;overflow:auto}.floor-plan-editor .floor-plan-table{border:2px solid var(--color-primary);background:var(--color-bg);min-width:56px;height:56px;box-shadow:var(--shadow);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;transform:translate(-50%,-50%)}.floor-plan-delete{background:var(--color-error);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;line-height:1;display:flex;position:absolute;top:-8px;right:-8px}.table-label{font-size:.8rem}.table-capacity{color:var(--color-text-muted);font-size:.7rem}.owner-nav-group{flex-direction:column;margin-top:.25rem;display:flex}.owner-nav-group-title{color:#ffffffb3;border-radius:6px;padding:.5rem .75rem}.owner-nav-group-links{border-left:2px solid #ffffff26;flex-direction:column;gap:.25rem;margin-left:.75rem;padding-left:.75rem;display:flex}.form-error{color:#991b1b;border-radius:var(--radius);background:#fee2e2;margin-bottom:1rem;padding:.75rem 1rem}.form-success{color:#065f46;border-radius:var(--radius);background:#d1fae5;margin-bottom:1rem;padding:.75rem 1rem}.btn-danger{background:var(--color-error);border-color:var(--color-error)}.opening-hours-page,.venue-settings-page{max-width:720px}.venue-settings-page .settings-subtitle{color:var(--color-text-muted);margin-bottom:1rem;font-size:.9rem}.venue-settings-page .settings-section-title{border-bottom:1px solid #00000014;margin:1.25rem 0 .5rem;padding-bottom:.35rem;font-size:1rem}.venue-settings-page .form-group label{color:var(--color-text-muted);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.venue-settings-page .form-group input,.venue-settings-page .form-group select,.venue-settings-page .form-group textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:.625rem .75rem;font-size:.95rem}.venue-settings-page .form-group textarea{resize:vertical}.venue-settings-page .form-group small{color:var(--color-text-muted);font-size:.8rem}.venue-map-page,.site-settings-page{max-width:720px}.settings-section-collapsible{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.settings-section-header{background:var(--color-surface);cursor:pointer;width:100%;color:var(--color-text);text-align:left;border:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;display:flex}.settings-section-header span{flex:1}.settings-section-header.expanded{border-bottom:1px solid var(--color-border)}.settings-section-content{padding:1rem}.hours-list{flex-direction:column;gap:.5rem;margin:1rem 0;display:flex}.hours-row{border-radius:var(--radius);background:#00000008;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.hours-day{width:8rem;font-weight:600}.hours-row input[type=time]{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);border:1px solid #0003;padding:.4rem .5rem}.hours-row input[type=time]:disabled{opacity:.5}.hours-to{color:var(--color-text-muted)}.hours-closed{align-items:center;gap:.4rem;margin-left:auto;font-size:.9rem;display:flex}.hours-options{flex-wrap:wrap;gap:1.5rem;margin:1rem 0;display:flex}.hours-options label{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.hours-options select{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);border:1px solid #0003;padding:.4rem .5rem}.staff-page{max-width:960px}.add-staff-form{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.add-staff-form input,.add-staff-form select{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);border:1px solid #0003;padding:.625rem .75rem}.add-staff-form button{border-radius:var(--radius);background:var(--color-accent);color:#fff;cursor:pointer;border:none;padding:.5rem 1rem}.staff-table{border-collapse:collapse;background:var(--color-bg);width:100%}.staff-table th,.staff-table td{text-align:left;border-bottom:1px solid #00000014;padding:.6rem .75rem;font-size:.9rem}.staff-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.75rem}.perm-cell{text-align:center;font-size:.85rem}.perm-yes{color:var(--color-success)}.perm-no{color:var(--color-text-muted)}.staff-inactive td{opacity:.5}.floor-plan-qr{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;line-height:1;display:flex;position:absolute;top:-8px;left:-8px}.qr-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.qr-controls select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);padding:.4rem .5rem}.qr-controls label{color:var(--color-text-muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.qr-modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.qr-modal-card{background:var(--color-bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:360px;padding:1.5rem}.qr-modal-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.qr-modal-header h3{margin:0}.qr-modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:1.5rem;line-height:1}.qr-modal-venue{color:var(--color-text-muted);margin:.25rem 0 1rem;font-size:.9rem}.qr-image{border:1px solid var(--color-border);border-radius:var(--radius);width:220px;height:220px}.qr-url{color:var(--color-text-muted);word-break:break-all;margin:.75rem 0 1rem;font-size:.75rem}.qr-modal-error{color:var(--color-error)}.qr-modal-loading{color:var(--color-text-muted)}.admin-settings .settings-form{flex-direction:column;gap:1rem;max-width:480px;display:flex}.admin-settings .settings-form label{color:var(--color-text-muted);flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.admin-settings .settings-form input{border:1px solid var(--color-border);border-radius:var(--radius);padding:.625rem;font-size:.95rem}.admin-settings .settings-form small{color:var(--color-text-muted);font-size:.8rem}.domain-page{max-width:720px}.domain-page .domain-field{margin:1rem 0}.domain-page label{flex-direction:column;gap:.4rem;font-size:.9rem;display:flex}.domain-page label small{color:var(--color-text-muted);font-size:.8rem}.domain-page input[type=text]{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);border:1px solid #0003;max-width:22rem;padding:.625rem .75rem}.domain-page .domain-checkbox{flex-direction:row;align-items:center}.domain-page code{background:#0000000f;border-radius:4px;padding:.1rem .35rem}.domain-page .domain-reserved{color:var(--color-text-muted);margin-top:.35rem}.domain-page .domain-active{border-radius:var(--radius);background:#0000000a;margin:1rem 0;padding:.75rem;font-size:.9rem}.domain-page .domain-active a{font-weight:600}.reseller-venue-actions{gap:.5rem;display:flex}.venue-domain{font-weight:600}.venue-domain-sub,.venue-domain-none{color:var(--color-text-muted)}.branding-editor{max-width:760px}.branding-section{border:1px solid var(--color-border);border-radius:var(--radius);margin:1.25rem 0;padding:1rem}.branding-section h2{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 .75rem;font-size:1rem}.branding-image-row{flex-direction:column;gap:.5rem;margin:.75rem 0;display:flex}.branding-preview{object-fit:cover;border-radius:var(--radius);border:1px solid var(--color-border);width:100%;max-width:320px;max-height:160px}.branding-image-inputs{align-items:center;gap:.5rem;display:flex}.branding-image-inputs input[type=text]{flex:1}.branding-colours{flex-wrap:wrap;gap:1.5rem;display:flex}.branding-colours label{flex-direction:column;gap:.35rem;font-size:.875rem;display:flex}.branding-colours input[type=color]{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;width:64px;height:40px;padding:2px}.branding-font-row{flex-direction:column;gap:.35rem;margin:.75rem 0;display:flex}.branding-font-label{font-size:.875rem;font-weight:600}.branding-editor textarea{width:100%;font-family:monospace;font-size:.85rem}.home-content-editor{max-width:760px}.home-content-section{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:.75rem;margin:1.25rem 0;padding:1rem;display:flex}.home-content-section h2{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0;font-size:1rem}.home-content-section-head{justify-content:space-between;align-items:center;display:flex}.home-content-section label{flex-direction:column;gap:.35rem;font-size:.875rem;display:flex}.home-content-section input,.home-content-section textarea{width:100%}.home-content-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.home-content-full{grid-column:1/-1}.home-content-hint{color:var(--color-text-muted);margin:0;font-size:.85rem}.home-content-highlight{align-items:center;gap:.5rem;display:flex}.home-content-highlight input{flex:1}.landing-logo{border-radius:var(--radius);max-height:64px}.landing-hero{background-position:50%;background-size:cover;height:260px}.login-brand{text-align:center;margin-bottom:1rem}.login-logo{border-radius:var(--radius);max-height:56px}.venue-highlights{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;max-width:960px;margin:2rem auto;padding:0 1.5rem;display:grid}.venue-highlight{background:var(--color-surface,#fff);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.venue-highlight h3{margin:0 0 .5rem}.venue-highlight p{margin:0}.venue-about{max-width:960px;margin:0 auto 2rem;padding:0 1.5rem}.venue-about h2{margin:0 0 .5rem}.venue-about p{margin:0}.events-page{padding:1.5rem}.events-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.events-header h1{margin:0;font-size:1.5rem}.events-empty{text-align:center;color:var(--color-text-secondary,#666);padding:3rem}.events-empty svg{opacity:.4;margin-bottom:.5rem;font-size:2rem}.events-list{flex-direction:column;gap:.75rem;display:flex}.events-list-item{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius,8px);background:#fff;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.events-list-item-image{border-radius:var(--radius,8px);flex-shrink:0;width:64px;height:64px;overflow:hidden}.events-list-item-image img{object-fit:cover;width:100%;height:100%}.events-list-item-info{flex:1;min-width:0}.events-list-item-info h3{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;overflow:hidden}.events-list-item-date{color:var(--color-text-secondary,#666);margin:.125rem 0 0;font-size:.85rem}.events-list-item-artist{color:var(--color-text-secondary,#888);margin:.125rem 0 0;font-size:.8rem}.events-list-item-status{flex-shrink:0}.events-list-item-actions{flex-shrink:0;gap:.375rem;display:flex}.badge{border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.badge-draft{color:#92400e;background:#fef3c7}.badge-published{color:#065f46;background:#d1fae5}.badge-cancelled{color:#991b1b;background:#fee2e2}.btn-cancel{background:var(--color-border,#e2e8f0);color:var(--color-text,#1a202c)}.btn-danger{color:#991b1b;background:#fee2e2}.btn-danger:hover{background:#fecaca}.event-form{padding:1.5rem}.event-form h2{margin:0 0 1rem}.event-form-tickets{margin-top:1.5rem}.event-form-tickets h3{margin:0 0 .75rem;font-size:1rem}.event-form-ticket{border-bottom:1px solid var(--color-border,#e2e8f0);align-items:center;gap:.5rem;padding:.5rem 0;font-size:.9rem;display:flex}.event-form-add-ticket{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.event-form-add-ticket input{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius,8px);padding:.375rem .5rem;font-size:.85rem}.event-form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.event-back-link{color:var(--color-primary,#6366f1);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;text-decoration:none;display:inline-flex}.event-back-link:hover{text-decoration:underline}.event-detail{flex-wrap:wrap;gap:2rem;margin-bottom:2rem;display:flex}.event-detail-image{border-radius:var(--radius,8px);flex:0 0 400px;max-width:100%;overflow:hidden}.event-detail-image img{width:100%;height:auto;display:block}.event-detail-info{flex:1;min-width:280px}.event-detail-info h1{margin:0 0 .5rem}.event-detail-artist{color:var(--color-text-secondary,#666);margin:0 0 1rem}.event-artist-link{color:var(--color-primary,#6366f1)}.event-detail-meta{gap:1.5rem;margin-bottom:1rem;display:flex}.event-detail-meta-item{color:var(--color-text-secondary,#666);align-items:center;gap:.5rem;display:flex}.event-detail-description{line-height:1.6}.venue-events{margin:2rem 0}.venue-events h2{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.events-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.event-card{color:inherit;border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius,8px);text-decoration:none;transition:box-shadow .2s;display:block;overflow:hidden}.event-card:hover{box-shadow:0 4px 12px #0000001a}.event-card-image{height:180px;position:relative;overflow:hidden}.event-card-image img{object-fit:cover;width:100%;height:100%}.event-card-artist{color:#fff;background:#000000b3;border-radius:4px;padding:.2rem .5rem;font-size:.8rem;position:absolute;bottom:.5rem;left:.5rem}.event-card-body{padding:.75rem 1rem}.event-card-title{margin:0 0 .375rem;font-size:1rem}.event-card-meta{color:var(--color-text-secondary,#666);gap:1rem;font-size:.85rem;display:flex}.event-card-meta span{align-items:center;gap:.25rem;display:flex}.event-card-price{color:var(--color-primary,#6366f1);margin-top:.5rem;font-weight:600}.event-ticket-picker{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius,8px);max-width:600px;padding:1.5rem}.event-ticket-picker h3{margin:0 0 .75rem}.event-ticket-limit{color:var(--color-text-secondary,#666);margin:0 0 .75rem;font-size:.85rem}.event-ticket-row{border-bottom:1px solid var(--color-border,#e2e8f0);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.event-ticket-info{flex-direction:column;gap:.125rem;display:flex}.event-ticket-name{font-weight:600}.event-ticket-price{color:var(--color-text-secondary,#666);font-size:.9rem}.event-ticket-remaining{color:var(--color-text-secondary,#888);font-size:.8rem}.event-ticket-remaining.sold-out{color:#991b1b;font-weight:600}.event-ticket-qty{align-items:center;gap:.5rem;display:flex}.event-ticket-qty-value{text-align:center;min-width:2rem;font-weight:600}.event-ticket-summary{justify-content:space-between;align-items:center;margin-top:1rem;display:flex}.event-ticket-total{font-size:1.1rem;font-weight:700}.modules-list{flex-direction:column;gap:1rem;display:flex}.modules-empty{color:var(--color-text-secondary,#666)}.module-toggle{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius,8px);justify-content:space-between;align-items:center;padding:1rem;display:flex}.module-toggle-info{flex:1}.module-toggle-name{margin:0 0 .25rem;font-size:1rem}.module-toggle-desc{color:var(--color-text-secondary,#666);margin:0 0 .375rem;font-size:.85rem}.module-toggle-pricing{align-items:baseline;gap:.75rem;font-size:.9rem;display:flex}.module-toggle-price{font-weight:600}.module-toggle-custom{color:var(--color-text-secondary,#888);font-size:.8rem}.module-toggle-action{flex-shrink:0;margin-left:1rem}.module-toggle-popup-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.module-toggle-popup{border-radius:var(--radius,8px);background:#fff;width:90%;max-width:420px;padding:1.5rem;box-shadow:0 8px 32px #0003}.module-toggle-popup h3{margin:0 0 .5rem}.module-toggle-popup-module{margin:0 0 1rem;font-weight:600}.module-toggle-popup-pricing{margin-bottom:1rem}.module-toggle-popup-row{justify-content:space-between;padding:.375rem 0;font-size:.9rem;display:flex}.module-toggle-popup-total{border-top:1px solid var(--color-border,#e2e8f0);padding-top:.5rem;font-weight:700}.module-toggle-popup-note{color:var(--color-text-secondary,#666);margin:0 0 1rem;font-size:.8rem}.module-toggle-popup-actions{justify-content:flex-end;gap:.5rem;display:flex}.event-purchase-form{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius,8px);max-width:600px;margin:1.5rem 0;padding:1.5rem}.event-purchase-form h3{margin:0 0 1rem}.event-purchase-form .form-group{margin-bottom:1rem}.event-purchase-form .form-group label{margin-bottom:.25rem;font-weight:500;display:block}.event-purchase-form .form-group input{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius,4px);width:100%;padding:.625rem}.event-purchase-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.event-purchase-error{border-radius:var(--radius,4px);color:#991b1b;background:#fef2f2;border:1px solid #fecaca;margin-bottom:1rem;padding:.75rem}.event-purchase-success{text-align:center;border-radius:var(--radius,8px);background:#f0fdf4;border:1px solid #bbf7d0;margin:1rem 0;padding:2rem}.event-purchase-success svg{color:#16a34a;margin-bottom:.5rem;font-size:2rem}.event-purchase-success p{margin:.5rem 0 1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:16px 0;display:grid}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:6px;padding:16px;display:flex}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-size:13px}.stat-value{font-size:22px;font-weight:700}.reseller-current-month{color:#64748b}.data-table{border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;margin:12px 0;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #eef2f6;padding:10px 12px;font-size:14px}.data-table th{color:#475569;text-transform:uppercase;letter-spacing:.4px;background:#f8fafc;font-size:12px;font-weight:600}.data-table tr:last-child td{border-bottom:none}.status-badge{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.status-badge.pending,.status-badge.created,.status-pending{color:#92400e;background:#fef3c7}.status-badge.paid,.status-badge.captured,.status-paid{color:#166534;background:#dcfce7}.status-badge.blocked,.status-badge.failed,.status-blocked{color:#991b1b;background:#fee2e2}.status-badge.completed,.status-badge.authorized,.status-badge.outstanding{color:#1e40af;background:#dbeafe}.status-badge.refunded{color:#334155;background:#e2e8f0}.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:8px 0;padding:8px 12px}.success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;margin:8px 0;padding:8px 12px}.empty{color:#64748b;font-style:italic}.muted{color:#64748b;font-size:13px}.form-stack{flex-direction:column;gap:14px;max-width:560px;margin:16px 0;display:flex}.form-stack.narrow{max-width:360px}.form-stack label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.form-stack input,.form-stack select,.form-stack textarea{border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px;font-size:14px}.form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.btn-row{gap:8px;display:flex}.actions-cell{white-space:nowrap}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin:12px 0;display:flex}.toolbar label{align-items:center;gap:8px;font-size:14px;display:flex}.report-total{font-size:14px}.payout-sale{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:12px 16px;display:flex}.payout-sale.eligible{background:#f8fdf9;border-color:#bbf7d0}.payout-sale-main{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.payout-commission{font-weight:700}.payout-sale-meta{color:#64748b;font-size:13px}.detail-panel{margin-top:20px}.provider-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:12px 0;padding:10px 14px}.billing-section{margin:24px 0}.cart-payment-method{gap:16px;margin:10px 0;font-size:14px;display:flex}.cart-payment-method label{align-items:center;gap:6px;display:flex}.cart-place-order:disabled{opacity:.6;cursor:not-allowed}.btn-print{cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:6px 12px}.reseller-add-venue h2{margin-top:8px}.consumer-page{flex:1;width:min(1180px,100%);margin:0 auto;padding:2rem 1rem 4rem}.consumer-page-header{padding:1rem 0 2rem}.consumer-page-header h1{margin:.25rem 0 1.25rem;font-size:clamp(2rem,6vw,3.5rem)}.consumer-eyebrow{color:var(--color-accent);margin:0;font-weight:700}.consumer-location{border:1px solid var(--color-border);width:fit-content;max-width:100%;color:var(--color-text-secondary);background:var(--color-surface,#fff);border-radius:999px;align-items:center;gap:.7rem;padding:.7rem .9rem;display:flex}.consumer-location-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.consumer-location-form label{font-weight:600}.consumer-location-form input{border:1px solid var(--color-border);border-radius:var(--radius);min-width:12rem;padding:.45rem .6rem}.consumer-location-change{color:var(--color-primary);cursor:pointer;background:0 0;border:0;font-weight:600}.consumer-section{margin-top:2.25rem}.consumer-section h2{color:var(--color-primary);margin:0 0 1rem}.consumer-section-heading{justify-content:space-between;align-items:center;display:flex}.consumer-venue-grid,.consumer-event-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.consumer-venue-card,.event-card,.consumer-event-card,.consumer-promotion{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface,#fff);box-shadow:var(--shadow);position:relative;overflow:hidden}.consumer-venue-card-link,.consumer-event-card>a,.consumer-promotion{color:inherit;text-decoration:none}.consumer-venue-card-link:hover,.consumer-event-card>a:hover,.consumer-promotion:hover{text-decoration:none}.consumer-venue-card-image,.consumer-event-card img{object-fit:cover;background:var(--color-primary);width:100%;height:170px;display:block}.consumer-venue-card-body,.consumer-event-card-body{padding:.9rem}.consumer-venue-card-body h3,.consumer-event-card-body h3{margin:0 0 .35rem}.consumer-venue-card-body p,.consumer-event-card-body p,.consumer-event-card-body time{color:var(--color-text-secondary);margin:0;font-size:.9rem}.consumer-venue-card-body small{color:var(--color-text-muted);text-transform:capitalize;margin-top:.5rem;display:inline-block}.consumer-venue-card-heart,.consumer-event-card>.heart-button,.event-card-heart,.event-card-heart{position:absolute;top:.65rem;right:.65rem}.heart-button{color:#fff;cursor:pointer;background:#00000080;border:0;border-radius:50%;width:2.25rem;height:2.25rem}.heart-button.active{color:#f43f5e;background:#fff}.consumer-promotion-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.consumer-promotion{align-items:center;gap:.75rem;padding:.75rem;display:flex}.consumer-promotion img{border-radius:var(--radius);object-fit:cover;width:4rem;height:4rem}.consumer-promotion div{gap:.25rem;display:grid}.consumer-promotion span{color:var(--color-text-secondary);font-size:.9rem}.consumer-promoted-badge{width:fit-content;color:var(--color-primary);background:color-mix(in srgb, var(--color-accent) 20%, white);text-transform:uppercase;border-radius:999px;padding:.15rem .4rem;font-size:.7rem;font-weight:700}.consumer-empty{color:var(--color-text-muted);text-align:center;padding:2rem 1rem}.consumer-steps{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.consumer-step{border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;padding:1.5rem 1rem;position:relative}.consumer-step>svg{color:var(--color-accent);margin:1rem 0;font-size:2rem}.consumer-step h2{font-size:1.1rem}.consumer-step p{color:var(--color-text-secondary)}.consumer-step-number{color:var(--color-text-muted);font-weight:700;position:absolute;top:.5rem;right:.75rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=700px){.consumer-page{padding:1.25rem 1rem 3rem}.consumer-steps{grid-template-columns:1fr 1fr}}@media (width<=450px){.consumer-steps{grid-template-columns:1fr}.consumer-location{border-radius:var(--radius);width:100%}}
