:root{--bg:#f5f7fb;--panel:#fff;--ink:#142033;--muted:#6f7b8e;--line:#e5eaf1;--nav:#101827;--accent:#5b5cf0;--green:#0fa968;--red:#d84455;--amber:#c88909;--radius:16px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#fff;padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:750;padding:0 8px 25px}.brand-mark{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#7b61ff,#3d8bfd);color:white;font-weight:850;letter-spacing:-1px;box-shadow:0 12px 30px #4f46e54d}.brand-mark.small{width:32px;height:32px;border-radius:9px;font-size:12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#aeb9ca;text-decoration:none;padding:11px 13px;border-radius:10px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff12;color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid #ffffff18;padding:17px 8px 0;display:flex;align-items:center;justify-content:space-between;font-size:13px}.link-button{border:0;background:transparent;color:#94a3b8;cursor:pointer}.content{padding:34px 38px;max-width:1500px;width:100%;margin:auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.page-header h1{font-size:29px;margin:2px 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.7px;color:var(--accent);margin:0}.domain-pill,.tag{background:#eef0ff;color:#5656d8;border-radius:99px;padding:7px 11px;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:grid;gap:8px}.metric span,.metric small{color:var(--muted);font-size:12px}.metric strong{font-size:28px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:20px;box-shadow:0 8px 30px #1d294508}.panel.narrow{max-width:720px}.panel-head,.row,.card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head{margin-bottom:18px}.panel h2{font-size:17px;margin:0 0 5px}.panel-head p,.muted{margin:0;color:var(--muted);font-size:13px}.server-cards,.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.server-card,.resource-card,.deployment-card{border:1px solid var(--line);border-radius:13px;padding:17px}.server-card h3,.resource-card h3{font-size:15px;margin:18px 0 5px}.server-card p,.resource-card p{font-size:12px}.card-meta{margin-top:18px;color:var(--muted);font-size:12px}.status{display:inline-block;width:8px;height:8px;border-radius:50%;background:#9aa5b5;margin-right:8px}.status.running,.status.healthy{background:var(--green);box-shadow:0 0 0 4px #0fa96817}.mono{font-family:"SFMono-Regular",Consolas,monospace}.button,.primary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:8px 12px;text-decoration:none;font-size:12px;cursor:pointer}.button.primary,.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.danger{background:#fff4f5;color:var(--red);border-color:#ffd8dc}.full{width:100%;padding:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:650;font-size:11px;text-transform:uppercase;letter-spacing:.5px}th,td{padding:13px 11px;border-bottom:1px solid var(--line);vertical-align:middle}td small{display:block;color:var(--muted);margin-top:5px}.state{display:inline-flex;padding:4px 8px;border-radius:99px;background:#eff2f6;color:#667386;font-size:10px;font-weight:750;text-transform:uppercase}.state.running,.state.healthy,.state.succeeded,.state.success{background:#e8f8f1;color:#087d50}.state.failed,.state.error{background:#fff0f1;color:#b82f40}.state.planned{background:#edf0ff;color:#5757db}.state.accepted,.state.unknown{background:#fff7df;color:#946600}.empty{text-align:center;color:var(--muted);padding:25px}.resource-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eef0ff;color:var(--accent);font-weight:800}.stack,.deploy-form{display:grid;gap:16px}.stack label,.deploy-form>label{display:grid;gap:7px;font-size:12px;font-weight:650}input{width:100%;border:1px solid #dce2eb;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);outline:0}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5b5cf01c}fieldset{border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:15px}legend{font-size:12px;color:var(--muted);padding:0 5px}.check-card{display:flex;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer}.check-card input{width:auto}.check-card span{display:grid;gap:4px}.check-card small{color:var(--muted)}.deployment-list{display:grid;gap:12px}.target-flow{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.target{background:#f1f3f7;border-radius:7px;padding:6px 9px;font-size:11px}.target.succeeded{background:#e8f8f1;color:#087d50}.target.failed{background:#fff0f1;color:#b82f40}.alert{border-radius:10px;padding:11px 14px;margin:0 0 18px;font-size:13px}.alert.success{background:#eaf9f3;color:#087d50}.alert.error{background:#fff0f1;color:#b82f40}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 0,#e9e9ff,transparent 35%),#f5f7fb}.login-card{width:min(390px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 30px 90px #26345c21}.login-card .brand-mark{margin-bottom:24px}.login-card h1{margin:5px 0 8px}.login-card>.muted{margin-bottom:24px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar-foot{margin-top:15px}.content{padding:24px 16px}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.server-cards,.resource-grid,.metric-grid,fieldset{grid-template-columns:1fr}.sidebar nav{grid-template-columns:repeat(2,1fr)}.domain-pill{display:none}}
