:root{color-scheme:light;font-family:Segoe UI Variable Text,Trebuchet MS,sans-serif;line-height:1.5;color:#111827;background:linear-gradient(180deg,#f7f8f6,#eef4f1)}*{box-sizing:border-box}body{margin:0;min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-48px;z-index:10;padding:10px 14px;border-radius:12px;background:#23424b;color:#fff8ee;text-decoration:none}.skip-link:focus{top:16px}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(35,66,75,.35);outline-offset:2px}#root{min-height:100vh}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.mobile-menu-button,.sidebar-overlay{display:none}.sidebar{position:sticky;top:0;height:100vh;max-height:100vh;padding:24px;border-right:1px solid #dde5e0;background:#fbfdfc;display:flex;flex-direction:column;overflow-y:auto;box-sizing:border-box}.sidebar-footer{margin-top:auto;padding-top:24px}.brand-block h1{font-size:3rem;line-height:1;margin:.35rem 0 .6rem}.brand-block p{margin:0;color:#5f6b66}.brand-kicker,.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:#5e746b}.nav-list{margin-top:32px;display:grid;gap:10px}.nav-link{text-decoration:none;padding:12px 14px;border-radius:8px;color:#253a35;border:1px solid transparent;background:transparent}.nav-link.active{background:#173f36;color:#f7fbf8;box-shadow:0 10px 24px #173f3624}.main-panel{padding:24px;display:flex;justify-content:center;min-width:0}.content-frame{width:min(980px,100%);min-width:0}.page{display:grid;gap:20px;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.page-header h2,.panel-header h3{margin:.25rem 0 0}.page-header p,.panel p{margin:0;color:#66736e}.panel,.metric-card,.mapping-card,.empty-card{min-width:0;background:#ffffffe0;border:1px solid #dfe7e2;border-radius:8px;padding:20px;box-shadow:0 14px 34px #31403a0f}.backup-overview{display:grid;gap:18px;padding:22px;border:1px solid #d9e5df;border-left:5px solid #5f756d;border-radius:9px;background:linear-gradient(135deg,#fffffff5,#f1f7f4f0);box-shadow:0 16px 36px #273b3312}.backup-overview.good{border-left-color:#33946c}.backup-overview.warn{border-left-color:#d69233}.backup-overview.bad{border-left-color:#b34747}.backup-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.backup-overview-heading h3,.backup-project-panel h3,.backup-confirm-dialog h3{margin:10px 0 5px}.backup-overview-heading p,.backup-project-panel p,.backup-confirm-dialog p{margin:0;color:#61706b}.backup-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.backup-health-grid>div{display:grid;gap:5px;min-width:0;padding:12px 14px;border:1px solid #e0e9e4;border-radius:7px;background:#ffffffb8}.backup-health-grid span{color:#74807c;font-size:.78rem}.backup-health-grid strong{overflow-wrap:anywhere;color:#203c34;font-size:.94rem}.backup-project-panel{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(340px,1.2fr);align-items:end;gap:24px}.backup-project-panel .inline-form{grid-template-columns:minmax(0,1fr) auto}.backup-policy-details summary{cursor:pointer;color:#29453d;font-weight:700}.backup-policy-details[open] summary{margin-bottom:18px}.recovery-test-result{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;border:1px solid #cfe4d9;border-radius:8px;background:#f3faf6;color:#38564b}.backup-file-name{display:block;max-width:340px;margin-top:4px;overflow:hidden;color:#78847f;font-family:Cascadia Code,Consolas,monospace;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.backup-more-menu{position:relative}.backup-more-menu summary{cursor:pointer;padding:8px 10px;border-radius:7px;background:#f1f5f3;color:#29453d;font-size:.82rem;font-weight:700;list-style:none}.backup-more-menu summary::-webkit-details-marker{display:none}.backup-more-menu>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.backup-more-menu button{padding:7px 9px;border:0;border-radius:6px;background:#edf3f0;color:#29453d;font-size:.78rem;font-weight:650}.backup-more-menu button.danger{background:#fdeaea;color:#8b3030}.backup-upload-note{margin:14px 0 0;font-size:.84rem}.backup-confirm-dialog{display:grid;gap:18px;width:min(620px,100%);max-height:calc(100vh - 40px);padding:22px;overflow-y:auto;border:1px solid #d7e1dc;border-radius:9px;background:#fbfcfb;box-shadow:0 24px 70px #18282238}.backup-confirm-dialog.danger{border-color:#edcccc}.backup-confirm-dialog label{display:grid;gap:8px;color:#40544d}.recovery-safety-list{display:grid;gap:8px;margin:0;padding:14px 14px 14px 34px;border-radius:8px;background:#f2f7f4;color:#405a51}.metric-grid,.two-column-grid,.logs-grid,.mapping-grid{display:grid;gap:18px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.two-column-grid,.logs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mapping-grid{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.mapping-card{min-width:0;display:grid;gap:10px}.mapping-card p{overflow-wrap:anywhere;word-break:break-word}.connection-url{margin:0;padding:10px 12px;border-radius:6px;background:#f6f8f7;border:1px solid #dce5e0;font-family:Cascadia Code,Consolas,monospace;font-size:.84rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.metric-card span,.metric-card small{color:#617177}.metric-card strong{display:block;font-size:1.9rem;margin:8px 0}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:.82rem;width:fit-content}.status-badge.good{background:#33946c24;color:#23714f}.status-badge.warn{background:#d6923329;color:#9f6719}.status-badge.bad{background:#b3474724;color:#8d2f2f}.status-badge.muted{background:#58676f24;color:#45555b}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-list dt{color:#7a868b;font-size:.86rem}.detail-list dd{margin:4px 0 0;font-weight:600;word-break:break-word}.runtime-card{display:grid;gap:12px;padding:14px;margin-bottom:16px;border-radius:8px;background:#f6f8f7;border:1px solid #dce5e0}.runtime-card>div{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.runtime-card p{margin:0;color:#56676f}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.button-row.compact{margin-top:0}.primary-button,.secondary-button,.ghost-button{border:none;border-radius:7px;padding:10px 14px;font-weight:650}.primary-button{background:#173f36;color:#f7fbf8}.secondary-button{background:#e4ece8;color:#173f36}.ghost-button{background:#f5f1e8;color:#5a4630}.ghost-button.danger{background:#fdeaea;color:#8b3030}.inline-form,.settings-form{display:grid;gap:14px}.inline-form{grid-template-columns:minmax(0,1fr) auto}.inline-form.split{grid-template-columns:minmax(0,1fr) minmax(180px,220px) auto}input,select,textarea{width:100%;padding:12px 14px;border-radius:7px;border:1px solid #d6ded9;background:#fffffff0}textarea{resize:vertical;min-height:120px}.settings-form label{display:grid;gap:8px;color:#30464e}.settings-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.settings-section-grid input,.settings-section-grid select{width:100%;height:44px;min-height:44px;box-sizing:border-box}.path-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.settings-field-warning{color:#9a5c00;font-size:.84rem}.settings-section-heading{display:grid;gap:4px;margin-top:6px}.settings-section-heading h4{margin:0;color:#23443a}.settings-section-heading p,.settings-field-help{margin:0;color:#65736e;font-size:.84rem}.settings-source-tag{display:block;margin-top:2px;color:#7a868b;font-weight:400;font-size:.78rem}.settings-section-grid input:disabled,.settings-section-grid select:disabled{background:#f1f3f4;color:#6b7671;cursor:not-allowed}.folder-browser-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#10201c57}.checkbox-row{display:flex!important;align-items:center;gap:10px}.checkbox-row input{width:auto}.table-wrap{overflow-x:auto}.table-action-row{display:flex;flex-wrap:wrap;gap:8px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid rgba(16,33,38,.08);vertical-align:top}th{color:#6d7b81;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.usage-cell{display:inline-grid;gap:2px;min-width:118px}.usage-cell span{color:#71817c;font-size:.78rem}.usage-cell strong{color:#173f36;font-size:.92rem;white-space:nowrap}.usage-cell small{color:#71817c;font-size:.74rem;line-height:1.2;white-space:nowrap}.activity-list,.log-list{display:grid;gap:12px}.activity-item,.log-entry{padding:12px 14px;border-radius:8px;background:#f6f8f7}.activity-item strong,.log-entry strong{display:block}.activity-item span,.log-entry span{color:#65747a;font-size:.88rem}.content-frame:has(.logs-page){width:min(1220px,100%)}.logs-page{gap:10px}.logs-console{overflow:hidden;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000000d}.logs-console-top{display:grid;grid-template-columns:1fr;gap:8px;align-items:stretch;padding:10px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.logs-console-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;align-items:center}.logs-console-title,.logs-stat-line{display:flex;flex-wrap:wrap;align-items:center}.logs-console-title{gap:8px;font-size:.82rem}.logs-console-title strong{color:#0f172a;font-size:.92rem}.logs-console-title span:not(.logs-console-chevron):not(strong),.logs-stat-line{color:#64748b}.logs-stat-line{gap:10px;font-size:.74rem}.logs-console-chevron{color:#94a3b8;font-size:.72rem}.logs-console-controls{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(130px,.32fr) minmax(120px,.28fr) auto;gap:8px;align-items:end}.logs-select,.logs-search{display:grid;gap:3px}.logs-select span,.logs-search span{color:#64748b;font-family:Cascadia Code,Consolas,monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.logs-select select,.logs-search input{width:100%;height:32px;padding:0 10px;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:.78rem}.logs-search input::placeholder{color:#94a3b8}.logs-select select:focus,.logs-search input:focus,.logs-action-button:focus{outline:2px solid #0284c7;outline-offset:1px}.logs-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:4px}.logs-action-button{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;min-height:32px;padding:0 10px;font-size:.74rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .15s ease}.logs-action-button:hover{border-color:#94a3b8;background:#e2e8f0;color:#0f172a}.logs-table-wrap{max-height:min(68vh,680px);overflow:auto;background:#fff;scrollbar-color:#cbd5e1 #f8fafc}.logs-table{min-width:940px;color:#1e293b;font-family:Cascadia Code,Consolas,monospace;font-size:.74rem;line-height:1.35}.logs-table th,.logs-table td{height:28px;padding:5px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.logs-table th{position:sticky;top:0;z-index:1;color:#475569;background:#f8fafc;font-size:.65rem;font-weight:700;letter-spacing:.12em;border-bottom:1px solid #e2e8f0}.logs-table th:nth-child(1),.logs-time-cell{min-width:112px;width:112px}.logs-table th:nth-child(2){min-width:74px;width:74px}.logs-table th:nth-child(3),.logs-source-cell{min-width:96px;width:96px}.logs-table th:nth-child(4),.logs-message-cell{min-width:620px}.logs-table tbody tr:hover{background:#f8fafc}.logs-time-cell,.logs-source-cell{color:#64748b!important;white-space:nowrap}.logs-message-cell{color:#0f172a!important;white-space:nowrap}.log-level-label{font-weight:700;letter-spacing:.04em;white-space:nowrap}.log-level-label.info{color:#0284c7}.log-level-label.error{color:#dc2626}.log-level-label.warn{color:#d97706}.log-level-label.muted{color:#64748b}.logs-context-inline{margin-left:12px;color:#64748b}.mapping-head{display:flex;justify-content:space-between;gap:16px}.mapping-edit-grid{display:grid;gap:10px;margin:14px 0}.error-banner,.success-banner,.warning-banner{padding:14px 16px;border-radius:8px}.error-banner{background:#fdeaea;color:#882d2d}.success-banner{background:#e7f4e8;color:#265c34}.warning-banner{background:#fff3dc;color:#845418}.code-block{margin:0;padding:16px;border-radius:6px;overflow:auto;background:#f6f8f7;border:1px solid #dce5e0;color:#18323a;font-family:Cascadia Code,Consolas,monospace;font-size:.9rem;line-height:1.6}.integration-code{margin-top:12px}.integration-select{display:grid;gap:8px;margin-top:12px}.content-frame:has(.project-detail-page){width:min(1480px,100%)}.project-detail-page{gap:16px}.project-page-header{align-items:center}.project-header-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.connection-disclosure,.database-explorer-shell{overflow:hidden;background:#ffffffeb;border:1px solid #dfe7e2;border-radius:8px;box-shadow:0 16px 38px #31403a12}.connection-disclosure-trigger{display:flex;justify-content:space-between;gap:16px;align-items:center;width:100%;min-height:66px;padding:14px 16px;border:0;background:#fbfcfb;color:#17231f;text-align:left}.connection-disclosure-trigger>span:first-child{display:grid;gap:2px;min-width:0}.connection-disclosure-trigger strong{font-size:1rem}.connection-disclosure-trigger small{overflow:hidden;color:#65716d;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.connection-disclosure-meta{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.connection-chevron{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#e8efeb;color:#29443d;font-size:.78rem;font-weight:700}.connection-disclosure.open .connection-disclosure-trigger{border-bottom:1px solid #e5ece8}.connection-panel{display:grid;grid-template-columns:minmax(280px,.44fr) minmax(0,1fr)}.connection-panel[hidden]{display:none}.connection-panel-main{padding:18px;border-right:1px solid #e5ece8}.connection-action-stack{display:grid;gap:0;margin-top:18px}.connection-action-section{display:grid;gap:12px;padding:16px 0;border-top:1px solid #e5ece8}.connection-action-section:last-child{padding-bottom:0}.connection-action-heading{display:grid;gap:4px}.connection-action-heading strong{color:#17231f;font-size:.96rem}.connection-action-heading span{color:#64736e;font-size:.84rem;line-height:1.45}.backup-actions{border-top-color:#d9e6df}.danger-actions{border-top-color:#f0d5d5}.clean-confirm-panel,.restore-confirm-panel{display:grid;gap:12px;margin-top:16px;padding:14px;border:1px solid #f1b8b8;border-radius:8px;background:#fff6f6}.clean-confirm-panel strong,.restore-confirm-panel strong{color:#7d2525}.clean-confirm-panel p,.restore-confirm-panel p{margin:6px 0 0;color:#6e4646;line-height:1.5}.clean-confirm-panel label,.restore-confirm-panel label{display:grid;gap:8px;color:#5d3333;font-weight:650}.restore-confirm-panel small{color:#725656;font-weight:500}.compact-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.connection-url-panel{display:grid;gap:0;min-width:0}.connection-url-row,.connection-env-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;padding:14px 16px;border-bottom:1px solid #edf1ee}.connection-url-row strong{display:block;margin-bottom:6px;color:#33413d;font-size:.72rem;letter-spacing:.1em}.connection-env-row{align-items:start;border-bottom:none}.connection-env-row .code-block{max-height:138px}.database-explorer-header{display:flex;gap:18px;justify-content:space-between;align-items:end;padding:16px 18px;border-bottom:1px solid #dfe7e2;background:#fbfcfb}.database-explorer-header h3,.explorer-content-header h3{margin:.2rem 0 0}.explorer-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:8px}.explorer-summary-grid div{min-width:0;padding:8px 10px;border:1px solid #e4ebe7;border-radius:7px;background:#fff}.explorer-summary-grid span,.explorer-muted-text{color:#6b7772;font-size:.78rem}.explorer-summary-grid strong{display:block;margin-top:2px;font-size:.98rem;line-height:1.15}.explorer-layout{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:640px}.explorer-table-list{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;border-right:1px solid #dfe7e2;background:#f8faf8}.explorer-list-title{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid #e5ece8;color:#65716d}.explorer-list-title span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.explorer-list-title strong{color:#253a35}.explorer-list-scroll{display:grid;align-content:start;gap:6px;max-height:min(74vh,760px);overflow:auto;padding:8px}.explorer-table-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:52px;padding:9px 10px;border-radius:7px;border:1px solid transparent;background:transparent;color:#253a35;text-align:left}.explorer-table-item:hover{background:#eef5f1}.explorer-table-item span{display:grid;min-width:0}.explorer-table-item strong{overflow:hidden;font-size:.92rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.explorer-table-item small{color:#75817c;font-size:.76rem}.explorer-table-item em{min-width:28px;padding:2px 7px;border-radius:999px;background:#e5ece8;color:#44534e;font-style:normal;font-size:.74rem;text-align:center}.explorer-table-item.active{background:#173f36;border-color:#173f36;color:#f8fbf9;box-shadow:0 10px 22px #173f362e}.explorer-table-item.active small{color:#f8fbf9b8}.explorer-table-item.active em{background:#ffffff29;color:#fff}.explorer-content{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;overflow:hidden}.explorer-content-header{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e5ece8;background:#fff}.explorer-content-header p{margin:3px 0 0;color:#66736e}.segmented-control{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #d7e1dc;border-radius:8px;background:#f3f7f5}.segmented-control button{min-width:76px;min-height:32px;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:#4a5b55;font-weight:650}.segmented-control button.active{color:#10221e;background:#fff;box-shadow:0 1px 5px #1f2d271f}.explorer-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #edf1ee;background:#fbfcfb}.explorer-search{min-width:min(100%,340px)}.explorer-search input{height:36px;padding:7px 11px}.explorer-grid-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.explorer-selection-count{color:#52635d;font-size:.78rem;font-weight:650}.compact-button{min-height:32px;padding:7px 10px;font-size:.78rem}.explorer-table-wrap{min-height:420px;max-height:min(68vh,690px);overflow:auto;background:#fff}.explorer-data-table,.schema-table{min-width:960px;font-size:.78rem}.explorer-data-table{width:max-content;min-width:100%;table-layout:fixed}.schema-table{min-width:780px}.explorer-data-table th,.schema-table th{position:sticky;top:0;z-index:1;background:#fbfcfb;border-bottom-color:#dbe5df}.explorer-data-table th{height:42px;padding:0}.explorer-data-table td{height:38px;padding:0 10px;vertical-align:middle}.explorer-data-table .explorer-select-cell{position:sticky;left:0;z-index:2;width:44px;min-width:44px;padding:0;text-align:center;background:#fbfcfb;box-shadow:1px 0 #e4ebe7}.explorer-data-table tbody .explorer-select-cell{background:#fff}.explorer-row-select-col{width:44px}.explorer-data-table input[type=checkbox]{width:15px;height:15px;padding:0;accent-color:#173f36}.column-header-control{position:relative;display:flex;align-items:center;height:42px;min-width:0;padding:0 12px}.column-header-control label{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.column-header-control span:not(.column-resize-handle){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-resize-handle{position:absolute;top:0;right:-3px;bottom:0;width:7px;cursor:col-resize}.column-resize-handle:after{position:absolute;top:10px;right:3px;bottom:10px;width:1px;background:#cbd7d1;content:""}.column-resize-handle:hover:after{width:2px;background:#173f36}.schema-table td{max-width:320px}.explorer-data-table code,.schema-table code{font-family:Cascadia Code,Consolas,monospace;font-size:.74rem;color:#253a35;white-space:pre-wrap;overflow-wrap:anywhere}.explorer-data-table code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-data-table.wrap-cells td{height:auto;min-height:38px;padding-top:8px;padding-bottom:8px;vertical-align:top}.explorer-data-table.wrap-cells code{white-space:pre-wrap;word-break:break-word}.explorer-data-table tbody tr:hover,.schema-table tbody tr:hover{background:#f8faf8}.explorer-data-table tbody tr.selected-row,.explorer-data-table tbody tr.selected-row .explorer-select-cell{background:#edf7f2}.explorer-data-table .selected-column{background:#f1f7f4}.explorer-data-table td.selected-cell{outline:2px solid #1b6b55;outline-offset:-2px;background:#e8f4ef}.null-value{color:#8a9691!important;font-style:italic}.explorer-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid #edf1ee;background:#fbfcfb;color:#66736e}.schema-table-wrap{border-top:1px solid #edf1ee}.schema-badge-row{display:flex;flex-wrap:wrap;gap:6px}.schema-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;background:#e7efeb;color:#3d504a;font-size:.72rem;font-weight:700}.schema-badge.primary{background:#d9f0e4;color:#19613f}.schema-badge.muted{background:#f2f4f3;color:#7b8581}.explorer-cell{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit;color:inherit}.explorer-detail-grid{align-items:start}.explorer-editor-form{gap:16px}.explorer-editor-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-field-hint{color:#6c7a80;font-size:.82rem}.supabase-style-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar-left-actions{display:flex;align-items:center;gap:10px;flex:1}.insert-row-btn{background:#10b981!important;border-color:#10b981!important;color:#fff!important;font-weight:600;display:inline-flex;align-items:center;gap:5px}.insert-row-btn:hover{background:#059669!important;border-color:#059669!important}.insert-row-btn .btn-icon{font-weight:800;font-size:.9rem}.delete-rows-btn{color:#dc2626!important;border-color:#fca5a5!important;background:#fef2f2!important;font-weight:600}.delete-rows-btn:hover{background:#fee2e2!important}.supabase-header-control{display:flex;align-items:center;gap:6px}.column-header-meta{display:flex;align-items:center;gap:6px;min-width:0}.column-name-text{font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.pk-icon{font-size:.75rem}.supabase-type-tag{display:inline-block;font-family:Cascadia Code,Consolas,monospace;font-size:.65rem;font-weight:600;padding:1px 5px;border-radius:4px;text-transform:lowercase;white-space:nowrap}.supabase-badge-int{background:#e0e7ff;color:#3730a3}.supabase-badge-num{background:#d1fae5;color:#065f46}.supabase-badge-bool{background:#fef3c7;color:#92400e}.supabase-badge-json{background:#fce7f3;color:#9d174d}.supabase-badge-time{background:#ecfdf5;color:#047857}.supabase-badge-uuid{background:#ede9fe;color:#5b21b6}.supabase-badge-bytea{background:#ffe4e6;color:#9f1239}.supabase-badge-text{background:#f3f4f6;color:#4b5563}.cell-content-wrapper{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;position:relative}.cell-code-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-quick-edit-btn{opacity:0;border:0;background:transparent;color:#9ca3af;cursor:pointer;padding:2px 4px;border-radius:3px;font-size:.76rem;transition:opacity .15s,color .15s,background .15s}.cell-quick-edit-btn:hover{color:#111827;background:#e5e7eb}.explorer-data-table td:hover .cell-quick-edit-btn{opacity:1}.supabase-null-badge{display:inline-block;font-family:Cascadia Code,Consolas,monospace;font-style:italic;font-size:.7rem;color:#9ca3af;background:#f3f4f6;padding:1px 5px;border-radius:3px}.supabase-bool-badge{display:inline-block;font-family:Cascadia Code,Consolas,monospace;font-size:.72rem;font-weight:700;padding:1px 6px;border-radius:4px}.supabase-bool-badge.true{background:#dcfce7;color:#166534}.supabase-bool-badge.false{background:#fee2e2;color:#991b1b}.editing-cell-td{position:relative;padding:0!important;background:#fff!important;outline:2px solid #10b981!important;outline-offset:-2px!important;z-index:5}.supabase-cell-editor-overlay{display:flex;align-items:center;width:100%;min-height:38px;padding:2px 4px;gap:4px;box-sizing:border-box;background:#fff}.supabase-inline-input-group{flex:1;min-width:0}.supabase-inline-input{width:100%;height:28px;padding:2px 6px;border:1px solid #d1d5db;border-radius:4px;font-family:Cascadia Code,Consolas,monospace;font-size:.78rem;box-sizing:border-box;outline:none}.supabase-inline-input:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b98133}.supabase-inline-input.is-null{color:#9ca3af;font-style:italic;background:#f9fafb}.supabase-cell-editor-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.supabase-cell-btn{height:26px;min-width:22px;padding:0 5px;border:1px solid #d1d5db;border-radius:4px;background:#f9fafb;font-size:.72rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.supabase-cell-btn:hover{background:#e5e7eb}.supabase-cell-btn.save{background:#10b981;color:#fff;border-color:#10b981}.supabase-cell-btn.save:hover{background:#059669}.supabase-cell-btn.null-btn.active{background:#fef3c7;color:#b45309;border-color:#fde68a}.supabase-cell-btn.cancel{color:#6b7280}.supabase-cell-error{position:absolute;top:100%;left:0;z-index:20;background:#ef4444;color:#fff;padding:3px 8px;border-radius:4px;font-size:.72rem;white-space:nowrap;box-shadow:0 4px 6px #0000001a}.modal-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.supabase-modal-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000000a;max-width:560px;width:100%;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:modalFadeIn .15s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.expanded-editor-card{max-width:680px}.insert-row-card{max-width:620px}.supabase-modal-header{padding:16px 20px;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;justify-content:space-between}.supabase-modal-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#111827}.supabase-modal-header p{margin:3px 0 0;font-size:.8rem;color:#6b7280}.supabase-modal-body{padding:20px;overflow-y:auto;flex:1}.supabase-modal-footer{padding:12px 20px;border-top:1px solid #f3f4f6;display:flex;justify-content:flex-end;gap:10px;background:#f9fafb}.supabase-modal-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-family:Cascadia Code,Consolas,monospace;font-size:.82rem;line-height:1.45;resize:vertical;outline:none}.supabase-modal-textarea:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b98133}.editor-null-toggle{margin-bottom:12px}.editor-helper-row{margin-top:10px;display:flex;justify-content:flex-end}.insert-row-fields{display:flex;flex-direction:column;gap:14px}.insert-row-field-group{display:flex;flex-direction:column;gap:6px}.field-label-row{display:flex;align-items:center;justify-content:space-between}.field-name{font-size:.84rem;color:#1f2937;display:flex;align-items:center;gap:4px}.field-tags{display:flex;align-items:center;gap:6px}.tag-pill{font-size:.68rem;font-weight:600;padding:1px 5px;border-radius:4px;background:#f3f4f6;color:#6b7280}.tag-pill.req{background:#fee2e2;color:#b91c1c}.tag-pill.default{background:#e0e7ff;color:#3730a3}.field-input-row{display:flex;align-items:center;gap:8px}.field-input-row input,.field-input-row select,.field-input-row textarea{flex:1;width:100%;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.82rem;box-sizing:border-box}.field-input-row input:focus,.field-input-row select:focus,.field-input-row textarea:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 2px #10b98133}.null-toggle-button{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.72rem;font-weight:700;color:#6b7280;cursor:pointer;transition:all .15s}.null-toggle-button.active{background:#fef3c7;color:#92400e;border-color:#fde68a}.disabled-field-input{background:#f9fafb!important;color:#9ca3af!important;font-style:italic;border:1px solid #e5e7eb!important;border-radius:6px;padding:6px 10px;font-size:.82rem;box-sizing:border-box}.inline-link{color:inherit;font-weight:700}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1080px){.app-shell{grid-template-columns:1fr}.mobile-menu-button{position:fixed;top:16px;left:16px;z-index:60;display:inline-grid;place-items:center;gap:4px;width:42px;height:42px;padding:0;border:1px solid #d7e1dc;border-radius:8px;background:#fff;box-shadow:0 4px 16px #0000001f}.mobile-menu-button span{display:block;width:18px;height:2px;border-radius:999px;background:#173f36;transition:transform .18s ease,opacity .18s ease}.mobile-menu-button.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu-button.active span:nth-child(2){opacity:0}.mobile-menu-button.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.sidebar-overlay.active{position:fixed;inset:0;z-index:40;display:block;border:0;background:#0d1a1673;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(84vw,300px);height:100vh;max-height:100vh;padding:76px 20px 24px;border-right:1px solid #d5dfd9;border-bottom:none;background:#fff;transform:translate(-104%);transition:transform .22s ease;box-shadow:18px 0 46px #18282240;overflow-y:auto;display:flex;flex-direction:column;box-sizing:border-box}.sidebar.open{transform:translate(0)}.main-panel{padding-top:76px}.metric-grid,.two-column-grid,.logs-grid,.connection-panel,.explorer-layout,.explorer-summary-grid,.explorer-editor-grid,.settings-section-grid,.backup-health-grid,.backup-project-panel{grid-template-columns:1fr}.connection-panel-main,.explorer-table-list{border-right:none}.connection-panel-main,.explorer-list-title{border-bottom:1px solid #e5ece8}.database-explorer-header{align-items:stretch;flex-direction:column}.explorer-list-scroll{max-height:280px}.logs-console-top{grid-template-columns:1fr}.logs-console-controls{grid-template-columns:minmax(190px,.62fr) minmax(120px,.32fr) minmax(110px,.28fr) auto}}@media(max-width:720px){.main-panel,.sidebar{padding:20px}.sidebar{padding-top:72px}.page-header{flex-direction:column}.backup-overview-heading{align-items:stretch;flex-direction:column}.inline-form,.inline-form.split,.backup-project-panel .inline-form,.folder-browser-backdrop{padding:12px}.explorer-toolbar,.explorer-pagination{flex-direction:column;align-items:stretch}.project-header-actions,.database-explorer-header,.explorer-content-header,.connection-url-row,.connection-env-row{align-items:stretch}.connection-url-row,.connection-env-row{grid-template-columns:1fr}.segmented-control,.segmented-control button{width:100%}.detail-list,.logs-console-controls{grid-template-columns:1fr}.logs-actions{justify-content:flex-start}.logs-console-top{padding-left:10px;padding-right:10px}.logs-table th,.logs-table td{padding-left:8px;padding-right:8px}}
