:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;background:#071019;color:#e8f0f7}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#13283b 0,#071019 35%,#050b11 100%);min-height:100vh}.hidden{display:none!important}.center-card{width:390px;margin:11vh auto;padding:36px;background:#0d1925eF;border:1px solid #20374d;border-radius:20px;box-shadow:0 24px 90px #0009}.brand,.logo{color:#f0bd5f;font-weight:900;letter-spacing:1.5px}.logo small{font-size:10px;background:#d5a84e;color:#071019;padding:2px 5px;border-radius:4px}.center-card h1{margin:8px 0 4px}.center-card input,label input,label select,textarea,.search{width:100%;padding:11px 12px;margin:6px 0 12px;background:#08131e;color:#fff;border:1px solid #28425a;border-radius:9px;outline:none}.center-card input:focus,label input:focus,label select:focus,.search:focus{border-color:#c79a47}.center-card button{width:100%}button{background:#d6a64c;color:#071018;border:0;border-radius:9px;padding:10px 15px;font-weight:800;cursor:pointer}button:hover{filter:brightness(1.08)}.secondary{background:#24384a;color:#dce9f4}.warn{background:#553719;color:#ffd494}.danger{margin-top:auto;background:#351922!important;color:#ffadb7!important}.danger-btn{background:#49202b;color:#ffb0ba}.muted{color:#899dae}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{padding:22px 14px;background:#07111b;border-right:1px solid #1c3041;display:flex;flex-direction:column;gap:5px;position:sticky;top:0;height:100vh}.logo{font-size:20px;padding:10px 12px 20px}.nav{background:transparent;color:#b4c4d1;text-align:left;padding:11px 13px}.nav:hover,.nav.active{background:#132538;color:#fff}main{padding:25px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}header h2{margin:0}header p{margin:5px 0;color:#7f94a7}.status-dot{background:#12382b;color:#70dda9;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat,.panel{background:#0c1a27;border:1px solid #1f374b;border-radius:14px;padding:18px;box-shadow:0 8px 25px #0002}.stat span{color:#8ca1b3;font-size:13px}.stat strong{display:block;font-size:30px;margin-top:8px;color:#f0c36a}.panel{margin-top:15px}.hero{padding:24px}.hero h3{margin-top:0}.toolbar{display:flex;gap:9px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.search{width:300px;margin:0 0 0 auto}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:1120px}th,td{padding:12px 11px;border-bottom:1px solid #1d3346;text-align:left;font-size:13px;vertical-align:middle}th{color:#89a0b3;background:#091722;position:sticky;top:0}tr:hover td{background:#10202e}.badge{padding:4px 8px;border-radius:999px;font-size:11px;white-space:nowrap}.ok{background:#143a2c;color:#74dfad}.bad{background:#43202a;color:#ff9faa}.off{background:#29343f;color:#aab8c4}code{color:#f0c36a}.actions{white-space:nowrap}.mini{padding:6px 8px;font-size:11px;margin:1px}dialog{border:1px solid #2d4a63;border-radius:14px;background:#0c1925;color:#fff;width:min(680px,92vw);box-shadow:0 30px 90px #000c}dialog::backdrop{background:#000b}dialog h3{margin-top:5px}.form-grid,.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.form-grid label,.settings-grid label{font-size:12px;color:#9baebe}.wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}#batchResult{height:300px;resize:none;font-family:monospace}.settings-grid{margin-top:0}.settings-grid label input,.settings-grid label select{margin-bottom:4px}@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}.app{grid-template-columns:190px 1fr}}@media(max-width:760px){.app{grid-template-columns:1fr}aside{position:static;height:auto;display:grid;grid-template-columns:1fr 1fr}.logo{grid-column:1/-1}.danger{margin:0}main{padding:14px}.stats{grid-template-columns:1fr 1fr}.form-grid,.settings-grid{grid-template-columns:1fr}.wide{grid-column:auto}.search{width:100%;margin:0}}
.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-title-row h3{margin:0 0 5px}.panel-title-row p{margin:0}.account-filters{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(160px,.7fr) minmax(160px,.7fr);gap:10px;margin-top:15px}.account-filters .search,.account-filters select{width:100%;margin:0;padding:10px 12px;background:#08131e;color:#fff;border:1px solid #28425a;border-radius:9px}.batch-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.batch-bar .muted{margin-right:auto}.embedded-table{margin-top:8px;border:1px solid #1d3346;border-radius:10px}.embedded-table table{min-width:980px}.embedded-table input[type=checkbox]{width:16px;height:16px;accent-color:#d6a64c}.confirm-dialog{width:min(520px,92vw)}.confirm-meta{margin:14px 0;padding:12px 14px;background:#08131e;border:1px solid #243d52;border-radius:10px;color:#b8c7d3;line-height:1.8}.confirm-meta b{color:#f0c36a}.confirm-dialog p{line-height:1.7}@media(max-width:900px){.account-filters{grid-template-columns:1fr}.batch-bar .muted{width:100%;margin-right:0}}

.account-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}.pagination-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pagination-actions label{display:flex;align-items:center;gap:6px;color:#b8c7d3}.pagination-actions select{width:auto;min-width:72px;margin:0;padding:8px 10px;background:#08131e;color:#fff;border:1px solid #28425a;border-radius:8px}.pagination-actions button:disabled{opacity:.45;cursor:not-allowed}

/* ===== 永恒量化登录页 ===== */
body:has(#loginView:not(.hidden)){display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 50% 3%,#1c2b38 0,#0b1118 32%,#030608 78%);}
.login-card{width:min(520px,92vw);margin:8vh auto 0;padding:36px 58px 42px;text-align:center;background:linear-gradient(180deg,rgba(18,26,34,.98),rgba(7,12,17,.99));border:1px solid rgba(216,166,76,.82);border-radius:22px;box-shadow:0 0 0 1px rgba(240,195,106,.08) inset,0 22px 90px #000c,0 0 34px rgba(207,158,70,.10);position:relative;overflow:hidden}
.login-card:before{content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,221,149,.05),transparent)}
.login-logo{width:86px;height:86px;margin:0 auto 14px;border:2px solid #d8a64c;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px rgba(216,166,76,.18),inset 0 0 13px rgba(216,166,76,.08);position:relative}
.login-logo:after{content:"";position:absolute;inset:7px;border:1px solid rgba(240,195,106,.35);border-radius:50%}
.login-logo span{font-size:34px;line-height:1;font-weight:900;font-style:italic;letter-spacing:-2px;color:#efc06c;text-shadow:0 1px 0 #6e4c17,0 0 12px rgba(240,192,108,.18);position:relative;z-index:1}
.login-brand{font-size:31px;line-height:1.15;font-weight:900;letter-spacing:3px;color:#efc06c;text-shadow:0 1px 0 #6f4c18;margin-top:4px}
.login-card h1{margin:10px 0 12px;font-size:17px;letter-spacing:1.6px;color:#f4e9d4;font-weight:800}
.login-divider{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 8px}.login-divider span{height:1px;width:105px;background:linear-gradient(90deg,transparent,#c9994d)}.login-divider span:last-child{background:linear-gradient(90deg,#c9994d,transparent)}.login-divider i{font-style:normal;color:#e0ad53;font-size:9px}
.login-subtitle{margin:0 0 22px;color:#9ba8b4;font-size:13px;letter-spacing:.2px}
.login-card input{height:46px;margin:7px 0;padding:0 15px;background:#070d12;border:1px solid #5d4a28;border-radius:9px;color:#f5f5f5;text-align:left;box-shadow:inset 0 0 0 1px rgba(217,165,75,.05)}
.login-card input:focus{border-color:#d8a64c;box-shadow:0 0 0 2px rgba(216,166,76,.10)}
.login-card button{height:46px;margin-top:14px;background:linear-gradient(180deg,#efd080,#c89234);border:1px solid #f6da90;color:#17110a;font-size:14px;letter-spacing:1px;box-shadow:0 8px 22px rgba(184,126,35,.18),inset 0 1px 0 rgba(255,255,255,.42)}
.login-msg{min-height:18px;margin:10px 0 0}
@media(max-width:620px){.login-card{padding:30px 24px 34px;margin-top:5vh}.login-brand{font-size:27px}.login-card h1{font-size:15px}.login-divider span{width:72px}}
/* ===== 永恒量化登录页：按最终参考图同步 ===== */
body:has(#loginView:not(.hidden)){display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 50% 4%,#172636 0,#09121c 38%,#020507 82%);}
.login-card{width:min(560px,92vw);margin:4.7vh auto 0;padding:58px 62px 54px;text-align:center;background:linear-gradient(180deg,rgba(13,27,41,.985),rgba(5,12,18,.995));border:1.2px solid #e7bb61;border-radius:22px;box-shadow:0 0 0 1px rgba(255,226,159,.06) inset,0 30px 100px #000d,0 0 34px rgba(219,169,72,.08);position:relative;overflow:hidden}
.login-card:before{content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(255,210,118,.10),transparent 20%),linear-gradient(90deg,transparent,rgba(255,255,255,.018),transparent)}
.login-card:after{content:"";position:absolute;left:43%;right:43%;top:-1px;height:2px;background:#ffd985;box-shadow:0 0 11px 3px rgba(255,190,65,.55);pointer-events:none}
.login-logo{width:126px;height:126px;margin:3px auto 24px;border:2px solid #e5b85b;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 18px rgba(224,172,74,.16),inset 0 0 15px rgba(224,172,74,.04);position:relative;background:radial-gradient(circle,rgba(25,32,39,.42),rgba(3,8,12,.16))}
.login-logo:after{content:"";position:absolute;width:11px;height:11px;left:8px;top:21px;border-radius:50%;background:#ffd66f;box-shadow:0 0 15px 5px rgba(255,181,52,.78)}
.login-logo span{font-family:Georgia,"Times New Roman",serif;font-size:52px;line-height:1;font-weight:700;font-style:italic;letter-spacing:-8px;padding-right:9px;color:#edbe63;background:linear-gradient(180deg,#fff0b8 0,#e8af46 52%,#9b671a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 1px #3a260b);position:relative;z-index:1}
.login-brand{font-size:43px;line-height:1.08;font-weight:900;letter-spacing:6px;color:#f0c169;background:linear-gradient(180deg,#ffe89a 0,#dca23a 72%,#946018 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 1px #39250c);margin:0 0 16px}
.login-card h1{margin:0 0 17px;font-size:22px;letter-spacing:3px;color:#f8ead1;font-weight:800;text-shadow:0 1px 0 #6a4a1d}
.login-divider{display:flex;align-items:center;justify-content:center;gap:9px;margin:3px 0 15px}.login-divider span{height:1px;width:120px;background:linear-gradient(90deg,transparent,#b98a3b)}.login-divider span:last-child{background:linear-gradient(90deg,#b98a3b,transparent)}.login-divider i{font-style:normal;color:#dfac50;font-size:9px}
.login-subtitle{margin:0 0 36px;color:#a5b1bf;font-size:17px;letter-spacing:.35px}
.login-field{height:58px;margin:0 0 18px;display:flex;align-items:center;gap:15px;padding:0 18px;background:rgba(4,11,17,.74);border:1px solid #536272;border-radius:11px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.012);transition:.18s ease}
.login-field:focus-within{border-color:#d9a84d;box-shadow:0 0 0 2px rgba(216,166,76,.08),inset 0 0 0 1px rgba(255,212,124,.04)}
.login-field svg{width:25px;height:25px;stroke:#a5afba;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.login-card .login-field input{height:100%;margin:0;padding:0;background:transparent;border:0!important;border-radius:0;box-shadow:none!important;color:#f4f5f6;font-size:16px;text-align:left;outline:none}
.login-card .login-field input::placeholder{color:#737f8b}
.login-submit{width:100%;height:58px;margin-top:5px;background:linear-gradient(105deg,#f8d47e 0,#e5ad49 55%,#c98e2d 100%)!important;border:1px solid #f5d37d!important;border-radius:10px!important;color:#17120a!important;font-size:17px!important;font-weight:900!important;letter-spacing:2px!important;box-shadow:0 10px 28px rgba(190,127,30,.20),inset 0 1px 0 rgba(255,255,255,.46)!important}
.login-msg{min-height:18px;margin:10px 0 0}
#accountsPage .account-panel{margin-top:0}
@media(max-width:620px){.login-card{padding:42px 25px 38px;margin-top:3.5vh}.login-logo{width:104px;height:104px}.login-logo span{font-size:43px}.login-brand{font-size:34px}.login-card h1{font-size:18px}.login-subtitle{font-size:14px}.login-divider span{width:82px}}

/* ===== 分组管理：参考图统一样式 ===== */
#groupsPage .groups-panel{margin-top:0;padding:0;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#0b1722 0%,#09131d 100%);border:1px solid #22384b;box-shadow:0 14px 38px rgba(0,0,0,.22)}
.groups-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px 24px;border-bottom:1px solid #223346}.groups-header h3{margin:0 0 8px;color:#e7b754;font-size:27px;line-height:1.15}.groups-header p{margin:0;color:#b1bdc8;font-size:14px}.groups-add-btn{min-width:132px;height:46px;border-radius:8px;background:linear-gradient(180deg,#efc264,#d9a23b);border:1px solid #ffd578;color:#111820;font-size:15px;box-shadow:inset 0 1px rgba(255,255,255,.32)}.groups-add-btn .plus{font-size:21px;font-weight:500;vertical-align:-1px}.groups-body{padding:22px 30px 24px}.group-search-wrap{position:relative;width:min(410px,100%);margin-bottom:18px}.group-search-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);font-size:24px;color:#90a2b2;pointer-events:none}.group-search{width:100%;height:46px;margin:0;padding:0 14px 0 48px;background:#08141f;border:1px solid #31475a;border-radius:8px;color:#e7edf2;font-size:14px;outline:none}.group-search:focus{border-color:#d6a64c;box-shadow:0 0 0 2px rgba(214,166,76,.08)}.group-table-shell{overflow:hidden;border:1px solid #24394b;border-radius:9px;background:#0a1621}.group-table{min-width:0;width:100%;table-layout:fixed}.group-table th{position:static;background:#0d1c29;color:#e7b754;font-size:14px;padding:15px 18px}.group-table th:first-child{width:70%}.group-table th:last-child{width:30%}.group-table td{padding:15px 18px;font-size:14px;color:#e6edf3;background:transparent}.group-table tbody tr:last-child td{border-bottom:0}.group-table tbody tr:hover td{background:#0f2030}.group-name-cell{font-weight:500}.group-actions{white-space:nowrap}.group-edit-btn,.group-delete-btn{height:38px;padding:0 14px;border-radius:7px;font-size:13px;font-weight:700;margin-right:10px}.group-edit-btn{background:#162635;color:#e3ebf2;border:1px solid #1d3041}.group-delete-btn{background:#331b24;color:#ff6f73;border:1px solid #43232c}.group-edit-btn span,.group-delete-btn span{margin-right:5px}.group-empty{text-align:center!important;color:#75899b!important;padding:32px!important}.group-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:20px;color:#d3dde5;font-size:14px}.group-page-actions{display:flex;align-items:center;gap:9px}.group-page-btn{width:40px;height:40px;padding:0;background:#091521;color:#9eafbd;border:1px solid #24384a;border-radius:8px;font-size:22px;line-height:1}.group-page-btn:disabled{opacity:.35;cursor:not-allowed}.group-page-current{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #d3a03f;border-radius:7px;color:#f0bd5f;background:#0a1621}.group-page-size{height:40px;padding:0 36px 0 13px;background:#0a1621;color:#e4edf4;border:1px solid #2d4254;border-radius:8px}.groups-panel + *{margin-top:0}@media(max-width:760px){.groups-header{padding:22px 18px;align-items:flex-start}.groups-header h3{font-size:23px}.groups-body{padding:18px}.group-table th:first-child{width:58%}.group-table th:last-child{width:42%}.group-pagination{align-items:flex-start;gap:12px}.group-page-actions{flex-wrap:wrap;justify-content:flex-end}}

/* ===== 参考图一致的后台骨架 ===== */
#appView.app{
  min-height:100vh;
  display:grid;
  grid-template-columns:272px minmax(0,1fr);
  grid-template-rows:108px minmax(0,1fr);
  background:
    radial-gradient(circle at 65% 15%,rgba(17,45,69,.20),transparent 34%),
    linear-gradient(145deg,#03080d 0%,#07111a 52%,#09141e 100%);
  border:1px solid rgba(224,170,68,.78);
  border-radius:16px;
  overflow:hidden;
  box-shadow:inset 0 0 36px rgba(0,0,0,.35);
}
#appView.hidden{display:none!important}
.app-topbar{
  grid-column:1/-1;
  grid-row:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 30px 0 42px;
  border-bottom:1px solid #233241;
  background:linear-gradient(180deg,rgba(4,10,15,.97),rgba(4,11,17,.92));
}
.top-brand{display:flex;align-items:center;gap:18px}
.top-yh{
  width:66px;height:66px;border:2px solid #d7a63d;border-radius:50%;
  display:grid;place-items:center;color:#e1af42;font-family:Georgia,serif;
  font-size:28px;font-style:italic;font-weight:800;letter-spacing:-5px;
  box-shadow:0 0 18px rgba(225,175,66,.12),inset 0 0 0 1px rgba(255,225,147,.15);
}
.top-brand-name{font-size:26px;font-weight:900;color:#dfad3f;letter-spacing:1px;line-height:1.15}
.top-brand-sub{margin-top:7px;font-size:15px;color:#aab3bc;letter-spacing:.4px}
.top-actions{display:flex;align-items:center;gap:12px;color:#b8c0c8}
.top-bell{width:22px;height:22px;display:grid;place-items:center}
.top-bell svg,.logout-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.top-divider{width:1px;height:18px;background:#263541}
.top-logout{display:flex;align-items:center;gap:8px;background:transparent!important;border:0!important;color:#d8dde2!important;font-size:14px!important;padding:7px 2px!important;box-shadow:none!important;cursor:pointer}
.top-logout:hover{color:#f0bd45!important}
.logout-icon{color:#aeb6be}
#appView aside{
  grid-column:1;grid-row:2;position:relative;min-height:calc(100vh - 108px);
  padding:18px 0 118px;background:linear-gradient(180deg,rgba(5,12,18,.98),rgba(4,11,17,.98));
  border-right:1px solid #273746;
}
.side-nav{display:flex;flex-direction:column;gap:4px}
#appView .nav{
  width:100%;height:58px;border:0!important;border-radius:0!important;background:transparent!important;
  color:#dbe2e9!important;display:flex;align-items:center;gap:18px;padding:0 30px!important;
  font-size:17px!important;font-weight:600!important;text-align:left;box-shadow:none!important;position:relative;
}
#appView .nav:hover{background:rgba(29,43,55,.54)!important}
#appView .nav.active{
  color:#f2c34e!important;background:linear-gradient(90deg,rgba(185,132,27,.16),rgba(50,42,25,.26))!important;
}
#appView .nav.active:after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:#e2b342;box-shadow:0 0 10px rgba(226,179,66,.55)}
.nav-icon{width:24px;text-align:center;font-size:22px;color:#c6ced5;font-weight:400}
#appView .nav.active .nav-icon{color:#e5b643}
.admin-card{
  position:absolute;left:18px;right:18px;bottom:20px;min-height:88px;border:1px solid #2a3948;border-radius:10px;
  display:grid;grid-template-columns:52px 1fr 20px;align-items:center;gap:10px;padding:12px 14px;background:#09131d;color:#fff;
}
.admin-shield{width:42px;height:50px;display:grid;place-items:center;color:#d6a43c;font-size:30px;text-shadow:0 0 16px rgba(214,164,60,.22)}
.admin-card strong{display:block;font-size:16px}.admin-card small{display:block;margin-top:5px;color:#e6b541;font-size:13px;font-weight:700}.admin-chevron{color:#aeb8c0}
#appView main{grid-column:2;grid-row:2;min-width:0;padding:24px 24px 40px;background:transparent}
#appView main>header{min-height:76px;margin:0 0 14px;padding:4px 4px 16px;border-bottom:0;background:transparent}
#appView main>header h2{font-size:28px;color:#e4b445;margin:0 0 8px;font-weight:800}
#appView main>header p{color:#99a7b3;margin:0;font-size:14px}
.status-dot{border:1px solid rgba(80,191,126,.35);background:rgba(26,105,60,.22);color:#63df99;border-radius:18px;padding:7px 12px;font-weight:700;font-size:12px}
#appView .panel{background:linear-gradient(180deg,rgba(10,23,34,.92),rgba(8,19,29,.94));border:1px solid #294051;border-radius:12px;box-shadow:none}
#appView table thead th{color:#e3b341;background:#0b1721;border-bottom:1px solid #2b3b49}
#appView table td{border-bottom:1px solid #22323f}
#appView .toolbar button:not(.secondary),#appView button.groups-add-btn{background:linear-gradient(180deg,#efc55d,#dba840)!important;color:#151a1f!important;border:1px solid #f4cf73!important;box-shadow:0 3px 12px rgba(222,170,62,.16)!important}
#appView input,#appView select,#appView textarea{background:#081521;border-color:#294459;color:#f2f5f7}
#appView dialog{background:#0b1925;border:1px solid #36536a;color:#eef3f7;box-shadow:0 30px 80px rgba(0,0,0,.55)}

/* 分组管理参考图细节 */
.groups-panel{padding:0!important;overflow:hidden}
.groups-header{padding:26px 28px 24px!important;border-bottom:1px solid #263947!important}
.groups-header h3{font-size:27px!important;color:#e5b440!important;margin:0 0 12px!important}
.groups-header p{font-size:15px!important;color:#a9b4bd!important}
.groups-body{padding:22px 28px 28px!important}
.group-search-wrap{max-width:405px!important}
.group-table-shell{border-radius:10px!important;overflow:hidden;border:1px solid #2a3e4e!important}
.group-table th:first-child{width:auto!important}.group-table th:last-child{width:245px!important}
.group-pagination{margin-top:20px!important}

@media (max-width:900px){
  #appView.app{grid-template-columns:210px minmax(0,1fr);grid-template-rows:92px minmax(0,1fr)}
  .app-topbar{padding-left:24px}.top-yh{width:54px;height:54px;font-size:23px}.top-brand-name{font-size:22px}.top-brand-sub{font-size:12px}
  #appView aside{min-height:calc(100vh - 92px)}#appView .nav{padding:0 18px!important;font-size:15px!important}.nav-icon{font-size:18px}
}

/* ===== 2026-08 最终确认：登录Logo / 控制中心 / 分组代理商 ===== */
.login-logo-img{display:block;width:210px;height:auto;margin:0 auto 10px;object-fit:contain;mix-blend-mode:screen}
.top-yh-img{width:70px;height:66px;object-fit:cover;object-position:center;border-radius:50%;mix-blend-mode:screen}
.groups-add-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;line-height:1!important;padding-top:0!important;padding-bottom:0!important;height:48px!important}
.groups-add-btn .plus{display:inline-flex;align-items:center;justify-content:center;line-height:1!important}
.group-table th:nth-child(2){width:32%!important}.group-table th:last-child{width:245px!important}
.dashboard-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.dashboard-heading h2{margin:0;color:#f0f3f5;font-size:25px}.dashboard-heading p{margin:7px 0 0;color:#8797a5}.dashboard-heading span{color:#aeb8c1;font-size:13px}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card,.dash-chart-card,.recent-card{background:linear-gradient(180deg,rgba(10,23,34,.96),rgba(8,18,27,.96));border:1px solid #263b4b;border-radius:12px}.metric-card{padding:20px}.metric-card span{display:block;color:#c5ced5;font-size:14px}.metric-card strong{display:block;font-size:30px;margin:10px 0 8px;color:#f3f5f6}.metric-card small{color:#8494a2}.metric-green{color:#55c878!important}.metric-red{color:#ef646a!important}
.dashboard-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.dash-chart-card{padding:20px}.dash-chart-card h3,.recent-card h3{margin:0;color:#eef2f4;font-size:18px}.chart-layout{display:flex;align-items:center;justify-content:center;gap:36px;min-height:245px}.donut{width:158px;height:158px;border-radius:50%;position:relative;display:grid;place-items:center}.donut:after{content:"";position:absolute;inset:24px;background:#091722;border-radius:50%;border:1px solid #203544}.donut>div{position:relative;z-index:1;text-align:center}.donut span{display:block;color:#8f9ca7;font-size:12px}.donut b{display:block;color:#f3f5f6;font-size:22px;margin-top:5px}.chart-legend{min-width:160px}.chart-legend>div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;margin:12px 0;color:#cbd3d9;font-size:13px}.chart-legend b{color:#f0f2f4;font-weight:600}.dot{width:9px;height:9px;border-radius:50%;display:block}.dot.green{background:#55c878}.dot.gold{background:#e2b341}.dot.red{background:#ef5b62}.dot.orange{background:#ef8a39}.dot.blue{background:#3988e8}
.recent-card{margin-top:14px;padding:20px}.recent-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.link-button{background:transparent!important;color:#e3b341!important;padding:4px!important;box-shadow:none!important}.recent-table{min-width:760px!important}.recent-table th{position:static!important}
@media(max-width:1050px){.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-charts{grid-template-columns:1fr}.chart-layout{gap:22px}}

/* ===== 左侧菜单：严格按用户参考图 ===== */
#appView.app{grid-template-columns:146px minmax(0,1fr)!important}
#appView aside{padding:0 0 94px!important;background:#06111a!important;border-right:1px solid #172936!important;min-height:calc(100vh - 108px)!important}
.side-nav{gap:0!important;padding-top:0!important}
#appView .nav{
  height:52px!important;min-height:52px!important;padding:0 10px!important;gap:11px!important;
  font-size:14px!important;font-weight:500!important;letter-spacing:.1px!important;color:#d7dde2!important;
  border-radius:0!important;justify-content:flex-start!important;
}
#appView .nav:hover{background:#0b1a25!important}
#appView .nav.active{color:#f0b62e!important;background:#0d1c27!important}
#appView .nav.active:after{display:none!important}
.nav-icon{width:18px!important;height:18px!important;flex:0 0 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#cbd3d9!important}
.nav-icon svg{width:18px!important;height:18px!important;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#appView .nav.active .nav-icon{color:#f0b62e!important}
.admin-card{
  left:0!important;right:0!important;bottom:0!important;min-height:94px!important;height:94px!important;border:0!important;border-top:1px solid #172936!important;border-radius:0!important;
  grid-template-columns:42px 1fr 16px!important;gap:8px!important;padding:13px 10px!important;background:#06111a!important;
}
.admin-shield{width:38px!important;height:46px!important;font-size:0!important;display:flex!important;align-items:center!important;justify-content:center!important;filter:drop-shadow(0 0 8px rgba(222,166,48,.30))}
.admin-shield svg{width:38px!important;height:46px!important;display:block!important}
.admin-card strong{font-size:14px!important;line-height:1.15!important;font-weight:600!important;color:#f0f2f4!important}
.admin-card small{margin-top:5px!important;font-size:12px!important;line-height:1!important;font-weight:800!important;color:#e8ae29!important;white-space:nowrap!important}
.admin-chevron{font-size:14px!important;color:#8f9ca7!important;align-self:center!important}
@media(max-width:900px){#appView.app{grid-template-columns:138px minmax(0,1fr)!important}#appView .nav{padding:0 9px!important;font-size:13px!important;gap:10px!important}.nav-icon,.nav-icon svg{width:17px!important;height:17px!important}.nav-icon{flex-basis:17px!important}}

/* Dashboard compact typography: keep layout sizes unchanged */
#dashboardPage{font-size:13px}
#dashboardPage .dashboard-heading h2{font-size:22px}
#dashboardPage .dashboard-heading p{font-size:13px}
#dashboardPage .metric-card span{font-size:13px}
#dashboardPage .metric-card strong{font-size:27px}
#dashboardPage .metric-card small{font-size:12px}
#dashboardPage .dash-chart-card h3,#dashboardPage .recent-card h3{font-size:16px}
#dashboardPage .chart-legend>div{font-size:12px}
#dashboardPage table{font-size:12px}
#dashboardPage input,#dashboardPage select,#dashboardPage button{font-size:12px}

/* ===== 手机版响应式布局（不影响桌面版） ===== */
.mobile-menu-btn,.mobile-nav-overlay{display:none}
@media (max-width:768px){
  html,body{max-width:100%;overflow-x:hidden}
  body{min-width:0}
  #loginView.login-card{width:calc(100vw - 28px)!important;max-width:430px!important;margin:14px auto!important;padding:28px 20px!important;border-radius:20px!important}
  .login-logo-img{width:150px!important;margin-bottom:4px!important}
  .login-brand{font-size:34px!important}
  #loginView h1{font-size:18px!important;letter-spacing:2px!important}
  .login-subtitle{font-size:13px!important}
  .login-field{height:52px!important}
  .login-submit{height:52px!important;font-size:17px!important}

  #appView.app{display:block!important;min-height:100vh!important;padding-top:66px!important}
  .app-topbar{position:fixed!important;z-index:1200!important;top:0!important;left:0!important;right:0!important;height:66px!important;min-height:66px!important;padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:#06111a!important;border-bottom:1px solid #172936!important}
  .top-brand{gap:8px!important;min-width:0!important}
  .top-yh-img{width:40px!important;height:40px!important;flex:0 0 40px!important}
  .top-brand-name{font-size:17px!important;line-height:1.1!important}
  .top-brand-sub{font-size:10px!important;white-space:nowrap!important}
  .top-actions{margin-left:auto!important}
  .top-logout{padding:7px 5px!important;gap:5px!important;font-size:12px!important}
  .logout-icon{width:17px!important;height:17px!important}
  .mobile-menu-btn{display:inline-flex!important;order:-1;width:38px;height:38px;padding:0!important;margin-right:7px!important;align-items:center;justify-content:center;background:transparent!important;border:0!important;color:#d7dde2!important;box-shadow:none!important;flex:0 0 38px}
  .mobile-menu-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}

  #appView aside{position:fixed!important;z-index:1300!important;top:66px!important;bottom:0!important;left:0!important;width:238px!important;min-height:0!important;height:calc(100vh - 66px)!important;transform:translateX(-102%)!important;transition:transform .22s ease!important;box-shadow:12px 0 32px rgba(0,0,0,.38)!important;padding-bottom:88px!important;overflow-y:auto!important}
  #appView.mobile-nav-open aside{transform:translateX(0)!important}
  .mobile-nav-overlay{display:block!important;position:fixed!important;z-index:1250!important;inset:66px 0 0 0!important;background:rgba(0,0,0,.50)!important;opacity:0!important;visibility:hidden!important;transition:.2s ease!important}
  #appView.mobile-nav-open .mobile-nav-overlay{opacity:1!important;visibility:visible!important}
  #appView .nav{height:48px!important;min-height:48px!important;padding:0 18px!important;font-size:14px!important;gap:13px!important}
  .nav-icon,.nav-icon svg{width:18px!important;height:18px!important}.nav-icon{flex-basis:18px!important}
  .admin-card{min-height:82px!important;height:82px!important;grid-template-columns:38px 1fr 14px!important;padding:10px 14px!important}
  .admin-shield,.admin-shield svg{width:34px!important;height:42px!important}

  #appView main{display:block!important;width:100%!important;min-width:0!important;padding:12px 10px 28px!important;margin:0!important}
  #appView main>header{min-height:54px!important;margin-bottom:8px!important;padding:2px 2px 8px!important;display:flex!important;align-items:center!important}
  #appView main>header h2{font-size:21px!important;margin-bottom:4px!important}
  #appView main>header p{font-size:11px!important}
  .status-dot{font-size:10px!important;padding:5px 8px!important}

  #appView .panel{border-radius:10px!important;padding:14px!important}
  .panel-title-row,.toolbar,.account-filters,.batch-bar,.account-pagination,.pagination-actions{gap:8px!important}
  .panel-title-row{align-items:flex-start!important;flex-wrap:wrap!important}
  .toolbar,.batch-bar{display:flex!important;flex-wrap:wrap!important}
  .toolbar button,.batch-bar button{min-height:38px!important;padding:8px 10px!important;font-size:12px!important}
  .account-filters{display:grid!important;grid-template-columns:1fr!important}
  .account-filters>*{width:100%!important;max-width:none!important}
  .account-pagination{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .pagination-actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important}

  .dashboard-heading{margin-bottom:10px!important}.dashboard-heading h2{font-size:20px!important}.dashboard-heading p{font-size:11px!important}.dashboard-heading span{font-size:10px!important}
  .dashboard-metrics{grid-template-columns:1fr 1fr!important;gap:8px!important}.metric-card{padding:12px!important}.metric-card span{font-size:11px!important}.metric-card strong{font-size:23px!important;margin:6px 0 5px!important}.metric-card small{font-size:10px!important}
  .dashboard-charts{grid-template-columns:1fr!important;gap:8px!important;margin-top:8px!important}.dash-chart-card{padding:13px!important}.chart-layout{min-height:185px!important;gap:16px!important}.donut{width:122px!important;height:122px!important}.donut:after{inset:19px!important}.donut b{font-size:18px!important}.chart-legend{min-width:0!important;flex:1!important}.chart-legend>div{font-size:11px!important;margin:8px 0!important;grid-template-columns:10px 1fr auto!important;gap:6px!important}
  .recent-card{margin-top:8px!important;padding:13px!important}.recent-head{margin-bottom:8px!important}.recent-table{min-width:650px!important}

  .table-wrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.table-wrap table{min-width:720px!important}.table-wrap::-webkit-scrollbar{height:5px}.table-wrap::-webkit-scrollbar-thumb{background:#34495a;border-radius:10px}
  table th,table td{padding:10px 8px!important;font-size:12px!important;white-space:nowrap!important}

  .groups-header{padding:17px 15px!important}.groups-header h3{font-size:21px!important;margin-bottom:7px!important}.groups-header p{font-size:12px!important}.groups-body{padding:14px!important}.group-search-wrap{max-width:none!important}.group-table-shell{overflow-x:auto!important}.group-table{min-width:560px!important}.group-table th:last-child{width:170px!important}.groups-add-btn{height:40px!important;font-size:12px!important;padding:0 12px!important}

  dialog{width:calc(100vw - 20px)!important;max-width:520px!important;max-height:88vh!important;padding:16px!important;margin:auto!important;overflow:auto!important;border-radius:14px!important}
  dialog::backdrop{background:rgba(0,0,0,.72)!important}
  dialog h3{font-size:19px!important}
  .form-grid{grid-template-columns:1fr!important;gap:10px!important}
  .form-grid .wide{grid-column:auto!important}
  dialog input,dialog select,dialog textarea{font-size:16px!important;min-height:44px!important}
  dialog textarea{min-height:130px!important}
  .dialog-actions{position:sticky!important;bottom:-16px!important;background:#0b1925!important;padding:12px 0 2px!important;z-index:2!important}
  .dialog-actions button{min-height:42px!important;font-size:13px!important}

  .settings-grid{grid-template-columns:1fr!important}
}
@media (max-width:390px){
  .top-brand-sub{display:none!important}
  .top-brand-name{font-size:16px!important}
  .top-logout span{display:none!important}
  .dashboard-metrics{grid-template-columns:1fr!important}
  .chart-layout{align-items:flex-start!important}
}

/* ===== Mobile hidden state fix ===== */
#loginView.hidden,
#appView.hidden {
    display: none !important;
}
