:root{color-scheme:light;--bg:#f5f7fb;--surface:#fff;--ink:#1e2638;--muted:#8791a4;--line:#e8edf4;--purple:#7567ed;--teal:#20a6a1;--blue:#4387e8;--amber:#e6a23c;--green:#35a77a;--shadow:0 8px 28px rgba(34,48,76,.045)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:28px 17px 18px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:4}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 34px}.brand-mark{width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#8576ff,#6557d7);display:grid;place-items:center;color:white;font:800 22px Manrope,sans-serif;box-shadow:0 6px 16px #7567ed40;flex-shrink:0}.brand b{display:block;font:800 14px Manrope,sans-serif;letter-spacing:-.3px}.brand small{display:block;color:#9ba4b4;font-size:9px;letter-spacing:1.3px;margin-top:5px}.nav-label{padding:0 12px 10px;color:#a0a8b7;font-size:10px;letter-spacing:1.3px;font-weight:700}.nav-item{display:flex;align-items:center;gap:13px;padding:12px 13px;margin:2px 0;border-radius:10px;color:#788399;font-weight:600;transition:.15s}.nav-item>span{width:18px;text-align:center;font-size:17px}.nav-item:hover{background:#f6f5ff;color:var(--purple)}.nav-item.active{background:#f0eeff;color:#6758db}.sidebar-bottom{margin-top:auto}.sidebar-bottom form{margin:0}.logout{width:100%;border:0;background:transparent;text-align:left}.sidebar-foot{border-top:1px solid var(--line);padding:17px 8px 0;margin-top:12px;color:#8993a5;font-size:11px;display:flex;align-items:center;gap:7px}.sidebar-foot small{margin-left:auto}.status-dot,.state-ok i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#38b780}.main-content{margin-left:248px;max-width:1800px;padding:35px clamp(24px,3.1vw,52px) 20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;color:#929caf;margin:0 0 9px}.eyebrow a{color:var(--purple)}h1,h2,p{margin-top:0}h1{font:800 clamp(24px,2vw,31px) Manrope,sans-serif;letter-spacing:-.9px;margin-bottom:7px}h2{font:750 15px Manrope,sans-serif;letter-spacing:-.25px;margin:0 0 6px}.muted{color:var(--muted)}.topbar .muted{margin-bottom:0;font-size:12px}.top-actions{display:flex;align-items:center;gap:10px}.live-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #d9f1e7;background:#f1fbf6;border-radius:30px;padding:7px 10px;color:#30996d;font-size:9px;font-weight:800;letter-spacing:1px}.live-pill i{display:block;width:6px;height:6px;border-radius:50%;background:#35b77c;box-shadow:0 0 0 3px #35b77c20}.icon-button{display:grid;place-items:center;width:37px;height:37px;background:#fff;border:1px solid var(--line);border-radius:10px;color:#65718a;font-size:20px}.icon-button:hover{border-color:#c9c1ff;color:var(--purple)}.welcome-strip{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#28264c,#393368 58%,#4a4788);border-radius:15px;padding:19px 23px;color:#fff;margin-bottom:18px;box-shadow:0 10px 25px #35315c12}.welcome-strip>div:first-child{display:flex;align-items:center;gap:14px}.welcome-icon{width:41px;height:41px;display:grid;place-items:center;background:#ffffff18;border:1px solid #ffffff22;border-radius:12px;font-size:22px}.welcome-strip b{font:700 15px Manrope,sans-serif}.welcome-strip p{font-size:11px;color:#c7c5e5;margin:5px 0 0}.welcome-strip strong{color:#fff}.strip-meta{text-align:right}.strip-meta span{display:block;font-size:10px;color:#c7c5e5;margin-bottom:5px}.strip-meta b{font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.metric-card,.panel{min-width:0;background:var(--surface);border:1px solid #edf0f6;border-radius:14px;box-shadow:var(--shadow)}.metric-card{padding:17px 18px;transition:transform .15s,border-color .15s}.metric-card[href]:hover{transform:translateY(-2px);border-color:#d7d1ff}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#7d879a;font-size:11px;font-weight:600}.metric-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;font-size:18px}.violet{background:#f0eeff;color:#7768e9}.blue{background:#eaf3ff;color:#448be8}.amber{background:#fff4e2;color:#d9982e}.green{background:#e6f8f0;color:#27a576}.metric-value{display:flex;align-items:baseline;gap:5px;margin:14px 0 12px}.metric-value strong{font:800 29px Manrope,sans-serif;letter-spacing:-1.2px}.metric-value>span{font-size:12px;color:#9ba4b4}.progress{height:5px;border-radius:10px;background:#eef1f6;overflow:hidden}.progress i{display:block;height:100%;width:0;border-radius:10px;background:var(--purple);transition:width .35s}.blue-bar i{background:var(--blue)}.amber-bar i{background:var(--amber)}.metric-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#a0a8b7;font-size:10px;margin-top:10px}.load-bars{height:5px;display:flex;gap:3px;margin-top:13px}.load-bars i{height:100%;border-radius:5px;background:var(--green);width:0;transition:width .3s}.load-bars i:nth-child(2){background:#70c6a6}.load-bars i:nth-child(3){background:#b4e3d1}.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:18px;margin-bottom:18px}.panel{padding:21px 22px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-heading .muted{font-size:11px;margin:0}.panel-heading select,.top-actions select{border:1px solid var(--line);border-radius:8px;background:#fff;color:#69758a;padding:8px 10px;font-size:10px;max-width:160px;outline:none}.panel-symbol{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f3f1ff;color:var(--purple);font-size:17px}.legend{display:flex;gap:18px;color:#788399;font-size:10px;margin:2px 0 6px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;border-radius:50%}.legend-cpu{background:var(--purple)}.legend-ram{background:var(--teal)}.chart-wrap{position:relative;width:100%;height:240px}.chart-wrap canvas{display:block;width:100%;height:100%}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:#98a1b1;font-size:12px;background:#ffffffb0}.chart-empty[hidden]{display:none}.disk-item{padding:14px 0 18px}.disk-item+.disk-item{border-top:1px solid #f0f2f7}.disk-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:11px}.disk-title span{display:flex;align-items:center;gap:8px;color:#68748a}.disk-title b{font:750 12px Manrope,sans-serif}.disk-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.disk-dot.system{background:var(--purple)}.disk-dot.nas{background:var(--teal)}.disk-progress{height:7px}.disk-progress i{background:var(--purple)}.nas-progress i{background:var(--teal)}.disk-meta{display:flex;justify-content:space-between;gap:10px;color:#9aa3b3;font-size:10px;margin-top:8px}.text-link{display:inline-flex;gap:7px;align-items:center;color:#7466e7;font-size:11px;font-weight:700}.text-link:hover{color:#4f43be}.temperature-list{display:grid;gap:0}.temp-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #f0f2f7;font-size:11px}.temp-row:last-child{border-bottom:0}.temp-row span{color:#738096}.temp-row b{font:750 13px Manrope,sans-serif}.status-rows>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f0f2f7;font-size:11px}.status-rows>div:first-child{padding-top:2px}.status-rows>div:last-child{border-bottom:0}.status-rows span{color:#7e899d}.status-rows b{font-size:11px;font-weight:700}.state-ok{color:#27996b;display:flex;align-items:center;gap:6px}.state-ok i{width:6px;height:6px}.info-note{border-radius:9px;background:#f6f5ff;padding:11px 12px;color:#7c75b6;font-size:10px;line-height:1.6;margin-top:13px}.page-footer{display:flex;justify-content:space-between;gap:12px;color:#a1a9b7;font-size:9px;letter-spacing:.8px;padding:13px 2px}.page-footer b{color:#737e91}.lower-grid{grid-template-columns:1fr 1fr}.detail-stats{margin-bottom:18px}.detail-chart-panel{margin-bottom:18px}.large-chart{height:340px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-copy{font-size:12px;line-height:1.8;color:#707c91}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0,#e8e5ff 0,transparent 48%),#f5f7fb}.login-card{width:min(100%,410px);background:#fff;border:1px solid #edf0f6;border-radius:20px;padding:38px;box-shadow:0 24px 80px #35315c12}.login-card .brand-mark{margin-bottom:24px}.login-card h1{font-size:27px}.login-card .muted{font-size:12px;line-height:1.7}.login-card form{display:grid;margin-top:27px}.login-card label{font-size:11px;font-weight:700;color:#667187;margin:0 0 8px}.login-card input{border:1px solid #e4e9f1;border-radius:9px;padding:12px 13px;margin-bottom:17px;outline:none;background:#fbfcfe;color:var(--ink)}.login-card input:focus{border-color:#a79dff;box-shadow:0 0 0 3px #7567ed18}.primary-button{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:9px;padding:13px 15px;background:#7163e6;color:#fff;font-weight:700;margin-top:5px;box-shadow:0 7px 17px #7567ed35}.primary-button:hover{background:#5e50d3}.tiny{font-size:10px}.login-card .tiny{text-align:center;margin:22px 0 0}.alert{padding:11px 12px;border-radius:8px;background:#fff0f0;color:#bf4545;font-size:11px;margin:18px 0 0}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{padding:28px 24px}.content-grid{grid-template-columns:minmax(0,1.2fr) minmax(260px,1fr)}}
@media(max-width:850px){.sidebar{width:72px;padding:20px 9px}.brand{justify-content:center;padding:0 0 28px}.brand>span:last-child,.nav-label,.nav-item:not(.logout){font-size:0}.brand-mark{width:42px;height:42px}.nav-item{justify-content:center;padding:12px 6px;gap:0;font-size:0}.nav-item>span{font-size:19px}.sidebar-bottom .logout{font-size:0}.sidebar-foot{justify-content:center;padding:15px 0 0;font-size:0}.sidebar-foot small{display:none}.main-content{margin-left:72px}.content-grid,.lower-grid{grid-template-columns:1fr}.welcome-strip{padding:16px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:520px){.main-content{padding:23px 13px 14px}.topbar{align-items:flex-start}.topbar h1{font-size:23px}.topbar .muted{max-width:260px;line-height:1.5}.top-actions{gap:6px}.live-pill{padding:7px}.welcome-strip{gap:8px}.strip-meta{max-width:110px}.metric-grid{gap:9px}.metric-card{padding:14px 12px}.metric-value strong{font-size:25px}.metric-foot{font-size:9px;flex-wrap:wrap}.panel{padding:17px 14px}.panel-heading{gap:8px}.panel-heading select{max-width:125px;padding:8px 6px}.chart-wrap{height:210px}.large-chart{height:260px}.login-card{padding:28px 23px}.page-footer{font-size:8px}}

/* Machine management */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}
.form-grid label{display:flex;flex-direction:column;gap:6px}
.form-grid input,textarea{width:100%;padding:10px;border:1px solid var(--border,#bbb);border-radius:8px;background:var(--surface,#fff);color:inherit}
.machine-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border,#ddd)}
.machine-row p{margin:4px 0}.machine-row small{opacity:.75}.actions{display:flex;flex-wrap:wrap;gap:8px}
button.danger{background:#a92727;color:white;border:0;border-radius:8px;padding:9px 12px}
.notice{padding:12px;border:1px solid var(--border,#bbb);border-radius:8px;margin:12px 0}
.error{color:#c22;margin:8px 0}
@media(max-width:650px){.machine-row{align-items:flex-start;flex-direction:column}}

/* v0.5 machine manager and main-page wizard */
.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:10px 14px;font:inherit;font-weight:650;text-decoration:none;cursor:pointer;white-space:nowrap}
.primary-button{background:var(--accent,#5146e5);color:#fff;border:1px solid var(--accent,#5146e5)}
.secondary-button{background:var(--surface,#fff);color:var(--text,#202638);border:1px solid var(--border,#dfe3eb)}
.danger-button{background:transparent;color:#b42318;border:1px solid #efb6b1}
.primary-button:hover{filter:brightness(1.06)}.secondary-button:hover{background:var(--surface-hover,#f3f5f9)}
button:disabled{opacity:.5;cursor:not-allowed}
.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.machine-list-panel{margin-bottom:20px}.machine-list{display:flex;flex-direction:column}
.machine-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--border,#e7eaf0)}
.machine-row:last-child{border-bottom:0}.machine-ident{display:flex;align-items:center;gap:14px;min-width:220px}
.machine-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--surface-muted,#f0f2ff);color:var(--accent,#5146e5);font-size:22px}
.machine-ident strong{font-size:16px}.machine-ident p{margin:5px 0;color:var(--muted,#737b8c);font-size:13px}.machine-ident small{color:var(--muted,#737b8c);font-size:12px}
.machine-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}
.status-pill i{width:7px;height:7px;border-radius:50%;display:inline-block}
.status-pill.active{color:#167647;background:#eaf8f0}.status-pill.active i{background:#20a464}
.status-pill.paused{color:#945b08;background:#fff5df}.status-pill.paused i{background:#d99a1b}
.count-pill{padding:7px 10px;border-radius:999px;background:var(--surface-muted,#f1f3f8);font-size:12px;font-weight:650}
.empty-state{text-align:center;padding:38px 16px}.empty-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--surface-muted,#f0f2ff);font-size:26px}.empty-state h3{margin:14px 0 6px}.empty-state p{margin:0 0 18px;color:var(--muted,#737b8c)}
.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(13,20,38,.58);backdrop-filter:blur(4px)}
.modal-backdrop[hidden]{display:none}.wizard-modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:var(--surface,#fff);color:var(--text,#202638);border:1px solid var(--border,#e1e5ed);border-radius:20px;padding:26px;box-shadow:0 24px 90px rgba(0,0,0,.25)}
.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.modal-heading h2{margin:4px 0 0;font-size:25px}.wizard-steps{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.wizard-step{padding:8px 11px;border-radius:8px;background:var(--surface-muted,#f1f3f8);color:var(--muted,#737b8c);font-size:12px}.wizard-step.active{background:#eeedff;color:#5146e5;font-weight:700}
.wizard-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:16px;border:1px solid var(--border,#dfe3eb);border-radius:13px;background:var(--surface,#fff);color:inherit;font:inherit;cursor:pointer}.mode-card span,.mode-card small{font-size:13px;color:var(--muted,#737b8c);line-height:1.45}.mode-card.selected{border-color:var(--accent,#5146e5);box-shadow:0 0 0 2px rgba(81,70,229,.12)}.mode-card small{color:#a15c00}
.wizard-fields{margin:18px 0}.wizard-fields label,.wizard-result label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650}.wizard-fields input,.wizard-result textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--border,#dfe3eb);border-radius:9px;background:var(--surface,#fff);color:inherit;font:inherit}
.wizard-note{padding:12px 14px;border-radius:10px;background:var(--surface-muted,#f4f5fa);font-size:13px;line-height:1.5;color:var(--muted,#5f687a)}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.wizard-result{margin-top:20px;padding:16px;border:1px solid var(--border,#dfe3eb);border-radius:12px}.wizard-result h3{margin-top:0}.wizard-result label{margin:12px 0}.wizard-result textarea{margin-top:4px;font-family:monospace;font-weight:400}
body.modal-open{overflow:hidden}
@media(max-width:850px){.machine-row{align-items:flex-start;flex-direction:column}.machine-controls{width:100%}.top-actions .secondary-button{display:none}}
@media(max-width:600px){.wizard-modal{padding:18px}.wizard-mode-grid{grid-template-columns:1fr}.top-actions{gap:6px}.top-actions .primary-button{font-size:12px;padding:8px 10px}}

/* v1.0 first-run setup */
.setup-body{min-height:100vh;background:var(--page-bg,#f3f5fa);color:var(--text,#202638)}
.setup-shell{width:min(900px,calc(100% - 28px));margin:0 auto;padding:34px 0 24px}
.setup-brand{display:flex;align-items:center;gap:12px;margin:0 auto 24px;width:min(820px,100%);font-size:18px}
.setup-brand>div{display:flex;flex-direction:column;gap:3px}.setup-brand small{font-size:10px;letter-spacing:.14em;color:var(--muted,#7b8495)}
.setup-card{background:var(--surface,#fff);border:1px solid var(--border,#e3e7ef);border-radius:20px;padding:clamp(20px,4vw,38px);box-shadow:0 18px 55px rgba(24,34,56,.07)}
.setup-progress{height:5px;background:var(--surface-muted,#eef0f6);border-radius:9px;overflow:hidden;margin-bottom:28px}.setup-progress-fill{display:block;height:100%;width:0;background:var(--accent,#5146e5);transition:width .2s}
.setup-card>h1{font-size:clamp(26px,4vw,36px);margin:5px 0 8px}.setup-card>.muted{line-height:1.6;max-width:700px}
.setup-section{padding:24px 0;border-bottom:1px solid var(--border,#e5e8ef)}.setup-section-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.setup-section-heading>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eeedff;color:#5146e5;font-weight:800;flex-shrink:0}.setup-section-heading h2{font-size:17px;margin:2px 0 5px}.setup-section-heading p{font-size:13px;color:var(--muted,#737b8c);margin:0}
.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setup-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650}.setup-grid input,.setup-grid select,.setup-success textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid var(--border,#dfe3eb);border-radius:10px;background:var(--surface,#fff);color:inherit;font:inherit;font-weight:400}
.setup-note{padding:14px 16px;border-radius:12px;background:var(--surface-muted,#f4f5fa);margin-top:18px;font-size:13px;line-height:1.55}.setup-note p{margin:5px 0 0;color:var(--muted,#697386)}
.setup-submit{width:100%;margin-top:22px;padding:14px}.setup-foot{text-align:center;font-size:12px;color:var(--muted,#7b8495);padding:14px}
.setup-success{margin-top:22px;padding-top:20px;border-top:1px solid var(--border,#e5e8ef)}.setup-success-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#eaf8f0;color:#167647;font-size:25px}.setup-success h2{margin:8px 0}.setup-success label{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-size:13px;font-weight:650}.setup-success textarea{font-family:monospace}.setup-success .primary-button{margin-top:16px}
@media(max-width:620px){.setup-grid{grid-template-columns:1fr}.setup-shell{padding-top:18px}.setup-card{border-radius:15px}}

.ssh-fields{border-top:1px solid var(--border,#e5e8ef);padding-top:14px;margin-top:14px}
.sudo-check{display:flex;align-items:center;gap:9px;margin:10px 0;font-size:13px}
.sudo-check input{width:auto}
.ssh-progress{margin-top:20px;padding:16px;border:1px solid var(--border,#dfe3eb);border-radius:12px}
.ssh-progress-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.ssh-progress .progress{height:8px;margin-bottom:12px}
.ssh-progress .progress i{display:block;height:100%;background:var(--accent,#5146e5);transition:width .3s}
.ssh-log{margin-top:12px;max-height:180px;overflow:auto;background:var(--surface-muted,#f4f5fa);border-radius:8px;padding:10px;font-size:12px}
.ssh-log>div{padding:4px 0}.ssh-log time{color:var(--muted,#737b8c);margin-right:8px}
.ssh-hostkey{margin-top:14px;padding:14px;border:1px solid #e4b34f;background:#fff8e7;color:#4c3b16;border-radius:10px}
.ssh-hostkey code{display:block;overflow-wrap:anywhere;padding:10px;background:rgba(255,255,255,.7);border-radius:7px}


/* v1.3 friendly personalization and theme support */
:root{--accent:#5146e5;--surface:#fff;--text:#202638;--border:#e1e5ed;--page-bg:#f4f6fb;--surface-muted:#f1f3f8;--surface-hover:#f7f8fc;color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark;--bg:#10141d;--surface:#191f2b;--text:#e8edf6;--ink:#e8edf6;--muted:#9ba8bc;--border:#30394a;--line:#30394a;--page-bg:#10141d;--surface-muted:#222a38;--surface-hover:#293244;--shadow:0 8px 28px rgba(0,0,0,.2)}
:root[data-theme="dark"] body{background:var(--page-bg);color:var(--text)}
:root[data-theme="dark"] .sidebar,:root[data-theme="dark"] .panel,:root[data-theme="dark"] .metric-card,:root[data-theme="dark"] .wizard-modal,:root[data-theme="dark"] .login-card{background:var(--surface);color:var(--text);border-color:var(--border)}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background:#141a24;color:var(--text);border-color:var(--border)}
:root[data-theme="dark"] .secondary-button{background:var(--surface);color:var(--text);border-color:var(--border)}
:root[data-theme="dark"] .nav-item{color:#c4ccda}:root[data-theme="dark"] .nav-item:hover,:root[data-theme="dark"] .nav-item.active{background:#293244;color:#fff}
:root[data-theme="dark"] .status-pill.active{background:#123b2d;color:#9de5c2}:root[data-theme="dark"] .status-pill.paused{background:#473519;color:#ffd58a}
:root[data-density="compact"] .panel{padding:16px}:root[data-density="compact"] .metric-card{padding:15px}:root[data-density="compact"] .machine-row{padding:11px 0}:root[data-density="compact"] .nav-item{padding-top:8px;padding-bottom:8px}
.customization-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.custom-form{display:flex;flex-direction:column;gap:14px}.custom-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650}.custom-form input,.custom-form select{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-weight:400}.custom-form .tiny{line-height:1.5}.custom-actions{display:flex;gap:9px;flex-wrap:wrap}.share-checklist{display:flex;flex-direction:column;gap:0}.share-checklist>div{display:flex;flex-direction:column;gap:5px;padding:14px 0;border-bottom:1px solid var(--border)}.share-checklist>div:last-child{border-bottom:0}.share-checklist span{font-size:13px;line-height:1.55;color:var(--muted)}.theme-preview{display:flex;overflow:hidden;min-height:115px;border:1px solid var(--border);border-radius:12px;background:var(--page-bg);color:var(--text)}.theme-preview[data-theme="dark"]{background:#10141d;color:#e8edf6}.preview-sidebar{width:25%;background:var(--surface-muted);border-right:1px solid var(--border)}.preview-content{display:flex;flex:1;flex-direction:column;gap:8px;padding:14px}.preview-content i{display:block;width:80%;height:9px;background:var(--surface-muted);border-radius:6px}.preview-content i:first-child{width:55%;height:13px;background:var(--accent)}.preview-content span{font-size:11px;color:var(--muted);margin-top:2px}
@media(max-width:800px){.customization-layout{grid-template-columns:1fr}}


/* v1.4 service monitors */
.monitor-summary{margin-bottom:18px}.monitor-list{display:flex;flex-direction:column}.monitor-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--border);min-width:0}.monitor-row:last-child{border-bottom:0}.monitor-status-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;background:#8b95a7}.monitor-status-dot.up{background:#16a36a;box-shadow:0 0 0 4px rgba(22,163,106,.12)}.monitor-status-dot.down{background:#dc4545;box-shadow:0 0 0 4px rgba(220,69,69,.12)}.monitor-status-dot.paused{background:#a0a7b4}.monitor-main{flex:1;min-width:0}.monitor-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.monitor-target{font-size:13px;color:var(--muted);overflow-wrap:anywhere;margin-top:5px}.monitor-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted);margin-top:7px}.monitor-message{max-width:100%;overflow-wrap:anywhere}.monitor-badge,.monitor-type-badge{font-size:11px;font-weight:700;border-radius:999px;padding:4px 8px;background:var(--surface-muted);color:var(--muted)}.monitor-badge.up{background:#e4f7ed;color:#167647}.monitor-badge.down{background:#ffebeb;color:#b42318}.monitor-badge.paused{background:#eceef2;color:#626b7a}.monitor-badge.pending{background:#edf2ff;color:#4359a8}.monitor-actions{display:flex;gap:8px;flex-shrink:0}.monitor-actions button{padding:8px 10px;font-size:12px}.monitor-type-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.monitor-type-guide>div{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--surface-hover)}.monitor-type-guide p{font-size:13px;line-height:1.5;color:var(--muted);margin:7px 0 0}.monitor-type-guide+b,.monitor-type-guide~.tiny{display:block;margin-top:16px;line-height:1.55}.monitor-target-label{min-width:0}.monitor-target-label input{width:100%}#monitor-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#monitor-form label{min-width:0}#monitor-form select{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:inherit;font:inherit}#monitor-form .form-grid label span{font-weight:400}.monitor-list .empty-state{padding:34px 14px}.monitor-list .empty-state .primary-button{margin-top:16px}
:root[data-theme="dark"] .monitor-badge.up{background:#123b2d;color:#9de5c2}:root[data-theme="dark"] .monitor-badge.down{background:#4b2024;color:#ffb4b4}:root[data-theme="dark"] .monitor-badge.pending{background:#242f4c;color:#b8c7ff}:root[data-theme="dark"] .monitor-badge.paused{background:#303746;color:#c2c8d2}
@media(max-width:760px){.monitor-row{align-items:flex-start;flex-wrap:wrap}.monitor-main{width:calc(100% - 28px);flex:1}.monitor-actions{width:100%;padding-left:25px}.monitor-type-guide{grid-template-columns:1fr}#monitor-form .form-grid{grid-template-columns:1fr}.monitor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* NexaHub v2.0 identity */
.brand-mark-img{width:42px;height:42px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 5px 12px #5366ff35)}.brand-in-login{width:64px;height:64px;margin-bottom:20px}.brand b,.brand-name{letter-spacing:-.35px}.brand small,.brand-subtitle{letter-spacing:1.1px}.sidebar-foot small{white-space:nowrap}

/* NexaHub v2.0.4 installation wizard progress */
.install-checklist{list-style:none;padding:8px 0;margin:14px 0;display:grid;gap:9px}.install-step{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border,#e5e7eb);border-radius:10px;color:var(--muted,#64748b);background:var(--surface,#fff)}.install-step .step-symbol{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:800;background:#eef2f7;color:#64748b;flex-shrink:0}.install-step.good{color:#16835d;border-color:#b8ebd3;background:#f0fdf7}.install-step.good .step-symbol{background:#d1fae5;color:#047857}.install-step.bad{color:#b91c1c;border-color:#fecaca;background:#fff7f7}.install-step.bad .step-symbol{background:#fee2e2;color:#b91c1c}.install-step.current .step-symbol{color:#4f46e5;background:#e0e7ff;animation:nexahub-spin 1.2s linear infinite}.wizard-page[hidden]{display:none!important}.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wizard-step{font-size:12px}.wizard-step.done{color:#16835d}@keyframes nexahub-spin{to{transform:rotate(360deg)}}@media(max-width:650px){.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.install-step{font-size:13px}}
