*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#061421,#03101a);color:#eef7fb;font:14px/1.45 Inter,system-ui}button,input,select{font:inherit}header{height:74px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #173348;background:#04111ddd;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;gap:11px;align-items:center}.logo{font-size:42px;color:#31e68a;font-weight:900}.brand b{font:800 21px Manrope}.brand small{display:block;font-size:9px;letter-spacing:1.2px;color:#9eb5c4}nav{display:flex;gap:28px}nav a{color:#dcebf2;text-decoration:none;font-weight:600}.actions{display:flex;gap:10px;align-items:center}button{border:1px solid #2a4a60;border-radius:9px;padding:10px 16px;background:#0b2030;color:#eef7fb;font-weight:700;cursor:pointer}.pro{background:#31e68a;color:#032014;border-color:#31e68a}.wide{width:100%}.status-pill{padding:7px 10px;border-radius:999px;background:#23394a;color:#b9cbd5;font-size:10px;font-weight:800;letter-spacing:.6px}.status-pill.live{background:#123c2b;color:#53eda0}.status-pill.error{background:#4a2a2a;color:#ff9c9c}main{max-width:1450px;margin:auto}.hero{margin:18px;padding:38px 34px;border:1px solid #17364a;border-radius:16px;display:grid;grid-template-columns:1.55fr .85fr;gap:28px;background:radial-gradient(circle at 25% 40%,#123c53,transparent 38%),linear-gradient(110deg,#071722,#0b2638)}.eyebrow{font-size:10px;letter-spacing:3px;color:#7fb5d1}.hero h1{font:800 46px/1.04 Manrope;margin:8px 0 12px}.hero h1 span{color:#38ed99}.hero p{font-size:16px;color:#b7cbd7}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;margin-top:24px}.benefits span{color:#cfe2ea}.hero aside{background:#061827dd;border:1px solid #1c4158;border-radius:14px;padding:18px}.hero aside h3{margin:0;border-bottom:1px solid #17364a;padding-bottom:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.stats div{border-right:1px solid #17364a;padding:0 6px}.stats div:last-child{border:0}.stats b{display:block;font:800 28px Manrope}.stats div:nth-child(2) b{color:#69c5ea}.stats div:nth-child(3) b{color:#ffbf3c}.stats div:nth-child(4) b{color:#31e68a}.stats small{font-size:10px;color:#9fb4c1}.quote{border-top:1px solid #17364a;padding-top:12px;color:#b3c7d2;font-style:italic}.scanner{margin:18px;background:#071a28;border:1px solid #16384d;border-radius:16px;overflow:hidden}.tabs{display:flex;align-items:center;gap:7px;padding:10px;background:#0a2030;border-bottom:1px solid #17384c;overflow:auto}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;white-space:nowrap}.tabs button.active{background:#102d41;border-color:#31e68a}.tabs button.locked{color:#70899b}.tabs input{margin-left:auto;min-width:270px;padding:11px 14px;border:1px solid #29485c;background:#0b2435;border-radius:9px;color:#fff}.filters{display:grid;grid-template-columns:1.15fr 1.15fr 1fr repeat(3,1fr) 1.35fr auto;gap:9px;padding:12px;background:#081d2c;border-bottom:1px solid #16384d}.filters.hidden{display:none}.filters select,.filters input{width:100%;padding:9px;border:1px solid #26465b;background:#0b2435;color:#eaf5fb;border-radius:8px}.filters label{font-size:10px;color:#92a9b8}.filters label input{display:block;margin-top:4px}.head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px}.head h2{font:800 24px Manrope;margin:0 0 4px}.head p{margin:0;color:#8fa8b7}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 20px 16px}.summary div{background:#0b2334;border:1px solid #163d55;border-radius:10px;padding:12px 14px}.summary small{display:block;color:#8ea8b8}.summary b{font:800 23px Manrope}.table{overflow:auto;border-top:1px solid #16384d}table{width:100%;border-collapse:collapse;min-width:1200px}th,td{padding:12px;border-bottom:1px solid #153347;text-align:left}th{font-size:10px;text-transform:uppercase;color:#9eb4c1;background:#071725;position:sticky;top:74px;z-index:1}tbody tr{cursor:pointer}tbody tr:hover{background:#0d2a3d}.low{color:#31e68a}.red{color:#ff5a5a}.amber{color:#ffc13b}.green{color:#31e68a}.muted{color:#8ba2b1}.score{display:flex;gap:8px;align-items:center}.bar{width:88px;height:13px;background:#20394a;border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#ff9d43,#ff7d39)}.bar.good i{background:linear-gradient(90deg,#40d985,#66efa6)}.badge{display:inline-block;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.watch{background:#ffc13b;color:#302200}.knife{background:#ff5656}.recovery,.strong{background:#43db89;color:#082517}.history,.data,.weak{background:#516879}.risk{font-size:12px;color:#abc0cc}.cards{display:none}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 18px 34px}.grid article{background:#092131;border:1px solid #183d54;border-radius:14px;padding:18px;min-height:220px}.grid h3{font:800 17px Manrope;margin-top:0}.grid p,.grid small{color:#9eb4c1}.gauge{height:12px;background:#304859;border-radius:8px;margin-top:36px}.gauge i{display:block;width:24%;height:100%;background:#31e68a;border-radius:8px}.ends{display:flex;justify-content:space-between;margin-top:7px;color:#9cb1bd;font-size:11px}.legend{display:grid;grid-template-columns:52px 80px 1fr;gap:9px;align-items:center;font-size:11px}.legend i{height:12px;border-radius:3px}.legend .g,.legend .r{background:#43df8a}.legend .w{background:#ffc13b}.legend .k{background:#ff5656}.grid li{margin:6px 0;color:#bdd0da}footer{max-width:1450px;margin:0 auto 28px;padding:20px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;color:#8ea8b8}.small .logo{font-size:28px}.small b{font-size:15px}.small small{font-size:7px}footer p{text-align:center;font-size:11px}.drawer{display:none;position:fixed;inset:0;background:#0008;justify-content:flex-end;z-index:30}.drawer.open{display:flex}.panel{width:min(720px,96vw);height:100%;background:#071b2a;border-left:1px solid #214359;padding:28px;overflow:auto}.panel>#close{float:right;background:transparent;border:0;font-size:32px;padding:0}.detail-title{font:800 30px Manrope;margin:20px 0 2px}.detail-company{color:#9db4c2}.detail-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.metric{background:#0b2638;border:1px solid #183d54;border-radius:11px;padding:14px}.metric small{font-size:9px;color:#8fa7b6;text-transform:uppercase}.metric b{display:block;font:800 21px Manrope;margin-top:5px}.dma-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dma{background:#0b2638;border:1px solid #183d54;border-radius:11px;padding:14px}.dma h4{margin:0 0 8px}.dma b{font-size:20px}.dma .delta{display:block;font-size:12px;margin-top:4px}.note{background:#0b2638;border:1px solid #183d54;border-radius:11px;padding:15px;color:#b8cbd6;margin-top:14px}.detail-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.detail-meta div{background:#0a2232;border-radius:8px;padding:10px}.detail-meta small{display:block;color:#829caa;font-size:9px}.detail-meta b{display:block;margin-top:3px}.lockbox{border:1px dashed #2b5c73;background:#0a2638;padding:16px;border-radius:11px;margin-top:14px;text-align:center}.lockbox b{color:#31e68a}@media(max-width:1000px){nav{display:none}.hero{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr 1fr}.table{display:none}.cards{display:grid;gap:10px;padding:0 12px 14px}.stock{background:#0b2435;border:1px solid #183d54;border-radius:12px;padding:14px}.stock-top{display:flex;justify-content:space-between;gap:10px}.stock h4{margin:0;font-size:17px}.stock .co{font-size:12px;color:#91a8b6}.stock-mid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.stock-mid div{background:#0d2a3d;border-radius:8px;padding:9px}.stock-mid small{display:block;font-size:9px;color:#89a1b0}.summary{grid-template-columns:1fr 1fr}}@media(max-width:650px){header{padding:0 14px}.brand small,.actions button:first-of-type,.status-pill{display:none}.brand b{font-size:17px}.hero{margin:10px;padding:24px 18px}.hero h1{font-size:34px}.benefits{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.scanner{margin:10px}.tabs input{min-width:220px}.head .pro{display:none}.grid{grid-template-columns:1fr;margin:0 10px 24px}.filters{grid-template-columns:1fr}.metrics,.dma-grid,.detail-meta{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr;gap:14px;text-align:center}.small{justify-content:center}}
/* V3 improvements */
.data-status{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.data-status small{font-size:9px;color:#8ea8b8;white-space:nowrap}.head-actions{display:flex;gap:8px;align-items:center}.help-btn{background:#0d2a3d;border-color:#2b536a;color:#dcebf2}.help-btn:hover{border-color:#31e68a;color:#31e68a}.sortable{cursor:pointer;user-select:none}.sortable:hover{color:#fff;background:#0b2232}.sort-arrow{font-size:9px;margin-left:4px;color:#31e68a}.th-help{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:4px;border:1px solid #516879;border-radius:50%;font-size:9px;color:#b9cbd5;text-transform:none;vertical-align:middle;cursor:help}.table{overflow-x:auto;overflow-y:visible;border-top:1px solid #16384d}.table table{position:relative}.table thead{position:relative;z-index:8}.table th{position:sticky;top:74px;z-index:9;background:#071725;box-shadow:0 1px 0 #24485f,0 5px 12px #020a10aa}.table th:first-child{border-top-left-radius:3px}.empty-state{padding:30px!important;text-align:center!important;color:#9eb4c1!important}.data-note{max-width:1414px;margin:0 auto 18px;padding:13px 18px;border:1px solid #27475a;border-radius:10px;background:#081d2c;display:flex;gap:12px;align-items:flex-start;color:#a9bfcb;font-size:12px}.data-note b{color:#eef7fb;white-space:nowrap}.help-modal{display:none;position:fixed;inset:0;background:#000a;z-index:60;align-items:center;justify-content:center;padding:20px}.help-modal.open{display:flex}.help-panel{position:relative;width:min(760px,96vw);max-height:90vh;overflow:auto;background:#071b2a;border:1px solid #28526b;border-radius:14px;padding:26px;box-shadow:0 22px 70px #000}.help-panel>button{position:absolute;right:15px;top:12px;background:transparent;border:0;font-size:30px;padding:0 8px}.help-panel h2{font:800 25px Manrope;margin:0 40px 6px 0}.help-panel>p{color:#9eb4c1}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.help-grid div{background:#0b2638;border:1px solid #183d54;border-radius:10px;padding:13px}.help-grid b{display:block;margin-bottom:4px;color:#eef7fb}.help-grid span{display:block;color:#9eb4c1;font-size:12px}.help-disclaimer{border-top:1px solid #183d54;padding-top:14px;margin-top:18px}.status-pill.daily{background:#17364a;color:#8fd3ee}
@media(max-width:1000px){.data-status small{display:none}.head-actions .pro{display:none}.help-grid{grid-template-columns:1fr}.table th{top:74px}}
@media(max-width:650px){.data-status{display:none}.head{align-items:flex-start;gap:12px}.head-actions{margin-left:auto}.data-note{margin:0 10px 18px;display:block}.data-note b{display:block;margin-bottom:4px}}

/* V3.2 fixes */
.filters .check-filter{display:flex;flex-direction:column;justify-content:flex-end;gap:5px}.filters .check-row{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 10px;border:1px solid #26465b;background:#0b2435;border-radius:8px;color:#eaf5fb;font-size:12px;white-space:nowrap}.filters .check-row input{width:auto;margin:0;accent-color:#31e68a}.table{overflow-x:auto;overflow-y:visible}.table thead{position:sticky;top:74px;z-index:9}.table th{position:static;z-index:auto;background:#071725;box-shadow:0 1px 0 #24485f,0 5px 12px #020a10aa}.table tbody tr:first-child td{border-top:1px solid #17384c}.table{scroll-margin-top:112px}
@media(max-width:1000px){.table thead{top:74px}}

/* V3.2.1 header safety fix: keep table headings in normal document flow.
   This removes all sticky positioning that could overlap Row 1. */
.table thead,
.table th {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
}
.table thead {
  display: table-header-group !important;
}
.table tbody tr:first-child td {
  position: relative;
  z-index: 0;
}

/* V3.2.3 Supabase auth test */
.account-mini{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:105px}.account-mini span{font-size:12px;font-weight:800}.account-mini small{font-size:10px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7}.hidden{display:none!important}.auth-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(3,8,20,.76);z-index:5000;padding:20px}.auth-modal.open{display:flex}.auth-panel{position:relative;width:min(430px,100%);background:#0d1729;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.45)}.auth-panel h2{margin:0 0 8px}.auth-panel p{color:#9eabc0}.auth-panel label{display:block;font-size:12px;font-weight:800;margin:14px 0 5px}.auth-panel input{width:100%;box-sizing:border-box;background:#07111f;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:10px;padding:12px 13px;font:inherit}.auth-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#fff;font-size:26px;cursor:pointer}.auth-submit{width:100%;margin-top:14px}.auth-switch{width:100%;margin-top:8px;background:transparent;border:0;color:#7dd3fc;cursor:pointer;padding:8px}.auth-message{min-height:18px;margin-top:8px;font-size:12px}.auth-message.error{color:#fca5a5}.auth-message.ok{color:#86efac}.auth-note{font-size:11px;line-height:1.45}.tab.pro-locked{opacity:.65}.tab.pro-locked::after{content:""}

/* V3.2.4 password recovery */
.auth-panel .auth-switch{font-weight:700}.auth-panel #authForgot{margin-top:4px;color:#fbbf24}.auth-panel label.hidden{display:none!important}
