:root{--bg:#07111d;--bg2:#0a1422;--panel:#0d1928;--panel2:#101f31;--line:#1d3147;--text:#ecf5ff;--muted:#8fa3b9;--blue:#2d8cff;--cyan:#63b7ff;--green:#18d67b;--red:#ff4d5c;--amber:#ffa928;--purple:#985cff}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#08111d,#06101a 55%,#08131f);color:var(--text);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}.topbar{height:70px;border-bottom:1px solid #13263b;background:rgba(5,14,24,.96);display:flex;align-items:center;padding:0 20px;position:sticky;top:0;z-index:20}.logo{display:flex;align-items:center;gap:10px;width:255px;color:#fff;text-decoration:none}.logo-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:linear-gradient(145deg,#2c8cff,#1262cf);font-weight:1000;font-size:25px;font-style:italic}.logo b{display:block;font-size:22px;letter-spacing:-.03em}.logo small{display:block;color:#7f96ac;font-size:9px;font-weight:800;letter-spacing:.09em}.topnav{display:flex;height:100%;gap:12px}.topnav a{display:flex;align-items:center;color:#bbc8d6;text-decoration:none;padding:0 14px;border-bottom:2px solid transparent;font-weight:700}.topnav a:hover,.topnav a.active{color:#40a2ff;border-color:#2d8cff}.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.icon-btn{border:1px solid #21364c;background:#0b1725;color:#cad7e5;border-radius:9px;width:34px;height:34px}.analyst{color:#c7d3df;margin-left:5px}.app-shell{display:grid;grid-template-columns:188px 1fr;min-height:calc(100vh - 70px)}.sidebar{border-right:1px solid #13263b;background:#091522;padding:18px 11px;position:sticky;top:70px;height:calc(100vh - 70px);overflow:auto}.side-group{padding-bottom:18px;margin-bottom:13px;border-bottom:1px solid #15283b}.side-title{font-size:10px;color:#526b83;font-weight:900;letter-spacing:.14em;padding:8px 10px}.side-link{display:flex;align-items:center;gap:10px;padding:11px 10px;color:#aebdcb;text-decoration:none;border-radius:8px;margin:2px 0;font-weight:650}.side-link span{flex:1}.side-link em{font-style:normal;background:#2d8cff;color:white;border-radius:999px;padding:1px 7px;font-size:11px}.side-link:hover,.side-link.active{background:#11283d;color:#fff}.side-link.active{box-shadow:inset 3px 0 #2d8cff}.data-status{border:1px solid #20354a;border-radius:10px;background:#0c1c2c;padding:12px;margin-top:20px}.data-status b,.data-status span,.data-status small{display:block}.data-status span{color:#72e89e;margin:8px 0}.data-status i{display:inline-block;width:7px;height:7px;background:#1bd77d;border-radius:50%;box-shadow:0 0 10px #1bd77d}.data-status small{color:#7d91a5;line-height:1.65}.content{padding:16px;min-width:0}.card,.card-lite{background:linear-gradient(180deg,#0f1d2d,#0b1725);border:1px solid #20344a;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.12)}.toolbar{display:flex;align-items:center;padding:10px 12px;gap:16px}.date-switch{display:flex;align-items:center;gap:8px;border-right:1px solid #1a3045;padding-right:18px}.date-switch button{border:0;background:transparent;color:#7d93a8;font-size:20px}.date-switch b{white-space:nowrap}.date-switch span{color:#70869b;font-weight:500}.sport-tabs{display:flex;gap:5px;flex-wrap:wrap}.sport-tabs button,.combo-tabs button{background:#0c1a29;border:1px solid #22384f;color:#afbfce;padding:8px 12px;border-radius:7px;font-weight:700}.sport-tabs button.active,.sport-tabs button:hover{background:#11335a;border-color:#2668a5;color:#fff}.metric-strip{display:flex;align-items:center;gap:8px;margin:10px 0}.metric{background:#0d1a28;border:1px solid #24384b;color:#a8b8c7;padding:7px 12px;border-radius:7px;font-weight:700}.metric b{margin-left:5px;color:#d8e8f8}.metric.active{background:#263344;color:#fff}.metric.green{color:#5be497;border-color:#216544}.metric.red{color:#ff717d;border-color:#6e2d36}.metric.purple{color:#bd8fff;border-color:#4c3772}.metric.amber{color:#ffbd4a;border-color:#6b5427}.sorter{margin-left:auto;color:#8195a9}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:12px;align-items:start}.schedule{padding:0;overflow:hidden}.table-head{display:grid;grid-template-columns:72px minmax(320px,1fr) 150px 145px 76px 65px 92px;padding:11px 12px;background:#0e1c2b;color:#8095aa;border-bottom:1px solid #21364b;font-size:11px;text-align:center}.table-head span:nth-child(2){text-align:left}.time-group{display:grid;grid-template-columns:72px 1fr;border-bottom:1px solid #1c3146}.time-group:last-child{border-bottom:0}.time-cell{padding:16px 10px;background:#0c1826;text-align:center;border-right:1px solid #1b3044}.time-cell strong{display:block;font-size:16px}.time-cell small{display:block;color:#70869c;margin-top:5px}.time-matches{min-width:0}.match-row{display:grid;grid-template-columns:minmax(320px,1fr) 150px 145px 76px 65px 92px;align-items:center;min-height:54px;border-bottom:1px solid #182b3f;padding:0 10px;transition:.15s}.match-row:last-child{border-bottom:0}.match-row:hover{background:#10233a}.match-row.selected{background:#0e2d24;box-shadow:inset 0 0 0 1px #1fd177}.match-main{display:grid;grid-template-columns:24px 94px minmax(88px,1fr) 30px minmax(88px,1fr);align-items:center;gap:7px}.league-flag{font-size:10px;color:#748ba1}.league-name{color:#9eb1c3;font-size:11px}.match-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-main i{font-style:normal;color:#617a91;text-align:center}.prob,.odds{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font-variant-numeric:tabular-nums}.prob b{color:#46df8d}.prob span{color:#bbc7d2}.prob em{font-style:normal;color:#6ab6ff}.odds b,.odds span,.odds em{font-style:normal;color:#e2ebf4}.movement{text-align:center;font-weight:800}.movement.down{color:#ff5967}.movement.up{color:#25d780}.confidence{text-align:center;color:#7ed4ff;font-weight:900}.confidence.hot{color:#47e28a}.row-actions{display:flex;gap:6px;justify-content:flex-end}.detail,.add-pick,.mini-add{border:1px solid #286297;background:#0f2941;color:#73bfff;text-decoration:none;border-radius:6px;padding:6px 8px;font-weight:800}.add-pick,.mini-add{cursor:pointer;font-size:16px;line-height:1}.add-pick.added,.mini-add.added{background:#18bc6b;border-color:#2ae081;color:#fff}.empty,.combo-empty{padding:24px;color:#7890a6;text-align:center}.combo-column{display:grid;gap:12px;position:sticky;top:86px}.combo-card,.ai-combos{padding:0;overflow:hidden}.card-title{height:48px;padding:0 14px;display:flex;align-items:center;border-bottom:1px solid #20344a}.card-title h2{font-size:15px;margin:0}.card-title h2 span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;border-radius:50%;background:#2789ff;font-size:11px}.card-title button,.card-title a{margin-left:auto;border:0;background:transparent;color:#7f95aa;text-decoration:none;font-size:12px}.combo-list{min-height:80px}.combo-item{display:grid;grid-template-columns:32px 1fr 54px 24px;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid #1b3044}.combo-check{width:23px;height:23px;display:grid;place-items:center;border-radius:5px;background:#27c978;color:white}.combo-item b{display:block}.combo-item small{display:block;color:#8297ab;margin-top:4px}.combo-price{font-size:18px;font-weight:900;text-align:right}.remove-pick{border:0;background:transparent;color:#72879b;font-size:18px;cursor:pointer}.pick-stats{display:flex;gap:12px;color:#8397aa;font-size:11px;margin-top:6px}.pick-stats em{font-style:normal;color:#55df91}.combo-summary{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #20344a;border-bottom:1px solid #20344a}.combo-summary>div{padding:13px;border-right:1px solid #20344a;border-bottom:1px solid #20344a}.combo-summary>div:nth-child(even){border-right:0}.combo-summary small{display:block;color:#7890a5}.combo-summary strong{display:block;margin-top:5px;font-size:22px}.combo-summary>div:nth-child(2) strong{color:#45df8d}.risk-box{padding:13px}.risk-label{display:flex;justify-content:space-between}.risk-label b{color:#ffb23c}.risk-track{height:7px;background:#172a3d;border-radius:10px;overflow:hidden;margin:9px 0}.risk-track i{display:block;height:100%;background:linear-gradient(90deg,#26d77b,#ffc23d,#ff5d69)}.risk-box ul{padding-left:18px;margin:8px 0 0;color:#8196a9;font-size:11px;line-height:1.7}.primary{width:calc(100% - 26px);margin:0 13px 13px;border:0;background:linear-gradient(90deg,#258aff,#1771df);color:#fff;padding:12px;border-radius:7px;font-weight:900}.combo-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:9px}.combo-tabs button{border-radius:0}.combo-tabs button.active{background:#123e2d;color:#6fec9f;border-color:#226246}.ai-row{display:grid;grid-template-columns:28px 1fr 65px 34px;align-items:center;gap:7px;padding:10px 13px;border-top:1px solid #1b3044}.rank{color:#f0b234;font-weight:900}.ai-row small{display:block;color:#7c91a6;margin-top:3px}.ai-score{text-align:right}.ai-score b{color:#4ce18b;font-size:18px}.mini-add{padding:6px}.hidden{display:none!important}@media(max-width:1250px){.dashboard-grid{grid-template-columns:1fr}.combo-column{position:static;grid-template-columns:1fr 1fr}.topnav a{padding:0 8px}.sidebar{display:none}.app-shell{grid-template-columns:1fr}.logo{width:auto;margin-right:20px}}@media(max-width:900px){.topnav{display:none}.content{padding:10px}.toolbar{align-items:flex-start;flex-direction:column}.date-switch{border-right:0}.metric-strip{overflow:auto}.dashboard-grid{display:block}.combo-column{display:grid;grid-template-columns:1fr;margin-top:12px}.table-head{display:none}.time-group{grid-template-columns:58px 1fr}.time-cell{padding:14px 6px}.match-row{grid-template-columns:1fr 70px 42px;gap:6px;padding:10px}.match-main{grid-column:1/-1;grid-template-columns:22px 75px minmax(70px,1fr) 20px minmax(70px,1fr)}.prob{grid-column:1}.odds{grid-column:1}.movement{grid-column:2;grid-row:2}.confidence{grid-column:2;grid-row:3}.row-actions{grid-column:3;grid-row:2/4;flex-direction:column}.detail{font-size:10px;padding:5px}.sport-tabs{overflow:auto;flex-wrap:nowrap;width:100%}.sport-tabs button{white-space:nowrap}}


/* Integrated V2 additions */
html{scroll-behavior:smooth}a{color:inherit}.live-pill,.today-pill{border:1px solid #20364c;background:#0b1826;border-radius:999px;padding:7px 10px;color:#9eb2c5;font-size:11px;font-weight:800}.live-pill{color:#62e89d}.live-pill i,.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1bd77d;box-shadow:0 0 10px #1bd77d;margin-right:4px}.date-switch a{width:28px;height:28px;display:grid;place-items:center;border:1px solid #22384e;border-radius:7px;text-decoration:none;color:#95a8bb}.metric-strip a{text-decoration:none}.sorter{display:flex;gap:4px}.sorter a{text-decoration:none;color:#71869b;border:1px solid #20364a;border-radius:6px;padding:6px 8px}.sorter a.active,.sorter a:hover{color:#fff;background:#183555}.empty-state{padding:60px 24px;text-align:center;color:#768ea5}.empty-state strong,.empty-state span{display:block}.empty-state strong{font-size:16px;color:#c8d6e4;margin-bottom:8px}.empty-state code{color:#65bcff}.league-name{display:flex;flex-direction:column}.league-name small{color:#607c95;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team{display:flex;align-items:center;gap:6px;min-width:0}.team img{width:22px;height:22px;object-fit:contain}.team-away{justify-content:flex-end}.versus{font-size:11px}.odds-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.pick-option{min-width:0;border:1px solid #263d54;background:#0b1927;color:#b8c9d8;border-radius:6px;padding:5px 2px;cursor:pointer;transition:.15s}.pick-option small{display:block;color:#69839a;font-size:9px}.pick-option b{display:block;font-size:12px;margin-top:2px}.pick-option:hover{border-color:#378dd5;background:#102b43;color:#fff}.pick-option.active,.pick-option.added{background:#123d2d;border-color:#2ad47e;color:#79f2ac}.pick-option:disabled{opacity:.35;cursor:not-allowed}.movement small,.confidence small{display:block;font-size:9px;color:#73899d;margin-top:3px;font-weight:600}.detail-link{display:inline-flex;white-space:nowrap;border:1px solid #27649c;background:#102840;color:#72bdff;text-decoration:none;border-radius:6px;padding:6px 7px;font-size:10px;font-weight:800}.combo-card{overflow:hidden}.combo-empty{padding:28px 14px}.combo-item .choice-badge{display:inline-flex;padding:2px 6px;border-radius:999px;background:#173b2e;color:#67e99d;font-size:10px;font-weight:900;margin-right:5px}.combo-summary strong{font-size:19px}.combo-summary>div:nth-child(4) strong{color:#6ab8ff}.combo-modal{position:fixed;inset:0;background:rgba(0,0,0,.68);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}.combo-modal.open{display:flex}.combo-modal-card{position:relative;width:min(720px,96vw);max-height:85vh;overflow:auto;background:#0c1927;border:1px solid #2b4560;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.45);padding:22px}.modal-close{position:absolute;right:14px;top:11px;border:0;background:transparent;color:#8ca2b6;font-size:26px;cursor:pointer}.analysis-score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.analysis-score-grid>div{background:#0a1522;border:1px solid #20354a;border-radius:9px;padding:12px}.analysis-score-grid small{display:block;color:#748da4}.analysis-score-grid b{display:block;font-size:20px;margin-top:5px}.analysis-lines{border-top:1px solid #1d3247;margin-top:14px}.analysis-lines .line{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #182d41}.analysis-lines small{color:#7891a7}.analysis-lines b{color:#dae8f5}.analysis-warning{margin-top:14px;padding:12px;border:1px solid #5c4a25;background:#211d12;color:#e7be68;border-radius:8px;font-size:12px;line-height:1.6}.page-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.page-head h1{margin:0;font-size:24px}.page-head p{margin:5px 0 0;color:#70879c}.page-actions{display:flex;gap:7px}.page-actions a,.page-actions button{border:1px solid #29445f;background:#0d1c2b;color:#9ac5e7;border-radius:7px;padding:8px 10px;text-decoration:none}.detail-page{max-width:1500px;margin:0 auto}.match-hero2{display:grid;grid-template-columns:1fr 380px;gap:12px;margin-bottom:12px}.match-summary{padding:18px}.crumb{color:#6f899f;font-size:11px;margin-bottom:12px}.hero-teams{display:grid;grid-template-columns:1fr 85px 1fr;align-items:center;gap:12px}.hero-team{display:flex;align-items:center;gap:12px}.hero-team.away{justify-content:flex-end;text-align:right}.hero-team img{width:50px;height:50px;object-fit:contain}.hero-team b{font-size:20px}.hero-team small{display:block;color:#70889e;margin-top:4px}.hero-center{text-align:center}.hero-center b{display:block;font-size:18px}.hero-center small{color:#6e879f}.probability-card{padding:15px}.probability-card h3{margin:0 0 10px;font-size:12px;color:#8399ad}.probability-triple{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.probability-triple>div{background:#0a1724;border:1px solid #20364c;border-radius:8px;padding:11px;text-align:center}.probability-triple span{display:block;color:#6f879d;font-size:10px}.probability-triple b{font-size:21px}.probability-triple>div:first-child b{color:#4ce28e}.probability-card .conf-line{display:flex;justify-content:space-between;margin-top:12px;color:#768ea4}.analytics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.stat-card{padding:14px}.stat-card small{display:block;color:#6f879e}.stat-card b{display:block;font-size:22px;margin-top:5px}.stat-card em{display:block;font-style:normal;color:#7991a6;font-size:10px;margin-top:4px}.stat-card.good b{color:#51e493}.detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:12px}.panel2{padding:15px;margin-bottom:12px}.panel2 h2{font-size:14px;margin:0 0 12px}.panel-sub{color:#6f879d;font-size:11px;margin-top:-7px;margin-bottom:12px}.prob-bars .bar-row{display:grid;grid-template-columns:70px 1fr 55px;gap:9px;align-items:center;margin:9px 0}.bar-track{height:9px;background:#162a3d;border-radius:20px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,#2079d9,#55d894);border-radius:20px}.bar-row b{text-align:right}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:9px 8px;border-bottom:1px solid #1b3045;text-align:left;font-size:11px}.history-table th{color:#70889e;background:#0c1927}.history-table td{color:#b8c8d6}.form-strip{display:flex;gap:6px;flex-wrap:wrap}.form-chip{border:1px solid #263d54;border-radius:7px;padding:7px 9px;background:#0b1927;font-size:11px}.form-chip.win{color:#5de89a}.form-chip.loss{color:#ff7782}.form-chip.draw{color:#eab75c}.empty-mini{color:#6d8499;font-size:11px;padding:12px 0}.injury-list{display:grid;gap:7px}.injury-item{display:grid;grid-template-columns:1fr auto;gap:8px;background:#0a1724;border:1px solid #20354a;border-radius:7px;padding:9px}.injury-item small{color:#70889d;display:block;margin-top:2px}.injury-item em{font-style:normal;color:#ff7b84;font-size:10px}.lab-grid{display:grid;grid-template-columns:320px 1fr;gap:12px}.lab-form{padding:16px}.lab-form label{display:block;color:#7690a7;font-size:11px;margin-bottom:10px}.lab-form input,.lab-form select{width:100%;margin-top:5px;background:#091724;border:1px solid #263e55;color:#d8e5f1;border-radius:7px;padding:9px}.lab-form button{width:100%;border:0;background:#2588f8;color:#fff;border-radius:7px;padding:11px;font-weight:900}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.kpi{padding:15px}.kpi small{display:block;color:#728ba1}.kpi b{display:block;font-size:25px;margin-top:5px}.kpi.good b{color:#4ce08e}.status-good{color:#48e18d}.status-bad{color:#ff6d78}
@media(max-width:1100px){.match-hero2{grid-template-columns:1fr}.analytics-grid{grid-template-columns:repeat(3,1fr)}.detail-grid{grid-template-columns:1fr}.lab-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.live-pill,.today-pill{display:none}.hero-teams{grid-template-columns:1fr}.hero-center{order:-1}.hero-team,.hero-team.away{justify-content:center;text-align:center}.analytics-grid{grid-template-columns:repeat(2,1fr)}.analysis-score-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;gap:10px;flex-direction:column}}
