body,html{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#0b1020;color:#edf2ff;min-height:100%}a{color:inherit;text-decoration:none}code{font-size:.9em;background:#1a1f36;padding:2px 6px;border-radius:4px}.mono{font-family:ui-monospace,monospace}.app-layout{display:flex;min-height:100vh}.app-sidebar{width:220px;flex-shrink:0;background:#12172a;border-right:1px solid #2d3748;display:flex;flex-direction:column}.app-brand{padding:20px 16px;font-weight:700;font-size:14px;color:#a3bffa;border-bottom:1px solid #2d3748}.app-nav{display:flex;flex-direction:column;padding:12px 8px;gap:4px;flex:1 1}.app-nav-link{padding:10px 12px;border-radius:6px;font-size:14px;color:#cbd5f5}.app-nav-link:hover{background:#1a223f;color:#fff}.app-nav-link.subtle{font-size:13px;color:#718096}.app-sidebar-footer{padding:12px 8px 20px;border-top:1px solid #2d3748}.app-main{flex:1 1;min-width:0}.app-page-header{padding:24px 28px 0}.app-page-header h1{margin:0;font-size:22px;font-weight:600}.app-page-body{padding:16px 28px 32px}.page-intro{margin:0 0 20px;color:#a0aec0;font-size:14px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:14px;gap:14px}.kpi-card{background:#12172a;border:1px solid #2d3748;border-radius:8px;padding:16px}.kpi-value{font-size:26px;font-weight:700;color:#fff}.kpi-label{margin-top:6px;font-size:12px;color:#a0aec0;line-height:1.35}.dashboard-section-title{margin:24px 0 10px;font-size:15px;font-weight:600;color:#cbd5f5}.flow-filters{margin-top:10px}.table-wrap{overflow-x:auto;border:1px solid #2d3748;border-radius:8px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table td,.data-table th{text-align:left;padding:10px 12px;border-bottom:1px solid #2d3748}.data-table th{background:#12172a;color:#a0aec0;font-weight:600}.data-table tbody tr:hover{background:#141a30}.table-link{color:#7c9cff;text-decoration:underline;text-underline-offset:3px}.table-link:hover{color:#a3bffa}.back-link{display:inline-block;margin-bottom:16px;font-size:14px;color:#7c9cff;text-decoration:underline;text-underline-offset:3px}.back-link:hover{color:#a3bffa}.detail-panel{background:#12172a;border:1px solid #2d3748;border-radius:8px;padding:20px 24px;max-width:720px}.detail-row{display:grid;grid-template-columns:minmax(140px,32%) 1fr;grid-gap:8px 20px;gap:8px 20px;padding:10px 0;border-bottom:1px solid #2d3748;font-size:14px;align-items:start}.detail-row:last-child{border-bottom:none}.detail-label{color:#a0aec0;font-weight:500}.detail-value{color:#edf2ff;word-break:break-word}.detail-value pre.json-block{margin:0;padding:12px;background:#0b1020;border-radius:6px;font-size:12px;line-height:1.45;max-height:240px;overflow:auto;border:1px solid #2d3748}.data-table .empty-cell{color:#718096;text-align:center;padding:24px}.alert{padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.5}.alert-error{background:#3b1c1c;border:1px solid #742a2a;color:#fed7d7}.alert-hint{margin:10px 0 0;font-size:13px;color:#feb2b2}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.login-card{width:100%;max-width:400px;background:#12172a;border:1px solid #2d3748;border-radius:10px;padding:28px}.login-card h1{margin:0 0 8px;font-size:22px}.login-hint{margin:0 0 20px;font-size:13px;color:#a0aec0;line-height:1.45}.login-form{gap:16px}.login-form,.login-form .field{display:flex;flex-direction:column}.login-form .field{gap:6px;font-size:13px;color:#cbd5f5}.login-form input{padding:10px 12px;border-radius:6px;border:1px solid #4a5568;background:#0b1020;color:#fff;font-size:14px}.login-error{margin:0;font-size:13px;color:#fc8181}.btn-primary{margin-top:4px;padding:12px 16px;border:none;border-radius:6px;background:#4c6ef5;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.session-actions-block{margin-bottom:20px}.session-actions-block .alert{margin-bottom:12px}.station-actions-block{margin-bottom:20px}.station-actions-block .alert{margin-bottom:12px}.muted-note{color:#a0aec0;font-size:13px}.btn-secondary{padding:12px 16px;border-radius:6px;border:1px solid #4a5568;background:transparent;color:#cbd5f5;font-size:14px;font-weight:600;cursor:pointer}.btn-secondary:hover:not(:disabled){background:#1a223f;border-color:#718096;color:#fff}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger-outline{border-color:#9b2c2c;color:#feb2b2}.btn-danger-outline:hover:not(:disabled){background:#3b1c1c;border-color:#c53030;color:#fff}.session-create-form{display:flex;flex-direction:column;gap:14px}.session-create-form .field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cbd5f5}.session-create-form input,.session-create-form select{padding:10px 12px;border-radius:6px;border:1px solid #4a5568;background:#0b1020;color:#fff;font-size:14px}.incident-form{display:flex;flex-direction:column;gap:14px}.incident-form .field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cbd5f5}.incident-form input,.incident-form select,.incident-form textarea{padding:10px 12px;border-radius:6px;border:1px solid #4a5568;background:#0b1020;color:#fff;font-size:14px}.incident-form textarea{resize:vertical}.inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.incidents-list{margin-top:16px}.refund-form{gap:14px}.refund-form,.refund-form .field{display:flex;flex-direction:column}.refund-form .field{gap:6px;font-size:13px;color:#cbd5f5}.refund-form input,.refund-form select{padding:10px 12px;border-radius:6px;border:1px solid #4a5568;background:#0b1020;color:#fff;font-size:14px}.status-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.status-chip{border:1px solid #2d3748;border-radius:999px;padding:6px 10px;font-size:12px;color:#cbd5f5;background:#12172a}.status-chip:hover{border-color:#4a5568;color:#fff}.status-chip.active{border-color:#4c6ef5;color:#fff;background:#1a223f}.station-live-actions{display:flex;flex-wrap:wrap;gap:10px}.station-live-session{display:flex;flex-direction:column;gap:4px}.session-countdown{display:inline-block;font-size:12px;color:#9ae6b4}.session-countdown.expired{color:#feb2b2}.play-public-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.play-public-card{width:100%;max-width:460px;background:#12172a;border:1px solid #2d3748;border-radius:12px;padding:22px;box-sizing:border-box}.play-public-card h1{margin:0 0 6px;font-size:24px;line-height:1.25}.play-public-chip{display:inline-block;margin:0 0 10px;padding:4px 10px;border:1px solid #4c6ef5;border-radius:999px;color:#a3bffa;font-size:12px;font-weight:600}.play-offers{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;margin-top:14px}.play-offer-form{margin:0}.play-offer-btn{width:100%;display:flex;justify-content:space-between;align-items:center}.play-session-page{min-height:100vh;background:#000;color:#fff;padding:16px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;position:relative}.play-session-logo{position:absolute;top:16px;right:16px;border:1px solid #4c6ef5;border-radius:999px;padding:6px 12px;color:#a3bffa;font-size:12px;font-weight:700}.play-session-card{width:100%;max-width:520px;text-align:center}.play-session-card h1{margin:0 0 12px;font-size:34px;line-height:1.1}.play-session-phase{margin:0;color:#cbd5f5;font-size:20px}.play-session-timer{margin:12px 0 0;font-size:clamp(64px,20vw,128px);font-weight:700;line-height:1;letter-spacing:1px}.play-session-note{margin:14px 0 0;color:#d6defa;font-size:22px;font-weight:600}.play-session-extension{margin:20px auto 0;max-width:320px;display:grid;grid-gap:6px;gap:6px}.play-session-extension p{margin:0;color:#d6defa}.play-session-extension-btn{width:100%;margin-top:6px}.auto-refund-summary{margin:1rem 0;padding:1rem;border:1px solid hsla(0,0%,100%,.12);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.auto-refund-summary p{margin:.35rem 0 0;opacity:.75}.auto-refund-count{padding:.35rem .65rem;border-radius:999px;font-weight:700;background:hsla(0,0%,100%,.08)}.refund-reason-cell{display:flex;flex-direction:column;gap:.25rem}.refund-auto-badge,.refund-manual-badge{width:-moz-fit-content;width:fit-content;padding:.18rem .5rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em}.refund-auto-badge{background:rgba(255,193,7,.16);border:1px solid rgba(255,193,7,.35)}.refund-manual-badge{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.14)}.play-refund-notice{margin:1rem 0;padding:.9rem 1rem;border:1px solid rgba(80,140,255,.55);border-radius:16px;background:rgba(60,110,255,.14);color:#eaf0ff;font-weight:600;line-height:1.45}.play-session-extension-warning{margin-top:.75rem;color:rgba(235,240,255,.78);font-size:.92rem;line-height:1.35}.partner-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;box-sizing:border-box;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 15%,rgba(76,110,245,.22),transparent 42%),#070b16}.partner-login-page:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(50,90,255,.08);filter:blur(70px);pointer-events:none}.partner-login-logo{position:fixed;top:22px;left:26px;width:210px;height:auto;z-index:10}.partner-login-card{position:relative;width:100%;max-width:420px;padding:34px;box-sizing:border-box;border-radius:18px;background:rgba(18,23,42,.96);border:1px solid rgba(124,156,255,.28);box-shadow:0 24px 80px rgba(0,0,0,.36)}.partner-login-card h1{margin:8px 0;font-size:30px;color:#fff}.partner-eyebrow,.partner-login-badge{font-size:11px;letter-spacing:.18em;font-weight:800;color:#7c9cff}.partner-shell{min-height:100vh;background:radial-gradient(circle at top right,rgba(76,110,245,.1),transparent 32%),#0b1020}.partner-header{min-height:76px;padding:0 32px;border-bottom:1px solid #26304d;background:rgba(13,18,35,.95);display:flex;align-items:center;justify-content:space-between;gap:20px}.partner-header-logo{width:175px;height:auto}.partner-header-actions{display:flex;align-items:center;gap:18px;color:#aeb9d8;font-size:13px}.partner-logout{border:1px solid #394664;border-radius:8px;background:transparent;color:#dce5ff;padding:9px 13px;cursor:pointer}.partner-logout:hover{background:#161e35}.partner-content{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:42px 0 60px}.partner-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-bottom:30px}.partner-hero h1,.partner-tournament-hero h1{margin:6px 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.1}.partner-hero p,.partner-tournament-hero p{margin:0;color:#9da9c7;line-height:1.55}.partner-tournament-button{flex-shrink:0;padding:14px 20px;border-radius:10px;background:linear-gradient(135deg,#4169e1,#6246ea);color:#fff;font-size:14px;font-weight:800;box-shadow:0 12px 32px rgba(76,110,245,.25)}.partner-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,300px));grid-gap:16px;gap:16px}.partner-kpi-card{min-height:130px;padding:22px;box-sizing:border-box;border-radius:14px;border:1px solid #293655;background:linear-gradient(145deg,#12192c,#101527)}.partner-kpi-label{color:#a9b5d3;font-size:13px}.partner-kpi-value{margin-top:12px;color:#fff;font-size:42px;line-height:1;font-weight:800}.partner-section{margin-top:32px}.partner-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}.partner-section-heading h2{margin:0 0 5px;font-size:20px}.partner-section-heading p{margin:0;color:#8996b6;font-size:13px}.partner-table-wrap{overflow-x:auto;border:1px solid #293655;border-radius:14px;background:#101628}.partner-table{width:100%;border-collapse:collapse;font-size:14px}.partner-table td,.partner-table th{padding:15px 18px;text-align:left;border-bottom:1px solid #242e49}.partner-table th{background:#141b30;color:#8f9cbc;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.partner-table tbody tr:last-child td{border-bottom:none}.partner-table tbody tr:hover{background:#131b31}.partner-empty{padding:34px!important;text-align:center!important;color:#7f8ba8}.partner-back-link{display:inline-block;margin-bottom:30px;color:#93aaff;font-size:14px}.partner-tournament-hero{max-width:720px;padding:42px;border-radius:18px;border:1px solid #293655;background:radial-gradient(circle at 80% 0,rgba(76,110,245,.2),transparent 40%),#11182b}.partner-trophy{margin-bottom:18px;font-size:46px}.partner-coming-soon{display:inline-block;margin-top:28px;padding:10px 14px;border-radius:8px;background:rgba(76,110,245,.12);border:1px solid rgba(124,156,255,.24);color:#abc0ff;font-size:13px;font-weight:600}@media (max-width:700px){.partner-login-logo{position:absolute;width:160px;left:50%;top:24px;transform:translateX(-50%)}.partner-login-page{padding-top:110px}.partner-header{padding:0 18px}.partner-header-logo{width:140px}.partner-header-actions>span{display:none}.partner-content{width:min(100% - 28px,1180px);padding-top:28px}.partner-hero{flex-direction:column;align-items:flex-start}.partner-tournament-button{width:100%;box-sizing:border-box;text-align:center}.partner-kpi-grid{grid-template-columns:1fr}.partner-tournament-hero{padding:28px 22px}}