:root{--bg-primary: #0a0f14;--bg-secondary: #111827;--bg-tertiary: #1f2937;--bg-elevated: #283548;--bg-hover: #374151;--bg-surface: #1a2332;--accent-primary: #0891b2;--accent-primary-bright: #06b6d4;--accent-primary-dim: #0e7490;--accent-primary-alpha: rgba(8, 145, 178, .15);--accent-secondary: #f59e0b;--accent-secondary-bright: #fbbf24;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--text-accent: var(--accent-primary-bright);--border-subtle: rgba(8, 145, 178, .12);--border-medium: rgba(8, 145, 178, .25);--border-bright: rgba(8, 145, 178, .5);--border-default: rgba(255, 255, 255, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(8, 145, 178, .2);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--header-height: 56px;--sidebar-width: 220px;--z-sidebar: 100;--z-header: 200;--z-modal: 1000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh;overflow:hidden}#app{height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}code{font-family:JetBrains Mono,monospace;font-size:.875em;background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);color:var(--accent-primary-bright)}.hidden{display:none!important}.text-muted{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-primary-dim));color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-primary-bright),var(--accent-primary));box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-medium)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8125rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.btn-full{width:100%}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-text{display:inline}.btn-loading{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-group{margin-bottom:var(--spacing-md)}.form-stack{display:flex;flex-direction:column;gap:var(--spacing-md)}input[type=text],input[type=email],input[type=tel]{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9375rem;transition:all var(--transition-fast)}input::placeholder{color:var(--text-muted)}input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-alpha)}.error{color:var(--color-error);font-size:.875rem;margin-top:var(--spacing-xs)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{position:relative;width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal{text-align:center}.login-header{margin-bottom:var(--spacing-xl)}.login-header .admin-logo{margin-bottom:var(--spacing-md);filter:drop-shadow(0 0 16px rgba(8,145,178,.6))}.login-header h1{font-size:1.5rem;letter-spacing:.1em;margin-bottom:var(--spacing-xs);background:linear-gradient(135deg,var(--accent-primary-bright),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-header .tagline{color:var(--text-muted);font-size:.875rem}.login-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-size:.9375rem}.app-header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md);z-index:var(--z-header)}.header-left,.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.app-logo{display:flex;align-items:center;gap:var(--spacing-sm)}.app-logo .logo-icon{filter:drop-shadow(0 0 8px rgba(8,145,178,.5));transition:filter var(--transition-fast)}.app-logo:hover .logo-icon{filter:drop-shadow(0 0 12px rgba(8,145,178,.7))}.app-logo .logo-text{font-size:.875rem;font-weight:700;letter-spacing:.1em}.status-badge{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.healthy{background:var(--color-success);box-shadow:0 0 8px var(--color-success)}.status-dot.warning{background:var(--color-warning)}.status-dot.error{background:var(--color-error);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.app-layout{display:flex;flex:1;min-height:0;overflow:hidden}#main-app{display:flex;flex-direction:column;height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:var(--z-sidebar)}.sidebar-nav{flex:1;padding:var(--spacing-md)}.nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;color:var(--text-secondary);transition:all var(--transition-fast);margin-bottom:var(--spacing-xs)}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--accent-primary-alpha);color:var(--accent-primary-bright)}.nav-item svg{flex-shrink:0}.nav-badge{margin-left:auto;padding:2px 6px;background:var(--color-warning);color:#000;font-size:.6875rem;font-weight:600;border-radius:var(--radius-full)}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--border-subtle)}.version-info{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.75rem;color:var(--text-muted)}.main-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.panel{display:none}.panel.active{display:block}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.panel-header h1{font-size:1.5rem}.last-updated{font-size:.8125rem;color:var(--text-muted)}.section{margin-top:var(--spacing-xl)}.section h2{font-size:1rem;margin-bottom:var(--spacing-md);color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.stat-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--accent-primary-alpha);border-radius:var(--radius-md);color:var(--accent-primary-bright)}.stat-content{display:flex;flex-direction:column}.stat-label{font-size:.8125rem;color:var(--text-muted)}.stat-value{font-size:1.5rem;font-weight:600}.flags-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.flag-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.flag-tag.enabled{color:var(--color-success)}.flag-tag.disabled{color:var(--text-muted)}.git-info-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.git-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-subtle)}.git-row:last-child{border-bottom:none}.git-label{font-size:.8125rem;color:var(--text-muted);min-width:80px}.git-value{font-size:.875rem}.logs-toolbar{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.level-filters{display:flex;gap:var(--spacing-xs)}.level-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.level-btn:hover{background:var(--bg-hover)}.level-btn.active{background:var(--accent-primary-alpha);border-color:var(--accent-primary);color:var(--accent-primary-bright)}.level-btn.error.active{background:#ef444433;border-color:var(--color-error);color:var(--color-error)}.level-btn.warning.active{background:#f59e0b33;border-color:var(--color-warning);color:var(--color-warning)}.logs-search{flex:1;min-width:200px;padding:var(--spacing-xs) var(--spacing-sm);font-size:.8125rem}.logs-container{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-height:600px;overflow-y:auto}.log-entry{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-subtle);font-size:.8125rem;font-family:JetBrains Mono,monospace}.log-entry:last-child{border-bottom:none}.log-entry:hover{background:var(--bg-tertiary)}.log-time{color:var(--text-muted);flex-shrink:0}.log-level{font-weight:600;width:60px;flex-shrink:0}.log-level.ERROR{color:var(--color-error)}.log-level.WARNING{color:var(--color-warning)}.log-level.INFO{color:var(--color-info)}.log-level.DEBUG{color:var(--text-muted)}.log-logger{color:var(--accent-primary);flex-shrink:0;max-width:200px;overflow:hidden;text-overflow:ellipsis}.log-message{flex:1;color:var(--text-primary);word-break:break-word}.auto-refresh-toggle{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.8125rem;color:var(--text-secondary);cursor:pointer}.traces-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.trace-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast)}.trace-card:hover{border-color:var(--border-medium)}.trace-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.trace-provider{padding:2px 8px;background:var(--accent-primary-alpha);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;color:var(--accent-primary-bright)}.trace-time{font-size:.75rem;color:var(--text-muted)}.trace-duration{margin-left:auto;font-size:.75rem;color:var(--text-secondary)}.trace-preview{font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.storage-overview{margin-bottom:var(--spacing-xl)}.disk-usage{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.disk-usage h3{font-size:.875rem;margin-bottom:var(--spacing-md)}.usage-bar{height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-sm)}.usage-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-primary-bright));border-radius:var(--radius-full);transition:width var(--transition-normal)}.usage-labels{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--text-muted)}.databases-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.db-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem}.db-name{font-family:JetBrains Mono,monospace}.db-size{color:var(--text-muted)}.counts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.count-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center}.count-value{display:block;font-size:2rem;font-weight:600;color:var(--accent-primary-bright)}.count-label{font-size:.8125rem;color:var(--text-muted)}.update-status{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.current-version{margin-bottom:var(--spacing-lg)}.current-version h3{font-size:.875rem;margin-bottom:var(--spacing-md)}.version-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.update-available{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);background:#f59e0b1a;border:1px solid var(--color-warning);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);text-align:center}.update-icon,.update-available h3{color:var(--color-warning)}.update-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.deploy-progress{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center}.progress-spinner .spinner{width:32px;height:32px;border-width:3px}.org-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.org-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast)}.org-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.org-card-header{display:flex;align-items:center;gap:var(--spacing-md)}.org-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--accent-primary-alpha);border-radius:var(--radius-md);color:var(--accent-primary-bright)}.org-card-info{flex:1}.org-card-info h3{font-size:1rem;font-weight:600;margin-bottom:2px}.org-slug{font-size:.75rem;color:var(--text-muted)}.org-card-stats{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-subtle);font-size:.8125rem;color:var(--text-secondary)}.badge{display:inline-flex;padding:var(--spacing-xs) var(--spacing-sm);font-size:.6875rem;font-weight:600;text-transform:uppercase;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary)}.badge-free{background:#6b728033;color:var(--text-muted)}.badge-pro{background:#0891b233;color:var(--accent-primary-bright)}.badge-enterprise{background:#f59e0b33;color:var(--accent-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);text-align:center;color:var(--text-muted)}.empty-state svg{margin-bottom:var(--spacing-md);opacity:.5}.empty-state h3{margin-bottom:var(--spacing-xs);color:var(--text-secondary)}.empty-state-small{padding:var(--spacing-lg);text-align:center;color:var(--text-muted)}.org-detail-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.org-detail-header h2{flex:1;font-size:1.25rem}.org-stats-row{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.org-stat{display:flex;flex-direction:column;padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.org-stat-value{font-size:1.5rem;font-weight:600}.org-stat-label{font-size:.75rem;color:var(--text-muted)}.org-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--spacing-lg)}.org-tab{padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;border-bottom:2px solid transparent;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.org-tab:hover{color:var(--text-primary)}.org-tab.active{color:var(--accent-primary-bright);border-bottom-color:var(--accent-primary)}.org-tab-content{display:none}.org-tab-content.active{display:block}.tab-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.tab-header h3{font-size:1rem;font-weight:500}.members-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.members-table th,.members-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left}.members-table th{background:var(--bg-tertiary);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.members-table td{font-size:.875rem;border-top:1px solid var(--border-subtle)}.members-table tr:hover td{background:var(--bg-tertiary)}.role-select{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-primary)}.role-select:disabled{opacity:.5}.btn-danger:hover{color:var(--color-error)}.policies-form{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-md)}.policy-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--border-subtle)}.policy-row:last-child{border-bottom:none}.policy-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.policy-name{font-size:.875rem;font-weight:500}.policy-desc{font-size:.75rem;color:var(--text-muted)}.toggle{position:relative;display:inline-block;width:44px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--bg-tertiary);border-radius:var(--radius-full);transition:var(--transition-fast)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:var(--text-primary);border-radius:50%;transition:var(--transition-fast)}.toggle input:checked+.toggle-slider{background:var(--accent-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.select-input{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);min-width:150px}.select-input[multiple]{height:100px}.number-input{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);width:100px}.modal-sm{max-width:400px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.modal-header h2{font-size:1.25rem}.modal-header .btn-icon{font-size:1.5rem;width:32px;height:32px}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}@media(max-width:768px){.sidebar{width:60px}.nav-item span,.sidebar-footer{display:none}.stats-grid{grid-template-columns:1fr}}
