:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#16201c;background:#f5f6f4;font-synthesis:none}.toolsModule{display:grid;gap:16px}.navSubTabs{display:grid;gap:3px;margin:-4px 0 8px 20px;padding-left:10px;border-left:1px solid var(--border)}.navSubTabs button{font-size:.86rem;padding:7px 10px;text-align:left;color:var(--muted);background:transparent}.navSubTabs button.active{color:var(--accent);background:var(--accent-soft)}.subNav{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--border)}.subNav button{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.subNav button.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.toolsContent{display:grid;gap:16px}.statGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.statCard{padding:16px;border:1px solid var(--border);background:var(--surface);border-radius:8px;display:grid;gap:8px}.statCard span{color:var(--muted);font-size:.86rem}.statCard strong{font-size:1.25rem}.toolsContent pre{white-space:pre-wrap;overflow:auto;max-height:420px}@media(max-width:760px){.statGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:1px solid #b8c4bb;background:#fff;color:#16201c;border-radius:6px;padding:8px 11px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}a.buttonLink{border:1px solid #b8c4bb;background:#fff;color:#16201c;border-radius:6px;padding:8px 11px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}a.buttonLink:hover,button:hover{border-color:#407b5c}button.danger{color:#9c321d;border-color:#efb4a8}button.danger:hover{border-color:#c74a32;background:#fff5f2}button.secondary{background:#f7f9f8}input,select{border:1px solid #c9d2cb;border-radius:6px;padding:9px 10px;min-height:38px;background:#fff;min-width:0}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#173528;color:#edf7f0;padding:24px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-weight:750}.role{color:#b9d1c2}.navTabs{display:grid;gap:6px}.navTabs button{justify-content:flex-start;width:100%;background:transparent;color:#edf7f0;border-color:transparent}.navTabs button:hover,.navTabs button.active{background:#224937;border-color:#456c59}.ghost{margin-top:auto;background:transparent;color:#edf7f0;border-color:#456c59}.workspace{padding:28px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}h1,h2,p{margin:0}h1{font-size:28px}h2{font-size:17px;display:flex;align-items:center;gap:8px;margin-bottom:14px}h3{font-size:14px;margin:6px 0 0}header p,.muted{color:#5f6e65}.grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:16px}.tabContent{display:grid;gap:16px}.panel{background:#fff;border:1px solid #dfe5e0;border-radius:8px;padding:16px;min-width:0}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.loginBox{width:min(420px,100%);background:#fff;border:1px solid #dfe5e0;border-radius:8px;padding:22px;display:grid;gap:14px}label{display:grid;gap:6px;color:#33423a}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c9d2cb;border-radius:6px;overflow:hidden}.segmented button{border:0;border-radius:0}.segmented .active{background:#dceee4;color:#173528}.alert{background:#fff0ed;color:#9c321d;border:1px solid #ffc2b6;border-radius:6px;padding:10px}.inlineForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:14px}.siteCreateForm,.siteCreate{display:grid;gap:12px;margin-bottom:16px}.siteCreateForm{border:1px solid #e1e6e2;border-radius:8px;padding:12px;background:#fbfcfb}.formRow{display:grid;gap:8px}.formRow.two{grid-template-columns:repeat(2,minmax(180px,1fr))}.formSection{display:grid;gap:8px;border-top:1px solid #edf0ed;padding-top:10px}.formSectionHead{display:flex;justify-content:space-between;align-items:center;gap:10px}.formActions{display:flex;justify-content:flex-end}.importForm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}.importForm a{color:#25664a;text-decoration:none;font-weight:650}.updatePanel{display:grid;gap:12px}.versionStrip{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#f3f6f4;border:1px solid #dce5df;border-radius:6px;padding:10px;color:#33423a}.success{background:#edf8f0;color:#245f3e;border:1px solid #b9dfc5;border-radius:6px;padding:10px}details{border:1px solid #dfe5e0;border-radius:6px;padding:10px}summary{cursor:pointer;font-weight:650}.detailsContent{display:grid;gap:10px;margin-top:10px}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #edf0ed;padding:9px 6px;vertical-align:top}th{color:#4a5a51;font-size:13px}.siteList{display:grid;gap:10px}.siteRow{border:1px solid #e1e6e2;border-radius:8px;padding:12px;display:grid;gap:10px}.siteRow span{display:block;color:#627268;margin-top:3px}.portForm{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.portForm input{width:130px}.siteDomains{display:grid;gap:8px;border-top:1px solid #edf0ed;padding-top:10px}.domainChips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd8cf;border-radius:999px;padding:4px 8px;background:#f5f8f6;color:#30443a}.chip button{border:0;padding:0 4px;min-height:auto;background:transparent;color:#8c3325}.addDomainForm{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px}.startCommandForm{display:grid;grid-template-columns:minmax(150px,220px) minmax(220px,1fr) auto;gap:8px;align-items:center}.domainBuilder{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,1fr) auto;gap:8px;align-items:center}.domainBuilder span{color:#425149;font-size:.92rem}@media(max-width:760px){.formRow.two,.domainBuilder,.startCommandForm,.addDomainForm{grid-template-columns:1fr}.formSectionHead,.formActions{align-items:stretch;flex-direction:column}}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.monitoring{display:grid;gap:14px}.monitorToolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #dce5df;border-radius:8px;padding:12px;background:#fbfcfb}.monitorToolbar span{display:block;color:#5f6e65;margin-top:3px}.monitorWarnings{display:grid;gap:8px}.monitorWarning{border-radius:6px;padding:10px;border:1px solid #f0d19a;color:#795516;background:#fff8e9}.monitorWarning.danger{border-color:#ffc2b6;color:#9c321d;background:#fff0ed}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.metricCard{border:1px solid #dce5df;border-radius:8px;padding:12px;display:grid;gap:10px;min-height:190px;background:#fbfcfb}.metricCard.green{border-top:4px solid #2f7d55}.metricCard.blue{border-top:4px solid #326f9f}.metricCard.amber{border-top:4px solid #a87424}.metricCard.purple{border-top:4px solid #7a5aaf}.metricHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.metricHead span{display:inline-flex;align-items:center;gap:7px;color:#405048;font-weight:700}.metricHead strong{font-size:26px;line-height:1}.metricCard small{color:#627268}.progressBar{height:9px;border-radius:999px;background:#e6ece8;overflow:hidden}.progressBar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f7d55,#86b36b)}.miniLine{width:100%;height:70px;margin-top:auto}.monitorSplit{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:12px}.monitorBox{border:1px solid #dce5df;border-radius:8px;padding:12px;background:#fff;display:grid;gap:10px}.serviceList,.siteProcessList{display:grid;gap:8px}.serviceRow{display:grid;grid-template-columns:auto minmax(170px,1fr) auto;gap:8px;align-items:center;border:1px solid #edf0ed;border-radius:6px;padding:9px}.serviceRow span:last-child{color:#627268}.dot{width:10px;height:10px;border-radius:50%;background:#b3bdb6}.dot.ok{background:#2f7d55}.dot.fail{background:#c74a32}.progressRow{display:grid;grid-template-columns:minmax(110px,.45fr) minmax(160px,1fr);gap:10px;align-items:center}.progressRow div:first-child{display:grid;gap:2px}.progressRow span{color:#627268;font-size:13px}.siteProcess{display:grid;grid-template-columns:minmax(220px,1.2fr) auto minmax(180px,1fr) minmax(180px,1fr);gap:10px;align-items:center;border:1px solid #edf0ed;border-radius:8px;padding:10px}.siteProcess span{color:#627268}.invoiceModule,.operationsModule{display:grid;gap:14px}.opsGrid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px}.opsGrid.two{grid-template-columns:repeat(2,minmax(280px,1fr))}.opsBox{border:1px solid #dce5df;border-radius:8px;padding:12px;background:#fbfcfb;display:grid;gap:9px}.opsBox h3{display:flex;align-items:center;gap:7px;margin-bottom:2px}.opsTables{display:grid;gap:10px}.invoiceGrid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.4fr);gap:12px}.invoiceBox{border:1px solid #e1e6e2;border-radius:8px;padding:12px;background:#fbfcfb;display:grid;gap:10px}.monthlyInvoiceBox{border:1px solid #dce5df;border-radius:8px;padding:12px;background:#f7f9f8;display:grid;gap:10px}.checkLine{display:flex;align-items:center;gap:8px}.checkLine input{min-height:auto}.invoiceDates,.invoiceItem{display:grid;gap:8px}.invoiceDates{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.invoiceItems{display:grid;gap:8px}.invoiceItem{grid-template-columns:minmax(180px,1fr) 80px 110px auto}.invoiceDetails{display:grid;gap:8px;margin-top:10px}.invoiceDetail{border:1px solid #e1e6e2;border-radius:6px;padding:10px;display:grid;gap:4px;background:#fbfcfb}.invoiceDetail span{color:#5f6e65}.ftpManager,.backupManager{display:grid;gap:10px}.backupPanel{display:grid;gap:10px;border-top:1px solid #edf0ed;padding-top:10px}.backupRow{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #edf0ed;border-radius:6px;padding:8px}.ftpPanel{display:grid;gap:10px;border-top:1px solid #edf0ed;padding-top:10px}.ftpMeta{display:flex;flex-wrap:wrap;gap:10px;color:#4f5f55;font-size:14px}.ftpCreate{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1fr) auto;gap:8px}.ftpAccountWrap{display:grid;gap:8px}.ftpAccount{display:grid;grid-template-columns:minmax(180px,1.2fr) auto minmax(150px,1fr) auto auto auto auto;gap:8px;align-items:center;border:1px solid #e1e6e2;border-radius:6px;padding:10px}.ftpAccount span{display:block;color:#627268;margin-top:3px}.status{border-radius:999px;padding:4px 8px;font-size:13px;text-align:center}.status.active{background:#edf8f0;color:#245f3e}.status.inactive{background:#fff0ed;color:#9c321d}.diagnostics{display:grid;gap:6px}.diagnostics pre{margin:0;max-height:180px}pre{white-space:pre-wrap;overflow:auto;background:#f7f8f7;border:1px solid #e1e6e2;border-radius:6px;padding:12px;max-height:360px}.editorPanel{display:grid;gap:10px}.caddyConsole{display:grid;gap:14px}.caddyHero{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dce5df;border-radius:8px;padding:14px;background:#f7faf8}.caddyHero strong{font-size:18px}.caddyHero span{display:block;color:#5f6e65;margin-top:3px}.caddyLayout{display:grid;grid-template-columns:minmax(280px,.35fr) minmax(520px,1fr);gap:14px;align-items:start}.caddySide{display:grid;gap:12px}.caddyCard,.caddyEditorShell,.caddyDiffPanel,.caddyManaged{border:1px solid #dce5df;border-radius:8px;background:#fff;padding:12px;display:grid;gap:10px}.caddyStat{display:flex;justify-content:space-between;gap:10px;border:1px solid #edf0ed;border-radius:6px;padding:9px}.caddyStat span,.caddyBackup span{color:#627268}.caddyBackupList{display:grid;gap:8px;max-height:390px;overflow:auto}.caddyBackup{border:1px solid #edf0ed;border-radius:6px;padding:9px;display:grid;gap:8px}.caddyActionBar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.caddyEditorShell summary{display:flex;cursor:pointer;list-style:none}.caddyEditorShell summary::-webkit-details-marker{display:none}.caddyEditorShell summary div{display:grid;gap:3px}.caddyEditorShell[open]{gap:12px}.primaryAction{border-color:#2f7d55;background:#edf8f0;color:#245f3e;font-weight:700}.codeEditor{width:100%;min-height:360px;resize:vertical;border:1px solid #d0d8d2;border-radius:6px;padding:12px;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;background:#fbfcfb;color:#18231e;-moz-tab-size:2;tab-size:2}.caddyCodeEditor{min-height:610px}.caddyManaged{gap:12px}.caddySiteGrid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:12px}.caddySiteCard{border:1px solid #dce5df;border-radius:8px;padding:12px;background:#fbfcfb;display:grid;gap:12px}.caddySiteHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.caddySiteHead span{display:block;color:#627268;margin-top:3px}.caddyFields{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px}.caddyToggles{display:flex;flex-wrap:wrap;gap:12px}.caddyPreview{border:1px solid #edf0ed;border-radius:6px;padding:9px;display:grid;gap:5px;background:#fff}.caddyPreview code{white-space:normal;overflow-wrap:anywhere;color:#405048}.diffView{font-size:12px;line-height:1.45;border-color:#cbd8cf;max-height:420px;overflow:auto;border:1px solid #e1e6e2;border-radius:6px;background:#fbfcfb}.diffLine{display:grid;grid-template-columns:24px 1fr;gap:8px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.diffLine.added{background:#edf8f0;color:#245f3e}.diffLine.removed{background:#fff0ed;color:#9c321d}.diffLine.same{color:#5f6e65}.commandResult{display:grid;gap:6px;border-radius:6px;padding:10px;border:1px solid}.commandResult.ok{background:#edf8f0;color:#245f3e;border-color:#b9dfc5}.commandResult.failed{background:#fff0ed;color:#9c321d;border-color:#ffc2b6}.commandResult span{color:inherit;opacity:.8}.commandResult pre{margin:0;max-height:220px}.mailManager{display:grid;gap:16px}.mailStatus{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #dce5df;border-radius:8px;padding:13px;background:#f7faf8}.mailStatus strong,.mailStatus span{display:block}.mailStatus span{color:#5f6e65;margin-top:3px}.statusList{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}.mailGrid{display:grid;grid-template-columns:minmax(360px,1.5fr) repeat(2,minmax(220px,1fr));gap:14px;align-items:start}.mailGrid section{border:1px solid #dce5df;border-radius:8px;padding:12px}.mailGrid h3{margin:0 0 10px;font-size:15px}.stackForm{display:grid;gap:8px}@media(max-width:880px){.app{grid-template-columns:1fr}.sidebar{min-height:auto}.grid{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column}.ftpCreate,.ftpAccount,.invoiceGrid,.invoiceDates,.invoiceItem,.metricGrid,.monitorSplit,.caddyLayout,.caddySiteGrid,.caddyFields,.opsGrid,.opsGrid.two,.siteProcess,.progressRow,.mailGrid,.mailStatus{grid-template-columns:1fr}.monitorToolbar{align-items:stretch;flex-direction:column}}
