:root{
  --bg:#f5f8fc; --panel:#ffffff; --text:#0f172a; --muted:#64748b; --soft:#f8fbff;
  --line:#e5edf7; --blue:#2563eb; --blue2:#60a5fa; --green:#16a34a; --orange:#f59e0b; --red:#ef4444;
  --shadow:0 16px 45px rgba(15,23,42,.06); --radius:18px;
}
*{box-sizing:border-box} html,body{height:100%} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit} button{cursor:pointer}.hidden{display:none!important}
.app{min-height:100vh;display:grid;grid-template-columns:282px minmax(0,1fr)}
.sidebar{background:rgba(255,255,255,.86);border-right:1px solid var(--line);height:100vh;position:sticky;top:0;padding:22px;display:flex;flex-direction:column;backdrop-filter:blur(14px)}
.logo{display:flex;align-items:center;gap:12px;margin-bottom:28px}.logo-mark{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#2563eb,#38bdf8);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900;box-shadow:0 12px 28px rgba(37,99,235,.22)}
.logo h1{font-size:20px;line-height:1;margin:0}.logo p{margin:5px 0 0;color:var(--muted);font-size:12px}.collapse-btn{margin-left:auto;border:0;background:transparent;color:#334155;font-size:22px}
.nav{display:flex;flex-direction:column;gap:8px}.nav a{height:48px;border-radius:15px;padding:0 14px;display:flex;align-items:center;gap:12px;color:#334155;font-weight:700;transition:.18s}.nav a:hover{background:#f1f6ff}.nav a.active{background:#eaf2ff;color:var(--blue)}
.ico{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto}.ico svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.side-bottom{margin-top:auto}.status-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:12px;box-shadow:var(--shadow)}.status-card .row{display:flex;align-items:center;gap:8px}.status-card p{margin:6px 0 0;color:var(--muted);font-size:12px}.time{font-size:28px;font-weight:900;margin-top:8px;letter-spacing:.02em}.copyright{font-size:12px;color:#94a3b8;text-align:center;margin-top:14px}
.dot{width:8px;height:8px;border-radius:99px;background:var(--green);display:inline-block}.dot.warn{background:var(--orange)}.dot.danger{background:var(--red)}
.main{min-width:0;padding:18px 22px}.topbar{height:50px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:18px}.top-search{width:min(660px,54vw);height:44px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 18px;display:flex;align-items:center;gap:10px;color:#94a3b8;box-shadow:0 8px 26px rgba(15,23,42,.025)}.top-search input{border:0;outline:0;flex:1;min-width:0;background:transparent}
.userbar{display:flex;align-items:center;gap:10px;white-space:nowrap}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:12px;height:38px;min-width:38px;padding:0 12px;display:flex;align-items:center;justify-content:center;position:relative;color:#334155}.badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;border-radius:99px;background:var(--red);color:#fff;font-size:11px;display:grid;place-items:center}.avatar{width:38px;height:38px;border-radius:99px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);display:grid;place-items:center;font-weight:900;color:#1d4ed8;flex:0 0 auto}.user-name{font-weight:800;color:#1f2937}.logout{height:38px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#475569;padding:0 14px;font-weight:700}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.hero{min-height:196px;background:linear-gradient(105deg,#fff,#eef6ff);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 44px;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.hero h2{font-size:42px;line-height:1.05;margin:0 0 12px;letter-spacing:.02em}.hero p{margin:0 0 26px;color:#475569;font-size:16px}.hero-search{max-width:600px;height:50px;background:#fff;border:1px solid #c7d8ff;border-radius:13px;display:flex;overflow:hidden}.hero-search input{flex:1;min-width:0;border:0;outline:0;padding:0 18px}.hero-search button{width:132px;border:0;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:800}.hero-art{width:300px;height:150px;position:relative;flex:0 0 auto}.glass{position:absolute;right:0;top:18px;width:220px;height:116px;border-radius:24px;background:rgba(96,165,250,.17);border:1px solid rgba(96,165,250,.28);box-shadow:0 22px 45px rgba(37,99,235,.16);transform:rotate(5deg)}.cube{position:absolute;right:94px;top:56px;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#60a5fa,#1d4ed8);box-shadow:0 18px 38px rgba(37,99,235,.32)}.orb{position:absolute;border-radius:15px;background:#fff;border:1px solid #dbeafe;box-shadow:var(--shadow);color:#2563eb;font-weight:900;display:grid;place-items:center}.orb.o1{width:42px;height:42px;right:238px;top:42px}.orb.o2{width:42px;height:42px;right:12px;top:34px}.orb.o3{width:36px;height:36px;right:44px;bottom:0}
.overview{margin:16px 0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);min-height:62px;display:flex;align-items:center;gap:22px;padding:12px 20px;flex-wrap:wrap}.overview b:first-child{font-size:16px;color:#0f172a;margin-right:4px}.overview span{color:#475569}.overview strong{font-size:22px;color:#0f172a}.overview .good{color:var(--green);font-weight:900}.overview .bad{color:var(--red);font-weight:900}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:20px 4px 12px}.section-head h3{margin:0;font-size:18px}.link,.section-head a{font-size:14px;color:var(--blue);font-weight:800;background:transparent;border:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.site-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px;box-shadow:var(--shadow);min-height:168px;display:flex;flex-direction:column;transition:.18s}.site-card:hover{transform:translateY(-2px);box-shadow:0 18px 48px rgba(15,23,42,.08)}.site-top{display:flex;gap:12px;align-items:flex-start}.site-icon{width:54px;height:54px;border-radius:15px;color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900;flex:0 0 auto}.site-card h4{font-size:16px;margin:0 0 5px;line-height:1.25}.site-card p{margin:0;color:#64748b;font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.star{margin-left:auto;color:#94a3b8;font-size:18px;padding:2px}.star.on{color:#f59e0b}.monitor{margin-top:auto;padding-top:13px;border-top:1px solid #eef3f9;display:flex;align-items:center;gap:9px;font-size:12px;color:#64748b;flex-wrap:wrap}.tag{font-weight:900}.tag.ok,.latency{color:var(--green)}.tag.warn{color:var(--orange)}.tag.danger{color:var(--red)}.latency{font-weight:900}.card-actions{display:flex;gap:11px;margin-top:10px;flex-wrap:wrap}.card-actions a,.card-actions button{border:0;background:transparent;color:var(--blue);font-weight:800;font-size:14px;padding:0}.card-actions .danger{color:var(--red)}
.empty{background:#fff;border:1px dashed #cbd5e1;border-radius:20px;min-height:260px;display:grid;place-items:center;text-align:center;padding:34px;color:#475569;box-shadow:var(--shadow)}.empty .empty-icon{width:72px;height:72px;border-radius:24px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-size:32px;margin:0 auto 16px}.empty h3{font-size:22px;color:#0f172a;margin:0 0 8px}.empty p{margin:0 0 18px;color:#64748b;line-height:1.8}.empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.panel,.stat-card,.right-panel,.page{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.panel{padding:16px}.panel h3,.right-panel h3{font-size:16px;margin:0 0 12px;display:flex;align-items:center;justify-content:space-between}.recent-row{display:flex;gap:14px;overflow:auto;padding-bottom:2px}.recent-item{min-width:84px;text-align:center;color:#334155}.recent-item .mini{width:36px;height:36px;border-radius:12px;margin:0 auto 8px;display:grid;place-items:center;color:#fff;font-weight:900}.recent-item span{font-size:12px;color:#64748b}
.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:#64748b;font-weight:900;padding:9px 8px;background:#f8fbff}.table td{padding:10px 8px;border-top:1px solid #eef3f9}.pill{padding:4px 8px;border-radius:999px;font-size:12px;font-weight:900;background:#ecfdf5;color:var(--green)}.pill.warn{background:#fff7ed;color:var(--orange)}.pill.danger{background:#fef2f2;color:var(--red)}
.right{display:flex;flex-direction:column;gap:14px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:18px}.stat-card small{display:block;color:#64748b;font-weight:900;margin-bottom:10px}.stat-card .num{font-size:26px;line-height:1;font-weight:900}.stat-card .sub{font-size:12px;color:#94a3b8;margin-top:8px}.right-panel{padding:16px}.alert-list,.news-list{display:flex;flex-direction:column;gap:10px}.alert,.news{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:start;font-size:13px}.alert i{font-style:normal;color:var(--orange)}.alert.danger i{color:var(--red)}.alert small,.news small{color:#94a3b8;white-space:nowrap}.progress-row{display:grid;grid-template-columns:84px 1fr 44px;gap:8px;align-items:center;font-size:13px;margin:10px 0}.bar{height:6px;border-radius:999px;background:#e5edf7;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:inherit}
.page{padding:22px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.toolbar h2{margin:0;font-size:24px}.toolbar p{margin:6px 0 0}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{border:0;background:#2563eb;color:#fff;border-radius:12px;padding:10px 15px;font-weight:900;box-shadow:0 8px 20px rgba(37,99,235,.18)}.btn:hover{filter:brightness(.98)}.btn.ghost{background:#eff6ff;color:#2563eb;box-shadow:none}.btn.danger{background:#ef4444;color:#fff}.muted{color:#64748b}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:13px;font-weight:900;color:#475569;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;outline:0}.field textarea{min-height:86px;resize:vertical}.full{grid-column:1/-1}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.38);display:none;align-items:center;justify-content:center;z-index:99;padding:18px}.modal{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 120px rgba(15,23,42,.28);padding:22px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h2{margin:0}.close{border:0;background:#f1f5f9;border-radius:10px;width:36px;height:36px;font-size:20px}.module-list,.vault-list{display:grid;gap:12px}.module-row,.vault-row{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.secret-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:12px 14px;margin:12px 0;font-size:13px;line-height:1.6}.toast{position:fixed;right:22px;bottom:22px;background:#0f172a;color:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 16px 40px rgba(15,23,42,.25);z-index:120;animation:fade .2s ease-out}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.login-body{min-height:100vh;background:linear-gradient(135deg,#edf4ff 0%,#f5f8fc 55%,#eef5ff 100%);display:flex;align-items:center;justify-content:flex-start;padding:56px 8vw}.login-card-only{width:min(480px,94vw);background:rgba(255,255,255,.96);border:1px solid rgba(226,232,240,.95);box-shadow:0 24px 64px rgba(15,23,42,.08);border-radius:28px;padding:36px;backdrop-filter:blur(18px)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.login-brand .logo-mark{width:56px;height:56px}.login-brand h1{font-size:26px;margin:0}.login-brand p{margin:4px 0 0;color:#64748b;font-size:14px}.login-card-only h2{font-size:30px;margin:0 0 10px}.login-card-only .desc{margin:0 0 18px;color:#64748b;line-height:1.7}.login-form label{display:block;font-weight:900;color:#475569;font-size:13px;margin:14px 0 8px}.login-form input[type=text],.login-form input[type=password]{width:100%;height:50px;border:1px solid var(--line);border-radius:14px;padding:0 14px;outline:0;background:#fff}.login-form input:focus{border-color:#93c5fd;box-shadow:0 0 0 4px #dbeafe}.checkline{display:flex!important;align-items:center;gap:8px;font-size:14px!important;margin:14px 0!important}.login-form button{width:100%;height:52px;border:0;border-radius:15px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:900;margin-top:10px;box-shadow:0 12px 26px rgba(37,99,235,.22)}.login-msg{min-height:22px;color:#ef4444;font-size:13px;margin-top:12px}
@media(max-width:1400px){.content-grid{grid-template-columns:1fr}.right{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.stat-grid{grid-column:1/-1;grid-template-columns:repeat(6,1fr)}.cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.cards{grid-template-columns:repeat(2,1fr)}.top-search{width:100%}.hero-art{display:none}.right{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.panels{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
@media(max-width:640px){.main{padding:12px}.hero{padding:24px}.hero h2{font-size:32px}.cards{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.userbar{gap:6px}.user-name{display:none}.overview{gap:12px}.login-body{padding:22px;justify-content:center}.login-card-only{padding:24px}}

/* login page v4 */
.login-body-modern{
  min-height:100vh;
  background:linear-gradient(135deg,#edf4ff 0%,#f5f7fb 46%,#eef3fb 100%);
  padding:40px 6vw;
  display:flex;
  align-items:center;
}
.login-shell{
  width:100%;
  min-height:78vh;
  display:grid;
  grid-template-columns:minmax(420px,1fr) minmax(420px,660px);
  align-items:center;
  gap:64px;
}
.login-left-panel{
  padding:24px 10px 24px 0;
}
.login-left-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:48px;
}
.login-left-brand .logo-mark{
  width:36px;
  height:36px;
  border-radius:12px;
  background:linear-gradient(135deg,#2563eb,#4f46e5);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900;
  box-shadow:0 10px 24px rgba(37,99,235,.22);
}
.login-left-brand h1{
  margin:0;
  font-size:20px;
  line-height:1.2;
}
.login-left-brand p{
  margin:4px 0 0;
  color:#7c8ba1;
  font-size:12px;
}
.login-left-copy h2{
  margin:0 0 26px;
  font-size:62px;
  line-height:1.08;
  letter-spacing:-.03em;
  color:#0f172a;
  max-width:620px;
}
.login-left-copy p{
  margin:0;
  max-width:620px;
  color:#64748b;
  font-size:17px;
  line-height:1.9;
}
.login-right-panel{
  display:flex;
  justify-content:center;
}
.login-panel-card{
  width:min(660px,100%);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(226,232,240,.9);
  border-radius:28px;
  padding:36px 34px;
  box-shadow:0 20px 60px rgba(15,23,42,.08);
}
.login-panel-card h2{
  margin:0 0 12px;
  font-size:28px;
  color:#0f172a;
}
.login-panel-card .desc{
  margin:0 0 18px;
  color:#7c8ba1;
  font-size:15px;
}
.modern-login-form label{
  display:block;
  font-weight:800;
  color:#334155;
  font-size:14px;
  margin:14px 0 8px;
}
.modern-login-form input[type=text],
.modern-login-form input[type=password]{
  width:100%;
  height:52px;
  border:0;
  outline:0;
  background:#eef3fb;
  border-radius:14px;
  padding:0 16px;
  color:#0f172a;
}
.modern-login-form input[type=text]:focus,
.modern-login-form input[type=password]:focus{
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
  background:#edf3ff;
}
.modern-login-form .checkline{
  margin:16px 0 18px !important;
  color:#475569;
}
.modern-login-form button{
  width:100%;
  height:52px;
  border:0;
  border-radius:14px;
  background:linear-gradient(90deg,#3b82f6 0%,#3458e6 100%);
  color:#fff;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 12px 28px rgba(59,130,246,.24);
}
.simple-tip{
  margin-top:22px;
  font-size:13px;
  color:#94a3b8;
  background:transparent;
  border:0;
  padding:0;
  line-height:1.8;
}
@media (max-width: 1180px){
  .login-shell{grid-template-columns:1fr;gap:28px;min-height:auto}
  .login-left-panel{padding:0}
  .login-left-copy h2{font-size:46px;max-width:unset}
  .login-left-copy p{max-width:unset}
  .login-right-panel{justify-content:flex-start}
}
@media (max-width: 720px){
  .login-body-modern{padding:24px 18px}
  .login-left-brand{margin-bottom:24px}
  .login-left-copy h2{font-size:34px;line-height:1.16;margin-bottom:16px}
  .login-left-copy p{font-size:15px;line-height:1.8}
  .login-panel-card{padding:24px 20px;border-radius:22px}
}


/* v6 compact right-side statistics */
.right .stat-grid{
  gap:10px;
}
.right .stat-card{
  min-height:96px;
  padding:16px 18px;
  border-radius:16px;
}
.right .stat-card small{
  font-size:14px;
}
.right .stat-card .num{
  font-size:28px;
  line-height:1.15;
  margin-top:10px;
}
.right .stat-card .sub{
  font-size:12px;
  margin-top:6px;
}


/* v10 home layout */
.home-page{display:block}
.home-panels-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:14px;margin-top:14px;align-items:start}.home-panels-grid .full-span{grid-column:1 / -1}.home-page .cards{margin-bottom:0}.home-page .panel,.home-page .right-panel{margin-top:0}.home-page .news-list .news{padding:10px 0} @media(max-width:1100px){.home-panels-grid{grid-template-columns:1fr}.home-panels-grid .full-span{grid-column:auto}}


/* v11 home layout */
.home-bottom-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:14px;margin-top:14px;align-items:start}.aside-stack{display:grid;gap:14px}.home-news-block{margin-top:14px}.home-page .cards{margin-bottom:0}.home-page .panel,.home-page .right-panel{margin-top:0}.home-page .table th,.home-page .table td{font-size:13px}.home-news-block .news-list .news{padding:10px 0}.home-bottom-grid #serverBox{min-height:100%} @media(max-width:1100px){.home-bottom-grid{grid-template-columns:1fr}}


/* v12 ordering actions */
.card-actions{flex-wrap:wrap;row-gap:6px}
.card-actions button,.card-actions a{white-space:nowrap}


/* v14: drag sorting and compact cards */
.site-card{position:relative}
.site-card.dragging{opacity:.55;transform:scale(.985);outline:2px dashed #93c5fd}
.drag-handle{
  position:absolute;right:12px;top:12px;
  width:24px;height:24px;border-radius:8px;
  display:grid;place-items:center;color:#94a3b8;
  background:#f8fbff;border:1px solid #eef2f7;
  font-weight:900;cursor:grab;line-height:1;
}
.drag-handle:active{cursor:grabbing}
.compact-actions{gap:12px}
.sort-tip{
  margin-left:10px;font-size:12px;font-weight:600;color:#94a3b8;
}
.server-meta{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;margin:12px 0 8px;
}
.server-meta span{
  background:#f8fbff;border:1px solid #eef2f7;border-radius:10px;
  padding:8px 10px;color:#475569;font-size:12px;text-align:center;
}
@media(max-width:720px){
  .server-meta{grid-template-columns:1fr}
  .sort-tip{display:block;margin:6px 0 0}
}


/* v15: stable sorting controls */
.drag-handle{
  font-size:14px;
  user-select:none;
  -webkit-user-select:none;
}
.drag-handle:hover{
  color:#2563eb;
  border-color:#bfdbfe;
  background:#eff6ff;
}
.card-actions.compact-actions{
  gap:10px 12px;
}
.card-actions.compact-actions button{
  white-space:nowrap;
}
.site-card[draggable="true"] .drag-handle{
  cursor:grab;
}
.site-card[draggable="true"] .drag-handle:active{
  cursor:grabbing;
}


/* v16: numeric site ordering */
.drag-handle{display:none!important}
.site-card{position:relative}
.order-chip{
  position:absolute;
  right:12px;
  top:12px;
  min-width:34px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}
.site-card .site-top{padding-right:42px}
.compact-actions{gap:12px}


/* v17 server status redesign */
#serverBox{overflow:hidden}
.server-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:10px}
.server-stat-card{background:#fff;border:1px solid #edf2f7;border-radius:18px;padding:18px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:148px;box-shadow:0 8px 24px rgba(15,23,42,.03)}
.server-stat-left small{display:block;font-size:14px;color:#475569;font-weight:800;margin-bottom:10px}
.server-big{font-size:17px;font-weight:900;color:#111827;line-height:1.35;max-width:140px}
.server-sub{font-size:12px;color:#94a3b8;margin-top:8px}
.server-ring{--size:116px;width:var(--size);height:var(--size);border-radius:50%;background:conic-gradient(#26a641 calc(var(--p)*1%), #eaeaea 0);display:grid;place-items:center;flex:none}
.server-ring-inner{width:92px;height:92px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.server-ring-inner b{font-size:18px;line-height:1;color:#26a641;font-weight:900}
.server-ring-inner span{font-size:12px;color:#94a3b8;margin-top:6px}
.server-foot{display:flex;flex-wrap:wrap;gap:14px 20px;margin-top:16px;color:#64748b;font-size:13px}
.server-foot span{display:flex;align-items:center}
@media(max-width:1400px){.server-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.server-cards{grid-template-columns:1fr}.server-stat-card{min-height:132px}.server-ring{--size:100px}.server-ring-inner{width:78px;height:78px}.server-big{max-width:none}}


/* v18 visible verification and stronger server cards */
.version-badge{
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#eef6ff;
  color:#2563eb;
  border:1px solid #bfdbfe;
  display:flex;
  align-items:center;
  font-size:12px;
  font-weight:900;
}
.order-chip{
  background:#eff6ff !important;
  border-color:#bfdbfe !important;
  color:#1d4ed8 !important;
}
.server-cards{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.server-stat-card{
  background:#fff !important;
  border:1px solid #edf2f7 !important;
  border-radius:18px !important;
  padding:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:148px !important;
  box-shadow:0 8px 24px rgba(15,23,42,.03) !important;
}
.server-ring{
  --size:116px;
  width:var(--size) !important;
  height:var(--size) !important;
  border-radius:50% !important;
  background:conic-gradient(#26a641 calc(var(--p)*1%), #eaeaea 0) !important;
  display:grid !important;
  place-items:center !important;
}
.server-ring-inner{
  width:92px !important;
  height:92px !important;
  border-radius:50% !important;
  background:#fff !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}
.server-ring-inner b{
  color:#26a641 !important;
  font-size:18px !important;
  font-weight:900 !important;
}
@media(max-width:1400px){.server-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media(max-width:760px){.server-cards{grid-template-columns:1fr !important}}


/* v19: home site vertical scroll + refined left sidebar bottom */
.home-site-scroll{
  max-height:384px;
  overflow-y:auto;
  padding-right:8px;
  margin-right:-4px;
}
.home-site-scroll::-webkit-scrollbar{
  width:8px;
}
.home-site-scroll::-webkit-scrollbar-track{
  background:#eef3f9;
  border-radius:999px;
}
.home-site-scroll::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#93c5fd,#2563eb);
  border-radius:999px;
}
.home-site-scroll::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#60a5fa,#1d4ed8);
}
.home-page .home-site-scroll .cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
@media(max-width:1280px){
  .home-page .home-site-scroll .cards{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .home-site-scroll{max-height:620px;}
  .home-page .home-site-scroll .cards{grid-template-columns:1fr;}
}

/* Sidebar bottom polish */
.side-bottom{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.side-bottom .status-card{
  margin-top:0;
}
.side-status-card{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:78px;
  background:linear-gradient(135deg,#f0fdf4,#ffffff);
  border-color:#dcfce7;
  box-shadow:0 14px 36px rgba(22,163,74,.06);
}
.side-status-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#16a34a;
  background:linear-gradient(135deg,#dcfce7,#f0fdf4);
  font-size:15px;
  font-weight:900;
  flex:none;
}
.side-status-card .row{
  gap:8px;
}
.side-status-card b{
  font-size:14px;
}
.side-status-card p{
  margin:6px 0 0;
  font-size:12px;
  color:#64748b;
}
.side-pill{
  padding:2px 8px;
  border-radius:999px;
  background:#dcfce7;
  color:#16a34a;
  font-size:11px;
  font-weight:900;
  margin-left:auto;
}
.side-time-card{
  min-height:126px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#ffffff,#f7fbff);
}
.time-card-head{
  display:flex;
  align-items:center;
  gap:8px;
  color:#0f172a;
  font-weight:900;
  font-size:13px;
}
.clock-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#1d4ed8;
  box-shadow:0 0 0 5px rgba(37,99,235,.10);
}
.side-time-card .time{
  position:relative;
  z-index:1;
  font-size:30px;
  letter-spacing:.05em;
  margin-top:12px;
  color:#0f172a;
}
.side-time-card p{
  position:relative;
  z-index:1;
  font-size:12px;
  color:#64748b;
}
.time-bg{
  position:absolute;
  right:-12px;
  bottom:-20px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:linear-gradient(135deg,#dbeafe,#eff6ff);
  color:#2563eb;
  opacity:.55;
  font-size:54px;
  display:grid;
  place-items:center;
}
.sidebar-footer-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  color:#64748b;
}
.footer-shield{
  width:34px;
  height:34px;
  border-radius:12px;
  background:#eff6ff;
  color:#2563eb;
  display:grid;
  place-items:center;
  font-weight:900;
  flex:none;
}
.sidebar-footer-card b{
  display:block;
  font-size:12px;
  color:#64748b;
}
.sidebar-footer-card p{
  margin:4px 0 0;
  color:#94a3b8;
  font-size:11px;
}

/* v21: 80% compact-density layout without CSS zoom clipping */
body.app-scale-80{
  overflow-x:hidden;
  background:linear-gradient(180deg,#f6f9ff 0%,#f4f7fb 100%);
}
@media (min-width:900px){
  body.app-scale-80 .app{
    width:100%;
    min-height:100vh;
    grid-template-columns:226px minmax(0,1fr);
  }
  body.app-scale-80 .sidebar{
    height:100vh;
    padding:18px;
  }
  body.app-scale-80 .logo{
    gap:10px;
    margin-bottom:22px;
  }
  body.app-scale-80 .logo-mark{
    width:36px;
    height:36px;
    border-radius:13px;
    font-size:19px;
  }
  body.app-scale-80 .logo h1{font-size:18px;}
  body.app-scale-80 .logo p{font-size:11px;}
  body.app-scale-80 .collapse-btn{font-size:20px;}
  body.app-scale-80 .nav{gap:7px;}
  body.app-scale-80 .nav a{
    height:42px;
    border-radius:13px;
    padding:0 12px;
    gap:10px;
    font-size:14px;
  }
  body.app-scale-80 .ico,
  body.app-scale-80 .ico svg{
    width:19px;
    height:19px;
  }
  body.app-scale-80 .status-card{
    border-radius:16px;
    padding:13px;
  }
  body.app-scale-80 .time{
    font-size:23px;
    margin-top:7px;
  }
  body.app-scale-80 .sidebar-footer-card{
    min-height:48px;
    padding:10px 12px;
    border-radius:15px;
  }
  body.app-scale-80 .main{
    padding:14px 18px;
  }
  body.app-scale-80 .topbar{
    height:42px;
    margin-bottom:14px;
  }
  body.app-scale-80 .top-search{
    height:38px;
    width:min(620px,52vw);
    padding:0 15px;
  }
  body.app-scale-80 .userbar{gap:8px;}
  body.app-scale-80 .icon-btn,
  body.app-scale-80 .logout{
    height:34px;
    min-width:34px;
    border-radius:11px;
    padding:0 10px;
  }
  body.app-scale-80 .avatar{
    width:34px;
    height:34px;
  }
  body.app-scale-80 .version-badge{
    height:24px;
    font-size:11px;
  }
  body.app-scale-80 .page{
    padding:18px;
    border-radius:17px;
  }
  body.app-scale-80 .hero{
    min-height:154px;
    padding:24px 34px;
    border-radius:18px;
  }
  body.app-scale-80 .hero h2{
    font-size:34px;
    margin-bottom:8px;
  }
  body.app-scale-80 .hero p{
    font-size:14px;
    margin-bottom:18px;
  }
  body.app-scale-80 .hero-search{
    height:42px;
    max-width:520px;
  }
  body.app-scale-80 .hero-search button{width:112px;}
  body.app-scale-80 .hero-art{
    width:236px;
    height:118px;
    transform:scale(.86);
    transform-origin:right center;
  }
  body.app-scale-80 .overview{
    min-height:52px;
    margin:12px 0;
    padding:9px 16px;
    gap:16px;
    border-radius:15px;
  }
  body.app-scale-80 .overview b:first-child{font-size:15px;}
  body.app-scale-80 .overview span{font-size:13px;}
  body.app-scale-80 .overview strong{font-size:19px;}
  body.app-scale-80 .section-head{
    margin:15px 4px 10px;
  }
  body.app-scale-80 .section-head h3{font-size:17px;}
  body.app-scale-80 .sort-tip{font-size:11px;}
  body.app-scale-80 .home-site-scroll{
    max-height:342px;
    padding-right:7px;
  }
  body.app-scale-80 .home-page .home-site-scroll .cards{
    gap:12px;
  }
  body.app-scale-80 .home-bottom-grid,
  body.app-scale-80 .aside-stack,
  body.app-scale-80 .home-news-block{
    gap:12px;
    margin-top:12px;
  }
  body.app-scale-80 .panel,
  body.app-scale-80 .right-panel{
    border-radius:17px;
    padding:14px;
  }
  body.app-scale-80 .server-cards{
    gap:10px !important;
  }
  body.app-scale-80 .server-stat-card{
    min-height:122px !important;
    padding:14px !important;
    border-radius:16px !important;
  }
  body.app-scale-80 .server-big{font-size:15px;}
  body.app-scale-80 .server-sub,
  body.app-scale-80 .server-foot{font-size:12px;}
  body.app-scale-80 .server-ring{
    --size:92px;
  }
  body.app-scale-80 .server-ring-inner{
    width:72px !important;
    height:72px !important;
  }
  body.app-scale-80 .server-ring-inner b{font-size:15px !important;}
  body.app-scale-80 .server-ring-inner span{font-size:10px;}
}
.site-card-v21{
  position:relative;
  isolation:isolate;
  min-height:188px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(203,213,225,.72);
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,251,255,.94));
  box-shadow:0 20px 54px rgba(15,23,42,.065);
  overflow:hidden;
}
.site-card-v21::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 14% 0%,rgba(59,130,246,.12),transparent 34%),radial-gradient(circle at 100% 10%,rgba(20,184,166,.10),transparent 34%);
  z-index:-2;
}
.site-card-v21::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:76px;
  height:1px;
  background:linear-gradient(90deg,rgba(226,232,240,.9),rgba(226,232,240,.2));
  z-index:-1;
}
.site-card-v21 .site-card-bg{
  position:absolute;
  right:-34px;
  top:-38px;
  width:132px;
  height:132px;
  border-radius:999px;
  background:rgba(37,99,235,.07);
  z-index:-1;
}
.site-card-v21:hover{
  transform:translateY(-3px);
  box-shadow:0 26px 68px rgba(15,23,42,.095);
  border-color:rgba(147,197,253,.9);
}
.site-card-v21 .order-chip{
  right:16px;
  top:16px;
  min-width:42px;
  height:28px;
  padding:0 10px;
  background:rgba(239,246,255,.94)!important;
  border-color:#bfdbfe!important;
  color:#1d4ed8!important;
  box-shadow:0 8px 22px rgba(37,99,235,.08);
}
.site-card-v21 .site-top-v21{
  display:flex;
  align-items:center;
  gap:14px;
  padding-right:58px;
}
.site-card-v21 .site-icon{
  width:62px;
  height:62px;
  border-radius:20px;
  font-size:23px;
  box-shadow:0 16px 34px rgba(37,99,235,.18);
}
.site-card-v21 .site-copy{
  min-width:0;
  flex:1;
}
.site-card-v21 h4{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.2;
  letter-spacing:.01em;
}
.site-card-v21 h4 a{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-card-v21 .site-meta{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.site-card-v21 .site-meta span{
  max-width:120px;
  height:24px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  background:rgba(241,245,249,.92);
  border:1px solid rgba(226,232,240,.88);
  color:#64748b;
  font-size:12px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.site-card-v21 .site-desc{
  margin:18px 0 0;
  min-height:38px;
  color:#64748b;
  font-size:13px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-card-v21 .monitor-v21{
  margin-top:auto;
  padding:10px 12px;
  border:1px solid rgba(226,232,240,.78);
  border-radius:15px;
  background:rgba(248,251,255,.86);
  gap:8px;
}
.site-card-v21 .monitor-v21 .state-pill{
  height:24px;
  padding:0 9px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  font-size:12px;
  font-weight:900;
  background:#ecfdf5;
  color:#16a34a;
}
.site-card-v21 .monitor-v21 .state-pill.warn{
  background:#fff7ed;
  color:#f59e0b;
}
.site-card-v21 .monitor-v21 .state-pill.danger{
  background:#fef2f2;
  color:#ef4444;
}
.site-card-v21 .site-actions-v21{
  margin-top:12px;
  gap:8px;
}
.site-card-v21 .site-actions-v21 a,
.site-card-v21 .site-actions-v21 button{
  height:32px;
  padding:0 11px;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eff6ff;
  color:#2563eb;
  font-size:13px;
  font-weight:900;
  transition:.16s;
}
.site-card-v21 .site-actions-v21 a:hover,
.site-card-v21 .site-actions-v21 button:hover{
  background:#dbeafe;
}
.site-card-v21 .site-actions-v21 .danger{
  background:#fef2f2;
  color:#ef4444;
}
.site-card-v21 .site-actions-v21 .danger:hover{
  background:#fee2e2;
}
@media(max-width:760px){
  .site-card-v21{min-height:180px;padding:16px}
  .site-card-v21 .site-icon{width:56px;height:56px;border-radius:18px}
  .site-card-v21 h4{font-size:17px}
}


/* v21: compact polished site cards */
@media (min-width:900px){
  body.app-scale-80 .site-card-v21{
    min-height:158px;
    padding:14px;
    border-radius:20px;
  }
  body.app-scale-80 .site-card-v21::after{
    left:14px;
    right:14px;
    top:64px;
  }
  body.app-scale-80 .site-card-v21 .order-chip{
    top:13px;
    right:13px;
    height:24px;
    min-width:38px;
    font-size:11px;
  }
  body.app-scale-80 .site-card-v21 .site-top-v21{
    gap:11px;
    padding-right:52px;
  }
  body.app-scale-80 .site-card-v21 .site-icon{
    width:50px;
    height:50px;
    border-radius:16px;
    font-size:20px;
  }
  body.app-scale-80 .site-card-v21 h4{
    font-size:16px;
    margin-bottom:6px;
  }
  body.app-scale-80 .site-card-v21 .site-meta span{
    height:22px;
    padding:0 8px;
    font-size:11px;
    max-width:110px;
  }
  body.app-scale-80 .site-card-v21 .site-desc{
    margin:13px 0 0;
    min-height:30px;
    font-size:12px;
    line-height:1.45;
  }
  body.app-scale-80 .site-card-v21 .monitor-v21{
    padding:8px 10px;
    border-radius:13px;
    font-size:11px;
  }
  body.app-scale-80 .site-card-v21 .monitor-v21 .state-pill{
    height:21px;
    padding:0 8px;
    font-size:11px;
  }
  body.app-scale-80 .site-card-v21 .site-actions-v21{
    margin-top:9px;
    gap:7px;
  }
  body.app-scale-80 .site-card-v21 .site-actions-v21 a,
  body.app-scale-80 .site-card-v21 .site-actions-v21 button{
    height:28px;
    padding:0 9px;
    border-radius:10px;
    font-size:12px;
  }
}


/* v22: home site area and selectable site card themes */
.home-site-scroll.show-all{
  max-height:none !important;
  overflow:visible !important;
  padding-right:0;
  margin-right:0;
}
.home-site-scroll.limit-two-rows{
  max-height:430px !important;
  overflow-y:auto;
}
@media (min-width:900px){
  body.app-scale-80 .home-site-scroll.show-all{
    max-height:none !important;
    overflow:visible !important;
  }
  body.app-scale-80 .home-site-scroll.limit-two-rows{
    max-height:392px !important;
  }
}

.site-card-v22{
  --accent1:#2563eb;
  --accent2:#60a5fa;
  --card-bg1:#ffffff;
  --card-bg2:#f8fbff;
  --line-soft:rgba(191,219,254,.9);
  --bubble:rgba(37,99,235,.08);
  --spot-a:rgba(37,99,235,.12);
  --spot-b:rgba(14,165,233,.1);
  position:relative;
  isolation:isolate;
  min-height:176px;
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(226,232,240,.95);
  background:linear-gradient(145deg,var(--card-bg1),var(--card-bg2));
  box-shadow:0 18px 46px rgba(15,23,42,.065);
  overflow:hidden;
}
.site-card-v22::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 0%,var(--spot-a),transparent 34%),radial-gradient(circle at 100% 12%,var(--spot-b),transparent 32%);
  z-index:-2;
}
.site-card-v22::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:74px;
  height:1px;
  background:linear-gradient(90deg,rgba(226,232,240,.92),rgba(226,232,240,.26));
  z-index:-1;
}
.site-card-v22 .site-card-bg{
  position:absolute;
  right:-32px;
  top:-38px;
  width:128px;
  height:128px;
  border-radius:999px;
  background:var(--bubble);
  z-index:-1;
}
.site-card-v22:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 56px rgba(15,23,42,.09);
  border-color:var(--line-soft);
}
.site-card-v22 .order-chip{
  right:14px;
  top:14px;
  min-width:42px;
  height:26px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.94) !important;
  border:1px solid var(--line-soft)!important;
  color:var(--accent1)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}
.site-card-v22 .site-top-v22{
  display:flex;
  align-items:center;
  gap:12px;
  padding-right:54px;
}
.site-card-v22 .site-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  font-size:22px;
  box-shadow:0 14px 30px rgba(15,23,42,.14);
  background:linear-gradient(135deg,var(--accent1),var(--accent2));
}
.site-card-v22 .site-copy{min-width:0;flex:1;}
.site-card-v22 h4{margin:0 0 7px;font-size:18px;line-height:1.2;}
.site-card-v22 h4 a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.site-card-v22 .site-meta{display:flex;gap:7px;flex-wrap:wrap;}
.site-card-v22 .site-meta span{
  height:23px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(226,232,240,.9);
  color:#64748b;
  font-size:11px;
  font-weight:800;
}
.site-card-v22 .site-desc{
  margin:14px 0 0;
  min-height:36px;
  color:#64748b;
  font-size:13px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-card-v22 .monitor-v22{
  margin-top:auto;
  padding:9px 11px;
  border:1px solid rgba(226,232,240,.9);
  border-radius:14px;
  background:rgba(255,255,255,.78);
  gap:8px;
  font-size:12px;
}
.site-card-v22 .monitor-v22 .state-pill{
  height:22px;
  padding:0 8px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  font-size:11px;
  font-weight:900;
  background:#ecfdf5;
  color:#16a34a;
}
.site-card-v22 .monitor-v22 .state-pill.warn{background:#fff7ed;color:#f59e0b;}
.site-card-v22 .monitor-v22 .state-pill.danger{background:#fef2f2;color:#ef4444;}
.site-card-v22 .site-actions-v22{margin-top:10px;gap:8px;}
.site-card-v22 .site-actions-v22 a,
.site-card-v22 .site-actions-v22 button{
  height:30px;
  padding:0 11px;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(226,232,240,.95);
  color:var(--accent1);
  font-size:12px;
  font-weight:900;
}
.site-card-v22 .site-actions-v22 a:hover,
.site-card-v22 .site-actions-v22 button:hover{background:#fff;}
.site-card-v22 .site-actions-v22 .danger{color:#ef4444;}

.site-card-v22.style-glass{
  backdrop-filter:blur(10px);
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(247,250,255,.74));
}
.site-card-v22.style-outline{
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.04);
  border-width:1px;
}
.site-card-v22.style-outline .site-meta span,
.site-card-v22.style-outline .site-actions-v22 a,
.site-card-v22.style-outline .site-actions-v22 button,
.site-card-v22.style-outline .monitor-v22{background:#fff;}

.site-card-v22.theme-ocean{--accent1:#2563eb;--accent2:#60a5fa;--card-bg1:#ffffff;--card-bg2:#f7fbff;--line-soft:#bfdbfe;--bubble:rgba(37,99,235,.08);--spot-a:rgba(37,99,235,.12);--spot-b:rgba(14,165,233,.1);}
.site-card-v22.theme-violet{--accent1:#7c3aed;--accent2:#a78bfa;--card-bg1:#ffffff;--card-bg2:#faf7ff;--line-soft:#ddd6fe;--bubble:rgba(124,58,237,.09);--spot-a:rgba(139,92,246,.13);--spot-b:rgba(167,139,250,.12);}
.site-card-v22.theme-mint{--accent1:#0f766e;--accent2:#34d399;--card-bg1:#ffffff;--card-bg2:#f4fffb;--line-soft:#a7f3d0;--bubble:rgba(16,185,129,.08);--spot-a:rgba(45,212,191,.12);--spot-b:rgba(52,211,153,.1);}
.site-card-v22.theme-sunset{--accent1:#ea580c;--accent2:#fb7185;--card-bg1:#ffffff;--card-bg2:#fff8f5;--line-soft:#fdba74;--bubble:rgba(249,115,22,.08);--spot-a:rgba(251,146,60,.14);--spot-b:rgba(251,113,133,.1);}
.site-card-v22.theme-slate{--accent1:#334155;--accent2:#64748b;--card-bg1:#ffffff;--card-bg2:#f8fafc;--line-soft:#cbd5e1;--bubble:rgba(71,85,105,.08);--spot-a:rgba(100,116,139,.12);--spot-b:rgba(148,163,184,.1);}

@media (min-width:900px){
  body.app-scale-80 .site-card-v22{
    min-height:170px;
    padding:15px;
    border-radius:20px;
  }
  body.app-scale-80 .site-card-v22::after{left:15px;right:15px;top:69px;}
  body.app-scale-80 .site-card-v22 .site-top-v22{gap:11px;padding-right:52px;}
  body.app-scale-80 .site-card-v22 .site-icon{width:52px;height:52px;border-radius:17px;font-size:20px;}
  body.app-scale-80 .site-card-v22 h4{font-size:17px;margin-bottom:6px;}
  body.app-scale-80 .site-card-v22 .site-meta span{height:22px;padding:0 8px;font-size:11px;}
  body.app-scale-80 .site-card-v22 .site-desc{margin:13px 0 0;min-height:34px;font-size:12px;}
  body.app-scale-80 .site-card-v22 .monitor-v22{padding:8px 10px;font-size:11px;}
  body.app-scale-80 .site-card-v22 .monitor-v22 .state-pill{height:21px;font-size:11px;}
  body.app-scale-80 .site-card-v22 .site-actions-v22{margin-top:9px;gap:7px;}
  body.app-scale-80 .site-card-v22 .site-actions-v22 a,
  body.app-scale-80 .site-card-v22 .site-actions-v22 button{height:29px;padding:0 10px;font-size:12px;}
}


/* v23: fix two-row site display and align lower panels */
.home-site-scroll.limit-two-rows{
  max-height:446px !important;
  overflow-y:auto;
}
.home-page .home-site-scroll .cards{
  align-items:stretch;
}
@media (min-width:900px){
  body.app-scale-80 .home-site-scroll.limit-two-rows{
    max-height:430px !important;
  }
}
.home-dual-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  align-items:stretch;
}
.home-lower-grid{
  margin-top:14px;
}
.home-dual-grid > .panel,
.home-dual-grid > .right-panel{
  height:100%;
}
.home-alert-panel,
.home-news-panel,
.home-issue-panel,
#serverBox{
  min-height:214px;
}
.home-alert-panel .alert-list,
.home-news-panel .news-list{
  min-height:132px;
}
.home-alert-panel,
.home-news-panel,
.home-issue-panel,
#serverBox{
  display:flex;
  flex-direction:column;
}
.home-alert-panel .muted,
.home-news-panel .muted,
.home-issue-panel .muted{
  flex:1;
}
@media(max-width:1100px){
  .home-dual-grid{grid-template-columns:1fr;}
}
@media (min-width:900px){
  body.app-scale-80 .home-lower-grid{margin-top:12px;}
  body.app-scale-80 .home-dual-grid{gap:12px;}
  body.app-scale-80 .home-alert-panel,
  body.app-scale-80 .home-news-panel,
  body.app-scale-80 .home-issue-panel,
  body.app-scale-80 #serverBox{
    min-height:198px;
  }
  body.app-scale-80 .home-alert-panel .alert-list,
  body.app-scale-80 .home-news-panel .news-list{
    min-height:120px;
  }
}
