:root{color:#18201c;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button,a{cursor:pointer}button:disabled{cursor:wait;opacity:.72}.eyebrow{color:#52615a;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.76rem;font-weight:700}h1,h2,p{letter-spacing:0}h1{margin:0;font-size:2rem;line-height:1.08}h2{margin:0;font-size:1rem}p{margin:0;line-height:1.55}label{gap:7px;display:grid}label span,.compact-field span{color:#4d5b55;font-size:.86rem;font-weight:700}input{color:#18201c;background:#fbfcfb;border:1px solid #cbd4cf;border-radius:6px;width:100%;min-height:42px;padding:9px 11px}input:focus,button:focus-visible{outline-offset:2px;outline:3px solid #23645a38}.primary-button,.ghost-button,.link-button,.nav-button,.icon-button,.segment{white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;min-height:38px;display:inline-flex}.primary-button{color:#fff;background:#23645a;border-radius:6px;padding:0 14px;font-weight:800}.ghost-button{color:#1e3029;background:#eef2ee;border-radius:6px;padding:0 12px;font-weight:700}.link-button{color:#fff;background:#23645a;border-radius:6px;padding:0 12px;font-weight:800;text-decoration:none}.link-button.secondary{color:#1f4f47;background:#fff;border:1px solid #cbd4cf}.form-error,.inline-error{color:#8a2c1c;background:#fff1ee;border:1px solid #f3b6a8;border-radius:6px;padding:10px 12px}.muted{color:#68736d}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-layout{background:#eef2ee;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-panel{background:#fff;border:1px solid #d9dfd8;border-radius:8px;gap:18px;width:100%;max-width:430px;margin:0 auto;padding:28px;display:grid;box-shadow:0 18px 50px #1b261f14}.auth-panel.compact{justify-content:center;align-items:center;display:flex}.brand-row{align-items:center;gap:14px;display:flex}.brand-row svg{color:#23645a;flex:none}.app-layout{background:#f5f7f4;grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #dbe2dc;grid-template-rows:auto 1fr auto;min-height:100vh;padding:18px;display:grid}.sidebar-title{align-items:center;gap:12px;min-width:0;padding:4px 2px 18px;display:flex}.sidebar-title svg{color:#23645a;flex:none}.sidebar-title div{min-width:0;display:grid}.sidebar-title strong,.user-block span{overflow-wrap:anywhere}.sidebar-title span{color:#657069;font-size:.86rem}.nav-list{align-content:start;gap:8px;display:grid}.nav-button{color:#33423b;background:0 0;border-radius:6px;justify-content:flex-start;width:100%;padding:0 10px}.nav-button.active{color:#17463e;background:#e4ebe6;font-weight:800}.user-block{border-top:1px solid #dbe2dc;gap:8px;min-width:0;padding-top:16px;display:grid}.user-block span{font-weight:800}.user-block strong{color:#657069;font-size:.86rem}.content{min-width:0;padding:24px}.page-section{gap:20px;min-width:0;max-width:1240px;margin:0 auto;display:grid}.page-header{justify-content:space-between;align-items:center;gap:18px;min-width:0;display:flex}.page-header>div{min-width:0}.page-header p:not(.eyebrow){color:#52615a;margin-top:7px}.header-actions{flex:none;align-items:center;gap:8px;display:flex}.icon-button{aspect-ratio:1;color:#1f4f47;background:#fff;border:1px solid #d7ded8;border-radius:6px;flex:none;width:40px;padding:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-section{gap:12px;min-width:0;display:grid}.metric-card{background:#fff;border:1px solid #dce2dd;border-radius:8px;gap:8px;min-width:0;min-height:190px;padding:16px;display:grid}.metric-icon{background:#e7efeb;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.metric-icon svg{color:#23645a;flex:none}.metric-card span{color:#52615a;font-size:.86rem;font-weight:800}.metric-card strong{font-size:1.75rem;line-height:1}.metric-card p{color:#657069;font-size:.88rem}.sparkline{align-self:end;gap:4px;min-width:0;display:grid}.sparkline svg{background:#f4f7f5;border:1px solid #dce5df;border-radius:6px;width:100%;min-width:0;height:48px;display:block;overflow:visible}.sparkline polyline{fill:none;stroke:#23645a;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.7px;vector-effect:non-scaling-stroke}.sparkline-guide{stroke:#d8e1dc;stroke-width:1px;vector-effect:non-scaling-stroke}.sparkline>span{color:#68736d;justify-self:end;font-size:.74rem;font-weight:800}.sparkline.empty{color:#68736d;background:#f4f7f5;border:1px dashed #ccd7d1;border-radius:6px;align-content:center;min-height:48px;padding:8px}.sparkline.empty span{justify-self:center}.docker-title{align-items:flex-start;gap:12px}.docker-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.docker-summary span{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:800}.docker-summary .running{color:#176143;background:#e4f3ec}.docker-summary .stopped{color:#9a2d20;background:#fff0ed}.container-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.container-row{background:#fbfcfb;border:1px solid #e1e6e2;border-radius:8px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px;display:grid}.container-row.running{border-color:#cfe5da}.container-row.stopped{border-color:#f0c9c2}.container-row strong,.container-row p{overflow-wrap:anywhere}.container-row p{color:#657069;font-size:.86rem}.container-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.container-dot.running{background:#20815f}.container-dot.stopped{background:#b33a2d}.container-state{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:800}.container-row.running .container-state{color:#176143;background:#e4f3ec}.container-row.stopped .container-state{color:#9a2d20;background:#fff0ed}.visual-map{grid-template-columns:minmax(420px,1.45fr) minmax(150px,.42fr) minmax(320px,.9fr);align-items:stretch;gap:18px;min-width:0;display:grid}.server-cube{background:#fff;border:2px solid #d8e2dc;border-radius:8px;gap:18px;min-width:0;min-height:520px;padding:18px;display:grid;box-shadow:0 18px 42px #18201c0f}.brain-cube{border-color:#aacdc3}.postgres-cube{border-color:#c2ccdb}.server-cube-header{align-items:center;gap:12px;min-width:0;display:flex}.server-cube-header svg{color:#23645a;background:#e7efeb;border-radius:8px;flex:none;padding:7px}.postgres-cube .server-cube-header svg{color:#2d4d70;background:#edf1f6}.server-cube-header h2{overflow-wrap:anywhere;font-size:1.28rem;line-height:1.15}.server-cube-header span{color:#5f6b65;overflow-wrap:anywhere;margin-top:3px;font-size:.86rem;font-weight:800;display:block}.cube-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-content:stretch;gap:12px;min-height:0;display:grid}.postgres-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:14px;display:grid}.visual-cube{color:#1d2c27;text-align:center;background:#f7faf8;border:1px solid #d9e3dd;border-radius:8px;place-items:center;gap:9px;min-width:0;min-height:116px;padding:14px 10px;display:grid}.visual-cube svg{color:#23645a}.visual-cube strong{overflow-wrap:anywhere;font-size:.9rem;line-height:1.15}.postgres-module{color:#fff;background:#1f4f47;border-color:#17443d;grid-column:2/4;min-height:132px;box-shadow:0 16px 34px #1f4f4738}.postgres-module svg{color:#fff}.visual-tunnel{align-content:center;gap:12px;min-width:0;display:grid}.tunnel-port{background:repeating-linear-gradient(90deg,#d8e6e0 0 13px,#f1f7f4 13px 26px);border:1px solid #9db5ae;border-radius:999px;min-width:0;height:18px}.tunnel-core{color:#fff;text-align:center;background:#1f4f47;border-radius:8px;place-items:center;gap:8px;min-width:0;padding:18px 12px;display:grid}.tunnel-core strong,.tunnel-core span{overflow-wrap:anywhere}.tunnel-core span{color:#d9ece6;font-size:.82rem;font-weight:800}.section-band{background:#fff;border:1px solid #dce2dd;border-radius:8px;gap:12px;padding:16px;display:grid}.section-title{justify-content:space-between;align-items:center;display:flex}.status-list{gap:10px;display:grid}.status-list.large{grid-template-columns:repeat(2,minmax(0,1fr))}.status-row{background:#fbfcfb;border:1px solid #e1e6e2;border-radius:8px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:72px;padding:12px;display:grid}.status-row strong{overflow-wrap:anywhere}.status-row p{color:#5e6a64;overflow-wrap:anywhere;font-size:.9rem}.status-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.status-dot.ok,.status-dot.configured{background:#20815f}.status-dot.error{background:#b33a2d}.status-dot.disabled,.status-dot.not_configured{background:#c28b19}.status-code{color:#38463f;white-space:nowrap;background:#eef2ee;border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:800}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.segmented{background:#e8eee9;border:1px solid #d7ded8;border-radius:8px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.segment{color:#394840;background:0 0;border-radius:5px;min-width:62px;padding:0 12px;font-weight:800}.segment.active{background:#fff;box-shadow:0 1px 2px #18201c14}.compact-field{align-items:center;gap:8px;display:flex}.compact-field input{width:92px}.log-viewer{gap:12px;min-width:0;display:grid}.log-file{color:#dce7df;background:#151b18;border:1px solid #2b3731;border-radius:8px;min-width:0;overflow:hidden}.log-file-header{background:#202922;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.log-file-header span{color:#dce7df;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.log-file-header strong{color:#9fb0a6;white-space:nowrap;font-size:.78rem}pre{white-space:pre-wrap;word-break:break-word;max-height:430px;margin:0;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem;line-height:1.5;overflow:auto}@media (width<=980px){.app-layout{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #dbe2dc;border-right:0;grid-template-columns:1fr;min-height:auto}.nav-list{flex-wrap:wrap;display:flex}.nav-button{width:auto}.user-block{margin-top:12px}.metric-grid,.status-list.large,.container-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-map{grid-template-columns:1fr}.server-cube{min-height:auto}.visual-tunnel{grid-template-columns:1fr auto 1fr}.tunnel-port{align-self:center;min-width:120px}}@media (width<=620px){.content{padding:16px}.page-header{align-items:flex-start}.header-actions{flex-direction:column;align-items:flex-end}.metric-grid,.status-list.large,.container-grid,.cube-grid,.postgres-stack,.visual-tunnel{grid-template-columns:1fr}.postgres-module{grid-column:auto}.tunnel-port{background:repeating-linear-gradient(#dbe6e1 0 12px,#eef5f1 12px 24px);justify-self:center;width:12px;min-width:0;height:34px}.status-row{grid-template-columns:12px minmax(0,1fr)}.status-code{grid-column:2;justify-self:start}.container-row{grid-template-columns:12px minmax(0,1fr)}.container-state{grid-column:2;justify-self:start}.toolbar{align-items:stretch}.segmented,.compact-field{width:100%}.segment{flex:72px}.compact-field input{flex:1;width:auto;min-width:0}}
