@font-face{font-family:LocalUI;src:local("Inter"),local("SF Pro Text");font-display:swap}
:root{font-family:LocalUI,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b2927;background:#f4f6f4;font-synthesis:none;--green:#1e6953;--line:#e5eae6;--muted:#718079;--dark:#162b26;--paper:#fff}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #77b7a0;outline-offset:3px}[hidden]{display:none!important}h1,h2,p{margin:0}h1{font-size:32px;letter-spacing:-1.1px;font-weight:650}h2{font-size:16px;font-weight:650;letter-spacing:-.3px}.muted{color:var(--muted);font-size:13px;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:var(--green);margin-bottom:12px}.shell{display:flex;min-height:100vh}.sidebar{width:238px;flex:0 0 238px;background:var(--dark);color:#e6eeea;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:32px 20px}.brand{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:650;letter-spacing:-.7px;white-space:nowrap}.brand-icon{display:block;width:30px;height:30px;flex-shrink:0}.workspace{display:flex;gap:10px;align-items:center;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;margin:31px 0 29px;padding:20px 0;font-size:12px}.workspace-mark{width:32px;height:32px;display:grid;place-items:center;background:#354b42;border-radius:7px;color:#c9dece}.workspace small{display:block;font-size:10px;color:#9aaca3;margin-top:5px}.nav-label{font-size:9px;letter-spacing:1.5px;color:#8b9f94;margin:0 12px 12px}.nav-item{width:100%;display:flex;align-items:center;gap:10px;background:none;color:#a9bbb1;border:0;padding:13px 12px;margin-bottom:5px;font-size:12px;text-align:left;border-radius:7px}.nav-item>span:first-child{font-size:19px;width:21px}.nav-item.active{background:#2e473b;color:#fff}.nav-item:hover{background:#ffffff0b}.sidebar-bottom{margin-top:auto}.executor-state{display:flex;gap:9px;font-size:11px;align-items:flex-start;padding:15px 7px}.executor-state small{display:block;color:#9aaca3;margin-top:5px;font-size:10px}.status-dot{height:7px;width:7px;background:#b99a57;border-radius:50%;margin-top:4px;flex-shrink:0}.status-dot.online{background:#83d8ab}.text-button{background:none;border:0;color:#9aaca3;padding:15px 7px;font-size:11px}.main{flex:1;min-width:0}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 40px;font-size:11px;color:#7c8982}.breadcrumb{display:flex;gap:16px}.breadcrumb span:last-child{color:#354c40}.private-badge{color:#7a8c80}.content{max-width:1430px;margin:0 auto;padding:35px 40px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.page-heading .muted{margin-top:9px}.primary,.secondary{border-radius:7px;padding:11px 15px;border:1px solid var(--green);font-size:12px;font-weight:550;white-space:nowrap}.primary{background:var(--green);color:#fff}.primary:hover{background:#17513f}.secondary{background:#fff;color:#354c40;border-color:#d8e1da}.toolbar{display:flex;justify-content:space-between;gap:15px;margin-bottom:22px}.periods{padding:4px;background:#e9ede9;display:flex;border-radius:8px;gap:3px}.periods button{font-size:11px;padding:8px 12px;border:0;background:none;border-radius:5px;color:#748078}.periods .selected{background:#fff;color:#294b3b;box-shadow:0 1px 3px #1c392012}.filters{display:flex;gap:8px;align-items:center}select,input{background:#fff;border:1px solid #dce4dd;border-radius:6px;padding:10px 11px;color:#354c40;min-width:0}select{font-size:11px;max-width:100%}.icon-button{border:1px solid #dce4dd;border-radius:6px;background:#fff;font-size:19px;color:#556b5c;width:36px;height:35px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--line);border-radius:9px;padding:21px 22px;min-width:0}.metric>span{display:block;font-size:11px;color:#6b7b71}.metric strong{display:block;font-size:31px;letter-spacing:-1.2px;font-weight:600;margin:16px 0 11px;line-height:1}.metric small{font-size:10px;color:#8b978e;line-height:1.5}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:24px}.panel-heading{padding:22px 24px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-heading .muted{font-size:11px;margin-top:5px}.chart-legend{font-size:10px;color:#76877a;display:flex;align-items:center;gap:7px}.chart-legend i{width:7px;height:7px;border-radius:50%;background:#40886a}.chart{height:220px;margin:0 24px;position:relative}.chart svg{display:block;width:100%;height:100%;overflow:visible}.chart text{fill:#89978d;font-size:10px}.chart line{stroke:#edf1ed}.panel-footnote{border-top:1px solid #edf1ed;padding:12px 24px;color:#89978d;font-size:10px;line-height:1.6}.empty{padding:38px 22px;text-align:center;color:#7f8f83;font-size:13px;line-height:1.6}.chart>.empty{height:100%;display:grid;place-content:center}.empty strong{color:#3f5948;display:block;margin-bottom:6px;font-size:15px;font-weight:550}.notice{font-size:12px;line-height:1.6;padding:13px 17px;background:#edf1e8;border:1px solid #dce5d4;color:#64744c;border-radius:7px;margin-bottom:18px}.notice.danger{background:#fbefeb;border-color:#eed7cc;color:#95583e}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:27px 0 14px}.section-heading .muted{font-size:10px}.nodes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:26px}.node-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:17px 18px}.node-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.node-name{font-size:12px;font-weight:550;line-height:1.5}.badge{font-size:9px;line-height:1.5;padding:3px 6px;border-radius:4px;background:#edf3ec;color:#638457;white-space:nowrap;display:inline-block}.badge.warning{background:#f7f1df;color:#9b8245}.badge.neutral{background:#eff1ef;color:#7d8981}.badge.danger{background:#f9ece6;color:#aa694e}.node-card p{font-size:10px;color:#8a978e;margin-top:12px;line-height:1.6}.node-card .node-total{font-size:19px;font-weight:550;color:#314d3b;margin-top:15px;display:block}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}th{text-align:left;font-weight:500;color:#8b978d;background:#fcfdfb;padding:12px 24px;border-bottom:1px solid var(--line)}td{padding:13px 24px;border-bottom:1px solid #edf1ed;color:#5a6b5e}tbody tr:last-child td{border-bottom:0}.numeric{text-align:right;font-variant-numeric:tabular-nums}td:first-child{font-weight:550;color:#344e3c}.user-avatar{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf2e8;color:#69805e;margin-right:9px;text-transform:uppercase}.access-users{display:grid;gap:13px}.access-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px 23px}.access-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.access-title h2{display:flex;align-items:center}.access-title small{color:#8b978d;font-size:11px;margin-left:12px;font-weight:400}.access-nodes{display:flex;gap:8px;flex-wrap:wrap}.access-node{border:1px solid #e1e8df;border-radius:6px;padding:9px 11px;font-size:11px;line-height:1.7}.access-node small{display:block;color:#87927e;font-size:9px}.danger-button{background:#fff;border:1px solid #e4d9d3;color:#9a6b57;border-radius:6px;padding:7px 10px;font-size:10px}.jobs-list{display:grid;gap:12px}.job-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px}.job-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.job-card p{font-size:11px;color:#83907f;margin-top:9px;line-height:1.6}.job-steps{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:0;list-style:none}.job-steps li{font-size:10px;padding:6px 9px;border:1px solid #e5e9e0;border-radius:5px}.job-card .secondary{margin-top:14px}footer{display:flex;justify-content:space-between;padding:29px 0 22px;font-weight:600;color:#829080;font-size:16px;letter-spacing:-.5px}footer>span:last-child{margin-left:auto;font-size:10px;letter-spacing:0;font-weight:400}.count{font-size:9px;padding:2px 5px;background:#496554;color:#fff;border-radius:4px;margin-left:auto}.login-shell{min-height:100vh;background:#e8eee8;display:grid;place-items:center;padding:24px}.login-card{background:#fff;border:1px solid #dce5da;border-radius:18px;padding:45px;width:410px;max-width:100%}.login-card .brand{margin-bottom:42px;color:var(--dark)}.login-card h1{font-size:37px;line-height:1.12;margin-bottom:18px}.login-card label{margin-top:28px}.login-card input{width:100%}.login-card .primary{width:100%;display:flex;justify-content:space-between;margin-top:15px}label{display:block;font-size:12px;font-weight:550;margin:20px 0 9px}small{line-height:1.5}.error{font-size:12px;color:#a65032;line-height:1.5;margin-top:12px;min-height:18px}dialog{border:1px solid #dce4dc;border-radius:13px;padding:27px;width:480px;max-width:calc(100% - 30px);color:#2b4231;box-shadow:0 25px 90px #0b201b33}dialog::backdrop{background:#0d282570;backdrop-filter:blur(2px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dialog-top .eyebrow{margin:0}.dialog-top .icon-button{border:0}dialog h2{font-size:24px;margin-bottom:12px}dialog input,dialog select{width:100%}dialog small{display:block;font-size:10px;color:#889381;margin-top:7px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;bottom:25px;right:25px;padding:14px 20px;background:var(--dark);color:#fff;border-radius:8px;font-size:13px;box-shadow:0 5px 20px #182c2422;z-index:10}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.content{padding-top:45px}.chart{height:260px}}
@media(max-width:1100px){.sidebar{width:220px;flex-basis:220px;padding:26px 14px}.content{padding:27px 25px 0}.topbar{padding:0 25px}.nodes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{flex-wrap:wrap}th,td{padding-left:16px;padding-right:16px}}
@media(max-width:760px){.shell{display:block}.sidebar{width:auto;height:auto;position:static;padding:17px 18px 0}.brand{font-size:18px}.brand-icon{width:27px;height:27px}.workspace,.nav-label{display:none}.sidebar nav{display:flex;gap:2px;margin-top:18px}.nav-item{font-size:10px;padding:10px 7px;justify-content:center;gap:5px;margin:0;border-radius:6px 6px 0 0}.nav-item>span:first-child{font-size:15px;width:16px}.sidebar-bottom{position:absolute;right:14px;top:14px}.executor-state{font-size:9px;padding:7px 0}.executor-state small{font-size:8px}.text-button{display:block;padding:2px 0 7px;font-size:9px}.topbar{height:42px;padding:0 18px;font-size:9px}.content{padding:25px 17px 0}.private-badge{font-size:9px}h1{font-size:26px}.eyebrow{font-size:9px;letter-spacing:1.3px}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:22px;gap:16px}.page-heading .muted{font-size:11px}.primary,.secondary{font-size:11px;padding:10px 13px}.toolbar{gap:12px}.periods{width:100%;justify-content:space-between}.periods button{padding:8px 14px}.filters{width:100%}.filters select{flex:1;width:30%;font-size:10px}.metrics{gap:8px;margin-bottom:16px}.metric{padding:15px 11px}.metric>span{font-size:9px;line-height:1.4;min-height:27px}.metric strong{font-size:22px;margin:12px 0 9px;letter-spacing:-.7px}.metric small{font-size:8px}.panel-heading{padding:18px 17px 12px}.panel-heading h2{font-size:14px}.chart-legend{display:none}.chart{margin:0 17px;height:180px}.panel-footnote{padding:11px 17px;font-size:9px}.nodes-grid{gap:9px}.node-card{padding:14px 12px}.node-top{flex-wrap:wrap;gap:6px}.node-name{font-size:11px}.node-card p{font-size:9px}.node-card .node-total{font-size:17px}.badge{font-size:8px}.section-heading .muted{font-size:9px}h2{font-size:15px}.access-card,.job-card{padding:17px}.access-title small{font-size:9px}.access-title h2{font-size:13px}.access-node{font-size:10px}.job-heading{align-items:flex-start;flex-wrap:wrap}footer{padding-top:22px;gap:8px;flex-wrap:wrap;font-size:14px}.login-card{padding:33px}.toast{right:16px;left:16px;bottom:16px;text-align:center}.count{display:none!important}}
