:root{--orange:#ff7200;--orange-soft:#3a210f;--ink:#f4f6f8;--muted:#9ba3ac;--line:#30363d;--bg:#070c10;--green:#58c84c;--red:#ff594d;--blue:#418eea;--shadow:0 8px 30px rgba(0,0,0,.25)}
body{background:radial-gradient(circle at 80% 0,#131c22 0,transparent 38%),#070c10;color:var(--ink)}
.app{grid-template-columns:216px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#071016,#080c10);border-right:1px solid #293038;padding:20px 10px}
.brand{padding:0 8px 22px;display:block}.brand-mark{display:none}.brand img{display:block;width:175px;height:54px;object-fit:contain;object-position:left center}.brand b{color:#ff870d;font-size:18px}.brand span{color:#89939d;margin:2px 0 0 47px}
.nav-group{display:none}.nav{gap:8px}.nav button{height:45px;color:#c1c7cd;border-radius:7px;font-size:14px}.nav button:hover{background:#151c21}.nav button.active{background:linear-gradient(90deg,#ff7600,#65310e);box-shadow:none}.nav i{color:#ff850a;font-size:17px}.nav button.active i{color:#fff}
.side-account{border-color:#2a3035}.topbar{height:70px;background:#080e13e8;border-color:#2a3035}.crumb b{color:#fff;font-size:20px}.pill,.avatar,.select,.search,.secondary{background:#11181e;border-color:#343b42;color:#e9edf0}.content{max-width:none;padding:18px 20px 30px}.hero{margin-bottom:16px}.hero h1{font-size:22px}.hero p,.crumb{color:#8f98a1}.primary{background:linear-gradient(135deg,#ff8500,#ff5900)}
.metric,.panel{background:linear-gradient(145deg,#141b20,#10161a);border-color:#343a40;box-shadow:var(--shadow);border-radius:8px}.metrics{gap:14px}.metric{padding:17px}.metric-icon,.todo-icon{background:linear-gradient(145deg,#4c2b13,#231a12);border:1px solid #7b410f;color:#ff8500}.metric strong{font-size:27px}.panel-head{border-color:#31373d}.panel-head a,.link{color:#ff8500}.todo,.quick button{background:#12191e;border-color:#30373d}.todo p,.schedule-item small,.sub,.empty{color:#89939d}.schedule-item,th,td{border-color:#2a3137}.badge{background:#4a1f19;color:#ff7667}.badge.ok,.chip{background:#173421;color:#63d257}.chip.orange{background:#4d2c10;color:#ff9b29}.chip.gray{background:#282e33;color:#9ca5ad}.quick button{color:#e9edf0}.quick button:hover{background:#1a211f;border-color:#a35315}th{background:#1a2025;color:#aeb5bc}.footer{color:#59636b}.footer a{color:#69737b}.dialog{background:#12191e}.dialog-head,.dialog-foot{border-color:#31373d}.field input,.field select{background:#0d1317;color:#fff;border-color:#343b42}.modal{background:#000b}
.login-screen{position:fixed;inset:0;z-index:100;background:#040607 url('./assets/institution/login-background.png') center/cover no-repeat;display:grid;grid-template-columns:minmax(500px,1.25fr) minmax(430px,.75fr);align-items:center;padding:6vw}.login-screen::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.65))}.login-intro,.login-card{position:relative}.login-logo{width:390px;max-width:70%;object-fit:contain}.login-intro h1{font-size:64px;margin:95px 0 10px;font-weight:900;font-style:italic}.login-intro h1 em{color:var(--orange);font-style:normal}.login-intro p{font-size:21px;letter-spacing:.12em}.login-features{display:flex;gap:34px;margin-top:44px}.login-features span{border-left:1px solid #8f4b1c;padding-left:20px;font-size:16px;font-weight:800}.login-card{justify-self:end;width:470px;background:linear-gradient(145deg,rgba(33,36,39,.97),rgba(9,11,13,.97));border:1px solid #5c6064;border-radius:15px;padding:44px 48px;box-shadow:0 30px 80px #0009}.login-card h2{font-size:32px;margin:0}.login-card>p{color:#939aa1}.login-field{height:58px;border:1px solid #484e54;border-radius:6px;background:#23282d;margin-top:18px;display:flex;align-items:center;padding:0 16px;gap:12px}.login-field input{flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:16px}.login-options{display:flex;justify-content:space-between;margin:20px 0;color:#c7ccd0;font-size:13px}.login-options a{color:#ff8500}.login-submit{width:100%;height:58px;border:0;border-radius:5px;color:#fff;background:linear-gradient(90deg,#ff8200,#ff5f00);font-size:19px;font-weight:900;cursor:pointer}.login-tip{text-align:center;color:#a4aab0;font-size:12px;margin-top:20px}.login-hidden{display:none}
.growth-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:14px}.compact-list{display:grid;gap:8px}.compact-row{display:grid;grid-template-columns:1.2fr .8fr .8fr .7fr auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #2a3137;font-size:13px}.chart{height:220px;position:relative;display:flex;align-items:flex-end;gap:18px;padding:30px 20px 24px;border-bottom:1px solid #394047}.bar{flex:1;background:linear-gradient(180deg,#ff8500,#6b2c08);border-radius:4px 4px 0 0;min-height:20px}.bar::after{content:attr(data-label);position:absolute;bottom:4px;color:#8e979f;font-size:10px;transform:translateX(-50%)}
.tournament-tabs{display:flex;gap:8px;margin:14px 0;overflow:auto}.tournament-tabs button{min-width:118px;padding:11px 16px;border:1px solid #343b42;border-radius:6px;background:#10171c;color:#aeb6bd;cursor:pointer}.tournament-tabs button.active{border-color:#e16c12;background:#3b210f;color:#ff9a36}.tournament-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.tournament-actions button{display:flex;align-items:center;gap:10px;min-height:72px;padding:12px;text-align:left;border:1px solid #30373d;border-radius:7px;background:#12191e;color:#eef1f3;cursor:pointer}.tournament-actions button:hover{border-color:#a35315;background:#1a211f}.tournament-actions b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:#44250f;color:#ff8b1c}.tournament-actions span{font-weight:800}.tournament-actions small{display:block;margin-top:4px;color:#89939d;font-weight:400;line-height:1.35}.tournament-table{margin-top:4px}.tournament-table table{min-width:980px}.progress-text{color:#ff9a36;font-weight:800}.match-time{min-width:48px;color:#ff941f;font-weight:900}.panel-head>div:first-child h2{margin-bottom:3px}
.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.section-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.tournament-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.tournament-summary>div{padding:13px 14px;border:1px solid #30373d;border-radius:7px;background:#12191e}.tournament-summary span,.tournament-summary small{display:block;color:#89939d;font-size:11px}.tournament-summary strong{display:block;margin:5px 0;color:#f4f6f8;font-size:24px}.tournament-summary .warn-number{color:#ff6f42}.inline-notice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border:1px solid #4a3a24;border-radius:7px;background:#211a12;color:#c9c1b6;font-size:12px}.inline-notice b{color:#ff9a36}.inline-notice.danger{border-color:#5b2d2a;background:#261516}.inline-notice.danger b{color:#ff7667}.group-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:10px;margin-bottom:14px}.group-card{padding:14px;border:1px solid #30373d;border-radius:7px;background:#12191e}.group-card>div{display:flex;align-items:center;justify-content:space-between}.group-card>div span{color:#89939d;font-size:11px}.group-card ol{margin:12px 0;padding:0;list-style-position:inside;counter-reset:team-rank}.group-card li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #293036;font-size:12px;counter-increment:team-rank}.group-card li::before{content:counter(team-rank);margin-right:8px;color:#ff8b1c}.group-card p{min-height:82px;display:grid;place-items:center;margin:10px 0;color:#ff9a36;text-align:center;font-weight:900;line-height:1.8}.live-match-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.live-match{padding:15px;border:1px solid #30373d;border-radius:8px;background:#12191e}.live-match.active{border-color:#a55315;box-shadow:inset 0 0 0 1px #5b310f}.live-head{display:flex;align-items:center;gap:8px}.live-head small{margin-left:auto;color:#89939d}.live-dot{width:8px;height:8px;border-radius:50%;background:#ff493f;box-shadow:0 0 0 5px #ff493f1f}.score-line{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;text-align:center}.score-line strong{color:#ff941f;font-size:27px}.score-line small{display:block;margin-top:4px;color:#89939d;font-size:10px}.live-meta{display:flex;gap:8px;flex-wrap:wrap;color:#89939d;font-size:11px}.live-meta span{padding-right:8px;border-right:1px solid #343b42}.live-actions{display:flex;gap:8px;margin-top:14px}.result-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10px;margin-bottom:14px}.sub-panel{border:1px solid #30373d;border-radius:7px;background:#12191e;overflow:hidden}.sub-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #30373d}.compact-table{min-width:0}.compact-table th,.compact-table td{padding:9px 10px}.leader-list{display:grid}.leader-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:5px 10px;padding:12px 14px;border-bottom:1px solid #293036}.leader-list>div:last-child{border:0}.leader-list span,.leader-list small{color:#89939d;font-size:10px}.leader-list b{font-size:12px}.leader-list strong{grid-row:1/3;grid-column:3;color:#ff941f;font-size:19px}
@media(max-width:1100px){.tournament-summary{grid-template-columns:1fr 1fr}.group-grid,.result-grid{grid-template-columns:1fr}.live-match-grid{grid-template-columns:1fr}}
@media(max-width:900px){.login-screen{grid-template-columns:1fr}.login-intro{display:none}.login-card{justify-self:center}.growth-grid{grid-template-columns:1fr}.tournament-actions{grid-template-columns:1fr 1fr}.inline-notice{grid-template-columns:1fr}}

/* Product identity and Image 2 generated arena background */
body{background:#070c10 url('./assets/institution/growth-platform-background-v2.png') center/cover fixed no-repeat}
.workspace{background:linear-gradient(rgba(5,10,14,.89),rgba(5,10,14,.95))}
.login-screen{background:#040607 url('./assets/institution/growth-platform-background-v2.png') center/cover no-repeat}
.login-screen::before{background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.42) 48%,rgba(0,0,0,.74))}
.login-intro h1{font-size:58px;line-height:1.08;margin:70px 0 18px}
.login-intro p{max-width:760px;font-size:19px;line-height:1.7;letter-spacing:.04em}
.login-features{margin-top:38px}.login-features span{border-left:2px solid #d26518}
.login-card{background:linear-gradient(145deg,rgba(24,29,33,.96),rgba(7,11,14,.96))}

/* 机构手机号登录、可信设备和锁屏 */
.login-eyebrow{margin-bottom:10px;color:#ff8b1c;font-size:12px;font-weight:900;letter-spacing:.18em}
.login-card{width:min(500px,100%);min-width:0;padding:38px 42px}
.login-card h2{font-size:29px;line-height:1.25}
.login-card>p{margin:10px 0 20px;line-height:1.65}
.login-field{margin-top:12px}
.login-field>span{min-width:48px;color:#aeb5bc;font-size:12px;font-weight:800}
.login-field input{min-width:0}
.login-code-row{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:10px;align-items:end}
.send-code{height:58px;border:1px solid #87470f;border-radius:6px;background:#2b1a0e;color:#ff9a36;font-weight:900;cursor:pointer}
.send-code:hover:not(:disabled){background:#3a210f}
.send-code:disabled{cursor:not-allowed;opacity:.62}
.login-agreement{display:flex;align-items:flex-start;gap:8px;margin:18px 0 16px;color:#aeb5bc;font-size:12px;line-height:1.65}
.login-agreement input{margin-top:3px;accent-color:#ff7200}
.login-agreement a{color:#ff9228;text-decoration:none}
.login-status{min-height:22px;margin-top:12px;color:#9ba3ac;font-size:12px;line-height:1.55;text-align:center}
.login-status.success,.security-message.success{color:#67d45d}
.login-status.error,.security-message.error{color:#ff7168}
.login-security{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:10px;color:#8e979f;font-size:11px}
.login-security i{width:3px;height:3px;border-radius:50%;background:#56606a}
.login-tip{margin-top:12px}
.login-tip strong{color:#ff9a36;font-size:14px;letter-spacing:.12em}
.security-screen{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:rgba(3,6,8,.92);backdrop-filter:blur(16px)}
.security-screen[hidden]{display:none}
.security-card{width:min(430px,100%);padding:38px 40px;border:1px solid #3b434a;border-radius:14px;background:linear-gradient(145deg,#171e23,#090d10);box-shadow:0 30px 90px #000b;text-align:center}
.security-mark{margin-bottom:32px;color:#ff8510;font-size:14px;font-weight:900;letter-spacing:.08em}
.security-kicker{color:#8f98a1;font-size:11px;font-weight:900;letter-spacing:.18em}
.security-card h2{margin:10px 0 8px;font-size:26px}
.security-card p{margin:0 0 22px;color:#9099a2;font-size:13px;line-height:1.75}
.security-card form{display:grid;gap:12px}
.security-card form label{display:grid;gap:7px;color:#aab2b9;font-size:12px;text-align:left}
.pin-input{width:100%;height:58px;border:1px solid #414a52;border-radius:7px;outline:0;background:#20272c;color:#fff;font-size:24px;font-weight:900;letter-spacing:.4em;text-align:center}
.pin-input:focus{border-color:#ff7a08;box-shadow:0 0 0 3px #ff72001f}
.security-message{min-height:22px;margin-top:12px;color:#9ba3ac;font-size:12px;line-height:1.55}
.security-link{margin-top:8px;border:0;background:transparent;color:#ff9228;font-size:12px;cursor:pointer}
@media(max-width:900px){
  .login-screen{padding:24px}
  .login-card{padding:32px}
}
@media(max-width:520px){
  .login-screen{align-items:start;overflow:auto;padding:20px 14px}
  .login-card{width:calc(100vw - 28px);margin:18px 0;padding:26px 20px}
  .login-card h2{font-size:24px}
  .login-code-row{grid-template-columns:minmax(0,1fr) 108px}
  .send-code{font-size:12px}
  .login-security{align-items:flex-start;flex-direction:column;gap:4px}
  .login-security i{display:none}
  .security-card{padding:32px 22px}
}
