:root{--color-bg:#0f1115;--color-surface:#171a21;--color-surface-2:#1f232c;--color-border:#2b303a;--color-text:#eef0f3;--color-text-muted:#a3aab5;--color-accent:#e8823a;--color-accent-hover:#f2954f;--color-success:#3fb672;--color-warning:#e0b23e;--color-danger:#e2584a;--radius:10px;--max-width:1120px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);margin:0;line-height:1.5}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:700;line-height:1.25}p{color:var(--color-text-muted);margin:0 0 1rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;background:#0f1115e6;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{letter-spacing:.02em;color:var(--color-text);font-size:1.15rem;font-weight:800}.brand span{color:var(--color-accent)}.nav-links{align-items:center;gap:1.5rem;display:flex}.nav-links a,.nav-links button.link-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;font-weight:600}.nav-links a.active,.nav-links a:hover,.nav-links button.link-btn:hover{color:var(--color-text);text-decoration:none}.nav-toggle{display:none}@media (width<=720px){.nav-links{background:var(--color-bg);flex-direction:column;align-items:flex-start;gap:1.25rem;padding:1.5rem;transition:transform .2s;position:fixed;inset:64px 0 0;transform:translate(100%)}.nav-links.open{transform:translate(0)}.nav-toggle{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .6rem;display:block}}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1.1rem;font-size:.95rem;font-weight:700;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn-primary{background:var(--color-accent);color:#1a1206}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent)}.btn-danger{color:var(--color-danger);border-color:var(--color-danger);background:0 0}.btn-danger:hover:not(:disabled){background:#e2584a1a}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-sm{padding:.4rem .75rem;font-size:.85rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.card+.card{margin-top:1rem}.grid{gap:1.25rem;display:grid}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start}.grid-cards .card+.card{margin-top:0}.review-card{aspect-ratio:1;flex-direction:column;gap:.4rem;min-width:0;min-height:0;display:flex;overflow:hidden}.review-card .review-card-img{object-fit:cover;border-radius:8px;flex:none;width:100%;height:6rem;margin:0}.review-card .description{-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:none;margin:0;display:-webkit-box;overflow:hidden}.review-card h3{white-space:nowrap;text-overflow:ellipsis;flex:none;margin:0;font-size:1.05rem;line-height:1.3;overflow:hidden}.review-card .meta{color:var(--color-text-muted);flex:none;font-size:.85rem}.review-card .seats-row{flex:none;justify-content:space-between;align-items:center;margin-top:auto;font-size:.9rem;display:flex}.review-card .btn{flex:none}.admin-review-thumb{object-fit:cover;border:1px solid var(--color-border);border-radius:6px;flex:none;width:44px;height:44px}.admin-review-thumb-placeholder{border:1px dashed var(--color-border);border-radius:6px;flex:none;width:44px;height:44px}.candidate-list{max-height:330px;overflow-y:auto}.badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge-reserved{color:var(--color-warning);background:#e0b23e26;border-color:#e0b23e66}.badge-confirmed{color:var(--color-success);background:#3fb67226;border-color:#3fb67266}.badge-soldout{color:var(--color-danger);background:#e2584a26;border-color:#e2584a66}.badge-pending{color:var(--color-text-muted);border-color:var(--color-border);background:#a3aab526}.badge-flagged{color:var(--color-danger);background:#e2584a26;border-color:#e2584a66}.form{flex-direction:column;gap:1rem;max-width:420px;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field label{font-size:.9rem;font-weight:600}.field input,.field select,.field textarea{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;padding:.65rem .75rem;font-family:inherit;font-size:.95rem}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.field-hint{color:var(--color-text-muted);font-size:.8rem}.field-error{color:var(--color-danger);font-size:.82rem}.alert{border:1px solid #0000;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.alert-error{color:#f4a89e;background:#e2584a1f;border-color:#e2584a59}.alert-success{color:#9fe2bb;background:#3fb6721f;border-color:#3fb67259}.alert-info{color:#f2b483;background:#e8823a1a;border-color:#e8823a4d}.page{padding:2.5rem 0 4rem}.page-header{margin-bottom:1.75rem}.auth-page{justify-content:center;padding:3rem 1.25rem;display:flex}.auth-card{width:100%;max-width:440px}.text-center{text-align:center}.muted{color:var(--color-text-muted)}.stack{flex-direction:column;gap:.75rem;display:flex}.row{align-items:center;gap:.75rem;display:flex}.row-between{justify-content:space-between;align-items:center;gap:.75rem;display:flex}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.table-wrap{overflow-x:auto}.admin-layout{grid-template-columns:220px 1fr;align-items:start;gap:2rem;display:grid}.admin-sidebar{flex-direction:column;gap:.25rem;display:flex;position:sticky;top:84px}.admin-sidebar a{color:var(--color-text-muted);border-radius:8px;padding:.55rem .75rem;font-weight:600}.admin-sidebar a.active,.admin-sidebar a:hover{background:var(--color-surface-2);color:var(--color-text);text-decoration:none}@media (width<=860px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{flex-direction:row;position:static;overflow-x:auto}}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.photo-thumb{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-border);border-radius:8px;width:100%}.footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:3rem;padding:2rem 0;font-size:.85rem}.code-input{letter-spacing:.5em;text-align:center;font-size:1.4rem;font-weight:700}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-surface-2) 37%, var(--color-surface) 63%);background-size:400% 100%;border-radius:8px;height:1rem;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}
