:root{color-scheme:light;--ink:#112348;--muted:#7e91ae;--primary:#347cf0;--line:#e5ebf5;--surface:#f4f8fd;--navy:#102036;--navy2:#182940;--navy3:#22364c;--shadow:0 12px 36px rgba(31,58,106,.06)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',system-ui,sans-serif;font-size:13px}
button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
.shell{display:flex;min-height:100vh;background:linear-gradient(110deg,#f4f8ff,#f8fbff 60%,#f1f7ff)}
.sidebar{position:sticky;top:0;height:100vh;width:224px;flex-shrink:0;padding:26px 12px 19px;background:linear-gradient(180deg,#fff,#fafcff);border-right:1px solid #e9eff8;display:flex;flex-direction:column;z-index:10}
.brand{display:flex;align-items:center;gap:12px;padding:0 10px;margin-bottom:49px}.brand-icon{width:43px;height:43px;border-radius:14px;background:linear-gradient(135deg,#2469eb,#638eff);color:#fff;display:grid;place-items:center;font-size:31px;box-shadow:0 8px 18px rgba(56,114,238,.18)}.brand strong{font-size:21px;letter-spacing:-1px;display:block;color:#14316c}.brand small{display:block;color:#8da2c4;font-size:10px;margin-top:3px}
.side-group{font-weight:800;font-size:10px;color:#a9b5c9;letter-spacing:1.8px;text-transform:uppercase;padding:0 17px;margin-bottom:13px}.nav-item{border-radius:12px;padding:15px 17px;display:flex;gap:13px;align-items:center;color:#7689ad;font-size:13px;font-weight:700;margin:2px 0}.nav-item span{font-size:19px;color:#93a9cf}.nav-item.active{background:linear-gradient(95deg,#e9f2ff,#edf4fd);color:#2772ec}.nav-item.active span{color:#2772ec}.nav-item:hover{background:#edf3fc;color:#1d69d3}
.side-bottom{margin-top:auto}.side-card{padding:18px 10px;border-radius:17px;text-align:center;background:linear-gradient(180deg,#e6f0ff,#f6faff);margin:0 2px 15px}.side-card-icon{width:54px;height:54px;margin:0 auto 10px;display:grid;place-items:center;color:#438aff;background:rgba(255,255,255,.65);border-radius:50%;font-size:30px}.side-card strong{display:block;color:#58719b;font-size:12px;margin-bottom:5px}.side-card small{color:#94a9c5;font-size:10px}.logout{width:100%;padding:12px 16px;border:1px solid #e5edf7;background:white;border-radius:10px;display:flex;justify-content:space-between;color:#778cad}.logout:hover{background:#f3f7ff}
.workspace{flex:1;min-width:0}.topbar{height:72px;background:rgba(255,255,255,.64);border-bottom:1px solid #ecf1f9;padding:0 29px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-weight:700;color:#7990b2;font-size:12px}.breadcrumb span{padding:0 10px;color:#b6c0d3}.top-actions{display:flex;gap:12px;align-items:center;color:#183258}.top-actions .muted{margin-right:13px;font-size:11px}.avatar{background:linear-gradient(150deg,#2e75f5,#7ba4ff);color:white;font-weight:800;width:32px;height:32px;border-radius:50%;display:grid;place-items:center}.content{max-width:1900px;margin:auto;padding:30px 24px 24px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:23px}.eyebrow{color:#4081ef;font-weight:800;font-size:10px;letter-spacing:2px;margin:0 0 8px}.page-header h1{margin:0 0 6px;font-size:28px;letter-spacing:-1px}.page-header p:not(.eyebrow){margin:0;color:#8598b5;font-size:12px}.header-actions{display:flex;gap:9px}.btn{border-radius:11px;padding:12px 17px;border:1px solid transparent;white-space:nowrap;font-size:12px;font-weight:800}.btn-ghost{background:white;color:#587090;border-color:#e4eaf4}.btn-ghost:hover{background:#eef5ff}.btn-primary{background:linear-gradient(125deg,#377ff5,#568df4);color:white;box-shadow:0 8px 20px rgba(52,124,240,.22)}.btn-primary:hover{filter:brightness(.96)}.btn:disabled{opacity:.5;cursor:wait}
.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.stat-card{background:linear-gradient(150deg,#fff 30%,#f9fbff);border:1px solid #edf1f8;border-radius:17px;padding:18px 19px;min-width:0;box-shadow:var(--shadow)}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#607598;font-weight:700;font-size:12px}.stat-icon{height:36px;width:36px;display:grid;place-items:center;border-radius:13px;font-size:21px}.stat-icon.purple{background:#eff0ff;color:#5f71e9}.stat-icon.green{background:#e7faf2;color:#12bd7a}.stat-icon.blue{background:#e7f1ff;color:#3684ec}.stat-icon.violet{background:#f4ecff;color:#9559eb}.stat-number{font-size:25px;font-weight:850;letter-spacing:-1px;margin:12px 0 8px;white-space:nowrap}.stat-foot{font-size:11px;color:#94a4c0}.positive{color:#13aa74;font-weight:750}
.section{margin-top:27px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}.section-heading h2{margin:0 0 6px;font-size:19px;letter-spacing:-.5px}.section-heading p{margin:0;color:#8ca0bd;font-size:11px}.section-pills{display:flex;gap:7px;align-items:center}.pill{border-radius:999px;padding:7px 11px;background:#eaf1ff;color:#517ddd;font-size:11px;font-weight:800;white-space:nowrap}.pill-soft{background:#f1f4f9;color:#8193ad}
.machine-toolbar{display:flex;align-items:center;gap:10px;margin:17px 0}.searchbox{display:flex;align-items:center;gap:9px;background:white;border:1px solid #e5ebf4;border-radius:11px;height:40px;padding:0 12px;max-width:380px;flex:1;min-width:150px;color:#8ba0bd}.searchbox:focus-within{border-color:#91b9f9;box-shadow:0 0 0 3px #e5effe}.searchbox span{font-size:21px}.searchbox input{border:0;outline:0;min-width:0;flex:1;background:transparent;color:#253e68}.searchbox input::placeholder{color:#a9b4c7}.searchbox kbd{border:1px solid #e6edf5;padding:2px 6px;border-radius:5px;font-size:10px;color:#9babc4;background:#f7f9fc}.filter-group{border:1px solid #e5ebf4;border-radius:11px;background:#fff;padding:4px;display:flex;gap:3px}.filter-btn{border:0;background:transparent;color:#8799b6;font-size:11px;border-radius:8px;padding:7px 13px;font-weight:750}.filter-btn.active{background:#edf4ff;color:#2d75e4}.toolbar-tip{color:#a3b2c8;margin-left:auto;font-size:10px}.group-list{display:grid;gap:16px}
.machine-group{border-radius:17px;padding:12px 12px 13px;background:linear-gradient(135deg,#15263b,#102032 85%);border:1px solid #2a3e55;box-shadow:0 12px 22px rgba(15,37,60,.14);color:#e8f1fb;min-width:0}.group-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:3px 7px 13px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.group-header:hover .group-title-wrap strong{color:#93c0ff}.group-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}.group-flag{font-size:21px;line-height:1}.group-title-wrap strong{font-size:16px}.group-count{font-size:11px;background:#33455d;color:#becde0;border-radius:999px;padding:5px 11px;white-space:nowrap}.group-meta{display:flex;align-items:center;gap:19px;color:#9fb4cd;font-size:11px;flex-wrap:wrap;justify-content:flex-end}.group-meta strong{color:#93caff;margin-left:4px}.group-meta .group-online{color:#58e5bc}.group-chevron{color:#b6cbe3;font-size:19px}.group-body{min-width:0;overflow-x:auto;overflow-y:hidden;border-radius:11px;scrollbar-width:thin;scrollbar-color:#4c627d #15263e}.machine-group.collapsed .group-body{display:none}
.server-row{min-width:1500px;display:grid;grid-template-columns:35px 142px 109px 90px 94px 109px 82px 155px 152px 125px 54px 97px 97px 97px 43px;gap:7px;align-items:center;padding:0 8px;min-height:48px;background:rgba(9,24,40,.86);border-bottom:1px solid rgba(164,192,225,.07);border-radius:8px;margin:3px 0;font-size:11px}.server-row:hover:not(.table-head){background:#1c3048}.server-row:nth-of-type(even):not(.table-head){background:rgba(18,37,56,.95)}.server-row.table-head{background:rgba(42,61,82,.75);color:#a8bdd5;min-height:34px;font-size:10px;font-weight:750;margin:0 0 5px;border:1px solid rgba(202,222,247,.07)}.server-row .cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-cell{text-align:center}.live-dot{display:inline-block;width:10px;height:10px;background:#e7ab40;border-radius:50%;box-shadow:0 0 0 3px rgba(229,171,64,.09)}.live-dot.online{background:#38d976;box-shadow:0 0 0 3px rgba(56,217,118,.08)}.live-dot.offline{background:#8ba0b8;box-shadow:0 0 0 3px rgba(139,160,184,.07)}.name-cell{display:flex;flex-direction:column;gap:3px}.name-cell strong{font-size:11px;color:#f3f8ff;text-overflow:ellipsis;overflow:hidden}.muted-ip{color:#7e9bb6;font-size:10px;overflow:hidden;text-overflow:ellipsis}.quick-cell{display:flex;align-items:center;gap:4px;overflow:visible!important}.quick-btn{padding:5px 6px;color:#a9d2ff;background:rgba(61,113,172,.20);border:1px solid #345170;border-radius:6px;font-size:10px;font-weight:800;white-space:nowrap;line-height:1}.quick-btn.password{color:#c7b4ff;background:rgba(121,97,171,.17);border-color:#514467}.quick-btn:hover{background:#30577e;color:#fff}.quick-btn.password:hover{background:#59477b;color:#fff}.quick-btn:disabled{opacity:.45;cursor:wait}.region-cell{display:flex;gap:6px;align-items:center;color:#b1c5dc}.region-flag{font-size:15px}.os-cell{color:#b6c6d9}.os-dot{display:inline-block;width:10px;height:10px;background:#7ba6d9;border-radius:50%;margin-right:6px;vertical-align:middle}.os-dot.debian{background:#e84a7d}.os-dot.ubuntu{background:#ff8336}.spec-cell,.uptime-cell{color:#c2d0df}.traffic-pair{display:flex;gap:5px;align-items:center;white-space:nowrap}.traffic-pair i{height:12px;border-left:1px solid #677b94}.download{color:#f5a360;font-weight:760}.upload{color:#77bcff;font-weight:760}.traffic-pair.month .download{color:#f2d552}.traffic-pair.month .upload{color:#68baff}.quota-cell{color:#aebed3}.quota-inline span{font-size:10px}.tiny-track{background:#304157;border-radius:99px;height:3px;margin-top:6px}.tiny-track>div{height:100%;border-radius:99px;background:#3584fa}.load-cell{color:#5ee7dc;font-weight:850}.resource-track{position:relative;display:flex;align-items:center;height:20px;border-radius:12px;background:#354356;overflow:hidden;color:#e5f1fb;font-size:10px;font-weight:780;isolation:isolate}.resource-fill{position:absolute;inset:0 auto 0 0;background:#318bf9;border-radius:12px;z-index:-1}.resource-track.green .resource-fill{background:#16ca83}.resource-track.gray .resource-fill{background:#93a8bb}.resource-track span{width:100%;text-align:center;text-shadow:0 1px 2px #172438}.missing{color:#637b98}.operation-cell{text-align:center;position:sticky;right:0;z-index:1;overflow:visible!important;background:#14273e}.table-head .operation-cell{background:#263a51}.more-btn{border:1px solid #3d536e;border-radius:7px;background:#263950;color:#b5cbe3;padding:3px 8px;letter-spacing:1px;font-weight:800;font-size:16px;line-height:1}.more-btn:hover{background:#3d5777;color:#fff}
.floating-menu{position:fixed;z-index:70;width:176px;padding:6px;background:#fff;border:1px solid #dfe7f3;box-shadow:0 12px 28px rgba(26,46,78,.22);border-radius:12px}.floating-menu button{border:0;display:block;width:100%;background:transparent;color:#4b5f80;text-align:left;border-radius:7px;padding:11px 13px;font-size:12px}.floating-menu button:hover{background:#eef5ff}.floating-menu .menu-danger{color:#d45d68}.floating-menu .menu-danger:hover{background:#fff0f0}
.empty{padding:55px 25px;border-radius:18px;border:1px dashed #d6e3f4;background:white;text-align:center;color:#8da1bd}.empty>span{font-size:30px;color:#5894f7}.empty h3{color:#35527b;margin:11px 0}.empty p{font-size:12px}.history-section{padding-top:5px}.history-select{border:1px solid #e1e9f5;background:white;color:#4e678b;border-radius:11px;padding:11px 13px;max-width:310px;font-size:11px}.chart-panel{background:white;border:1px solid #e8eff9;border-radius:18px;padding:22px 25px;box-shadow:var(--shadow)}.chart-top{display:flex;justify-content:space-between;align-items:center;font-size:12px}.legend{display:flex;gap:9px;align-items:center;color:#657b9c}.legend-dot{height:9px;width:9px;background:#3c84ee;border-radius:50%;display:inline-block}.legend-dot.tx{background:#1cbd9c;margin-left:10px}.chart-wrap{height:228px;margin-top:15px;position:relative}.chart-wrap svg{height:100%;width:100%}.chart-grid line{stroke:#edf1f7;stroke-width:1}.chart-line-rx,.chart-line-tx{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-line-rx{stroke:#3c84ee}.chart-line-tx{stroke:#1cbd9c}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:#9eafc6;font-size:12px}.chart-axis{display:flex;justify-content:space-between;color:#9daec5;font-size:11px;margin-top:8px}.notice{margin:24px 0;display:flex;gap:12px;background:#e8f1ff;color:#577294;border:1px solid #dce9fb;border-radius:12px;padding:13px 16px}.notice span{font-size:19px;color:#3d85f3}.notice p{font-size:11px;line-height:1.8;margin:0}footer{text-align:center;color:#b1bfd2;padding:3px 0 20px;font-size:10px}
.modal-overlay{position:fixed;inset:0;z-index:50;background:rgba(17,32,56,.55);display:grid;place-items:center;padding:15px}.modal{width:min(605px,100%);max-height:94vh;overflow:auto;background:white;border-radius:20px;padding:28px;box-shadow:0 30px 90px rgba(22,48,82,.26)}.modal-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}.modal-head h2{font-size:21px;margin:0 0 8px}.modal-head p{font-size:12px;color:#8d9db3;margin:0}.icon-close{font-size:25px;color:#8498b8;background:none;border:0}.form-row{display:flex;gap:13px}.field{flex:1;margin-bottom:17px;min-width:0}.field.small{flex:.5}.field label,.login-card label{display:block;color:#4d6485;font-size:12px;font-weight:800;margin:0 0 8px}.field input,.login-card input{width:100%;border:1px solid #dce5f2;border-radius:10px;padding:12px 13px;font-size:12px;outline:0;color:#203b65}.field input:focus,.login-card input:focus{border-color:#79a9f9;box-shadow:0 0 0 3px #eaf3ff}.security-note{font-size:11px;line-height:1.7;color:#6f86a6;background:#f4f8ff;padding:12px 14px;border-radius:9px}.modal-actions{margin-top:22px;display:flex;justify-content:flex-end;gap:9px}.form-error,.alert{color:#c64c59;background:#fff0f1;padding:12px;border-radius:8px;font-size:12px}.toast{position:fixed;right:26px;bottom:24px;z-index:100;padding:13px 18px;border-radius:12px;background:#1a324d;color:#fff;box-shadow:0 12px 35px #12243d45;font-size:12px}
.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 20%,#e4efff,transparent 40%),#f4f7fd}.login-card{width:min(420px,calc(100% - 30px));border:1px solid #e8eff8;border-radius:20px;padding:36px;background:white;box-shadow:0 25px 65px rgba(24,55,95,.10)}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:36px}.login-brand strong{color:#163c7c;font-size:20px}.login-brand span{color:#8c9eb9;font-size:11px}.login-card h1{margin:0 0 10px;font-size:26px}.login-card>p{color:#8398b4;line-height:1.7;margin:0 0 28px}.login-card input{margin-bottom:18px}.login-card .btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px}.login-foot{text-align:center;color:#a2b2c9;margin-top:24px;font-size:11px}
:focus-visible{outline:2px solid #68a6ff;outline-offset:3px}
@media(max-width:1450px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar{width:210px}.toolbar-tip{display:none}}
@media(max-width:1050px){.sidebar{width:190px}.content{padding:23px 15px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.group-header{flex-wrap:wrap}.group-meta{justify-content:flex-start}.searchbox{max-width:none}}
@media(max-width:760px){.sidebar{display:none}.topbar{padding:0 16px;height:58px}.top-actions .muted{display:none}.top-actions strong{display:none}.content{padding:20px 12px}.page-header{align-items:flex-start}.header-actions{flex-direction:column}.page-header h1{font-size:23px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-number{font-size:21px}.machine-toolbar{flex-wrap:wrap}.searchbox{flex-basis:100%;max-width:none}.section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading p{line-height:1.6}.group-meta{gap:9px}.group-header{padding-bottom:11px}.machine-group{padding:9px}.chart-panel{padding:16px}.form-row{flex-direction:column;gap:0}}
@media(max-width:470px){.page-header{flex-direction:column}.header-actions{flex-direction:row;width:100%}.header-actions .btn{flex:1}.stats-grid{gap:9px}.stat-card{padding:14px}.stat-number{font-size:18px}.stat-top{font-size:10px}.stat-icon{width:30px;height:30px}.group-meta{font-size:10px}.group-meta span:nth-child(3),.group-meta span:nth-child(4){display:none}.topbar .breadcrumb{font-size:11px}}

/* Compact right-side copy controls */
.server-row{grid-template-columns:35px 142px 90px 94px 109px 82px 155px 152px 125px 54px 97px 97px 97px 130px;min-width:1450px}
.operation-cell{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:0 4px}
.operation-cell .quick-btn{padding:5px 5px;font-size:10px}
.operation-cell .more-btn{padding:2px 6px}

/* PulseFlow Compact: status, name, speed, traffic, two copy actions. */
.server-row, .server-row.table-head{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:38px minmax(150px,1.3fr) minmax(180px,1.05fr) minmax(178px,1.05fr) 130px;
  min-width:725px;
  width:100%;
  gap:12px;
  padding:0 15px;
}
.server-row.compact-row{min-height:55px;font-size:12px}
.server-row.table-head.compact-head{min-height:39px;font-size:11px}
.server-row .cell{min-width:0}
.server-row .traffic-pair{font-size:12px;gap:8px;display:flex;align-items:center;overflow:visible}
.server-row .traffic-pair i{height:15px;border-left:1px solid #506c8b}
.server-row .traffic-pair .download,.server-row .traffic-pair .upload{font-weight:760}
.server-row .name-cell{display:flex;flex-direction:column;justify-content:center;gap:4px}
.server-row .machine-name-link{color:#f3f8ff;font-size:12px;font-weight:780;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;max-width:100%}
.server-row .machine-name-link:hover{color:#8bc7ff;text-decoration:underline;text-underline-offset:3px}
.server-row .machine-name-link:focus-visible{outline:2px solid #67b4ff;outline-offset:2px;border-radius:3px}
.server-row .muted-ip{font-size:10px}
.server-row .operation-cell{display:flex;align-items:center;justify-content:flex-end;gap:6px;position:sticky;right:0;z-index:2;background:#14273e;overflow:visible!important;border-radius:6px;min-height:42px;box-shadow:-7px 0 12px rgba(9,23,40,.17)}
.server-row.table-head .operation-cell{background:#263a51;z-index:3;justify-content:flex-end;font-size:10px;padding-right:5px}
.server-row:hover:not(.table-head) .operation-cell{background:#1c3048}
.server-row:nth-of-type(even):not(.table-head) .operation-cell{background:#182c43}
.server-row:nth-of-type(even):hover:not(.table-head) .operation-cell{background:#1c3048}
.operation-cell .quick-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;font-size:10px;font-weight:750;line-height:1;border-radius:6px;min-width:52px;height:27px;white-space:nowrap}
.operation-cell .quick-btn.password{min-width:58px}
.compact-head .head-hint{color:#819db9;font-weight:500;font-size:10px}
.modal-actions .modal-delete{margin-right:auto;color:#d65d6a;border-color:#f0d2d7;background:#fff5f6}
.modal-actions .modal-delete:hover{background:#ffe8ed}
@media(max-width:850px){.server-row,.server-row.table-head{gap:8px;padding:0 10px;grid-template-columns:28px 150px 174px 172px 130px;min-width:690px}}

/* PulseFlow v4: compact action buttons, accounting mode, light/dark page themes */
.theme-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dce7f5;border-radius:11px;background:linear-gradient(180deg,#fff,#f6f9fe);color:#395477;font-size:12px;font-weight:750;white-space:nowrap;transition:background .16s,border-color .16s,transform .16s}
.theme-toggle:hover{border-color:#adc9ef;transform:translateY(-1px)}
#themeIcon{font-size:17px;line-height:1}
/* Five columns. The last three small buttons remain right-aligned. */
.server-row,.server-row.table-head{grid-template-columns:34px minmax(135px,1.12fr) minmax(174px,1fr) minmax(180px,1.3fr) 195px;min-width:790px;gap:10px}
.server-row.compact-row{min-height:68px}
.server-row .month-cell{display:flex;flex-direction:column;justify-content:center;gap:4px;overflow:visible}
.accounted-line{display:flex;align-items:center;gap:8px;min-width:0}
.accounted-value{font-size:13px;font-weight:850;letter-spacing:.1px;color:#f7d36d;white-space:nowrap}
.mode-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(110,186,253,.28);background:rgba(59,135,200,.17);color:#b4dbff;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:750;white-space:nowrap}
.mode-pill.mode-tx{border-color:rgba(139,238,189,.27);color:#9ce7c0;background:rgba(43,135,96,.18)}
.raw-traffic{display:flex;align-items:center;gap:7px;color:#8ea4bd;font-size:10px;white-space:nowrap}
.raw-traffic i{height:10px;border-left:1px solid #56728e}
.raw-traffic span{color:#a9bcd4}
.server-row .operation-cell{gap:5px;min-height:52px;padding:0 4px}
.operation-cell .quick-btn{padding:6px 8px;min-width:48px;height:29px;font-size:10px}
.operation-cell .quick-btn.password{min-width:57px}
.operation-cell .quick-btn.edit{min-width:58px;color:#c4e0ff;background:rgba(42,99,149,.19);border-color:#45627c}
.operation-cell .quick-btn.edit:hover{background:#345f82;color:white}
.field-select{width:100%;min-height:42px;padding:10px 12px;border:1px solid #e0e8f5;border-radius:10px;background:#fff;color:#293e5b;outline:0;cursor:pointer}
.field-select:focus{border-color:#7cb5fa;box-shadow:0 0 0 3px #e6f0ff}
.field-help{margin:7px 0 0;font-size:11px;line-height:1.6;color:#8d9eb6}

/* Dark mode modifies the entire dashboard; the existing dark machine table is retained. */
html[data-theme="dark"]{color-scheme:dark;--ink:#edf4ff;--muted:#9fb2cc;--surface:#0b1220;--line:#263c55;--shadow:0 10px 24px rgba(0,0,0,.13)}
html[data-theme="dark"] body{background:#080f1b;color:#edf4ff}
html[data-theme="dark"] .shell{background:linear-gradient(125deg,#0a1322,#0c1627 65%,#0b1b2e)}
html[data-theme="dark"] .sidebar{background:linear-gradient(180deg,#111e32,#0c182a);border-right-color:#23334b}
html[data-theme="dark"] .brand strong{color:#e6f0ff}
html[data-theme="dark"] .brand small{color:#8198b8}
html[data-theme="dark"] .side-group{color:#788da9}
html[data-theme="dark"] .nav-item{color:#a2b4cc}
html[data-theme="dark"] .nav-item.active{background:linear-gradient(100deg,#193c60,#19314d);color:#9dcaff}
html[data-theme="dark"] .nav-item:hover{background:#192f4c;color:#c5e1ff}
html[data-theme="dark"] .side-card{background:linear-gradient(180deg,#182f4e,#142740)}
html[data-theme="dark"] .side-card-icon{background:#244363}
html[data-theme="dark"] .side-card strong{color:#d5e5f9}
html[data-theme="dark"] .side-card small{color:#8fa6c4}
html[data-theme="dark"] .logout{background:#18283e;border-color:#2a4058;color:#c0d5ed}
html[data-theme="dark"] .topbar{background:#111f32;border-bottom-color:#23364d}
html[data-theme="dark"] .breadcrumb{color:#9ab0cc}
html[data-theme="dark"] .top-actions{color:#dfe9f8}
html[data-theme="dark"] .page-header h1,html[data-theme="dark"] .section-heading h2{color:#f2f7ff}
html[data-theme="dark"] .page-header p:not(.eyebrow),html[data-theme="dark"] .section-heading p{color:#94a7c0}
html[data-theme="dark"] .stat-card{background:linear-gradient(145deg,#18283f,#142237);border-color:#2a4059;box-shadow:0 12px 28px rgba(0,0,0,.12)}
html[data-theme="dark"] .stat-top,html[data-theme="dark"] .stat-foot{color:#a6b8d0}
html[data-theme="dark"] .stat-number{color:#f0f6ff}
html[data-theme="dark"] .theme-toggle{background:#233650;border-color:#395477;color:#e2efff}
html[data-theme="dark"] .theme-toggle:hover{background:#2c4666}
html[data-theme="dark"] .btn-ghost{background:#192b41;border-color:#324962;color:#c5d8f0}
html[data-theme="dark"] .btn-ghost:hover{background:#243c58}
html[data-theme="dark"] .pill{background:#193a5a;color:#b7d6ff}
html[data-theme="dark"] .pill-soft{background:#1f2c41;color:#a8bad0}
html[data-theme="dark"] .searchbox,html[data-theme="dark"] .filter-group{background:#16283e;border-color:#2d425a}
html[data-theme="dark"] .searchbox input{color:#eaf3ff}
html[data-theme="dark"] .searchbox input::placeholder{color:#7d94b1}
html[data-theme="dark"] .searchbox kbd{background:#1e344d;border-color:#395271;color:#abc4e1}
html[data-theme="dark"] .filter-btn{color:#a3b6ce}
html[data-theme="dark"] .filter-btn.active{background:#234565;color:#c2dfff}
html[data-theme="dark"] .machine-group{border-color:#32475c}
html[data-theme="dark"] .chart-panel{background:#13233a;border-color:#2a415c;color:#eaf5ff}
html[data-theme="dark"] .chart-grid line{stroke:#2c3d52}
html[data-theme="dark"] .chart-empty,html[data-theme="dark"] .chart-axis,html[data-theme="dark"] .chart-top{color:#a2b6d0}
html[data-theme="dark"] .history-select{background:#1b3048;border-color:#34506b;color:#d2e1f3}
html[data-theme="dark"] .notice{background:#182c45;border-color:#324d70;color:#bfd6f0}
html[data-theme="dark"] footer{color:#7990ac}
html[data-theme="dark"] .modal{background:#16283d;border:1px solid #344e69;color:#edf4ff}
html[data-theme="dark"] .modal-head h2{color:#f0f5ff}
html[data-theme="dark"] .modal-head p{color:#a0b3ca}
html[data-theme="dark"] .field input,html[data-theme="dark"] .field-select{background:#102139;border-color:#33516f;color:#edf4ff}
html[data-theme="dark"] .field label{color:#d6e5f6}
html[data-theme="dark"] .field input::placeholder{color:#8198b1}
html[data-theme="dark"] .security-note{background:#1d334c;color:#b6cee6}
html[data-theme="dark"] .field-help{color:#abc1dd}
html[data-theme="dark"] .modal-actions .modal-delete{background:#382735;border-color:#5b3e4f;color:#f2abb6}
html[data-theme="dark"] .modal-actions .modal-delete:hover{background:#482e3b}
html[data-theme="dark"] .toast{background:#d6e7fa;color:#15253c}
html[data-theme="dark"] .login-body{background:radial-gradient(circle at 80% 20%,#1c3351,transparent 42%),#0a1423}
html[data-theme="dark"] .login-card{background:#15263c;border-color:#2d4460;box-shadow:0 25px 65px rgba(0,0,0,.25)}
html[data-theme="dark"] .login-card h1,html[data-theme="dark"] .login-brand strong{color:#eaf4ff}
html[data-theme="dark"] .login-card>p{color:#a6bcd8}
html[data-theme="dark"] .login-card input{background:#112037;border-color:#35506e;color:#f0f7ff}
@media(max-width:850px){.server-row,.server-row.table-head{grid-template-columns:30px 139px 169px 181px 188px;min-width:755px;gap:8px;padding:0 11px}}
@media(max-width:760px){.theme-toggle{padding:8px 9px}.top-actions{gap:8px}}

/* PulseFlow boot-history-v5-20261031: current boot counters + per-boot history */
.server-row,.server-row.table-head{
  grid-template-columns:28px minmax(104px,1fr) minmax(129px,.9fr) minmax(152px,1fr) minmax(192px,1.15fr) 190px;
  min-width:960px;
  gap:9px;
}
.server-row.compact-row{min-height:86px}
.server-row .boot-cell{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;overflow:visible}
.boot-cell .accounted-value{color:#79dfcc}
.boot-cell .raw-traffic{font-size:10px}
.boot-history-link{display:inline-flex;align-items:center;align-self:flex-start;gap:4px;border:0;background:transparent;color:#88b7eb;padding:2px 0;font-size:10px;font-weight:750;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(136,183,235,.3);text-underline-offset:2px;white-space:nowrap}
.boot-history-link:hover{color:#bcdfff;text-decoration-color:currentColor}
.boot-history-link:focus-visible{outline:2px solid #91bbfb;outline-offset:3px;border-radius:3px}
.boot-history-modal{width:min(630px,100%)}
.boot-history-explain{font-size:12px;color:#7e8eaa;background:#f4f7fd;border:1px solid #e5eaf4;border-radius:11px;padding:12px 14px;line-height:1.7;margin-bottom:14px}
.boot-history-list{display:grid;gap:10px;max-height:55vh;overflow-y:auto;padding:2px 4px 3px 0}
.boot-session{border:1px solid #e7edf7;border-radius:13px;padding:15px;background:#fbfcff;display:grid;gap:9px}
.boot-session-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#3b506d;font-size:12px}
.boot-session-head span,.boot-session small{color:#8190a7;font-size:11px}
.boot-session-total{display:flex;align-items:center;gap:9px;font-size:22px;font-weight:850;color:#213d61}
.boot-session .raw-traffic{color:#5e789c}
.boot-session .mode-pill{font-size:10px}
html[data-theme="dark"] .boot-history-explain{color:#bacde5;background:#1c334b;border-color:#32516e}
html[data-theme="dark"] .boot-session{background:#112339;border-color:#2e4864}
html[data-theme="dark"] .boot-session-head{color:#e5f0fd}
html[data-theme="dark"] .boot-session-head span,html[data-theme="dark"] .boot-session small{color:#9cb3d0}
html[data-theme="dark"] .boot-session-total{color:#eaf4ff}
html[data-theme="dark"] .boot-session .raw-traffic{color:#acd1f4}
html[data-theme="light"] .boot-history-link{color:#236aa6}
html[data-theme="light"] .boot-history-link:hover{color:#124c7b}
@media(max-width:950px){.server-row,.server-row.table-head{grid-template-columns:28px 120px 145px 165px 195px 190px;min-width:910px;gap:8px}}

/* PulseFlow password-vault-v6-20261031: encrypted SSH/root password presets */
.vault-open-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.preset-picker{display:flex;align-items:flex-end;gap:12px;margin:0 0 13px}
.preset-picker .field{flex:1;margin-bottom:0;min-width:0}
.preset-picker .field-select{width:100%}
.preset-manage-inline{flex:none;min-height:43px;margin-bottom:19px}
.vault-modal{width:min(720px,calc(100vw - 24px));max-height:90vh;overflow-y:auto}
.vault-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:4px}
.vault-form-actions .field-help{flex:1;min-width:180px;line-height:1.6}
.vault-section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px;padding-top:15px;border-top:1px solid #e9edf5}
.vault-section-title strong{font-size:15px}
.vault-list{display:grid;gap:9px;max-height:250px;overflow-y:auto;padding-right:3px}
.vault-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid #e7edf6;background:#f9fbff;border-radius:12px}
.vault-item-label{display:flex;align-items:center;gap:11px;min-width:0}
.vault-item-label strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vault-item-label small{display:block;margin-top:4px;font-size:11px;color:#8894aa}
.vault-lock{width:32px;height:32px;flex:none;display:grid;place-items:center;background:#eaefff;color:#516dde;border-radius:9px;font-size:18px}
.vault-item-actions{display:flex;gap:7px;flex:none}
.vault-item-actions .quick-btn{font-size:11px;min-width:50px;padding:7px 9px}
.vault-empty{padding:23px;text-align:center;color:#8b99b1;background:#f9fbff;border-radius:12px;font-size:12px;border:1px dashed #d8e2f3}
.vault-security{margin-top:14px}
.history-cleanup{border-top:1px solid #e3e9f3;margin-top:14px;padding-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.history-cleanup p{flex-basis:100%;font-size:11px;color:#7389a4;line-height:1.6;margin:0}
.history-cleanup .btn{font-size:11px;padding:8px 11px}
.history-cleanup .history-clear-all{color:#bb5565}
html[data-theme="dark"] .vault-section-title{border-color:#304863}
html[data-theme="dark"] .vault-item{background:#102139;border-color:#334c6a}
html[data-theme="dark"] .vault-item-label strong{color:#edf5ff}
html[data-theme="dark"] .vault-item-label small{color:#96aecb}
html[data-theme="dark"] .vault-lock{background:#253e5d;color:#bed2ff}
html[data-theme="dark"] .vault-empty{background:#102139;border-color:#334c6a;color:#b2c6df}
html[data-theme="dark"] .history-cleanup{border-color:#314b67}
html[data-theme="dark"] .history-cleanup p{color:#b4c7e0}
html[data-theme="dark"] .history-cleanup .history-clear-all{color:#f3a9b4}
@media(max-width:640px){.preset-picker{align-items:stretch;flex-direction:column}.preset-manage-inline{margin-bottom:0;min-height:38px}.vault-item{align-items:flex-start}.vault-item-label{max-width:65%}.vault-form-actions{flex-direction:column;align-items:stretch}.vault-form-actions .field-help{min-width:0}.vault-item-actions .quick-btn{min-width:auto;padding:7px 8px}}
