*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'Microsoft YaHei','PingFang SC',Arial,sans-serif;color:#eaf3ff}body{background:#061225}.toast-wrap{position:fixed;top:18px;right:18px;z-index:50}.toast{background:rgba(10,30,60,.9);border:1px solid rgba(64,205,255,.45);box-shadow:0 0 30px rgba(20,150,255,.25);padding:12px 18px;border-radius:14px;margin-bottom:8px;color:#dff7ff;backdrop-filter:blur(14px)}a{text-decoration:none;color:inherit}button,.btn{cursor:pointer}.login-body{overflow:hidden}.login-scene{min-height:100vh;position:relative;display:grid;grid-template-columns:1.2fr .9fr;align-items:center;padding:54px 84px;background:radial-gradient(circle at 78% 18%,rgba(77,95,255,.38),transparent 24%),radial-gradient(circle at 38% 82%,rgba(0,210,255,.24),transparent 30%),linear-gradient(180deg,#061126 0%,#020915 100%);isolation:isolate}.login-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(53,217,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(53,217,255,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,transparent,black 22%,black 76%,transparent);opacity:.55;z-index:-3}.aurora{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;z-index:-2}.a1{width:560px;height:560px;background:#1f6dff;right:8%;top:7%}.a2{width:520px;height:520px;background:#7538ff;right:-12%;bottom:0}.a3{width:620px;height:260px;background:#00d4ff;left:20%;bottom:-8%}.wave-layer{position:absolute;left:0;right:0;bottom:-1px;height:34vh;background:radial-gradient(ellipse at 45% 100%,rgba(0,216,255,.55),transparent 52%),repeating-linear-gradient(170deg,rgba(53,217,255,.22) 0 1px,transparent 2px 18px),repeating-linear-gradient(12deg,rgba(111,77,255,.16) 0 1px,transparent 2px 22px);clip-path:polygon(0 55%,14% 65%,28% 48%,45% 62%,62% 36%,78% 54%,100% 32%,100% 100%,0 100%);opacity:.75;z-index:-1}.hero-side{max-width:920px}.login-logo{display:flex;align-items:center;gap:14px;font-size:34px;margin-bottom:76px}.logo-cube{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#2fe5ff,#2868ff 52%,#8d4dff);box-shadow:0 0 30px rgba(33,166,255,.45);font-weight:900}.logo-cube.small{width:42px;height:42px;border-radius:12px;font-size:23px}.hero-side h1{font-size:64px;line-height:1.08;margin:0;font-weight:900;letter-spacing:-2px;text-shadow:0 12px 30px rgba(0,0,0,.42)}.hero-side h1 span{background:linear-gradient(120deg,#38d9ff,#3478ff,#8c55ff);-webkit-background-clip:text;background-clip:text;color:transparent;margin-right:8px}.hero-sub{font-size:24px;color:#b8c9df;margin:22px 0 18px;letter-spacing:1px}.hero-line{width:96px;height:4px;border-radius:99px;background:linear-gradient(90deg,#35d9ff,#8954ff);box-shadow:0 0 18px rgba(53,217,255,.8);margin-bottom:48px}.feature-row{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;max-width:900px}.feature{text-align:center;color:#d9e8ff}.feature i{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 12px;border:1px solid rgba(72,154,255,.26);border-radius:16px;background:rgba(16,41,83,.62);box-shadow:inset 0 0 20px rgba(35,116,255,.18),0 0 26px rgba(35,116,255,.12);font-style:normal;color:#55a9ff;font-weight:900}.feature b{display:block;font-size:16px;margin-bottom:8px}.feature em{display:block;font-size:13px;color:#8ea1bc;font-style:normal}.hero-widgets{display:flex;gap:22px;align-items:end;margin-top:70px}.mini-chart-card,.system-card{width:260px;height:150px;border:1px solid rgba(63,154,255,.22);background:linear-gradient(145deg,rgba(13,33,67,.62),rgba(6,18,38,.35));border-radius:18px;padding:20px;color:#8fb7df;backdrop-filter:blur(14px);box-shadow:0 0 35px rgba(31,109,255,.1)}.mini-chart-card svg{width:100%;height:80px}.mini-chart-card strong{display:block;color:#fff;font-size:28px}.mini-chart-card small{color:#20e3ad;font-size:12px}.system-card p{margin:8px 0;color:#85a0bf}.radar-orb{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:900;color:#38a6ff;background:radial-gradient(circle,rgba(53,217,255,.14),rgba(35,45,255,.06) 55%,transparent 58%),repeating-radial-gradient(circle,rgba(73,141,255,.28) 0 2px,transparent 2px 18px);box-shadow:0 0 50px rgba(53,217,255,.22)}.premium-login-card{width:590px;justify-self:end;padding:50px 58px 42px;border-radius:30px;background:linear-gradient(160deg,rgba(18,40,82,.74),rgba(7,18,40,.72));border:1px solid rgba(147,190,255,.38);box-shadow:0 0 0 1px rgba(78,103,255,.08) inset,0 32px 90px rgba(0,0,0,.5),0 0 60px rgba(74,92,255,.34);backdrop-filter:blur(22px);position:relative;overflow:hidden}.premium-login-card:before{content:'';position:absolute;inset:-2px;background:radial-gradient(circle at 90% 0%,rgba(124,80,255,.7),transparent 28%),radial-gradient(circle at 15% 95%,rgba(0,203,255,.24),transparent 28%);pointer-events:none}.premium-login-card>*{position:relative}.shield-lock{width:118px;height:118px;margin:0 auto 22px;border-radius:32px;display:grid;place-items:center;font-size:54px;background:linear-gradient(145deg,rgba(41,140,255,.42),rgba(96,49,255,.24));box-shadow:inset 0 0 30px rgba(125,183,255,.32),0 0 45px rgba(57,145,255,.35)}.premium-login-card h2{text-align:center;font-size:34px;margin:0 0 14px}.login-card-sub{display:flex;align-items:center;justify-content:center;gap:14px;color:#b9c6dc;font-size:18px;margin-bottom:36px}.login-card-sub span{width:88px;height:1px;background:linear-gradient(90deg,transparent,#4b87ff)}.input-shell{height:66px;display:flex;align-items:center;gap:16px;margin:18px 0;padding:0 20px;border-radius:12px;background:rgba(18,37,74,.72);border:1px solid rgba(128,160,215,.25);box-shadow:inset 0 0 22px rgba(90,140,255,.04)}.input-shell input{flex:1;border:none;outline:none;background:transparent;color:#eaf3ff;font-size:17px}.input-shell input::placeholder{color:#7e8da8}.input-shell i,.input-shell em{font-style:normal;color:#8ca2bf}.login-options{display:flex;justify-content:space-between;margin:24px 0 28px;color:#c7d6ee}.login-options input{accent-color:#318dff}.login-options a{color:#3aa6ff}.login-btn{width:100%;height:72px;border:0;border-radius:12px;background:linear-gradient(100deg,#3bd6ff,#3477ff 52%,#9353ff);color:#fff;font-size:22px;font-weight:900;box-shadow:0 16px 40px rgba(53,120,255,.28)}.secure-note{text-align:center;color:#91a4bd;margin-top:26px}.default-account{text-align:center;color:#5e7193;margin-top:14px;font-size:13px}.admin-body{background:radial-gradient(circle at 70% -10%,rgba(76,68,255,.25),transparent 28%),radial-gradient(circle at 0 100%,rgba(0,213,255,.16),transparent 26%),#061225}.layout{min-height:100vh;display:flex}.side-glass{width:280px;padding:22px 16px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,rgba(5,18,39,.96),rgba(4,13,29,.92));border-right:1px solid rgba(85,152,255,.18);box-shadow:10px 0 45px rgba(0,0,0,.28)}.side-brand{display:flex;gap:13px;align-items:center;margin:8px 6px 28px}.side-brand b{font-size:20px}.side-brand p{margin:4px 0 0;color:#91a7c4;font-size:13px}.side-glass nav a{display:flex;align-items:center;gap:12px;height:56px;padding:0 20px;border-radius:12px;color:#c4d5ee;margin:9px 0;font-weight:700;border:1px solid transparent}.side-glass nav a:hover,.side-glass nav a.active{background:linear-gradient(90deg,rgba(24,103,255,.35),rgba(17,60,120,.3));border-color:rgba(51,151,255,.42);box-shadow:0 0 30px rgba(47,130,255,.18);color:#fff}.run-card{position:absolute;left:16px;right:16px;bottom:18px;border:1px solid rgba(79,151,255,.2);border-radius:16px;padding:22px;background:rgba(10,31,63,.58);color:#92a8c8}.run-card i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(14,205,148,.14);color:#0fe09c;margin-bottom:10px}.run-card b{display:block;color:#dfefff}.run-card strong{display:block;color:#0fe09c;margin:8px 0 18px}.content{margin-left:280px;width:calc(100% - 280px);padding:22px}.topbar-glass{height:74px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.topbar-glass h1{margin:0;font-size:28px}.topbar-glass p{margin:6px 0 0;color:#91a5c3}.role-badge{background:rgba(129,81,255,.24);color:#d8c7ff;padding:5px 10px;border-radius:8px;margin-left:10px}.search-pill{border:1px solid rgba(107,145,205,.26);background:rgba(7,18,37,.72);border-radius:12px;color:#8ea2bd;padding:13px 18px;min-width:390px}.search-pill kbd{float:right;margin-left:16px;color:#c5d5ee;background:#0f1f3c;padding:2px 8px;border-radius:6px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.kpi{height:150px;position:relative;border:1px solid rgba(65,148,255,.2);background:linear-gradient(145deg,rgba(14,39,78,.88),rgba(8,23,48,.72));border-radius:16px;padding:22px 22px 18px 96px;overflow:hidden;box-shadow:0 16px 35px rgba(0,0,0,.18)}.kpi-icon{position:absolute;left:22px;top:30px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(21,121,255,.2);box-shadow:0 0 30px rgba(45,153,255,.45);font-size:28px}.kpi p{margin:0;color:#c4d3e8}.kpi b{display:block;font-size:34px;margin:10px 0 4px}.kpi small{color:#20e7a7}.kpi svg{position:absolute;right:18px;bottom:24px;width:94px;height:38px}.kpi polyline{fill:none;stroke:#2bd4ff;stroke-width:4}.kpi.purple .kpi-icon,.kpi.violet .kpi-icon{box-shadow:0 0 30px rgba(158,84,255,.5);background:rgba(128,72,255,.2)}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px;margin-top:18px}.panel-glow,.panel{border:1px solid rgba(85,146,220,.22);background:linear-gradient(145deg,rgba(11,30,60,.82),rgba(6,18,38,.78));border-radius:16px;padding:22px;box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.02);overflow:auto}.panel-glow h2,.panel h2{margin:0 0 18px;font-size:22px}.chart-panel{grid-column:span 1}.activity-panel{grid-row:span 2}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head button{border:1px solid rgba(103,142,198,.25);background:rgba(8,22,46,.8);color:#b8c8df;border-radius:9px;padding:8px 15px;margin-left:8px}.big-chart{width:100%;height:280px}.big-chart line{stroke:rgba(126,170,225,.12)}.big-chart path{filter:drop-shadow(0 0 10px rgba(53,217,255,.75))}.big-chart circle{fill:#fff;stroke:#35d9ff;stroke-width:5}.big-chart text{fill:#fff;font-size:20px}.donut{width:210px;height:210px;margin:8px auto;border-radius:50%;background:conic-gradient(#2f85ff 0 32%,#7b53ff 32% 64%,#ff5e7a 64% 82%,#ffd05a 82% 100%);display:grid;place-items:center}.donut:before{content:'';position:absolute;width:116px;height:116px;border-radius:50%;background:#081a36}.donut span{position:relative;text-align:center;color:#b9c6dc}.donut b{font-size:22px;color:#fff}.legend{list-style:none;padding:0;margin:0}.legend li{display:flex;justify-content:space-between;margin:10px 0;color:#c2d2ea}.legend i{width:12px;height:12px;border-radius:3px;background:#2f85ff;margin-right:8px}.timeline{position:relative}.event{position:relative;padding:0 0 18px 30px;border-left:2px solid rgba(47,171,255,.5)}.event span{position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:#35d9ff;box-shadow:0 0 16px #35d9ff}.event b{color:#fff}.event p{margin:5px 0;color:#9db0ca}.event em{font-size:12px;color:#7387a6;font-style:normal}.status-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;margin:16px 0;padding:12px;border-radius:12px;background:rgba(16,42,82,.54)}.status-row i{width:34px;height:34px;border-radius:50%;border:5px solid #2bd4ff}.status-row.orange i{border-color:#ffc657}.status-row.red i{border-color:#ff5a6e}.status-row.violet i{border-color:#9a62ff}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-grid a{min-height:92px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(38,129,255,.35),rgba(16,53,104,.72));font-size:30px;border:1px solid rgba(78,154,255,.25)}.quick-grid b{font-size:14px}.table-panel{margin-top:18px}table{width:100%;border-collapse:collapse;min-width:980px}th,td{border-bottom:1px solid rgba(118,158,220,.13);padding:13px 12px;text-align:left;color:#c8d7ed;font-size:14px;vertical-align:middle}th{color:#8facd1;background:rgba(7,23,48,.45)}code,.mono{font-family:Consolas,monospace;background:rgba(27,80,156,.25);color:#8cc9ff;border:1px solid rgba(77,159,255,.15);border-radius:7px;padding:3px 7px}.btn,.danger,.login-card button,.form-row button,.ops button,.ops-stack button{border:1px solid rgba(67,151,255,.38);background:linear-gradient(110deg,rgba(46,143,255,.85),rgba(113,77,255,.78));color:#fff;border-radius:10px;padding:9px 13px;display:inline-block}.danger,.danger-btn{background:linear-gradient(110deg,#e3415a,#8d2743)!important;border-color:rgba(255,91,124,.45)!important}.form-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:center;margin:12px 0}.form-row input,.form-row select,.ai-config input,.op-line input,.login-card input{width:100%;padding:12px;border:1px solid rgba(112,151,205,.26);border-radius:11px;background:rgba(9,24,49,.72);color:#eaf3ff;outline:none}.software-add{grid-template-columns:1fr 1fr 1fr 180px 120px}.switch-label,.mini-check,.check{display:flex;gap:8px;align-items:center;color:#c8d7ed}.switch-label input,.mini-check input,.check input{accent-color:#2f8bff}.ai-config{display:grid;grid-template-columns:1.2fr 1fr .8fr 80px 110px;gap:8px;align-items:center;min-width:760px}.ok-dot,.bad-dot,.ai-on,.ai-off{display:inline-flex;align-items:center;gap:6px}.ok-dot:before,.bad-dot:before{content:'';width:8px;height:8px;border-radius:50%;background:#24e28f;box-shadow:0 0 10px #24e28f}.bad-dot:before{background:#ff944d;box-shadow:0 0 10px #ff944d}.ai-on{color:#38d9ff}.ai-off{color:#7b8fae}.login-card{width:420px;margin:40px auto}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.stat{border:1px solid rgba(85,146,220,.22);background:linear-gradient(145deg,rgba(11,30,60,.82),rgba(6,18,38,.78));border-radius:16px;padding:20px}.stat b{display:block;font-size:30px}.stat span{color:#91a5c3}.ops-stack{display:flex;flex-direction:column;gap:8px;min-width:380px}.op-line{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.op-line input{width:110px}.op-line.wide input{width:190px}.user-add-row{grid-template-columns:1fr 1fr 1fr 1fr 150px 130px}.user-search-row{grid-template-columns:1fr 180px 120px}.small-top{grid-template-columns:1fr 130px}@media(max-width:1300px){.login-scene{grid-template-columns:1fr;padding:38px}.premium-login-card{justify-self:center;margin-top:26px}.feature-row{grid-template-columns:repeat(3,1fr)}.hero-widgets{display:none}.kpi-grid,.dashboard-grid{grid-template-columns:1fr 1fr}.activity-panel{grid-row:auto}.side-glass{position:static;width:100%;height:auto}.layout{display:block}.content{margin-left:0;width:100%}.run-card{display:none}}@media(max-width:800px){.login-scene{padding:24px;overflow:auto}.hero-side h1{font-size:42px}.hero-sub{font-size:18px}.feature-row{grid-template-columns:1fr 1fr}.premium-login-card{width:100%;padding:34px 24px}.kpi-grid,.dashboard-grid,.quick-grid,.form-row,.software-add,.ai-config{grid-template-columns:1fr}.search-pill{display:none}}

