:root{--brand:#08daf4;--brand-dim:rgba(8,218,244,.12);--brand-glow:rgba(8,218,244,.28);--brand-deep:#07b8cf;--ink:#0d1117;--ink-soft:#374151;--bg:#f4f6f8;--surface:#fff;--border:#e2e8f0;--border-soft:#f1f5f9;--muted-text:#6b7280;--success:#059669;--danger:#dc2626;--warning:#d97706;--accent:#08daf4;--color-user:#08daf4;--color-venue:#e7a8ff;--color-admin:#8b5cf6;--venue-brand:#e7a8ff;--venue-brand-dim:rgba(231,168,255,.12);--venue-brand-glow:rgba(231,168,255,.32)}[data-theme=dark]{--bg:#080c12;--surface:#0f1621;--border:#1e2d3d;--border-soft:#162130;--ink-soft:#94a3b8;--muted-text:#64748b;--brand:#08daf4;--brand-dim:rgba(8,218,244,.14);--brand-glow:rgba(8,218,244,.35);--brand-deep:#07b8cf;--accent:#08daf4;--ink:#e2e8f0;--success:#10b981;--danger:#f87171;--warning:#fbbf24;--color-user:#08daf4;--color-venue:#e7a8ff;--color-admin:#a78bfa;--venue-brand:#e7a8ff;--venue-brand-dim:rgba(231,168,255,.13);--venue-brand-glow:rgba(231,168,255,.38)}[data-theme=dark] ::-webkit-scrollbar{width:6px;background:var(--bg)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--brand-glow)}50%{box-shadow:0 0 0 6px transparent}}body,html{padding:0;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}a{color:inherit;text-decoration:none}*{box-sizing:border-box}.container{max-width:980px;margin:0 auto;padding:24px 16px 16px}.site-footer{max-width:980px;margin:40px auto 0;padding:18px 16px 28px;border-top:1px solid var(--border-soft);text-align:center;font-size:12px;color:var(--muted-text);letter-spacing:.02em;opacity:.7}[data-theme=dark] .site-footer{border-top-color:var(--border)}.card{border:1px solid var(--border);border-radius:16px;padding:18px;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);transition:background .2s,border-color .2s}[data-theme=dark] .card{box-shadow:0 0 0 1px var(--border),0 4px 24px rgba(0,0,0,.4)}.row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:10px;border:1.5px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.01em;transition:opacity .15s,transform .1s,background .2s,border-color .2s,color .2s;white-space:nowrap}.btn:hover{opacity:.88}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}[data-theme=dark] .btn{background:var(--brand);border-color:var(--brand);color:#080c12;box-shadow:0 0 16px var(--brand-glow)}[data-theme=dark] .btn:hover{opacity:1;filter:brightness(1.1)}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--border)}.btn.secondary:hover{background:var(--bg)}[data-theme=dark] .btn.secondary{background:transparent;color:var(--ink);border-color:var(--border);box-shadow:none}[data-theme=dark] .btn.secondary:hover{background:var(--border)}.btn.accent{background:var(--brand);border-color:var(--brand);color:var(--ink)}.btn.accent:hover{opacity:.88}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}[data-theme=dark] .btn.danger{box-shadow:0 0 12px hsla(0,91%,71%,.3)}.btn.sm{padding:6px 12px;font-size:12px;border-radius:8px}.badge{display:inline-block;padding:4px 11px;border-radius:999px;border:1.5px solid var(--border);font-size:12px;font-weight:500;background:var(--surface);color:var(--ink-soft);white-space:nowrap}.badge.active{background:var(--brand);color:var(--ink);border-color:var(--brand);font-weight:700}[data-theme=dark] .badge.active{color:#080c12;box-shadow:0 0 10px var(--brand-glow)}.badge.success{background:#d1fae5;color:var(--success);border-color:#a7f3d0}[data-theme=dark] .badge.success{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.3);color:var(--success)}.badge.danger{background:#fee2e2;color:var(--danger);border-color:#fca5a5}[data-theme=dark] .badge.danger{background:hsla(0,91%,71%,.12);border-color:hsla(0,91%,71%,.28);color:var(--danger)}.badge.role-user{background:var(--color-user);color:var(--ink);border-color:var(--color-user);font-weight:700}.badge.role-venue{background:var(--color-venue);color:#1a003a;border-color:var(--color-venue);font-weight:700}.badge.role-admin{background:var(--color-admin);color:#fff;border-color:var(--color-admin);font-weight:700}[data-theme=dark] .badge.role-user{color:#080c12;box-shadow:0 0 8px var(--brand-glow)}[data-theme=dark] .badge.role-venue{color:#1a003a;box-shadow:0 0 8px var(--venue-brand-glow)}[data-theme=dark] .badge.role-admin{color:#080c12}.muted{color:var(--muted-text);font-size:14px;margin:4px 0}.green{color:var(--success)}.red{color:var(--danger)}.header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}h2{font-size:1.45rem;font-weight:700;margin:0 0 4px}h3{font-size:1.05rem;margin:20px 0 10px}h3,h4{font-weight:600}h4{font-size:.95rem;margin:16px 0 8px}.nav{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 22px;padding-bottom:14px;border-bottom:1.5px solid var(--border-soft)}.nav .badge,.nav a{padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500;color:var(--muted-text);background:transparent;border:none;transition:color .15s,background .15s}.nav a:hover{color:var(--ink);background:var(--bg)}.nav .badge.active,.nav a.active{color:var(--brand);background:var(--brand-dim);border:none;font-weight:700;box-shadow:none}[data-theme=dark] .nav{border-bottom-color:var(--border)}[data-theme=dark] .nav a:hover{background:hsla(0,0%,100%,.05)}[data-theme=dark] .nav .badge.active,[data-theme=dark] .nav a.active{color:var(--brand);background:rgba(8,218,244,.1);text-shadow:0 0 12px var(--brand-glow)}.nav-venue{border-bottom-color:rgba(231,168,255,.22);align-items:center;padding-bottom:12px}.venue-logo{height:76px;width:auto;object-fit:contain;display:block;flex-shrink:0}.venue-logo-link{display:flex;align-items:center;margin-right:6px;opacity:.95;transition:opacity .15s}.venue-logo-link:hover{opacity:1}.venue-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 12px;border-radius:10px;font-size:11px;font-weight:500;color:var(--muted-text);background:transparent;text-decoration:none;transition:color .15s,background .15s;line-height:1;cursor:pointer;white-space:nowrap}.venue-nav-item:hover{color:var(--ink);background:rgba(231,168,255,.08)}.venue-nav-item.active{color:var(--venue-brand);background:var(--venue-brand-dim);font-weight:700}[data-theme=dark] .venue-nav-item:hover{background:rgba(231,168,255,.08)}[data-theme=dark] .venue-nav-item.active{color:var(--venue-brand);background:rgba(231,168,255,.13);text-shadow:0 0 10px var(--venue-brand-glow)}.venue-nav-icon{width:56px;height:56px;object-fit:contain;display:block}.venue-nav-avatar{object-fit:cover;display:block}.venue-nav-avatar,.venue-nav-avatar--placeholder{width:56px;height:56px;border-radius:50%;border:2px solid var(--venue-brand);flex-shrink:0}.venue-nav-avatar--placeholder{background:rgba(231,168,255,.13);display:flex;align-items:center;justify-content:center;font-size:26px}.venue-nav-item.active .venue-nav-avatar{box-shadow:0 0 0 2px var(--venue-brand)}[data-theme=dark] .venue-nav-item.active .venue-nav-avatar{box-shadow:0 0 0 2px var(--venue-brand),0 0 10px var(--venue-brand-glow)}[data-role=venue],[data-role=venue][data-theme=dark],[data-theme=dark] [data-role=venue]{--brand:var(--venue-brand);--brand-dim:var(--venue-brand-dim);--brand-glow:var(--venue-brand-glow);--brand-deep:#c87af0;--accent:var(--venue-brand)}[data-role=venue] .btn:not(.secondary):not(.danger):not(.accent){background:var(--venue-brand);border-color:var(--venue-brand);color:#1a003a}[data-role=venue] .btn:not(.secondary):not(.danger):not(.accent):hover{opacity:1;filter:brightness(1.08)}[data-role=venue] .btn.secondary{border-color:rgba(231,168,255,.45);color:var(--venue-brand)}[data-role=venue] .btn.secondary:hover{background:var(--venue-brand-dim);border-color:var(--venue-brand)}[data-theme=dark] [data-role=venue] .btn:not(.secondary):not(.danger):not(.accent){color:#1a003a}.nav-user{border-bottom-color:rgba(8,218,244,.22);align-items:center;padding-bottom:12px}.user-logo{height:76px;width:auto;object-fit:contain;display:block;flex-shrink:0}.user-logo-link{display:flex;align-items:center;margin-right:6px;opacity:.95;transition:opacity .15s}.user-logo-link:hover{opacity:1}.user-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;border-radius:10px;font-size:10px;font-weight:500;color:var(--muted-text);background:transparent;text-decoration:none;transition:color .15s,background .15s;line-height:1;cursor:pointer;white-space:nowrap}.user-nav-item:hover{color:var(--ink);background:rgba(8,218,244,.08)}.user-nav-item.active{color:#08daf4;background:rgba(8,218,244,.12);font-weight:700}.user-nav-icon{width:44px;height:44px;object-fit:contain;display:block}.user-nav-avatar--placeholder{width:44px;height:44px;border-radius:50%;background:rgba(8,218,244,.1);border:2px solid #08daf4;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-admin{border-bottom-color:rgba(139,92,246,.22);align-items:center;padding-bottom:12px}.admin-logo{height:72px;width:auto;object-fit:contain;display:block;flex-shrink:0}.admin-logo-link{display:flex;align-items:center;margin-right:6px;opacity:.95;transition:opacity .15s}.admin-logo-link:hover{opacity:1}.admin-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;border-radius:10px;font-size:10px;font-weight:500;color:var(--muted-text);background:transparent;text-decoration:none;transition:color .15s,background .15s;line-height:1;cursor:pointer;white-space:nowrap}.admin-nav-item:hover{color:var(--ink);background:rgba(139,92,246,.08)}.admin-nav-item.active{color:#8b5cf6;background:rgba(139,92,246,.12);font-weight:700}.admin-nav-icon{width:44px;height:44px;object-fit:contain;display:block}label{display:block;font-weight:500;font-size:13px;margin:12px 0 4px;color:var(--ink-soft)}label:first-child{margin-top:0}input,select,textarea{padding:10px 13px;border-radius:10px;border:1.5px solid var(--border);width:100%;font-size:14px;background:var(--surface);color:var(--ink);transition:border-color .15s,background .2s}input::placeholder,textarea::placeholder{color:var(--muted-text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}textarea{resize:vertical}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0a1520;border-color:var(--border);color:var(--ink)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim),0 0 12px rgba(8,218,244,.1)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-track{position:absolute;inset:0;background:var(--border);border-radius:999px;cursor:pointer;transition:background .2s}.toggle-track:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}.toggle-switch input:checked+.toggle-track{background:var(--brand)}.toggle-switch input:checked+.toggle-track:after{transform:translateX(20px)}.st-PLACED{color:var(--muted-text)}.st-ACCEPTED{color:#2563eb;font-weight:500}.st-PREPARING{color:var(--warning);font-weight:500}.st-READY{font-weight:700}.st-COMPLETED,.st-PICKED_UP,.st-READY{color:var(--success)}.st-CANCELLED{color:var(--danger)}table{width:100%;border-collapse:collapse;margin-top:10px}th{text-align:left;padding:9px 13px;border-bottom:2px solid var(--border);font-size:12px;font-weight:600;color:var(--muted-text);text-transform:uppercase;letter-spacing:.04em}td{padding:10px 13px;border-bottom:1px solid var(--border-soft);font-size:14px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}[data-theme=dark] tr:hover td{background:hsla(0,0%,100%,.03)}[data-theme=dark] td,[data-theme=dark] th{border-bottom-color:var(--border)}.auth-bg{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px 52px;background:#070b0f;position:relative;overflow-x:hidden}.auth-bg:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px}.auth-inner{position:relative;z-index:1;width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center}.auth-logo{width:130px;height:auto;margin-bottom:10px;filter:drop-shadow(0 0 28px rgba(8,218,244,.4))}.auth-logo-sm{width:72px;height:auto;margin-bottom:20px;filter:drop-shadow(0 0 18px rgba(8,218,244,.3))}.auth-tagline{font-size:14px;font-weight:500;color:hsla(0,0%,100%,.4);text-align:center;margin:0 0 36px;letter-spacing:.04em;text-transform:uppercase}.auth-btn-group{width:100%;display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.auth-btn-primary{width:100%;padding:15px 24px;border-radius:14px;border:none;background:#08daf4;color:#060a0e;font-size:15px;font-weight:700;letter-spacing:.01em;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:opacity .15s,transform .1s;box-sizing:border-box}.auth-btn-primary:hover{opacity:.86;transform:translateY(-1px)}.auth-btn-primary:active{transform:translateY(0)}.auth-btn-secondary{width:100%;padding:15px 24px;border-radius:14px;border:1px solid hsla(0,0%,100%,.13);background:hsla(0,0%,100%,.04);color:hsla(0,0%,100%,.8);font-size:15px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:background .15s,border-color .15s;box-sizing:border-box}.auth-btn-secondary:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.22)}.auth-card{width:100%;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.09);border-radius:22px;padding:28px 24px 22px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-sizing:border-box}.auth-card-title{font-size:21px;font-weight:800;color:#fff;margin:0 0 4px;letter-spacing:-.3px}.auth-card-sub{font-size:13px;color:hsla(0,0%,100%,.38);margin:0 0 22px}.auth-card label{font-size:11px;font-weight:700;color:hsla(0,0%,100%,.5);text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:6px}.auth-card input,.auth-card select{width:100%;border-radius:11px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.05);color:#fff;font-size:15px;padding:12px 14px;margin-bottom:16px;outline:none;transition:border-color .15s,background .15s;box-sizing:border-box;font-family:inherit}.auth-card input:focus,.auth-card select:focus{border-color:rgba(8,218,244,.55);background:rgba(8,218,244,.04);box-shadow:0 0 0 3px rgba(8,218,244,.08)}.auth-card input::placeholder{color:hsla(0,0%,100%,.22)}.auth-card select option{background:#0f1621;color:#fff}.auth-card-footer{margin-top:6px;text-align:center;font-size:13px;color:hsla(0,0%,100%,.32)}.auth-card-footer a{color:#08daf4;text-decoration:none;font-weight:600}.auth-card-footer a:hover{opacity:.78}.auth-back{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;font-size:13px;color:hsla(0,0%,100%,.35);text-decoration:none;margin-bottom:16px;transition:color .15s}.auth-back:hover{color:hsla(0,0%,100%,.72)}.auth-copyright{margin-top:40px;width:96px;height:auto;opacity:.52}.auth-terms{display:flex;align-items:flex-start;gap:10px;margin:14px 0 4px}.auth-terms input[type=checkbox]{width:16px;height:16px;min-width:16px;margin:2px 0 0;accent-color:#08daf4;cursor:pointer;border-radius:4px;margin-bottom:0!important;padding:0!important}.auth-terms-label{font-size:12px;color:hsla(0,0%,100%,.38);line-height:1.55;cursor:pointer}.auth-terms-label a{color:#08daf4;text-decoration:none;font-weight:600}.auth-terms-label a:hover{opacity:.78}.auth-role-note{font-size:12px;color:hsla(0,0%,100%,.26);text-align:center;margin-top:14px}.auth-role-note a{color:rgba(8,218,244,.65);text-decoration:none}.auth-role-note a:hover{color:#08daf4}.legal-overlay{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.82);display:flex;align-items:flex-end;justify-content:center;padding:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .18s ease}@media (min-width:540px){.legal-overlay{align-items:center;padding:24px 20px}}.legal-sheet{background:#0e1520;border:1px solid hsla(0,0%,100%,.09);border-radius:24px 24px 0 0;width:100%;max-width:620px;max-height:88dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -12px 60px rgba(0,0,0,.6)}@media (min-width:540px){.legal-sheet{border-radius:22px;max-height:82dvh}}.legal-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 14px;border-bottom:1px solid hsla(0,0%,100%,.07);flex-shrink:0}.legal-sheet-title{font-size:17px;font-weight:800;color:#fff;margin:0}.legal-sheet-close{background:hsla(0,0%,100%,.07);border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;color:hsla(0,0%,100%,.55);font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.legal-sheet-close:hover{background:hsla(0,0%,100%,.13);color:#fff}.legal-sheet-body{overflow-y:auto;padding:22px 22px 30px;-webkit-overflow-scrolling:touch}.legal-sheet-body::-webkit-scrollbar{width:4px}.legal-sheet-body::-webkit-scrollbar-track{background:transparent}.legal-sheet-body::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.12);border-radius:4px}.legal-section{margin-bottom:22px}.legal-section h3{color:#08daf4;font-size:13px;font-weight:700;margin:0 0 6px;text-transform:uppercase;letter-spacing:.05em}.legal-section p{color:hsla(0,0%,100%,.55);font-size:13.5px;line-height:1.72;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-submit-btn{width:100%;padding:14px;border-radius:12px;border:none;background:#08daf4;color:#060a0e;font-size:15px;font-weight:700;cursor:pointer;margin-top:4px;transition:opacity .15s,transform .1s;font-family:inherit}.auth-submit-btn:hover:not(:disabled){opacity:.84;transform:translateY(-1px)}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.35;cursor:default}.auth-error{font-size:13px;color:#f87171;margin-top:10px;text-align:center}