:root{--navy:#061638;--navy2:#0b2152;--blue:#183c99;--red:#e6324b;--ink:#112044;--muted:#69758a;--line:#dbe2ed;--paper:#fff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#0a1944;color:var(--ink);font:14px Inter,Arial,sans-serif}body:before{content:"";position:fixed;inset:68px 0 0;z-index:-1;opacity:.55;background:repeating-radial-gradient(ellipse 150% 110% at 50% 120%,transparent 0 88px,#2246bc 90px 92px,transparent 94px 184px),repeating-linear-gradient(95deg,transparent 0 140px,#2649bd 142px 145px,transparent 147px 285px)}input,select,button{padding:10px;border:1px solid #cfd8e6;border-radius:7px;background:#fff;color:var(--ink);font:inherit}button{cursor:pointer;font-weight:700;transition:.15s;background:var(--navy);color:#fff;border:0}button:hover{transform:translateY(-1px);background:#102a64}.login{max-width:410px;margin:10vh auto;text-align:center;background:#fff;padding:42px;border-radius:14px;border-top:4px solid var(--red);box-shadow:0 20px 46px #0005}.login img{max-height:95px;max-width:140px;object-fit:contain}.login h1{color:var(--navy);font-size:23px;letter-spacing:.05em}.eyebrow,header small{font-size:10px;font-weight:800;letter-spacing:.16em;color:#6d7eaa}.login form{display:grid;gap:12px}.login button{background:linear-gradient(90deg,#d92746,#ef4b60)}#login-error{color:#bd2037;margin:0}#app{display:grid;grid-template-columns:272px 1fr;min-height:100vh;background:linear-gradient(110deg,#071638e8,#0e2155e6 32%,#f4f6fa 32%)}aside{background:linear-gradient(180deg,#061638f5,#0b2152f2);border-right:1px solid #31457c;padding:22px 15px;color:#fff;display:flex;flex-direction:column}.club-lockup{display:flex;align-items:center;gap:12px;padding:0 8px 23px;margin-bottom:10px;border-bottom:1px solid #334979;color:#fff;font-size:12px;letter-spacing:.14em;line-height:1.5}.club-lockup img{width:54px;max-height:60px;object-fit:contain;filter:drop-shadow(0 5px 12px #0008)}.club-lockup b{font-size:15px;letter-spacing:.08em}nav{display:grid;gap:10px}.nav-group{border:1px solid #405381;border-radius:8px;background:#10275480;overflow:hidden}.nav-group summary{list-style:none;cursor:pointer;padding:12px 13px;color:#fff;font-weight:700;font-size:12px}.nav-group summary:before{content:'⌄';display:inline-block;margin-right:9px;color:#91a9e5;font-size:15px;transition:.18s}.nav-group:not([open]) summary:before{transform:rotate(-90deg)}.nav-group summary::-webkit-details-marker{display:none}.nav-items{padding:1px 8px 9px;display:grid;gap:5px;border-top:1px solid #3a4e7d}.nav-items button,nav>button{background:#fff;color:#213152;border:1px solid #d6deed;border-radius:6px;text-align:center;padding:9px 8px;font-size:11px;font-weight:650;box-shadow:none}.nav-items button:hover,nav>button:hover{background:#eef2ff;color:#0e2d72;transform:none}.nav-items button.active,nav>button.active{color:#fff;background:linear-gradient(90deg,#df304b,#f14e63);border-color:#f14e63;box-shadow:0 4px 10px #e6324b44}aside>#logout{background:transparent;border:1px solid #7586ad;color:#fff;margin:24px 2px 2px;padding:10px;font-size:11px;margin-top:auto}aside>#logout:hover{background:#e6324b;border-color:#e6324b}.main{padding:0 38px 38px;overflow:auto;background:linear-gradient(180deg,#f7f8fb 0,#fff 55%,#f5f7fb 100%)}header{display:flex;justify-content:space-between;align-items:center;margin:0 -38px 27px;padding:18px 38px;background:var(--navy);color:#fff;box-shadow:0 2px 16px #00102b33}header h1{margin:3px 0 0;color:#fff;font-size:25px;letter-spacing:-.02em}#user{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #3c5184;border-radius:22px;background:#102653;color:#fff;font-size:12px}#user:before{content:'●';color:var(--red)}.card,.filter-block{background:var(--paper);border:1px solid #e2e7ef;border-radius:10px;padding:21px;margin:13px 0;box-shadow:0 10px 24px #0c24520d}.search-head{position:relative;overflow:hidden;border-top:3px solid var(--red)}.search-head:after{content:"";position:absolute;width:280px;height:280px;border:35px solid #e9eef9;border-radius:50%;right:-150px;top:-190px}.search-head>*{position:relative;z-index:1}.search-head>span{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--red)}.search-head h2{margin:4px 0;color:#0b2355;font-size:25px}.search-head p{color:var(--muted)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.secondary{background:#fff;color:var(--navy);border:1px solid #b9c7d7}.primary{background:linear-gradient(90deg,#d92746,#ef4b60)!important}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart{min-height:430px}.table-wrap{overflow:auto;max-height:650px;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;background:#fff}th{position:sticky;top:0;background:#0a2357;color:#fff;font-size:12px}td,th{padding:9px 10px;border-bottom:1px solid #e6ebf0;text-align:left;white-space:nowrap}tbody tr:nth-child(even){background:#f8fafc}tbody tr:hover{background:#f0f5ff}.filter-block{border-left:3px solid #122e70}.streamlit-filter{display:grid;gap:18px}.filter-position{max-width:265px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.multi,.date-range,.range{display:grid;gap:7px;color:#39465a;font-weight:600}.multi select{height:44px;color:#253752;background:#f6f8fc;border-color:#dfe5ee}.multi select[multiple]{padding:5px}.multi small{font-size:11px;color:#8490a0;font-weight:500}.compact{grid-template-columns:repeat(4,minmax(150px,1fr))}.compact .multi{max-width:250px}.range output{display:flex;justify-content:space-between;color:var(--red);font-weight:500}.range output b{font-weight:500}.range>div{position:relative;height:20px}.range input[type=range]{position:absolute;left:0;top:0;width:100%;padding:0;accent-color:var(--red);background:transparent;border:0}.range input[data-bound=min]{z-index:2}.date-range>span{display:flex;gap:4px}.date-range input{min-width:0;width:50%;background:#f6f8fc;border-color:#dfe5ee}.pin-filter{width:210px;background:#fff;border:1px solid #cbd4de;color:#4a5566}.pin-filter:hover{background:#fff0f3;color:var(--red);border-color:#f0b4c0}@media(max-width:1000px){.filter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){body:before{display:none}#app{grid-template-columns:1fr;background:#f7f8fb}aside{padding:12px}.club-lockup{display:none}.main{padding:0 12px 24px}header{margin:0 -12px 18px;padding:16px 12px}.grid2,.filter-grid{grid-template-columns:1fr}.compact .multi{max-width:none}.nav-group{margin-bottom:5px}}