/* V5 responsive fixes */
html, body { width:100%; overflow-x:hidden; }
.content { min-width:0; }
.topbar-glass, .kpi, .panel-glow, .panel { min-width:0; }
.kpi b { font-size:clamp(24px, 3vw, 34px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kpi p, .kpi small, td, th { overflow-wrap:anywhere; word-break:break-word; }
.dashboard-grid { grid-template-columns:minmax(0,1.4fr) minmax(260px,.85fr) minmax(280px,.95fr); align-items:start; }
.chart-panel { min-height:390px; }
.software-mini { grid-column:span 2; }
.big-chart text { font-size:14px; pointer-events:none; }
.big-chart .xlab { fill:#7f96b8; font-size:13px; }
.donut { position:relative; }
.legend li { gap:8px; align-items:center; }
.legend li span { flex:1; }
.legend li b { font-size:13px; color:#fff; }
.empty-tip { color:#91a5c3; }
.machine-cell { max-width:180px; white-space:normal; }
.user-add-row-v5 { grid-template-columns:repeat(4,minmax(0,1fr)) 120px 160px 130px 120px; }
.generator-row { grid-template-columns:1.2fr .6fr 1.2fr .6fr 1fr 160px; }
.tips-box { margin-top:14px; padding:14px 16px; border:1px solid rgba(53,217,255,.22); border-radius:12px; background:rgba(13,35,70,.58); display:flex; gap:14px; align-items:center; flex-wrap:wrap; color:#c8d7ed; }
.code-output { width:100%; min-height:560px; resize:vertical; border:1px solid rgba(100,154,230,.28); background:#061225; color:#dff7ff; border-radius:14px; padding:18px; line-height:1.55; font-family:Consolas, 'Microsoft YaHei', monospace; font-size:14px; white-space:pre; overflow:auto; }
.narrow-panel { max-width:720px; }
.stack-form { display:flex; flex-direction:column; gap:16px; }
.stack-form label { display:flex; flex-direction:column; gap:8px; color:#c8d7ed; }
.stack-form input { width:100%; padding:13px; border:1px solid rgba(112,151,205,.26); border-radius:11px; background:rgba(9,24,49,.72); color:#eaf3ff; outline:none; }
.big-btn { min-height:46px; text-align:center; }
@media(max-width:1500px){
  .dashboard-grid{grid-template-columns:1fr 1fr;}
  .activity-panel{grid-row:auto;}
  .software-mini{grid-column:span 2;}
  .user-add-row-v5{grid-template-columns:repeat(3,minmax(0,1fr));}
  .generator-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:1100px){
  .side-glass{position:relative;width:100%;inset:auto;}
  .layout{display:block;}
  .content{margin-left:0;width:100%;padding:14px;}
  .side-glass nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
  .side-glass nav a{margin:0;height:48px;justify-content:center;padding:0 10px;font-size:13px;}
  .run-card{display:none;}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dashboard-grid{grid-template-columns:1fr;}
  .software-mini{grid-column:span 1;}
}
@media(max-width:760px){
  .kpi-grid,.form-row,.user-add-row-v5,.generator-row{grid-template-columns:1fr;}
  .kpi{height:auto;min-height:130px;padding-left:86px;}
  .topbar-glass{height:auto;gap:10px;align-items:flex-start;flex-direction:column;}
  .search-pill{display:none;}
  .panel-glow,.panel{padding:14px;}
  .side-glass nav{grid-template-columns:1fr 1fr;}
  table{min-width:900px;}
  .code-output{min-height:420px;font-size:12px;}
}

/* =========================
   V6 final responsive patch
   - login page scales with viewport
   - admin layout supports one-click sidebar collapse
   - charts/cards avoid text overflow
   ========================= */
:root{--side-w:280px;--side-collapsed-w:76px;--gap:clamp(12px,1.2vw,22px)}
body.admin-body{overflow-x:hidden}.layout{width:100%;min-width:0}.side-glass{z-index:20;transition:width .24s ease,padding .24s ease}.content{transition:margin-left .24s ease,width .24s ease;min-width:0;max-width:100vw}.side-toggle{position:absolute;right:12px;top:14px;width:34px;height:34px;border-radius:10px;border:1px solid rgba(81,155,255,.25);background:rgba(12,34,70,.78);color:#dff7ff;display:grid;place-items:center;cursor:pointer;z-index:2}.sidebar-collapsed .side-glass{width:var(--side-collapsed-w);padding:18px 10px}.sidebar-collapsed .content{margin-left:var(--side-collapsed-w);width:calc(100% - var(--side-collapsed-w))}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-text,.sidebar-collapsed .run-card{display:none}.sidebar-collapsed .side-brand{justify-content:center;margin-top:42px}.sidebar-collapsed .side-glass nav a{justify-content:center;padding:0;width:54px;margin:10px auto}.sidebar-collapsed .nav-ico{font-size:18px}.sidebar-collapsed .side-toggle{right:20px}.side-glass nav a{white-space:nowrap;overflow:hidden}.topbar-glass{gap:var(--gap);height:auto;min-height:74px}.topbar-glass>div:first-child{min-width:0}.topbar-glass h1{font-size:clamp(22px,1.8vw,30px);white-space:nowrap}.topbar-glass p{font-size:clamp(13px,.9vw,15px);overflow-wrap:anywhere}.search-pill{min-width:0;width:min(430px,34vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:var(--gap)}.kpi{height:auto;min-height:136px;padding:clamp(16px,1.3vw,22px) clamp(14px,1.3vw,22px) clamp(14px,1.2vw,18px) clamp(82px,6vw,96px)}.kpi-icon{left:clamp(16px,1.3vw,22px);top:clamp(22px,1.8vw,30px);width:clamp(48px,4vw,58px);height:clamp(48px,4vw,58px);font-size:clamp(21px,2vw,28px)}.kpi svg{width:clamp(70px,6vw,94px);height:clamp(26px,2.8vw,38px);right:12px;bottom:18px}.dashboard-grid{display:grid;grid-template-columns:minmax(360px,1.35fr) minmax(300px,.9fr) minmax(330px,1fr);gap:var(--gap)}.panel-glow,.panel{overflow:hidden;padding:clamp(14px,1.4vw,22px)}.panel-glow h2,.panel h2{font-size:clamp(17px,1.25vw,22px)}.chart-panel{min-height:clamp(330px,30vw,420px)}.big-chart{height:clamp(220px,20vw,300px);max-width:100%}.big-chart text{font-size:clamp(10px,.8vw,14px)}.activity-panel{min-width:0}.event p{overflow-wrap:anywhere}.quick-grid{grid-template-columns:repeat(4,minmax(90px,1fr))}.software-mini{min-width:0}.software-mini table{min-width:680px}.status-row{grid-template-columns:clamp(28px,3vw,44px) 1fr auto}.login-body{overflow:hidden}.login-scene{grid-template-columns:minmax(500px,860px) minmax(420px,560px);justify-content:center;gap:clamp(42px,7vw,120px);padding:clamp(32px,5vw,72px);overflow:hidden}.hero-side{max-width:none;width:100%;min-width:0}.login-logo{font-size:clamp(22px,2.1vw,34px);margin-bottom:clamp(36px,5vw,76px)}.logo-cube{width:clamp(44px,4vw,60px);height:clamp(44px,4vw,60px);border-radius:clamp(12px,1.1vw,16px)}.hero-side h1{font-size:clamp(42px,4vw,66px);letter-spacing:clamp(-2px,-.12vw,-1px);white-space:nowrap}.hero-sub{font-size:clamp(16px,1.4vw,24px)}.feature-row{gap:clamp(12px,2vw,28px);grid-template-columns:repeat(5,minmax(74px,1fr))}.feature i{width:clamp(50px,4.2vw,68px);height:clamp(50px,4.2vw,68px)}.feature b{font-size:clamp(12px,.95vw,16px)}.feature em{font-size:clamp(10px,.75vw,13px);line-height:1.45}.hero-widgets{gap:clamp(12px,1.5vw,22px);margin-top:clamp(36px,5vw,70px);align-items:center}.mini-chart-card,.system-card{width:clamp(190px,16vw,260px);height:clamp(126px,10vw,150px);padding:clamp(14px,1.2vw,20px);overflow:hidden}.mini-chart-card svg{height:clamp(52px,5vw,80px)}.mini-chart-card strong{font-size:clamp(20px,1.8vw,28px)}.system-card p{font-size:clamp(11px,.82vw,14px);margin:clamp(5px,.6vw,8px) 0}.radar-orb{width:clamp(96px,9vw,150px);height:clamp(96px,9vw,150px);font-size:clamp(24px,2vw,34px)}.premium-login-card{width:100%;max-width:590px;padding:clamp(30px,3.2vw,50px) clamp(28px,3.5vw,58px) clamp(26px,2.8vw,42px);border-radius:clamp(22px,2vw,30px)}.shield-lock{width:clamp(82px,7vw,118px);height:clamp(82px,7vw,118px);font-size:clamp(38px,3.2vw,54px)}.premium-login-card h2{font-size:clamp(25px,2.1vw,34px)}.login-card-sub{font-size:clamp(13px,1.05vw,18px);margin-bottom:clamp(22px,2.2vw,36px)}.input-shell{height:clamp(52px,4.4vw,66px);margin:clamp(12px,1.3vw,18px) 0}.input-shell input{font-size:clamp(13px,1vw,17px);background:transparent!important;color:#eaf3ff!important}.input-shell input:-webkit-autofill{-webkit-text-fill-color:#eaf3ff!important;box-shadow:0 0 0 1000px rgba(18,37,74,.92) inset!important;transition:background-color 9999s ease-out}.login-btn{height:clamp(56px,4.8vw,72px);font-size:clamp(17px,1.4vw,22px)}.secure-note,.default-account{font-size:clamp(11px,.85vw,14px)}
@media (min-width:1800px){.login-scene{grid-template-columns:minmax(660px,980px) minmax(500px,620px);gap:clamp(80px,9vw,180px)}}
@media (max-width:1500px){.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.activity-panel{grid-row:auto}.software-mini{grid-column:span 2}.kpi-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.login-scene{grid-template-columns:minmax(520px,1fr) minmax(420px,520px);gap:40px}.hero-widgets{display:flex}.radar-orb{display:none}}
@media (max-width:1180px){.side-glass{position:fixed;width:var(--side-collapsed-w);padding:18px 10px}.content,.sidebar-collapsed .content{margin-left:var(--side-collapsed-w);width:calc(100% - var(--side-collapsed-w));padding:16px}.brand-text,.nav-text,.run-card{display:none}.side-brand{justify-content:center;margin-top:42px}.side-glass nav a{justify-content:center;padding:0;width:54px;margin:10px auto}.side-toggle{display:none}.login-body{overflow:auto}.login-scene{min-height:100vh;grid-template-columns:1fr;align-content:start}.premium-login-card{justify-self:center}.hero-side h1{white-space:normal}.hero-widgets{display:none}}
@media (max-width:820px){.content,.sidebar-collapsed .content{margin-left:0;width:100%;padding:12px}.side-glass{position:relative;width:100%;height:auto;inset:auto;padding:12px}.side-brand{margin:0 0 10px}.side-glass nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.side-glass nav a{width:auto;height:44px;margin:0}.layout{display:block}.kpi-grid,.dashboard-grid{grid-template-columns:1fr}.software-mini{grid-column:auto}.quick-grid{grid-template-columns:repeat(2,1fr)}.login-scene{padding:24px}.feature-row{grid-template-columns:repeat(2,1fr)}.hero-side h1{font-size:38px}.premium-login-card{max-width:100%}}


/* V6.1 login mini-card fix: prevent clipped number and use real responsive chart */
.login-scene .hero-widgets{align-items:stretch;max-width:100%;overflow:visible}
.login-scene .mini-chart-card{display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-height:156px;height:auto;overflow:hidden}
.login-scene .mini-chart-card>div{font-size:clamp(11px,.85vw,14px);line-height:1.2;flex:0 0 auto}
.login-scene .mini-chart-card svg{display:block;width:100%;height:clamp(54px,4.8vw,72px);min-height:54px;flex:0 0 auto;margin:2px 0 0}
.login-scene .mini-chart-card strong{display:flex;align-items:flex-end;gap:8px;line-height:1;white-space:nowrap;min-height:32px;overflow:visible;font-size:clamp(20px,1.7vw,28px);flex:0 0 auto;margin-top:2px}
.login-scene .mini-chart-card strong span{display:inline-block;max-width:70%;overflow:hidden;text-overflow:ellipsis}
.login-scene .mini-chart-card small{display:inline-block;font-size:clamp(10px,.72vw,12px);line-height:1.2;padding-bottom:2px;white-space:nowrap}
.login-scene .system-card{min-height:156px;height:auto;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.login-scene .system-card b{display:block;margin-bottom:6px;color:#dff4ff}
@media (max-width:1500px){.login-scene .mini-chart-card,.login-scene .system-card{min-height:150px}.login-scene .mini-chart-card svg{height:58px}.login-scene .mini-chart-card strong{font-size:22px}}
@media (max-width:1180px){.login-scene .hero-widgets{display:none}}

/* V6.2 fix: login 授权趋势数字被卡片底部裁剪 */
.login-scene .hero-widgets{align-items:stretch!important;overflow:visible!important;padding-bottom:8px!important;}
.login-scene .mini-chart-card{
  position:relative!important;
  min-height:170px!important;
  height:170px!important;
  padding:16px 18px 46px!important;
  overflow:visible!important;
}
.login-scene .mini-chart-card>div{position:relative;z-index:2;margin:0!important;}
.login-scene .mini-chart-card svg{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:10px 0 0!important;
  display:block!important;
}
.login-scene .mini-chart-card strong{
  position:absolute!important;
  left:18px!important;
  right:14px!important;
  bottom:14px!important;
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  margin:0!important;
  min-height:28px!important;
  line-height:1!important;
  overflow:visible!important;
  white-space:nowrap!important;
  font-size:clamp(20px,1.55vw,27px)!important;
  z-index:3!important;
}
.login-scene .mini-chart-card strong span{display:inline-block!important;max-width:78%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.login-scene .mini-chart-card small{display:inline-block!important;line-height:1.15!important;padding-bottom:2px!important;}
@media (max-width:1500px){
  .login-scene .mini-chart-card{height:158px!important;min-height:158px!important;padding-bottom:42px!important;}
  .login-scene .mini-chart-card svg{height:52px!important;min-height:52px!important;max-height:52px!important;}
  .login-scene .mini-chart-card strong{bottom:12px!important;font-size:20px!important;}
}


/* V6.3 login alignment + brand-only footer fix
   - Align left widgets as a clean row
   - Prevent mini chart number clipping
   - Remove default account hint, show brand-only text
   - Improve autofill/input rendering on Chrome/Edge
*/
.login-scene{overflow:hidden!important;}
.login-scene .hero-side{display:flex!important;flex-direction:column!important;justify-content:center!important;}
.login-scene .feature-row{width:100%!important;}
.login-scene .hero-widgets{
  width:min(760px,100%)!important;
  display:grid!important;
  grid-template-columns:minmax(210px,1fr) minmax(210px,1fr) 126px!important;
  gap:22px!important;
  align-items:stretch!important;
  margin-top:52px!important;
  padding:0!important;
  overflow:visible!important;
}
.login-scene .mini-chart-card,
.login-scene .system-card{
  width:100%!important;
  height:148px!important;
  min-height:148px!important;
  max-height:148px!important;
  border-radius:18px!important;
  padding:16px 18px!important;
  overflow:hidden!important;
}
.login-scene .mini-chart-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:6px!important;
  padding-bottom:14px!important;
}
.login-scene .mini-chart-card>div{
  font-size:13px!important;
  line-height:1.2!important;
  margin:0!important;
  flex:0 0 auto!important;
}
.login-scene .mini-chart-card svg{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  margin:4px 0 0!important;
  flex:0 0 auto!important;
}
.login-scene .mini-chart-card strong{
  position:static!important;
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  margin:0!important;
  line-height:1!important;
  min-height:28px!important;
  overflow:visible!important;
  font-size:26px!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
.login-scene .mini-chart-card strong span{display:inline-block!important;max-width:82%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.login-scene .mini-chart-card small{font-size:11px!important;line-height:1.15!important;padding-bottom:2px!important;white-space:nowrap!important;}
.login-scene .system-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:3px!important;
}
.login-scene .system-card b{font-size:14px!important;line-height:1.2!important;margin:0 0 5px!important;color:#dff4ff!important;}
.login-scene .system-card p{font-size:13px!important;line-height:1.25!important;margin:2px 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.login-scene .radar-orb{
  width:126px!important;height:126px!important;align-self:center!important;font-size:29px!important;justify-self:center!important;
}
.premium-login-card{align-self:center!important;}
.default-account.brand-only{color:#7f91b1!important;font-size:13px!important;letter-spacing:.5px!important;margin-top:12px!important;}
.input-shell input,
.input-shell input:focus,
.input-shell input:active{background-color:transparent!important;background:transparent!important;color:#eaf3ff!important;caret-color:#38d9ff!important;}
.input-shell input:-webkit-autofill,
.input-shell input:-webkit-autofill:hover,
.input-shell input:-webkit-autofill:focus,
.input-shell input:-webkit-autofill:active{
  -webkit-text-fill-color:#eaf3ff!important;
  caret-color:#38d9ff!important;
  box-shadow:0 0 0 1000px rgba(18,37,74,.92) inset!important;
  -webkit-box-shadow:0 0 0 1000px rgba(18,37,74,.92) inset!important;
  transition:background-color 99999s ease-in-out 0s!important;
}
@media (min-width:1700px){
  .login-scene .hero-widgets{width:min(820px,100%)!important;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) 140px!important;}
  .login-scene .mini-chart-card,.login-scene .system-card{height:158px!important;min-height:158px!important;max-height:158px!important;}
  .login-scene .radar-orb{width:140px!important;height:140px!important;}
}
@media (max-width:1500px){
  .login-scene .hero-widgets{width:min(620px,100%)!important;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) 110px!important;gap:16px!important;margin-top:42px!important;}
  .login-scene .mini-chart-card,.login-scene .system-card{height:138px!important;min-height:138px!important;max-height:138px!important;padding:14px 16px!important;}
  .login-scene .mini-chart-card svg{height:48px!important;min-height:48px!important;max-height:48px!important;}
  .login-scene .mini-chart-card strong{font-size:22px!important;}
  .login-scene .system-card p{font-size:12px!important;}
  .login-scene .radar-orb{width:110px!important;height:110px!important;font-size:25px!important;}
}
@media (max-width:1180px){
  .login-scene .hero-widgets{display:none!important;}
}

/* V7.2 软件删除/恢复按钮 */
.software-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:96px}
.btn.danger{border-color:rgba(255,77,109,.55)!important;color:#ff7b92!important;background:rgba(255,77,109,.10)!important}
.btn.danger:hover{background:rgba(255,77,109,.20)!important;box-shadow:0 0 18px rgba(255,77,109,.25)}

/* V7.3 error log and hard-delete UI */
.log-pre{white-space:pre-wrap;word-break:break-all;max-height:220px;overflow:auto;margin:0;padding:10px;border-radius:10px;background:rgba(4,14,31,.68);color:#d8eaff;border:1px solid rgba(75,151,255,.18);font-size:12px;line-height:1.55}.software-actions{display:flex;gap:8px;flex-wrap:wrap}.software-actions .danger{white-space:nowrap}
