:root{--bg: #050505;--surface: #0f0f0f;--surface-2: #181818;--line: #2c2c2c;--text: #f2f2f2;--muted: #8f8f8f;--accent: #f2f2f2;--accent-ink: #050505;--ok: #93c5fd;--warn: #d4d4d4;--bad: #f87171;--info: #93c5fd;--radius: 6px;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--display: "Anton", Impact, "Arial Narrow", sans-serif;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--halftone: radial-gradient(circle, rgb(255 255 255 / .16) 1.1px, transparent 1.5px) 0 0 / 6px 6px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#05050573,#050505cc),url(/bg.jpg) center / cover}body:after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;background-image:var(--grain);opacity:.07}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3{line-height:1.15;margin:0 0 .4em}h1{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1;font-size:clamp(2.2rem,6vw,3.6rem)}h2{font-size:1.15rem;font-weight:700;margin-top:1.6em;letter-spacing:-.01em}p{margin:0 0 .8em}code{font-family:ui-monospace,SF Mono,Menlo,monospace;background:var(--surface-2);padding:.1em .4em;border-radius:6px}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.center-actions{justify-content:center}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.linklike.inline{padding:0;color:var(--text);text-decoration:underline}.join-cta{margin-top:18px}.request{align-items:flex-start}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.card-head h2{margin:0}.more{margin-top:10px}.more summary{cursor:pointer;color:var(--muted);font-size:.85rem}.more summary:hover{color:var(--text)}.request-msg{white-space:pre-line;margin:6px 0 0;color:#cfcfcf}.grow{flex:1;min-width:0}.nowrap{white-space:nowrap}.empty{color:var(--muted);padding:2rem 0;text-align:center}.page-loading{padding:4rem 1rem;text-align:center;color:var(--muted)}.warn-text{color:var(--warn)}.ok-text{color:var(--ok)}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo{font-family:var(--display);font-weight:400;font-size:1.45rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;display:flex;gap:8px;align-items:center}.logo-mark{color:var(--accent)}.topnav{margin-left:auto;display:flex;gap:4px;align-items:center;flex-wrap:wrap}.topnav a,.linklike{text-decoration:none;color:var(--muted);padding:6px 10px;border-radius:8px;background:none;border:0;font:inherit;cursor:pointer}.topnav a:hover,.linklike:hover{color:var(--text)}.topnav a.active{color:var(--text);background:var(--surface-2)}.tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border:1px solid var(--line);border-radius:99px;color:var(--muted);white-space:nowrap}.main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 64px}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;padding:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.footer-left{display:flex;flex-wrap:wrap;gap:6px 18px}.legal h2{margin-top:1.8em}.legal ul{padding-left:1.2em;margin:0 0 .8em}.legal li{margin-bottom:.4em}.legal a{text-decoration:underline}.narrow{max-width:560px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.section-title{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:600 .95rem var(--font);text-decoration:none;cursor:pointer;transition:transform .05s,background .15s}.btn:hover{background:#222}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-primary:hover{background:#fff}.btn-ghost{background:transparent}.btn-small{padding:6px 10px;font-size:.85rem}.btn-block{width:100%;padding:14px}.btn.danger{color:var(--bad)}.btn.subtle{color:var(--muted)}.upload{margin:8px 0}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.field-label{font-size:.8rem;color:var(--muted);font-weight:500}.field-hint{font-size:.78rem;color:var(--muted)}.password{position:relative;display:block}.password input{padding-right:44px}.password-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--radius);background:none;color:var(--muted);cursor:pointer}.password-eye:hover{color:var(--text)}input,select,textarea{width:100%;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}input:disabled{opacity:.6}.check{display:flex;align-items:center;gap:8px;margin:8px 0 14px;cursor:pointer}.check input{width:auto}.check.disabled{color:var(--muted);cursor:default}.grid-2,.grid-3,.grid-5,.grid-type{display:grid;gap:0 14px;grid-template-columns:1fr}@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr;align-items:center}.grid-5{grid-template-columns:1.4fr 1fr 1.2fr 1fr 1fr}.grid-type{grid-template-columns:1.5fr 1fr 2fr auto;align-items:end}}.inline-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.inline-form .field{flex:1;min-width:220px}.inline-form .btn{margin-bottom:14px}.notice{padding:12px 14px;border-radius:10px;margin:12px 0;font-size:.92rem;border:1px solid}.notice-info{border-color:#1e3a5f;background:#0f1b2b;color:#cfe2ff}.notice-error{border-color:#5f1e1e;background:#2a1010;color:#ffd4d4}.notice-ok{border-color:#1e3a5f;background:#0f1b2b;color:#cfe2ff}.notice-warn{border-color:#3a3a3a;background:#161616;color:#e6e6e6}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:14px 0}.card>h2:first-child{margin-top:0}.badge{font-size:.75rem;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap;background:var(--surface-2)}.badge-pending{color:var(--info)}.badge-in_review{color:var(--accent-ink);background:var(--warn)}.badge-approved{color:var(--accent-ink);background:var(--ok)}.badge-rejected,.badge-cancelled{color:var(--bad)}.badge-expired{color:var(--muted)}.status{font-weight:600}.status-published,.status-activa{color:var(--info)}.status-draft,.status-usada{color:var(--muted)}.status-cancelled,.status-vencida{color:var(--bad)}.hero{margin:8px 0 24px}.event-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.event-card{text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s,border-color .15s}.event-card:hover{transform:translateY(-3px);border-color:var(--accent)}.event-flyer{position:relative;aspect-ratio:4 / 5;background:var(--surface-2)}.event-flyer img{width:100%;height:100%;object-fit:cover}.flyer-empty{height:100%;min-height:160px;display:grid;place-items:center;padding:20px;text-align:center;font:400 1.9rem/1 var(--display);text-transform:uppercase;color:var(--text);background:var(--halftone),radial-gradient(ellipse at 30% 25%,#2e2e2e,#070707 70%)}.flyer-empty.big{aspect-ratio:4 / 5;font-size:3rem;border-radius:var(--radius)}.flyer-empty.photo{background-size:cover;background-position:center}.ribbon{position:absolute;top:12px;left:12px;background:var(--bad);color:#fff;font-weight:700;font-size:.8rem;padding:4px 10px;border-radius:6px}.event-card-body{display:flex;gap:12px;padding:14px;align-items:center}.event-card-info{flex:1;min-width:0}.event-card-info h2{font:400 1.35rem/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0 0 4px}.event-card-info p{margin:0}.cap:first-letter{text-transform:uppercase}.oneline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-card-price{text-align:right;font-size:.8rem;color:var(--muted)}.event-card-price b{color:var(--text);font-size:1rem}.datechip{display:flex;flex-direction:column;align-items:center;min-width:48px;padding:6px 4px;border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent)}.datechip-day{font:400 1.5rem/1 var(--display)}.datechip-month{font-size:.7rem;font-weight:700;letter-spacing:.08em}.datechip.small{min-width:42px;padding:4px}.datechip.small .datechip-day{font-size:1.1rem}.event-page{display:grid;gap:28px}@media(min-width:860px){.event-page{grid-template-columns:5fr 6fr;align-items:start}.event-page-flyer{position:sticky;top:80px}}.event-page-flyer img{border-radius:var(--radius);width:100%}.facts{display:grid;gap:10px;margin:16px 0}.facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.facts dd{margin:0;text-transform:none}.facts+.btn{margin-bottom:16px}.description{white-space:pre-line;color:#cfcfcf}.spotify{display:block;width:100%;border:0;border-radius:12px;margin:6px 0 14px;background:var(--surface)}.tracks{margin:18px 0 6px}.track-inputs{display:grid;gap:8px}.ticket-types{list-style:none;padding:0;margin:0;display:grid;gap:10px}.ticket-types li{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.ticket-types li.disabled{opacity:.55}.tt-info{display:flex;flex-direction:column;gap:2px}.tier-name{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.tt-price{font:700 1.1rem var(--font)}.stepper{grid-column:1 / -1;justify-self:end;display:flex;align-items:center;gap:14px}.stepper button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:1.2rem;cursor:pointer}.stepper button:disabled{opacity:.35;cursor:default}.stepper span{min-width:18px;text-align:center;font-weight:700}.total-row{display:flex;justify-content:space-between;padding:16px 4px;font-size:1.15rem;border-bottom:1px solid var(--line)}.order-page{max-width:480px;margin:0 auto}.order-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.order-head p:first-letter{text-transform:uppercase}.lines{list-style:none;padding:0;margin:0 0 10px}.lines li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line)}.lines li.total{border:0;font-size:1.1rem;padding-top:10px}.bank{display:grid;gap:10px;margin:12px 0 16px}.bank div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:10px 12px;background:var(--surface-2);border-radius:var(--radius)}.bank dt{grid-column:1 / -1;color:var(--muted);font-size:.8rem}.bank dd{display:contents}.bank dd code{font-size:1.05rem;word-break:break-all;padding:0;background:none}.tickets{display:grid;gap:18px;margin:18px 0}.ticket{display:grid;gap:12px;justify-items:center;text-align:center;padding:22px 0;border-top:1px solid var(--line)}.ticket.used{opacity:.55}.ticket-top,.ticket-bottom{display:flex;flex-direction:column;gap:2px}.ticket-top b{font:400 1.3rem var(--display);text-transform:uppercase}.ticket-top span:first-letter{text-transform:uppercase}.qr{border-radius:8px;image-rendering:pixelated}.qr-placeholder{background:#ddd;border-radius:8px}.list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.list-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-decoration:none;flex-wrap:wrap}a.list-row:hover{border-color:var(--accent)}.row-stats{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.auth{padding-top:24px}.event-head p{margin:0}.event-head p:first-letter{text-transform:uppercase}.actions{display:flex;gap:8px;flex-wrap:wrap}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:16px 0}.tabs button{background:none;border:0;color:var(--muted);font:600 .92rem var(--font);padding:10px 12px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.editor-grid{display:grid;gap:20px}@media(min-width:760px){.editor-grid{grid-template-columns:2fr 1fr}}.flyer-upload{display:grid;gap:8px;justify-items:start;margin-top:4px}.flyer-upload img,.flyer-upload .flyer-empty{width:100%;max-width:260px;aspect-ratio:4 / 5;object-fit:cover;border-radius:12px}.kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:4px}.kpi-label{font-size:.8rem;color:var(--muted)}.kpi-value{font:400 2rem var(--display)}.kpi-value small{font-size:1rem;color:var(--muted)}.kpi-sub{font-size:.8rem;color:var(--warn)}.meter{height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}.meter div{height:100%;background:var(--accent)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;background:var(--surface)}tr:last-child td{border-bottom:0}.num{text-align:right;white-space:nowrap}.bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:44px 1fr 160px;gap:10px;align-items:center;font-size:.9rem}.bar{height:14px;background:var(--surface-2);border-radius:4px;overflow:hidden}.bar div{height:100%;background:var(--accent)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 14px}.toolbar p{margin:0;flex:1}.chips{display:flex;gap:6px;flex-wrap:wrap;flex:1}.chip{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:6px 12px;font:500 .85rem var(--font);cursor:pointer}.chip.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.chip-count{opacity:.7;margin-left:4px}.search{max-width:280px}.orders{list-style:none;padding:0;margin:0;display:grid;gap:10px}.order-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}.order-main{display:flex;justify-content:space-between;gap:12px}.order-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.order-total{font:400 1.25rem var(--display)}.item-pill{display:inline-block;margin:4px 6px 0 0;padding:2px 8px;border-radius:6px;background:var(--surface-2)}.order-meta{margin-top:8px}.order-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.type-card.inactive{opacity:.6}.row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.tiers td,.tiers input{padding:6px 8px}.w-xs{width:64px}.w-sm{width:110px}.expired-row{opacity:.5}.new-row td{background:color-mix(in srgb,var(--surface) 60%,transparent)}.scanner{position:fixed;inset:0;display:flex;flex-direction:column;background:#000}.scanner-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;background:var(--bg)}.scanner-top a{text-decoration:none;color:var(--muted)}.scanner-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scanner-count{color:var(--ok);font-weight:700}.scanner-video{flex:1;position:relative;overflow:hidden;display:grid;place-items:center}.scanner-video video{width:100%;height:100%;object-fit:cover}.scanner-camerror{position:absolute;padding:20px;text-align:center;color:var(--warn)}.scanner-result{padding:18px 16px;text-align:center;min-height:130px;display:flex;flex-direction:column;justify-content:center;transition:background .2s}.scanner-result p{margin:2px 0}.scanner-result.tone-idle{background:var(--surface);color:var(--muted)}.scanner-result.tone-ok{background:#16a34a;color:#fff}.scanner-result.tone-warn{background:#0284c7;color:#fff}.scanner-result.tone-bad{background:#dc2626;color:#fff}.scanner-msg{font:400 1.6rem var(--display);text-transform:uppercase}.scanner-holder{font-size:1.2rem;font-weight:600}.scanner-manual{display:flex;gap:8px;padding:10px 16px 16px;background:var(--bg)}.bar-value{text-align:right;white-space:nowrap}.tiers input{min-width:90px}.tiers td:nth-child(2) input{min-width:140px}.tiers input[type=datetime-local]{min-width:190px}.tiers .w-xs{min-width:56px}@media(max-width:640px){.topbar{flex-wrap:wrap;padding:10px 16px}.topnav{width:100%;margin-left:0;flex-wrap:nowrap;overflow-x:auto}.topnav a,.linklike{white-space:nowrap}}.pay-methods{display:grid;gap:8px;margin:14px 0 4px}.pay-method{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:var(--surface)}.pay-method input{width:auto;margin-top:4px;accent-color:var(--accent)}.pay-method>span{display:flex;flex-direction:column;gap:2px}.pay-method.active{border-color:var(--accent)}.total-row.sub{font-size:.95rem;padding:10px 4px 0;border-bottom:0;color:var(--muted)}.btn-mp{background:#009ee3;border-color:#009ee3;color:#fff}.btn-mp:hover{background:#0087c2}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:99px;background:var(--surface-2);color:var(--muted);margin-left:6px;vertical-align:middle}.pill-mp{color:#5cc8ff}.pill-courtesy{color:var(--accent)}.steps{margin:6px 0 12px;padding-left:20px;color:#d8d6cf;font-size:.9rem}.steps li{margin:4px 0}.kpi-sub.muted-sub{color:var(--muted)}
