:root{--color-primary: #0d6efd;--color-primary-hover: #0b5ed7;--color-accent: #28a745;--color-danger: #dc3545;--color-danger-hover: #b02a37;--color-dark: #1f2937;--color-fg: #1f2937;--color-fg-muted: #6b7280;--color-bg: #ffffff;--color-bg-alt: #f9fafb;--color-bg-card: #ffffff;--color-border: #e5e7eb;--color-row-error-bg: #fef2f2;--color-ok: #15803d;--color-bad: #b91c1c;--color-warn: #b45309;--color-sidebar-bg: #1f2937;--color-sidebar-fg: #f9fafb;--color-sidebar-fg-active: #ffffff;--color-sidebar-active-bg: #374151;--status-active-bg: #dcfce7;--status-active-fg: #15803d;--status-provisioning-bg: #fef9c3;--status-provisioning-fg: #854d0e;--status-disabled-bg: #e5e7eb;--status-disabled-fg: #4b5563;--status-failed-bg: #fee2e2;--status-failed-fg: #b91c1c;--status-suspended-bg: #ffedd5;--status-suspended-fg: #9a3412;--font-body: -apple-system, "SF Pro Text", system-ui, sans-serif;--space-sidebar: 220px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);font-size:14.5px;color:var(--color-fg);background:var(--color-bg)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.layout{display:grid;grid-template-columns:var(--space-sidebar) 1fr;min-height:100vh}.sidebar{background:var(--color-sidebar-bg);color:var(--color-sidebar-fg);padding:18px 0}.brand-header{padding:0 18px 18px;border-bottom:1px solid var(--color-sidebar-active-bg);margin-bottom:12px}.brand-logo{max-height:32px;max-width:100%}.brand-text{font-size:18px;font-weight:600;color:var(--color-sidebar-fg-active)}.sidebar nav{display:flex;flex-direction:column}.nav-link{display:block;padding:10px 18px;color:var(--color-sidebar-fg);font-weight:500;border-left:3px solid transparent}.nav-link:hover{background:var(--color-sidebar-active-bg);text-decoration:none}.nav-link-active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-fg-active);border-left-color:var(--color-primary)}.content{padding:24px 32px;background:var(--color-bg-alt)}h1{margin-top:0;color:var(--color-dark)}h2{color:var(--color-dark);border-bottom:1px solid var(--color-border);padding-bottom:6px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.page-header h1{margin:0}.header-actions{display:flex;gap:8px}.filter-bar{display:flex;gap:16px;align-items:end;background:var(--color-bg-card);padding:12px 16px;border:1px solid var(--color-border);border-radius:6px;margin-bottom:16px}.filter-bar label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-fg-muted)}.input,.textarea{font-family:var(--font-body);font-size:14px;padding:6px 10px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-fg)}.input{min-width:260px}.textarea{width:100%;resize:vertical;font-family:SF Mono,ui-monospace,Menlo,monospace}.btn{display:inline-block;padding:8px 14px;font:inherit;font-weight:500;border:1px solid transparent;border-radius:4px;cursor:pointer;background:var(--color-bg-alt);color:var(--color-fg)}.btn:hover{background:var(--color-border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-sidebar-fg-active)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg);border-color:var(--color-border);color:var(--color-fg)}.btn-danger{background:var(--color-danger);color:var(--color-sidebar-fg-active);margin-right:8px}.btn-danger:hover{background:var(--color-danger-hover)}.table{width:100%;border-collapse:collapse;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border)}.table th{background:var(--color-bg-alt);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-fg-muted)}.table tr.row-error{background:var(--color-row-error-bg)}.status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.status-active{background:var(--status-active-bg);color:var(--status-active-fg)}.status-provisioning{background:var(--status-provisioning-bg);color:var(--status-provisioning-fg)}.status-disabled{background:var(--status-disabled-bg);color:var(--status-disabled-fg)}.status-failed{background:var(--status-failed-bg);color:var(--status-failed-fg)}.status-suspended{background:var(--status-suspended-bg);color:var(--status-suspended-fg)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:6px;padding:16px 20px;margin:12px 0}.form{display:flex;flex-direction:column;gap:12px;max-width:480px}.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--color-fg-muted)}.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 18px;margin:0}.kv dt{color:var(--color-fg-muted);font-size:13px}.kv dd{margin:0}.hint{color:var(--color-fg-muted)}.error{color:var(--color-bad)}.ok{color:var(--color-ok)}.bad{color:var(--color-bad)}code{font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:12.5px;padding:1px 4px;background:var(--color-bg-alt);border-radius:3px}
