@import url('./ui-v2.css');
/* 与已确认的蓝白业务驾驶舱参考图一致的分层视觉 */
:root{--bg:#f0f5fc;--shadow:0 8px 26px rgba(48,96,165,.075)}
.app-shell{background:radial-gradient(ellipse 64% 45% at 88% 0%,#e3efff 0%,transparent 100%),linear-gradient(160deg,#eef5ff,#f7faff 52%,#edf4ff)}
.sidebar-brand{background:linear-gradient(123deg,#2c7df5,#1259d4);border-bottom:0}
.sidebar-brand-text strong,.sidebar-brand-text span{color:white}
.sidebar-brand .brand-logo{background:#fff;color:#2685ed;box-shadow:0 5px 15px #1048a74d}
.sidebar-brand .brand-logo svg{color:#2580e9;fill:currentColor}
.sidebar-nav{background:linear-gradient(180deg,#fff,#f8fbff)}
.topbar{box-shadow:0 2px 12px rgba(40,83,151,.035)}
.main-content{background:transparent}
.page-heading{position:relative}
.page-heading h1{font-size:26px;font-weight:850}
.stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}
.stat-card{border:1px solid rgba(222,232,248,.94);box-shadow:0 10px 24px rgba(38,87,156,.085);min-height:146px;padding:19px 16px;position:relative;isolation:isolate}
.stat-card:before{content:"";position:absolute;z-index:-1;inset:0 0 auto 0;height:5px;border-radius:17px 17px 0 0;background:var(--stat-accent,#2d7ef2)}
.stat-card.stat-blue{--stat-accent:#2d7df7;background:linear-gradient(145deg,#f1f7ff 0%,#fff 70%)}
.stat-card.stat-teal{--stat-accent:#16b979;background:linear-gradient(145deg,#eefff8 0%,#fff 70%)}
.stat-card.stat-violet{--stat-accent:#9062e9;background:linear-gradient(145deg,#f6f0ff 0%,#fff 70%)}
.stat-card.stat-amber{--stat-accent:#f4a136;background:linear-gradient(145deg,#fff6e8 0%,#fff 70%)}
.stat-card.stat-slate{--stat-accent:#6986c1;background:linear-gradient(145deg,#f0f5ff 0%,#fff 70%)}
.stat-card.stat-rose{--stat-accent:#e6586a;background:linear-gradient(145deg,#fff0f3 0%,#fff 70%)}
.stat-card .stat-icon{width:42px;height:42px;border-radius:12px;background:var(--stat-accent)!important;color:#fff!important;box-shadow:0 5px 11px color-mix(in srgb,var(--stat-accent),transparent 70%)}
.stat-card .stat-value{font-size:27px;margin:1px 0 5px;color:#192a4b}
.stat-card .stat-title{color:#576c8e;font-weight:750}
.stat-card .stat-desc{color:#8d9eb7;font-size:11px}
.panel,.table-panel,.settings-card{box-shadow:0 8px 28px rgba(36,79,147,.07);border:1px solid #e3ebf8}
.panel-header{padding:22px 22px 10px}
.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}
.dashboard-bottom{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr)}
.dash-shortcuts{margin:0 0 18px}
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.quick-action{justify-content:flex-start;gap:13px;min-height:76px;padding:15px 17px;color:#fff!important;border:0!important;border-radius:13px;text-align:left;box-shadow:0 8px 15px rgba(22,79,165,.13)}
.quick-action svg{width:29px;height:29px;color:#fff}
.quick-action span{display:flex;flex-direction:column;gap:4px;min-width:0}
.quick-action strong{color:#fff;font-size:14px}
.quick-action small{color:rgba(255,255,255,.85);font-size:11px;white-space:normal}
.quick-blue{background:linear-gradient(125deg,#3289ff,#2164eb)!important}
.quick-green{background:linear-gradient(125deg,#18c985,#0da366)!important}
.quick-purple{background:linear-gradient(125deg,#a06cf4,#7a42de)!important}
.quick-orange{background:linear-gradient(125deg,#ffad51,#f28224)!important}
.quick-action:hover{filter:brightness(1.05);transform:translateY(-2px)}
.dash-status-list{display:flex;flex-direction:column;gap:0}
.dash-status-list>div{display:flex;justify-content:space-between;align-items:center;padding:14px 2px;border-bottom:1px solid #edf2f9;font-size:13px}
.dash-status-list>div:last-child{border-bottom:0}.dash-status-list strong{font-size:16px;color:#21477f}
.login-screen{background:radial-gradient(circle at 3% 4%,#c5ddff 0%,transparent 35%),radial-gradient(circle at 98% 95%,#b7d6ff 0%,transparent 41%),linear-gradient(145deg,#eef5ff,#fbfdff 50%,#ecf4ff)}
.login-panel{box-shadow:0 24px 70px rgba(27,79,171,.15);border-color:#dbe8fa}
/* 分隔区单独占位，避免任何按钮与 Telegram 登录区重叠 */
.telegram-login-wrap{margin-top:27px;padding:17px 16px;border-radius:15px;flex:0 0 auto}
.telegram-login-wrap .login-divider{margin:0 0 17px;position:relative}
.telegram-login-header{margin-bottom:14px}
.telegram-login-icon{color:#229ed9;background:#e8f6fe}
.telegram-login-icon svg{stroke:none;fill:currentColor}
#telegram-widget{min-height:36px}
@media(max-width:1230px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1020px){.dashboard-grid,.dashboard-bottom{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:132px}.quick-action{min-height:66px}}
@media(max-width:430px){.login-screen{padding:18px 15px 44px}.telegram-login-wrap{margin-top:21px}.login-panel{padding:27px 22px}.quick-grid{gap:10px}.quick-action{padding:12px 10px}.quick-action svg{width:22px;height:22px}.quick-action strong{font-size:12px}.quick-action small{font-size:10px}.stat-card{padding:15px 12px;min-height:123px}.stat-card .stat-value{font-size:23px}}
