:root{color-scheme:dark;--bg-primary: #0b0f19;--bg-secondary: #111827;--bg-tertiary: #1f2937;--bg-card: rgba(17, 24, 39, .75);--bg-card-hover: rgba(31, 41, 55, .85);--text-primary: #f9fafb;--text-secondary: #9ca3af;--text-muted: #6b7280;--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .16);--accent-primary: #3b82f6;--accent-primary-glow: rgba(59, 130, 246, .25);--accent-secondary: #8b5cf6;--accent-secondary-glow: rgba(139, 92, 246, .25);--color-positive: #10b981;--color-positive-glow: rgba(16, 185, 129, .2);--color-warning: #f59e0b;--color-warning-glow: rgba(245, 158, 11, .2);--color-negative: #f43f5e;--color-negative-glow: rgba(244, 63, 94, .2);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-card: 0 10px 30px -10px rgba(0, 0, 0, .5), 0 0 1px 1px var(--border-color);--transition: all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}code,pre,.font-mono{font-family:var(--font-mono)}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;max-width:1440px;width:100%;margin:0 auto;padding:2rem 1.5rem}.navbar{background-color:#111827f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50;box-shadow:0 4px 24px #0006}.navbar-primary{border-bottom:1px solid rgba(255,255,255,.06)}.navbar-inner{max-width:1440px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.navbar-subrow{background-color:#0b0f19e6;border-bottom:1px solid var(--border-color)}.navbar-subrow-inner{max-width:1440px;margin:0 auto;padding:.45rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.navbar-subrow-left,.navbar-subrow-right{display:flex;align-items:center;gap:.65rem}.brand-section{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--text-primary)}.brand-icon{width:38px;height:38px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 16px var(--accent-primary-glow)}.brand-text h1{font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.brand-text span{font-size:.72rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.08em}#appVersionBadge{font-size:.65rem;font-weight:600;padding:.15rem .45rem;border-radius:var(--radius-sm);background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.3);letter-spacing:.04em;line-height:1.2}button{font-family:inherit;background:transparent;border:none;color:inherit;outline:none}.nav-links{display:flex;align-items:center;gap:.35rem;background-color:#00000059;padding:.3rem .4rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08)}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:var(--radius-md);color:#d1d5db;font-size:.88rem;font-weight:500;text-decoration:none;transition:var(--transition);cursor:pointer;background:transparent;border:1px solid transparent}.nav-link:hover{color:#fff;background-color:#ffffff14;border-color:#ffffff1f}.nav-link.active{color:#fff;font-weight:600;background:linear-gradient(135deg,#3b82f659,#2563eb40);border-color:#3b82f699;box-shadow:0 0 16px #3b82f64d}.header-actions{display:flex;align-items:center;gap:.65rem}.header-divider{width:1px;height:22px;background:#ffffff1a;margin:0 .15rem}.client-context-pill{position:relative;display:inline-flex;align-items:center;gap:.55rem;height:38px;padding:0 .85rem;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);color:#e5e7eb;font-size:.84rem;font-weight:500;transition:all .2s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.client-context-pill:hover{background:#ffffff0f;border-color:#3b82f666}.client-context-pill.active-context{background:#3b82f61f;border-color:#3b82f680;box-shadow:0 0 14px #3b82f626}.client-context-pill .client-icon{color:#60a5fa;flex-shrink:0}.client-context-pill .client-label-prefix{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-right:-.15rem}.client-context-pill .client-name{font-weight:600;color:#f3f4f6;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-context-pill .client-chevron{color:var(--text-muted);flex-shrink:0}.client-context-pill select{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;-webkit-appearance:none}.client-context-pill select option{background-color:#111827;color:#f3f4f6}.user-profile-wrapper{position:relative}.user-profile-pill{display:inline-flex;align-items:center;gap:.55rem;height:38px;padding:0 .75rem 0 .45rem;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);color:#e5e7eb;font-size:.85rem;font-weight:500;transition:all .2s ease;cursor:pointer}.user-profile-pill:hover,.user-profile-pill.active{background:#ffffff0f;border-color:#ffffff2e}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;box-shadow:0 2px 6px #0000004d;position:relative}.user-status-dot{position:absolute;bottom:-1px;right:-1px;width:7px;height:7px;border-radius:50%;background-color:#10b981;border:1.5px solid #111827}.user-name-display{font-weight:500;color:#f3f4f6;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:250px;background:#111827f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);box-shadow:0 16px 36px -4px #000000b3,0 0 0 1px #ffffff0d;padding:.5rem;z-index:1000}.user-dropdown-header{padding:.6rem .75rem .75rem;border-bottom:1px solid rgba(255,255,255,.08)}.user-dropdown-email{font-size:.78rem;font-weight:500;color:var(--text-muted);word-break:break-all;margin-top:2px}.user-dropdown-badge{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;font-size:.7rem;color:#60a5fa;background:#3b82f61f;border:1px solid rgba(59,130,246,.25);padding:2px 8px;border-radius:4px;font-weight:500}.user-dropdown-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .75rem;margin-top:.35rem;border-radius:var(--radius-sm);color:#f87171;font-size:.82rem;font-weight:500;cursor:pointer;background:transparent;transition:all .15s ease}.user-dropdown-item:hover{background:#ef44441f;color:#ef4444}.badge-tag{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;font-size:.72rem;padding:.2rem .55rem;border-radius:9999px;font-weight:500;line-height:1.2;white-space:nowrap;vertical-align:middle;transition:var(--transition)}.badge-blue{background:#3b82f61f;color:#60a5fa;border:1px solid rgba(59,130,246,.28)}.badge-green{background:#10b9811f;color:#34d399;border:1px solid rgba(16,185,129,.28)}.badge-amber{background:#f59e0b1f;color:#fbbf24;border:1px solid rgba(245,158,11,.28)}.badge-red{background:#f43f5e1f;color:#fb7185;border:1px solid rgba(244,63,94,.28)}.badge-purple{background:#8b5cf61f;color:#a78bfa;border:1px solid rgba(139,92,246,.28)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1rem;font-size:.85rem;font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:var(--transition);text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),#2563eb);color:#fff;box-shadow:0 4px 12px var(--accent-primary-glow)}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 18px #3b82f666}.btn-secondary{background-color:#ffffff0d;color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background-color:#ffffff1a;border-color:var(--border-hover)}.btn-danger{background:#f43f5e26;color:#fb7185;border-color:#f43f5e4d}.btn-danger:hover{background:#f43f5e40}.btn-sm{padding:.35rem .65rem;font-size:.78rem}.card{background-color:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card);transition:var(--transition)}.card:hover{border-color:var(--border-hover)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.card-title{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.card-subtitle{font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.grid-cols-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.grid-cols-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1.5rem}.kpi-card{display:flex;flex-direction:column;padding:1.25rem}.kpi-top{display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary);font-size:.82rem;font-weight:500;margin-bottom:.75rem}.kpi-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:#ffffff0d}.kpi-value{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);line-height:1.2}.kpi-footer{margin-top:.5rem;font-size:.75rem;display:flex;align-items:center;gap:.4rem;color:var(--text-muted)}.table-container{width:100%;overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:#11182766}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.data-table th{padding:.75rem 1rem;color:var(--text-secondary);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background-color:#1f293766;border-bottom:1px solid var(--border-color)}.data-table td{padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-primary)}.data-table tr:hover td{background-color:#ffffff05}.tabs-header{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.tab-btn{padding:.65rem 1.1rem;font-size:.88rem;font-weight:500;color:#9ca3af;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:var(--transition)}.tab-btn:hover{color:#f3f4f6}.tab-btn.active{color:#60a5fa;font-weight:600;border-bottom-color:#3b82f6}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem;box-sizing:border-box}.modal-box{background-color:#111827;border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:680px;width:100%;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 25px 50px -12px #000000b3}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:.4rem}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=url],.form-input,.form-control,.form-select,.form-textarea{width:100%;box-sizing:border-box;padding:.65rem .9rem;background-color:#0f172ab3;border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-md);color:#f8fafc;font-size:.88rem;font-family:inherit;transition:all .2s ease;box-shadow:inset 0 1px 2px #00000040}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=number]:focus,input[type=url]:focus,.form-input:focus,.form-control:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#6366f1;background-color:#0f172ae6;box-shadow:0 0 0 3px #6366f140,inset 0 1px 2px #00000026}input::placeholder,.form-input::placeholder,.form-control::placeholder,.form-textarea::placeholder{color:#64748b;opacity:1}input:disabled,.form-input:disabled,.form-control:disabled{opacity:.6;cursor:not-allowed;background-color:#0f172a66}select,.form-select{color-scheme:dark;background-color:#111827;color:#f9fafb}select option,.form-select option,optgroup{background-color:#111827!important;color:#f9fafb!important;padding:.6rem .85rem}select option:checked,.form-select option:checked{background-color:#2563eb!important;color:#fff!important}select option:hover,.form-select option:hover{background-color:#1d4ed8!important;color:#fff!important}select option:disabled,.form-select option:disabled{color:#6b7280!important}.form-textarea{font-family:var(--font-mono);font-size:.8rem;resize:vertical}.insight-item{display:flex;align-items:flex-start;gap:.85rem;padding:1rem;border-radius:var(--radius-md);background-color:#1f293766;border:1px solid var(--border-color);margin-bottom:.75rem;transition:var(--transition)}.insight-item:hover{background-color:#1f2937b3;border-color:var(--border-hover)}.insight-icon-box{padding:.4rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.database-versions-page{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:2.5rem}.db-versions-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#111827cc,#0f172ae6);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;box-shadow:0 4px 20px -2px #0006}.db-versions-title-row{display:flex;align-items:center;gap:1rem}.db-header-icon-box{width:44px;height:44px;border-radius:var(--radius-md);background:#3b82f626;border:1px solid rgba(59,130,246,.3);display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px #3b82f633}.db-version-pill-badge{font-size:.72rem;font-weight:600;color:#93c5fd;background:#3b82f61f;border:1px solid rgba(59,130,246,.3);padding:.15rem .5rem;border-radius:9999px;letter-spacing:.03em}.db-versions-actions-area{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem}.db-metadata-indicators{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.metadata-indicator-pill{display:flex;align-items:center;gap:.4rem;background:#0f172a99;border:1px solid rgba(75,85,99,.4);padding:.35rem .65rem;border-radius:var(--radius-sm);font-size:.75rem}.indicator-label{color:#94a3b8;font-weight:500}.indicator-val{color:#f1f5f9;font-family:var(--font-mono);font-weight:600}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot-green{background:#10b981;box-shadow:0 0 8px #10b981}.dot-red{background:#ef4444;box-shadow:0 0 8px #ef4444}.db-btn-refresh{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:1px solid rgba(59,130,246,.5);border-radius:var(--radius-md);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 10px #2563eb4d}.db-btn-refresh:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 14px #2563eb80;transform:translateY(-1px)}.db-btn-refresh:disabled{opacity:.6;cursor:not-allowed}.db-alert-banner{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;border-radius:var(--radius-md);font-size:.85rem}.alert-banner-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.db-diagnostic-card{background:#111827d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);padding:1.1rem 1.3rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:0 4px 16px -2px #0006;transition:all .2s ease}.db-diagnostic-card.card-error{border:1px solid rgba(239,68,68,.5);background:linear-gradient(135deg,#ef444414,#111827d9)}.db-diagnostic-card.card-warning{border:1px solid rgba(245,158,11,.5);background:linear-gradient(135deg,#f59e0b14,#111827d9)}.db-diagnostic-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.db-diagnostic-title-area{display:flex;align-items:flex-start;gap:.75rem}.db-diagnostic-title{font-size:.95rem;font-weight:700;color:#f8fafc;margin:0}.db-diagnostic-code-pill{font-family:var(--font-mono);font-size:.68rem;font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-sm);background:#ef44442e;border:1px solid rgba(239,68,68,.35);color:#fca5a5;letter-spacing:.03em}.db-diagnostic-card.card-warning .db-diagnostic-code-pill{background:#f59e0b2e;border-color:#f59e0b59;color:#fcd34d}.db-diagnostic-message{font-size:.82rem;color:#cbd5e1;margin:.25rem 0 0;line-height:1.4}.db-diagnostic-btn{flex-shrink:0;padding:.45rem .85rem;font-size:.78rem}.db-diagnostic-guidance{background:#0f172a99;border:1px solid rgba(75,85,99,.3);border-radius:var(--radius-sm);padding:.75rem 1rem}.db-diagnostic-guidance-heading{display:flex;align-items:center;gap:.45rem;font-size:.76rem;font-weight:600;color:#93c5fd;margin-bottom:.5rem}.db-diagnostic-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.db-diagnostic-checklist li{display:flex;align-items:flex-start;gap:.5rem;font-size:.78rem;color:#e2e8f0;line-height:1.4}.db-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.85rem}.db-metric-card{background:#111827b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(75,85,99,.3);border-radius:var(--radius-md);padding:1rem 1.2rem;display:flex;flex-direction:column;transition:all .2s ease}.db-metric-card:hover{transform:translateY(-2px);border-color:#3b82f666}.db-metric-label{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.db-metric-value{font-size:1.75rem;font-weight:700;font-family:var(--font-mono);margin:.35rem 0 .2rem;line-height:1}.db-metric-sub{font-size:.7rem;color:#64748b}.db-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;background:#11182780;border:1px solid rgba(75,85,99,.3);border-radius:var(--radius-md);padding:.65rem .85rem}.db-filter-tabs{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.db-filter-tab{padding:.4rem .75rem;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:#94a3b8;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s ease}.db-filter-tab:hover{color:#f1f5f9;background:#ffffff0d}.db-filter-tab.active{background:#3b82f626;border-color:#3b82f659;color:#60a5fa;font-weight:600}.db-filter-tab.tab-attention.active{background:#f59e0b26;border-color:#f59e0b59;color:#fbbf24}.db-search-box{position:relative;display:flex;align-items:center;min-width:280px}.db-search-icon{position:absolute;left:.75rem;color:#64748b;pointer-events:none}.db-search-input{width:100%;padding:.45rem 2rem .45rem 2.2rem;background:#0f172ab3;border:1px solid rgba(75,85,99,.4);border-radius:var(--radius-sm);color:#f1f5f9;font-size:.8rem;transition:border-color .2s}.db-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.db-search-clear{position:absolute;right:.6rem;background:none;border:none;color:#94a3b8;font-size:1.1rem;cursor:pointer}.db-table-card{background:#111827b3;border:1px solid rgba(75,85,99,.3);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 20px -2px #0000004d}.db-table-wrapper{overflow-x:auto}.db-table{width:100%;border-collapse:collapse;text-align:left;font-size:.82rem}.db-table th{background:#0f172acc;padding:.75rem 1rem;color:#94a3b8;font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;border-bottom:1px solid rgba(75,85,99,.3)}.db-table-row{border-bottom:1px solid rgba(75,85,99,.2);transition:background-color .15s ease}.db-table-row:hover{background-color:#1e293b80}.db-table td{padding:.85rem 1rem;vertical-align:middle}.db-fn-info{display:flex;flex-direction:column;gap:.15rem}.db-fn-name{font-weight:600;color:#f1f5f9;font-family:var(--font-mono);font-size:.84rem}.db-fn-sig{font-family:var(--font-mono);font-size:.73rem;color:#60a5fa;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-fn-desc{font-size:.72rem;color:#94a3b8;margin-top:.15rem;line-height:1.3}.db-version-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:9999px;font-size:.73rem;font-weight:600;letter-spacing:.02em}.badge-uptodate{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-pending{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-drift{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.badge-untracked{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.badge-unavailable{background:#64748b26;color:#94a3b8;border:1px solid rgba(100,116,139,.3)}.version-pill{display:inline-flex;flex-direction:column;padding:.25rem .55rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem}.version-expected{background:#1e293b99;border:1px solid rgba(59,130,246,.3);color:#93c5fd}.version-deployed{background:#10b9811f;border:1px solid rgba(16,185,129,.25);color:#6ee7b7}.version-older{background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);color:#fcd34d}.version-drift{background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:#fca5a5}.version-missing{background:#4b556333;border:1px solid rgba(75,85,99,.3);color:#94a3b8}.ver-file{font-size:.65rem;color:#64748b;margin-top:.1rem}.pending-updates-badge{display:inline-flex;align-items:center;gap:.3rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);padding:.2rem .5rem;border-radius:var(--radius-sm);color:#fbbf24;font-size:.72rem;font-weight:500}.db-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}.btn-action{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:var(--radius-sm);font-size:.74rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.btn-action-diff{background:#3b82f61f;border-color:#3b82f64d;color:#93c5fd}.btn-action-diff:hover{background:#3b82f640;color:#fff}.btn-action-script{background:#64748b26;border-color:#64748b4d;color:#cbd5e1}.btn-action-script:hover{background:#64748b4d;color:#fff}.db-loading-state,.db-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2rem}.db-spinner{width:32px;height:32px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.db-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:fadeIn .2s ease}.db-modal-content{background:#0d131f;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-lg);width:100%;max-width:1050px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px -5px #000000b3;overflow:hidden}.db-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;background:#111827;border-bottom:1px solid rgba(75,85,99,.3)}.modal-title-box{display:flex;flex-direction:column;gap:.35rem}.modal-fn-name{font-size:1.15rem;font-weight:700;color:#fff;font-family:var(--font-mono)}.modal-fn-signature{font-size:.78rem;color:#60a5fa;font-family:var(--font-mono)}.db-modal-close{background:none;border:none;color:#94a3b8;font-size:1.5rem;cursor:pointer;padding:.2rem .5rem;border-radius:var(--radius-sm)}.db-modal-close:hover{color:#fff;background:#ffffff1a}.db-modal-version-strip{display:flex;align-items:center;gap:.85rem;padding:.65rem 1.5rem;background:#090e17;border-bottom:1px solid rgba(75,85,99,.25);font-size:.75rem;flex-wrap:wrap}.strip-item{display:flex;align-items:center;gap:.4rem}.strip-label{color:#64748b}.strip-divider{width:1px;height:14px;background:#4b556366}.db-modal-tabs{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:#0f172a;border-bottom:1px solid rgba(75,85,99,.3)}.db-modal-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:#94a3b8;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease}.db-modal-tab:hover{color:#f1f5f9}.db-modal-tab.active{background:#3b82f626;border-color:#3b82f666;color:#60a5fa;font-weight:600}.modal-tab-badge{font-size:.65rem;font-weight:600;padding:.1rem .35rem;border-radius:9999px;background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.db-modal-body{padding:1.25rem 1.5rem;overflow-y:auto;flex:1;max-height:58vh}.diff-meta-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.78rem}.diff-stats{display:flex;align-items:center;gap:.65rem}.stat-add{color:#34d399;font-family:var(--font-mono);font-weight:600}.stat-del{color:#f87171;font-family:var(--font-mono);font-weight:600}.stat-status{color:#94a3b8}.read-only-notice{display:flex;align-items:center;gap:.4rem;color:#93c5fd;background:#3b82f61a;border:1px solid rgba(59,130,246,.25);padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.72rem}.diff-code-box,.script-code-box{background:#070b12;border:1px solid rgba(75,85,99,.3);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:.76rem;line-height:1.5}.diff-pre,.script-pre{margin:0;padding:.75rem 0}.diff-line-row{display:flex;align-items:center;padding:.05rem .5rem}.diff-line-num{width:38px;text-align:right;color:#475569;font-size:.7rem;-webkit-user-select:none;user-select:none;padding-right:.5rem}.diff-prefix{width:18px;text-align:center;font-weight:700;-webkit-user-select:none;user-select:none}.diff-code-text{flex:1;white-space:pre-wrap;word-break:break-all}.diff-line-add{background:#10b9811f;color:#6ee7b7}.diff-line-add .diff-prefix{color:#10b981}.diff-line-del{background:#ef44441f;color:#fca5a5}.diff-line-del .diff-prefix{color:#ef4444}.diff-line-eq{color:#cbd5e1}.script-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.script-file-info{display:flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.78rem;color:#e2e8f0}.btn-copy-script{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#3b82f626;border:1px solid rgba(59,130,246,.4);color:#60a5fa;border-radius:var(--radius-sm);font-size:.76rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-copy-script:hover{background:#3b82f64d;color:#fff}.script-code-box pre{padding:1rem;color:#93c5fd;white-space:pre-wrap}.history-timeline{display:flex;flex-direction:column;gap:1rem;position:relative;padding-left:1.5rem}.history-timeline:before{content:"";position:absolute;top:8px;bottom:8px;left:7px;width:2px;background:#4b55634d}.history-timeline-item{position:relative;display:flex;align-items:flex-start}.timeline-node{position:absolute;left:-1.5rem;top:6px;display:flex;align-items:center;justify-content:center}.node-icon{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.node-deployed{background:#10b981;color:#fff;box-shadow:0 0 8px #10b98180}.node-latest{background:#3b82f6;color:#fff;box-shadow:0 0 8px #3b82f680}.node-past{background:#475569}.timeline-card{flex:1;background:#111827cc;border:1px solid rgba(75,85,99,.3);border-radius:var(--radius-md);padding:.75rem 1rem}.timeline-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.db-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#111827;border-top:1px solid rgba(75,85,99,.3)}.modal-footer-notice{display:flex;align-items:center;gap:.45rem;font-size:.75rem;color:#94a3b8}.db-btn-close{padding:.45rem 1.1rem;background:#4b55634d;border:1px solid rgba(75,85,99,.5);color:#e2e8f0;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .15s}.db-btn-close:hover{background:#4b556380;color:#fff}
