:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#22352f;background:#f6f8f7;font-size:14px;font-synthesis:none;--green:#174d43;--muted:#75847f;--line:#e4eae7}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.45}[hidden]{display:none!important}a{color:var(--green);text-decoration:none}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#73877d}h1{font-size:30px;letter-spacing:-1px;line-height:1.3;margin:10px 0}h2{font-size:16px;margin:0;font-weight:650}p{line-height:1.6}small{display:block}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:30px 20px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 9px;font-size:23px;font-weight:700;letter-spacing:-1px}.brand small{font-size:8px;letter-spacing:2.2px;font-weight:500;margin-top:3px;color:var(--muted)}.workspace{margin:38px 0 32px;display:flex;align-items:center;gap:10px;background:#f8faf9;border:1px solid var(--line);padding:13px 10px;border-radius:9px;font-size:12px;font-weight:600}.workspace small{font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.workspace-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#e9efe9;color:#496653}.workspace .dot{margin-left:auto}.nav-label{font-size:9px;font-weight:600;color:#94a199;letter-spacing:1.5px;margin:0 12px 12px}nav{display:grid;gap:7px}.nav-item{border:0;background:none;text-align:left;padding:13px 14px;border-radius:7px;color:#687c72;font-weight:500;font-size:13px}.nav-item span{display:inline-block;font-size:20px;width:30px;vertical-align:middle}.nav-item.active{background:#eaf3ed;color:var(--green);font-weight:650}.nav-item:hover{background:#f0f5f1}.sidebar-bottom{margin-top:auto;padding-top:40px}.scope{font-size:11px;padding:15px 9px;color:#587365}.scope small{margin:8px 0 0 14px;color:#98a79f;font-family:monospace}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4e9a70;vertical-align:middle;margin-right:5px}.account{display:flex;align-items:center;gap:10px;border:0;border-top:1px solid var(--line);background:none;width:100%;text-align:left;padding:19px 7px 0;font-size:12px;color:#263c32}.avatar{display:grid;place-items:center;background:#edeae0;width:33px;height:33px;border-radius:50%;color:#7f7354}.account small{font-size:10px;color:var(--muted);margin-top:4px}.logout-icon{margin-left:auto;font-size:22px;color:var(--muted)}main{margin-left:244px;min-width:0;flex:1}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 42px;background:#fff;font-size:12px;color:var(--muted)}.topbar span{padding:0 15px;color:#b9c5bc}.topbar strong{color:#43594e;font-weight:500}.topbar a{font-size:11px}.main-content{padding:38px 42px;max-width:1600px;margin:auto;min-height:calc(100vh - 132px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px}.page-heading p{font-size:12px;margin:0}.button{border:1px solid #dce4de;border-radius:7px;background:#fff;color:#42574c;padding:10px 15px;white-space:nowrap;font-size:12px;font-weight:550;transition:background .15s}.button:hover{background:#f1f6f2;border-color:#aabdb2}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:#216052}.button.danger{color:#b44938}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:23px 24px}.stat-label{font-size:11px;color:#6a7d72;display:flex;justify-content:space-between}.stat-label>span{color:#94a79a}.stat-value{font-size:27px;font-weight:600;letter-spacing:-.8px;margin:19px 0 8px}.stat-denominator{font-size:20px;color:#a9b5ad;font-weight:400}.stat>.muted{font-size:10px}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:20px}.panel-heading{padding:25px 25px 23px;display:flex;align-items:center;justify-content:space-between;gap:18px}.panel-heading p{font-size:11px;margin:7px 0 0}.count{display:inline-block;font-size:10px;color:#7b8c83;background:#f0f4f1;border-radius:5px;padding:3px 6px;margin-left:6px;vertical-align:middle}.actions{display:flex;gap:7px}.service-row{display:grid;grid-template-columns:minmax(160px,1.1fr) minmax(170px,1.2fr) 130px 138px;align-items:center;padding:17px 25px;gap:15px;border-top:1px solid #edf1ee}.service-identity{display:flex;align-items:center;gap:12px;min-width:0}.service-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#edf2fa;color:#6080a2;font-size:14px;font-weight:700;flex:none}.service-icon.db{background:#fff5e5;color:#b08a44}.service-icon.redis{background:#fff0ed;color:#ba6a5d}.service-icon.nginx{background:#e9f4ed;color:#4b8962}.service-icon.wpcron{background:#f3edf9;color:#9572b0}.service-name{font-size:12px;font-weight:600}.service-id{font-size:9px;color:#97a79e;margin-top:5px;font-family:monospace}.image-name{font-family:monospace;font-size:10px;color:#799084;overflow:hidden;text-overflow:ellipsis}.image-name small{font-family:inherit;font-size:9px;color:#9caaa2;margin-top:5px}.badge{display:inline-flex;align-items:center;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:550;width:fit-content;white-space:nowrap}.badge.good{background:#edf6ef;color:#48835c}.badge.bad{background:#fcf0e9;color:#a97247}.badge.neutral{background:#f1f3f2;color:#8a9890}.health{display:block;font-size:9px;color:#94a69b;margin:5px 0 0 2px}.service-actions{display:flex;justify-content:flex-end;gap:4px}.icon-button{background:white;border:1px solid #e5ebe6;border-radius:5px;color:#799082;width:29px;height:29px;display:grid;place-items:center;font-size:16px}.icon-button:hover{color:#174d43;background:#f0f7f2}.panel-footer{display:flex;justify-content:space-between;padding:14px 25px;background:#fbfcfb;border-top:1px solid #edf1ee;font-size:9px;color:#91a097;gap:10px}.jobs-panel summary{padding:19px 25px;cursor:pointer;font-size:12px;font-weight:550}.jobs-panel summary .muted{font-weight:400;font-size:10px;margin-left:14px}.footnote{font-size:10px;color:#8c9d92;line-height:1.8;margin-top:22px}footer{padding:16px 42px;border-top:1px solid var(--line);font-size:10px;color:#85988a;display:flex;justify-content:space-between}footer span{color:#a3afa7}.banner{background:#e7f2eb;border:1px solid #cfe5d6;padding:14px 18px;border-radius:8px;margin-bottom:22px;font-size:12px}.error-banner{background:#fff1eb;border-color:#f0d6c5;color:#a05c3f}.empty{padding:50px;text-align:center;color:var(--muted);font-size:12px}.log-toolbar,.file-toolbar{display:flex;align-items:center;gap:20px;padding:20px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}.log-toolbar label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:10px}select,input{border:1px solid #dce5df;background:#fff;color:#435e4f;border-radius:6px;padding:9px 12px}input[type=checkbox]{accent-color:var(--green)}.log-toolbar .button{margin-left:auto}.terminal-heading{padding:15px 24px;background:#1e302a;color:#aac6b6;font:10px monospace;display:flex;align-items:center;gap:6px}.terminal-heading #log-time{margin-left:auto;color:#75998a}.terminal{background:#14271f;color:#c2d5c6;margin:0;padding:22px 24px;font:11px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:450px;max-height:65vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.file-toolbar{justify-content:space-between}.file-crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.crumb{border:0;background:transparent;color:#4f7a62;padding:4px;overflow-wrap:anywhere}.file-row{display:grid;grid-template-columns:minmax(100px,1fr) 90px 160px;gap:15px;padding:13px 25px;border-top:1px solid #f0f3f1;font-size:11px;align-items:center}.file-row button{border:0;background:none;text-align:left;color:#486251;padding:3px 0;overflow-wrap:anywhere}.file-row:hover{background:#fafcfb}.file-row .file-symbol{display:inline-block;color:#b29c6c;width:25px}.file-row .muted{font-size:10px}.file-header{background:#fafcfb;color:#94a097;font-size:9px;text-transform:uppercase;letter-spacing:1px}.file-preview{margin:0;padding:25px;font:11px/1.7 monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;overflow:auto;background:#fcfdfc;color:#4e6456}.preview-info{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;background:#f6f9f6;font-size:11px}.activity-row{padding:23px 25px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line)}.activity-text{flex:1;font-size:12px}.activity-text p{font-size:11px;margin:7px 0 0}.activity-time{font-size:10px;color:var(--muted)}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at top,#e6efe7,transparent 65%),#f6f8f7;padding:30px}.login-brand{display:flex;align-items:center;gap:14px;font-size:25px;letter-spacing:-1px;margin-bottom:35px;font-weight:650}.login-brand .muted{font-weight:400}.login-card{width:420px;max-width:100%;padding:35px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 45px #174d4308}.login-card h1{font-size:29px}.login-card p{font-size:12px}.login-card label{display:block;margin:23px 0 8px;font-size:11px;color:#647a6c}.login-card input{width:100%;padding:12px}.login-card input[readonly]{background:#f7f9f7;color:#99a69d}.login-card .primary{width:100%;margin-top:15px;padding:13px;display:flex;justify-content:space-between}.login-note{font-size:10px!important;color:#96a69c;margin:25px 0 0;text-align:center}.error{color:#af5945}dialog{border:1px solid var(--line);border-radius:13px;padding:30px;width:420px;max-width:90vw;box-shadow:0 20px 90px #16332430}dialog::backdrop{background:#12291e55;backdrop-filter:blur(3px)}dialog h2{font-size:22px;margin:15px 0}dialog p{font-size:12px}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:28px}.toast{position:fixed;bottom:25px;right:25px;padding:15px 22px;background:#223e31;color:white;box-shadow:0 5px 30px #17392130;border-radius:9px;font-size:12px;max-width:90vw;z-index:10}@media(min-width:1500px){.main-content{padding-top:48px}}@media(max-width:1150px){.sidebar{width:205px;padding:25px 13px}main{margin-left:205px}.main-content{padding:28px}.topbar{padding:0 28px}.panel-heading{align-items:flex-start;flex-direction:column}.service-row{grid-template-columns:1fr 1fr 100px 125px;padding:15px}.image-name{font-size:9px}.stat{padding:20px 18px}.stat-value{font-size:24px}}@media(max-width:800px){.sidebar{position:static;width:100%;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.shell{display:block}.brand{font-size:21px}.workspace,.nav-label,.sidebar-bottom{display:none}nav{display:flex;gap:4px;margin-top:18px;overflow:auto}.nav-item{font-size:11px;white-space:nowrap;padding:9px}.nav-item span{width:19px;font-size:16px}main{margin:0}.topbar{height:55px;padding:0 20px;font-size:10px}.main-content{padding:25px 16px}.stats{gap:8px}.stat{padding:16px 12px}.stat-value{font-size:21px}.stat-label{font-size:9px}.stat>.muted{font-size:9px}.service-row{grid-template-columns:1fr 100px 128px;gap:8px}.image-name{display:none}h1{font-size:25px}.service-id{font-size:8px}.panel-heading{padding:20px}.actions{flex-wrap:wrap}.service-icon{display:none}.panel-footer{padding:14px}.jobs-panel summary .muted{display:block;margin:10px 0 0}.file-row{grid-template-columns:1fr 70px;padding:13px 17px}.file-row>:last-child{display:none}footer{padding:16px;font-size:9px}.activity-row{flex-wrap:wrap}.log-toolbar{gap:12px}.log-toolbar .button{margin-left:0}.page-heading{gap:8px}.page-heading p{font-size:11px}.button{padding:9px 11px;font-size:11px}}
.service-identity>div{min-width:0}.service-id{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-links{display:flex;align-items:center;gap:15px}#mobile-logout{display:none}@media(max-width:800px){nav{display:grid;grid-template-columns:repeat(4,1fr)}.nav-item{font-size:10px;padding:11px 5px;text-align:center}.nav-item span{display:none}.stats{grid-template-columns:1fr 1fr}.stat:first-child{grid-column:1/-1}.stat:first-child .stat-value{font-size:24px}.stat-value{margin:12px 0 8px}.service-row{grid-template-columns:minmax(0,1fr) 75px 125px}.service-name{font-size:11px}.service-id{max-width:100%}.topbar-links{gap:10px}#mobile-logout{display:inline-block;padding:6px 8px;font-size:9px}.topbar>div:first-child{font-size:9px}.topbar span{padding:0 5px}.topbar a{font-size:9px}}
