:root{--navy:#0A0A0A;--navy-surface:#161616;--navy-surface-2:#1F1F1F;--navy-line:#333333;--gold:#E5432B;--crimson:#FF4B4B;--green:#4CAF6D;--cream:#F5F4F1;--cream-dim:#8F8F8F;--paper:#FFFFFF;--ink-on-paper:#14162B;--font-display:"Bebas Neue", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--navy);color:var(--cream);min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:28px 20px 80px}.brand{display:flex;align-items:baseline;gap:14px;margin-bottom:4px}.brand-mark{font-family:var(--font-display);font-size:34px;letter-spacing:1px;color:var(--gold);line-height:1;cursor:pointer}.brand-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cream-dim)}.crumb{font-family:var(--font-mono);font-size:12.5px;color:var(--cream-dim);margin:8px 0 22px}.crumb a{color:var(--gold);cursor:pointer;text-decoration:none}.crumb a:hover{text-decoration:underline}.card{background:var(--navy-surface);border:1px solid var(--navy-line);border-radius:10px;padding:22px 24px;margin-bottom:18px}.card h2{font-family:var(--font-display);font-size:22px;letter-spacing:.5px;margin:0 0 4px;color:var(--cream);font-weight:400}.card .hint{font-size:13px;color:var(--cream-dim);margin:0 0 18px;line-height:1.5}label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--cream-dim);margin-bottom:6px}.field{margin-bottom:16px}input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],textarea{width:100%;background:var(--navy);border:1px solid var(--navy-line);color:var(--cream);font-family:var(--font-body);font-size:14px;padding:10px 12px;border-radius:6px;outline:none}input:focus,textarea:focus{border-color:var(--gold)}textarea{min-height:110px;resize:vertical;font-family:var(--font-mono);font-size:13px;line-height:1.6}.row{display:flex;gap:16px;flex-wrap:wrap}.row>div{flex:1;min-width:180px}.radio-group{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.radio-opt{flex:1;min-width:200px;border:1px solid var(--navy-line);border-radius:8px;padding:12px 14px;cursor:pointer;display:flex;gap:10px;align-items:flex-start}.radio-opt.selected{border-color:var(--gold);background:#e8b84b0f}.radio-opt input{margin-top:3px;accent-color:var(--gold)}.radio-opt .t{font-size:13.5px;font-weight:600;color:var(--cream)}.radio-opt .d{font-size:12px;color:var(--cream-dim);margin-top:2px}button.primary{font-family:var(--font-mono);font-size:13px;letter-spacing:.5px;background:var(--gold);color:var(--navy);border:none;padding:12px 22px;border-radius:6px;font-weight:600;cursor:pointer}button.primary:hover{background:#f0c563}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{font-family:var(--font-mono);font-size:12.5px;background:none;color:var(--cream);border:1px solid var(--navy-line);padding:11px 18px;border-radius:6px;cursor:pointer}button.secondary:hover{border-color:var(--cream-dim)}button.danger{color:var(--crimson);border-color:var(--crimson)}button.tiny{font-family:var(--font-mono);font-size:11px;background:none;border:1px solid var(--navy-line);color:var(--cream);padding:5px 9px;border-radius:4px;cursor:pointer;margin-right:4px}button.tiny:hover{border-color:var(--cream-dim)}button.tiny.danger{color:var(--crimson);border-color:var(--crimson)}button.tiny.gold{color:var(--gold);border-color:var(--gold)}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.login-wrap{max-width:380px;margin:80px auto 0}.login-error{color:var(--crimson);font-size:12.5px;margin:-8px 0 16px}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:6px}.event-card{background:var(--navy-surface);border:1px solid var(--navy-line);border-radius:10px;padding:18px;display:flex;flex-direction:column}.event-card .name{font-family:var(--font-display);font-size:21px;color:var(--gold);line-height:1.1}.event-card .meta{font-family:var(--font-mono);font-size:11px;color:var(--cream-dim);margin-top:4px}.event-card .counts{font-size:13px;margin-top:10px;color:var(--cream)}.event-card .counts b{color:var(--green)}.event-card .actions{display:flex;gap:8px;margin-top:14px}.empty{text-align:center;padding:50px 20px;color:var(--cream-dim);font-size:14px}.empty b{color:var(--gold)}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:18px}.workspace-header .title{font-family:var(--font-display);font-size:30px;color:var(--cream);line-height:1.1}.workspace-header .sub{font-family:var(--font-mono);font-size:12px;color:var(--cream-dim);margin-top:4px}nav.tabs{display:flex;gap:2px;border-bottom:1px solid var(--navy-line);margin-bottom:22px;flex-wrap:wrap}nav.tabs button{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.5px;background:none;border:none;color:var(--cream-dim);padding:12px 16px;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}nav.tabs button:hover{color:var(--cream)}nav.tabs button.active{color:var(--gold);border-bottom-color:var(--gold)}.stat-grid{display:flex;gap:14px;flex-wrap:wrap}.stat{flex:1;min-width:130px;background:var(--navy);border:1px solid var(--navy-line);border-radius:8px;padding:14px 16px}.stat .n{font-family:var(--font-display);font-size:30px;color:var(--gold);line-height:1}.stat.used .n{color:var(--green)}.stat.left .n{color:var(--cream)}.stat .l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--cream-dim);margin-top:6px}.toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0 12px}.toolbar .note{font-size:12.5px;color:var(--cream-dim)}#searchBox{max-width:280px}.tbl-wrap{overflow-x:auto}table.tickets{width:100%;border-collapse:collapse;font-size:13px}table.tickets th{text-align:left;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--cream-dim);padding:9px 10px;border-bottom:1px solid var(--navy-line);white-space:nowrap}table.tickets td{padding:8px 10px;border-bottom:1px solid var(--navy-line);vertical-align:middle}table.tickets td.code{font-family:var(--font-mono);font-size:12px;color:var(--cream-dim);white-space:nowrap}table.tickets td.dim-cell{color:var(--cream-dim);font-size:12.5px}.badge{padding:3px 9px;border-radius:4px;font-family:var(--font-mono);font-size:10.5px;white-space:nowrap}.badge.pending{background:#ffffff0f;color:var(--cream-dim)}.badge.used{background:#4caf6d2e;color:var(--green)}.inline-edit-input{font-family:var(--font-body);font-size:13px;padding:6px 8px;border-radius:4px;border:1px solid var(--gold);background:var(--navy);color:var(--cream);width:100%;min-width:140px}.load-more{text-align:center;margin-top:14px}.add-panel{display:none;margin-top:16px;padding-top:16px;border-top:1px dashed var(--navy-line)}.add-panel.open{display:block}.scan-input{width:100%;background:var(--navy);border:2px solid var(--gold);color:var(--cream);font-family:var(--font-mono);font-size:20px;letter-spacing:2px;padding:16px;border-radius:8px;text-align:center;text-transform:uppercase}.scan-input:focus{outline:none}.result-panel{margin-top:18px;border-radius:10px;padding:34px 24px;text-align:center;background:var(--navy);border:1px solid var(--navy-line);min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center}.result-panel .icon{font-size:44px;line-height:1;margin-bottom:8px}.result-panel .status{font-family:var(--font-display);font-size:30px;letter-spacing:.5px}.result-panel .name{font-size:16px;margin-top:6px;color:var(--cream)}.result-panel .code{font-family:var(--font-mono);font-size:12px;color:var(--cream-dim);margin-top:10px;letter-spacing:1px}.result-panel.ok{background:#4caf6d24;border-color:var(--green)}.result-panel.ok .status{color:var(--green)}.result-panel.bad{background:#e24c4c24;border-color:var(--crimson)}.result-panel.bad .status{color:var(--crimson)}.scan-log{margin-top:18px}.scan-log h3{font-family:var(--font-mono);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--cream-dim);font-weight:400;margin-bottom:10px}.log-row{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:12.5px;padding:8px 10px;border-bottom:1px solid var(--navy-line)}.log-row .tag{padding:1px 7px;border-radius:4px;font-size:10.5px;letter-spacing:.5px}.log-row.ok .tag{background:#4caf6d2e;color:var(--green)}.log-row.bad .tag{background:#e24c4c2e;color:var(--crimson)}#ticketGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.ticket{background:var(--paper);color:var(--ink-on-paper);border-radius:6px;display:flex;overflow:hidden;border:1px solid #d8d8d8}.ticket-main{flex:1;padding:14px 12px;display:flex;flex-direction:column;justify-content:center;border-right:2px dashed #bbb;position:relative;overflow:hidden}.ticket-main:before{content:"";position:absolute;z-index:0;right:-16px;bottom:-16px;width:140px;height:79px;background:url(/assets/bajocuerda-logo-9BJsM_-b.png) no-repeat right bottom / contain;opacity:.15;pointer-events:none}.ticket-main .ev{font-family:var(--font-display);font-size:17px;letter-spacing:.3px;line-height:1.1;position:relative;z-index:1}.ticket-main .dt{font-family:var(--font-mono);font-size:10px;color:#666;margin-top:3px;position:relative;z-index:1}.ticket-main .nm{font-family:var(--font-body);font-size:12.5px;font-weight:600;margin-top:8px;position:relative;z-index:1}.ticket-stub{width:150px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative}.ticket-stub:before{content:"";position:absolute;top:5px;right:5px;width:20px;height:20px;background:url(/assets/mosca-CSGOrY2K.png) no-repeat center / contain}.ticket-stub svg{width:100%;height:34px}.ticket-stub .code{font-family:var(--font-mono);font-size:9px;letter-spacing:.5px}.ticket-main.photo-bg{background-image:linear-gradient(120deg,#0808088c,#080808e0 65%),url(/assets/ticket-bg-CKDqWbcw.jpg);background-size:cover,180%;background-position:center,45% 32%;background-repeat:no-repeat,no-repeat;border-bottom-color:#ffffff40}.ticket-main.photo-bg:before{display:none}.ticket-main.photo-bg .ev,.ticket-main.photo-bg .nm{color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.7)}.ticket-main.photo-bg .dt{color:#ffffffc7;text-shadow:0 1px 5px rgba(0,0,0,.7)}.privacy-note{font-size:12px;color:var(--cream-dim);background:var(--navy);border:1px solid var(--navy-line);border-radius:8px;padding:12px 14px;margin-top:18px;line-height:1.6}.privacy-note b{color:var(--gold)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060812b8;display:none;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-overlay.open{display:flex}.modal-box{background:var(--navy-surface);border:1px solid var(--navy-line);border-radius:12px;padding:26px;max-width:420px;width:100%}.modal-title{font-family:var(--font-display);font-size:24px;color:var(--cream);margin-bottom:8px}.modal-message{font-size:13.5px;color:var(--cream-dim);line-height:1.6;margin-bottom:16px}.modal-code-wrap{margin-bottom:16px}.modal-code-input{width:100%;background:var(--navy);border:1px solid var(--crimson);color:var(--cream);font-family:var(--font-mono);font-size:18px;letter-spacing:4px;text-align:center;padding:10px;border-radius:6px;outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:10px}#modalConfirmBtn.modal-btn-danger{background:var(--crimson);color:#fff}#modalConfirmBtn:disabled{opacity:.35;cursor:not-allowed}.toast-wrap{position:fixed;bottom:20px;right:20px;z-index:1100;display:flex;flex-direction:column;gap:8px}.toast{font-family:var(--font-mono);font-size:13px;padding:12px 16px;border-radius:8px;background:var(--navy-surface);border:1px solid var(--navy-line);color:var(--cream);max-width:300px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:none}.toast.success{border-color:var(--green)}.toast.error{border-color:var(--crimson)}@media print{body *{visibility:hidden}#sub-print,#sub-print *{visibility:visible}#sub-print{position:absolute;top:0;left:0;width:100%;padding:0;margin:0}.no-print{display:none!important}#ticketGrid{grid-template-columns:repeat(2,1fr);gap:8px}.ticket{page-break-inside:avoid;border-color:#999}.ticket-main:before{filter:grayscale(1);opacity:.08}}@media(max-width:640px){#ticketGrid{grid-template-columns:1fr}.stat-grid{flex-direction:column}}
