:root{--tone-17181c:#17181c;--tone-202127:#202127;--tone-34363f:#34363f;--tone-f4f4f5:#f4f4f5;--tone-b6bac6:#b6bac6;--tone-454955:#454955;--tone-2d3039:#2d3039;--tone-5b606e:#5b606e;--tone-1c1d22:#1c1d22;--tone-2c3651:#2c3651;--tone-c4d6ff:#c4d6ff;--tone-335e4d:#335e4d;--tone-91e1b1:#91e1b1;--tone-20362c:#20362c;--tone-785c31:#785c31;--tone-362c1e:#362c1e;--tone-f2cc85:#f2cc85;--tone-7e423e:#7e423e;--tone-3b2526:#3b2526;--tone-ffb2a9:#ffb2a9;--tone-dfae63:#dfae63;--tone-332c20:#332c20;--tone-f5d59d:#f5d59d;--tone-382527:#382527;--tone-e37e70:#e37e70;--tone-ffbbb1:#ffbbb1;--tone-242e41:#242e41;--tone-475e83:#475e83;--tone-80adf7:#80adf7;--tone-d6e5ff:#d6e5ff;--tone-353944:#353944;--tone-3b3e49:#3b3e49;--tone-bbc0ce:#bbc0ce;--tone-79d5ae:#79d5ae;--tone-b19aee:#b19aee;--tone-c3c8d5:#c3c8d5;--tone-f29285:#f29285;--tone-2b2e37:#2b2e37;--tone-303c59:#303c59;--tone-c4c9d5:#c4c9d5;--tone-fafafa:#fafafa;--tone-c0c5d1:#c0c5d1;--tone-a47336:#a47336;--tone-e1e5ef:#e1e5ef;--tone-bfc5d2:#bfc5d2;--tone-c4cada:#c4cada;--tone-181a20:#181a20;--tone-99bcff:#99bcff;--tone-d9deea:#d9deea;--tone-e3e6ee:#e3e6ee;--tone-71a0ff:#71a0ff;--tone-f0b86e:#f0b86e;--tone-395fce:#395fce;--tone-304eaa:#304eaa;--tone-bf493f:#bf493f;--plot-cpu:#71a0ff;--plot-ram:#79d5ae;--plot-disk:#b19aee;}
:root[data-theme="light"]{color-scheme:light;--tone-17181c:#f3f5f8;--tone-202127:#ffffff;--tone-34363f:#d1d7e0;--tone-f4f4f5:#182334;--tone-b6bac6:#526174;--tone-454955:#b6bfcc;--tone-2d3039:#edf1f6;--tone-5b606e:#8996a8;--tone-1c1d22:#f9fafc;--tone-2c3651:#e4ecfc;--tone-c4d6ff:#244889;--tone-335e4d:#9bc5aa;--tone-91e1b1:#1d6340;--tone-20362c:#edf7f0;--tone-785c31:#cfb57e;--tone-362c1e:#fff7e7;--tone-f2cc85:#755016;--tone-7e423e:#d4a39d;--tone-3b2526:#fff0ec;--tone-ffb2a9:#8f3029;--tone-dfae63:#a66b22;--tone-332c20:#fff8e9;--tone-f5d59d:#6e4b13;--tone-382527:#fff1ed;--tone-e37e70:#b84435;--tone-ffbbb1:#842d23;--tone-242e41:#edf3fc;--tone-475e83:#a8bddc;--tone-80adf7:#406ba6;--tone-d6e5ff:#23476f;--tone-353944:#e2e7ee;--tone-3b3e49:#dce2eb;--tone-bbc0ce:#526174;--tone-79d5ae:#217653;--tone-b19aee:#7551b3;--tone-c3c8d5:#46576d;--tone-f29285:#ad392c;--tone-2b2e37:#eef1f6;--tone-303c59:#203454;--tone-c4c9d5:#46566b;--tone-fafafa:#172337;--tone-c0c5d1:#526174;--tone-a47336:#be924f;--tone-e1e5ef:#26364c;--tone-bfc5d2:#526174;--tone-c4cada:#4b5f7b;--tone-181a20:#ffffff;--tone-99bcff:#2457b9;--tone-d9deea:#33445c;--tone-e3e6ee:#26364c;--tone-71a0ff:#2457b9;--tone-f0b86e:#91551e;--tone-395fce:#395fce;--tone-304eaa:#304eaa;--tone-bf493f:#a73229;--plot-cpu:#2457b9;--plot-ram:#217653;--plot-disk:#7551b3;}
:root{font-family:Arial,'Segoe UI',sans-serif;color:var(--tone-f4f4f5);background:var(--tone-17181c);font-synthesis:none;--line:var(--tone-34363f);--green:var(--tone-71a0ff);--orange:var(--tone-f0b86e);--muted:var(--tone-b6bac6)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--tone-f0b86e);outline-offset:3px}button,.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--tone-454955);padding:10px 15px;border-radius:5px;background:var(--tone-202127);color:var(--tone-f4f4f5);text-decoration:none;font-size:14px;font-weight:600;line-height:1.4}button:hover,.button:hover{background:var(--tone-2d3039)}.primary{background:var(--tone-395fce);color:var(--tone-202127);border-color:var(--tone-395fce)}.primary:hover{background:var(--tone-304eaa)}.danger{background:var(--tone-bf493f);color:var(--tone-202127);border-color:var(--tone-bf493f)}input,select{padding:12px;border:1px solid var(--tone-5b606e);border-radius:4px;background:var(--tone-202127);min-width:0;color:var(--tone-f4f4f5);width:100%}input[type=checkbox]{width:18px;height:18px;accent-color:var(--tone-395fce)}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin-bottom:18px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.15;margin-bottom:12px}h2{font-size:20px;letter-spacing:-.35px}h3{font-size:16px}p{line-height:1.65}small,.muted{color:var(--muted);line-height:1.6}small{font-size:12px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:1.5px;font-weight:700;color:var(--muted);margin-bottom:14px}.brand{display:flex;gap:11px;align-items:center;font-size:24px;font-weight:700;letter-spacing:-1px;color:var(--tone-f4f4f5);text-decoration:none}.brand svg{width:32px;height:32px}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:28px 18px;background:var(--tone-1c1d22);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button{border:0;background:transparent;justify-content:flex-start;color:var(--tone-b6bac6);min-height:44px;font-size:14px;font-weight:500}.sidebar nav button.active{background:var(--tone-2c3651);color:var(--tone-c4d6ff);font-weight:700}.sidebar .server-label{margin-top:auto;font-size:12px;line-height:1.8;color:var(--tone-b6bac6);border-top:1px solid var(--line);padding-top:20px}.main{min-width:0}.topbar{height:74px;background:var(--tone-202127);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 34px;gap:20px}.topbar>span{font-size:13px;color:var(--tone-b6bac6)}.topbar>div{display:flex;gap:8px}.topbar button{font-size:12px;padding:8px 11px}.content{padding:34px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}.page-head p{margin:0;color:var(--tone-b6bac6);font-size:14px;max-width:660px}.page-head>div:last-child:not(:first-child){display:flex;gap:8px;flex-shrink:0}.badge{display:inline-flex;padding:5px 9px;border:1px solid var(--tone-335e4d);border-radius:4px;color:var(--tone-91e1b1);background:var(--tone-20362c);font-size:12px;font-weight:600;white-space:nowrap}.badge.warn{border-color:var(--tone-785c31);background:var(--tone-362c1e);color:var(--tone-f2cc85)}.badge.bad{border-color:var(--tone-7e423e);background:var(--tone-3b2526);color:var(--tone-ffb2a9)}.notice{border:1px solid var(--tone-785c31);border-left:4px solid var(--tone-dfae63);background:var(--tone-332c20);color:var(--tone-f5d59d);padding:15px 18px;margin-bottom:20px;font-size:14px;line-height:1.7;border-radius:5px}.notice.bad{background:var(--tone-382527);border-color:var(--tone-7e423e);border-left-color:var(--tone-e37e70);color:var(--tone-ffbbb1)}.notice.info{background:var(--tone-242e41);border-color:var(--tone-475e83);border-left-color:var(--tone-80adf7);color:var(--tone-d6e5ff)}.notice a{color:inherit;font-weight:700}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{border:1px solid var(--line);border-radius:6px;background:var(--tone-202127);padding:20px;position:relative}.metric p{font-size:12px;color:var(--tone-b6bac6);margin-bottom:12px}.metric strong{font-size:34px;letter-spacing:-1px;font-weight:600;line-height:1}.metric small{display:block;margin-top:12px}.meter{height:4px;background:var(--tone-353944);margin-top:18px;border-radius:4px;overflow:hidden}.meter>span{display:block;height:100%;background:var(--green)}.metric.warning .meter>span{background:var(--tone-f0b86e)}.charts{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:30px}.panel{border:1px solid var(--line);border-radius:6px;background:var(--tone-202127);padding:23px;min-width:0}.panel>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.panel>header h2{margin:0;font-size:17px}.panel>header select{width:auto;font-size:12px;padding:7px}.chart{width:100%;height:175px;overflow:visible}.chart .grid{stroke:var(--tone-3b3e49);stroke-width:1}.chart .line{fill:none;stroke-width:2.5;stroke-linejoin:round}.chart text{font-size:11px;fill:var(--tone-bbc0ce);font-family:Arial,sans-serif}.chart-legend{display:flex;gap:18px;font-size:12px;flex-wrap:wrap;margin-top:14px}.legend{display:flex;align-items:center;gap:7px}.legend:before{content:'';width:14px;height:3px;background:var(--green)}.legend.ram:before{background:var(--tone-79d5ae)}.legend.disk:before{background:var(--tone-b19aee)}.server-info{margin:0}.server-info>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--tone-34363f);font-size:13px}.server-info dt{color:var(--tone-b6bac6)}.server-info dd{margin:0;text-align:right;font-weight:600}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0 16px}.section-head h2{margin:0}.section-head a{font-size:13px;font-weight:600}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.app-card{background:var(--tone-202127);border:1px solid var(--line);border-radius:6px;overflow:hidden}.app-card header{display:flex;justify-content:space-between;align-items:center;padding:19px 20px;border-bottom:1px solid var(--tone-34363f);gap:10px}.app-card h3{margin:0}.app-card .app-body{padding:18px 20px}.app-card .app-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;font-size:13px}.app-stats strong{display:block;margin-top:7px;font-size:17px;font-weight:600}.app-card details{margin-top:18px;font-size:12px}.app-card summary{cursor:pointer;line-height:1.6}.containers{list-style:none;padding:8px 0 0;margin:0}.containers li{padding:8px 0;border-bottom:1px dashed var(--line);overflow-wrap:anywhere;line-height:1.7}.clean-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.clean-card{background:var(--tone-202127);padding:24px;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;align-items:flex-start}.clean-card p{font-size:14px;color:var(--tone-b6bac6)}.clean-card button{margin-top:auto}.clean-card select{margin-bottom:12px}.table-wrap{overflow:auto;background:var(--tone-202127);border:1px solid var(--line);border-radius:6px}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th,td{padding:15px 18px;border-bottom:1px solid var(--tone-34363f);line-height:1.6;vertical-align:top}th{background:#272930;font-size:12px;color:var(--tone-c3c8d5)}td:last-child{max-width:320px;overflow-wrap:anywhere}.alert{border-bottom:1px solid var(--line);padding:17px 0;display:flex;align-items:flex-start;gap:15px}.alert p{font-size:14px;margin:0 0 5px}.alert small{display:block}.alert-dot{width:10px;height:10px;background:var(--tone-f29285);border-radius:50%;margin-top:6px;flex-shrink:0}.alert.resolved .alert-dot{background:var(--tone-91e1b1)}.settings{max-width:760px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px}.inline-check{flex-direction:row;align-items:center;margin-top:16px}.help-section{border-bottom:1px solid var(--line);padding:17px 0}.help-section summary{font-size:16px;font-weight:600;cursor:pointer}.help-section p,.help-section li{font-size:14px;line-height:1.8}.help-section ol{padding-left:23px}.login{max-width:470px;margin:7vh auto;padding:30px 28px;background:var(--tone-202127);border:1px solid var(--line);border-top:4px solid var(--tone-f0b86e);border-radius:6px}.login .brand{margin-bottom:34px}.login h1{font-size:26px;line-height:1.3}.login p{font-size:14px;color:var(--tone-b6bac6)}.login button{width:100%}.login .secret{display:block;word-break:break-all;user-select:all;background:var(--tone-2b2e37);border:1px solid var(--tone-34363f);padding:13px;font-family:monospace;letter-spacing:1px;color:var(--tone-f4f4f5);margin:12px 0 20px}.error{color:var(--tone-bf493f)!important;font-size:14px;line-height:1.7}.loading{padding:40px}.empty{padding:24px;color:var(--tone-b6bac6);font-size:14px;text-align:center}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar select{width:auto}.footer{padding:20px 34px;font-size:12px;color:var(--tone-b6bac6);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}.footer a{color:inherit}dialog{border:1px solid var(--tone-5b606e);border-radius:7px;padding:24px;max-width:580px;width:calc(100% - 28px);max-height:calc(100dvh - 28px);overflow:auto;color:var(--tone-f4f4f5);box-shadow:0 15px 70px #142b2230}dialog::backdrop{background:#15241d88}dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}dialog h2{font-size:21px}dialog .close{padding:3px 9px;font-size:20px}dialog p,dialog li{font-size:14px;line-height:1.75}dialog ul{padding-left:20px;max-height:180px;overflow:auto}dialog footer{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:17px;margin-top:22px}#toast{position:fixed;bottom:22px;right:22px;max-width:450px;z-index:100;background:var(--tone-303c59);color:var(--tone-202127);padding:16px 22px;border-radius:5px;box-shadow:0 5px 25px #10221822;line-height:1.6}.error-box{color:var(--tone-bf493f);background:var(--tone-382527);padding:14px;margin-bottom:16px}.scan-results{margin:20px 0}.path{font-family:monospace;font-size:12px}.pending{font-size:13px;color:var(--tone-f5d59d)}.hidden,[hidden]{display:none!important}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charts{grid-template-columns:minmax(0,1fr)}.layout{grid-template-columns:190px minmax(0,1fr)}.content{padding:26px}.topbar{padding:0 26px}.sidebar{padding:26px 12px}.topbar>span{font-size:12px}.page-head{flex-direction:column}}
@media(max-width:680px){.layout{display:block}.sidebar{position:static;width:auto;height:auto;padding:16px;gap:14px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:22px}.sidebar nav{flex-direction:row;overflow-x:auto;gap:4px;padding:2px 0 8px}.sidebar nav button{white-space:nowrap;font-size:12px;padding:8px 10px;min-height:38px}.sidebar .server-label{display:none}.topbar{height:auto;min-height:62px;padding:12px 16px;flex-wrap:wrap;gap:10px}.topbar>span{flex-basis:100%}.content{padding:25px 16px}.page-head{gap:16px;margin-bottom:22px}h1{font-size:28px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:28px}.metric small{font-size:11px}.app-grid,.clean-grid,.field-grid{grid-template-columns:minmax(0,1fr)}.panel{padding:18px}.chart{height:155px}.app-card header{padding:16px}.app-card .app-body{padding:16px}.section-head{align-items:flex-start}.section-head a{max-width:120px;text-align:right;font-size:12px}.footer{padding:20px 16px;flex-direction:column}.login{margin:24px 14px;padding:26px 20px}.clean-card{padding:20px}.toolbar{gap:7px}.toolbar .button,.toolbar button{font-size:12px}dialog{padding:20px}dialog footer{flex-wrap:wrap}#toast{bottom:12px;left:12px;right:12px;max-width:none}}

@media(max-width:680px){.sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.sidebar nav button{white-space:normal;min-height:44px;text-align:left;line-height:1.4}.sidebar{gap:16px}}

.setup-qr{width:256px;min-height:256px;padding:16px;background:var(--tone-202127);color:#000;margin:24px auto;border-radius:8px}.setup-qr canvas,.setup-qr img{display:block;width:224px;height:224px;max-width:100%}.auth-open{display:flex;justify-content:center;min-height:44px;text-align:center}.auth-hint{font-size:14px;color:var(--muted)}.auth-manual{margin:20px 0}.auth-manual summary{cursor:pointer;padding:10px 0}.auth-manual .secret{overflow-wrap:anywhere;user-select:all}.auth-manual button{margin-top:10px}

/* Health 1.1 : compact monitoring workspace, inspired by Beszel. */
#toast{color:#fff}
:root{color-scheme:dark;font-family:Arial,"Segoe UI",sans-serif;--green:var(--tone-71a0ff);--muted:var(--tone-b6bac6);--line:var(--tone-34363f)}
body{font-size:15px;line-height:1.5}h1{font-size:27px;letter-spacing:-.5px}h2{font-size:18px}h3{font-size:16px}.brand{letter-spacing:-.5px}.layout{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:24px 14px}.topbar{height:64px;padding:0 28px}.content{padding:26px 28px;max-width:1600px}.page-head{margin-bottom:22px}.eyebrow{letter-spacing:1px;margin-bottom:8px}.metric{padding:18px 20px;border-radius:9px}.metric p{font-size:12px;letter-spacing:.5px;font-weight:700;color:var(--tone-c4c9d5);margin-bottom:10px}.metric strong{font-size:32px;color:var(--tone-fafafa);font-variant-numeric:tabular-nums}.metric small{color:var(--tone-c0c5d1);font-size:12px;min-height:38px}.meter{height:5px;margin-top:12px}.metric.warning{border-color:var(--tone-a47336)}.metrics{gap:14px;margin-bottom:18px}.panel,.app-card,.clean-card,.table-wrap{border-radius:9px}.panel{padding:20px}.panel>header{margin-bottom:16px}.charts{display:block;margin-bottom:24px}.charts>.panel+.panel{margin-top:16px}.metric-plots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.metric-plot{min-width:0}.metric-plot h3{font-size:13px;margin-bottom:8px;color:var(--tone-e1e5ef)}.chart{height:auto;aspect-ratio:2/1;display:block}.chart text{font-size:12px;fill:var(--tone-bfc5d2)}.chart .line{stroke-width:2.5}.chart-legend{margin:6px 0 0}.server-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.server-info>div{gap:12px;flex-wrap:wrap}.server-info dt{color:var(--tone-bfc5d2)}.server-info dd{font-variant-numeric:tabular-nums;color:var(--tone-f4f4f5);overflow-wrap:anywhere}.app-grid{gap:14px}.app-card header{padding:15px 18px}.app-card .app-body{padding:16px 18px}.app-card .app-stats{gap:10px}.app-stats strong{color:var(--tone-f4f4f5);font-size:18px;font-variant-numeric:tabular-nums}.badge{gap:6px}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.app-card details{border-top:1px solid var(--line);padding-top:12px;margin-top:16px}.app-card summary{color:var(--tone-c4cada)}.notice{padding:13px 16px}.primary,.danger{color:#fff}.primary:hover{color:#fff}.setup-qr{background:#fff;color:#000}.auth-open{background:var(--tone-395fce);color:#fff;border-color:#6a8dec}.auth-open:hover{background:var(--tone-304eaa);color:#fff}.login{border-top-color:var(--tone-71a0ff)}.error{color:var(--tone-ffb2a9)!important}input,select{background:var(--tone-181a20);color:var(--tone-f4f4f5)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--tone-99bcff)}.footer{font-size:12px}th{color:var(--tone-d9deea)}td{color:var(--tone-e3e6ee)}button,.button{min-height:42px}
@media(max-width:1150px){.layout{grid-template-columns:180px minmax(0,1fr)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-plots{grid-template-columns:1fr}.chart{height:155px;aspect-ratio:auto}.server-info{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:22px}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.layout{display:block}.sidebar{height:auto;padding:16px}.topbar{height:auto;padding:12px 16px}.content{padding:22px 16px}.app-grid{grid-template-columns:1fr}.metric{padding:15px}.metric strong{font-size:28px}.metric small{min-height:48px}.panel{padding:16px}.server-info{grid-template-columns:1fr}.page-head h1{font-size:27px}.topbar>div{flex-wrap:wrap}.topbar .button{font-size:12px;padding:8px 10px}.metric p{font-size:11px;letter-spacing:0}.login{margin:20px 12px;padding:24px 18px}}

:root[data-theme="light"]{color-scheme:light}html[data-theme="light"] .error{color:#8f3029!important}
.auth-theme{display:flex;justify-content:flex-end;margin-bottom:18px}.auth-theme button{width:auto;font-size:13px}.app-identity{display:flex;align-items:center;gap:11px;min-width:0}.app-identity h3{overflow-wrap:anywhere}.app-logo{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:9px;overflow:hidden;background:#16223d}.app-logo img{display:block;width:34px;height:34px;object-fit:contain}.app-card header{flex-wrap:wrap}.app-logo img[src$="marketing.svg"]{padding:4px}.setup-qr{background:#fff;color:#000}
@media(max-width:680px){.topbar>div{gap:7px}.topbar [data-action="theme"]{font-size:12px;padding:8px 10px}}
