:root{color:#17201d;background:#f4f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:#13221d;color:#f6fbf6;padding:24px}.brand{align-items:center;display:flex;gap:12px;margin-bottom:32px}.brand-mark{align-items:center;background:#8fd694;border-radius:8px;color:#13221d;display:flex;font-weight:800;height:44px;justify-content:center;width:44px}.brand h1,.brand p{margin:0}.brand h1{font-size:18px}.brand p{color:#bad0c4;font-size:13px}nav{display:grid;gap:8px}nav a{align-items:center;border-radius:8px;display:flex;gap:10px;padding:10px 12px}nav a:hover{background:#20352e}nav a[aria-current=page]{background:#29483d}.workspace{padding:32px}.workspace-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.workspace-header h2,.workspace-header p{margin:0}.eyebrow{color:#51725f;font-size:13px;font-weight:700;text-transform:uppercase}.status{background:#dff3dd;border:1px solid #a9d8a5;border-radius:999px;color:#24472b;font-size:13px;padding:6px 10px}.page-layout{max-width:1280px}.panel{background:#fff;border:1px solid #dbe5dc;border-radius:8px;padding:20px}.panel h3,.panel p{margin:0}.panel p{color:#587066;margin-top:8px}.panel-header{display:grid;gap:12px}.panel-actions{display:flex;flex-wrap:wrap;gap:8px}button{background:#17201d;border:0;border-radius:8px;color:#fff;font:inherit;font-size:13px;padding:8px 10px}button:disabled{cursor:not-allowed;opacity:.55}.server-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:18px}.server-card{border:1px solid #dbe5dc;border-radius:8px;display:grid;gap:16px;padding:16px}.server-card h4,.server-card p{margin:0}.server-card p{color:#587066;font-size:13px;margin-top:6px}.server-card-title,.column-title,.connection-state,.server-actions{align-items:center;display:flex}.server-card-title,.column-title{gap:8px}.server-dot{border-radius:999px;display:inline-flex;height:9px;width:9px}.server-dot.online{background:#2fb160}.server-dot.reconnecting{background:#c98418}dl{display:grid;gap:8px;margin:0}dl div{display:flex;justify-content:space-between;gap:12px}dt{color:#587066;font-size:12px}dd{font-size:13px;font-weight:700;margin:0;text-align:right}.server-actions{gap:8px;justify-content:flex-end}.primary-action,.secondary-action{align-items:center;border-radius:8px;display:inline-flex;font-size:13px;gap:6px;min-height:34px;padding:0 10px}.primary-action{background:#17201d;color:#fff}.secondary-action{border:1px solid #cbd9ce;color:#24472b}.console-page{display:grid;gap:18px}.console-toolbar{align-items:center;display:flex;gap:16px;justify-content:space-between}.console-toolbar h3,.console-toolbar p,.console-column h4{margin:0}.console-toolbar p{color:#587066;font-size:13px;margin-top:6px}.connection-state{background:#eef5ef;border:1px solid #d7e4d8;border-radius:8px;flex-wrap:wrap;gap:8px;padding:8px}.console-grid{display:grid;gap:12px;grid-template-columns:minmax(190px,.8fr) minmax(360px,1.7fr) minmax(260px,1fr);min-height:480px}.console-column{border:1px solid #dbe5dc;border-radius:8px;min-width:0;padding:14px}.info-column{background:#f8fbf8}.terminal-column{background:#121817;color:#dff5df}.terminal-column pre{color:#dff5df;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.7;margin:16px 0 0;overflow:auto;white-space:pre-wrap}.sftp-column{background:#fff}.file-list{display:grid;gap:8px;list-style:none;margin:16px 0 0;padding:0}.file-list li{border-top:1px solid #e4ebe5;display:flex;gap:10px;justify-content:space-between;padding-top:8px}.file-list span{min-width:0;overflow-wrap:anywhere}.file-list strong{color:#51725f;font-size:12px}.secondary-button{background:#edf3ee;color:#17201d}.login-grid{display:grid;gap:18px;margin-top:18px;max-width:680px}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:6px}.login-form span{color:#40594e;font-size:13px;font-weight:700}.login-form input{border:1px solid #c7d5ca;border-radius:8px;color:#17201d;font:inherit;padding:10px 12px}.login-form button{justify-self:start}.form-error{background:#fff0ed;border:1px solid #f0b8aa;border-radius:8px;color:#8b2d1c;padding:10px 12px}.session-summary{align-items:center;background:#f4f7f2;border:1px solid #d7e4d8;border-radius:8px;display:grid;gap:10px;grid-template-columns:auto 1fr auto;padding:14px}.session-summary strong,.session-summary p{margin:0}.session-dot{background:#a9b7ae;border-radius:999px;height:10px;width:10px}.session-dot-ready{background:#2e8b57}.metrics{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.metric{background:#eef5ef;border:1px solid #d7e4d8;border-radius:8px;min-width:112px;padding:10px}.metric strong,.metric span{display:block}.metric strong{font-size:20px}.metric span{color:#587066;font-size:12px;margin-top:4px}table{border-collapse:collapse;font-size:13px;width:100%}th,td{border-top:1px solid #e4ebe5;padding:9px 6px;text-align:left;vertical-align:top}th{color:#51725f;font-weight:700}.empty-state{background:#f4f7f2;border:1px dashed #bfd0c3;border-radius:8px;color:#587066;margin-top:16px;padding:18px}@media(max-width:780px){.app-shell{grid-template-columns:1fr}.sidebar{padding:18px}.page-layout{max-width:none}.console-toolbar{align-items:stretch;flex-direction:column}.console-grid{grid-template-columns:1fr}}.terminal-form{align-items:end;background:#fff;border-radius:12px;display:grid;gap:14px;grid-template-columns:220px 1fr auto;margin:18px 0;padding:18px}.terminal-form label{display:flex;flex-direction:column;font-size:13px;gap:6px}.terminal-form input,.terminal-form select{border:1px solid #cdd6cf;border-radius:8px;font:inherit;padding:9px 11px}.terminal-form button{background:#13221d;border:0;border-radius:8px;color:#f6fbf6;cursor:pointer;font:inherit;padding:10px 18px}.terminal-form button:disabled{background:#6e8076;cursor:not-allowed}.form-success{background:#e6f4ea;border-radius:8px;color:#1f5d2f;margin:12px 0;padding:10px 14px}@media(max-width:1100px){.terminal-form{grid-template-columns:1fr}}.modal-overlay{align-items:center;background:#00000073;display:flex;justify-content:center;inset:0;position:fixed;z-index:100}.modal{background:#fff;border-radius:12px;box-shadow:0 16px 48px #0000002e;max-width:560px;padding:24px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h3{margin:0}.modal-close{background:transparent;border:none;color:#587066;cursor:pointer;font-size:16px;padding:4px 8px}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.server-form{display:grid;gap:14px}.server-form label{display:grid;gap:5px;font-size:13px}.server-form span{color:#40594e;font-weight:700}.server-form em{color:#c0392b;font-style:normal}.server-form input,.server-form select,.server-form textarea{border:1px solid #c7d5ca;border-radius:8px;color:#17201d;font:inherit;padding:9px 11px}.server-form textarea{resize:vertical;font-family:ui-monospace,monospace;font-size:12px}.form-divider{border:none;border-top:1px solid #dde8e2;margin:4px 0}.form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.configure-page{display:grid;gap:20px;max-width:680px}.configure-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.configure-header h3,.configure-header p{margin:0}.configure-header p{color:#587066;font-size:13px;margin-top:6px}.configure-footer{display:flex;justify-content:flex-start;margin-top:4px}.terminal-output{flex:1;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.7;margin:12px 0 0;min-height:0;overflow-y:auto;max-height:360px}.terminal-line{padding:0 2px;white-space:pre-wrap;word-break:break-all}.terminal-line-prompt{display:flex;gap:6px}.terminal-prompt{color:#8fd694;flex-shrink:0;font-weight:700}.terminal-text{color:#dff5df}.terminal-line-output{color:#b0ccb4;padding-left:16px}.terminal-line-error{color:#f87171;padding-left:16px}.terminal-input-row{align-items:center;border-top:1px solid #2a3830;display:flex;gap:8px;margin-top:10px;padding-top:10px}.terminal-input{background:transparent;border:none;caret-color:#8fd694;color:#dff5df;flex:1;font-family:inherit;font-size:13px;outline:none;padding:0}.terminal-input::placeholder{color:#4a6154}.terminal-input-row button{background:#1e3328;border:1px solid #2f4d3a;border-radius:6px;color:#8fd694;font-size:12px;padding:4px 10px}.terminal-input-row button:disabled{opacity:.4}.terminal-column{display:flex;flex-direction:column}
