:root{--bg: #2a1626;--card: #351f31;--border: #4a2e44;--chip: #241521;--track: #47293f;--text: #f2dcc0;--muted: #bf94a0;--accent: #e8763e;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1100px 640px at 50% -8%,#4a2440 0%,var(--bg) 60%);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:1320px;margin:0 auto;padding:18px 20px 24px}.body{display:flex;gap:16px;align-items:flex-start;margin-top:12px}.sidebar{width:240px;flex-shrink:0;position:sticky;top:18px;display:flex;flex-direction:column;gap:14px}.main{flex:1;min-width:0}.sidebar-time{font-weight:700;margin:2px 0 10px}.event-link{display:block;margin-top:4px;color:var(--accent);font-size:.85rem;word-break:break-all}.event-select{width:100%;margin-top:4px;color:var(--text);font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:8px 34px 8px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--chip);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5l4 4 4-4' fill='none' stroke='%23bf94a0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.scan-btn{width:100%;background:var(--accent);border:1px solid var(--accent);color:#1a0d10;font-weight:700;padding:9px;border-radius:8px;cursor:pointer}.scan-btn:disabled{opacity:.6;cursor:default}.header h1{margin:0;text-align:center;font-size:1.9rem;font-weight:800;background:linear-gradient(90deg,#f2dcc0,#e8a24a 45%,#cf6a44);-webkit-background-clip:text;background-clip:text;color:transparent}.muted{color:var(--muted)}code{background:var(--chip);padding:2px 6px;border-radius:4px}.card{background:linear-gradient(180deg,#ffffff08,#fff0);background-color:var(--card);border:1px solid var(--border);border-radius:16px;padding:13px 18px}.card h2{margin:0 0 9px;font-size:1.05rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;flex-wrap:wrap}.card-head h2{margin:0}.trend-kpis{display:flex;gap:10px}.kpi{background:var(--chip);border:1px solid var(--border);border-radius:10px;padding:5px 12px}.kpi-label{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.kpi-main{font-size:.82rem;color:var(--muted);white-space:nowrap}.kpi-main b{color:var(--accent);font-size:1.1rem;font-weight:800;margin-right:4px}.overview{display:grid;grid-template-columns:1fr 1.2fr 2.4fr;gap:14px;margin:0 0 12px;align-items:stretch}.stat-label{color:var(--muted);font-size:.85rem;margin-bottom:6px}.stat-value{font-size:1.9rem;font-weight:800}.stat-sub{margin-top:8px;display:flex;flex-direction:column;gap:4px}.stat-sub div{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}.stat-sub span:last-child{color:var(--text);font-variant-numeric:tabular-nums}.countdown-parts{display:flex;gap:14px}.cd-part{display:flex;flex-direction:column;align-items:center;min-width:52px}.cd-num{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;background:var(--chip);border:1px solid var(--border);border-radius:10px;padding:5px 9px;min-width:46px;text-align:center}.cd-lbl{font-size:.7rem;color:var(--muted);margin-top:6px;text-transform:uppercase}.status-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:10px}.status-item{background:var(--chip);border:1px solid var(--border);border-top:3px solid var(--c);border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;justify-content:center}.status-item.tier-0{box-shadow:0 0 0 1px var(--c),0 8px 30px -10px var(--c)}.status-value{font-weight:800;color:var(--c);line-height:1}.tier-0 .status-value{font-size:1.7rem}.tier-1 .status-value{font-size:1.4rem}.tier-2 .status-value,.tier-3 .status-value{font-size:1.25rem}.status-label{color:var(--muted);margin-top:3px;font-size:.78rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:10px 0 0}.overview h2{margin-bottom:6px;font-size:.95rem}.gender-row{display:flex;align-items:center;gap:16px}.gender-chart{flex:1;min-width:0}.avg-age{text-align:center;padding:0 12px}.avg-age .stat-value{font-size:1.9rem;color:var(--accent)}.coupon-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.coupon-list li{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:14px}.coupon-name{font-weight:600}.coupon-bar{height:8px;background:var(--track);border-radius:99px;overflow:hidden}.coupon-bar span{display:block;height:100%;background:linear-gradient(90deg,#e8763e,#b3384a);border-radius:99px}.coupon-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.userbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;font-size:.85rem;color:var(--muted);margin-bottom:8px}.userbar button,.login button{cursor:pointer;border:1px solid var(--border);border-radius:8px;background:var(--chip);color:var(--text);padding:6px 12px;font:inherit}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:90vh}.login{display:flex;flex-direction:column;gap:12px;width:300px;max-width:90vw}.login h1{margin:0 0 4px;text-align:center;font-size:1.6rem;font-weight:800;background:linear-gradient(90deg,#f2dcc0,#e8a24a 45%,#cf6a44);-webkit-background-clip:text;background-clip:text;color:transparent}.login input{background:var(--chip);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font:inherit}.login button{background:var(--accent);border-color:var(--accent);color:#1a0d10;font-weight:700;padding:10px}.login button:disabled{opacity:.6;cursor:default}.login-err{color:#f0a0a8;font-size:.85rem;margin:0;text-align:center}.login-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.78rem;margin:2px 0}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--border)}.google-btn{display:flex;justify-content:center;color-scheme:light}.login .ms-btn{position:relative;display:flex;align-items:center;justify-content:center;width:260px;max-width:100%;height:40px;margin:0 auto;padding:0 12px;background:#131314;color:#e3e3e3;border:none;border-radius:4px;font-family:Roboto,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-size:14px;font-weight:500;cursor:pointer}.login .ms-btn svg{position:absolute;left:12px}.login .ms-btn:hover{background:#1e1f20}.login .ms-btn:disabled{opacity:.6;cursor:default}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);padding:12px 20px;border-radius:10px;font-weight:600;box-shadow:0 10px 34px -10px #000;z-index:100;max-width:90vw}.toast-success{background:#2f7a4a;color:#eafff0}.toast-error{background:#a83a4a;color:#ffeaee}.toast-info{background:var(--card);border:1px solid var(--border);color:var(--text)}.scan-btn+.scan-btn{margin-top:8px}.scan-btn.secondary{background:transparent;color:var(--text);border-color:var(--border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:360px;max-width:92vw;max-height:85vh;display:flex;flex-direction:column}.exp-total{color:var(--muted);font-size:.9rem}.exp-total b{color:var(--accent);font-size:1.15rem;margin-left:4px}.exp-list{overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin:4px 0 14px}.exp-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.exp-row span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.exp-row input{width:90px;background:var(--chip);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:6px 10px;font:inherit;text-align:right}.wl-row{display:flex;align-items:center;gap:8px}.wl-row input{flex:1;background:var(--chip);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:6px 10px;font:inherit}.admin-row{display:flex;align-items:center;gap:8px}.admin-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.admin-fields input{width:100%;background:var(--chip);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:6px 10px;font:inherit}.modal.wide{width:720px}.logs-scroll{overflow:auto;max-height:60vh;margin:4px 0 14px}.logs-table{width:100%;border-collapse:collapse;font-size:.8rem}.logs-table th,.logs-table td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--border);white-space:nowrap}.logs-table th{color:var(--muted);font-weight:600;position:sticky;top:0;background:var(--card)}.logs-table .log-fail{color:#f0a0a8}.wl-remove{flex-shrink:0;width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--chip);color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer}.wl-remove:hover{color:#f0a0a8;border-color:#a83a4a}.modal-actions{display:flex;gap:10px}.modal-actions .scan-btn{flex:1;margin-top:0}.new-tickets-msg{margin:4px 0 16px;font-size:1.05rem}@media (max-width: 920px){.three-col{grid-template-columns:1fr}}@media (max-width: 820px){.body{flex-direction:column}.sidebar{width:100%;position:static}.overview{grid-template-columns:1fr}.status-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}}
