:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#202938;background:#f4f7fb}*{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:hidden}header{background:#132238;color:#fff;padding:28px max(24px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;align-items:center}h1,h2,p{margin:0}h1{font-size:28px}header p{opacity:.72;margin-top:6px}.banner-status{text-align:right;line-height:1.6;font-size:13px}.banner-status .sync{margin-top:6px}main{width:100%;max-width:1180px;margin:24px auto;padding:0 18px}.panel,.metrics>div{background:#fff;border:1px solid #e4e9f1;border-radius:12px;box-shadow:0 4px 16px #1a31520a}.panel{padding:20px;margin-bottom:20px}.panel-title{display:flex;justify-content:space-between;align-items:center}h2{font-size:18px;margin-bottom:16px}.panel-meta{color:#8793a5;font-size:13px;font-weight:400;margin-left:8px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.metrics>div{padding:16px}.metric-label{color:#68758a;font-size:13px}.metric-value{font-size:23px;font-weight:700;margin-top:7px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid .panel{margin-bottom:0}.table-scroll{max-width:100%;overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}.positions-table{min-width:940px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #edf0f5;font-size:14px}th{color:#68758a;font-weight:500}.empty{color:#8793a5;padding:16px 0}.pnl-positive{color:#d64545;font-weight:700}.pnl-negative{color:#198754;font-weight:700}.pnl-flat{color:#68758a}.pnl-positive small,.pnl-negative small,.pnl-flat small{font-weight:500;font-size:12px}.settings{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.settings label{display:flex;flex-direction:column;gap:6px;color:#68758a;font-size:13px}.settings input{padding:9px;border:1px solid #d7deea;border-radius:7px;width:150px;font-size:14px}button{border:0;border-radius:7px;background:#276ef1;color:white;padding:9px 14px;cursor:pointer}.sync{background:#25a269}button.danger{background:#fff0f0;color:#c33}.hint{color:#8793a5;font-size:13px;margin-top:16px}#health{color:#b9f1ca}#health.stale{color:#ffb4a8}footer{width:100%;text-align:center;color:#8793a5;font-size:12px;padding:4px 18px 24px}.auth-page{min-height:100vh;display:grid;place-items:center}.auth-card{width:min(420px,calc(100% - 32px));background:#fff;border:1px solid #e4e9f1;border-radius:12px;padding:28px;box-shadow:0 4px 16px #1a31520a}.auth-card h1{text-align:center;color:#132238}.auth-subtitle{text-align:center;color:#68758a;margin:8px 0 24px}.auth-card label{display:flex;flex-direction:column;gap:6px;color:#68758a;font-size:13px;margin-bottom:14px}.auth-card input{padding:10px;border:1px solid #d7deea;border-radius:7px;font-size:14px}.auth-card button{width:100%;margin-top:4px}.auth-card footer{margin-top:28px}.auth-link{text-align:center;color:#68758a;font-size:13px}.auth-link a{color:#276ef1}nav{display:flex;gap:12px;align-items:center;margin-bottom:8px}nav a{color:#d7e5ff;text-decoration:none;font-size:13px}.trades-list{line-height:1.8}.trade-row{border-bottom:1px solid #edf0f5;padding:6px 0}.trade-row:last-child{border-bottom:0}.trades-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px;color:#68758a;font-size:13px}.trades-pagination button{padding:6px 10px}.trades-pagination button:disabled{background:#d7deea;color:#8793a5;cursor:not-allowed}
@media(max-width:800px){header{align-items:flex-start}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}table{font-size:12px}.banner-status{font-size:11px}}
.strategy-description{color:#68758a;font-size:14px;line-height:1.8}.strategy-description p{margin:0 0 10px}.strategy-description p:last-child{margin-bottom:0}
.banner-status nav{margin-top:18px;width:100%;justify-content:flex-end}.action-button{height:36px;min-width:92px;padding:0 14px;font-size:14px;line-height:1}
header{padding-left:max(38px,calc((100% - 1180px)/2 + 38px));padding-right:max(38px,calc((100% - 1180px)/2 + 38px))}.banner-status{min-width:190px}.banner-status nav{margin-top:18px}
