:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,#0f172a,#111827);color:#e5e7eb}*{box-sizing:border-box}body{margin:0}.layout{min-height:100vh}.nav{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#0f172acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #1f2937}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.5px;font-size:18px}.logo{height:40px;width:auto;object-fit:contain}.brand-text{white-space:nowrap}.nav nav{display:flex;gap:16px}.nav nav a{color:#e5e7eb;text-decoration:none;font-weight:500;padding:8px 12px;border-radius:6px;transition:all .2s}.nav nav a:hover{color:#a5b4fc;background:#a5b4fc1a}.nav nav a.active{color:#a5b4fc;background:#a5b4fc33;font-weight:600}.user-info{display:flex;align-items:center;gap:12px}.user-email{font-size:14px;color:#d1d5db}.logout-button{background:#ef444433!important;color:#fca5a5!important;padding:8px 16px;border-radius:6px;border:1px solid rgba(239,68,68,.3);cursor:pointer;transition:all .2s}.logout-button:hover{background:#ef44444d!important}.content{padding:24px;max-width:1400px;margin:0 auto}section h2{margin:0 0 16px;font-size:28px}section h3{margin:0 0 12px;font-size:18px}.card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:20px;box-shadow:0 10px 30px #00000040;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tickets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}.stat{background:#ffffff0f;padding:16px;border-radius:10px;text-align:center;transition:transform .2s}.stat:hover{transform:translateY(-2px)}.stat-blue{border-left:4px solid #3b82f6}.stat-green{border-left:4px solid #10b981}.stat-yellow{border-left:4px solid #f59e0b}.stat-red{border-left:4px solid #ef4444}.label{color:#9ca3af;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.value{font-size:32px;font-weight:700;margin:8px 0}.stat-description{color:#9ca3af;font-size:11px;margin-top:4px}input,select,textarea,button{padding:10px 12px;border-radius:8px;border:1px solid #1f2937;background:#0f172acc;color:#e5e7eb;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}button{cursor:pointer;border:none;background:#1f2937;transition:all .2s;white-space:nowrap}button:hover:not(:disabled){background:#374151;transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:linear-gradient(120deg,#6366f1,#a855f7);border:none;color:#fff}button.primary:hover:not(:disabled){background:linear-gradient(120deg,#4f46e5,#9333ea)}button.danger{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}button.danger:hover:not(:disabled){background:#ef44444d}.btn-small{padding:6px 10px;font-size:12px;margin-right:4px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filters input,.filters select{flex:1;min-width:150px;margin-right:0}.table-filter-dropdown{position:relative;flex:1;min-width:150px}.table-filter-dropdown button{width:100%;display:flex;justify-content:space-between;align-items:center;transition:background .2s,border-color .2s;text-align:left}.table-filter-dropdown button:hover{border-color:#6366f1}.table-filter-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:#1f2937;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px;z-index:1000;min-width:200px;max-height:300px;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.table-filter-dropdown-menu::-webkit-scrollbar{width:8px}.table-filter-dropdown-menu::-webkit-scrollbar-track{background:#0003;border-radius:4px}.table-filter-dropdown-menu::-webkit-scrollbar-thumb{background:#6366f180;border-radius:4px}.table-filter-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#6366f1b3}.table-filter-actions{display:flex;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.table-filter-actions button{flex:1;padding:6px 10px;font-size:12px;background:#6366f133;color:#a5b4fc}.table-filter-actions button:hover{background:#6366f14d}.table-filter-item{display:flex;align-items:center;padding:8px;cursor:pointer;border-radius:6px;transition:background .2s;-webkit-user-select:none;user-select:none}.table-filter-item:hover{background:#6366f11a}.table-filter-item input[type=checkbox]{margin:0 10px 0 0;cursor:pointer;width:auto;padding:0}.table-filter-empty{padding:12px;color:#9ca3af;font-size:13px;text-align:center}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.actions button{margin-right:0}.table-container{overflow-x:auto;margin-top:16px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background:#6366f11a}.data-table th{padding:12px;text-align:left;font-weight:600;color:#a5b4fc;border-bottom:2px solid #1f2937}.data-table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.05)}.data-table tbody tr{transition:background .2s}.data-table tbody tr:hover{background:#ffffff05}.data-table tbody tr.clickable{cursor:pointer}.table-empty{text-align:center;padding:40px;color:#9ca3af}.table-info{color:#9ca3af;font-size:13px;margin-bottom:8px}.table-actions{display:flex;gap:4px}.uuid-cell{cursor:pointer;color:#a5b4fc;text-decoration:underline;font-family:monospace}.uuid-cell:hover{color:#818cf8}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-created,.status-blue{background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.status-checked,.status-green{background:#10b98133;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.status-deleted,.status-red{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.role-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.role-admin{background:#8b5cf633;color:#c4b5fd;border:1px solid rgba(139,92,246,.3)}.role-checker{background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.notification{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-success{background:#10b98133;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.notification-error{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.notification-warning{background:#f59e0b33;color:#fcd34d;border:1px solid rgba(245,158,11,.3)}.notification-info{background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.error-message{color:#fca5a5;font-size:13px;margin-top:8px}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#1f2937;border:1px solid rgba(255,255,255,.1);border-radius:12px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-small{width:400px;max-width:90vw}.modal-medium{width:600px;max-width:90vw}.modal-large{width:900px;max-width:90vw}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h3{margin:0;font-size:20px}.modal-close{background:none;border:none;color:#9ca3af;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;margin:0}.modal-close:hover{background:#ffffff1a;color:#e5e7eb}.modal-body{padding:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#d1d5db}.form-group input,.form-group select,.form-group textarea{width:100%;margin-right:0}.form-actions{display:flex;gap:8px;margin-top:20px;justify-content:flex-end}.form-actions button{margin-right:0}.ticket-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:16px;transition:all .2s}.ticket-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.ticket-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.ticket-header h4{margin:0;font-size:16px}.ticket-details{margin-bottom:12px}.ticket-row{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}.ticket-row .label{color:#9ca3af;font-size:13px}.uuid-text{font-family:monospace;color:#a5b4fc;font-size:11px}.ticket-seat-prominent{font-size:20px;font-weight:700;color:#e5e7eb}.ticket-actions{display:flex;gap:6px;flex-wrap:wrap}.ticket-actions button{flex:1;margin-right:0}.qr-scanner-container{max-width:600px;margin:0 auto}#qr-reader{border-radius:10px;overflow:hidden;margin-bottom:12px}.scanner-controls{display:flex;justify-content:center;gap:8px}.search-bar{display:flex;gap:8px;margin-bottom:16px}.search-bar input{flex:1;margin-right:0}.search-results h4{margin:0 0 12px;font-size:16px;color:#d1d5db}.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}.login-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:40px;max-width:400px;width:100%;box-shadow:0 20px 60px #0006}.login-logo{text-align:center;margin-bottom:24px}.login-logo img{height:80px;width:auto;max-width:200px;object-fit:contain}.login-card h1{margin:0 0 8px;text-align:center;background:linear-gradient(120deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{text-align:center;color:#9ca3af;margin:0 0 24px}.login-tabs{display:flex;gap:8px;margin-bottom:24px;border-radius:8px;background:#0003;padding:4px}.tab-button{flex:1;padding:10px 16px;border:none;background:transparent;color:#9ca3af;cursor:pointer;border-radius:6px;font-size:14px;font-weight:500;transition:all .2s}.tab-button:hover{color:#d1d5db;background:#ffffff0d}.tab-button.active{background:#6366f133;color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.login-form{display:flex;flex-direction:column;gap:16px}.login-button{width:100%;padding:12px;font-size:16px;font-weight:600}.login-hint{text-align:center;margin-top:16px;color:#6b7280}.code-display{text-align:center}.code-box{background:#0f172acc;border:2px dashed #6366f1;border-radius:10px;padding:24px;margin:20px 0}.code-box code{font-size:32px;font-weight:700;color:#a5b4fc;letter-spacing:4px;font-family:Courier New,monospace}.code-info{color:#9ca3af;font-size:12px;margin-top:16px}.stats-header{margin-bottom:20px}.stats-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.auto-refresh-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.auto-refresh-toggle input[type=checkbox]{cursor:pointer;margin:0}.stats-progress{margin:24px 0}.progress-bar{height:32px;background:#ffffff0d;border-radius:16px;overflow:hidden;margin:12px 0}.progress-fill{height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;transition:width .5s ease}.progress-checked{background:linear-gradient(90deg,#10b981,#059669)}.progress-legend{display:flex;justify-content:space-between;font-size:12px;color:#9ca3af}.stats-summary{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.stats-summary ul{list-style:none;padding:0;margin:12px 0 0}.stats-summary li{padding:8px 0;color:#d1d5db}.stats-summary strong{color:#e5e7eb}.placeholder{color:#9ca3af;font-size:14px;text-align:center;padding:40px 20px}.import-content{padding:20px 0}.import-content p{margin:8px 0;color:#d1d5db}.import-content input[type=file]{width:100%;padding:12px;margin-top:16px}@media (max-width: 1024px){.content{padding:20px}.brand-text{font-size:16px}.nav nav a{padding:6px 10px;font-size:14px}.stats-grid,.tickets-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.nav{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px}.brand{width:100%;justify-content:space-between}.logo{height:32px}.brand-text{font-size:16px}.nav nav{width:100%;flex-wrap:wrap;gap:8px}.nav nav a{padding:8px 12px;font-size:13px}.user-info{width:100%;justify-content:space-between;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.user-email{font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.content{padding:16px}section h2{font-size:22px}.login-logo img{height:60px;max-width:150px}.login-card{padding:32px 24px}.filters{flex-direction:column}.filters input,.filters select,.table-filter-dropdown{width:100%}.table-filter-dropdown-menu{left:0;right:0;width:auto}.actions{flex-direction:column}.actions button{width:100%}.table-container{font-size:12px}.data-table th,.data-table td{padding:6px;font-size:11px}.table-actions{flex-direction:column;gap:4px}.table-actions button{width:100%}.tickets-grid{grid-template-columns:1fr}.modal-content{width:95vw!important;max-height:85vh}.stats-grid{grid-template-columns:1fr}.stat{padding:12px}.value{font-size:28px}.qr-scanner-container{max-width:100%}.search-bar{flex-direction:column}.search-bar input,.search-bar button{width:100%}}@media (max-width: 480px){.nav{padding:10px 12px}.logo{height:28px}.brand-text{font-size:14px}.content{padding:12px}.card{padding:16px}section h2{font-size:20px}section h3{font-size:16px}.login-card{padding:24px 20px}.login-logo img{height:50px}.value{font-size:24px}.modal-body{padding:16px}.form-group label{font-size:12px}input,select,textarea,button{font-size:13px}}.scan-result-modal{padding:20px}.scan-result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.scan-result-header h2{margin:0;font-size:1.8em;color:var(--text-primary)}.scan-result-details{margin:24px 0}.scan-result-row{display:flex;justify-content:space-between;align-items:center;padding:16px;margin-bottom:12px;background:var(--bg-secondary);border-radius:8px;font-size:1.1em}.scan-result-row.scan-result-table{background:var(--primary-color);color:#fff;padding:24px;font-size:1.4em;font-weight:700}.scan-result-row .label{font-weight:600;color:var(--text-secondary)}.scan-result-row.scan-result-table .label{color:#ffffffe6}.scan-result-row .value{font-weight:500;color:var(--text-primary)}.scan-result-row .table-number{font-size:1.5em;font-weight:700;color:#fff}.scan-result-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}.scan-result-actions button{min-width:150px;padding:12px 24px;font-size:1.1em}.table-header-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px}.table-header-sortable:hover{background-color:#0000000d}.sort-indicator{display:inline-block;font-size:.8em;opacity:.6}.sort-indicator.active{opacity:1;font-weight:700}@media (max-width: 768px){.scan-result-header h2{font-size:1.4em}.scan-result-row{font-size:1em;flex-direction:column;align-items:flex-start;gap:8px}.scan-result-row.scan-result-table{font-size:1.2em}.scan-result-row .table-number{font-size:1.3em}}.season-panel{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:16px}.season-label{display:flex;align-items:center;gap:12px;font-weight:600}.season-label select{min-width:210px}.archive-notice{padding:14px 18px;margin-bottom:20px;border:1px solid #b88c41;border-radius:8px;color:#f1d7a5;background:#b88c411f;line-height:1.5}.season-hint{color:#cbd5e1;line-height:1.5}.ticket-seat-prominent{font-size:1.65rem;font-weight:700}@media (max-width: 600px){.season-label{width:100%}.season-label select{flex:1;min-width:0}}
