@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.app-container{background-color:var(--bg-canvas);min-height:100vh;color:var(--text-primary);font-family:var(--font-sans);flex-direction:column;display:flex}.app-body{flex:1;min-height:0;display:flex}.app-main{flex:1;width:100%;min-width:0;max-width:1200px;margin:0 auto;padding:2rem}.page-header{margin-bottom:1.5rem}.page-title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.5rem;font-weight:600}.page-subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}:root{--bg-canvas:#09090b;--bg-surface:#121215;--bg-surface-elevated:#18181b;--bg-surface-hover:#1f1f23;--bg-subtle:#27272a;--border-subtle:#27272a;--border-strong:#3f3f46;--border-interactive:#52525b;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-dim:#52525b;--status-success:#10b981;--status-success-bg:#10b98114;--status-success-border:#10b98140;--status-warning:#f59e0b;--status-warning-bg:#f59e0b14;--status-warning-border:#f59e0b40;--status-danger:#f43f5e;--status-danger-bg:#f43f5e14;--status-danger-border:#f43f5e40;--status-info:#3b82f6;--status-info-bg:#3b82f614;--status-info-border:#3b82f640;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--bg-primary:var(--bg-canvas);--bg-secondary:var(--bg-surface);--bg-card:var(--bg-surface);--bg-card-hover:var(--bg-surface-hover);--border-color:var(--border-subtle);--border-focus:var(--border-interactive);--accent-primary:#f4f4f5;--accent-primary-hover:#e4e4e7;--accent-cyan:var(--status-info);--accent-emerald:var(--status-success);--accent-amber:var(--status-warning);--accent-rose:var(--status-danger)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6,.font-heading{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text-primary);font-weight:600}code,pre,.font-mono{font-family:var(--font-mono)}.glass-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color .15s}.glass-panel:hover{border-color:var(--border-strong)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem;transition:border-color .15s}.card:hover{border-color:var(--border-strong)}.card-elevated{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem}.badge{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:3px 8px;font-size:.75rem;font-weight:500;line-height:1.2;display:inline-flex}.badge-success{background:var(--status-success-bg);color:var(--status-success);border-color:var(--status-success-border)}.badge-warning{background:var(--status-warning-bg);color:var(--status-warning);border-color:var(--status-warning-border)}.badge-danger{background:var(--status-danger-bg);color:var(--status-danger);border-color:var(--status-danger-border)}.badge-info{background:var(--status-info-bg);color:var(--status-info);border-color:var(--status-info-border)}.badge-muted,.badge-secondary{background:var(--bg-subtle);color:var(--text-secondary);border-color:var(--border-subtle)}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{color:#09090b;background:#f4f4f5;border:1px solid #f4f4f5;font-weight:500}.btn-primary:hover:not(:disabled){background:#e4e4e7;border-color:#e4e4e7}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--border-strong)}.btn-danger{background:var(--status-danger-bg);color:var(--status-danger);border:1px solid var(--status-danger-border)}.btn-danger:hover:not(:disabled){background:#f43f5e26}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.input,.form-input{background:var(--bg-surface);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-family:var(--font-sans);border-radius:var(--radius-md);outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.input:focus,.form-input:focus{border-color:var(--border-interactive)}.input::placeholder,.form-input::placeholder{color:var(--text-dim)}.select{background:var(--bg-surface);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.select:focus{border-color:var(--border-interactive)}.table-container{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;overflow-x:auto}.table-container table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.table-container th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-elevated);padding:.75rem 1rem;font-size:.75rem;font-weight:500}.table-container td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:.75rem 1rem}.table-container tr:last-child td{border-bottom:none}.table-container tr:hover td{background:var(--bg-surface-hover)}.font-mono{font-family:var(--font-mono)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-canvas)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-interactive)}
