:root{--frame-bg:#000;--bg-base:#080812;--bg-surface:#0e0e1c;--bg-elevated:#151528;--bg-hover:#1e1e35;--bg-active:#282845;--bg-input:#111120;--border-subtle:#1e1e38;--border-default:#262648;--border-strong:#333358;--text-primary:#e0e0f0;--text-secondary:#99b;--text-tertiary:#668;--text-disabled:#446;--text-inverse:#0d0d1a;--accent-primary:#5b8cff;--accent-hover:#4a7aee;--accent-subtle:#5b8cff26;--success:#22c55e;--success-bg:#22c55e26;--success-vibrant:#00e5a0;--warning:#f59e0b;--warning-bg:#f59e0b26;--danger:#ef4444;--danger-bg:#ef444426;--info:#3b82f6;--info-bg:#3b82f626;--danger-soft:#fca5a5;--success-soft:#86efac;--warning-soft:#fcd34d;--emphasis:#fbbf24;--draft-accent:#c084fc;--accent-magic:#7c3aed;--text-muted:#9ca3af;--border-muted:#374151;--type-integer:#e06050;--type-string:#50c878;--type-date:#5090e0;--type-boolean:#f0a030;--type-decimal:#c080e0;--type-binary:#80a0b0;--type-json:#e0c050;--type-uuid:#a0a0d0;--type-default:#88a;--badge-pk:#f59e0b;--badge-fk:#10b981;--badge-null:#6b7280;--badge-unique:#5b8cff;--badge-ai:#e06050;--badge-default:#a78bfa;--badge-check:#f97316;--badge-gen:#14b8a6;--node-bg:#1a1a30;--node-header-bg:#232340;--node-header-view-bg:#1a3a3a;--node-border:#2a2a48;--node-accent:#38bdf8;--node-row-alt:#1a1a30;--node-row-hover:#252545;--sidebar-icon-bg:var(--frame-bg);--sidebar-icon-active:var(--accent-primary);--sidebar-icon-text:#668;--sidebar-icon-text-hover:#ccd;--canvas-bg:#05050d;--canvas-grid:#1a1a30;--canvas-edge:#4a4a70;--canvas-edge-hover:var(--accent-primary);--scrollbar-track:#151528;--scrollbar-thumb:#2d2d50;--scrollbar-thumb-hover:#3a3a60;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 8px #00000080;--shadow-lg:0 8px 24px #0009;--shadow-glow-accent:0 0 12px #5b8cff66;--radius-sm:4px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:16px;--radius-pill:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:56px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Courier New", monospace;--font-display:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-brand:"IBM Plex Mono", "SF Mono", "Monaco", "Roboto Mono", monospace;--fs-10:.625rem;--fs-11:.6875rem;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-15:.9375rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-28:1.75rem;--fs-48:3rem;--fs-60:3.75rem;--fs-72:4.5rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.1;--lh-snug:1.3;--lh-body:1.5;--lh-loose:1.6;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.02em;--tracking-caps:.1em;--icon-sidebar-width:48px;--dash-sidebar-width:64px;--topbar-height:56px;--content-radius:16px;--frame-gap:6px;--panel-width:400px}.sd-hero-xl{font-size:clamp(var(--fs-48), 7vw, var(--fs-72));font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.sd-h1{font-size:var(--fs-28);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--text-primary);margin:0}.sd-h2{font-size:var(--fs-28);font-weight:var(--fw-bold);line-height:var(--lh-snug);color:var(--text-primary)}.sd-h3{font-size:var(--fs-20);font-weight:var(--fw-semibold);line-height:var(--lh-snug);color:var(--text-primary)}.sd-section-title{font-size:var(--fs-15);font-weight:var(--fw-semibold);color:var(--text-primary)}.sd-eyebrow{font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary)}.sd-stat-number{font-size:var(--fs-48);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--success-vibrant)}.sd-body{font-size:var(--fs-14);line-height:var(--lh-body);color:var(--text-secondary)}.sd-body-editor{font-size:var(--fs-13);line-height:var(--lh-body);color:var(--text-primary)}.sd-meta{font-size:var(--fs-12);color:var(--text-tertiary)}.sd-micro{font-size:var(--fs-10);color:var(--text-tertiary)}.sd-code{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:0}.sd-brand-wordmark{font-family:var(--font-brand);letter-spacing:-.015em;text-transform:lowercase;font-weight:400}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--frame-bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--content-radius);text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem;display:flex}.stat-card-icon{color:var(--accent-primary);margin-bottom:.375rem;font-size:1.125rem}.stat-card-value{color:var(--text-primary);font-size:2.25rem;font-weight:700;line-height:1}.stat-card-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.card-grid-item{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--content-radius);padding:1.25rem;transition:all .15s}.card-grid-item[role=button]{cursor:pointer}.card-grid-item[role=button]:hover{border-color:var(--border-default);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.data-table-wrapper{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--content-radius);padding:.25rem 0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border-default);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:.625rem .75rem;font-size:.6875rem;font-weight:600}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--text-secondary)}.sort-indicator{font-size:.5rem}.data-table td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:.625rem .75rem;font-size:.8125rem}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table-empty{text-align:center;color:var(--text-tertiary);padding:3rem 1rem;font-size:.875rem}.data-table-empty-row{text-align:center;color:var(--text-tertiary);padding:2rem 1rem;font-size:.8125rem}.data-table-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.data-table-footer-info{color:var(--text-tertiary);font-size:.75rem}.data-table-footer-controls{align-items:center;gap:.5rem;display:flex}.data-table-page-btn{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .625rem;font-size:.75rem;transition:all .15s}.data-table-page-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.data-table-page-btn:disabled{opacity:.4;cursor:default}.data-table-page-indicator{color:var(--text-tertiary);text-align:center;min-width:3rem;font-size:.75rem}.confirm-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{border:1px solid var(--border-subtle);background:#0a0a16;border-radius:16px;width:420px;max-width:90vw;padding:2rem 2.25rem 1.75rem;box-shadow:0 12px 40px #00000073}.confirm-modal-title{color:var(--text-primary);margin:0 0 .625rem;font-size:1.125rem;font-weight:700}.confirm-modal-message{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.8125rem;line-height:1.5}.confirm-modal-input-group{margin-bottom:1.25rem}.confirm-modal-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.confirm-modal-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.confirm-modal-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #5b8cff26}.confirm-modal-actions{justify-content:flex-end;gap:.625rem;display:flex}.confirm-modal-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.5625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .15s}.confirm-modal-btn.cancel{border-color:var(--border-subtle);color:var(--text-secondary);background:0 0}.confirm-modal-btn.cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.confirm-modal-btn.primary{background:var(--accent-primary);color:#fff}.confirm-modal-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.confirm-modal-btn.danger{background:var(--danger);color:#fff}.confirm-modal-btn.danger:hover:not(:disabled){opacity:.9}.confirm-modal-btn:disabled{opacity:.4;cursor:default}.ms-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ms-dialog{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;max-width:90vw;max-height:90vh;display:flex;overflow:hidden}.ms-dialog--sm{width:360px}.ms-dialog--md{width:480px}.ms-dialog--lg{width:640px}.ms-dialog--xl{width:800px}.ms-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.ms-title{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:700}.ms-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1;transition:background .15s,color .15s}.ms-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.ms-close:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ms-body{flex:auto;min-height:0;padding:1.25rem 1.5rem;overflow-y:auto}.ms-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}.combobox{width:100%;position:relative}.combobox-trigger{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;box-sizing:border-box;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s;display:flex}.combobox-leading{color:var(--text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.combobox-trigger:hover{border-color:var(--border-strong,var(--border-default))}.combobox-trigger.open{border-color:var(--accent-primary);box-shadow:0 0 0 2px #5b8cff26}.combobox-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.combobox-value.placeholder{color:var(--text-tertiary)}.combobox-chevron{color:var(--text-tertiary);flex-shrink:0;transition:transform .2s}.combobox-trigger.open .combobox-chevron{transform:rotate(180deg)}.combobox-dropdown{z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;animation:.15s combobox-slide-in;overflow:hidden;box-shadow:0 8px 32px #0006}@keyframes combobox-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.combobox-search-wrapper{padding:8px 8px 4px}.combobox-search{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;transition:border-color .15s}.combobox-search:focus{border-color:var(--accent-primary)}.combobox-search::placeholder{color:var(--text-disabled)}.combobox-list{max-height:220px;padding:4px;overflow-y:auto}.combobox-list::-webkit-scrollbar{width:6px}.combobox-list::-webkit-scrollbar-track{background:0 0}.combobox-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.combobox-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-disabled);-webkit-user-select:none;user-select:none;padding:6px 10px 4px;font-size:.625rem;font-weight:600}.combobox-option{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;transition:background .1s;display:flex}.combobox-option:hover,.combobox-option.highlighted{background:var(--bg-hover)}.combobox-option.selected{color:var(--accent-primary);font-weight:500}.combobox-option-main{flex:1;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.combobox-option-leading{color:var(--text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.combobox-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.combobox-check{color:var(--accent-primary);flex-shrink:0}.combobox-empty{text-align:center;color:var(--text-disabled);padding:1rem;font-size:.75rem}.combobox-create{border:none;border-top:1px solid var(--border-subtle);width:100%;color:var(--accent-primary);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:.5rem;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;transition:background .1s;display:flex}.combobox-create:hover{background:var(--bg-hover)}.combobox-create-icon{flex-shrink:0}.combobox-create-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.combobox-condensed .combobox-trigger{border-radius:6px;gap:.35rem;padding:.375rem .5rem;font-size:.8rem}.combobox-dropdown-condensed{border-radius:8px}.combobox-dropdown-condensed .combobox-search-wrapper{padding:6px 6px 3px}.combobox-dropdown-condensed .combobox-search{border-radius:5px;padding:.35rem .5rem;font-size:.75rem}.combobox-dropdown-condensed .combobox-list{max-height:180px;padding:3px}.combobox-dropdown-condensed .combobox-group-label{padding:5px 8px 3px;font-size:.575rem}.combobox-dropdown-condensed .combobox-option{border-radius:5px;padding:.3rem .5rem;font-size:.75rem}.combobox-dropdown-condensed .combobox-create{padding:.35rem .5rem;font-size:.75rem}.combobox-dark .combobox-trigger{background:var(--bg-base);border-color:var(--border-subtle)}.combobox-dark .combobox-trigger:hover{border-color:var(--border-default)}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;font-family:inherit;font-weight:600;transition:background .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn:disabled,.btn[aria-busy=true]{opacity:.55;cursor:not-allowed}.btn--sm{padding:.3rem .65rem;font-size:.75rem}.btn--md{padding:.5rem .9rem;font-size:.875rem}.btn--lg{padding:.65rem 1.1rem;font-size:1rem}.btn--primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn--secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default)}.btn--secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn--danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn--danger:hover:not(:disabled){filter:brightness(1.1)}.btn--ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.btn-spinner{opacity:.85;border:2px solid;border-top-color:#0000;border-radius:50%;width:.9em;height:.9em;animation:.7s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-icon,.btn-label{align-items:center;display:inline-flex}.ff-field{flex-direction:column;gap:.35rem;display:flex}.ff-label{color:var(--text-secondary);align-items:baseline;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.ff-hint{color:var(--text-tertiary);text-transform:none;letter-spacing:0;font-size:.7rem;font-weight:400}.ff-input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);box-sizing:border-box;width:100%;padding:.55rem .8rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.ff-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.ff-input::placeholder{color:var(--text-tertiary)}.ff-input--error{border-color:var(--danger)}.ff-input--error:focus{box-shadow:0 0 0 3px var(--danger-bg)}.ff-input-row{align-items:stretch;gap:.5rem;display:flex}.ff-trailing{flex-shrink:0;align-items:center;display:flex}.ff-error{color:var(--danger);font-size:.8125rem}.ff-help{color:var(--text-tertiary);font-size:.8125rem}.empty-state{text-align:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-state-icon{color:var(--text-disabled);opacity:.7;margin-bottom:1.25rem;font-size:2.5rem}.empty-state-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem;font-weight:600}.empty-state-message{color:var(--text-tertiary);max-width:380px;margin:0 0 1.5rem;font-size:.9375rem;line-height:1.5}.empty-state-action{margin-top:.25rem}.loading-state{color:var(--text-tertiary);justify-content:center;align-items:center;gap:.625rem;font-size:.9375rem;display:flex}.loading-state--block{padding:3rem 1.5rem}.loading-state--inline{padding:0}.loading-state-spinner{border:2px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite loading-state-spin;display:inline-block}@keyframes loading-state-spin{to{transform:rotate(360deg)}}.loading-state-message{font-size:inherit}.role-badge{text-transform:capitalize;color:var(--badge-color);background:color-mix(in srgb, var(--badge-color) 15%, transparent);border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.activity-feed{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--content-radius);flex-direction:column;padding:.5rem 1rem;display:flex}.activity-feed-title{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:.625rem 0;font-size:.9375rem;font-weight:600}.activity-feed-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.75rem;padding:.625rem 0;display:flex}.activity-feed-item:last-child{border-bottom:none}.activity-feed-avatar{background:var(--bg-elevated);border:1px solid var(--border-default);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;display:flex}.activity-feed-content{color:var(--text-secondary);flex:1;font-size:.8125rem;line-height:1.4}.activity-feed-user{color:var(--text-primary);font-weight:500}.activity-feed-user-link{color:var(--accent-primary);cursor:default;font-weight:500}.activity-feed-desc{color:var(--text-primary)}.activity-feed-project{color:var(--text-tertiary)}.activity-feed-project-link{color:var(--warning);text-decoration:none;transition:color .15s}.activity-feed-project-link:hover{color:#fbbf24;text-decoration:underline}.activity-feed-time{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;font-size:.6875rem}.activity-feed-empty{text-align:center;color:var(--text-tertiary);padding:2rem 1rem;font-size:.8125rem}.activity-chart{width:100%;display:block}.activity-chart-label{fill:var(--text-tertiary);-webkit-user-select:none;user-select:none;font-family:inherit;font-size:10px}.activity-chart-gridline{stroke:var(--border-subtle);stroke-dasharray:4 4;stroke-width:1px}.activity-chart-line{fill:none;stroke:var(--accent-primary);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.activity-chart-area{animation:.6s ease-out .4s both chart-fade}.activity-chart-dot{fill:var(--accent-primary);stroke:var(--bg-surface);stroke-width:2px;cursor:pointer;transition:r .15s}.activity-chart-dot:hover{r:5.5}@keyframes chart-fade{0%{opacity:0}to{opacity:1}}.activity-chart-empty{text-align:center;color:var(--text-tertiary);padding:2.5rem 1rem;font-size:.8125rem}.page-header{position:relative}.page-header-inner{z-index:2;position:relative}.page-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header-eyebrow{font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:8px;display:inline-flex}.page-header-eyebrow .dot{color:var(--text-disabled)}.page-header-eyebrow i,.page-header-eyebrow svg{color:var(--accent-primary)}.page-header-title{color:var(--text-primary);margin:0}.page-header-description{color:var(--text-secondary);margin:0}.page-header-action{flex-shrink:0}.page-header--compact{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header--compact .page-header-inner{flex:1;min-width:0}.page-header--compact .page-header-title{font-size:1.25rem;font-weight:600}.page-header--compact .page-header-description{margin-top:.25rem;font-size:.8125rem}.page-header--compact .page-header-top{margin-bottom:.5rem}.page-header--hero{background:radial-gradient(ellipse 900px 360px at 50% -10%, #5b8cff2e, transparent 70%), linear-gradient(180deg, var(--bg-base) 0%, var(--bg-base) 100%);border-bottom:1px solid var(--border-subtle);padding:28px 48px 32px}.page-header--hero .page-header-title{font-size:clamp(26px,3vw,32px);font-weight:var(--fw-bold);letter-spacing:-.025em;text-wrap:balance;margin:8px 0;line-height:1.05}.page-header--hero .page-header-description{max-width:720px;font-size:var(--fs-16);text-wrap:pretty;line-height:1.6}.page-header-glow{pointer-events:none;position:absolute;inset:0;overflow:hidden}.page-header-glow:before,.page-header-glow:after{content:"";filter:blur(80px);opacity:.35;border-radius:50%;position:absolute}.page-header-glow:before{background:#5b8cff;width:400px;height:300px;top:-80px;left:15%}.page-header-glow:after{opacity:.25;background:#a855f7;width:380px;height:280px;top:-60px;right:10%}.content-area{background:var(--bg-base);border-radius:var(--content-radius);flex:1;overflow-y:auto}.content-area-inner{max-width:1120px;margin:0 auto;padding:1.5rem 2rem}.ps-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.ps-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.875rem 1rem;display:flex}.ps-title{color:var(--text-primary);min-width:0;margin:0;font-size:1rem;font-weight:600}.ps-header-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.ps-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;padding:.25rem .5rem;font-size:1.25rem;line-height:1;transition:background .15s,color .15s}.ps-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.ps-close:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ps-body{flex:auto;min-height:0;padding:.875rem 1rem;overflow-y:auto}.ps-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.dashboard-sidebar{z-index:50;width:var(--dash-sidebar-width);background:var(--frame-bg);flex-direction:column;flex-shrink:0;justify-content:space-between;padding:.75rem 0;display:flex;position:relative;overflow:visible}.dashboard-sidebar-list{flex-direction:column;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.dashboard-sidebar-item{width:38px;height:38px;color:var(--sidebar-icon-text);border-radius:10px;justify-content:center;align-items:center;text-decoration:none;transition:color .15s;display:flex;position:relative}.dashboard-sidebar-item:before{content:"";z-index:1;background:0 0;border-radius:10px;transition:background .15s;position:absolute;inset:0}.dashboard-sidebar-item:hover{color:var(--sidebar-icon-text-hover)}.dashboard-sidebar-item:hover:before{background:var(--bg-hover)}.dashboard-sidebar-item.active{color:#fff}.dashboard-sidebar-item.active:before{background:var(--accent-primary)}.dashboard-sidebar-icon{z-index:2;font-size:.875rem;position:relative}.dashboard-sidebar-item[data-tooltip]:after{content:attr(data-tooltip);background:var(--bg-elevated);height:100%;color:var(--text-primary);white-space:nowrap;pointer-events:none;opacity:0;box-shadow:var(--shadow-md);border-radius:0 10px 10px 0;align-items:center;padding-left:calc(19px + .5rem);padding-right:.75rem;font-size:.8125rem;font-weight:500;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:0;left:50%;transform:translate(-8px)}.dashboard-sidebar-item[data-tooltip]:hover:after{opacity:1;transform:translate(0)}.dashboard-sidebar-bottom{margin-top:auto}.dashboard-sidebar-divider{background:var(--border-default);width:24px;height:1px;margin:6px auto;list-style:none}.dashboard-shell{background:var(--frame-bg);flex-direction:column;height:100vh;display:flex}.dashboard-shell-body{padding:0 var(--frame-gap) var(--frame-gap) 0;flex:1;display:flex;overflow:hidden}.shell-loading{height:100vh;color:var(--text-secondary);background:var(--frame-bg);justify-content:center;align-items:center;font-size:.875rem;display:flex}.dh-hero{background:radial-gradient(ellipse 900px 360px at 50% -10%, #5b8cff2e, transparent 70%), linear-gradient(180deg, var(--bg-base) 0%, var(--bg-base) 100%);border-bottom:1px solid var(--border-subtle);padding:28px 48px 32px;position:relative}.dh-hero-inner{z-index:2;position:relative}.dh-hero-top-right{align-items:center;gap:12px;display:flex;position:absolute;top:0;right:0}.dh-hero-glow{pointer-events:none;position:absolute;inset:0;overflow:hidden}.dh-hero-glow:before,.dh-hero-glow:after{content:"";filter:blur(80px);opacity:.35;border-radius:50%;position:absolute}.dh-hero-glow:before{background:var(--accent-primary);width:400px;height:300px;top:-80px;left:15%}.dh-hero-glow:after{opacity:.25;background:#a855f7;width:380px;height:280px;top:-60px;right:10%}.dh-eyebrow{font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:8px;display:inline-flex}.dh-eyebrow.sm{font-size:10px}.dh-eyebrow .dot{color:var(--text-disabled)}.dh-eyebrow i,.dh-eyebrow svg{color:var(--accent-primary)}.dh-title{font-size:clamp(26px,3vw,32px);font-weight:var(--fw-bold);letter-spacing:-.025em;color:var(--text-primary);text-wrap:balance;margin:8px 0;line-height:1.05}.dh-lede{max-width:720px;font-size:var(--fs-16);color:var(--text-secondary);text-wrap:pretty;margin:0 0 20px;line-height:1.6}.dh-hero-meta{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.dh-hero-actions{align-items:center;gap:8px;margin-bottom:16px;display:flex}.dtb{--dtb-tab-active-color:#a5c0ff;--dtb-tab-active-bg:#5b8cff1a;z-index:10;border-bottom:1px solid var(--border-subtle);background:var(--bg-base);flex-shrink:0;align-items:flex-end;gap:.75rem;height:52px;padding:0 1.25rem;display:flex;position:sticky;top:0}.dtb>.dtb-crumb,.dtb>.dtb-spacer{align-self:center}.dtb>.dtb-trailing{align-self:center;align-items:center;gap:8px;display:flex}.dtb-crumb{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8125rem;display:flex}.dtb-tabs{align-items:flex-end;gap:0;height:100%;margin-left:12px;display:flex}.dtb-tab{height:40px;font-size:var(--fs-13);color:var(--text-tertiary);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:none;border-radius:10px 10px 0 0;align-items:center;gap:8px;margin-bottom:-1px;padding:0 18px;transition:color .12s,background .12s;display:inline-flex;position:relative}.dtb-tab:hover:not(.active){color:var(--text-primary);background:#ffffff08}.dtb-tab.active{color:var(--dtb-tab-active-color);font-weight:var(--fw-semibold);background:var(--dtb-tab-active-bg);box-shadow:0 1px 0 var(--dtb-tab-active-bg)}.dtb-tab.active:before,.dtb-tab.active:after{content:"";pointer-events:none;width:8px;height:8px;position:absolute;bottom:0}.dtb-tab.active:before{background:radial-gradient(circle at 0 0, transparent 8px, var(--dtb-tab-active-bg) 8px);left:-8px}.dtb-tab.active:after{background:radial-gradient(circle at 100% 0, transparent 8px, var(--dtb-tab-active-bg) 8px);right:-8px}.dtb-spacer{flex:1}.top-bar{height:var(--topbar-height);background:var(--frame-bg);z-index:30;flex-shrink:0;align-items:center;gap:10px;padding:0 8px 0 14px;display:flex;position:relative}.top-bar-left{flex-shrink:0;align-items:center;gap:10px;display:flex}.top-bar-brand{cursor:pointer;font-family:var(--font-brand);letter-spacing:-.015em;background:0 0;border:none;align-items:center;gap:8px;padding:0;transition:opacity .15s;display:flex}.top-bar-brand:hover{opacity:.85}.top-bar-brand-icon{color:var(--accent-primary);font-size:.875rem}.top-bar-brand-mark{flex-shrink:0;width:20px;height:20px;display:block}.top-bar-brand-name{color:var(--text-primary);font-family:var(--font-brand);letter-spacing:-.015em;text-transform:lowercase;font-size:14px;font-weight:400}.top-bar-separator{background:var(--border-default);width:1px;height:18px;margin:0}.top-bar-spacer{flex:1;min-width:0}.top-bar-context-label{color:var(--text-secondary);padding:.25rem;font-size:.8125rem;font-weight:500}.top-bar-center{flex-shrink:0;align-items:center;display:flex}.top-bar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.top-bar-user{position:relative}.top-bar-user-btn{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;padding:.25rem;transition:all .15s}.top-bar-user-btn:hover{background:var(--bg-hover)}.top-bar-avatar{border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;border:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;display:flex}.top-bar-avatar-initials{font-size:11px;font-weight:var(--fw-bold);color:#fff;letter-spacing:.02em}.top-bar-dropdown{background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);z-index:1000;border-radius:8px;min-width:180px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.top-bar-dropdown-right{left:auto;right:0}.top-bar-dropdown-header{flex-direction:column;gap:.125rem;padding:.625rem .75rem;display:flex}.top-bar-user-name{color:var(--text-primary);font-size:.8125rem;font-weight:600}.top-bar-user-email{color:var(--text-tertiary);font-size:.6875rem}.top-bar-dropdown-divider{background:var(--border-subtle);height:1px}.top-bar-dropdown-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;transition:background .15s;display:flex}.top-bar-dropdown-item:hover:not(:disabled){background:var(--bg-hover)}.top-bar-dropdown-item:disabled{color:var(--text-disabled);cursor:default}.top-bar-dropdown-icon{color:var(--text-tertiary);text-align:center;width:14px;font-size:.7rem}.auth-shell{background:var(--frame-bg);grid-template-columns:minmax(420px,1.05fr) minmax(460px,1fr);display:grid;position:fixed;inset:0}.auth-brand-panel{background:radial-gradient(80% 60% at 20% 15%,#5b8cff24,#0000 60%),radial-gradient(60% 70% at 90% 100%,#a855f71a,#0000 55%),linear-gradient(#07070f 0%,#050509 100%);flex-direction:column;justify-content:space-between;padding:32px 40px;display:flex;position:relative;overflow:hidden}.auth-brand-panel:before{content:"";pointer-events:none;background-image:linear-gradient(#5b8cff0a 1px,#0000 1px),linear-gradient(90deg,#5b8cff0a 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 40%,#000000e6,#0000 80%);mask-image:radial-gradient(70% 60% at 40%,#000000e6,#0000 80%)}.auth-logo-row{z-index:2;align-items:center;gap:10px;display:flex;position:relative}.auth-logo-lockup{width:auto;height:36px;display:block}.auth-wordmark{font-family:var(--font-brand);font-size:var(--fs-16);letter-spacing:-.015em;text-transform:lowercase;color:var(--text-primary);font-weight:400}.auth-schema{z-index:1;pointer-events:none;position:absolute;inset:0}.auth-schema svg{width:100%;height:100%;display:block}.as-edge{stroke:#5b8cff6b;stroke-width:1.1px;fill:none}.as-edge.dim{stroke:#7878a02e}.as-edge.live{stroke-dasharray:3 5;animation:12s linear infinite auth-march}.as-edge.to-view{stroke:#10b9818c}@keyframes auth-march{to{stroke-dashoffset:-160px}}.as-card{fill:#121626eb;stroke:#ffffff14;stroke-width:1px}.as-node[data-kind=view] .as-card{stroke:#10b98159}.as-node[data-kind=table] .as-card{stroke:#ffffff1a}.as-hdr-rule{stroke:#ffffff0f;stroke-width:1px}.as-title{fill:#e8eaf2;font-family:var(--font-mono);letter-spacing:-.01em;font-size:9.5px;font-weight:600}.as-chip rect{fill:#ffffff29}.as-node[data-kind=view] .as-chip rect{fill:#10b98152}.as-chip-txt{fill:#f4f6fb;font-family:var(--font-mono);letter-spacing:.08em;font-size:6.5px;font-weight:700}.as-col{fill:#dce0ebc7;font-family:var(--font-mono);font-size:8.5px}.as-col-key{fill:#e8eaf2f2;font-weight:600}.as-type{fill:#94a3b8b3;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:7.5px;font-weight:500}.auth-brand-foot{z-index:2;justify-content:space-between;align-items:end;gap:20px;display:flex;position:relative}.auth-brand-lede{max-width:420px}.auth-brand-eyebrow{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--accent-primary);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:10px;display:inline-flex}.auth-brand-title{font-family:var(--font-display);font-size:34px;font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--text-primary);margin:0 0 16px;line-height:1.1}.auth-brand-title em{background:linear-gradient(90deg, var(--accent-primary) 0%, #a78bfa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.auth-brand-sub{font-size:var(--fs-14);color:var(--text-secondary);max-width:38ch;margin:0;line-height:1.6}.auth-pane{background:var(--bg-base);flex-direction:column;display:flex;overflow:auto}.auth-pane-inner{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:520px;margin:0 auto;padding:56px;display:flex}.auth-card{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:22px;max-width:none;padding:0;animation:.3s auth-fade-in;display:flex}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-back{font-size:var(--fs-12);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:8px;padding:0;font-family:inherit;transition:color .15s;display:inline-flex}.auth-back:hover{color:var(--text-primary)}.auth-head{flex-direction:column;gap:10px;display:flex}.auth-eyebrow{font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:8px;display:inline-flex}.auth-eyebrow .tick{background:var(--accent-primary);border-radius:50%;width:6px;height:6px}.auth-title{font-family:var(--font-display);font-size:30px;font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--text-primary);text-wrap:balance;margin:0;line-height:1.1}.auth-sub{font-size:var(--fs-14);color:var(--text-secondary);text-wrap:pretty;max-width:44ch;margin:0;line-height:1.55}.auth-sub a,.auth-link{color:var(--accent-primary);font-weight:var(--fw-medium);cursor:pointer;text-decoration:none}.auth-sub a:hover,.auth-link:hover{text-decoration:underline}.auth-big-icon{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;display:flex}.auth-big-icon.danger{color:var(--danger);background:#ef44440f;border-color:#ef444447}.auth-big-icon.warn{color:var(--warning);background:#f59e0b0f;border-color:#f59e0b47}.auth-big-icon.info{color:var(--accent-primary);background:#5b8cff0f;border-color:#5b8cff47}.auth-big-icon.ok{color:var(--success-vibrant);background:#00e5a00f;border-color:#00e5a047}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-primary);justify-content:space-between;display:flex}.auth-label .hint{color:var(--text-tertiary);font-weight:var(--fw-regular)}.auth-input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;height:42px;color:var(--text-primary);font-family:inherit;font-size:var(--fs-14);outline:none;padding:0 14px;transition:border-color .12s,box-shadow .12s}.auth-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.auth-input::placeholder{color:var(--text-tertiary)}.auth-input.error{border-color:var(--danger);box-shadow:0 0 0 3px #ef444424}.auth-input-with-action{align-items:center;display:flex;position:relative}.auth-input-with-action .auth-input{flex:1;padding-right:44px}.auth-input-action{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-input-action:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary);border-color:var(--border-default)}.auth-input-action:disabled{opacity:.5;cursor:not-allowed}.auth-submit{background:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary);border-radius:var(--radius-lg);height:44px;font-family:inherit;font-size:var(--fs-14);font-weight:var(--fw-semibold);cursor:pointer;justify-content:center;align-items:center;gap:10px;margin-top:4px;padding:0 18px;transition:all .12s;display:inline-flex}.auth-submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px #5b8cff59}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.auth-btn-ghost{height:44px;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--fs-14);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:10px;padding:0 18px;transition:all .12s;display:inline-flex}.auth-btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.auth-btn-ghost:disabled{opacity:.55;cursor:not-allowed}.auth-error{border-radius:var(--radius-lg);font-size:var(--fs-13);color:var(--danger);background:#ef44440f;border:1px solid #ef444452;padding:12px 14px;line-height:1.5}.auth-invite-banner{border-radius:var(--radius-lg);font-size:var(--fs-13);color:var(--text-secondary);background:#5b8cff0f;border:1px solid #5b8cff4d;padding:12px 14px;line-height:1.5}.auth-invite-banner strong{color:var(--text-primary)}.auth-footer{font-size:var(--fs-12);color:var(--text-tertiary);text-align:center;margin:0;padding-top:8px}.auth-footer a{color:var(--accent-primary);font-weight:var(--fw-medium);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-legal{border-top:1px solid var(--border-subtle);font-size:var(--fs-11);color:var(--text-disabled);justify-content:space-between;gap:14px;margin-top:28px;padding-top:20px;display:flex}.auth-page{background:var(--frame-bg);grid-template-columns:minmax(420px,1.05fr) minmax(460px,1fr);display:grid;position:fixed;inset:0}.auth-page:before{content:"";background:radial-gradient(80% 60% at 20% 15%,#5b8cff24,#0000 60%),radial-gradient(60% 70% at 90% 100%,#a855f71a,#0000 55%),linear-gradient(#07070f 0%,#050509 100%);position:relative;overflow:hidden}.auth-page>.auth-card{background:var(--bg-base);width:100%;max-width:420px;box-shadow:none;border:none;border-radius:0;justify-content:center;place-self:center;height:100%;margin:0;padding:56px}.auth-page>.auth-card>.auth-brand{text-align:left;margin-bottom:24px}.auth-page>.auth-card>.auth-brand .auth-logo{font-family:var(--font-display);font-size:30px;font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--text-primary);margin:0 0 6px}.auth-page>.auth-card>.auth-brand .auth-logo-accent{color:var(--accent-primary)}.auth-page>.auth-card>.auth-brand .auth-subtitle{font-size:var(--fs-14);color:var(--text-secondary);margin:0}@media (width<=960px){.auth-shell,.auth-page{grid-template-columns:1fr}.auth-brand-panel,.auth-page:before{display:none}.auth-pane-inner{padding:32px 24px}}.auth-pane::-webkit-scrollbar{width:10px}.auth-pane::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--bg-base);border-radius:10px}.auth-loading,.auth-success{color:var(--text-muted);justify-content:center;align-items:center;padding:20px 0;font-size:32px;display:flex}.auth-success{color:var(--accent-success,#10b981)}.auth-link-button{color:var(--accent-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.auth-link-button:hover{text-decoration:none}.auth-method-divider{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;margin:20px 0;font-size:13px;display:flex}.auth-method-divider:before,.auth-method-divider:after{content:"";border-top:1px solid var(--border-color);flex:1}.auth-method-divider:before{margin-right:12px}.auth-method-divider:after{margin-left:12px}.auth-oauth-buttons{flex-direction:column;gap:8px;display:flex}.auth-oauth-button{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-1);width:100%;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.auth-provider-icon{flex-shrink:0;display:inline-block}.auth-oauth-button:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent-primary)}.auth-oauth-button:disabled{opacity:.5;cursor:not-allowed}.auth-form-footer{text-align:center;margin:8px 0 0;font-size:13px}.auth-form-footer a{color:var(--text-muted);text-decoration:none}.auth-form-footer a:hover{color:var(--accent-primary);text-decoration:underline}.create-project-overlay{-webkit-backdrop-filter:blur(14px);z-index:1000;background:#0608128c;justify-content:center;align-items:center;padding:24px;animation:.2s cp-fade-in;display:flex;position:fixed;inset:0}@keyframes cp-fade-in{0%{opacity:0}to{opacity:1}}.create-project-modal{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl,16px);width:520px;max-width:100%;padding:28px 30px;animation:.25s cubic-bezier(.16,1,.3,1) cp-scale-in;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff08,0 24px 80px #0000008c,0 4px 12px #00000059}.create-project-modal:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#5b8cff2e,#0000 60%);height:200px;position:absolute;inset:-40% -10% auto}.create-project-modal>*{z-index:1;position:relative}@keyframes cp-scale-in{0%{opacity:0;transform:scale(.97)translateY(-12px)}to{opacity:1;transform:scale(1)translateY(0)}}.create-project-head{margin-bottom:22px}.create-project-eyebrow{font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px}.create-project-eyebrow-org{color:var(--accent-primary);font-weight:var(--fw-semibold)}.create-project-title{font-family:var(--font-display);font-size:22px;font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--text-primary);margin:0 0 6px;line-height:1.15}.create-project-sub{color:var(--text-tertiary);margin:0;font-size:13px;line-height:1.5}.create-project-field{margin-bottom:16px}.create-project-field:last-of-type{margin-bottom:8px}.create-project-label{font-size:12px;font-weight:var(--fw-semibold);color:var(--text-secondary);letter-spacing:.01em;align-items:baseline;gap:6px;margin-bottom:6px;display:flex}.create-project-label-hint{font-size:11px;font-weight:var(--fw-regular);color:var(--text-tertiary);text-transform:lowercase}.create-project-field .settings-field-label{font-size:12px;font-weight:var(--fw-semibold);color:var(--text-secondary);margin-bottom:6px}.create-project-field .settings-field{margin-bottom:10px}.create-project-field .settings-field:last-child{margin-bottom:0}.create-project-input,.create-project-textarea{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md,8px);width:100%;color:var(--text-primary);box-sizing:border-box;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}.create-project-textarea{resize:vertical;min-height:84px;line-height:1.55}.create-project-input:focus,.create-project-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle,#5b8cff2e)}.create-project-input::placeholder,.create-project-textarea::placeholder{color:var(--text-tertiary)}.create-project-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.create-project-btn{cursor:pointer;font-family:inherit;transition:background .15s,color .15s,border-color .15s}.create-project-btn.cancel{border:1px solid var(--border-subtle);height:36px;color:var(--text-secondary);font-size:13px;font-weight:var(--fw-semibold);background:0 0;border-radius:999px;padding:0 16px}.create-project-btn.cancel:hover{background:var(--bg-hover);border-color:var(--border-default);color:var(--text-primary)}.create-project-btn:disabled{opacity:.5;cursor:not-allowed}.create-project-submit{margin:0}.create-project-error{color:var(--danger);border-radius:var(--radius-md,8px);background:#ef44441a;border:1px solid #ef444440;margin-top:10px;padding:8px 12px;font-size:13px}.search-overlay{z-index:1000;-webkit-backdrop-filter:blur();pointer-events:none;background:#06081200;justify-content:center;align-items:flex-start;padding:14vh 24px 24px;transition:background .32s cubic-bezier(.22,1,.36,1),-webkit-backdrop-filter .32s cubic-bezier(.22,1,.36,1),backdrop-filter .32s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;inset:0}.search-overlay.open{-webkit-backdrop-filter:blur(14px);pointer-events:auto;background:#0608128c}.search-overlay-modal{width:760px;max-width:92vw;box-shadow:none;transform-origin:top;will-change:transform, opacity;background:0 0;border:none;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .28s cubic-bezier(.22,1,.36,1);position:relative}.search-overlay-inner{padding:0}.search-overlay-eyebrow{font-size:11px;font-weight:var(--fw-semibold,600);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);text-shadow:0 1px 2px #0009;align-items:center;gap:6px;padding:0 4px 14px;display:inline-flex}.search-overlay-close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;z-index:2;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;font-size:12px;transition:background .12s,color .12s,border-color .12s;display:inline-flex;position:absolute;top:-44px;right:0}.search-overlay-close:hover{color:var(--text-primary);background:#ffffff1a;border-color:#fff3}.search-overlay-inner .ov-sugg,.search-overlay-inner .ov-ai{max-height:52vh;overflow-y:auto}@media (width<=640px){.search-overlay{padding-top:10vh;padding-left:12px;padding-right:12px}}.favorite-star{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem .375rem;font-family:inherit;transition:color .12s,background .12s,transform .12s;display:inline-flex}.favorite-star:hover{color:var(--emphasis);background:#fbbf2414}.favorite-star.is-starred{color:var(--emphasis)}.favorite-star.is-starred:hover{transform:scale(1.06)}.favorite-star-card{font-size:.8rem}.favorite-star-inline{padding:.125rem .25rem;font-size:.7rem}.dd-hero-version{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.dd-devmode-toggle{border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-12);font-weight:var(--fw-semibold);cursor:pointer;align-items:center;gap:8px;padding:4px 10px 4px 12px;font-family:inherit;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.dd-devmode-toggle:hover{background:var(--bg-hover);border-color:var(--border-default);color:var(--text-primary)}.dd-devmode-toggle.on{color:var(--draft-accent);background:#a855f71f;border-color:#a855f773}.dd-devmode-toggle>svg{font-size:11px}.dd-devmode-pip{background:var(--text-tertiary);border-radius:50%;width:8px;height:8px;margin-left:2px}.dd-devmode-pip.on{background:var(--draft-accent);box-shadow:0 0 6px #c084fc99}.dd-hero-version-pill{border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--text-primary);align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.dd-hero-version-pill>svg{color:var(--accent-primary);font-size:10px}.dd-hero-version-sub{font-size:var(--fs-11);color:var(--text-tertiary)}.dd-owner-actions{flex-wrap:wrap;gap:8px;display:flex}.dd-project-details .dd-pd-body{flex-direction:column;gap:14px;padding:0 22px 18px;display:flex}.dd-pd-row{flex-direction:column;gap:8px;display:flex}.dd-pd-label{font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.dd-pd-value{font-size:var(--fs-13);color:var(--text-primary)}.dd-pd-owners{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dd-pd-owners li{align-items:center;gap:10px;display:flex}.dd-pd-owners .av{color:#fff;width:28px;height:28px;font-size:10px;font-weight:var(--fw-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dd-pd-owners .nm{font-size:var(--fs-13);color:var(--text-primary)}.dd-pd-fav.is-starred,.dd-pd-fav.is-starred svg{color:var(--warning-soft,#f59e0b)}.dd-frame{background:var(--bg-base);flex-direction:column;height:100%;min-height:calc(100vh - 80px);display:flex}.ov-grid.ov-grid-workspace{grid-template-columns:2fr 3fr}.content-area:has(.dd-frame) .content-area-inner{max-width:none;padding:0}.dd-body{flex:1;min-height:0;display:flex}.ov-body-layout{align-items:flex-start;gap:20px;display:flex}.ov-body-layout.has-catalog .ov-grid{flex:1;min-width:0}.ov-catalog{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-direction:column;flex-shrink:0;width:280px;max-height:calc(100vh - 148px);transition:width .18s;display:flex;position:sticky;top:68px;overflow:hidden}.ov-catalog.collapsed{align-items:center;width:44px}.ov-catalog-head{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 12px 10px 16px;display:flex}.ov-catalog.collapsed .ov-catalog-head{border-bottom:none;padding:10px 0}.ov-catalog-eyebrow{font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:8px;display:inline-flex}.ov-catalog-eyebrow svg{color:var(--accent-primary);font-size:11px}.ov-catalog-eyebrow .count{color:var(--text-disabled);letter-spacing:0;font-family:var(--font-mono);font-weight:var(--fw-regular)}.ov-catalog-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:11px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.ov-catalog-toggle:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.ov-catalog-list{flex:1;padding:4px 10px 16px;overflow-y:auto}.ov-catalog-list .dd-group{margin-top:8px}.ov-catalog-list .dd-group:first-child{margin-top:4px}.dd-nav{border-right:1px solid var(--border-subtle);background:var(--bg-surface);flex-direction:column;flex-shrink:0;width:320px;min-height:0;display:flex}.dd-nav .head{border-bottom:1px solid var(--border-subtle);padding:18px 20px 12px}.dd-nav .head.clickable{cursor:pointer;transition:background .12s}.dd-nav .head.clickable:hover{background:var(--bg-hover)}.dd-nav .head.clickable:hover h1{color:var(--accent-primary)}.dd-nav .head.clickable:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.dd-nav h1{font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em;margin:0 0 2px;transition:color .12s}.dd-nav .sub{font-size:var(--fs-12);color:var(--text-tertiary)}.dd-nav .dd-search{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-tertiary);font-family:inherit;font-size:var(--fs-13);cursor:pointer;text-align:left;align-items:center;gap:10px;margin:12px 20px;padding:9px 12px;transition:border-color .12s,background .12s,color .12s;display:flex}.dd-nav .dd-search:hover{border-color:var(--border-strong);background:var(--bg-hover);color:var(--text-secondary)}.dd-nav .dd-search>svg{color:var(--text-tertiary);flex-shrink:0;font-size:12px}.dd-nav .dd-search-placeholder{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dd-filter-dot{width:8px;height:8px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:50%;display:inline-block}.dd-filter-dot.all{border:1.5px dashed var(--border-default);box-shadow:none;background:0 0}.dd-list{flex:1;padding:4px 12px 20px;overflow:auto}.dd-list-empty{color:var(--text-tertiary);text-align:center;padding:32px 16px;font-size:13px}.dd-list-empty .big{color:var(--text-disabled);margin-bottom:10px;font-size:20px;display:block}.dd-list-empty-clear{border:1px solid var(--border-default);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--fs-11);cursor:pointer;background:0 0;margin:10px auto 0;padding:4px 10px;font-family:inherit;display:block}.dd-list-empty-clear:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.dd-filters{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);margin:6px 12px 0}.dd-filters.open{background:var(--bg-surface)}.dd-filters-toggle{width:100%;color:var(--text-secondary);font-family:inherit;font-size:var(--fs-12);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.dd-filters-toggle:hover{color:var(--text-primary)}.dd-filters-count{background:var(--accent-primary);color:#fff;border-radius:var(--radius-pill);min-width:18px;height:18px;font-size:var(--fs-10);font-weight:var(--fw-semibold);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.dd-filters-chevron{color:var(--text-tertiary);font-weight:var(--fw-bold);margin-left:auto}.dd-filters-body{border-top:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding:8px 10px 12px;display:flex}.dd-filters-clear{border:1px solid var(--border-default);color:var(--text-tertiary);border-radius:var(--radius-pill);font-family:inherit;font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-caps);cursor:pointer;background:0 0;align-self:flex-end;padding:2px 8px}.dd-filters-clear:hover{color:var(--text-primary);border-color:var(--border-strong)}.dd-filter-section{flex-direction:column;gap:5px;display:flex}.dd-filter-heading{font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary)}.dd-filter-chips{flex-wrap:wrap;gap:4px;display:flex}.dd-filter-chip{border:1px solid var(--border-default);background:var(--bg-elevated);height:22px;color:var(--text-secondary);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:.04em;cursor:pointer;align-items:center;padding:0 9px;display:inline-flex}.dd-filter-chip.tag{font-family:var(--font-sans);letter-spacing:0}.dd-filter-chip:hover{color:var(--text-primary);border-color:var(--border-strong)}.dd-filter-chip.active{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary)}.dd-filter-chip.sev-low{color:var(--text-secondary)}.dd-filter-chip.sev-medium{color:var(--warning);border-color:#f59e0b59}.dd-filter-chip.sev-high{color:var(--danger);border-color:#ef444466}.dd-filter-chip.sev-critical{color:#fff;border-color:var(--danger);background:#ef44442e}.dd-filter-chip.sev-medium.active{background:var(--warning);border-color:var(--warning);color:#000}.dd-filter-chip.sev-high.active,.dd-filter-chip.sev-critical.active{background:var(--danger);border-color:var(--danger);color:#fff}.dd-group{margin-top:10px}.dd-group .eyebrow{font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:8px;padding:6px 10px;display:flex}.dd-group .eyebrow .dot{border-radius:50%;width:7px;height:7px}.dd-group .eyebrow .count{color:var(--text-disabled);font-weight:var(--fw-regular)}.dd-item{border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);align-items:center;gap:10px;padding:9px 10px;transition:all .1s;display:flex}.dd-item:hover{background:var(--bg-hover);color:var(--text-primary)}.dd-item.active{background:var(--accent-subtle);color:var(--accent-primary)}.dd-item .icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex}.dd-item.active .icon{background:#5b8cff33}.dd-item .name{font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.dd-item .meta{color:var(--text-disabled);font-size:10px;font-family:var(--font-mono)}.dd-detail{background:var(--bg-base);flex:1;min-width:0;overflow:auto}.dd-detail .inner{padding:32px 40px 80px}.dt-head{align-items:flex-start;gap:18px;margin-bottom:6px;display:flex}.dt-head .icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.dt-head .titling{flex:1;min-width:0}.dt-head .eyebrow{font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;display:flex}.dt-head h1{font-size:var(--fs-28);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:-.02em;align-items:baseline;gap:12px;margin:4px 0 0;line-height:1.1;display:flex}.dt-head h1 .sql{font-family:var(--font-mono);font-size:var(--fs-14);font-weight:var(--fw-regular);color:var(--text-tertiary);letter-spacing:0}.dt-head .actions{flex-shrink:0;gap:8px;display:flex}.dd-detail .btn-ghost{border-radius:var(--radius-lg);height:32px;font-size:var(--fs-12);font-weight:var(--fw-semibold);cursor:pointer;color:var(--text-primary);border:1px solid var(--border-default);background:0 0;align-items:center;gap:6px;padding:0 14px;font-family:inherit;transition:all .12s;display:inline-flex}.dd-detail .btn-ghost:hover{background:var(--bg-hover);border-color:var(--border-strong)}.dt-description{font-size:var(--fs-16);color:var(--text-secondary);text-wrap:pretty;max-width:72ch;margin:18px 0 6px;line-height:1.6}.dt-stats{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-surface);grid-template-columns:repeat(4,1fr);gap:0;margin:22px 0 28px;display:grid;overflow:hidden}.dt-stat{border-right:1px solid var(--border-subtle);padding:14px 18px}.dt-stat:last-child{border-right:none}.dt-stat .k{font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.dt-stat .v{font-size:var(--fs-18);font-weight:var(--fw-semibold);color:var(--text-primary);font-feature-settings:"tnum";margin-top:4px}.dt-stat.pop .v{color:var(--success-vibrant);font-size:22px}.dt-tags{flex-wrap:wrap;gap:6px;margin:14px 0 0;display:flex}.dt-tag{font-family:var(--font-mono);letter-spacing:.02em;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);padding:2px 8px;font-size:10px}.dt-tag.pii{color:var(--warning-soft);background:#fcd34d14;border-color:#fcd34d40}.dt-tag.financial{color:var(--success-soft);background:#86efac14;border-color:#86efac40}.dt-tag.compliance,.dt-tag.audit-required,.dt-tag.pci{color:var(--danger-soft);background:#fca5a514;border-color:#fca5a540}.dt-section{margin-top:36px}.dt-section>.hd{align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.dt-section>.hd h2{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.dt-section>.hd .hint{color:var(--text-tertiary);font-size:var(--fs-12);margin-left:8px}.dt-section>.hd .spacer{flex:1}.dt-section>.hd .toggle{font-size:var(--fs-11);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.dt-section>.hd .toggle:hover{border-color:var(--border-strong);color:var(--text-primary)}.dt-section>.hd .toggle .seg{border-radius:var(--radius-pill);padding:2px 8px}.dt-section>.hd .toggle .seg.on{background:var(--accent-subtle);color:var(--accent-primary);font-weight:var(--fw-semibold)}.fields-table{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-surface);overflow:hidden}.fields-table .row{border-top:1px solid var(--border-subtle);cursor:pointer;grid-template-columns:36px 1.2fr 1fr 120px 36px;align-items:center;gap:14px;padding:10px 16px;transition:background .1s;display:grid}.fields-table .row:first-child{border-top:none}.fields-table .row.hd{cursor:default;background:var(--bg-elevated);font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);padding:10px 16px}.fields-table .row:not(.hd):hover,.fields-table .row.open{background:var(--bg-hover)}.f-icon{font-size:13px}.f-name{flex-direction:column;gap:2px;min-width:0;display:flex}.f-name .friendly{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text-primary)}.f-name .tech{font-family:var(--font-mono);color:var(--text-tertiary);font-size:11px}.f-desc{font-size:var(--fs-13);color:var(--text-secondary);text-wrap:pretty;line-height:1.4}.f-desc .empty{color:var(--text-disabled);font-style:italic}.f-type{flex-direction:column;align-items:flex-start;gap:3px;display:inline-flex}.f-type .friendly{font-size:var(--fs-12);color:var(--text-primary);font-weight:var(--fw-medium)}.f-type .sql{font-family:var(--font-mono);background:var(--bg-elevated);border-radius:3px;padding:1px 6px;font-size:10px}.f-badges{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.f-badge{font-family:var(--font-mono);letter-spacing:.04em;color:#000;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.f-classification-chip{height:16px;font-family:var(--font-mono);font-size:9.5px;font-weight:var(--fw-semibold);letter-spacing:.04em;white-space:nowrap;background:0 0;border:1px solid;border-radius:3px;align-items:center;padding:0 6px;line-height:1;display:inline-flex}.f-marker-chip.sev-medium{background:#f59e0b14}.f-marker-chip.sev-high{background:#ef44441f}.f-marker-chip.sev-critical{background:#ef444438;box-shadow:0 0 4px #ef444473}.f-tag-chip{font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:0}.dd-entity-classification-chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.dd-sensitivity-badge{border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;vertical-align:middle;align-items:center;margin-left:10px;padding:2px 8px;display:inline-flex}.dd-sensitivity-badge.sev-low{color:var(--text-secondary);background:var(--bg-hover)}.dd-sensitivity-badge.sev-medium{color:var(--warning);background:var(--warning-bg)}.dd-sensitivity-badge.sev-high{color:var(--danger);background:var(--danger-bg)}.dd-sensitivity-badge.sev-critical{color:#fff;background:var(--danger)}.f-expand{color:var(--text-tertiary);text-align:center;transition:transform .15s}.row.open .f-expand{color:var(--accent-primary);transform:rotate(90deg)}.f-detail{background:var(--bg-base);border-top:1px solid var(--border-subtle);grid-template-columns:1fr 1fr;gap:20px 32px;padding:16px 24px 20px 66px;display:grid}.f-detail .block .lbl{font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px}.f-detail .block .val{font-size:var(--fs-13);color:var(--text-primary);line-height:1.5}.f-detail .full{grid-column:1/-1}.f-detail .examples{flex-wrap:wrap;gap:6px;display:flex}.f-detail .examples .ex{font-family:var(--font-mono);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);padding:3px 8px;font-size:11px}.f-detail .rules{font-size:var(--fs-13);color:var(--text-secondary)}.rel-list{flex-direction:column;gap:8px;display:flex}.rel-item{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;transition:all .12s;display:grid}.rel-item:hover{border-color:var(--border-strong);transform:translateY(-1px)}.rel-item .chip{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text-primary);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.rel-item .chip .dot{border-radius:50%;width:8px;height:8px}.rel-item .arrow{color:var(--text-tertiary);font-size:12px}.rel-item .field-ref{font-family:var(--font-mono);color:var(--text-tertiary);text-align:right;font-size:11px}.rel-item .kind{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--accent-subtle);color:var(--accent-primary);padding:3px 8px}.diagram-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:20px;position:relative}.diagram-card svg{width:100%;height:auto;display:block}.diagram-card svg.dd-neighborhood-svg{width:auto;max-width:100%;height:auto;margin:0 auto}.diagram-card .legend{font-size:var(--fs-10);color:var(--text-tertiary);flex-direction:column;gap:4px;display:flex;position:absolute;top:20px;right:20px}.diagram-card .legend .k{align-items:center;gap:6px;display:flex}.diagram-card .legend .k .dot{border-radius:2px;width:8px;height:8px}.diag-node{cursor:pointer;transition:filter .15s}.diag-node:hover{filter:brightness(1.2)}.diag-node .box{stroke:var(--border-default);stroke-width:1px}.diag-node.center .box{stroke:var(--accent-primary);stroke-width:2px;filter:drop-shadow(0 0 6px #5b8cff59)}.diag-node text{font-family:var(--font-sans);fill:var(--text-primary);pointer-events:none}.diag-edge{stroke:var(--canvas-edge);stroke-width:1.25px;fill:none}.diag-edge-flow{stroke:#38bdf8;stroke-width:2.25px;fill:none;opacity:.9;stroke-dasharray:6 8;stroke-linecap:round;filter:drop-shadow(0 0 4px #38bdf88c);pointer-events:none;animation:1.4s linear infinite diag-edge-flow}@keyframes diag-edge-flow{to{stroke-dashoffset:28px}}@media (prefers-reduced-motion:reduce){.diag-edge-flow{animation:none}}.diag-edge-label{font-family:var(--font-sans);fill:var(--text-tertiary);pointer-events:none;font-size:9px}.dd-detail .callout{border-radius:var(--radius-lg);font-size:var(--fs-13);color:var(--text-secondary);background:#5b8cff0f;border:1px solid #5b8cff33;align-items:flex-start;gap:10px;margin:14px 0 0;padding:12px 16px;line-height:1.5;display:flex}.dd-detail .callout>svg{color:var(--accent-primary);margin-top:2px;font-size:13px}.ov-ai-refs{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.ov-ai-refs .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:var(--fw-semibold)}.ov-ai-refs .ref{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.ov-ai-refs .ref:hover{border-color:var(--accent-primary)}.ov-ai-refs .ref .d{border-radius:50%;width:7px;height:7px}.ov-ai-refs .ref.person{cursor:default;padding-left:4px}.ov-ai-refs .ref.person:hover{border-color:var(--border-subtle)}.ov-ai-refs .ref.person .avatar{width:18px;height:18px;font-size:9px;font-weight:var(--fw-semibold);color:#ffffffeb;letter-spacing:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ov-ai-refs .ref.person.former{opacity:.7}.ov-ai-refs .ref.person .former-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);border-radius:var(--radius-pill);background:var(--bg-surface);border:1px solid var(--border-subtle);margin-left:2px;padding:1px 5px;font-size:9px}.ov-ai-loading{background:linear-gradient(90deg, var(--text-tertiary) 0%, var(--text-primary) 50%, var(--text-tertiary) 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-style:italic;animation:1.8s linear infinite ov-ai-shimmer}@keyframes ov-ai-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ov-ai-error{color:var(--danger-soft)}.ov-ai-tok{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;vertical-align:baseline;align-items:center;gap:5px;margin:0 1px;padding:1px 8px;font-size:.95em;line-height:1.4;transition:border-color .15s,background .15s;display:inline-flex}.ov-ai-tok:hover{border-color:var(--accent-primary);background:var(--bg-elevated)}.ov-ai-tok .d{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ov-ai-md>:first-child{margin-top:0}.ov-ai-md>:last-child{margin-bottom:0}.ov-ai-md p{margin:0 0 6px;line-height:1.5}.ov-ai-md ul,.ov-ai-md ol{margin:4px 0;padding-left:20px}.ov-ai-md li{margin:2px 0;line-height:1.5}.ov-ai-md code{font-family:var(--font-mono);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:4px;padding:1px 5px;font-size:.9em}.ov-ai-md strong{font-weight:var(--fw-semibold)}.ov-ai-footnote{border-top:1px dashed var(--border-subtle);color:var(--text-secondary);margin-top:8px;padding-top:8px;font-size:.85em;font-style:italic;line-height:1.45}.ov-ai-footnote>:first-child{margin-top:0}.ov-ai-footnote>:last-child{margin-bottom:0}.ov-ai-footnote p{margin:0}.ov-ai-footnote .ov-ai-tok{font-style:normal}.ov-subjects{flex-direction:column;gap:2px;padding:4px 10px 14px;display:flex}.ov-subject{border-radius:var(--radius-md);cursor:pointer;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid;position:relative;overflow:hidden}.ov-subject-spark{pointer-events:none;opacity:.09;align-items:flex-end;gap:4px;padding:12px 12px 0;display:flex;position:absolute;inset:0}.ov-subject:hover .ov-subject-spark{opacity:.16}.ov-subject-spark-bar{background:currentColor;border-radius:2px 2px 0 0;flex:1;min-height:4px}.ov-subject>.icn,.ov-subject>.mid,.ov-subject>.cnt{z-index:1;position:relative}.ov-subject:hover{background:var(--bg-hover)}.ov-subject .icn{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;display:flex}.ov-subject .mid .nm{color:var(--text-primary);font-size:14px;font-weight:var(--fw-semibold)}.ov-subject .mid .ds{color:var(--text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:1px;font-size:12px;display:-webkit-box;overflow:hidden}.ov-subject .cnt{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--radius-pill);text-align:center;white-space:nowrap;align-items:baseline;gap:5px;min-width:32px;padding:3px 10px;font-size:12px;display:inline-flex}.ov-subject .cnt .cnt-unit{font-family:var(--font-sans);color:var(--text-tertiary);font-size:11px;font-weight:var(--fw-medium)}.ov-popular{flex-direction:column;gap:2px;padding:4px 10px 10px;display:flex}.ov-pop{border-radius:var(--radius-md);cursor:pointer;grid-template-columns:24px 30px 1fr 60px;align-items:center;gap:10px;padding:8px 12px;display:grid}.ov-pop:hover{background:var(--bg-hover)}.ov-pop .rank{font-family:var(--font-mono);color:var(--text-disabled);font-size:11px}.ov-pop .icn{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;display:flex}.ov-pop .mid{min-width:0}.ov-pop .nm{color:var(--text-primary);font-size:13px;font-weight:var(--fw-medium)}.ov-pop .bar{background:var(--bg-elevated);border-radius:2px;height:4px;margin-top:5px;overflow:hidden}.ov-pop .bar span{border-radius:2px;height:100%;display:block}.ov-pop .num{color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);text-align:right}.teams-footer{flex-direction:column;gap:10px;display:flex}.teams-footer .teams{flex-direction:column;gap:2px;margin-top:4px;display:flex}.teams-footer .team{grid-template-columns:8px 1fr auto auto;align-items:center;gap:10px;padding:6px 0;font-size:12px;display:grid}.teams-footer .team .td{border-radius:50%;width:8px;height:8px}.teams-footer .team .tn{color:var(--text-primary);font-weight:var(--fw-medium)}.teams-footer .team .tr{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);background:var(--bg-elevated);border-radius:var(--radius-pill);padding:2px 8px;font-size:10px}.teams-footer .team .tc{color:var(--text-tertiary);font-family:var(--font-mono);font-size:11px}.dd-missing-hint{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);background:var(--bg-elevated);border:1px dashed var(--border-default);border-radius:var(--radius-pill);vertical-align:middle;align-items:center;gap:6px;margin-left:8px;padding:2px 4px 2px 8px;font-size:10px;display:inline-flex}.dd-missing-hint:before{content:"";background:var(--warning);border-radius:50%;width:6px;height:6px}.dd-missing-hint.is-busy{color:var(--draft-accent);border-style:solid;border-color:#a855f773}.dd-missing-hint-gen{width:18px;height:18px;color:var(--accent-magic,#a855f7);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;padding:0;font-size:10px;transition:background .12s,color .12s;display:inline-flex}.dd-missing-hint-gen:hover:not(:disabled){color:#c084fc;background:#a855f72e}.dd-missing-hint-gen:disabled{cursor:progress;opacity:.8}.dd-frame .dd-loading,.dd-frame .dd-error{color:var(--text-tertiary);text-align:center;font-size:var(--fs-14);margin:auto;padding:48px 32px}.dd-frame .dd-error{color:var(--danger-soft)}.dd-generate-banner{border-radius:var(--radius-xl);background:linear-gradient(90deg,#a855f714,#0000 60%);border:1px solid #a855f747;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;padding:14px 18px;display:flex}.dd-generate-banner-text{font-size:var(--fs-13);color:var(--text-secondary)}.dd-generate-banner-text strong{color:var(--text-primary);font-weight:var(--fw-semibold)}.projects-page{background:var(--bg-base);min-height:100%}.content-area:has(.projects-page) .content-area-inner{max-width:none;padding:0}.pp-hero-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:4px;display:flex}.pp-body{padding:20px 48px 40px}.pp-toolbar{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.pp-search{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:10px;outline:none;flex:1;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.pp-search::placeholder{color:var(--text-tertiary)}.pp-search:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.pp-sort{flex-shrink:0;width:160px}.pp-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem;display:grid}.pp-card{border:1px solid var(--border-subtle);cursor:pointer;background:var(--bg-surface);border-radius:12px;min-height:120px;transition:border-color .15s,transform .1s;position:relative;overflow:hidden}.pp-card:hover{border-color:var(--border-default);transform:translateY(-1px)}.pp-card-bars{pointer-events:none;opacity:.08;align-items:flex-end;gap:6px;padding:2rem 1.5rem 0;display:flex;position:absolute;inset:0}.pp-card-bar{background:var(--accent-primary);border-radius:3px 3px 0 0;flex:1;min-height:6px}.pp-card:hover .pp-card-bars{opacity:.14}.pp-card-content{z-index:1;flex-direction:column;gap:.5rem;padding:1rem 1.25rem 1.125rem;display:flex;position:relative}.pp-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.pp-card-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.pp-card-desc{color:var(--text-tertiary);margin:0;font-size:.8125rem;line-height:1.4}.pp-card-footer{align-items:center;gap:.75rem;margin-top:.25rem;font-size:.8125rem;display:flex}.pp-meta-entities{color:var(--success-vibrant,#00e5a0);font-weight:600}.pp-meta-version{color:var(--accent-primary);font-weight:600}.pp-meta-time{color:var(--text-tertiary);font-size:.75rem}.pp-editor-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .375rem;font-size:.8rem;transition:color .12s,background .12s}.pp-editor-btn:hover{color:var(--accent-primary);background:var(--accent-subtle,#5b8cff1f)}.pp-card-footer .pp-editor-btn{margin-left:auto}.pp-empty{text-align:center;color:var(--text-tertiary);padding:3rem 1rem;font-size:.875rem}.pp-loading{color:var(--text-secondary);justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.pp-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.pp-empty-card{border:1px dashed var(--border-default);text-align:center;cursor:pointer;border-radius:12px;padding:3rem 1.5rem;transition:border-color .15s,background .15s}.pp-empty-card:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.pp-empty-icon{color:var(--text-tertiary);margin-bottom:.75rem;font-size:2rem}.pp-empty-title{color:var(--text-primary);margin-bottom:.25rem;font-size:1rem;font-weight:600}.pp-empty-hint{color:var(--text-tertiary);font-size:.875rem}@media (width<=768px){.pp-body{padding:1rem}.pp-grid{grid-template-columns:1fr}}.heatmap-container{flex-direction:column;gap:.5rem;padding:8px 22px 14px;display:flex}.heatmap-container .heatmap-footer{margin-top:.375rem}.heatmap-scroll{flex-direction:column;align-items:stretch;width:100%;min-width:0;display:flex}.heatmap-months{gap:2px;width:100%;display:grid}.heatmap-month-label{color:var(--text-tertiary);white-space:nowrap;font-size:.5625rem}.heatmap-grid{grid-template-rows:repeat(7,1fr);grid-auto-rows:1fr;grid-auto-flow:column;gap:2px;width:100%;display:grid}.heatmap-day-label{color:var(--text-tertiary);align-items:center;width:24px;font-size:.5625rem;display:flex}.heatmap-cell{aspect-ratio:1;border-radius:2px;min-width:0}.heatmap-empty{background:0 0}.heatmap-level-0{background:#ffffff0a}.heatmap-level-1{background:#5b8cff33}.heatmap-level-2{background:#5b8cff66}.heatmap-level-3{background:#5b8cffa6}.heatmap-level-4{background:var(--accent-primary)}.heatmap-footer{justify-content:space-between;align-items:center;padding:0 22px 14px;display:flex}.heatmap-footer-text{color:var(--text-tertiary);font-size:.625rem}.heatmap-legend{align-items:center;gap:2px;display:flex}.heatmap-legend .heatmap-cell{aspect-ratio:auto;width:10px;height:10px}.heatmap-legend-label{color:var(--text-tertiary);margin:0 .25rem;font-size:.5625rem}.wh-activity-feed{flex-direction:column;gap:10px;display:flex}.wh-activity-row{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;padding:10px 12px;transition:background .12s,border-color .12s}.wh-activity-row:hover{background:var(--bg-hover);border-color:var(--border-subtle)}.wh-activity-line{font-size:var(--fs-13);color:var(--text-primary);line-height:1.4}.wh-activity-who{font-weight:var(--fw-semibold)}.wh-activity-what{color:var(--text-secondary)}.wh-activity-meta{font-size:var(--fs-11);color:var(--text-tertiary);gap:4px;margin-top:4px;display:flex}.wh-activity-proj{color:var(--accent-primary);font-weight:var(--fw-medium)}.wh-activity-tag{font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:1px 6px;line-height:1.4;display:inline-flex}.wh-activity-tag.annotation{color:var(--emphasis);background:#fbbf241f;border:1px solid #fbbf244d}.wh-activity-tag.ai{color:var(--draft-accent);background:#a855f71f;border:1px solid #a855f74d}.notification-panel{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);z-index:1000;flex-direction:column;width:380px;max-height:480px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #0006}.notification-panel-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notification-panel-title{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text-primary)}.notification-panel-mark-all{color:var(--accent-primary);font-size:var(--fs-12);cursor:pointer;background:0 0;border:none;padding:0}.notification-panel-mark-all:hover{text-decoration:underline}.notification-panel-list{flex:1;overflow-y:auto}.notification-panel-empty{text-align:center;color:var(--text-tertiary);font-size:var(--fs-13);padding:32px 16px}.notification-panel-item{text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:12px;width:100%;padding:12px 16px;transition:background-color .15s;display:flex;position:relative}.notification-panel-item:hover{background:var(--bg-hover)}.notification-panel-item.unread{background:var(--accent-subtle)}.notification-panel-item.unread:hover{background:var(--bg-hover)}.notification-panel-item+.notification-panel-item{border-top:1px solid var(--border-subtle)}.notification-panel-item-icon{border-radius:var(--radius-md);background:var(--bg-elevated);width:32px;height:32px;color:var(--text-secondary);font-size:var(--fs-13);flex-shrink:0;justify-content:center;align-items:center;display:flex}.notification-panel-item-content{flex:1;min-width:0}.notification-panel-item-title{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--text-primary);line-height:1.4}.notification-panel-item-body{font-size:var(--fs-12);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;line-height:1.4;overflow:hidden}.notification-panel-item-time{font-size:var(--fs-11);color:var(--text-tertiary);margin-top:4px}.notification-panel-item-dot{background:var(--accent-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notification-bell{align-items:center;display:flex;position:relative}.notification-bell-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:14px;transition:color .15s,background-color .15s;display:inline-flex;position:relative}.notification-bell-btn:hover{color:var(--text-primary);background-color:var(--bg-elevated)}.notification-bell-badge{background:var(--success-vibrant);border:2px solid var(--frame-bg);pointer-events:none;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.favorites-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:14px;transition:color .15s,background-color .15s;display:inline-flex}.favorites-btn:hover{color:var(--text-primary);background-color:var(--bg-elevated)}.feedback-header-btn{background-color:var(--accent-subtle,#5b8cff26);color:var(--accent-primary,#5b8cff);cursor:pointer;border-radius:var(--radius-md);border:1px solid #0000;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:14px;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.feedback-header-btn:hover{color:#fff;background-color:var(--accent-primary,#5b8cff);border-color:var(--accent-primary,#5b8cff)}.feedback-header-btn:focus-visible{outline:2px solid var(--accent-primary,#5b8cff);outline-offset:2px}.user-popover{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);font-family:var(--font-sans);pointer-events:none;white-space:nowrap;z-index:100;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;display:none;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 6px 16px #00000080}.user-popover--down{top:calc(100% + 8px)}.user-popover--up{bottom:calc(100% + 8px)}:hover>.user-popover{display:inline-flex}.user-popover-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.user-popover-text{flex-direction:column;line-height:1.2;display:inline-flex}.user-popover-name{font-size:12px;font-weight:var(--fw-semibold)}.user-popover-detail{color:var(--text-secondary);margin-top:2px;font-size:10px}.avatar-stack-wrapper{align-items:center;gap:8px;margin-right:10px;display:inline-flex}.avatar-stack-label{font-family:var(--font-sans);font-size:11px;font-weight:var(--fw-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.avatar-stack{align-items:center;display:inline-flex}.avatar-stack-item{border-radius:var(--radius-md);border:2px solid var(--user-color,var(--accent-primary));background:var(--bg-elevated);cursor:pointer;z-index:1;justify-content:center;align-items:center;width:28px;height:28px;margin-left:-8px;padding:0;transition:transform .18s,z-index;display:inline-flex;position:relative;overflow:visible;box-shadow:0 0 0 1px #0009}.avatar-stack-item>.avatar-stack-img,.avatar-stack-item>.avatar-stack-fallback{border-radius:calc(var(--radius-md) - 2px);overflow:hidden}.avatar-stack-item:first-child{margin-left:0}.avatar-stack-item:hover{z-index:10;transform:translateY(-2px)scale(1.18)}.avatar-stack-item:hover+.avatar-stack-item{transform:translate(8px)}.avatar-stack-item:has(+.avatar-stack-item:hover){transform:translate(-8px)}.avatar-stack-img{object-fit:cover;width:100%;height:100%;display:block}.avatar-stack-fallback{width:100%;height:100%;font-family:var(--font-sans);font-size:12px;font-weight:var(--fw-bold);color:#000000d9;letter-spacing:-.02em;justify-content:center;align-items:center;display:flex}.avatar-stack-overflow{border-radius:var(--radius-md);background:var(--bg-elevated);border:2px solid var(--border-subtle);width:28px;height:28px;color:var(--text-secondary);font-family:var(--font-sans);font-size:11px;font-weight:var(--fw-semibold);cursor:pointer;justify-content:center;align-items:center;margin-left:-8px;padding:0;display:inline-flex;position:relative}.avatar-stack-overflow:hover{background:var(--bg-hover);color:var(--text-primary)}.avatar-stack-popover{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md,8px);z-index:50;text-align:left;min-width:180px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0006}.avatar-stack-popover-row{border-radius:4px;align-items:center;gap:8px;padding:4px 8px;display:flex}.avatar-stack-popover-dot{border-radius:var(--radius-md);flex-shrink:0;width:8px;height:8px}.avatar-stack-popover-name{color:var(--text-primary);font-size:12px}.top-bar-org{position:relative}.top-bar-org-btn,.top-bar-project-btn{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:4px 9px 4px 7px;font-family:inherit;transition:background .15s,color .15s;display:flex}.top-bar-pill-av{color:#fff;letter-spacing:.02em;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:8px;font-weight:700;display:inline-flex}.top-bar-pill-icon{color:var(--accent-primary);flex-shrink:0;font-size:12px}.top-bar-org-btn:hover{background:var(--bg-elevated)}.top-bar-org-btn:hover .top-bar-org-name{color:var(--text-primary)}.top-bar-org-name{color:var(--text-tertiary);font-size:12px;font-weight:var(--fw-regular);text-overflow:ellipsis;white-space:nowrap;max-width:180px;transition:color .15s;overflow:hidden}.top-bar-org-dropdown{min-width:200px}.top-bar-org-list{scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;max-height:180px;overflow-y:auto}.top-bar-org-list .top-bar-dropdown-item{height:36px}.top-bar-org-list .top-bar-dropdown-item.active{background:var(--bg-hover);color:var(--accent-primary)}.top-bar-dropdown-empty{color:var(--text-tertiary);padding:10px 14px;font-size:.8125rem}.top-bar-personal-link .top-bar-dropdown-icon{color:var(--accent-primary);margin-right:8px;font-size:11px}.top-bar-personal-link:hover{background:var(--accent-subtle,#5b8cff14)}.top-bar-org-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-bar-wrapper{position:relative}.top-bar-search-trigger{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;box-sizing:border-box;align-items:center;gap:8px;width:220px;height:28px;padding:0 8px 0 11px;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.top-bar-search-trigger:hover{border-color:var(--accent-primary);background:var(--bg-elevated);box-shadow:0 0 0 2px var(--accent-subtle)}.top-bar-search-icon{width:12px;height:12px;color:var(--text-tertiary);flex-shrink:0}.top-bar-search-text{color:var(--text-tertiary);text-align:left;flex:1;font-size:12px}.top-bar-search-kbd{font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-medium);color:var(--text-tertiary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:4px;flex-shrink:0;align-items:center;padding:1px 6px;line-height:1.4;display:inline-flex}.top-bar-breadcrumb{align-items:center;gap:10px;display:flex}.top-bar-breadcrumb-sep{color:var(--text-disabled);-webkit-user-select:none;user-select:none;margin:0 -2px;font-size:9px}.top-bar-project{position:relative}.top-bar-project-btn{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:4px 9px 4px 7px;font-family:inherit;transition:background .15s,color .15s;display:flex}.top-bar-project-btn:hover{background:var(--bg-elevated)}.top-bar-project-btn:hover .top-bar-project-name{color:var(--text-primary)}.top-bar-project-name{color:var(--text-secondary);font-size:12px;font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;max-width:220px;transition:color .15s;overflow:hidden}.top-bar-chevron{color:var(--text-tertiary);font-size:.5rem;transition:transform .15s}.top-bar-project-dropdown{min-width:220px}.top-bar-project-list{scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;max-height:108px;overflow-y:auto}.top-bar-project-list .top-bar-dropdown-item{height:36px}.top-bar-project-list .top-bar-dropdown-item.active{background:var(--bg-hover);color:var(--accent-primary)}.top-bar-project-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-bar-dropdown-pill{flex-shrink:0;width:20px;height:20px;margin-right:8px;font-size:9px}.flash-banner{border-radius:var(--radius-lg);font-size:var(--fs-14);justify-content:space-between;align-items:center;margin:0 0 1rem;padding:.75rem 1rem;animation:.2s flash-banner-in;display:flex}@keyframes flash-banner-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.flash-banner--error{background:color-mix(in srgb, var(--error,#ef4444) 15%, transparent);border:1px solid color-mix(in srgb, var(--error,#ef4444) 30%, transparent);color:var(--error,#ef4444)}.flash-banner--warning{background:color-mix(in srgb, var(--warning,#f59e0b) 15%, transparent);border:1px solid color-mix(in srgb, var(--warning,#f59e0b) 30%, transparent);color:var(--warning,#f59e0b)}.flash-banner--success{background:color-mix(in srgb, var(--success,#22c55e) 15%, transparent);border:1px solid color-mix(in srgb, var(--success,#22c55e) 30%, transparent);color:var(--success,#22c55e)}.flash-banner--info{background:color-mix(in srgb, var(--accent-primary,#5b8cff) 15%, transparent);border:1px solid color-mix(in srgb, var(--accent-primary,#5b8cff) 30%, transparent);color:var(--accent-primary,#5b8cff)}.flash-banner-message{flex:1}.flash-banner-close{color:inherit;font-size:var(--fs-20);cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 .25rem;line-height:1}.flash-banner-close:hover{opacity:1}.ov-scroll{background:var(--bg-base);flex:1;min-width:0;overflow:visible}.ov-eyebrow{font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:8px;display:inline-flex}.ov-eyebrow.sm{font-size:10px}.ov-eyebrow .dot{color:var(--text-disabled)}.ov-eyebrow i,.ov-eyebrow svg{color:var(--accent-primary)}.ov-search{position:relative}.ov-search-box{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);align-items:center;gap:10px;padding:8px 8px 8px 48px;transition:all .15s;display:flex;position:relative;box-shadow:0 8px 28px #00000059,inset 0 0 0 1px #ffffff05}.ov-search-box:focus-within{border-color:var(--accent-primary);box-shadow:0 8px 28px #0006,0 0 0 3px #5b8cff2e}.ov-search-box.ai{border-color:#a855f780}.ov-search-box.ai:focus-within{box-shadow:0 8px 28px #0006,0 0 0 3px #a855f733}.ov-search-icon{color:var(--text-secondary);font-size:16px;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.ov-search-box.ai .ov-search-icon{color:var(--draft-accent)}.ov-search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:12px 0;font-family:inherit;font-size:17px}.ov-search-box input::placeholder{color:var(--text-tertiary)}.ov-search-clear{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.ov-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.ov-search-mode{background:var(--bg-base);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.ov-search-mode button{cursor:pointer;font-family:inherit;font-size:11px;font-weight:var(--fw-medium);color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:5px;padding:5px 10px;display:inline-flex}.ov-search-mode button:hover{color:var(--text-primary)}.ov-search-mode button.on{background:var(--bg-elevated);color:var(--text-primary)}.ov-search-mode button i,.ov-search-mode button svg{font-size:10px}.ov-search-submit{background:var(--accent-primary);color:#fff;border-radius:var(--radius-lg);height:40px;font-family:inherit;font-size:13px;font-weight:var(--fw-semibold);cursor:pointer;border:none;align-items:center;gap:8px;padding:0 18px;transition:all .12s;display:inline-flex}.ov-search-submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #5b8cff66}.ov-search-submit:disabled{opacity:.4;cursor:not-allowed}.ov-search-box.ai .ov-search-submit{background:linear-gradient(135deg,#a855f7,#6366f1)}.ov-search-hints{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.ov-search-hints .lbl{color:var(--text-tertiary);font-size:11px;font-weight:var(--fw-medium);letter-spacing:.08em;text-transform:uppercase}.ov-search-hints button{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:6px;padding:5px 12px;font-family:inherit;font-size:12px;display:inline-flex}.ov-search-hints button:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.ov-search-hints button i,.ov-search-hints button svg{color:var(--draft-accent);font-size:10px}.ov-sugg{z-index:30;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:380px;margin-top:0;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto}.ov-sugg.empty{color:var(--text-tertiary);align-items:center;gap:10px;padding:14px 18px;font-size:13px;display:flex}.ov-sugg.empty button{color:var(--accent-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:13px;display:inline-flex}.ov-sugg-row{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:12px;padding:10px 12px;display:flex}.ov-sugg-row:hover{background:var(--bg-hover)}.ov-sugg-row .icn{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;display:flex}.ov-sugg-row .mid{flex:1;min-width:0}.ov-sugg-row .nm{color:var(--text-primary);font-size:14px;font-weight:var(--fw-semibold);align-items:baseline;gap:10px;display:flex}.ov-sugg-row .nm mark{color:var(--text-primary);background:#5b8cff4d;border-radius:2px;padding:0 2px}.ov-sugg-row .subj{font-size:11px;font-weight:var(--fw-regular);color:var(--text-tertiary);letter-spacing:0}.ov-sugg-row .why{color:var(--text-tertiary);margin-top:2px;font-size:12px}.ov-sugg-row-static{cursor:default}.ov-sugg-row-static:hover{background:0 0}.ov-sugg-avatar{color:#fff;font-weight:var(--fw-semibold);letter-spacing:.02em;border-radius:50%!important;font-size:11px!important}.ov-sugg-group-label{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);padding:8px 12px 4px}.ov-sugg-group-label:first-child{padding-top:4px}.ov-ai{z-index:30;background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid #a855f74d;margin-top:0;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}.ov-ai-head{font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);background:linear-gradient(90deg,#a855f714,#0000);align-items:center;gap:8px;padding:10px 16px;display:flex}.ov-ai-head i,.ov-ai-head svg{color:var(--draft-accent)}.ov-ai-head .spacer{flex:1}.ov-ai-mode{text-transform:none;letter-spacing:0;color:var(--text-tertiary);font-size:11px;font-weight:400}.ov-ai-body{flex-direction:column;gap:14px;padding:14px 18px;display:flex}.ov-ai-q{color:var(--text-primary);align-items:flex-start;gap:20px;font-size:14px;display:flex}.ov-ai-q .role{color:var(--text-tertiary);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:var(--fw-semibold);flex-shrink:0;width:70px;padding-top:4px}.ov-ai-a{color:var(--text-secondary);align-items:flex-start;gap:20px;font-size:14px;line-height:1.6;display:flex}.ov-ai-a .role{color:var(--draft-accent);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:var(--fw-semibold);flex-shrink:0;align-items:center;gap:4px;width:70px;padding-top:4px;display:inline-flex}.ov-body{padding:28px 48px 72px}.ph-toolbar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:14px 18px;display:flex}.ph-toolbar-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ph-toolbar-actions{align-items:center;gap:0;display:flex}.ph-toolbar-actions .ph-hero-cta:last-child{margin-right:0}.ov-stats{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);grid-template-columns:repeat(5,1fr);gap:0;margin-bottom:28px;display:grid;overflow:hidden}.ov-stat{border-right:1px solid var(--border-subtle);flex-direction:column;gap:4px;padding:18px 22px;display:flex}.ov-stat:last-child{border-right:none}.ov-stat .k{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.ov-stat .v{font-size:28px;font-weight:var(--fw-bold);color:var(--success-vibrant);font-feature-settings:"tnum";line-height:1}.ov-stat .sub{color:var(--text-tertiary);margin-top:2px;font-size:11px}.ov-stat:nth-child(n+3) .v{color:var(--text-primary);font-size:24px}.ov-grid{grid-template-columns:1.4fr 1fr;gap:20px;display:grid}.ov-col{flex-direction:column;gap:20px;display:flex}.ov-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden}.ov-card>header{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px 12px;display:flex}.ov-card>header h2{font-size:16px;font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em;margin:8px 0 0}.ov-card-lede{color:var(--text-secondary);text-wrap:pretty;margin:0;padding:0 22px 14px;font-size:14px;line-height:1.5}.ov-card>footer{border-top:1px solid var(--border-subtle);padding:12px 22px 16px}.ov-card .more-link{color:var(--accent-primary);cursor:pointer;font-size:12px;font-weight:var(--fw-medium);gap:5px;display:inline-flex}.ov-card .more-link i,.ov-card .more-link svg{font-size:10px}.ov-by{flex-shrink:0;align-items:center;gap:10px;display:flex}.ov-by .av{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.ov-by .who{color:var(--text-primary);font-size:13px;font-weight:var(--fw-medium)}.ov-by .when{color:var(--text-tertiary);font-size:11px}.ov-change-counts{gap:10px;padding:0 22px 14px;display:flex}.ov-change-counts .cc{border-radius:var(--radius-pill);font-size:11px;font-weight:var(--fw-semibold);font-family:var(--font-mono);align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.ov-change-counts .cc.added{color:var(--success-soft);background:#22c55e1f;border:1px solid #22c55e40}.ov-change-counts .cc.changed{color:var(--warning-soft);background:#f59e0b1f;border:1px solid #f59e0b40}.ov-change-counts .cc.removed{color:var(--danger-soft);background:#ef44441f;border:1px solid #ef444440}.ov-changes{padding:0 10px 4px}.ov-change{border-radius:var(--radius-md);cursor:pointer;grid-template-columns:24px 1fr auto;align-items:flex-start;gap:12px;padding:10px 12px;display:grid}.ov-change:hover{background:var(--bg-hover)}.ov-change .sym{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:10px;font-weight:700;display:flex}.ov-change .sym.added{color:var(--success-soft);background:#22c55e2e}.ov-change .sym.changed{color:var(--warning-soft);background:#f59e0b2e}.ov-change .sym.removed{color:var(--danger-soft);background:#ef44442e}.ov-change .tgt{color:var(--text-primary);font-size:13px;font-weight:var(--fw-semibold);margin-right:8px}.ov-change .txt{color:var(--text-secondary);font-size:13px;line-height:1.5}.ov-count-pill{font-size:11px;font-weight:var(--fw-semibold);color:var(--success-vibrant);border-radius:var(--radius-pill);background:#00e5a01a;border:1px solid #00e5a033;padding:3px 10px}.ov-active{flex-direction:column;gap:2px;padding:4px 10px 10px;display:flex}.ov-user{border-radius:var(--radius-md);grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:8px 12px;display:grid}.ov-user .av-wrap{position:relative}.ov-user .av{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.ov-user .presence{border:2px solid var(--bg-surface);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.ov-user .presence.online{background:var(--success-vibrant)}.ov-user .presence.idle{background:var(--warning)}.ov-user .meta{min-width:0}.ov-user .nm{color:var(--text-primary);font-size:13px;font-weight:var(--fw-medium)}.ov-user .tm{color:var(--text-tertiary);margin-top:1px;font-size:11px}.ov-user .seen{color:var(--text-secondary)}.ph-owner-row{border-bottom:1px dashed var(--border-subtle);grid-template-columns:38px 1fr;align-items:center;gap:10px;margin:0 0 6px;padding:4px 22px 12px;display:grid}.ph-owner-row .av{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.ph-owner-row .meta{min-width:0}.ph-owner-row .meta .nm{color:var(--text-primary);font-size:13px;font-weight:var(--fw-semibold);align-items:center;gap:8px;display:inline-flex}.ph-owner-row .meta .nm .role{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);background:var(--bg-elevated);border-radius:var(--radius-pill);padding:2px 8px;font-size:10px;font-weight:600}.ph-owner-row .meta .muted{color:var(--text-tertiary);margin-top:2px;font-size:11px}.ph-owner-actions{border-top:1px solid var(--border-subtle);gap:8px;padding:12px 22px 16px;display:flex}.ov-owner-strip{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:18px 22px;display:flex}.owner-line{align-items:center;gap:10px;margin-top:6px;display:flex}.owner-line .av{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.owner-line .nm{color:var(--text-primary);font-size:14px;font-weight:var(--fw-semibold)}.owner-line .sep{color:var(--text-tertiary)}.owner-line .muted{color:var(--text-tertiary);font-size:13px}.owner-actions{gap:8px;display:flex}.ph-tech-chip{border-radius:var(--radius-pill);font-family:var(--font-mono);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.ph-tech-chip .d{border-radius:50%;width:6px;height:6px}.ph-tech-chip.ok .d{background:var(--success-vibrant)}.ph-tech-chip.warn .d{background:var(--warning)}.ph-tech-chip.err .d{background:var(--error)}.ph-draft-card{background:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid #a855f747;overflow:hidden;box-shadow:inset 0 0 0 1px #a855f70f}.ph-draft-card>header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(90deg,#a855f71a,#0000 60%);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.ph-draft-title{align-items:center;gap:10px;display:flex}.ph-draft-title .badge{border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;color:var(--draft-accent);background:#a855f72e;padding:2px 10px;font-size:10px;font-weight:700}.ph-draft-title h2{font-size:15px;font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.ph-draft-title .branch{font-family:var(--font-mono);color:var(--text-tertiary);font-size:12px}.ph-draft-actions{gap:8px;display:flex}.ph-draft-body{padding:16px 20px}.ph-draft-meta{color:var(--text-tertiary);flex-wrap:wrap;gap:18px;margin-bottom:14px;font-size:12px;display:flex}.ph-draft-meta strong{color:var(--text-secondary);font-weight:var(--fw-medium)}.ph-draft-meta .contribs{display:flex}.ph-draft-meta .contribs .av{color:#fff;border:2px solid var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-left:-6px;font-size:10px;font-weight:700;display:flex}.ph-draft-meta .contribs .av:first-child{margin-left:0}.ph-draft-counts{gap:8px;margin-bottom:12px;display:flex}.ph-draft-list{flex-direction:column;gap:2px;display:flex}.ph-draft-row{border-radius:var(--radius-md);grid-template-columns:24px 160px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.ph-draft-row.clickable{cursor:pointer}.ph-draft-row.clickable:hover{background:var(--bg-hover)}.ph-draft-row .sym{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:flex}.ph-draft-row .sym.added{color:var(--success-soft);background:#22c55e2e}.ph-draft-row .sym.changed{color:var(--warning-soft);background:#f59e0b2e}.ph-draft-row .sym.removed{color:var(--danger-soft);background:#ef44442e}.ph-draft-row .tgt{font-size:13px;font-weight:var(--fw-semibold);color:var(--text-primary)}.ph-draft-row .tgt .kind{font-size:10px;font-weight:var(--fw-regular);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-top:2px;display:block}.ph-draft-row .note{color:var(--text-secondary);font-size:13px;line-height:1.45}.ph-draft-row .arr{color:var(--text-tertiary);opacity:0;font-size:11px}.ph-draft-row.clickable:hover .arr{opacity:1}.ph-warnings{border-radius:var(--radius-md);background:#f59e0b12;border:1px solid #f59e0b33;margin-top:14px;padding:12px 14px}.ph-warnings .hd{letter-spacing:.1em;text-transform:uppercase;color:var(--warning-soft);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:700;display:inline-flex}.ph-warnings ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ph-warnings li{color:var(--text-secondary);grid-template-columns:50px 1fr;gap:10px;font-size:12px;line-height:1.5;display:grid}.ph-warnings code{font-family:var(--font-mono);color:var(--warning-soft);background:#0003;border-radius:4px;align-self:start;padding:1px 6px;font-size:11px}.ph-warnings .tgt{font-family:var(--font-mono);color:var(--text-primary);font-size:11.5px}.ph-versions{flex-direction:column;gap:2px;padding:4px 10px 6px;display:flex}.ph-version{border-radius:var(--radius-md);cursor:pointer;grid-template-columns:60px 1fr auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.ph-version:hover{background:var(--bg-hover)}.ph-version.latest{background:#5b8cff0d}.ph-version .tag{font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-semibold);color:var(--text-primary);background:var(--bg-elevated);border-radius:var(--radius-pill);text-align:center;padding:3px 10px}.ph-version.latest .tag{background:var(--accent-subtle);color:#a5c0ff}.ph-version .mid .sm{color:var(--text-primary);font-size:13px;line-height:1.45}.ph-version .mid .by{color:var(--text-tertiary);margin-top:2px;font-size:11px}.ph-version .counts{font-family:var(--font-mono);gap:4px;font-size:10.5px;display:flex}.ph-version .counts span{border-radius:4px;padding:1px 6px}.ph-version .counts .a{color:var(--success-soft);background:#22c55e1a}.ph-version .counts .c{color:var(--warning-soft);background:#f59e0b1a}.ph-version .counts .r{color:var(--danger-soft);background:#ef44441a}.ph-version .when{color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono);text-align:right;min-width:60px}.ph-integrations{flex-direction:column;gap:2px;padding:4px 10px 6px;display:flex}.ph-integration{border-radius:var(--radius-md);grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.ph-integration .icn{background:var(--bg-elevated);width:24px;height:24px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:flex}.ph-integration .nm{color:var(--text-primary);font-size:13px;font-weight:var(--fw-medium)}.ph-integration .dt{color:var(--text-tertiary);margin-top:1px;font-size:11px}.ph-quick-actions{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;display:grid}.ph-qa{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;gap:6px;padding:14px;transition:all .12s;display:flex}.ph-qa:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.ph-qa .icn{background:var(--bg-elevated);width:30px;height:30px;color:var(--accent-primary);border-radius:8px;justify-content:center;align-items:center;margin-bottom:4px;font-size:13px;display:flex}.ph-qa .t{font-size:13px;font-weight:var(--fw-semibold);color:var(--text-primary)}.ph-qa .s{color:var(--text-tertiary);font-size:11px;line-height:1.4}.ph-hero-cta{background:var(--accent-primary);color:#fff;border-radius:var(--radius-lg);height:40px;font-family:inherit;font-size:13px;font-weight:var(--fw-semibold);cursor:pointer;border:none;align-items:center;gap:8px;margin-right:10px;padding:0 18px;transition:all .12s;display:inline-flex}.ph-hero-cta:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #5b8cff59}.ph-hero-cta.secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default)}.ph-hero-cta.secondary:hover{background:var(--bg-hover);box-shadow:none}.ph-hero-cta.resume{background:linear-gradient(135deg,#a855f7,#6366f1)}.ov-card.titled>header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(90deg,#5b8cff0f,#0000 60%);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.ov-card-title{align-items:center;gap:10px;min-width:0;display:flex}.ov-card-title .badge{border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;background:var(--bg-elevated);color:var(--text-secondary);flex-shrink:0;padding:2px 10px;font-size:10px;font-weight:700}.ov-card-title h2{font-size:15px;font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em;margin:0}.ov-card-actions{flex-shrink:0;gap:8px;display:flex}.ov-card.titled.danger>header{background:linear-gradient(90deg,#ef444414,#0000 60%)}.ov-card.titled.danger .ov-card-title .badge{color:var(--danger-soft);background:#ef444426}.ov-segmented{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:2px;padding:3px;display:inline-flex}.ov-segmented button{cursor:pointer;font-family:inherit;font-size:12px;font-weight:var(--fw-medium);color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;padding:6px 14px;transition:background .12s,color .12s}.ov-segmented button:hover{color:var(--text-primary)}.ov-segmented button.on{background:var(--bg-elevated);color:var(--text-primary);font-weight:var(--fw-semibold)}.ov-card .combobox-trigger,.ov-card .settings-tab-input,.ov-card input.settings-tab-input,.ov-card .dialect-picker-input{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-surface);height:36px;color:var(--text-primary);font-family:inherit;font-size:var(--fs-13);transition:border-color .12s,box-shadow .12s}.ov-card .combobox-trigger:hover,.ov-card .settings-tab-input:hover,.ov-card .dialect-picker-input:hover{border-color:var(--border-strong)}.ov-card .combobox-trigger:focus-within,.ov-card .settings-tab-input:focus,.ov-card .dialect-picker-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #5b8cff2e}.ph-hero-cta.danger{color:var(--danger-soft);background:#ef44441f;border:1px solid #ef444459}.ph-hero-cta.danger:hover{background:#ef444433;transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.ph-hero-cta.sm{height:28px;font-size:var(--fs-12);border-radius:var(--radius-md);padding:0 12px}.btn-ghost{border-radius:var(--radius-md);background:var(--bg-surface);height:28px;color:var(--text-primary);border:1px solid var(--border-default);font-family:inherit;font-size:12px;font-weight:var(--fw-semibold);cursor:pointer;align-items:center;gap:6px;padding:0 12px;transition:background .12s;display:inline-flex}.btn-ghost:hover{background:var(--bg-hover)}.user-home-page{background:var(--bg-base);min-height:100%}.content-area:has(.user-home-page) .content-area-inner{max-width:none;padding:0}.uh-overlay-trigger{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0;font-family:inherit;display:block}.uh-overlay-trigger .ov-search-box{cursor:pointer}.uh-overlay-trigger:hover .ov-search-box{border-color:var(--accent-primary);box-shadow:0 8px 28px #0006, 0 0 0 3px var(--accent-subtle,#5b8cff2e)}.uh-overlay-trigger-placeholder{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:12px 0;font-size:17px;overflow:hidden}.uh-overlay-trigger .ov-search-mode,.uh-overlay-trigger .ov-search-submit{pointer-events:none}.uh-overlay-trigger .ov-search-mode span{font-family:inherit;font-size:11px;font-weight:var(--fw-medium);color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:5px;padding:5px 10px;display:inline-flex}.uh-overlay-trigger .ov-search-mode span.on{background:var(--bg-elevated);color:var(--text-primary)}.uh-body{flex-direction:column;gap:32px;padding:24px 48px 40px;display:flex}.uh-grid{align-items:start}.uh-projects-col,.uh-activity-col{min-width:0}.uh-projects-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.pp-card-create{border:1.5px dashed var(--border-default);min-height:120px;color:var(--text-tertiary);cursor:pointer;text-align:center;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:1rem;font-family:inherit;transition:border-color .15s,color .15s,background .15s,transform .1s;display:flex}.pp-card-create:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#5b8cff0a;transform:translateY(-1px)}.pp-card-create-icon{margin-bottom:2px;font-size:1rem}.pp-card-create-label{font-size:.875rem;font-weight:var(--fw-semibold);color:var(--text-secondary)}.pp-card-create:hover .pp-card-create-label{color:var(--text-primary)}.pp-card-create-detail{color:var(--text-tertiary);font-size:.75rem}.uh-activity-where{align-items:center;gap:6px;display:inline-flex}.uh-activity-org{color:var(--text-secondary);font-weight:var(--fw-medium)}.uh-activity-sep{color:var(--text-disabled)}@media (width<=960px){.uh-grid{grid-template-columns:1fr}}.uh-group{flex-direction:column;gap:14px;display:flex}.uh-group-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:4px;display:flex}.uh-group-title{align-items:baseline;gap:10px;display:flex}.uh-group-icon{color:var(--text-tertiary);font-size:12px}.uh-group-title h2{font-size:1rem;font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em;margin:0}.uh-group-count{color:var(--text-tertiary);font-size:.75rem;font-family:var(--font-mono)}.uh-group-link{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.8125rem;transition:color .12s,background .12s}.uh-group-link:hover{color:var(--accent-primary);background:var(--bg-hover)}.uh-loading{text-align:center;color:var(--text-secondary);padding:3rem 1rem}.uh-error{border-radius:var(--radius-md,8px);color:var(--danger);background:#ef44441a;border:1px solid #ef444440;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.uh-empty{border:1px dashed var(--border-default);border-radius:var(--radius-lg,12px);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:4rem 1.5rem;display:flex}.uh-empty-icon{color:var(--text-tertiary);font-size:2rem}.uh-empty-title{font-size:1.0625rem;font-weight:var(--fw-semibold);color:var(--text-primary)}.uh-empty-hint{color:var(--text-tertiary);max-width:36ch;margin-bottom:8px;font-size:.875rem;line-height:1.5}@media (width<=768px){.uh-body{padding:1rem}}.ua-filter-row{flex-wrap:wrap;align-items:center;gap:8px;padding:0 22px 14px;display:flex}.ua-filter-label{font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:6px;margin-right:4px;display:inline-flex}.ua-chip{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-pill,999px);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:5px 12px;font-family:inherit;font-size:12px;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.ua-chip:hover{border-color:var(--border-default);background:var(--bg-hover);color:var(--text-primary)}.ua-chip.active{border-color:var(--accent-primary);background:var(--accent-subtle,#5b8cff1f);color:var(--text-primary)}.ua-chip-count{font-family:var(--font-mono);color:var(--text-tertiary);background:var(--bg-base);border-radius:4px;padding:1px 6px;font-size:10px;line-height:1.4}.ua-chip.active .ua-chip-count{color:var(--accent-primary);background:#5b8cff1f}.ua-feed{max-height:none;padding:4px 12px 14px}.profile-page{background:#0a0a16;min-height:100vh;padding:1.25rem 3.5rem 2.5rem}.content-area:has(.profile-page){background:#0a0a16}.content-area:has(.profile-page) .content-area-inner{max-width:1400px}.prof-hero{margin-bottom:2rem}.prof-title{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.profile-loading{text-align:center;color:var(--text-tertiary);padding:3rem 1rem;font-size:.875rem}.profile-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8125rem}.profile-success{color:var(--success);background:#22c55e1a;border:1px solid #22c55e40;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8125rem}.profile-section{border:1px solid var(--border-subtle);background:0 0;border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.profile-section-title{color:var(--text-primary);margin:0 0 1rem;font-size:.875rem;font-weight:700}.profile-field{margin-bottom:1rem}.profile-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.profile-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;max-width:400px;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.profile-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.profile-input::placeholder{color:var(--text-tertiary)}.profile-avatar-hint{color:var(--text-tertiary);margin-top:.375rem;font-size:.75rem}.profile-avatar-preview{margin-bottom:1rem}.profile-avatar-image{object-fit:cover;border:2px solid var(--border-subtle);border-radius:50%;width:64px;height:64px}.profile-actions{margin-top:1.25rem}@media (width<=768px){.profile-page{padding:1.5rem 1rem}}.security-page{background:#0a0a16;min-height:100vh;padding:1.25rem 3.5rem 2.5rem}.content-area:has(.security-page){background:#0a0a16}.content-area:has(.security-page) .content-area-inner{max-width:1400px}.sec-hero{margin-bottom:2rem}.sec-title{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.security-columns{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}@media (width<=768px){.security-columns{grid-template-columns:1fr}}.security-section{border:1px solid var(--border-subtle);background:0 0;border-radius:12px;margin-bottom:2rem;padding:1.25rem 1.5rem}.security-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.security-section-header .security-section-title{margin-bottom:0}.security-section-title{color:var(--text-primary);margin:0 0 1rem;font-size:1rem;font-weight:600}.security-field{margin-bottom:1rem}.security-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.75rem;font-weight:500;display:block}.security-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.security-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.security-actions{margin-top:1.25rem}.security-error{background:var(--danger-bg);color:var(--danger);border-radius:10px;margin-bottom:1rem;padding:.6rem .75rem;font-size:.8125rem}.security-success{background:var(--success-bg,#2ea0431a);color:var(--success,#2ea043);border-radius:10px;margin-bottom:1rem;padding:.6rem .75rem;font-size:.8125rem}.security-session-id{background:var(--bg-input);border-radius:4px;padding:.125rem .375rem;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.75rem}.security-loading{text-align:center;color:var(--text-tertiary);padding:2rem 1rem;font-size:.875rem}.security-mfa-required-banner{color:var(--warning,#e3b341);background:#e3b3411a;border:1px solid #e3b34140;border-radius:10px;margin-bottom:1rem;padding:.6rem .75rem;font-size:.8125rem}.security-mfa-status{flex-direction:column;gap:.75rem;display:flex}.security-mfa-enabled{color:var(--success,#2ea043);margin:0;font-size:.875rem}.security-mfa-description{color:var(--text-secondary);margin:0 0 1rem;font-size:.8125rem;line-height:1.5}.mfa-setup-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mfa-setup-modal{border:1px solid var(--border-subtle);background:#0a0a16;border-radius:16px;width:480px;max-width:90vw;max-height:90vh;animation:.2s mfa-modal-fade-in;overflow-y:auto;box-shadow:0 12px 48px #0006}@keyframes mfa-modal-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mfa-setup-modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.mfa-setup-modal-header h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.mfa-setup-modal-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.25rem;line-height:1;transition:color .15s,background .15s}.mfa-setup-modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.mfa-setup-modal-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.mfa-setup-modal-actions{justify-content:flex-end;gap:.5rem;padding-top:.5rem;display:flex}.security-mfa-enrollment{flex-direction:column;gap:1rem;display:flex}.security-mfa-instructions{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.security-mfa-qr{cursor:pointer;background:#fff;border-radius:8px;justify-content:center;width:fit-content;padding:1rem;transition:box-shadow .15s;display:flex}.security-mfa-qr:hover{box-shadow:0 0 0 3px #5b8cff40}.security-mfa-qr-hint{color:var(--text-tertiary);margin:0;font-size:.6875rem;line-height:1.4}.security-mfa-codes{margin:.5rem 0}.security-mfa-codes-title{color:var(--text-primary);margin:0 0 .5rem;font-size:.875rem;font-weight:600}.security-mfa-codes-warning{color:var(--text-secondary);margin:0 0 .75rem;font-size:.75rem;line-height:1.4}.security-mfa-codes-grid{grid-template-columns:repeat(2,1fr);gap:.375rem;max-width:280px;display:grid}.security-mfa-code{background:var(--bg-input);text-align:center;border-radius:4px;padding:.25rem .5rem;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8125rem}.security-mfa-verify-form{flex-direction:column;gap:.75rem;display:flex}.security-mfa-token-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;max-width:200px;color:var(--text-primary);text-align:center;letter-spacing:.3em;border-radius:10px;outline:none;padding:.5rem .625rem;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:1.25rem}.security-mfa-token-input:focus{border-color:var(--accent-primary)}.security-mfa-disable-form{flex-direction:column;gap:.75rem;display:flex}.security-mfa-disable-instructions{color:var(--text-secondary);margin:0;font-size:.8125rem}.security-mfa-disable-actions{align-items:center;gap:.5rem;display:flex}.security-mfa-setup{flex-direction:column;gap:0;display:flex}.mfa-enrollment-flow{flex-direction:column;gap:1rem;display:flex}.mfa-enrollment-actions{justify-content:flex-end;gap:.5rem;padding-top:.5rem;display:flex}.btn-secondary-sm{color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:999px;padding:.3125rem .75rem;font-size:.75rem;font-weight:600;transition:all .15s}.btn-secondary-sm:hover{background:var(--bg-hover);color:var(--text-primary)}.security-section.borderless{border:none;padding-left:0;padding-right:0}.security-page .data-table-wrapper{border:1px solid var(--border-subtle);background:0 0;border-radius:12px}.security-page .data-table th,.security-page .data-table td{border-bottom-color:var(--border-subtle)}.security-page .data-table tbody tr:last-child td{border-bottom:none}.security-page .data-table-footer{border-top-color:var(--border-subtle)}.security-session-cell{align-items:center;gap:8px;display:inline-flex}.security-session-current{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-primary);background:#5b8cff29;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.security-session-current-badge{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.security-session-ua{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:13px;display:inline-block;overflow:hidden}.security-session-ip{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.security-section-count{min-width:26px;height:22px;color:var(--accent-primary,#5b8cff);font-variant-numeric:tabular-nums;letter-spacing:.02em;background:linear-gradient(#5b8cff2e,#5b8cff1a);border:1px solid #5b8cff47;border-radius:11px;justify-content:center;align-items:center;margin-left:12px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex;position:relative;top:-2px;box-shadow:inset 0 1px #ffffff0a}.security-backup-status{border:1px solid var(--border-subtle);background:#ffffff04;border-radius:10px;margin:.75rem 0 0;padding:.75rem .875rem}.security-backup-status-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.security-backup-status-counts{align-items:baseline;gap:.375rem;display:inline-flex}.security-backup-status-counts strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:600}.security-backup-status-counts .security-backup-status-divider{color:var(--text-tertiary);font-size:.75rem}.security-backup-warning{color:var(--warning);background:#f59e0b14;border-radius:6px;align-items:center;gap:.5rem;margin:.5rem 0 0;padding:.4rem .625rem;font-size:.75rem;display:flex}.security-backup-warning:before{content:"⚠";font-size:.75rem}.security-backup-warning--critical{color:var(--danger);background:#ef44441a}.security-backup-new-codes{border-radius:var(--radius-md);background:#5b8cff0f;border:1px solid #5b8cff47;margin-top:14px;padding:14px}.security-backup-new-codes h4{color:var(--text-primary);margin:0 0 8px;font-size:14px}.security-activity-list{border:1px solid var(--border-subtle);background:0 0;border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.security-activity-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.security-activity-row:last-child{border-bottom:none}.security-activity-main{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.security-activity-event{color:var(--text-primary);font-size:.8125rem;font-weight:500}.security-activity-meta{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;align-items:center;gap:.375rem;font-size:.75rem;display:inline-flex}.security-activity-dot{color:var(--text-tertiary);opacity:.6}.security-activity-time{color:var(--text-secondary);font-variant-numeric:tabular-nums}.security-activity-ip{color:var(--text-tertiary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem}.security-activity-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.security-activity-badge--fail{color:var(--danger,#ef4444);background:#ef44441a}.security-passkeys-list{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.security-passkeys-row{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.625rem .75rem;display:flex}.security-passkeys-meta{flex-direction:column;gap:.125rem;min-width:0;display:flex}.security-passkeys-name{color:var(--text-primary);text-overflow:ellipsis;font-weight:500;overflow:hidden}.security-passkeys-detail{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.75rem;display:inline-flex}.security-passkeys-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--accent,#8b5cf6);background:#8b5cf61a;border-radius:4px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.security-passkeys-empty{font-style:italic}.security-passkeys-add{align-items:stretch;gap:.5rem;display:flex}.security-passkeys-add .security-input{flex:1}.security-method-add{flex-direction:column;gap:.5rem;display:flex}.security-method-add .btn-primary{justify-content:center;align-items:center;gap:8px;display:inline-flex}.security-method-icon{vertical-align:middle;flex-shrink:0;display:inline-block}.prefs-page{max-width:760px;margin:0 auto;padding:24px 32px 48px}.prefs-hero{margin-bottom:28px}.prefs-title{font-family:var(--font-display);font-size:var(--fs-28);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0 0 6px}.prefs-sub{color:var(--text-tertiary);margin:0;font-size:.875rem}.prefs-loading{text-align:center;color:var(--text-secondary);padding:3rem 1rem}.prefs-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg,12px);margin-bottom:16px;padding:20px 22px}.prefs-card-head{margin-bottom:16px}.prefs-card-title{align-items:center;gap:10px;display:flex}.prefs-card-icon{color:var(--accent-primary);font-size:14px}.prefs-card-title h2{font-size:.9375rem;font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.prefs-card-desc{color:var(--text-tertiary);margin:6px 0 0;font-size:.8125rem}.prefs-banner{border-radius:var(--radius-md,8px);align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:.8125rem;line-height:1.5;display:flex}.prefs-banner.warn{color:var(--text-primary);background:#f59e0b1a;border:1px solid #f59e0b4d}.prefs-banner.warn svg{color:var(--warning,#f59e0b);flex-shrink:0;margin-top:2px}.prefs-banner code{font-family:var(--font-mono);background:var(--bg-base);color:var(--text-secondary);border-radius:4px;padding:1px 6px;font-size:.75rem}.prefs-radio-group{flex-direction:column;gap:10px;display:flex}.prefs-radio{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md,8px);cursor:pointer;grid-template-columns:18px 28px 1fr;align-items:start;gap:12px;padding:12px 14px;transition:border-color .12s,background .12s;display:grid}.prefs-radio:hover{border-color:var(--border-default)}.prefs-radio.selected{border-color:var(--accent-primary);background:var(--accent-subtle,#5b8cff14)}.prefs-radio input[type=radio]{accent-color:var(--accent-primary);cursor:pointer;margin:4px 0 0}.prefs-radio-icon{background:var(--bg-elevated);width:28px;height:28px;color:var(--text-secondary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.prefs-radio.selected .prefs-radio-icon{background:var(--accent-subtle);color:var(--accent-primary)}.prefs-radio-body{flex-direction:column;gap:2px;min-width:0;display:flex}.prefs-radio-title{font-size:.875rem;font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em}.prefs-radio-detail{color:var(--text-tertiary);font-size:.8125rem;line-height:1.5}.prefs-radio-control{max-width:320px;margin-top:10px}.prefs-preview{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md,8px);color:var(--text-secondary);margin-top:14px;padding:10px 14px;font-size:.8125rem}.prefs-preview-label{font-weight:var(--fw-semibold);color:var(--text-primary)}.prefs-preview strong{color:var(--text-primary)}.prefs-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-pill,999px);cursor:pointer;color:var(--text-secondary);background:0 0;align-items:center;gap:12px;padding:8px 14px 8px 8px;font-family:inherit;transition:border-color .12s,color .12s;display:inline-flex}.prefs-toggle:hover{border-color:var(--border-default);color:var(--text-primary)}.prefs-toggle.on{color:var(--draft-accent);border-color:#a855f773}.prefs-toggle-track{background:var(--bg-elevated);border-radius:999px;flex-shrink:0;width:32px;height:18px;transition:background .15s;position:relative}.prefs-toggle.on .prefs-toggle-track{background:#a855f766}.prefs-toggle-thumb{background:var(--text-tertiary);border-radius:50%;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.prefs-toggle.on .prefs-toggle-thumb{background:var(--draft-accent);transform:translate(14px);box-shadow:0 0 8px #c084fc99}.prefs-toggle-label{font-size:.8125rem}.prefs-linkout{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg,12px);cursor:pointer;text-align:left;align-items:center;gap:14px;width:100%;padding:14px 18px;font-family:inherit;transition:border-color .12s,background .12s;display:flex}.prefs-linkout:hover{border-color:var(--border-default);background:var(--bg-elevated)}.prefs-linkout-icon{width:32px;height:32px;color:var(--accent-primary);background:#5b8cff1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.prefs-linkout-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.prefs-linkout-title{font-size:.875rem;font-weight:var(--fw-semibold);color:var(--text-primary)}.prefs-linkout-detail{color:var(--text-tertiary);font-size:.8125rem}.prefs-linkout-arrow{color:var(--text-tertiary);font-size:12px}.notif-prefs-page{background:#0a0a16;min-height:100vh;padding:1.25rem 3.5rem 2.5rem}.content-area:has(.notif-prefs-page){background:#0a0a16}.content-area:has(.notif-prefs-page) .content-area-inner{max-width:1400px}.np-hero{margin-bottom:2rem}.np-title{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.notif-prefs-loading{text-align:center;color:var(--text-tertiary);padding:3rem 1rem;font-size:.875rem}.notif-prefs-description{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.8125rem;line-height:1.5}.notif-prefs-table{border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.notif-prefs-header-row{border-bottom:1px solid var(--border-subtle);background:0 0;grid-template-columns:1fr 80px 80px;gap:8px;padding:10px 16px;display:grid}.notif-prefs-header-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.notif-prefs-header-channel{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:.75rem;font-weight:600}.notif-prefs-row{grid-template-columns:1fr 80px 80px;align-items:center;gap:8px;padding:14px 16px;display:grid}.notif-prefs-row+.notif-prefs-row{border-top:1px solid var(--border-subtle)}.notif-prefs-row-info{min-width:0}.notif-prefs-row-label{color:var(--text-primary);font-size:.8125rem;font-weight:500}.notif-prefs-row-desc{color:var(--text-tertiary);margin-top:2px;font-size:.75rem}.notif-prefs-row-toggle{justify-content:center;display:flex}.notif-toggle{cursor:pointer;background:0 0;border:none;padding:0}.notif-toggle:disabled{opacity:.5;cursor:not-allowed}.notif-toggle-track{background:var(--bg-hover);border-radius:10px;width:36px;height:20px;transition:background-color .2s;display:block;position:relative}.notif-toggle.on .notif-toggle-track{background:var(--accent-primary)}.notif-toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;display:block;position:absolute;top:2px;left:2px}.notif-toggle.on .notif-toggle-thumb{transform:translate(16px)}.user-settings-page{background:#0a0a16;min-height:100vh}.content-area:has(.user-settings-page){background:#0a0a16}.content-area:has(.user-settings-page) .content-area-inner{max-width:none;padding:0}.user-settings-tab-content{max-width:none;margin:0 auto}.workspaces-page{background:#0a0a16;min-height:100vh}.content-area:has(.workspaces-page){background:#0a0a16}.content-area:has(.workspaces-page) .content-area-inner{max-width:none;padding:0}.orgs-page{background:#0a0a16;min-height:100vh;padding:1.25rem 3.5rem 2.5rem}.content-area:has(.orgs-page){background:#0a0a16}.content-area:has(.orgs-page) .content-area-inner{max-width:1400px}.org-hero{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.org-title{color:var(--text-primary);margin:0 0 .25rem;font-size:1.75rem;font-weight:700}.org-subtitle{color:var(--text-tertiary);margin:0;font-size:.875rem}.orgs-loading{color:var(--text-secondary);justify-content:center;align-items:center;padding:4rem;display:flex}.orgs-error{background:var(--danger-bg);color:var(--danger);border-radius:6px;margin-bottom:1rem;padding:.6rem .75rem;font-size:.8125rem}.orgs-name-link{color:var(--text-primary);font-weight:500;text-decoration:none;transition:color .15s}.orgs-name-link:hover{color:var(--accent-primary)}.orgs-mfa-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--warning,#e3b341);white-space:nowrap;background:#e3b3411a;border-radius:4px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.orgs-invitations{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.orgs-invitation-banner{background:#5b8cff0f;border:1px solid #5b8cff33;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.orgs-invitation-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.orgs-invitation-org{color:var(--text-primary);font-size:.875rem;font-weight:600}.orgs-invitation-detail{color:var(--text-secondary);font-size:.75rem}.orgs-invitation-actions{flex-shrink:0;gap:.375rem;display:flex}.orgs-invitation-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.3125rem .875rem;font-size:.75rem;font-weight:600;transition:all .15s}.orgs-invitation-btn.accept{background:var(--accent-primary);color:#fff}.orgs-invitation-btn.accept:hover:not(:disabled){background:var(--accent-hover)}.orgs-invitation-btn.decline{border-color:var(--border-default);color:var(--text-secondary);background:0 0}.orgs-invitation-btn.decline:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.orgs-invitation-btn:disabled{opacity:.4;cursor:default}.orgs-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.orgs-modal{border:1px solid var(--border-subtle);background:#0a0a16;border-radius:16px;width:420px;max-width:90vw;padding:2rem 2.25rem 1.75rem;box-shadow:0 8px 32px #0006}.orgs-modal-title{color:var(--text-primary);margin:0 0 1rem;font-size:1.125rem;font-weight:700}.orgs-modal-error{background:var(--danger-bg);color:var(--danger);border-radius:10px;margin-bottom:.75rem;padding:.5rem .625rem;font-size:.8125rem}.orgs-modal-field{margin-bottom:.75rem}.orgs-modal-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.75rem;font-weight:500;display:block}.orgs-modal-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.orgs-modal-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.orgs-modal-hint{color:var(--text-tertiary);margin-top:.25rem;font-size:.6875rem}.orgs-modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.orgs-modal-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.4375rem 1rem;font-size:.8125rem;font-weight:600;transition:all .15s}.orgs-modal-btn.cancel{border-color:var(--border-subtle);color:var(--text-secondary);background:0 0}.orgs-modal-btn.cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.orgs-modal-btn.create{background:var(--accent-primary);color:#fff;border:none}.orgs-modal-btn.create:hover:not(:disabled){background:var(--accent-hover)}.orgs-modal-btn:disabled{opacity:.4;cursor:default}.orgs-page .data-table-wrapper{border:1px solid var(--border-subtle);background:0 0;border-radius:12px}.orgs-page .data-table th,.orgs-page .data-table td{border-bottom-color:var(--border-subtle)}.orgs-page .data-table tbody tr:last-child td{border-bottom:none}.app{background-color:var(--frame-bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{min-height:0;padding:0 var(--frame-gap) var(--frame-gap) 0;flex-direction:row;flex:1;display:flex;overflow:hidden}.panel-area{background:var(--bg-surface);border-radius:var(--content-radius);flex-direction:column;flex-shrink:0;min-width:0;display:flex;position:relative;overflow:hidden}.panel-area.open{min-width:300px;max-width:800px;margin-right:var(--frame-gap)}.panel-area.closed{overflow:hidden;width:0!important;min-width:0!important}.panel-area.resizing{-webkit-user-select:none;user-select:none;transition:none}.panel-content{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.panel-header h3{font-size:var(--fs-10);font-weight:var(--fw-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.14em;margin:0}.panel-header-visibility{flex-shrink:0;align-items:center;display:inline-flex}.panel-header-visibility.is-disabled{opacity:.6;pointer-events:none}.panel-header-visibility-combobox{width:auto}.panel-header-visibility-combobox .combobox-trigger{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:9999px;width:auto;min-height:0;padding:.25rem .6rem;font-size:.65rem}.panel-header-visibility-combobox .combobox-trigger:hover{border-color:var(--border-default)}.panel-header-visibility-combobox .combobox-trigger.open{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.panel-header-visibility-combobox .combobox-value{color:var(--text-secondary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-weight:600}.panel-header-visibility-combobox .combobox-leading{width:14px;height:14px;color:var(--text-tertiary)}.panel-header-visibility-combobox .combobox-chevron{color:var(--text-tertiary)}.panel-header-visibility-dropdown{min-width:220px}.panel-header-visibility-dropdown .combobox-search-wrapper{padding:10px 10px 6px}.panel-header-visibility-dropdown .combobox-list{max-height:240px;padding:6px}.panel-header-visibility-dropdown .combobox-option{white-space:nowrap;border-radius:10px;padding:.55rem .75rem}.panel-header-visibility-dropdown .combobox-group-label{padding:8px 12px 6px}.panel-collapse-btn{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:color .15s,background .15s;display:flex}.panel-collapse-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.panel-collapse-btn svg{width:14px;height:14px}.panel-header:has(.panel-header-action-btn) .panel-collapse-btn{margin-left:0}.panel-header-action-btn{color:var(--accent-primary);border:1px solid var(--accent-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:9999px;align-items:center;gap:.35rem;margin-left:auto;padding:.3rem .75rem;font-family:inherit;font-size:.7rem;font-weight:600;transition:background .15s,color .15s;display:flex}.panel-header-action-btn:hover{background:var(--accent-primary);color:var(--bg-surface)}.panel-header-action-btn svg{font-size:.6rem}.panel-header-badge{font-size:var(--fs-10);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-weight:var(--fw-medium);font-family:var(--font-mono);margin-left:.25rem;padding:2px 7px;line-height:1}.tool-usage-pref-wrapper{align-items:center;margin-left:auto;display:flex;position:relative}.tool-usage-pref-btn{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex}.tool-usage-pref-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.tool-usage-pref-dropdown{background:var(--bg-elevated);border:1px solid var(--border-default);z-index:200;border-radius:6px;flex-direction:column;min-width:170px;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.tool-usage-pref-option{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.45rem .75rem;font-family:inherit;font-size:.75rem;transition:background .1s,color .1s;display:block}.tool-usage-pref-option:hover{background:var(--bg-hover);color:var(--text-primary)}.tool-usage-pref-option.active{color:var(--accent-primary);font-weight:600}.panel-header:has(.tool-usage-pref-wrapper) .panel-collapse-btn{margin-left:0}.sidebar-resize-handle{cursor:col-resize;z-index:10;background:0 0;width:4px;height:100%;transition:background .15s;position:absolute;top:0;right:0}.sidebar-resize-handle:hover,.panel-area.resizing .sidebar-resize-handle{background:var(--accent-primary)}.sidebar-scroll-wrapper{flex:1;min-height:0;position:relative;overflow:hidden}.sidebar-scroll-wrapper>.sidebar-scroll{position:absolute;inset:0}.sidebar-scroll{flex:1;padding:.75rem 1rem;overflow-y:auto}.sidebar-scroll.no-padding{padding:0}.sidebar-scroll:has(>.chat-history){flex-direction:column;padding:0;display:flex;overflow:hidden}.operations-panel{border-top:1px solid var(--border-default);background:var(--bg-surface);flex-shrink:0;padding:0 .5rem;position:relative;overflow-y:auto}.operations-panel.resizing{-webkit-user-select:none;user-select:none}.operations-panel-resize-handle{cursor:row-resize;z-index:10;background:0 0;height:4px;transition:background .15s;position:absolute;top:0;left:0;right:0}.operations-panel-resize-handle:hover,.operations-panel.resizing .operations-panel-resize-handle{background:var(--accent-primary)}.operations-panel::-webkit-scrollbar{width:6px}.operations-panel::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:3px}.operations-panel::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.operations-panel::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sidebar-input-container{background:0 0;flex-shrink:0}.main-area{background:var(--bg-base);border-radius:var(--content-radius);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.canvas-area{background:var(--canvas-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.prompt-input{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;margin:10px 16px 14px;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.prompt-input:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.prompt-input textarea{width:100%;font-family:var(--font-sans);resize:none;min-height:64px;color:var(--text-primary);background:0 0;border:none;border-radius:0;padding:10px 12px;font-size:13px;line-height:1.5}.prompt-input textarea:focus{box-shadow:none;background:0 0;outline:none}.prompt-input textarea:disabled{cursor:not-allowed;color:var(--text-disabled)}.prompt-input textarea::placeholder{color:var(--text-tertiary)}.submit-button{background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);height:26px;font-size:11px;font-weight:var(--fw-semibold);cursor:pointer;letter-spacing:.01em;border:none;align-items:center;gap:5px;padding:0 12px;transition:background .15s;display:inline-flex}.submit-button:hover:not(:disabled){background:var(--accent-hover)}.submit-button:disabled{opacity:.4;cursor:not-allowed}.prompt-input-actions{align-items:center;gap:6px;padding:6px 8px 8px;display:flex}.prompt-input-affordances{align-items:center;gap:2px;margin-right:auto;display:flex}.prompt-input-icon-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.prompt-input-icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.prompt-input-icon-btn:disabled{opacity:.5;cursor:not-allowed}.prompt-input-icon-btn.listening{color:var(--danger);background:#ef44442e;animation:1.4s ease-in-out infinite prompt-mic-pulse}@keyframes prompt-mic-pulse{0%,to{box-shadow:0 0 #ef44448c}50%{box-shadow:0 0 0 4px #ef444400}}@media (prefers-reduced-motion:reduce){.prompt-input-icon-btn.listening{animation:none}}.prompt-send-group{align-items:stretch;margin-left:auto;display:flex;position:relative}.prompt-send-group .submit-button{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:10px}.prompt-send-group .submit-button svg{margin-left:1px}.prompt-send-dropdown-btn{background:var(--accent-primary);color:#ffffffb3;border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);cursor:pointer;border:none;border-left:1px solid #ffffff1f;justify-content:center;align-items:center;padding:0 5px;transition:background .15s,color .15s;display:flex}.prompt-send-dropdown-btn:hover:not(:disabled){background:var(--accent-hover);color:#fff}.prompt-send-dropdown-btn:disabled{opacity:.4;cursor:not-allowed}.prompt-send-menu{background:var(--bg-elevated,#1a1f2e);border:1px solid var(--border-default);z-index:100;border-radius:8px;min-width:180px;padding:.25rem 0;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0006}.prompt-send-menu-item{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;display:flex}.prompt-send-menu-item:hover{background:var(--bg-hover)}.prompt-send-menu-check{width:.875rem;color:var(--accent-primary);font-weight:700;display:inline-block}.prompt-send-menu-divider{background:var(--border-default);height:1px;margin:.25rem 0}.error-message{background:var(--danger-bg);color:var(--danger-soft);border:1px solid #ef44444d;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:.625rem .75rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem;display:flex}.error-text{flex:1;min-width:0}.error-retry-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:3px;flex-shrink:0;padding:.2rem .6rem;font-family:inherit;font-size:.7rem;font-weight:600}.error-retry-btn:hover{background:#dc2626}.loading-message{box-shadow:var(--shadow-md);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;margin-bottom:.75rem;padding:1.25rem}.loading-content{align-items:center;gap:1rem;display:flex}.spinner-container{flex-shrink:0}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{text-align:left;flex:1}.loading-title{color:#fff;margin:0 0 .25rem;font-size:.9375rem;font-weight:600}.loading-subtitle{color:#ffffffd9;margin:0;font-size:.8125rem}.accepted-message{background:var(--success-bg);border:1px solid #22c55e4d;border-radius:3px;margin-bottom:.75rem;padding:.6rem}.accepted-message h3{color:var(--success);margin-bottom:.3rem;font-size:.8rem;font-weight:600}.accepted-message p{color:var(--success-soft);margin-bottom:0;font-size:.75rem;line-height:1.4}.help-text{color:var(--text-tertiary);font-size:.75rem;font-style:italic;line-height:1.4}.erd-canvas{flex:1;width:100%;height:100%;min-height:0;position:relative}.erd-canvas.preview-mode{filter:none}.draft-banner.topstrip{z-index:20;-webkit-backdrop-filter:blur(10px)saturate(140%);white-space:nowrap;background:linear-gradient(#0f0c1ce0 0%,#120e20b8 60%,#120e2000 100%);align-items:center;gap:14px;padding:14px 20px;animation:.3s ease-out draftStripIn;display:flex;position:absolute;top:0;left:0;right:0}@keyframes draftStripIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.draft-banner.topstrip:before{content:"";background:linear-gradient(90deg,#0000 0%,#a855f7e6 20%,#5b8cffe6 80%,#0000 100%);height:2px;position:absolute;top:0;left:0;right:0}.draft-banner.topstrip:after{content:"";background:linear-gradient(90deg,#0000 0%,#a855f733 50%,#0000 100%);height:1px;position:absolute;bottom:0;left:0;right:0}.draft-banner .pill{border-radius:var(--radius-pill);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--draft-accent);background:linear-gradient(135deg,#a855f72e,#5b8cff2e);border:1px solid #a855f759;flex-shrink:0;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.draft-banner .pill .dot{background:var(--draft-accent);transform-origin:50%;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite draftPillPulse;box-shadow:0 0 6px #c084fce6}@keyframes draftPillPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 6px #c084fce6,0 0 12px #c084fc4d}50%{opacity:.75;transform:scale(1.35);box-shadow:0 0 10px #c084fc,0 0 22px #c084fc8c}}@media (prefers-reduced-motion:reduce){.draft-banner .pill .dot{animation:none}}.draft-banner .msg{color:var(--text-secondary);font-size:12px;display:inline}.draft-banner.topstrip .msg{white-space:nowrap;flex-shrink:0}.draft-banner .msg strong{color:var(--text-primary);font-weight:var(--fw-semibold)}.draft-banner .stats{font-family:var(--font-mono);color:var(--text-tertiary);align-items:center;gap:14px;font-size:10.5px;display:flex}.draft-banner.topstrip .stats{border-left:1px solid #ffffff14;flex-shrink:0;padding-left:14px}.draft-banner .stat{letter-spacing:.02em;align-items:center;gap:5px;display:inline-flex}.draft-banner .stat .sw{border-radius:50%;width:6px;height:6px}.draft-banner .stat.add .sw{background:var(--success);box-shadow:0 0 6px var(--success)}.draft-banner .stat.mod .sw{background:var(--warning);box-shadow:0 0 6px var(--warning)}.draft-banner .stat.del .sw{background:var(--danger);box-shadow:0 0 6px var(--danger)}.draft-banner .stat strong{color:var(--text-primary);font-weight:var(--fw-semibold)}.draft-banner .btn-ghost{height:30px;font-size:12px;font-weight:var(--fw-semibold);border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-default);color:var(--text-secondary);background:0 0;flex-shrink:0;align-items:center;gap:5px;padding:0 14px;font-family:inherit;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.draft-banner .btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.draft-banner .btn-primary{cursor:pointer;border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;border:none;flex-shrink:0;align-items:center;gap:4px;height:32px;padding:4px;font-family:inherit;transition:background .15s;display:inline-flex}.draft-banner .btn-primary:hover:not(:disabled){background:var(--accent-hover)}.draft-banner .btn-primary .label,.draft-banner .btn-primary .count{border-radius:var(--radius-pill);height:24px;font-weight:var(--fw-semibold);letter-spacing:.01em;background:#ffffff2e;justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.draft-banner .btn-primary .label{background:0 0;font-size:12px}.draft-banner .btn-primary .count{font-family:var(--font-mono);font-size:11px}.draft-banner .btn-primary:disabled,.draft-banner .btn-ghost:disabled{opacity:.45;cursor:not-allowed}.cascade-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cascade-modal{background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);border-radius:16px;width:380px;max-width:90vw;max-height:80vh;padding:1.25rem;overflow-y:auto}.cascade-modal-header{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.cascade-modal-text{color:var(--text-secondary);margin:0 0 .75rem;font-size:.8rem;line-height:1.4}.cascade-modal-items{background:var(--bg-surface);border-radius:3px;margin:0 0 .75rem}.cascade-modal-items .action-item.readonly{cursor:default}.cascade-modal-items .action-item.readonly:hover{background:0 0}.cascade-modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.cascade-modal-btn{cursor:pointer;border:none;border-radius:4px;padding:.375rem .875rem;font-family:inherit;font-size:.8rem;font-weight:500}.cascade-modal-btn-cancel{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-default)}.cascade-modal-btn-cancel:hover{background:var(--bg-active)}.cascade-modal-btn-confirm{background:var(--danger);color:#fff}.cascade-modal-btn-confirm:hover{background:#dc2626}.entity-node{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;min-width:250px;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative;overflow:visible;box-shadow:0 4px 16px #0000004d}.entity-toolbar{transform-origin:top;background:var(--frame-bg);border:1px solid var(--border-strong);border-radius:0 0 var(--radius-lg) var(--radius-lg);opacity:0;pointer-events:none;z-index:-1;white-space:nowrap;border-top:none;align-items:center;gap:2px;padding:4px 6px;transition:opacity .18s,transform .22s cubic-bezier(.2,.7,.2,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(0);box-shadow:0 6px 14px #0000008c}.entity-node:hover .entity-toolbar,.entity-toolbar:hover,.entity-node.entity-focused .entity-toolbar,.react-flow__node.selected .entity-toolbar{opacity:1;pointer-events:auto;z-index:10;transform:translateY(100%)}.entity-toolbar .entity-toolbar-btn-danger{margin-left:auto}.entity-toolbar-btn{width:30px;height:26px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:.8rem;transition:background .1s,color .1s;display:flex}.entity-toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.entity-toolbar-btn.active{color:var(--accent-primary)}.entity-toolbar-btn.active:hover{color:#93bbfd}.entity-toolbar-btn-danger:hover{color:var(--danger-soft);background:#ef444433}.entity-toolbar-btn-ai{color:#c4b0ff}.entity-toolbar-btn-ai:hover{color:#ddd0ff;background:#a882ff33}.entity-toolbar-btn-ai:disabled{opacity:.5;cursor:not-allowed}.entity-add-menu{background:var(--bg-elevated);border:1px solid var(--border-default);z-index:20;border-radius:6px;min-width:110px;padding:3px;position:absolute;bottom:calc(100% + 4px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 30px #00000073}.entity-add-menu-item{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:7px;padding:6px 10px;font-family:inherit;font-size:.7rem;font-weight:500;transition:background .1s,color .1s;display:flex}.entity-add-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.entity-add-menu-icon{text-align:center;flex-shrink:0;width:14px;font-size:.7rem}.react-flow__node.node-dimmed{transition:opacity .15s;opacity:.3!important}.react-flow__node.canvas-diff-absent{opacity:.32;filter:saturate(.4);transition:opacity .15s,filter .15s}.react-flow__node.canvas-diff-absent:hover{opacity:.55}.react-flow__node.node-active{transition:opacity .15s;opacity:1!important;z-index:100!important}.react-flow__node.node-neighbor{transition:opacity .15s;opacity:.6!important}.react-flow__node.node-dimmed .entity-node{opacity:1}.entity-node.entity-focused{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary), 0 2px 8px #5b8cff40}.erd-canvas:has(.react-flow__node.selected) .react-flow__node:not(.selected){opacity:.55;transition:opacity .16s}.erd-canvas .react-flow__node.selected{z-index:20!important}.erd-canvas .react-flow__node.selected .entity-node{box-shadow:0 22px 44px #0000008c, 0 0 0 2px rgba(var(--subj-rgb,56, 189, 248), .4), 0 0 70px rgba(var(--subj-rgb,56, 189, 248), .18);transition:border-color .16s,box-shadow .16s,transform .16s;transform:translateY(-2px);border-top-color:var(--subj-color,var(--node-accent))!important;border-right-color:var(--subj-color,var(--node-accent))!important;border-bottom-color:var(--subj-color,var(--node-accent))!important}.entity-node:hover{border-top-color:var(--border-strong);border-right-color:var(--border-strong);border-bottom-color:var(--border-strong);border-left-color:var(--subj-color,var(--node-accent));transform:translateY(-1px);box-shadow:0 6px 20px #0006}.entity-collab-halo{border-radius:inherit;pointer-events:none;z-index:0;position:absolute;inset:0}.entity-collab-halo-overflow{background:var(--bg-elevated);border:1px solid var(--border-subtle);min-width:18px;height:18px;font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-semibold);color:var(--text-secondary);pointer-events:none;z-index:1;border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:flex;position:absolute;top:-10px;right:-10px}.entity-collab-name-tabs{z-index:2;display:flex;position:absolute;bottom:calc(100% - 10px);left:8px}.entity-collab-name-avatar{border-radius:var(--radius-md);border:2px solid var(--user-color,var(--accent-primary));background:var(--bg-elevated);pointer-events:auto;cursor:default;justify-content:center;align-items:center;width:28px;height:28px;margin-left:-8px;transition:transform .12s;display:inline-flex;position:relative;overflow:visible;box-shadow:0 1px 3px #00000080}.entity-collab-name-avatar>img,.entity-collab-name-avatar>.entity-collab-name-avatar-initial{border-radius:calc(var(--radius-md) - 2px);overflow:hidden}.entity-collab-name-avatar:first-child{margin-left:0}.entity-collab-name-avatar:hover{z-index:1;transform:translateY(-2px)scale(1.12)}.entity-collab-name-avatar img{object-fit:cover;width:100%;height:100%;display:block}.entity-collab-name-avatar-initial{width:100%;height:100%;font-family:var(--font-sans);font-size:12px;font-weight:var(--fw-bold);color:#000000e0;letter-spacing:-.02em;justify-content:center;align-items:center;display:flex}.attr-collab-editing{border-radius:var(--radius-md);border:2px solid var(--editor-color);background:var(--bg-elevated);vertical-align:middle;cursor:help;justify-content:center;align-items:center;width:18px;height:18px;margin-left:6px;display:inline-flex;position:relative;overflow:visible;box-shadow:0 1px 2px #00000073}.attr-collab-editing>img,.attr-collab-editing>.attr-collab-editing-initial{border-radius:calc(var(--radius-md) - 2px);overflow:hidden}.attr-collab-editing-img{object-fit:cover;width:100%;height:100%;display:block}.attr-collab-editing-initial{width:100%;height:100%;font-family:var(--font-sans);font-size:9px;font-weight:var(--fw-bold);color:#000000e0;justify-content:center;align-items:center;display:flex}.zoom-labels .entity-node .index-section{visibility:hidden}.zoom-labels .entity-node:after,.entity-node.entity-lod:after{content:attr(data-entity-name);text-align:center;color:var(--text-primary);background:var(--node-bg);text-overflow:ellipsis;z-index:5;pointer-events:none;border:2px solid #0000;border-radius:0 4px 4px 0;justify-content:center;align-items:center;padding:.5rem;font-size:2.4rem;font-weight:700;display:flex;position:absolute;inset:0;overflow:hidden}.zoom-labels .entity-node.diff-added:after,.entity-node.entity-lod.diff-added:after{background:var(--success-bg);border-color:var(--success);color:#fff}.zoom-labels .entity-node.diff-modified:after,.entity-node.entity-lod.diff-modified:after{background:var(--warning-bg);border-color:var(--warning);color:#fff}.zoom-labels .entity-node .entity-header,.zoom-labels .entity-node .entity-body,.zoom-labels .entity-node .entity-toolbar,.zoom-labels .entity-node .entity-routine-meta,.zoom-labels .entity-node .entity-indexes{visibility:hidden}.zoom-labels .react-flow__edge-text,.zoom-labels .react-flow__edge-textbg,.zoom-labels .rel-card-bg,.zoom-labels .rel-card-t{display:none}.entity-header{color:#fff;border-bottom:1px solid var(--border-subtle);background:rgba(var(--subj-rgb,56, 189, 248), .85);border-radius:8px 8px 0 0;padding:.5rem .75rem}.entity-header h3{font-family:var(--font-mono);font-size:.825rem;font-weight:var(--fw-semibold);letter-spacing:-.01em;color:#fff;text-shadow:0 1px 2px #00000040;align-items:center;gap:.4rem;margin:0;display:flex}.entity-header-view{background:var(--node-header-view-bg);border-bottom-color:#0d4f49}.entity-header-routine{background:var(--accent-magic);border-bottom-color:#6d28d9}.entity-type-badge{font-family:var(--font-mono);font-size:.5rem;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 1px 2px #0003;background:#ffffff38;border-radius:3px;flex-shrink:0;margin-left:auto;padding:.15rem .4rem;line-height:1}.entity-header-expand-btn{color:#fff;cursor:pointer;opacity:.65;background:#ffffff24;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:.55rem;line-height:1;transition:background .12s,opacity .12s;display:inline-flex}.entity-header-expand-btn:hover{opacity:1;background:#ffffff4d}.entity-type-badge.badge-table{color:#c2d4ff;text-shadow:0 1px 2px #00000059;background:#5b8cff59}.entity-type-badge.badge-view{color:#a7f3d0;text-shadow:0 1px 2px #00000059;background:#10b98159}.entity-type-badge.badge-procedure,.entity-type-badge.badge-function{color:#f3e8ff;text-shadow:0 1px 2px #00000059;background:#d8b4fe4d}.entity-desc-indicator{color:#ffffffb3;cursor:pointer;flex-shrink:0;align-items:center;display:flex}.entity-desc-indicator:hover{color:#fff}.entity-node.diff-added .entity-header.entity-header-view{background:#065f46}.entity-node.diff-modified .entity-header.entity-header-view{background:#854d0e}.entity-node.diff-added .entity-header.entity-header-routine{background:#065f46}.entity-node.diff-modified .entity-header.entity-header-routine{background:#854d0e}.param-direction-badge{letter-spacing:.04em;vertical-align:middle;border-radius:2px;margin-right:.3rem;padding:.05rem .25rem;font-size:.55rem;font-weight:700;line-height:1;display:inline-block}.param-dir-in{color:#1e40af;background:#dbeafe}.param-dir-out{color:#92400e;background:#fef3c7}.param-dir-inout{color:#5b21b6;background:#ede9fe}.index-section{border-top:1px solid var(--border-subtle);background:var(--bg-elevated);padding:6px 10px 7px}.index-section-header{font-family:var(--font-mono);font-size:8.5px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.14em;color:var(--text-disabled);margin-bottom:4px}.index-row{color:var(--text-secondary);border-radius:4px;align-items:center;gap:.3rem;margin:0 -4px;padding:.15rem 4px;font-size:.7rem;transition:background-color .1s;display:flex}.index-row:hover{background:var(--bg-hover)}.index-icon{color:var(--accent-primary);flex-shrink:0;font-size:.6rem}.index-icon.index-pk{color:#d97706}.index-name{color:var(--text-primary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-weight:600}.index-columns{color:var(--text-tertiary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.65rem}.index-row-menu-trigger{width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:.7rem;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.index-row:hover .index-row-menu-trigger{opacity:.85}.index-row-menu-trigger:hover,.index-row-menu-trigger.open{opacity:1;background:var(--bg-hover);color:var(--text-primary)}.entity-name-editable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.entity-name-editable:hover{opacity:.8}.entity-name-editable.entity-name-friendly{font-family:var(--font-sans);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight)}.entity-sql-name-subtitle{font-family:var(--font-mono);letter-spacing:.02em;color:#fff9;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:2px;font-size:.65rem;transition:color .15s;display:inline-block}.entity-sql-name-subtitle:hover{color:#fffffff2;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.entity-name-input{color:#fff;width:100%;font-size:.825rem;font-weight:var(--fw-semibold);font-family:var(--font-mono);letter-spacing:-.01em;background:0 0;border:none;border-bottom:2px solid #ffffffd9;outline:none;margin:0;padding:0}.entity-body{background:var(--bg-surface);padding:0}.attributes-table{border-collapse:collapse;width:100%}.attributes-table tr{border-top:1px solid #ffffff06}.attributes-table tr:first-child{border-top:none}.attribute-row{cursor:pointer;transition:all .2s ease-in-out}.attribute-row[draggable=true]{cursor:grab}.attribute-row.dragging{opacity:.4}.attribute-row.drag-over{border-top:2px solid var(--accent-primary,#5b8cff)}.attribute-row:hover{background:var(--bg-hover)}.attribute-row.editing{background:var(--bg-hover);position:relative}.attribute-row.highlighted{box-shadow:inset 0 0 0 2px var(--accent-primary);z-index:10;position:relative;background:var(--info-bg)!important}.row-arrow{pointer-events:none;z-index:10;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:-20px}.arrow-pointer{border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:8px solid var(--node-header-bg);width:0;height:0}.attributes-table tr.primary-key{background:#f59e0b0d}.attributes-table td{padding:.4rem .75rem;font-size:.75rem}.attr-name{color:var(--text-primary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-weight:500}.attr-friendly-name{font-family:var(--font-sans);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight);display:inline-block}.attr-sql-name-subtitle{font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.02em;margin-top:1px;font-size:.62rem;display:block}.attr-type{color:var(--text-tertiary);text-align:left;padding-left:.5rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.7rem}.attr-type.type-integer{color:var(--type-integer)}.attr-type.type-string{color:var(--type-string)}.attr-type.type-date{color:var(--type-date)}.attr-type.type-boolean{color:var(--type-boolean)}.attr-type.type-decimal{color:var(--type-decimal)}.attr-type.type-binary{color:var(--type-binary)}.attr-type.type-json{color:var(--type-json)}.attr-type.type-uuid{color:var(--type-uuid)}.attr-type.type-default{color:var(--type-default)}.attr-badges{white-space:nowrap;justify-content:flex-end;align-items:center;gap:5px;padding-right:.5rem;display:flex}.attr-badge{letter-spacing:.03em;padding:0;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.6rem;font-weight:700;line-height:1}.badge-pk{color:var(--badge-pk)}.badge-fk{color:var(--badge-fk)}.badge-null{color:var(--badge-null)}.badge-ak{color:var(--badge-unique)}.badge-ai{color:var(--badge-ai)}.badge-default{color:var(--badge-default)}.badge-check{color:var(--badge-check)}.badge-gen{color:var(--badge-gen)}.index-type-tag{color:var(--text-tertiary);margin-left:4px;font-size:.55rem;font-weight:500}.routine-meta{color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);gap:6px;padding:2px 8px 4px;font-size:.65rem;display:flex}.routine-meta-tag{background:var(--bg-hover);border-radius:3px;padding:1px 5px}.edge-fk-actions{opacity:.75;font-size:.7em}.key-icon{margin-right:.35rem;font-size:.7rem}.primary-key-icon{color:var(--badge-pk)}.foreign-key-icon{color:var(--badge-fk)}.no-attributes{text-align:center;color:var(--text-tertiary);padding:.75rem;font-size:.75rem}.controls{background:var(--bg-surface);border-top:1px solid var(--border-subtle);color:var(--text-secondary);flex-shrink:0;padding:.25rem .75rem}.control-group{justify-content:space-between;align-items:center;max-width:100%;display:flex}.schema-summary,.status-info{align-items:center;gap:.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.6875rem;display:flex}.summary-item{align-items:center;gap:.25rem;display:flex}.summary-label{color:var(--text-tertiary);font-weight:400}.summary-value{color:var(--text-secondary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-weight:400}.summary-divider{color:var(--border-default);margin:0 .125rem;font-weight:300}.token-pct{color:var(--text-tertiary);cursor:default;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace}.version-bar-debug-btn{border:1px solid var(--border-default);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:3px;margin-left:.25rem;padding:.1rem .4rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.6rem}.version-bar-debug-btn:hover{color:var(--text-secondary);border-color:var(--border-strong)}.version-bar-debug-btn.active{color:#a5b4fc;background:#6366f126;border-color:#6366f1}.version-dropdown-trigger{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.version-dropdown-trigger.no-versions{cursor:default}.version-dropdown-chevron{margin-left:2px;font-size:.5rem}.version-dropdown{background:var(--bg-elevated);border:1px solid var(--border-default);z-index:100;min-width:220px;max-height:200px;box-shadow:var(--shadow-lg);border-radius:4px;margin-bottom:.5rem;position:absolute;bottom:100%;left:0;overflow-y:auto}.version-dropdown-item{text-align:left;width:100%;color:var(--text-tertiary);cursor:pointer;border:none;border-bottom:1px solid var(--border-subtle);background:0 0;padding:.4rem .75rem;font-family:inherit;font-size:.6875rem;display:block}.version-dropdown-item:hover{background:var(--bg-hover)}.version-dropdown-item.active{background:var(--bg-active);color:var(--text-primary);cursor:default}.version-dropdown-source{opacity:.7;margin-left:.5rem}.version-dropdown-desc{opacity:.6;white-space:nowrap;text-overflow:ellipsis;max-width:200px;margin-top:2px;font-size:.6rem;overflow:hidden}.unsaved-label{color:var(--warning)}.btn-save-version{padding:.25rem .5rem;font-size:.6875rem}.export-dialog{max-width:420px}.export-dialog .edit-popover-body{padding:0}.export-section{padding:1.25rem}.export-section+.export-section{border-top:1px solid var(--border-subtle)}.export-section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;font-size:.7rem;font-weight:600}.export-card-group{gap:.5rem;display:flex}.export-card{background:var(--bg-base);border:1.5px solid var(--border-subtle);cursor:pointer;text-align:left;color:var(--text-secondary);border-radius:8px;flex-direction:column;flex:1;align-items:flex-start;gap:.5rem;padding:.75rem;transition:all .15s;display:flex;position:relative}.export-card:hover{border-color:var(--border-strong);background:var(--bg-hover)}.export-card.selected{border-color:var(--accent-primary);background:var(--accent-subtle)}.export-card.selected .export-card-icon{color:var(--accent-primary)}.export-card.selected .export-card-title{color:var(--text-primary)}.export-card-icon{color:var(--text-tertiary);transition:color .15s}.export-card-text{flex-direction:column;gap:.125rem;display:flex}.export-card-title{color:var(--text-secondary);font-size:.8rem;font-weight:600;transition:color .15s}.export-card-desc{color:var(--text-tertiary);font-size:.675rem}.export-card-radio{border:1.5px solid var(--border-strong);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;transition:border-color .15s;display:flex;position:absolute;top:.75rem;right:.75rem}.export-card.selected .export-card-radio{border-color:var(--accent-primary)}.export-radio-dot{background:0 0;border-radius:50%;width:8px;height:8px;transition:background .15s}.export-card.selected .export-radio-dot{background:var(--accent-primary)}.export-primary-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.75rem;padding:.6rem 1rem;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.export-primary-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #5b8cff4d}.export-primary-btn:active{box-shadow:none;transform:translateY(0)}.export-schema-row{gap:.5rem;display:flex}.export-schema-btn{background:var(--bg-base);color:var(--text-secondary);border:1.5px solid var(--border-subtle);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.export-schema-btn:hover{border-color:var(--border-strong);background:var(--bg-hover);color:var(--text-primary)}.export-schema-btn:active{background:var(--bg-active)}.settings-dialog{max-width:520px}.settings-field{margin-bottom:.75rem}.settings-field-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.settings-section-divider{border-top:1px solid var(--border-subtle);margin-top:.25rem;padding-top:1.25rem}.settings-timestamp-row{gap:.5rem;margin-top:.25rem;display:flex}.settings-timestamp-row .form-input{flex:1;font-size:.75rem}.settings-checkbox-row{margin-bottom:.5rem}.settings-toggle-row{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.settings-toggle-switch{background:var(--border-default);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;width:44px;height:24px;padding:0;transition:background .2s;position:relative}.settings-toggle-switch.active{background:var(--accent-primary)}.settings-toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.settings-toggle-switch.active .settings-toggle-knob{transform:translate(20px)}.button-group{gap:.5rem;display:flex}.button{cursor:pointer;border:1px solid;border-radius:999px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;transition:all .15s}.button:disabled{opacity:.4;cursor:not-allowed}.button-accept{background:var(--success);color:#fff;border-color:#047857}.button-accept:hover:not(:disabled){background:#047857}.button-decline{color:var(--text-secondary);border-color:var(--border-default);background:0 0}.button-decline:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.button-primary{background:var(--accent-primary);color:#fff;border-color:#0000}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-secondary{color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:999px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;transition:all .15s}.button-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.status-badge{border-radius:3px;padding:.4rem .75rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem;font-weight:500;display:inline-block}.status-badge.accepted{background:var(--success-bg);color:var(--success);border:1px solid #22c55e4d}.export-container{position:relative}.export-menu{background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-md);z-index:10;border-radius:3px;min-width:160px;margin-bottom:.5rem;position:absolute;bottom:100%;right:0;overflow:hidden}.export-menu button{text-align:left;background:var(--bg-elevated);cursor:pointer;width:100%;color:var(--text-primary);border:none;padding:.5rem .75rem;font-size:.75rem;transition:background .15s;display:block}.export-menu button:hover{background:var(--bg-hover)}.export-menu button+button{border-top:1px solid var(--border-subtle)}.react-flow__node{cursor:default}.react-flow__node-group{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}.react-flow__handle{opacity:0;pointer-events:none;background:0 0;border:none;width:7px;height:7px}.react-flow__edge{z-index:0;cursor:pointer}.react-flow__edge-path{stroke-width:1.5px;stroke:var(--canvas-edge);fill:none;transition:stroke .15s,stroke-width .15s,opacity .15s}.erd-canvas[data-hovered-edge]:not([data-hovered-edge=""]) .react-flow__edge-path{opacity:.2;stroke-width:2px}.react-flow__edge.edge-active,.react-flow__edge.edge-focused,.erd-canvas[data-hovered-edge]:not([data-hovered-edge=""]) .react-flow__edges{z-index:1000!important}.react-flow__edge.edge-active .react-flow__edge-path{stroke:var(--accent-primary)!important;stroke-width:2.5px!important;stroke-dasharray:none!important;opacity:1!important}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--text-tertiary);stroke-width:2.5px}.react-flow__edge-textbg{fill:var(--bg-elevated);fill-opacity:1;stroke:var(--border-default);stroke-width:1px;transition:opacity .15s}.react-flow__edge-text{fill:var(--text-secondary);letter-spacing:.02em;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:10px;font-weight:500;transition:opacity .15s}.erd-canvas[data-hovered-edge]:not([data-hovered-edge=""]) .react-flow__edge-text,.erd-canvas[data-hovered-edge]:not([data-hovered-edge=""]) .react-flow__edge-textbg{opacity:.2}.react-flow__edge.edge-active .react-flow__edge-text,.react-flow__edge.edge-active .react-flow__edge-textbg{opacity:1!important}.rel-group{pointer-events:none;transition:opacity .16s}.rel-group .rel-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.rel-group path.rel{fill:none;stroke:#8ca0c859;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s,stroke-width .15s}.rel-group.is-active path.rel,.rel-group path.rel.active,.react-flow__edge.selected .rel-group path.rel,.react-flow__edge.edge-active .rel-group path.rel,.react-flow__edge.edge-focused .rel-group path.rel{stroke:var(--accent-primary);stroke-width:2px;filter:drop-shadow(0 0 6px #5b8cff80)}.rel-group path.rel.animated{stroke-dasharray:6 4;animation:1.6s linear infinite fk-edge-dash}@keyframes fk-edge-dash{to{stroke-dashoffset:-20px}}@media (prefers-reduced-motion:reduce){.rel-group path.rel.animated{animation:none}}.erd-canvas[data-rel-style=off] .react-flow__edge:not(.view-dep-edge){display:none}.erd-canvas[data-rel-style=solid] .rel-group:not(.is-view-dep) path.rel{stroke-dasharray:none;animation:none}.erd-canvas[data-rel-style=dashed] .rel-group:not(.is-view-dep) path.rel{stroke-dasharray:6 4;animation:none}.erd-canvas[data-vdep-style=off] .react-flow__edge.view-dep-edge{display:none}.erd-canvas[data-vdep-style=solid] .rel-group.is-view-dep path.rel{stroke-dasharray:none;animation:none}.erd-canvas[data-vdep-style=dashed] .rel-group.is-view-dep path.rel{stroke-dasharray:8 4;animation:none}.erd-canvas[data-rel-width="1"] .rel-group:not(.is-view-dep) path.rel{stroke-width:1px}.erd-canvas[data-rel-width="2"] .rel-group:not(.is-view-dep) path.rel{stroke-width:1.5px}.erd-canvas[data-rel-width="3"] .rel-group:not(.is-view-dep) path.rel{stroke-width:2.25px}.erd-canvas[data-vdep-width="1"] .rel-group.is-view-dep path.rel{stroke-width:1px}.erd-canvas[data-vdep-width="2"] .rel-group.is-view-dep path.rel{stroke-width:1.5px}.erd-canvas[data-vdep-width="3"] .rel-group.is-view-dep path.rel{stroke-width:2.25px}.rel-group .rel-card-bg{fill:var(--bg-surface);stroke:#8ca0c866;stroke-width:1px;transition:stroke .15s}.rel-group .rel-card-t{fill:var(--text-secondary);font-family:var(--font-mono);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:11px;font-weight:600}.rel-group .rel-card-t.many{fill:var(--badge-fk,#10b981);font-size:14px}.rel-group .rel-card-t.one{fill:var(--badge-pk,#f59e0b)}.rel-group.is-active .rel-card-bg,.react-flow__edge.selected .rel-group .rel-card-bg,.react-flow__edge.edge-active .rel-group .rel-card-bg,.react-flow__edge.edge-focused .rel-group .rel-card-bg{stroke:var(--accent-primary);stroke-width:1.5px}.rel-group .rel-label{opacity:0;pointer-events:none;transition:opacity .15s}.rel-group.is-active .rel-label,.react-flow__edge.selected .rel-group .rel-label,.react-flow__edge.edge-active .rel-group .rel-label,.react-flow__edge.edge-focused .rel-group .rel-label{opacity:1}.rel-group .rel-label-bg{fill:var(--bg-surface);stroke:var(--accent-primary);stroke-width:1px;filter:drop-shadow(0 2px 8px #00000059)}.rel-group .rel-label-t{fill:var(--text-primary);font-family:var(--font-mono);text-anchor:middle;dominant-baseline:central;letter-spacing:.01em;pointer-events:none;font-size:10px;font-weight:500}.erd-canvas[data-hovered-edge]:not([data-hovered-edge=""]) .rel-group{opacity:.22}.erd-canvas[data-hovered-edge]:not([data-hovered-edge=""]) .rel-group.is-active,.erd-canvas[data-hovered-edge]:not([data-hovered-edge=""]) .react-flow__edge:hover .rel-group,.erd-canvas[data-hovered-edge]:not([data-hovered-edge=""]) .react-flow__edge.edge-active .rel-group{opacity:1}.react-flow__controls{box-shadow:var(--shadow-md)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-md)!important;background:var(--bg-elevated)!important;overflow:hidden!important}.react-flow__controls.canvas-lock-controls{bottom:114px!important}.react-flow__controls.canvas-lock-controls .react-flow__controls-button{border-bottom:none!important}.react-flow__controls.canvas-lock-controls .canvas-lock-btn.locked,.react-flow__controls.canvas-lock-controls .canvas-lock-btn.locked:hover,.react-flow__controls.canvas-lock-controls .canvas-lock-btn.locked svg{color:var(--accent-primary)!important}.react-flow__controls-button{transition:background .15s,fill .15s,color .15s;background:var(--bg-elevated)!important;border:none!important;border-bottom:1px solid var(--border-subtle)!important;width:30px!important;height:30px!important;fill:var(--text-secondary)!important;color:var(--text-secondary)!important}.react-flow__controls-button:hover{background:var(--bg-hover)!important;fill:var(--text-primary)!important;color:var(--text-primary)!important}.react-flow__controls-button:active{background:var(--bg-active)!important}.react-flow__controls-button svg{transition:fill .15s;fill:var(--text-secondary)!important;max-width:14px!important;max-height:14px!important}.react-flow__controls-button svg path,.react-flow__controls-button svg line,.react-flow__controls-button svg polyline{fill:inherit!important;stroke:var(--text-secondary)!important}.react-flow__controls-button:hover svg{fill:var(--text-primary)!important}.react-flow__controls-button:hover svg path,.react-flow__controls-button:hover svg line,.react-flow__controls-button:hover svg polyline{fill:inherit!important;stroke:var(--text-primary)!important}.react-flow__minimap{border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;background:var(--bg-surface)!important}.react-flow__minimap-mask{fill:#5b8cff1a}.react-flow__minimap-node{fill:var(--bg-hover);stroke:var(--border-default)}.react-flow__background{background:var(--canvas-bg)}.react-flow__attribution{background:0 0!important}.react-flow__attribution a{opacity:.5;font-size:.65rem;transition:opacity .15s;color:var(--text-tertiary)!important}.react-flow__attribution a:hover{opacity:.8}.react-flow__panel{margin:8px}.entity-edit-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.entity-edit-popover{background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;width:90%;max-width:600px;max-height:80vh;display:flex}.edit-popover-header{border-bottom:1px solid var(--border-subtle);background:0 0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.edit-popover-header h3{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:700}.close-button{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1.25rem;transition:background .15s;display:flex}.close-button:hover{background:var(--bg-hover);color:var(--text-primary)}.edit-popover-body{flex:1;padding:1.25rem;overflow-y:auto}.form-group{margin-bottom:1.25rem}.form-group>label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-subtle);align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;font-size:.6875rem;font-weight:600;display:flex}.form-input{border:1px solid var(--border-subtle);background:var(--bg-input);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.form-input::placeholder{color:var(--text-tertiary)}select.form-input{cursor:pointer}select.form-input option{background:var(--bg-elevated);color:var(--text-primary)}textarea.form-input{resize:vertical;min-height:80px}.attributes-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.add-attribute-button{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:.4rem .75rem;font-size:.75rem;font-weight:500;transition:background .15s}.add-attribute-button:hover{background:var(--accent-hover)}.attributes-list{flex-direction:column;gap:.5rem;display:flex}.attribute-form-row{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:3px;align-items:center;gap:.5rem;padding:.5rem;display:flex}.attr-input{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);border-radius:3px;padding:.4rem .5rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem}.attr-input:focus{border-color:var(--accent-primary);outline:none}.attr-name-input{flex:1;min-width:120px}.attr-type-select{width:140px}.checkbox-label{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.25rem;font-size:.7rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:var(--accent-primary)}.checkbox-label span{font-weight:500}.remove-attr-button{border:1px solid var(--border-default);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.2rem;line-height:1;transition:all .15s;display:flex}.remove-attr-button:hover{background:var(--danger-bg);color:var(--danger);border-color:#ef44444d}.edit-popover-footer{border-top:1px solid var(--border-subtle);background:0 0;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.chat-history{margin-bottom:1rem}.chat-history-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);margin-bottom:.5rem;padding-bottom:.4rem;font-size:.7rem;font-weight:500}.chat-empty{color:var(--text-tertiary);padding:.75rem 0;font-size:.8rem;line-height:1.4}.chat-messages{flex-direction:column;gap:.5rem;display:flex}.chat-message{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:3px;padding:.6rem;font-size:.8rem;transition:border-color .15s}.chat-message:hover{border-color:var(--border-default)}.chat-message-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.chat-message-number{color:var(--text-tertiary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.7rem;font-weight:600}.chat-status{border-radius:2px;padding:.15rem .4rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.7rem;font-weight:500}.chat-status.accepted{background:var(--success-bg);color:var(--success)}.chat-status.declined{background:var(--danger-bg);color:var(--danger)}.chat-status.pending{background:var(--info-bg);color:var(--accent-primary)}.chat-message-prompt{color:var(--text-primary);margin-bottom:.4rem;font-size:.8rem;line-height:1.4}.changes-toggle{text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:2px;align-items:center;gap:.4rem;margin-bottom:.3rem;padding:.4rem .5rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem;transition:all .15s;display:flex}.changes-toggle:hover{background:var(--bg-hover);border-color:var(--border-default)}.toggle-icon{color:var(--text-tertiary);font-size:.65rem;transition:transform .15s;display:inline-block}.toggle-icon.expanded{transform:rotate(90deg)}.changes-list{background:var(--bg-surface);border-left:2px solid var(--border-default);color:var(--text-secondary);margin:0 0 .3rem;padding:.5rem .5rem .5rem 1.5rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem;line-height:1.5}.changes-list li{margin-bottom:.2rem}.chat-message-time{color:var(--text-tertiary);text-align:right;margin-top:.3rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.65rem}.entity-node.diff-added{border-color:var(--success);border-left-color:var(--success);box-shadow:0 0 8px #22c55e33}.entity-node.diff-added .entity-header{background:#15803d}.entity-node.diff-modified{border-color:var(--warning);border-left-color:var(--warning);box-shadow:0 0 8px #f59e0b33}.entity-header.diff-header-modified{background:#92400e}.attribute-row.diff-attr-added{border-left:3px solid var(--success);background:var(--success-bg)!important}.attribute-row.diff-attr-modified{border-left:3px solid var(--warning);background:var(--warning-bg)!important}.attribute-row.diff-attr-removed{border-left:3px solid var(--danger);opacity:.85;-webkit-text-decoration:line-through #ef4444b3;text-decoration:line-through #ef4444b3;background:#ef444424!important}.index-row.diff-attr-added,.index-row.diff-attr-modified,.index-row.diff-attr-removed{border-radius:var(--radius-sm);margin:1px -2px;padding:4px 8px}.index-row.diff-attr-added{background:var(--success-bg)!important}.index-row.diff-attr-modified{background:var(--warning-bg)!important}.index-row.diff-attr-removed{opacity:.85;-webkit-text-decoration:line-through #ef4444b3;text-decoration:line-through #ef4444b3;background:#ef444424!important}.react-flow__node.react-flow__node-canvas-diff-ghost{opacity:1!important;z-index:1000!important}.entity-node.entity-node-ghost{border-style:dashed;border-color:var(--text-tertiary,#6b7280);background:var(--bg-elevated,#1f2937);filter:saturate(.85);box-shadow:0 6px 22px #0000008c}.entity-node.entity-node-ghost:hover{transform:none}.entity-node-ghost-badge,.entity-node-live-badge{border-radius:var(--radius-sm,4px);font-size:11px;font-weight:var(--fw-semibold,600);letter-spacing:.04em;z-index:1;pointer-events:none;white-space:nowrap;padding:1px 8px;position:absolute;top:-10px;left:12px}.entity-node-ghost-badge{background:var(--bg-primary,#111827);color:var(--text-secondary,#9ca3af);border:1px solid var(--border-default,#374151)}.entity-node-live-badge{background:var(--accent-primary,#5b8cff);color:#fff;border:1px solid var(--accent-primary,#5b8cff);box-shadow:0 2px 6px #5b8cff66}.attr-classification-chips,.entity-header-classification-chips{flex-wrap:wrap;align-items:center;gap:4px;margin-left:6px;display:inline-flex}.attr-marker-chip,.attr-tag-chip{border-radius:var(--radius-sm,4px);height:16px;font-family:var(--font-mono);font-size:9.5px;font-weight:var(--fw-semibold);letter-spacing:.04em;white-space:nowrap;background:0 0;border:1px solid;align-items:center;padding:0 6px;line-height:1;display:inline-flex}.attr-marker-chip.sev-medium{background:#f59e0b14}.attr-marker-chip.sev-high{background:#ef44441f}.attr-marker-chip.sev-critical{background:#ef444438;box-shadow:0 0 4px #ef444473}.attr-tag-chip{font-family:var(--font-sans);font-weight:var(--fw-medium);letter-spacing:0}.entity-header-classification-chips{margin-left:auto;margin-right:6px}.entity-node.sensitivity-low:before,.entity-node.sensitivity-medium:before,.entity-node.sensitivity-high:before,.entity-node.sensitivity-critical:before{content:"";pointer-events:none;border-radius:var(--radius-lg) 0 0 var(--radius-lg);width:3px;position:absolute;top:0;bottom:0;left:0}.entity-node.sensitivity-low:before{background:var(--text-secondary)}.entity-node.sensitivity-medium:before{background:var(--warning);box-shadow:0 0 6px #f59e0b73}.entity-node.sensitivity-high:before{background:var(--danger);box-shadow:0 0 6px #ef444473}.entity-node.sensitivity-critical:before{background:var(--danger);box-shadow:0 0 10px #ef4444b3}.zoom-labels .entity-node.sensitivity-high:after,.zoom-labels .entity-node.sensitivity-critical:after,.entity-node.entity-lod.sensitivity-high:after,.entity-node.entity-lod.sensitivity-critical:after{box-shadow:inset 0 0 0 2px var(--danger)}.react-flow__edge.diff-edge-added .react-flow__edge-path{stroke-width:2.5px;stroke:var(--success)!important}.react-flow__edge.diff-edge-modified .react-flow__edge-path{stroke-width:2.5px;stroke:var(--warning)!important}.react-flow__node.op-focused{z-index:100!important}.react-flow__node.op-focused .entity-node{box-shadow:0 0 0 2px var(--accent-primary), 0 0 12px #5b8cff4d}.react-flow__node.op-dimmed{transition:opacity .15s;opacity:.3!important}.attribute-row.op-focused-attr{box-shadow:inset 0 0 0 2px var(--accent-primary);z-index:10;position:relative;background:var(--info-bg)!important}.react-flow__edge.op-focused-edge .react-flow__edge-path{stroke:var(--accent-primary)!important;stroke-width:3px!important;opacity:1!important}.react-flow__edge.op-dimmed-edge .react-flow__edge-path,.react-flow__edge.op-dimmed-edge .react-flow__edge-text,.react-flow__edge.op-dimmed-edge .react-flow__edge-textbg{opacity:.2!important}.rel-group.is-view-dep path.rel{stroke:#0f766e;stroke-width:1.5px;stroke-dasharray:8 4}.rel-group.is-view-dep.is-active path.rel,.rel-group.is-view-dep path.rel.active,.react-flow__edge.selected .rel-group.is-view-dep path.rel,.react-flow__edge.edge-active .rel-group.is-view-dep path.rel{stroke:var(--badge-gen);stroke-width:2.5px;filter:drop-shadow(0 0 6px #14b8a680)}.rel-group.is-view-dep.is-active path.rel.animated,.rel-group.is-view-dep path.rel.animated.active,.react-flow__edge.selected .rel-group.is-view-dep path.rel.animated,.react-flow__edge.edge-active .rel-group.is-view-dep path.rel.animated{stroke-dasharray:8 4}.rel-group.is-view-dep .rel-label-bg{stroke:var(--badge-gen)}.rel-group.is-view-dep .rel-arrow-head{fill:#0f766e;stroke:none}.rel-group.is-view-dep.is-active .rel-arrow-head,.react-flow__edge.selected .rel-group.is-view-dep .rel-arrow-head,.react-flow__edge.edge-active .rel-group.is-view-dep .rel-arrow-head{fill:var(--badge-gen)}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:3px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.entity-toolbar.group-picking{opacity:1;pointer-events:auto;z-index:10;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;transform:translateY(100%)}.entity-group-select-container{flex-direction:column;width:100%;display:flex}.entity-group-select-trigger{background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:var(--fw-medium);white-space:nowrap;text-align:left;border:none;border-bottom:1px solid var(--border-subtle);border-radius:0;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;display:flex}.entity-group-select-trigger:hover{background:var(--bg-hover)}.entity-group-select-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.entity-group-select-label{text-align:left;text-overflow:ellipsis;flex:1;overflow:hidden}.entity-group-select-chevron{width:18px;height:18px;color:var(--text-tertiary);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;transition:background .1s,color .1s;display:inline-flex}.entity-group-select-trigger:hover .entity-group-select-chevron{color:var(--text-primary);background:var(--bg-active)}.entity-group-dropdown{flex-direction:column;max-height:220px;padding:4px;display:flex;overflow-y:auto}.entity-group-dropdown-item{width:100%;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:6px 8px;font-family:inherit;font-size:12px;transition:background .1s,color .1s;display:flex}.entity-group-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.entity-group-dropdown-item.active{color:var(--accent-primary)}.entity-group-dropdown-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.entity-group-dropdown-label{flex:1}.entity-group-dropdown-check{flex-shrink:0;font-size:.7rem}.entity-group-dropdown-none{color:var(--text-tertiary)}.right-sidebar{background:#fafafa;border-left:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;min-width:280px;max-width:500px;display:flex;position:relative;overflow:hidden}.right-sidebar.resizing{-webkit-user-select:none;user-select:none;transition:none}.right-sidebar.closed{border-left:none;min-width:0;width:0!important}.right-sidebar-resize-handle{cursor:col-resize;z-index:10;background:0 0;width:4px;height:100%;transition:background .15s;position:absolute;top:0;left:0}.right-sidebar-resize-handle:hover,.right-sidebar.resizing .right-sidebar-resize-handle{background:var(--info)}.rs-section{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.rs-section.collapsed{flex:none}.rs-section:not(:last-child){border-bottom:1px solid #e5e7eb}.rs-section-resize-handle{cursor:row-resize;background:0 0;flex-shrink:0;height:4px;transition:background .15s}.rs-section-resize-handle:hover,.right-sidebar.resizing-section .rs-section-resize-handle{background:var(--info)}.right-sidebar.resizing-section{-webkit-user-select:none;user-select:none}.rs-section-header{background:var(--border-muted);color:#f3f4f6;cursor:pointer;letter-spacing:-.01em;flex-shrink:0;align-items:center;gap:.375rem;padding:.5rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .12s;display:flex}.rs-section-header:hover{background:#4b5563}.rs-section-chevron{text-align:center;flex-shrink:0;width:10px;font-size:.6rem;transition:transform .15s;display:inline-block}.rs-section-chevron.expanded{transform:rotate(90deg)}.rs-section-label{text-align:left;flex:1}.rs-section-badge{background:#fff3;border-radius:8px;padding:.1rem .4rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.7rem;font-weight:500}.rs-section-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1rem;line-height:1;transition:color .12s}.rs-section-close:hover{color:#f3f4f6}.rs-section-content{flex:1;min-height:0;overflow-y:auto}.rs-section-content::-webkit-scrollbar{width:6px}.rs-section-content::-webkit-scrollbar-track{background:#f1f5f9}.rs-section-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.rs-section-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.entity-panel-empty{color:var(--text-tertiary);text-align:center;padding:1.5rem 1rem;font-size:.75rem;line-height:1.5}.entity-details-panel{flex-direction:column;display:flex}.edp-header-row{border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated);align-items:center;gap:.5rem;padding:.375rem .75rem;display:flex}.edp-entity-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem;font-weight:600;overflow:hidden}.edp-type-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:2px;flex-shrink:0;padding:.05rem .3rem;font-size:.55rem;font-weight:700;line-height:1.2}.edp-type-table{color:var(--text-secondary);background:#ffffff1a}.edp-type-view{color:#2dd4bf;background:#2dd4bf26}.edp-type-procedure,.edp-type-function{color:var(--accent-magic);background:#ede9fe}.edp-section{border-bottom:1px solid var(--border-subtle)}.edp-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);background:var(--bg-elevated);padding:.375rem .75rem;font-size:.65rem;font-weight:700}.edp-attr-list{flex-direction:column;display:flex}.edp-attr-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;display:flex}.edp-attr-row:last-child{border-bottom:none}.edp-attr-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem;font-weight:500;line-height:1.4;overflow:hidden}.edp-attr-type{color:var(--text-secondary);flex-shrink:0;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.625rem;font-weight:500}.edp-attr-badges{flex-shrink:0;gap:.2rem;display:flex}.edp-badge{letter-spacing:.04em;border-radius:2px;padding:.1rem .25rem;font-size:.55rem;font-weight:700;line-height:1}.edp-badge-pk{color:var(--warning)}.edp-badge-fk{color:var(--accent-primary)}.edp-badge-unq{color:var(--text-secondary)}.edp-badge-null{color:var(--text-tertiary)}.edp-dir-badge{letter-spacing:.04em;vertical-align:middle;border-radius:2px;margin-right:.3rem;padding:.05rem .25rem;font-size:.55rem;font-weight:700;line-height:1;display:inline-block}.edp-dir-in{color:#60a5fa;background:#3b82f626}.edp-dir-out{color:var(--emphasis);background:#fbbf2426}.edp-dir-inout{color:var(--badge-default);background:#8b5cf626}.edp-index-list{flex-direction:column;display:flex}.edp-index-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;display:flex}.edp-index-row:last-child{border-bottom:none}.edp-index-name{color:var(--text-primary);flex:1;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem;font-weight:500}.edp-index-cols{color:var(--text-secondary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.625rem}.edp-code-block{background:var(--bg-elevated);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:0;padding:.5rem .75rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.7rem;line-height:1.4;overflow-x:auto}.edp-inline-value{color:var(--text-primary);padding:.25rem .75rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem}.edp-muted{color:var(--text-tertiary);padding:.375rem .75rem;font-size:.75rem;font-style:italic}.entity-rels-panel{flex-direction:column;display:flex}.erp-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;transition:background-color .1s;display:flex}.erp-row:hover{background:var(--bg-hover)}.erp-direction{text-align:center;flex-shrink:0;width:16px;font-size:.85rem;font-weight:700}.erp-outgoing{color:var(--accent-primary)}.erp-incoming{color:var(--badge-default)}.erp-ref{color:#2dd4bf}.erp-section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);padding:.375rem .75rem;font-size:.65rem;font-weight:700}.erp-entity-name{color:var(--text-primary);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:3px;flex:1;padding:.1rem .3rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem;font-weight:500;transition:background .12s,color .12s;overflow:hidden}.erp-entity-name:hover{color:#60a5fa;background:#3b82f626}.erp-type{color:var(--text-tertiary);letter-spacing:.02em;flex-shrink:0;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.625rem;font-weight:500}.erp-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:.625rem;font-style:italic;overflow:hidden}.version-history-empty{color:var(--text-tertiary);font-size:var(--fs-12);text-align:center;padding:28px 16px;line-height:1.5}.version-history-list{flex-direction:column;gap:6px;padding:10px 10px 16px 26px;display:flex}.version-history-item{text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);font-size:var(--fs-12);cursor:pointer;padding:10px 12px;font-family:inherit;transition:border-color .12s,background .12s;display:block;position:relative;overflow:visible}.version-history-item:before{content:"";background:var(--text-tertiary);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg-base);z-index:1;border-radius:50%;position:absolute;top:14px;left:-18px}.version-history-item:not(:last-child):after{content:"";background:var(--border-default);z-index:0;pointer-events:none;width:1.5px;position:absolute;top:22px;bottom:-20px;left:-14.75px}.version-history-item:hover{background:var(--bg-hover);border-color:var(--border-default)}.version-history-item.current{background:#5b8cff0f;border-color:#5b8cff73}.version-history-item.in-range{background:#5b8cff14;border-color:#5b8cff40}.version-history-item.in-range:before{background:var(--accent-primary);box-shadow:0 0 0 2px var(--bg-base);opacity:.85}.version-history-item.in-range:not(:last-child):after{background:#5b8cff73}.version-history-item.selected{border:1px dashed var(--accent-primary);background:#5b8cff0f}.version-history-item.selected.in-range{background:#5b8cff1f}.version-history-item.selected .version-history-item-actions{opacity:1}.version-history-item.selected:before{background:var(--accent-primary);box-shadow:0 0 0 2px var(--bg-base), 0 0 6px #5b8cff59}.version-history-item.current:before{background:var(--accent-primary);box-shadow:0 0 0 2px var(--bg-base), 0 0 8px #5b8cff73}.version-history-item.current:hover{background:#5b8cff1a}.version-history-item-header{align-items:center;gap:8px;display:flex}.version-history-item-header strong{font-weight:var(--fw-semibold);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--fs-11);border-radius:var(--radius-pill);background:var(--bg-hover);letter-spacing:.02em;align-items:center;padding:2px 8px;display:inline-flex}.version-history-item.current .version-history-item-header strong{background:var(--accent-subtle);color:#a5c0ff}.version-history-source{font-size:var(--fs-10);color:var(--text-tertiary);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.08em}.version-history-meta{font-size:var(--fs-10);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-mono);margin-top:4px;overflow:hidden}.version-history-desc{font-size:var(--fs-12);color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;line-height:1.35;display:-webkit-box;overflow:hidden}.version-history-item-actions{opacity:0;gap:4px;margin-left:auto;transition:opacity .12s;display:flex}.version-history-item:hover .version-history-item-actions,.version-history-item.current .version-history-item-actions{opacity:1}.version-history-action-btn{width:22px;height:22px;font-size:var(--fs-12);color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);justify-content:center;align-items:center;line-height:1;transition:color .12s,background .12s;display:inline-flex}.version-history-action-btn:hover{color:var(--accent-primary);background:#5b8cff1f}.version-history-compare-btn{height:22px;font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;letter-spacing:var(--tracking-wide);align-items:center;padding:0 9px;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.version-history-compare-btn:hover,.version-history-item.selected .version-history-compare-btn{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary)}.version-history-rollback-btn{font-weight:var(--fw-bold)}.version-history-rollback-btn:hover{color:var(--warning);background:#f59e0b1f}.version-history-item.draft{cursor:default;background:#a855f70f;border-color:#a855f766}.version-history-item.draft:before{background:var(--draft-accent);box-shadow:0 0 0 2px var(--bg-base), 0 0 8px #c084fc80;animation:1.8s ease-in-out infinite vh-draft-pulse}.version-history-item.draft:not(:last-child):after{background:repeating-linear-gradient(#c084fc8c 0 5px,#0000 5px 10px)}@keyframes vh-draft-pulse{0%,to{box-shadow:0 0 0 2px var(--bg-base), 0 0 8px #c084fc80}50%{box-shadow:0 0 0 2px var(--bg-base), 0 0 14px #c084fcd9}}.version-history-item.draft:hover{background:#a855f71a}.version-history-item.draft .version-history-item-header strong{color:var(--draft-accent);background:#a855f72e}.version-history-draft-input{width:100%;font-size:var(--fs-12);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-sizing:border-box;outline:none;margin-top:8px;padding:6px 10px;font-family:inherit;transition:border-color .12s,box-shadow .12s;display:block}.version-history-draft-input:focus{border-color:var(--draft-accent);box-shadow:0 0 0 2px #a855f733}.version-history-draft-input::placeholder{color:var(--text-tertiary);font-style:italic}.version-history-draft-save:hover{color:var(--draft-accent);background:#a855f71f}.version-history-item-actions{position:relative}.version-history-menu-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-tertiary);font-size:var(--fs-13,13px);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;line-height:1;transition:background .12s,color .12s;display:inline-flex}.version-history-menu-btn:hover,.version-history-menu-btn.open{background:var(--bg-hover);color:var(--text-primary)}.version-history-menu{z-index:20;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:190px;box-shadow:var(--shadow-md,0 4px 16px #0006);padding:4px 0;position:absolute;top:calc(100% + 4px);right:0}.version-history-menu-item{width:100%;font-size:var(--fs-12,12px);text-align:left;color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-family:inherit;display:block}.version-history-menu-item:hover{background:var(--bg-hover)}.version-history-draft-summary{font-size:var(--fs-12,12px);color:var(--text-secondary);margin-top:6px}.version-history-draft-link{font:inherit;color:var(--draft-accent);cursor:pointer;background:0 0;border:none;margin:0;padding:0}.version-history-draft-link:hover{color:#d8b4fe;text-decoration:underline}.rollback-confirm-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rollback-confirm-modal{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:16px;width:400px;max-width:90vw;padding:1.5rem;box-shadow:0 12px 40px #00000073}.rollback-confirm-header{color:var(--text-primary);margin-bottom:.75rem;font-size:.875rem;font-weight:600}.rollback-confirm-text{color:var(--text-secondary);margin:0 0 .5rem;font-size:.8rem;line-height:1.4}.rollback-confirm-list{color:var(--text-tertiary);margin:0 0 .75rem 1.25rem;padding:0;font-size:.75rem;line-height:1.6}.rollback-confirm-warning{color:var(--danger);margin:0 0 .5rem;font-size:.75rem;font-weight:500}.rollback-confirm-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.rollback-confirm-btn{cursor:pointer;border:none;border-radius:999px;padding:.5rem 1.25rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .15s}.rollback-confirm-btn-cancel{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0}.rollback-confirm-btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.rollback-confirm-btn-confirm{background:var(--accent-primary);color:#fff}.rollback-confirm-btn-confirm:hover{background:#2563eb}.version-bar-mcp-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border-radius:3px;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:flex}.version-bar-mcp-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.mcp-dot{border-radius:50%;width:6px;height:6px}.mcp-dot.synced{background:var(--success)}.mcp-dot.syncing{background:#eab308;animation:1s infinite mcp-pulse}.mcp-dot.error{background:var(--danger)}.mcp-dot.idle{background:var(--text-secondary);opacity:.5}@keyframes mcp-pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-tab-switcher{border-bottom:1px solid var(--border-subtle);background:0 0;flex-shrink:0;gap:18px;padding:0 14px;display:flex}.chat-tab-btn{font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text-tertiary);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:10px 2px;font-family:inherit;transition:color .15s,border-color .15s}.chat-tab-btn:hover{color:var(--text-secondary);background:0 0}.chat-tab-btn.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.conversation-list{flex-direction:column;height:100%;display:flex;overflow:hidden}.conversation-list-header{flex-shrink:0;align-items:center;padding:.5rem .75rem .25rem;display:flex}.conversation-list-header h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.7rem;font-weight:600}.conversation-list-search{flex-shrink:0;padding:.375rem .75rem}.conversation-search-input{background:var(--bg-input);border:1px solid var(--border-default);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:.375rem .625rem;font-family:inherit;font-size:.8rem;transition:border-color .15s,box-shadow .15s}.conversation-search-input::placeholder{color:var(--text-tertiary)}.conversation-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.conversation-list-items{flex:1;padding:.25rem 0;overflow-y:auto}.conversation-list-items::-webkit-scrollbar{width:6px}.conversation-list-items::-webkit-scrollbar-track{background:var(--scrollbar-track)}.conversation-list-items::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.conversation-list-items::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.conversation-list-item-row{border-bottom:1px solid var(--border-subtle);align-items:stretch;display:flex}.conversation-list-item-row:hover{background:var(--bg-hover)}.conversation-list-item{min-width:0;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;gap:.125rem;padding:.5rem .75rem;font-family:inherit;display:flex}.conversation-item-header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.conversation-item-menu-wrapper{align-items:center;display:flex;position:relative}.conversation-item-menu-btn{color:var(--text-tertiary);cursor:pointer;letter-spacing:.1em;opacity:0;background:0 0;border:none;padding:0 .5rem;font-family:inherit;font-size:1rem;line-height:1;transition:opacity .1s,color .1s}.conversation-list-item-row:hover .conversation-item-menu-btn{opacity:1}.conversation-item-menu-btn:hover{color:var(--text-primary)}.conversation-item-menu{z-index:20;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:6px;min-width:120px;padding:.25rem 0;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0003}.conversation-item-menu-option{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:.375rem .75rem;font-family:inherit;font-size:.8125rem;display:block}.conversation-item-menu-option:hover{background:var(--bg-hover)}.conversation-header-menu-btn{color:var(--text-tertiary);cursor:pointer;letter-spacing:.1em;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0 .375rem;font-family:inherit;font-size:1rem;line-height:1;transition:color .1s}.conversation-header-menu-btn:hover{color:var(--text-primary)}.conversation-restore-btn{color:#8b5cf6;cursor:pointer;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:6px;width:calc(100% - 32px);margin:12px 16px 14px;padding:.625rem;font-family:inherit;font-size:.8125rem;font-weight:500;transition:background .15s;display:block}.conversation-restore-btn:hover{background:#8b5cf640}.conversation-item-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8125rem;font-weight:500;overflow:hidden}.conversation-item-time{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;font-size:.6875rem}.conversation-item-meta{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.conversation-item-sep{color:var(--text-tertiary);opacity:.5}.conversation-item-messages{align-items:center;gap:.2rem;display:inline-flex}.conversation-item-messages svg{opacity:.6}.conversation-list-empty{text-align:center;color:var(--text-tertiary);padding:1.5rem .75rem;font-size:.75rem}.conversation-list-footer{border-top:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;gap:.375rem;padding:.5rem .75rem .75rem;display:flex}.conversation-new-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:.4rem .75rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:background .15s}.conversation-new-btn:hover{background:var(--accent-hover)}.conversation-archive-btn{width:100%;color:var(--text-tertiary);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .75rem;font-family:inherit;font-size:.7rem;font-weight:500;transition:color .15s,border-color .15s,background .15s}.conversation-archive-btn:hover{color:var(--text-secondary);border-color:var(--border-default);background:var(--bg-hover)}.conversation-view{flex-direction:column;height:100%;display:flex;overflow:hidden}.conversation-view-header{border-bottom:1px solid var(--border-default);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:.5rem;min-height:38px;padding:.375rem .75rem;display:flex}.conversation-back-btn{border:1px solid var(--border-subtle);color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;align-items:center;gap:.25rem;padding:.2rem .5rem;font-family:inherit;font-size:.7rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:flex}.conversation-back-btn:hover{color:var(--text-primary);border-color:var(--border-default);background:var(--bg-hover)}.conversation-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);cursor:pointer;border-radius:4px;flex:1;padding:.125rem .375rem;font-size:.8125rem;font-weight:500;transition:background .1s;overflow:hidden}.conversation-title:hover{background:var(--bg-hover)}.conversation-title-input{background:var(--bg-input);border:1px solid var(--accent-primary);min-width:0;color:var(--text-primary);box-shadow:0 0 0 2px var(--accent-subtle);border-radius:4px;outline:none;flex:1;padding:.125rem .375rem;font-family:inherit;font-size:.8125rem;font-weight:500}.archived-conversations{flex-direction:column;height:100%;display:flex;overflow:hidden}.archived-conversations-header{border-bottom:1px solid var(--border-default);background:var(--bg-surface);flex-shrink:0;align-items:center;gap:.5rem;min-height:38px;padding:.375rem .75rem;display:flex}.archived-conversations-header h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;flex:1;margin:0;font-size:.7rem;font-weight:600}.archived-back-btn{border:1px solid var(--border-subtle);color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;align-items:center;padding:.2rem .5rem;font-family:inherit;font-size:.7rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:flex}.archived-back-btn:hover{color:var(--text-primary);border-color:var(--border-default);background:var(--bg-hover)}.archived-conversations-items{flex:1;padding:.25rem 0;overflow-y:auto}.archived-conversations-items::-webkit-scrollbar{width:6px}.archived-conversations-items::-webkit-scrollbar-track{background:var(--scrollbar-track)}.archived-conversations-items::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.archived-conversations-items::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.archived-conversation-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background .1s;display:flex}.archived-conversation-item:hover{background:var(--bg-hover)}.archived-item-info{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:.125rem;padding:0;font-family:inherit;display:flex}.archived-item-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.archived-item-time,.archived-item-meta{color:var(--text-tertiary);font-size:.6875rem}.archived-restore-btn{border:1px solid var(--accent-primary);color:var(--accent-primary);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:.2rem .625rem;font-family:inherit;font-size:.7rem;font-weight:600;transition:background .15s,color .15s}.archived-restore-btn:hover{background:var(--accent-primary);color:#fff}.archived-conversations-empty{text-align:center;color:var(--text-tertiary);padding:2rem .75rem;font-size:.75rem}.handoff-banner{background:var(--bg-elevated);border:1px solid #f59e0b40;border-radius:8px;gap:.625rem;margin:.375rem .75rem;padding:.625rem .75rem;animation:.2s ease-out slideIn;display:flex}.handoff-banner.incoming{background:#f59e0b0f;border-color:#f59e0b4d}.handoff-banner.outgoing{background:#f59e0b0a;border-color:#f59e0b33}.handoff-banner-icon{flex-shrink:0;margin-top:.1rem;font-size:1rem;line-height:1}.handoff-banner-content{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.handoff-banner-title{color:var(--warning);font-size:.75rem;font-weight:600;line-height:1.3}.handoff-banner-summary{color:var(--text-secondary);font-size:.75rem;line-height:1.4}.handoff-view-source-btn{color:var(--accent-primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-self:flex-start;margin-top:.125rem;padding:0;font-family:inherit;font-size:.7rem;font-weight:500;text-decoration:underline;transition:color .15s}.handoff-view-source-btn:hover{color:var(--accent-hover)}.handoff-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-self:flex-start;margin-top:.125rem;padding:.1rem .4rem;font-size:.6rem;font-weight:700;display:inline-block}.handoff-status-proposed{background:var(--info-bg);color:var(--info);border:1px solid #3b82f64d}.handoff-status-accepted{background:var(--success-bg);color:var(--success);border:1px solid #22c55e4d}.handoff-status-dismissed{background:var(--bg-hover);color:var(--text-tertiary);border:1px solid var(--border-subtle)}.handoff-prompt{background:#a78bfa1a;border:1px solid #a78bfa66;border-radius:8px;flex-direction:column;flex-shrink:0;gap:.375rem;padding:.625rem .75rem;animation:.2s ease-out slideIn;display:flex;box-shadow:0 -2px 12px #0000004d,0 0 0 1px #f59e0b1a}.handoff-prompt-header{color:var(--warning);font-size:.75rem;font-weight:600}.handoff-prompt-summary{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.handoff-prompt-actions{gap:.375rem;margin-top:.125rem;display:flex}.handoff-confirm-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:1;padding:.35rem .625rem;font-family:inherit;font-size:.7rem;font-weight:600;transition:background .15s}.handoff-confirm-btn:hover{background:var(--accent-hover)}.handoff-dismiss-btn{color:var(--text-tertiary);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .625rem;font-family:inherit;font-size:.7rem;font-weight:500;transition:color .15s,border-color .15s,background .15s}.handoff-dismiss-btn:hover{color:var(--text-secondary);border-color:var(--border-default);background:var(--bg-hover)}.librarian-topbar-btn{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:all .15s;display:flex}.librarian-topbar-btn:hover{background:var(--bg-hover)}.librarian-topbar-btn svg{border-radius:var(--radius-md);background:var(--badge-gen);color:#fff;width:26px;height:26px;padding:4px}.librarian-topbar-btn.active svg{background:#0d9488;box-shadow:0 0 0 2px #14b8a666}.librarian-overlay{background:var(--bg-surface);border:1px solid var(--border-default);z-index:999;border-radius:12px;flex-direction:column;width:360px;height:min(520px,100vh - 64px);display:flex;position:fixed;top:48px;right:60px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.librarian-overlay-header{border-bottom:1px solid var(--border-default);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.librarian-overlay-title{color:var(--badge-gen);font-size:.875rem;font-weight:600}.librarian-overlay-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;font-size:1.25rem;line-height:1;transition:background .15s,color .15s;display:flex}.librarian-overlay-close:hover{background:var(--bg-hover);color:var(--text-primary)}.librarian-overlay-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.librarian-handoff-prompt{border-top:1px solid var(--border-default);background:#14b8a614;flex-shrink:0;padding:.625rem .75rem}.librarian-handoff-text{color:var(--text-primary);margin-bottom:.5rem;font-size:.8125rem;line-height:1.4}.librarian-handoff-actions{gap:.5rem;display:flex}.librarian-handoff-accept{background:var(--badge-gen);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:1;padding:.375rem .75rem;font-family:inherit;font-size:.75rem;font-weight:500;transition:background .15s}.librarian-handoff-accept:hover{background:#0d9488}.librarian-handoff-dismiss{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.375rem .75rem;font-family:inherit;font-size:.75rem}.librarian-handoff-dismiss:hover{border-color:var(--border-strong);color:var(--text-primary)}.librarian-overlay-input{border-top:1px solid var(--border-default);flex-shrink:0;padding:.5rem}.librarian-overlay-input .mention-input{font-size:.8125rem;min-height:2.5em!important}.librarian-input-actions{justify-content:space-between;align-items:center;margin-top:.375rem;display:flex}.librarian-send-group{align-items:stretch;display:flex;position:relative}.librarian-send-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px 0 0 4px;padding:.25rem .625rem;font-family:inherit;font-size:.75rem;font-weight:500;transition:background .15s}.librarian-send-btn:hover:not(:disabled){background:var(--accent-hover)}.librarian-send-btn:disabled{opacity:.5;cursor:not-allowed}.librarian-send-dropdown-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-left:1px solid #fff3;border-radius:0 4px 4px 0;align-items:center;padding:.25rem .375rem;transition:background .15s;display:flex}.librarian-send-dropdown-btn:hover{background:var(--accent-hover)}.librarian-send-menu{background:var(--bg-elevated);border:1px solid var(--border-default);z-index:10000;border-radius:6px;min-width:170px;padding:.25rem 0;box-shadow:0 4px 12px #00000040}.librarian-send-menu-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.375rem .75rem;font-family:inherit;font-size:.8125rem;display:flex}.librarian-send-menu-item:hover{background:var(--bg-hover)}.librarian-send-menu-check{text-align:right;width:1rem;color:var(--accent-primary);flex-shrink:0;font-size:.75rem}.librarian-send-menu-divider{background:var(--border-subtle);height:1px;margin:.25rem 0}.chat-banners{flex-direction:column;gap:6px;padding:0 16px 6px;display:flex}.chat-banner{background:var(--bg-elevated,#1a1f2e);border:1px solid var(--border-default);color:var(--text-primary);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.4;position:relative}.chat-banner-info{border-radius:var(--radius-lg);color:var(--text-primary);background:linear-gradient(135deg,#a855f71a,#5b8cff14);border-color:#a855f74d}.chat-banner-warning{color:var(--text-primary);background:#f59e0b1a;border-color:#f59e0b66}.chat-banner-action{color:var(--text-primary);background:#a78bfa1a;border-color:#a78bfa66}.chat-banner-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.draft-review-card .draft-review-card-txt{flex-direction:column;flex:1;gap:1px;min-width:0;line-height:1.3;display:flex}.draft-review-card .draft-review-card-txt strong{font-size:12px;font-weight:var(--fw-semibold);color:var(--text-primary)}.draft-review-card .draft-review-card-sub{color:var(--text-tertiary);font-size:11px}.chat-banner-action-btn{background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);height:26px;font-size:11px;font-weight:var(--fw-semibold);cursor:pointer;border:none;flex-shrink:0;padding:0 14px;font-family:inherit;transition:background .15s}.chat-banner-action-btn:hover{background:var(--accent-hover)}.chat-banner-dismiss{color:var(--text-secondary);cursor:pointer;opacity:.7;background:0 0;border:none;padding:2px 6px;font-size:18px;line-height:1;position:absolute;top:6px;right:8px}.chat-banner-dismiss:hover{opacity:1;color:var(--text-primary)}.btn-create-pill{color:#e6eeff;cursor:pointer;white-space:nowrap;background:#5b8cff29;border:1px solid #5b8cff8c;border-radius:999px;align-items:center;gap:8px;height:36px;padding:0 18px;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;display:inline-flex;box-shadow:inset 0 0 0 1px #5b8cff14,0 2px 12px #5b8cff2e}.btn-create-pill:hover{border-color:var(--accent-primary);color:#fff;box-shadow:0 0 0 1px var(--accent-subtle) inset, 0 4px 18px #5b8cff59;background:#5b8cff47}.btn-create-pill:active{transform:translateY(1px)}.btn-create-pill:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-create-pill-icon{color:var(--accent-primary);font-size:12px}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.index-create-panel{z-index:1000;border-left:3px solid var(--accent-primary);border-radius:0 12px 12px 0;width:260px;animation:.15s ease-out slideIn;position:absolute;top:0;left:calc(100% + 16px)}.index-create-panel .ps-header{background:var(--node-header-bg);border-radius:0 5px 0 0;padding:.5rem .75rem}.index-create-panel .ps-title{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:#f0f0ff;text-transform:uppercase;letter-spacing:.04em}.index-create-body{flex-direction:column;gap:.5rem;padding:.625rem .75rem;display:flex}.index-column-list{flex-wrap:wrap;gap:.25rem;max-height:160px;display:flex;overflow-y:auto}.index-create-footer{background:#0000001a;border-radius:0 0 6px;gap:.35rem;padding:.5rem .75rem}.index-create-footer button{border-radius:var(--radius-sm);font-size:.7rem;font-weight:var(--fw-semibold);cursor:pointer;letter-spacing:.02em;border:1px solid;padding:.3rem .65rem;transition:all .15s}.index-create-footer .btn-save:disabled{opacity:.4;cursor:not-allowed}.index-action-menu{z-index:2000;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:6px;min-width:150px;padding:3px;animation:.1s ease-out index-action-menu-fade;position:fixed;box-shadow:0 8px 30px #00000073}@keyframes index-action-menu-fade{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.index-action-menu-item{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:.75rem;font-weight:500;transition:background .1s,color .1s;display:flex}.index-action-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.index-action-menu-item-danger:hover{color:var(--danger);background:#ef444426}.index-action-menu-icon{opacity:.85;flex-shrink:0;width:12px;font-size:.75rem}.suggested-columns{border-top:1px dashed #a882ff4d}.suggested-columns-header{font-size:.55rem;font-weight:var(--fw-semibold);color:#c4b0ff;text-transform:uppercase;letter-spacing:.05em;background:#a882ff0f;align-items:center;gap:.25rem;padding:.2rem .5rem;display:flex}.suggested-columns-table{opacity:.55}.suggested-column-row{border-left:2px dashed #a882ff66}.suggested-column-actions{gap:.15rem;padding:0 .2rem;display:flex}.suggested-action{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:2px;padding:.1rem .2rem;font-size:.65rem;line-height:1;transition:opacity .15s,background .15s}.suggested-action:hover{opacity:1}.suggested-accept{color:var(--success-soft)}.suggested-accept:hover{background:#86efac26}.suggested-reject{color:var(--danger-soft)}.suggested-reject:hover{background:#fca5a526}.group-node{border:1.5px solid var(--subj-color,var(--accent-primary));border-radius:var(--radius-xl);background:rgba(var(--subj-rgb,91, 140, 255), .04);pointer-events:none;width:100%;height:100%;padding:28px 10px 10px;position:relative;overflow:visible}.react-flow__node-group{pointer-events:none!important}.react-flow__node-group .group-node-label{pointer-events:auto}.group-node-label{background:var(--bg-base);border:1px solid var(--subj-color,var(--accent-primary));border-radius:var(--radius-pill);color:var(--subj-color,var(--accent-primary));font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;cursor:grab;z-index:1;pointer-events:auto;align-items:center;gap:6px;padding:2px 4px 3px 10px;display:inline-flex;position:absolute;top:-11px;left:16px}.group-node-label:active{cursor:grabbing}.group-node-label-icon{font-size:9px}.group-node-label-name{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;max-width:200px;transition:opacity .15s;overflow:hidden}.group-node-label-name:hover{opacity:.75}.group-node-label-input{color:var(--subj-color,var(--accent-primary));font:inherit;font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;border:none;border-bottom:1.5px solid var(--subj-color,var(--accent-primary));background:0 0;outline:none;width:14ch;margin:0;padding:0}.group-node-label-menu{color:var(--subj-color,var(--accent-primary));cursor:pointer;border-radius:var(--radius-sm);opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;transition:opacity .15s,background .15s;display:inline-flex}.group-node-label-menu:hover{opacity:1;background:rgba(var(--subj-rgb,91, 140, 255), .15)}.group-menu-overlay{z-index:10000;position:fixed;inset:0}.group-menu-dropdown{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);min-width:160px;box-shadow:var(--shadow-lg);z-index:10001;padding:4px;position:fixed;transform:translate(-100%)}.group-menu-item{width:100%;color:var(--text-secondary);font-size:var(--fs-12);cursor:pointer;border-radius:var(--radius-md);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;transition:background .1s,color .1s;display:flex}.group-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.group-menu-item-danger:hover{color:var(--danger-soft);background:#ef444426}.group-menu-icon{text-align:center;width:16px;font-size:var(--fs-12);flex-shrink:0}.group-menu-divider{background:var(--border-subtle);height:1px;margin:4px 8px}.group-color-picker-overlay{z-index:10000;position:fixed;inset:0}.group-color-picker{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10001;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px;display:grid;position:fixed;transform:translate(-100%)}.group-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0;transition:transform .1s,border-color .1s}.group-color-swatch:hover{transform:scale(1.15)}.group-color-swatch.active{border-color:var(--text-primary)}.schema-node{border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;width:100%;min-width:200px;height:100%;min-height:150px;display:flex;position:relative;overflow:visible}.schema-node-header{color:var(--text-primary);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);cursor:grab;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.schema-node-header:active{cursor:grabbing}.schema-node-header h3{font-size:var(--fs-13);font-weight:var(--fw-semibold);letter-spacing:-.01em;align-items:center;gap:8px;margin:0;display:flex}.schema-node-name-editable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.schema-node-name-editable:hover{opacity:.75}.schema-type-badge{font-size:var(--fs-10);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;background:var(--bg-hover);color:var(--text-tertiary);border-radius:var(--radius-sm);flex-shrink:0;padding:2px 6px;line-height:1}.schema-node-name-input{width:100%;color:var(--text-primary);font-size:var(--fs-13);font-weight:var(--fw-semibold);border:none;border-bottom:2px solid var(--accent-primary);letter-spacing:-.01em;background:0 0;outline:none;margin:0;padding:0;font-family:inherit}.schema-node-body{border-radius:0 0 var(--radius-md) var(--radius-md);background:#6b72800a;flex:1;min-height:100px}.schema-node-toolbar{transform:translate(-50%, 90%) scale(clamp(.75, calc(1 / var(--rf-zoom,1)), 1.6));transform-origin:top;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;z-index:10;border-top:none;gap:2px;padding:4px;transition:opacity .12s,transform .12s;display:flex;position:absolute;bottom:0;left:50%}.schema-node:hover .schema-node-toolbar{opacity:1;pointer-events:auto;transform:translate(-50%, 100%) scale(clamp(.75, calc(1 / var(--rf-zoom,1)), 1.6))}.schema-toolbar-btn{width:26px;height:22px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);font-size:var(--fs-12);background:0 0;border:none;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.schema-toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.schema-toolbar-btn-danger:hover{color:var(--danger-soft);background:#ef444426}.create-class-overlay{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:var(--space-4);background:#05050fb3;justify-content:center;align-items:center;animation:.12s ease-out cc-overlay-in;display:flex;position:fixed;inset:0}@keyframes cc-overlay-in{0%{opacity:0}to{opacity:1}}.create-class-dialog{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--content-radius,var(--radius-xl));width:min(480px,100%);max-height:92vh;box-shadow:var(--shadow-lg);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-13);flex-direction:column;animation:.16s cubic-bezier(.16,1,.3,1) cc-dialog-in;display:flex;overflow:hidden}@keyframes cc-dialog-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.create-class-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.create-class-header h2{font-size:var(--fs-15);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0}.create-class-close{width:28px;height:28px;color:var(--text-tertiary);border-radius:var(--radius-md);font-size:var(--fs-13);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.create-class-close:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-default)}.create-class-body{flex-direction:column;flex:1;gap:14px;padding:16px 18px 18px;display:flex;overflow-y:auto}.create-class-field{flex-direction:column;gap:6px;display:flex}.create-class-field label{font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary)}.create-class-optional{font-weight:var(--fw-regular);letter-spacing:.04em;text-transform:none;color:var(--text-disabled);margin-left:4px}.create-class-field input,.create-class-field textarea{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-13);resize:vertical;outline:none;padding:8px 10px}.create-class-field input:focus,.create-class-field textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.create-class-hint{font-size:var(--fs-11);color:var(--text-tertiary);font-style:italic}.create-class-color-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.create-class-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .1s}.create-class-color-swatch:hover{transform:scale(1.07)}.create-class-color-swatch.active{box-shadow:0 0 0 2px var(--accent-primary);border-color:#fff}.create-class-color-custom{border:1px dashed var(--border-default);border-radius:var(--radius-pill);height:26px;color:var(--text-secondary);font-size:var(--fs-11);font-weight:var(--fw-medium);cursor:pointer;align-items:center;gap:6px;padding:0 10px 0 4px;display:inline-flex}.create-class-color-custom:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.create-class-color-custom input[type=color]{cursor:pointer;background:0 0;border:none;width:20px;height:20px;padding:0}.create-class-error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-md);font-size:var(--fs-12);padding:6px 10px}.create-class-footer{border-top:1px solid #0000;justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.create-class-cancel,.create-class-submit{font-family:inherit;font-size:var(--fs-13);font-weight:var(--fw-medium);border-radius:var(--radius-md);cursor:pointer;padding:8px 16px}.create-class-cancel{color:var(--text-secondary);border:1px solid var(--border-default);background:0 0}.create-class-cancel:hover{color:var(--text-primary);border-color:var(--border-strong)}.create-class-submit{background:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary)}.create-class-submit:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.create-class-submit:disabled{opacity:.5;cursor:not-allowed}.column-edit-panel{border-left:3px solid var(--edit-accent,var(--type-default));border-radius:0 12px 12px 0;width:280px;max-height:90vh;animation:.15s ease-out slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.column-edit-panel .ps-header{background:var(--node-header-bg);border-radius:0 9px 0 0;padding:.5rem .75rem}.column-edit-panel .ps-title{color:#f0f0ff;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.column-edit-body{flex-direction:column;gap:.5rem;padding:.625rem .75rem;display:flex}.form-group{flex-direction:column;gap:.2rem;margin:0;display:flex}.form-group label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.1rem;font-size:.6rem;font-weight:600}.form-group input[type=text],.form-group select{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-primary);box-sizing:border-box;border-radius:6px;padding:.375rem .5rem;font-family:inherit;font-size:.8rem;transition:border-color .15s,box-shadow .15s}.form-group input[type=text]:hover,.form-group select:hover{border-color:var(--border-strong,var(--border-default))}.form-group input[type=text]:focus,.form-group select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle);outline:none}.form-group input[type=text]::placeholder{color:var(--text-disabled)}.form-group input[type=text]:disabled,.form-group select:disabled{opacity:.4;cursor:not-allowed}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239999bb' d='M3 5l3 3 3-3'/%3E%3C/svg%3E");background-position:right .4rem center;background-repeat:no-repeat;padding-right:1.5rem}.form-group select option,.form-group select optgroup{background:var(--bg-elevated);color:var(--text-primary)}.type-row{align-items:stretch;gap:.35rem;display:flex}.type-select{flex:1;min-width:0}.size-input{flex-shrink:0;width:60px}.size-input.small{width:48px}.type-row input[type=text]{margin:0}.form-group-inline{flex-direction:column;gap:.375rem;display:flex}.form-group-inline-row{flex-wrap:wrap;gap:.35rem;padding:.25rem 0;display:flex}.checkbox-label{cursor:pointer;color:var(--text-tertiary);background:var(--bg-input);border:1px solid var(--border-default);-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:0;padding:.25rem .5rem;font-size:.65rem;font-weight:600;transition:all .15s;display:flex}.checkbox-label:hover{border-color:var(--border-default);color:var(--text-secondary)}.checkbox-label input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.checkbox-label:has(input[type=checkbox]:checked){background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary)}.checkbox-label:has(input[type=checkbox]:disabled){opacity:.35;cursor:not-allowed;pointer-events:none}.checkbox-label span{-webkit-user-select:none;user-select:none;white-space:nowrap;letter-spacing:.03em;text-transform:uppercase}.column-edit-footer{border-top:1px solid var(--border-subtle);background:#0000001f;border-radius:0 0 10px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.footer-actions{gap:.4rem;display:flex}.column-edit-footer button{cursor:pointer;letter-spacing:.02em;border:none;border-radius:6px;outline:none;padding:.35rem .75rem;font-size:.7rem;font-weight:600;transition:all .15s}.btn-cancel{background:var(--bg-base);color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-cancel:hover{background:var(--bg-hover);border-color:var(--border-default);color:var(--text-primary)}.btn-save{background:var(--accent-primary);color:#fff;text-shadow:0 1px 1px #00000026}.btn-save:hover{background:#7aa3ff}.btn-save:active{background:#4a7aee}.btn-save:focus-visible{box-shadow:0 0 0 2px var(--bg-elevated), 0 0 0 4px #5b8cff80}.btn-delete{color:var(--text-tertiary);background:0 0;font-weight:500}.btn-delete:hover{color:var(--danger);background:#ef44441a}.add-comment-link{color:var(--text-tertiary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.3rem;padding:.25rem 0;font-size:.7rem;transition:color .15s;display:flex}.add-comment-link:before{content:"+";color:var(--text-disabled);font-size:.8rem;font-weight:400;transition:color .15s}.add-comment-link:hover:not(:disabled),.add-comment-link:hover:not(:disabled):before{color:var(--accent-primary)}.add-comment-link:disabled{color:var(--text-disabled);cursor:not-allowed}.enum-values-section{flex-direction:column;gap:.3rem;margin-top:.25rem;display:flex}.enum-values-section label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:.6rem;font-weight:600}.enum-tag-input{border:1px solid var(--border-default);background:var(--bg-input);cursor:text;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.25rem;min-height:30px;padding:.25rem .35rem;transition:border-color .15s,box-shadow .15s;display:flex}.enum-tag-input:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.enum-tag{background:var(--accent-subtle,#5b8cff1a);border:1px solid var(--accent-primary);color:var(--accent-primary);white-space:nowrap;border-radius:4px;align-items:center;gap:.2rem;padding:.1rem .35rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.68rem;font-weight:500;line-height:1.2;display:inline-flex}.enum-tag-remove{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:.75rem;line-height:1;transition:color .1s;display:flex}.enum-tag-remove:hover{color:var(--danger,#ef4444)}.enum-add-input,.enum-add-input:focus{min-width:60px;color:var(--text-primary);background:0 0;flex:1;padding:.1rem .15rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem;box-shadow:none!important;border:none!important;outline:none!important}.enum-add-input::placeholder{color:var(--text-disabled);font-family:inherit}.column-edit-panel .form-group input[type=text],.column-edit-panel .form-group select,.column-edit-panel .combobox-trigger{background:var(--bg-base);border-color:var(--border-subtle);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace}.column-edit-panel .form-group input[type=text]:hover,.column-edit-panel .form-group select:hover{border-color:var(--border-default)}.column-edit-panel .enum-tag-input,.column-edit-panel .checkbox-label{background:var(--bg-base);border-color:var(--border-subtle)}.column-edit-panel .checkbox-label:hover{border-color:var(--border-default)}.column-edit-panel::-webkit-scrollbar{width:4px}.column-edit-panel::-webkit-scrollbar-track{background:0 0}.column-edit-panel::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}.column-edit-panel::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.compliance-section{border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:12px}.compliance-section-error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);font-size:var(--fs-12);margin-bottom:8px;padding:6px 10px}.compliance-section-status{color:var(--text-tertiary);font-size:var(--fs-12);padding:4px 0;font-style:italic}.compliance-section-cluster{flex-direction:column;gap:5px;margin-bottom:8px;display:flex}.compliance-section-cluster:last-child{margin-bottom:0}.compliance-section-heading{font-size:var(--fs-10);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary)}.ce-class-table{border-top:1px solid var(--border-subtle);flex-direction:column;margin-top:4px;display:flex}.ce-class-row{border-bottom:1px solid var(--border-subtle);font-size:var(--fs-12);grid-template-columns:90px 1fr 22px;align-items:center;gap:8px;padding:5px 4px;display:grid}.ce-class-row:last-child{border-bottom:none}.ce-class-row:hover{background:#ffffff06}.ce-class-row.ce-class-head{padding:2px 4px 4px}.ce-class-row.ce-class-head:hover{background:0 0}.ce-class-head-label{font-size:var(--fs-10);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary)}.ce-class-empty{color:var(--text-disabled);font-style:italic;font-size:var(--fs-12);border-bottom:1px solid var(--border-subtle);padding:8px 4px}.ce-class-code{font-family:var(--font-mono);font-weight:var(--fw-semibold);font-size:var(--fs-11);letter-spacing:.04em}.ce-class-sev-combo .combobox-trigger{width:auto;font-size:var(--fs-12);font-weight:var(--fw-medium);background:0 0;border:none;border-radius:5px;justify-content:flex-start;gap:10px;padding:3px 8px}.ce-class-sev-combo .combobox-trigger:hover,.ce-class-sev-combo .combobox-trigger.open{box-shadow:none;background:#ffffff0f;border:none}.ce-class-sev-combo .combobox-value{flex:none}.ce-class-sev-combo .combobox-chevron{color:inherit;opacity:.65}.ce-class-sev-combo.sev-low .combobox-trigger{color:var(--text-secondary)}.ce-class-sev-combo.sev-medium .combobox-trigger{color:var(--warning)}.ce-class-sev-combo.sev-high .combobox-trigger{color:var(--danger)}.ce-class-sev-combo.sev-critical .combobox-trigger{color:var(--danger);font-weight:var(--fw-semibold)}.ce-class-sev-dropdown{min-width:130px}.ce-class-row-tag{grid-template-columns:minmax(90px,max-content) 1fr 22px}.ce-class-tag-name{font-family:var(--font-sans);font-weight:var(--fw-medium);font-size:var(--fs-12)}.ce-class-tag-desc{color:var(--text-tertiary);font-size:var(--fs-11);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ce-class-remove{width:22px;height:22px;color:var(--text-disabled);border-radius:var(--radius-sm);font-size:var(--fs-11);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:opacity .12s,color .12s,background .12s;display:inline-flex}.ce-class-row:hover .ce-class-remove,.ce-class-row:focus-within .ce-class-remove{opacity:1;color:var(--text-tertiary)}.ce-class-remove:hover{color:var(--danger);background:var(--danger-bg);border-color:var(--danger)}.ce-class-add-row{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:6px;padding:6px 4px 8px;display:flex}.ce-class-add-row:last-child{border-bottom:none}.ce-class-add-combo{width:100%}.ce-class-add-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.ce-class-add-new{border:1px solid var(--accent-primary);height:24px;color:var(--accent-primary);border-radius:var(--radius-pill);font-family:inherit;font-size:var(--fs-11);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.ce-class-add-new:hover{background:var(--accent-subtle)}.ce-class-add-cancel{color:var(--text-tertiary);font-family:inherit;font-size:var(--fs-11);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:none;padding:0 4px}.ce-class-add-cancel:hover{color:var(--text-primary)}.ce-class-add-trigger{width:100%;color:var(--text-secondary);font-family:inherit;font-size:var(--fs-12);font-weight:var(--fw-medium);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:6px 4px;display:inline-flex}.ce-class-add-trigger:hover{color:var(--accent-primary)}.column-edit-tabs{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);align-items:stretch;gap:2px;padding:0 12px;display:flex}.column-edit-tab{color:var(--text-tertiary);font-family:inherit;font-size:var(--fs-12);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 12px;transition:color .12s,border-color .12s;display:inline-flex}.column-edit-tab:hover{color:var(--text-secondary)}.column-edit-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.column-edit-tab-count{background:var(--bg-elevated);min-width:18px;height:16px;color:var(--text-secondary);border-radius:var(--radius-pill);font-size:var(--fs-10);font-weight:var(--fw-semibold);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.column-edit-tab.active .column-edit-tab-count{background:var(--accent-primary);color:#fff}.ce-picker-new{border:1px solid var(--accent-primary);height:26px;color:var(--accent-primary);border-radius:var(--radius-pill);font-family:inherit;font-size:var(--fs-11);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.ce-picker-new:hover{background:var(--accent-subtle)}.column-edit-lock-banner{background:color-mix(in srgb, var(--lock-color,var(--accent-primary)) 14%, var(--bg-elevated));border:1px solid color-mix(in srgb, var(--lock-color,var(--accent-primary)) 36%, transparent);color:var(--text-primary);border-radius:6px;align-items:center;gap:8px;margin:8px 12px 0;padding:8px 10px;font-size:12px;display:flex}.column-edit-lock-dot{background:var(--lock-color,var(--accent-primary));border-radius:50%;flex-shrink:0;width:8px;height:8px}.column-edit-lock-text{flex:1;min-width:0}.column-edit-lock-take{border:1px solid color-mix(in srgb, var(--lock-color,var(--accent-primary)) 50%, transparent);color:var(--text-primary);font-size:11px;font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:3px 8px}.column-edit-lock-take:hover{background:color-mix(in srgb, var(--lock-color,var(--accent-primary)) 22%, transparent)}.layout-undo-toast{color:#fff;z-index:40;background:#1f2430;border-radius:24px;align-items:center;gap:12px;padding:10px 16px;font-size:14px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.layout-undo-toast__btn{color:#7ab8ff;cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:600}.layout-undo-toast__dismiss{color:#9aa3b2;cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1}.expanded-table-overlay{z-index:1500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080a148c;justify-content:center;align-items:center;animation:.12s ease-out expanded-table-fade;display:flex;position:fixed;inset:0}@keyframes expanded-table-fade{0%{opacity:0}to{opacity:1}}.expanded-table-card{background:var(--bg-surface);border:1px solid var(--border-strong);width:min(560px,92vw);max-height:85vh;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;animation:.14s ease-out expanded-table-pop;display:flex;overflow:hidden}@keyframes expanded-table-pop{0%{opacity:0;transform:scale(.98)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.expanded-table-header{background:rgba(var(--subj-rgb,56, 189, 248), .85);border-bottom:1px solid var(--border-subtle);flex:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.expanded-table-title{align-items:baseline;gap:.6rem;min-width:0;display:flex}.expanded-table-title h3{color:#fff;text-shadow:0 1px 2px #00000040;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.expanded-table-friendly{color:#fffc;white-space:nowrap;font-size:.78rem}.expanded-table-count{letter-spacing:.03em;text-transform:uppercase;color:#ffffffb3;flex:none;font-size:.68rem}.expanded-table-close{color:#fffc;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;transition:background .12s,color .12s;display:inline-flex}.expanded-table-close:hover{color:#fff;background:#ffffff2e}.expanded-table-body{overscroll-behavior:contain;flex:auto;overflow-y:auto}.expanded-table-body .attributes-table{border-collapse:collapse;width:100%}.expanded-table-body .attribute-row{cursor:pointer}.expanded-table-body .attr-drag-handle{width:22px;color:var(--text-tertiary);text-align:center;cursor:grab;opacity:.35;padding:.42rem 0 .42rem .55rem;font-size:.7rem;transition:opacity .12s}.expanded-table-body .attribute-row:hover .attr-drag-handle{opacity:.85}.expanded-table-body .attr-drag-handle:active{cursor:grabbing}.expanded-table-body .attribute-row td{padding-top:.42rem;padding-bottom:.42rem}.expanded-table-body .attribute-row.drag-over{box-shadow:inset 0 2px 0 var(--accent-primary)}.expanded-table-body .attribute-row.dragging{opacity:.5}.expanded-table-footer{border-top:1px solid var(--border-subtle);flex:none;padding:.5rem .9rem}.expanded-table-add{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.8rem;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.expanded-table-add:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.expanded-table-edit-layer{pointer-events:none;position:absolute;inset:0}.expanded-table-edit-layer>*{pointer-events:auto}.canvas-welcome{pointer-events:none;z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.canvas-welcome-card{background:var(--bg-elevated);border:1px solid var(--border-default);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;text-align:center;width:min(520px,100vw - 2.5rem);color:var(--text-primary);border-radius:16px;padding:2rem 1.75rem 1.5rem;animation:.32s cubic-bezier(.2,.9,.3,1.2) canvas-welcome-pop;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000073}@keyframes canvas-welcome-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.canvas-welcome-glow{display:none}.canvas-welcome-dismiss{width:26px;height:26px;color:var(--text-tertiary);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex;position:absolute;top:10px;right:10px}.canvas-welcome-dismiss:hover{color:var(--text-primary);background:#ffffff0f}.canvas-welcome-spark{filter:drop-shadow(0 6px 18px #a78bfa59);margin-bottom:.75rem;animation:4.2s ease-in-out infinite canvas-welcome-float;display:inline-flex;position:relative}@keyframes canvas-welcome-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.canvas-welcome-spark-main{transform-origin:24px 22px;animation:14s linear infinite canvas-welcome-spark-rotate}@keyframes canvas-welcome-spark-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.canvas-welcome-spark-dot-a{animation:2.4s ease-in-out infinite canvas-welcome-twinkle}.canvas-welcome-spark-dot-b{animation:3.1s ease-in-out .6s infinite canvas-welcome-twinkle}@keyframes canvas-welcome-twinkle{0%,to{opacity:.45;transform-origin:50%;transform:scale(.8)}50%{opacity:1;transform-origin:50%;transform:scale(1.15)}}.canvas-welcome-title{letter-spacing:-.015em;margin:0 0 .35rem;font-size:1.35rem;font-weight:700;position:relative}.canvas-welcome-title-gradient{background:linear-gradient(110deg,#c2d4ff 0%,#a78bfa 45%,#5b8cff 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;animation:8s ease-in-out infinite alternate canvas-welcome-title-shift}@keyframes canvas-welcome-title-shift{0%{background-position:0%}to{background-position:100%}}.canvas-welcome-subtitle{max-width:38ch;color:var(--text-secondary);margin:0 auto 1.25rem;font-size:.85rem;line-height:1.55;position:relative}.canvas-welcome-prompts{text-align:left;background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;max-width:420px;margin:0 auto;padding:.75rem .9rem .85rem;position:relative}.canvas-welcome-prompts-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:.45rem;font-size:.6rem;font-weight:600}.canvas-welcome-prompts ul{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.canvas-welcome-prompts li{font-family:var(--font-mono,"SF Mono", monospace);color:var(--text-secondary);padding:.25rem 0;font-size:.78rem;line-height:1.4}.canvas-welcome-prompt-quote{color:var(--accent-primary);opacity:.7;margin:0 2px;font-weight:600}.canvas-welcome-import{flex-direction:column;align-items:center;gap:.55rem;margin-top:1.1rem;display:flex;position:relative}.canvas-welcome-import-or{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-size:.7rem}.canvas-welcome-import-btn{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .95rem;font-size:.8rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.canvas-welcome-import-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-subtle)}.canvas-welcome-hint{color:var(--text-tertiary);letter-spacing:.01em;margin-top:.9rem;font-size:.7rem;position:relative}.canvas-loader{pointer-events:none;z-index:6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.canvas-loader-inner{flex-direction:column;align-items:center;gap:14px;animation:.25s both canvas-loader-fade-in;display:flex}.canvas-loader-spinner{border:3px solid var(--border-default,#ffffff1f);border-top-color:var(--accent-primary,#8b5cf6);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite canvas-loader-spin}.canvas-loader-label{color:var(--text-secondary);letter-spacing:.01em;font-size:13px}@keyframes canvas-loader-spin{to{transform:rotate(360deg)}}@keyframes canvas-loader-fade-in{0%{opacity:0}to{opacity:1}}.action-bar{z-index:10;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);align-items:center;gap:4px;padding:6px;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.action-bar.compact{border-radius:var(--radius-xl);z-index:5;flex-direction:column;padding:6px;top:50%;bottom:auto;left:20px;transform:translate(0)translateY(-50%)}.floating-toolbar-btn{border-radius:var(--radius-md);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,box-shadow .15s;display:flex;position:relative}.floating-toolbar-btn .toolbar-icon{font-size:16px}.floating-toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.floating-toolbar-btn.active{color:var(--accent-primary);background:var(--accent-subtle)}.floating-toolbar-btn.active:hover{color:var(--accent-primary);background:#5b8cff38}.floating-toolbar-btn.diff-active{color:var(--success);background:#22c55e26}.floating-toolbar-btn.diff-active:hover{color:var(--success);background:#22c55e38}.floating-toolbar-btn.add{background:var(--accent-primary);color:#fff}.floating-toolbar-btn.add:hover{background:var(--accent-hover);color:#fff}.action-bar-divider{background:var(--border-subtle);flex-shrink:0;width:1px;height:24px;margin:0 2px}.action-bar.compact .action-bar-divider{width:24px;height:1px;margin:2px 0}.floating-toolbar-btn[data-tooltip]:after{content:attr(data-tooltip);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;border-radius:var(--radius-md);border:1px solid var(--border-default);box-shadow:var(--shadow-md);pointer-events:none;opacity:0;z-index:100;padding:5px 10px;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.floating-toolbar-btn[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.floating-toolbar-btn.active[data-tooltip=Add]:after{display:none}.action-bar.compact .floating-toolbar-btn[data-tooltip]:after{top:50%;bottom:auto;left:calc(100% + 8px);transform:translate(4px)translateY(-50%)}.action-bar.compact .floating-toolbar-btn[data-tooltip]:hover:after{transform:translate(0)translateY(-50%)}.floating-toolbar-dropdown{position:relative}.floating-toolbar-menu{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);z-index:1000;min-width:170px;padding:4px 0;position:absolute;bottom:calc(100% + 12px);left:50%;overflow:hidden;transform:translate(-50%)}.floating-toolbar-menu button{text-align:left;width:100%;font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:9px 14px;transition:background .15s;display:flex}.floating-toolbar-menu button:hover{background:var(--bg-hover)}.floating-toolbar-menu .menu-icon{width:16px;color:var(--text-tertiary);text-align:center}.action-bar.compact .floating-toolbar-menu{top:50%;bottom:auto;left:calc(100% + 12px);transform:translateY(-50%)}.line-toggle{display:inline-flex;position:relative}.line-toggle-popover{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-lg);z-index:1000;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.line-toggle-popover-title{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);padding:6px 8px 4px}.line-toggle-popover-item{border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:6px 8px;font-family:inherit;font-size:12px;transition:background .1s,color .1s;display:flex}.line-toggle-popover-item:hover{background:var(--bg-hover);color:var(--text-primary)}.line-toggle-popover-item.on{background:var(--accent-subtle);color:var(--accent-primary)}.line-toggle-swatch{flex-shrink:0;width:26px;height:12px;position:relative}.line-toggle-swatch:after{content:"";opacity:.85;background:currentColor;height:1.5px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.line-toggle-swatch--dashed:after,.line-toggle-swatch--animated:after{background:repeating-linear-gradient(90deg,currentColor 0 5px,#0000 5px 9px);height:1.5px}.line-toggle-swatch--animated:after{background-size:14px 100%;animation:1.6s linear infinite line-toggle-swatch-flow}@keyframes line-toggle-swatch-flow{to{background-position-x:-14px}}.line-toggle-swatch--off:after{opacity:.25;background:currentColor}.line-toggle-swatch--off:before{content:"";opacity:.35;border:1px dashed;border-radius:2px;position:absolute;inset:0}.line-toggle-swatch--width:after{opacity:.85;background:currentColor}.line-toggle-swatch--width-1:after{height:1px}.line-toggle-swatch--width-2:after{height:1.5px}.line-toggle-swatch--width-3:after{height:2.25px}.line-toggle-popover-divider{background:var(--border-subtle);height:1px;margin:4px 6px}.action-bar.compact .line-toggle-popover{inset:50% calc(100% + 8px) auto auto;transform:translateY(-50%)}.action-items-container{flex-direction:column;gap:0;display:flex}.action-items-header{background:var(--bg-surface);z-index:1;justify-content:space-between;align-items:center;padding:.5rem .25rem .375rem;display:flex;position:sticky;top:0}.action-items-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;font-weight:600}.action-items-count{color:var(--text-tertiary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.625rem;font-weight:500}.action-items-list{flex-direction:column;display:flex}.action-item{cursor:pointer;border-radius:3px;align-items:center;gap:.375rem;margin:0;padding:.3125rem .375rem;transition:background .1s;display:flex}.action-item:hover{background:var(--bg-hover)}.action-item.checked{background:var(--success-bg)}.action-item.checked:hover{background:#22c55e40}.action-item input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.action-item-check{border:1.5px solid var(--border-strong);background:var(--bg-input);border-radius:3px;flex-shrink:0;width:14px;height:14px;transition:all .12s;position:relative}.action-item.checked .action-item-check{background:var(--success);border-color:var(--success)}.action-item.checked .action-item-check:after{content:"";border:1.5px solid #fff;border-width:0 1.5px 1.5px 0;width:4px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.action-item-source{border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.action-item-source.source-ai{color:var(--badge-default)}.action-item-source.source-mcp{color:var(--warning)}.action-item-source.source-user{color:var(--accent-primary)}.action-item-badge{letter-spacing:.02em;text-align:center;border-radius:2px;flex-shrink:0;min-width:2rem;padding:.0625rem .3125rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.5625rem;font-weight:700;line-height:1.4}.action-item-badge.op-add{background:var(--success-bg);color:var(--success)}.action-item-badge.op-mod{background:var(--info-bg);color:var(--info)}.action-item-badge.op-del{background:var(--danger-bg);color:var(--danger)}.action-item-badge.op-rel-add{color:var(--badge-default);background:#8b5cf626}.action-item-badge.op-rel-mod{background:var(--warning-bg);color:var(--warning)}.action-item-badge.op-grp{background:var(--success-bg);color:var(--success)}.action-item-text{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.75rem;line-height:1.3;overflow:hidden}.action-item.canvas-highlighted{background:var(--accent-subtle);box-shadow:inset 2px 0 0 var(--accent-primary)}.action-item.canvas-highlighted:hover{background:#5b8cff40}.action-item.checked .action-item-text{color:var(--text-primary)}.pending-ops-panel{flex-direction:column;display:flex}.draft-banner.sidebar{border-bottom:1px solid var(--border-default);background:linear-gradient(#a855f712,#a855f700);flex-direction:column;gap:10px;padding:14px 14px 12px;display:flex;position:relative}.draft-banner.sidebar:before{content:"";background:linear-gradient(90deg,#0000 0%,#a855f7e6 20%,#5b8cffe6 80%,#0000 100%);height:2px;position:absolute;top:0;left:0;right:0}.draft-banner.sidebar .banner-head{align-items:center;gap:12px;display:flex}.draft-banner.sidebar .stats{flex-wrap:wrap;gap:12px}.draft-banner.sidebar .banner-actions{align-items:center;gap:8px;display:flex}.draft-banner.sidebar .banner-actions .flex-spacer{flex:1}.draft-banner.sidebar .banner-sel{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-tertiary);font-size:10.5px}.draft-banner.sidebar .banner-sel strong{color:var(--text-primary);font-weight:var(--fw-semibold)}.pending-ops-list{padding:8px 14px 12px}.pending-ops-empty{text-align:center;color:var(--text-secondary);padding:24px 20px}.pending-ops-empty-title{font-size:14px;font-weight:var(--fw-medium);color:var(--text-primary);margin:0 0 6px}.pending-ops-empty-subtitle{margin:0;font-size:12px;line-height:1.5}.action-item.has-meta{align-items:flex-start;margin-bottom:1px;padding-top:.5rem;padding-bottom:.5rem}.action-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.action-item-meta{color:var(--text-tertiary,var(--text-secondary));opacity:.85;font-size:11px;line-height:1.3}.action-item.has-meta .action-item-text{white-space:normal;overflow:visible}.entity-ref{border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-medium);border:1px solid #0000;align-items:center;margin-block:2px;padding:1px 7px;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.entity-ref.ref-entity{color:var(--accent-primary);background-color:#5b8cff1f;border-color:#5b8cff38}.entity-ref.ref-entity:hover{background-color:#5b8cff38;border-color:#5b8cff66}.ent-mention-icon{flex-shrink:0;margin-right:1px}.entity-ref.ref-operation{color:var(--warning);background-color:#f59e0b1f;border-color:#f59e0b38}.entity-ref.ref-operation:hover{background-color:#f59e0b38;border-color:#f59e0b66}.entity-ref.ref-unknown{color:var(--text-tertiary);background-color:var(--bg-elevated);border-color:var(--border-subtle)}.entity-ref.ref-entity-deleted{color:var(--danger);cursor:default;background-color:#ef44441f;border-color:#ef444440;text-decoration:line-through;text-decoration-thickness:1px}.entity-ref.ref-column-add{color:var(--success);background-color:#22c55e1f;border-color:#22c55e40}.entity-ref.ref-column-modify{color:var(--warning);background-color:#f59e0b1f;border-color:#f59e0b40}.entity-ref.ref-column-remove{color:var(--danger);background-color:#ef44441f;border-color:#ef444440;text-decoration:line-through;text-decoration-thickness:1px}.attribute-row.column-highlight{animation:2s ease-out columnHighlightPulse}@keyframes columnHighlightPulse{0%{background-color:#3b82f64d}to{background-color:#0000}}.chat-history{overflow-anchor:auto;flex-direction:column-reverse;flex:1;min-height:0;padding:0;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--text-tertiary);padding:2rem 1rem;font-size:.875rem}.chat-messages{flex-direction:column;gap:14px;padding:16px 16px 0;display:flex}.msg{flex-direction:column;gap:6px;display:flex}.msg.user{align-items:flex-end}.msg.ai,.msg.mcp,.msg.handoff{align-items:flex-start}.msg.system{align-items:center;margin:.25rem 0}.bubble.system-bubble{color:var(--success);text-align:center;background:#2ea0431a;border:1px solid #2ea04333;border-radius:20px;max-width:85%;padding:.35rem .875rem;font-size:.75rem;animation:.2s ease-out slideIn}.bubble.system-bubble .bubble-content{font-size:.75rem;font-weight:500;line-height:1.4}.bubble.system-bubble .when{opacity:.5;color:var(--text-tertiary);text-shadow:none;margin-top:.15rem;font-size:.625rem}.system-message-version .bubble-content{text-align:left}.version-msg-details{color:#2ea043b3;margin-top:.25rem;font-size:.7rem;font-weight:400}.version-msg-detail-line{line-height:1.5}.version-msg-link{color:#2ea043cc;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-top:.3rem;padding:0;font-family:inherit;font-size:.65rem;font-weight:500;text-decoration:underline;display:inline-block}.version-msg-link:hover{color:var(--success)}.bubble{border-radius:var(--radius-lg);max-width:85%;color:var(--text-primary);word-wrap:break-word;padding:10px 12px;font-size:13px;line-height:1.5;animation:.2s ease-out slideIn;position:relative}.user-bubble{background:var(--accent-subtle);color:var(--text-primary);border:1px solid #5b8cff40;border-bottom-right-radius:4px}.ai-bubble{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);border-bottom-left-radius:4px}.mcp-bubble{background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-lg);border:1px solid #f59e0b4d;border-bottom-left-radius:4px}.mcp-badge-row{margin-bottom:.375rem}.mcp-badge{letter-spacing:.05em;color:var(--warning);background:#f59e0b26;border-radius:3px;padding:.125rem .375rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.625rem;font-weight:700;display:inline-block}.handoff-bubble{background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-lg);border:1px solid #8b5cf64d;border-bottom-left-radius:4px}.handoff-link-btn{color:#8b5cf6;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-bottom:.375rem;padding:0;font-family:inherit;font-size:.75rem;font-weight:500;text-decoration:underline;display:inline-block}.handoff-link-btn:hover{color:var(--badge-default)}.handoff-badge{letter-spacing:.05em;color:#8b5cf6;background:#8b5cf626;border-radius:3px;padding:.125rem .375rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.625rem;font-weight:700;display:inline-block}.handoff-bubble .when{color:var(--text-secondary)}.handoff-bubble .bubble-content p{margin:.375rem 0}.handoff-bubble .bubble-content p:first-child{margin-top:0}.handoff-bubble .bubble-content p:last-child{margin-bottom:0}.handoff-bubble .bubble-content ul,.handoff-bubble .bubble-content ol{margin:.375rem 0;padding-left:1.5rem}.handoff-bubble .bubble-content li{margin:.125rem 0}.handoff-bubble .bubble-content li>p{margin:0}.mcp-bubble .when{color:var(--text-secondary)}.bubble-content{font-size:.8125rem;line-height:1.5}.user-bubble .bubble-content{white-space:pre-wrap}.byline{color:var(--text-tertiary);align-items:center;gap:6px;margin-top:4px;padding:0 4px;font-size:10px;display:flex;position:relative}.byline-icon{color:var(--draft-accent);flex-shrink:0}.who{font-size:10px;font-weight:var(--fw-semibold);color:var(--text-secondary);cursor:pointer;transition:color .15s}.who:hover{color:var(--text-primary)}.msg.user .byline{flex-direction:row-reverse}.when{color:var(--text-tertiary);font-size:10px}.sender-popover{background:var(--bg-elevated);border:1px solid var(--border-default);z-index:100;white-space:nowrap;border-radius:12px;align-items:center;gap:.625rem;padding:.5rem .75rem;animation:.15s ease-out popoverIn;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 20px #00000040,0 0 0 1px #ffffff0a}.user-bubble .sender-popover{left:auto;right:0}@keyframes popoverIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sender-popover-avatar{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.sender-popover-avatar-img{object-fit:cover;border-radius:8px;width:100%;height:100%}.sender-popover-info{flex-direction:column;gap:.05rem;display:flex}.sender-popover-name{color:var(--text-primary);font-size:.8125rem;font-weight:600}.sender-popover-detail{color:var(--text-tertiary);font-size:.6875rem}.bubble.typing{background:var(--bg-hover);padding:.75rem 1rem}.typing-dots{align-items:center;gap:.25rem;display:flex}.typing-dot{background:var(--text-tertiary);border-radius:50%;width:8px;height:8px;animation:1.4s infinite typingDot}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}.ai-bubble .bubble-content h1,.ai-bubble .bubble-content h2,.ai-bubble .bubble-content h3,.ai-bubble .bubble-content h4,.ai-bubble .bubble-content h5,.ai-bubble .bubble-content h6{margin-top:.75rem;margin-bottom:.25rem;font-weight:600;line-height:1.3}.ai-bubble .bubble-content li strong{font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-base);font-size:11px;font-weight:var(--fw-semibold);letter-spacing:0;border-radius:3px;padding:1px 5px}.ai-bubble .bubble-content h1{font-size:1.25rem}.ai-bubble .bubble-content h2{font-size:1.125rem}.ai-bubble .bubble-content h3{font-size:1rem}.ai-bubble .bubble-content h1:first-child,.ai-bubble .bubble-content h2:first-child,.ai-bubble .bubble-content h3:first-child{margin-top:0}.ai-bubble .bubble-content ul,.ai-bubble .bubble-content ol{margin:.375rem 0;padding-left:1.5rem}.ai-bubble .bubble-content li{margin:.125rem 0}.ai-bubble .bubble-content li>p{margin:0}.ai-bubble .bubble-content p{margin:.375rem 0}.ai-bubble .bubble-content p:first-child{margin-top:0}.ai-bubble .bubble-content p:last-child{margin-bottom:0}.ai-bubble .bubble-content code{background:var(--bg-hover);border-radius:3px;padding:.125rem .25rem;font-family:Monaco,Menlo,Courier New,monospace;font-size:.875em}.mcp-bubble .bubble-content p{margin:.375rem 0}.mcp-bubble .bubble-content p:first-child{margin-top:0}.mcp-bubble .bubble-content p:last-child{margin-bottom:0}.mcp-bubble .bubble-content ul,.mcp-bubble .bubble-content ol{margin:.375rem 0;padding-left:1.5rem}.mcp-bubble .bubble-content li{margin:.125rem 0}.mcp-bubble .bubble-content li>p{margin:0}.ai-bubble .bubble-content pre{background:var(--bg-hover);border-radius:6px;margin:.5rem 0;padding:.75rem;overflow-x:auto}.ai-bubble .bubble-content pre code{background:0 0;padding:0}.ai-bubble .bubble-content blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:.5rem 0;padding-left:1rem}.ai-bubble .bubble-content strong{font-weight:600}.ai-bubble .bubble-content em{font-style:italic}.ai-bubble .bubble-content a{color:var(--accent-primary);text-decoration:underline}.ai-bubble .bubble-content a:hover{color:var(--accent-hover)}.operations-summary{color:var(--accent-primary);text-shadow:0 1px 4px #00000080;background:0 0;border:none;margin-top:.35rem;padding:.35rem 0;font-size:.75rem;font-weight:500;line-height:1.4}.scroll-to-bottom-btn{background:var(--bg-elevated);border:1px solid var(--border-default);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);z-index:10;border-radius:50%;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex;position:absolute;bottom:8px;right:12px;box-shadow:0 2px 8px #0003}.scroll-to-bottom-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.scroll-to-bottom-badge{background:var(--accent-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.tool-step{color:var(--text-secondary);align-items:flex-start;gap:10px;padding:2px 0;font-size:12px;display:flex}.tool-step-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tool-step-line{align-items:center;gap:8px;display:flex}.tool-step-line .lbl{flex:1}.tool-step-meta{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.tool-step-body .tool-refs{margin-left:0}.tool-step .chk{width:16px;height:16px;color:var(--success-vibrant);background:#10b98126;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.tool-step.running .chk{background:var(--accent-subtle);color:var(--accent-primary);animation:1.4s ease-in-out infinite tool-step-pulse}.tool-step.error .chk{color:var(--danger);background:#ef444426}.tool-step.running .chk svg{animation:.8s linear infinite spin}@keyframes tool-step-pulse{0%,to{opacity:1}50%{opacity:.5}}.tool-step .lbl{font-weight:var(--fw-medium);flex:1}.tool-step .lbl strong{font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-base);font-size:11px;font-weight:var(--fw-semibold);letter-spacing:0;border-radius:3px;margin-left:2px;padding:1px 5px}.tool-step .dur{font-family:var(--font-mono);color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10px}.tool-step.running .dur{color:var(--accent-primary)}.chat-messages>.tool-step{padding-left:11px;padding-right:11px}.tool-group{border:1px solid var(--border-subtle,#ffffff17);background:#ffffff06;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.tool-group-header{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:9px;margin:0;padding:7px 10px;font-family:inherit;font-size:12px;transition:background .12s;display:flex}.tool-group-header:hover{background:#ffffff0a}.tool-group.expanded .tool-group-header{border-bottom:1px solid var(--border-subtle,#ffffff12)}.tool-group .chk{width:18px;height:18px;color:var(--success-vibrant);background:#10b98126;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tool-group.running .chk{background:var(--accent-subtle);color:var(--accent-primary);animation:1.4s ease-in-out infinite tool-step-pulse}.tool-group.running .chk svg{animation:.8s linear infinite spin}.tool-group.error .chk{color:var(--danger);background:#ef444426}.tool-group-label{font-weight:var(--fw-medium);white-space:nowrap}.mcp-badge{height:13px;font-family:var(--font-mono);font-size:9px;font-weight:var(--fw-semibold);letter-spacing:.04em;color:#c4b5fd;vertical-align:middle;background:#8b5cf62e;border:1px solid #8b5cf659;border-radius:3px;flex-shrink:0;align-items:center;margin-left:6px;padding:0 4px;display:inline-flex}.chat-messages>.tool-step.mcp{box-shadow:inset 2px 0 #8b5cf680}.tool-group.mcp{border-color:#8b5cf64d}.tool-group.mcp .chk{color:#c4b5fd;background:#8b5cf629}.tool-refs{flex-wrap:wrap;align-items:center;gap:4px;margin-left:4px;display:inline-flex}.tool-ref-pair{align-items:center;gap:4px;display:inline-flex}.tool-ref-arrow{color:var(--text-tertiary);font-size:11px}.tool-refs-more{color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;padding:0 2px;font-family:inherit;font-size:10px}.tool-refs-more:hover{color:var(--text-secondary);text-decoration:underline}.tool-refs-more-static{cursor:default}.tool-refs-more-static:hover{color:var(--text-tertiary);text-decoration:none}.tool-group-pill{background:var(--bg-base);color:var(--text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:2px 9px;font-size:11px;display:inline-flex}.tool-group-pill .dot{color:var(--text-tertiary);opacity:.55}.tool-group-pill .mono{font-family:var(--font-mono);color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:10px}.tool-group-pill .fail{color:var(--danger);font-weight:var(--fw-medium)}.tool-group.running .tool-group-progress{color:var(--accent-primary)}.tool-group-chevron{color:var(--text-tertiary);transition:transform .15s;display:inline-flex}.tool-group.expanded .tool-group-chevron{transform:rotate(180deg)}.tool-group-body{flex-direction:column;gap:8px;padding:9px 12px 10px;display:flex}.timeline-status{color:var(--text-tertiary);align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.6875rem;display:flex}.timeline-status.running{color:var(--text-secondary)}.status-spinner{border:1.5px solid var(--text-tertiary);border-top-color:var(--accent-primary);border-radius:50%;width:10px;height:10px;animation:.8s linear infinite spin}.status-text{font-weight:500}.status-duration{font-variant-numeric:tabular-nums;margin-left:auto}.quick-action-entry{justify-content:center;align-items:center;gap:.375rem;margin:.25rem auto;padding:.375rem .75rem;display:flex}.quick-action-entry .quick-action-icon{color:var(--accent-primary);flex-shrink:0}.quick-action-label{color:var(--accent-primary);background:var(--accent-subtle,#5b8cff26);border-radius:12px;padding:.25rem .625rem;font-size:.75rem;font-weight:500}.streaming-indicator{background:var(--text-secondary);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;animation:1.4s ease-in-out infinite streamingPulse;display:inline-block}@keyframes streamingPulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:.9;transform:scale(1)}}.navigation-card{background:var(--bg-elevated);border:1px solid var(--border-default);cursor:pointer;text-align:left;color:var(--text-primary);border-radius:8px;align-items:center;gap:.5rem;width:calc(100% - 1.5rem);margin:.25rem .75rem;padding:.5rem .75rem;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.navigation-card:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.navigation-card-icon{color:var(--accent-primary);flex-shrink:0}.navigation-card-content{flex:1;min-width:0}.navigation-card-title{font-size:.8125rem;font-weight:500}.navigation-card-desc{color:var(--text-tertiary);margin-top:.125rem;font-size:.6875rem}.mention-dropdown{background:var(--bg-elevated,#1e1e35);border:1px solid var(--border-default,#2d2d50);border-radius:var(--radius-lg);z-index:9999;min-width:160px;max-width:280px;padding:4px;position:fixed;overflow-y:auto;box-shadow:0 4px 16px #00000073}.mention-dropdown-item{cursor:pointer;font-size:var(--fs-13);color:var(--text-primary,#e0e0f0);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;line-height:1.4;transition:background .1s;display:flex}.mention-dropdown-item:hover,.mention-dropdown-item.selected{background-color:var(--bg-hover,#282845)}.mention-display{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mention-badge{font-size:inherit;line-height:inherit;cursor:default;-webkit-user-select:all;user-select:all;white-space:nowrap;color:var(--text-secondary,#99b);background:#ffffff14;border-radius:5px;padding:.05em .35em;display:inline}.mention-badge.badge-table{color:#99c;background:#5b64b440}.mention-badge.badge-view{color:#6bbfb0;background:#2d827840}.mention-badge.badge-procedure,.mention-badge.badge-function{color:#b094e8;background:#7c3aed40}.mention-input:empty:before{content:attr(data-placeholder);color:var(--text-tertiary,#668);pointer-events:none}.prompt-input .mention-input{width:100%;min-height:64px;font-family:var(--font-sans);resize:none;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;background:0 0;border:none;border-radius:0;outline:none;padding:10px 12px;font-size:13px;line-height:1.5;overflow-y:auto}.prompt-input .mention-input:focus{box-shadow:none;background:0 0;border:none;outline:none}.prompt-input .mention-input[contenteditable=false]{cursor:not-allowed;color:var(--text-disabled)}.quick-actions-wrapper{display:inline-flex;position:relative}.quick-actions-button{border:1px solid var(--border-color,#333);color:var(--text-secondary,#999);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:6px 8px;transition:color .15s,border-color .15s;display:inline-flex}.quick-actions-button:hover{color:var(--text-primary,#fff);border-color:var(--text-secondary,#666)}.quick-actions-menu{background:var(--panel-bg,#1e1e1e);border:1px solid var(--border-color,#333);z-index:2000;border-radius:8px;min-width:200px;max-width:280px;padding:4px;position:fixed;box-shadow:0 8px 28px #00000073}.quick-actions-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#666);padding:6px 8px 4px;font-size:10px;font-weight:600}.quick-actions-divider{background:var(--border-color,#333);height:1px;margin:4px 0}.quick-actions-item{width:100%;color:var(--text-primary,#e0e0e0);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 8px;font-size:13px;transition:background .1s;display:block}.quick-actions-item:hover{background:var(--hover-bg,#2a2a2a)}.dbx-panel{background:var(--bg-surface);flex-direction:column;flex:1;display:flex;overflow:hidden}.dbx-filter{z-index:2;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;padding:8px 10px;display:flex;position:sticky;top:0}.dbx-filter-icon{color:var(--text-tertiary);pointer-events:none;font-size:10px;position:absolute;left:20px}.dbx-filter-input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;height:28px;color:var(--text-primary);box-sizing:border-box;outline:none;padding:0 28px;font-family:inherit;font-size:12px}.dbx-filter-input:focus{border-color:var(--accent-primary)}.dbx-filter-input::placeholder{color:var(--text-tertiary)}.dbx-filter-clear{background:var(--text-tertiary);width:16px;height:16px;color:var(--bg-surface);cursor:pointer;opacity:.6;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;transition:opacity .15s;display:flex;position:absolute;right:16px}.dbx-filter-clear:hover{opacity:1}.dbx-tree-content{background:var(--bg-surface);flex:1;padding:0;overflow-y:auto}.dbx-tree-content::-webkit-scrollbar{width:8px}.dbx-tree-content::-webkit-scrollbar-track{background:var(--scrollbar-track)}.dbx-tree-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:0}.dbx-tree-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.dbx-tree-item{text-align:left;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);background:0 0;align-items:center;gap:6px;margin:0;padding:3px 8px;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:12px;line-height:1.3;transition:background-color .1s;display:flex}.dbx-tree-item:hover{background:var(--bg-hover)}.dbx-tree-item:active{background:var(--bg-active)}.dbx-tree-item.active{background:var(--bg-active);color:var(--subj-color,var(--accent-primary));font-weight:var(--fw-medium)}.dbx-tree-item.active:hover{background:var(--bg-active)}.dbx-tree-item.active-child{background:#ffffff05}.dbx-tree-item.active-child:hover{background:var(--bg-hover)}.dbx-tree-item.category{background:var(--bg-elevated);font-weight:var(--fw-semibold);padding:.4rem .5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.72rem}.dbx-tree-item.category:hover{background:var(--bg-hover)}.dbx-tree-item.sub-header{font-weight:var(--fw-semibold);color:var(--text-secondary);font-size:.68rem}.dbx-tree-item.leaf{color:var(--text-secondary);font-size:.7rem}.dbx-tree-item.leaf:hover{color:var(--text-primary)}.dbx-chevron{color:var(--text-secondary);text-align:center;flex-shrink:0;width:12px;font-size:.85rem;transition:transform .15s;display:inline-block}.dbx-chevron.expanded{transform:rotate(90deg)}.dbx-leaf-spacer{flex-shrink:0;width:10px}.dbx-node-icon{text-align:center;width:14px;color:var(--text-tertiary);flex-shrink:0;font-size:.65rem}.dbx-node-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.dbx-type-label{color:var(--text-tertiary);font-size:.62rem;font-weight:var(--fw-medium);flex-shrink:0}.dbx-type-integer{color:var(--type-integer)}.dbx-type-string{color:var(--type-string)}.dbx-type-date{color:var(--type-date)}.dbx-type-boolean{color:var(--type-boolean)}.dbx-type-decimal{color:var(--type-decimal)}.dbx-type-binary{color:var(--type-binary)}.dbx-type-json{color:var(--type-json)}.dbx-type-uuid{color:var(--type-uuid)}.dbx-type-default{color:var(--type-default)}.dbx-count{color:var(--text-tertiary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.6rem;font-weight:var(--fw-medium);flex-shrink:0;margin-left:auto}.dbx-badges{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.dbx-badge{font-size:.55rem;font-weight:var(--fw-bold);letter-spacing:.03em;line-height:1}.dbx-badge-pk{color:var(--badge-pk)}.dbx-badge-fk{color:var(--badge-fk)}.dbx-badge-unique{color:var(--badge-unique)}.dbx-badge-null{color:var(--badge-null)}.dbx-rel-type{color:var(--text-tertiary);font-size:.6rem;font-weight:var(--fw-medium);flex-shrink:0}.dbx-empty{text-align:center;color:var(--text-tertiary);padding:1.5rem .75rem;font-size:.72rem}.dbx-highlight{background:#f59e0b40;border-radius:1px}.dbx-tree-group{border-left:2px solid rgba(var(--subj-rgb,91, 140, 255), .4);margin:2px 2px 6px 6px;padding-left:4px;position:relative}.dbx-tree-group-head{cursor:pointer;width:100%;font-family:inherit;font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--subj-color,var(--accent-primary));text-align:left;background:0 0;border:none;align-items:center;gap:7px;margin-bottom:1px;padding:4px 6px 4px 2px;display:flex}.dbx-tree-group-head:hover{filter:brightness(1.1)}.dbx-tree-group-ic{background:rgba(var(--subj-rgb,91, 140, 255), .18);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;display:inline-flex}.dbx-tree-group-lbl{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.dbx-tree-group-count{color:var(--text-tertiary);background:var(--bg-elevated);letter-spacing:0;text-transform:none;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:9px;font-weight:var(--fw-regular);border-radius:3px;flex-shrink:0;padding:1px 5px}.dbx-tree-group-head .dbx-chevron{color:var(--subj-color,var(--accent-primary));opacity:.7;width:10px;font-size:9px}.dbx-tree-group-head-row{align-items:stretch;display:flex}.dbx-tree-group-head-row .dbx-tree-group-head{flex:1;width:auto}.dbx-tree-group-vis{width:24px;color:var(--text-tertiary);cursor:pointer;opacity:.4;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 4px;font-size:10px;transition:opacity .12s,color .12s;display:inline-flex}.dbx-tree-group-head-row:hover .dbx-tree-group-vis,.dbx-tree-group-vis:focus-visible{opacity:.9;color:var(--text-primary)}.dbx-tree-group-vis:hover{opacity:1;color:var(--subj-color,var(--accent-primary))}.dbx-tree-group.group-hidden>.dbx-tree-group-head-row .dbx-tree-group-head{opacity:.55}.dbx-tree-group.group-hidden>.dbx-tree-group-head-row .dbx-tree-group-vis{opacity:.85}.dbx-tree-group-body .dbx-tree-item{border-bottom:none}.version-details-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px;display:flex}.version-details-description{color:var(--text-primary);white-space:pre-wrap;font-size:13px;line-height:1.5}.version-details-empty{color:var(--text-tertiary,var(--text-secondary));font-size:13px;font-style:italic}.version-details-textarea{width:100%;color:var(--text-primary);background:var(--bg-elevated,#1a1f2e);border:1px solid var(--border-default);resize:vertical;box-sizing:border-box;border-radius:6px;min-height:80px;padding:8px 10px;font-family:inherit;font-size:13px}.version-details-textarea:focus{border-color:var(--accent-primary);outline:none}.version-details-actions-row{align-items:center;gap:6px;display:flex}.version-details-btn{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:5px 11px;font-size:12px;font-weight:500;transition:background .15s,color .15s,border-color .15s}.version-details-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.version-details-btn:disabled{opacity:.5;cursor:not-allowed}.version-details-btn-primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.version-details-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.version-details-ops-loading{color:var(--text-secondary);padding:8px 0;font-size:12px}.version-details-badge{background:var(--accent-subtle);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.version-details-btn-warn{color:#f87171;border-color:#ef444473}.version-details-btn-warn:hover{color:var(--danger-soft);background:#ef44441f}.cursor-overlay{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.cursor-marker{will-change:transform;align-items:flex-start;transition:transform 60ms linear;display:flex;position:absolute;top:0;left:0}.cursor-arrow{filter:drop-shadow(0 1px 2px #0000008c);flex-shrink:0;display:block}.cursor-label{font-family:var(--font-sans);font-size:11px;font-weight:var(--fw-medium);color:#000000e0;letter-spacing:.01em;white-space:nowrap;border-radius:4px;margin-top:12px;margin-left:4px;padding:2px 6px;box-shadow:0 1px 3px #00000080}.collab-panel{flex-direction:column;gap:4px;padding:8px;display:flex}.collab-row{color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-sans);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;transition:background .12s,opacity .18s,border-color .12s;display:flex}.collab-row:hover{background:var(--bg-hover);border-color:var(--border-subtle)}.collab-row.idle{opacity:.5}.collab-row.idle:hover{opacity:.85}.collab-row-avatar{border-radius:var(--radius-md);border:2px solid var(--user-color,var(--accent-primary));background:var(--bg-elevated);flex-shrink:0;width:32px;height:32px;position:relative;overflow:visible}.collab-row-avatar>img,.collab-row-avatar>.collab-row-avatar-fallback{border-radius:calc(var(--radius-md) - 2px);object-fit:cover;width:100%;height:100%;display:block;overflow:hidden}.collab-row-avatar-fallback{font-size:12px;font-weight:var(--fw-bold);color:#000000e0;justify-content:center;align-items:center;display:flex!important}.collab-row-status{border:2px solid var(--bg-elevated);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.collab-row-status.active{background:var(--success,#22c55e)}.collab-row-status.idle{background:var(--text-disabled)}.collab-row-meta{flex-direction:column;flex:1;min-width:0;display:flex}.collab-row-name{font-size:13px;font-weight:var(--fw-semibold);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collab-row-activity{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.collab-panel-empty{color:var(--text-secondary);padding:24px 16px}.collab-panel-empty-title{font-size:13px;font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:6px}.collab-panel-empty-hint{font-size:12px;line-height:1.5}.collab-panel-section-label{font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);padding:8px 12px 4px}.collab-panel-section-spaced{border-top:1px solid var(--border-subtle);margin-top:8px;padding-top:12px}.collab-row.muted{opacity:.55}.collab-row.muted:hover{opacity:.9}.collab-panel-error{background:color-mix(in srgb, var(--danger,#ef4444) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger,#ef4444) 38%, transparent);color:var(--text-primary);border-radius:6px;margin:4px 12px 8px;padding:8px 10px;font-size:11px}.collab-panel-pagination{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-top:4px;padding:8px 12px;display:flex}.collab-panel-pager{border:1px solid var(--border-subtle);color:var(--text-primary);font-size:11px;font-weight:var(--fw-medium);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px}.collab-panel-pager:hover:not(:disabled){background:var(--bg-hover)}.collab-panel-pager:disabled{opacity:.4;cursor:not-allowed}.collab-panel-page-label{color:var(--text-tertiary);letter-spacing:.04em;font-size:10px}.mcp-dialog-overlay{z-index:1000;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mcp-dialog{background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;width:520px;max-width:92vw;max-height:86vh;display:flex;overflow:hidden}.mcp-dialog-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:6px;padding:14px 16px;display:flex}.mcp-dialog-header h3{font-size:15px;font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em;flex:1;margin:0}.mcp-help-btn,.mcp-help-back,.mcp-dialog-close{cursor:pointer;border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-tertiary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.mcp-help-btn:hover,.mcp-help-back:hover,.mcp-dialog-close:hover{background:var(--bg-hover);color:var(--text-primary)}.mcp-dialog-close{font-size:20px;line-height:1}.mcp-dialog-body{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.mcp-dialog-section{flex-direction:column;gap:6px;display:flex}.mcp-dialog-label{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.mcp-dialog-status{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:8px;padding:10px 12px;display:flex}.mcp-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mcp-status-dot.synced{background:var(--success);box-shadow:0 0 6px #22c55e8c}.mcp-status-dot.syncing{background:#eab308;animation:1.5s ease-in-out infinite mcpPulse}.mcp-status-dot.error{background:var(--danger)}.mcp-status-dot.idle{background:var(--text-tertiary)}@keyframes mcpPulse{0%,to{opacity:1}50%{opacity:.4}}.mcp-status-text{color:var(--text-primary);font-size:13px;font-weight:var(--fw-medium)}.mcp-status-time{color:var(--text-secondary);margin-left:auto;font-size:12px}.mcp-dialog-copyable,.mcp-dialog-scopes{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.mcp-dialog-copyable code,.mcp-dialog-scopes code{font-family:var(--font-mono,"SF Mono", "Monaco", monospace);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.mcp-dialog-scopes code{word-break:break-all;white-space:normal}.mcp-copy-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-tertiary);font-family:inherit;font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:4px 10px;transition:background .12s,color .12s,border-color .12s}.mcp-copy-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.mcp-copy-btn.copied{color:var(--success);background:#22c55e1a;border-color:#22c55e73}.mcp-dialog-code{background:var(--frame-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-md);position:relative;overflow:hidden}.mcp-dialog-code pre{font-family:var(--font-mono,"SF Mono", "Monaco", monospace);color:var(--text-primary);white-space:pre;margin:0;padding:12px 80px 12px 12px;font-size:12px;line-height:1.55;overflow-x:auto}.mcp-dialog-code .mcp-copy-btn{position:absolute;top:8px;right:8px}.mcp-dialog-auth-note{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.5}.mcp-dialog-auth-note code{font-family:var(--font-mono,"SF Mono", "Monaco", monospace);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:4px;padding:1px 6px;font-size:11px}.mcp-dialog-actions{border-top:1px solid var(--border-subtle);gap:8px;margin:0 -16px -16px;padding:14px 16px;display:flex}.mcp-dialog-btn{background:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary);border-radius:var(--radius-pill);height:36px;font-family:inherit;font-size:13px;font-weight:var(--fw-semibold);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 16px;transition:background .12s,border-color .12s;display:inline-flex}.mcp-dialog-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.mcp-dialog-btn-secondary{color:var(--text-primary);border-color:var(--border-default);background:0 0}.mcp-dialog-btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.mcp-help-body{flex-direction:column;gap:18px;padding:16px;display:flex}.mcp-help-section{gap:12px;display:flex}.mcp-help-step-num{border-radius:var(--radius-md);background:var(--accent-subtle);width:24px;height:24px;color:var(--accent-primary);font-size:12px;font-weight:var(--fw-bold);border:1px solid #5b8cff4d;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.mcp-help-step-content{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.mcp-help-step-content h4{font-size:13px;font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.mcp-help-step-content p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.mcp-help-step-content code{font-family:var(--font-mono,"SF Mono", "Monaco", monospace);background:var(--bg-base);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:4px;padding:1px 6px;font-size:11px}.mcp-help-alt,.mcp-help-tip{color:var(--text-tertiary)!important;margin-top:4px!important;font-size:11.5px!important}.mcp-help-tip{font-style:italic}.mcp-help-capabilities{flex-direction:column;gap:4px;margin:4px 0 0;padding-left:18px;list-style:none;display:flex}.mcp-help-capabilities li{color:var(--text-secondary);font-size:12px;line-height:1.55;position:relative}.mcp-help-capabilities li:before{content:"→";color:var(--accent-primary);position:absolute;left:-16px}.mcp-help-capabilities li strong{color:var(--text-primary)}.mcp-help-example{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);padding:8px 10px;font-size:12px;margin-top:6px!important}.mcp-help-example em{color:var(--text-primary);font-style:italic}.mcp-help-step-content .mcp-dialog-code pre{word-break:break-all;white-space:pre-wrap;font-size:11.5px}.mcp-help-step-content .mcp-dialog-copyable{margin-bottom:4px}.mcp-help-link{color:var(--accent-primary);font-weight:var(--fw-medium);text-decoration:none}.mcp-help-link:hover{text-decoration:underline}.mcp-dialog-body::-webkit-scrollbar{width:6px;height:6px}.mcp-dialog-code::-webkit-scrollbar{width:6px;height:6px}.mcp-dialog-body::-webkit-scrollbar-track{background:0 0}.mcp-dialog-code::-webkit-scrollbar-track{background:0 0}.mcp-dialog-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.mcp-dialog-code::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.mcp-dialog-body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.mcp-dialog-code::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.icon-sidebar{width:var(--icon-sidebar-width);background:var(--frame-bg);z-index:20;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 0;display:flex;overflow:visible}.icon-sidebar-top,.icon-sidebar-bottom{flex-direction:column;align-items:center;gap:6px;display:flex}.icon-sidebar-divider{background:var(--border-default);width:24px;height:1px;margin:4px 0 6px}.icon-sidebar-btn{width:36px;height:36px;color:var(--sidebar-icon-text);border-radius:var(--radius-lg);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.1rem;transition:color .2s;display:flex;position:relative}.icon-sidebar-btn:before{content:"";border-radius:var(--radius-lg);z-index:1;background:0 0;transition:background .15s;position:absolute;inset:0}.icon-sidebar-btn:hover{color:var(--sidebar-icon-text-hover)}.icon-sidebar-btn:hover:before{background:var(--bg-hover)}.icon-sidebar-btn.active{color:var(--accent-primary);filter:drop-shadow(0 0 6px #5b8cff99);text-shadow:0 0 10px #5b8cff80}.icon-sidebar-icon{z-index:2;position:relative}.icon-sidebar-badge{z-index:3;border-radius:var(--radius-md);background:var(--danger,#ef4444);color:#fff;min-width:16px;height:16px;font-size:10px;font-weight:var(--fw-bold);text-align:center;box-shadow:0 0 0 2px var(--sidebar-bg,#0f1419);pointer-events:none;padding:0 4px;line-height:16px;position:absolute;top:2px;right:2px}.icon-sidebar-btn[data-tooltip]:after{content:attr(data-tooltip);background:var(--bg-elevated);height:100%;color:var(--text-primary);font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;pointer-events:none;opacity:0;box-shadow:var(--shadow-md);border-radius:0 10px 10px 0;align-items:center;padding-left:calc(18px + .5rem);padding-right:.75rem;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:0;left:50%;transform:translate(-8px)}.icon-sidebar-btn[data-tooltip]:hover:after{opacity:1;transform:translate(0)}.queries-panel{background:var(--bg-surface);flex-direction:column;flex:1;display:flex;overflow:hidden}.queries-panel-search{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;align-items:center;padding:8px 10px;display:flex;position:relative}.queries-panel-search-icon{color:var(--text-tertiary);pointer-events:none;font-size:10px;position:absolute;left:20px}.queries-panel-search-input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;height:28px;color:var(--text-primary);box-sizing:border-box;outline:none;padding:0 10px 0 28px;font-family:inherit;font-size:12px}.queries-panel-search-input:focus{border-color:var(--accent-primary)}.queries-panel-search-input::placeholder{color:var(--text-tertiary)}.queries-panel-tags{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:6px 10px;display:flex}.queries-panel-tag{font-size:10px;font-family:var(--font-mono);font-weight:var(--fw-medium);color:var(--text-tertiary);background:var(--bg-elevated);border:1px solid var(--border-subtle);cursor:pointer;white-space:nowrap;border-radius:3px;padding:2px 8px;transition:background .1s,color .1s,border-color .1s}.queries-panel-tag:hover{background:var(--bg-hover);color:var(--text-primary)}.queries-panel-tag--active{background:var(--accent-subtle);color:var(--accent-primary);border-color:#5b8cff66}.queries-panel-tag--active:hover{background:var(--accent-subtle);color:var(--accent-primary)}.queries-panel-list{background:var(--bg-surface);flex:1;padding:4px 10px 10px;overflow-y:auto}.queries-panel-list::-webkit-scrollbar{width:8px}.queries-panel-list::-webkit-scrollbar-track{background:var(--scrollbar-track)}.queries-panel-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:0}.queries-panel-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.queries-panel-item{text-align:left;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;gap:3px;width:100%;margin:2px 0;padding:10px 12px;font-family:inherit;transition:background .1s,border-color .1s;display:flex}.queries-panel-item:hover{background:var(--bg-hover);border-color:var(--border-subtle)}.queries-panel-item--active{background:var(--accent-subtle);border-color:#5b8cff4d}.queries-panel-item-name{font-size:13px;font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-family:inherit;line-height:1.3;overflow:hidden}.queries-panel-item--active .queries-panel-item-name{color:var(--accent-primary)}.queries-panel-item-meta{color:var(--text-tertiary);font-size:11px;font-family:var(--font-mono);align-items:center;display:flex}.queries-panel-item-meta span:not(:first-child):before{content:"·";color:var(--text-disabled);margin:0 .45em}.queries-panel-item-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.queries-panel-item-tag{font-size:9px;font-family:var(--font-mono);font-weight:var(--fw-medium);color:var(--text-tertiary);background:var(--bg-elevated);border:1px solid var(--border-subtle);white-space:nowrap;border-radius:3px;padding:1px 6px}.queries-panel-archive-toggle{border:none;border-top:1px solid var(--border-subtle);text-align:left;cursor:pointer;background:0 0;flex-shrink:0;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:inherit;transition:background .15s;display:flex}.queries-panel-archive-toggle:hover{background:var(--bg-hover)}.queries-toggle-switch{background:var(--bg-base);border:1px solid var(--border-default);box-sizing:border-box;border-radius:999px;flex-shrink:0;width:28px;height:16px;transition:background .2s,border-color .2s;position:relative}.queries-panel-archive-toggle.active .queries-toggle-switch{background:var(--accent-primary);border-color:var(--accent-primary)}.queries-toggle-knob{background:var(--text-tertiary);border-radius:50%;width:12px;height:12px;transition:transform .2s,background .2s;position:absolute;top:1px;left:1px}.queries-panel-archive-toggle.active .queries-toggle-knob{background:#fff;transform:translate(12px)}.queries-toggle-label{font-size:12px;font-weight:var(--fw-regular);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.queries-panel-archive-actions{gap:6px;padding-top:4px;display:flex}.queries-panel-archive-btn{font-size:10px;font-weight:var(--fw-medium);cursor:pointer;font-family:var(--font-mono);border:1px solid;border-radius:3px;padding:3px 8px;transition:background .1s,color .1s}.queries-panel-archive-btn--restore{background:var(--bg-elevated);color:var(--accent-primary);border-color:var(--accent-primary)}.queries-panel-archive-btn--restore:hover{background:var(--accent-primary);color:#fff}.queries-panel-archive-btn--delete{background:var(--bg-elevated);color:var(--danger);border-color:var(--danger)}.queries-panel-archive-btn--delete:hover{background:var(--danger);color:#fff}.queries-panel-empty,.queries-panel-loading{text-align:center;color:var(--text-tertiary);padding:16px 12px;font-family:inherit;font-size:12px}.queries-panel-error{text-align:center;color:var(--danger);padding:12px;font-family:inherit;font-size:11px}.activity-panel{background:var(--bg-surface);flex-direction:column;flex:1;display:flex;overflow:hidden}.activity-panel-filters{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;padding:.375rem .75rem;display:flex}.activity-panel-list{background:var(--bg-surface);flex:1;padding:0;overflow-y:auto}.activity-panel-list::-webkit-scrollbar{width:8px}.activity-panel-list::-webkit-scrollbar-track{background:var(--scrollbar-track)}.activity-panel-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:0}.activity-panel-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.activity-panel-item{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:.5rem;padding:.5rem .75rem;transition:background-color .1s;display:flex}.activity-panel-item:hover{background:var(--bg-hover)}.activity-panel-item-icon{text-align:center;width:1.25rem;color:var(--text-tertiary);flex-shrink:0;padding-top:.0625rem;font-size:.7rem}.activity-panel-item--schema .activity-panel-item-icon{color:var(--success)}.activity-panel-item--query .activity-panel-item-icon{color:var(--badge-default)}.activity-panel-item-content{flex-direction:column;flex:1;gap:.1875rem;min-width:0;display:flex}.activity-panel-item-desc{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-primary);word-break:break-word;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;line-height:1.5}.activity-panel-item-cols{font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:var(--fs-12);flex-wrap:wrap;gap:2px .5rem;margin-top:1px;display:flex}.activity-col-glyph{font-weight:var(--fw-semibold);opacity:.85;margin-right:2px}.activity-panel-item .entity-ref{text-underline-offset:2px;background:0 0;border:none;border-radius:0;margin-block:0;padding:0;text-decoration-thickness:1px;transition:background-color .12s,text-decoration-color .12s;display:inline}.activity-panel-item .ent-mention-icon{display:none}.activity-panel-item .ref-entity{-webkit-text-decoration:underline #5b8cff8c;text-decoration:underline #5b8cff8c}.activity-panel-item .ref-entity:hover{-webkit-text-decoration-color:var(--accent-primary);text-decoration-color:var(--accent-primary);background-color:#5b8cff24}.activity-panel-item .ref-entity-deleted{color:var(--danger);cursor:default;-webkit-text-decoration:line-through #ef4444b3;text-decoration:line-through #ef4444b3}.activity-panel-item .ref-column-add,.activity-panel-item .ref-column-modify,.activity-panel-item .ref-column-remove{cursor:default}.activity-panel-item .ref-column-add{-webkit-text-decoration:underline #22c55e8c;text-decoration:underline #22c55e8c}.activity-panel-item .ref-column-modify{-webkit-text-decoration:underline #f59e0b8c;text-decoration:underline #f59e0b8c}.activity-panel-item .ref-column-remove{-webkit-text-decoration:line-through #ef4444b3;text-decoration:line-through #ef4444b3}.activity-panel-item-meta{font-size:var(--fs-10);color:var(--text-tertiary);align-items:center;gap:.5rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;display:flex}.activity-panel-item-badge{font-size:.55rem;font-weight:var(--fw-semibold);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;padding:.0625rem .375rem}.activity-panel-item-badge--schema{color:var(--success);background:#22c55e1f;border:1px solid #22c55e40}.activity-panel-item-badge--query{color:var(--badge-default);background:#a78bfa1f;border:1px solid #a78bfa40}.activity-panel-item-time,.activity-panel-item-source{white-space:nowrap}.activity-panel-empty,.activity-panel-loading{text-align:center;color:var(--text-tertiary);padding:1rem .75rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.7rem}.activity-panel-error{text-align:center;color:var(--danger);padding:.75rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.65rem}.activity-panel-pager{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;gap:.75rem;padding:.4rem .75rem;display:flex}.activity-panel-pager-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:.65rem;transition:background .12s,color .12s,border-color .12s,opacity .12s;display:inline-flex}.activity-panel-pager-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.activity-panel-pager-btn:disabled{opacity:.4;cursor:default}.activity-panel-pager-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.65rem}.permissions-panel{background:var(--bg-surface);flex-direction:column;flex:1;display:flex;overflow:hidden}.permissions-panel-list{background:var(--bg-surface);flex:1;padding:0;overflow-y:auto}.permissions-panel-list::-webkit-scrollbar{width:8px}.permissions-panel-list::-webkit-scrollbar-track{background:var(--scrollbar-track)}.permissions-panel-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:0}.permissions-panel-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.permissions-panel-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background-color .1s;display:flex}.permissions-panel-item:hover{background:var(--bg-hover)}.permissions-panel-item-icon{text-align:center;width:1.25rem;color:var(--text-tertiary);flex-shrink:0;font-size:.7rem}.permissions-panel-item-content{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.permissions-panel-item-name{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;line-height:1.4;overflow:hidden}.permissions-panel-item-email{font-size:var(--fs-10);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;overflow:hidden}.permissions-panel-item-badge{font-size:.55rem;font-weight:var(--fw-semibold);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;flex-shrink:0;padding:.0625rem .375rem}.permissions-panel-item-badge--owner{color:#eab308;background:#eab3081f;border:1px solid #eab30840}.permissions-panel-item-badge--manager{color:var(--info);background:#3b82f61f;border:1px solid #3b82f640}.permissions-panel-item-badge--editor{color:var(--success);background:#22c55e1f;border:1px solid #22c55e40}.permissions-panel-item-badge--viewer{color:var(--badge-default);background:#a78bfa1f;border:1px solid #a78bfa40}.permissions-panel-role-select{color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;padding:.125rem .25rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.6rem}.permissions-panel-role-select:focus{border-color:var(--accent-primary);outline:none}.permissions-panel-revoke-btn{font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.55rem;font-weight:var(--fw-medium);color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #ef44444d;flex-shrink:0;padding:.125rem .375rem;transition:background-color .1s,border-color .1s}.permissions-panel-revoke-btn:hover{background:#ef44441a;border-color:#ef444480}.permissions-panel-add{border-top:1px solid var(--border-subtle);background:var(--bg-elevated);flex-direction:column;flex-shrink:0;gap:.5rem;padding:.75rem;display:flex}.permissions-panel-add-toggle{border-bottom:1px solid var(--border-subtle);gap:0;margin-bottom:.25rem;display:flex}.permissions-panel-add-toggle-btn{font-size:var(--fs-11);font-weight:var(--fw-medium);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.375rem .625rem;transition:color .1s,border-color .1s}.permissions-panel-add-toggle-btn:hover{color:var(--text-secondary)}.permissions-panel-add-toggle-btn--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.permissions-grant-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-input);align-items:stretch;display:flex;position:relative}.permissions-grant-pill-input{flex:1;min-width:0}.permissions-grant-pill-role{flex-shrink:0;width:90px}.permissions-grant-pill .combobox-trigger{box-sizing:border-box;background:0 0;border:none;border-radius:0;outline:none;height:100%;padding:.625rem .75rem}.permissions-grant-pill .combobox-trigger:focus,.permissions-grant-pill .combobox-trigger.open{box-shadow:none;border:none;outline:none}.permissions-grant-pill-divider{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:18px}.permissions-grant-pill-btn{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:#fff;background:var(--accent-primary);cursor:pointer;border:none;border-radius:0 999px 999px 0;flex-shrink:0;margin:-1px -1px -1px 0;padding:.625rem 1rem;transition:background .15s}.permissions-grant-pill-btn:hover{background:var(--accent-hover)}.permissions-grant-pill-btn:disabled{opacity:.4;cursor:not-allowed}.permissions-panel-empty,.permissions-panel-loading{text-align:center;color:var(--text-tertiary);padding:1rem .75rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.7rem}.permissions-panel-error{text-align:center;color:var(--danger);padding:.75rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.65rem}.canvas-diff-bar{z-index:30;align-items:center;gap:var(--space-3);min-height:48px;padding:6px var(--space-3) 6px var(--space-4);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-13);flex-wrap:wrap;row-gap:6px;animation:.18s cubic-bezier(.16,1,.3,1) canvas-diff-bar-in;display:flex;position:absolute;top:0;left:0;right:0}@keyframes canvas-diff-bar-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.canvas-diff-bar-title{align-items:center;gap:var(--space-2);flex-shrink:0;min-width:0;display:inline-flex}.canvas-diff-bar-icon{width:22px;height:22px;color:var(--accent-primary);background:var(--accent-subtle);border-radius:var(--radius-sm);font-size:var(--fs-11);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.canvas-diff-bar-eyebrow{font-size:var(--fs-10);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary)}.canvas-diff-bar-combobox-target .combobox-trigger{min-width:150px;font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text-primary)}.canvas-diff-bar-divider{background:var(--border-subtle);flex-shrink:0;width:1px;height:18px}.canvas-diff-bar-versions{align-items:center;gap:var(--space-2);flex-shrink:0;display:inline-flex}.canvas-diff-bar-combobox{width:auto}.canvas-diff-bar-combobox .combobox-trigger{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);width:auto;min-width:180px;max-width:340px;min-height:30px;font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-primary);gap:.5rem;padding:5px 10px}.canvas-diff-bar-combobox .combobox-trigger:hover{border-color:var(--border-strong);background:var(--bg-hover)}.canvas-diff-bar-combobox .combobox-trigger.open{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle);background:var(--bg-hover)}.canvas-diff-bar-combobox .combobox-leading-icon{color:var(--accent-primary);opacity:.85}.canvas-diff-bar-combobox .combobox-value{font-weight:var(--fw-medium);letter-spacing:var(--tracking-normal)}.canvas-diff-bar-combobox-dropdown .combobox-list{max-height:320px}.canvas-diff-bar-arrow{width:18px;height:18px;color:var(--text-tertiary);font-size:var(--fs-11);justify-content:center;align-items:center;display:inline-flex}.canvas-diff-bar-action{background:var(--accent-subtle);height:30px;color:var(--accent-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-12);font-weight:var(--fw-semibold);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.canvas-diff-bar-action:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.canvas-diff-bar-action:focus-visible{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.canvas-diff-bar-action-label{letter-spacing:var(--tracking-wide)}.canvas-diff-bar-actions{align-items:center;gap:var(--space-3);flex-shrink:0;margin-left:auto;display:inline-flex}.canvas-diff-bar-status-area{align-items:center;min-width:0;display:flex}.canvas-diff-bar-status{font-size:var(--fs-12);color:var(--text-tertiary);font-style:italic}.canvas-diff-bar-status-error{color:var(--danger-soft);font-style:normal}.canvas-diff-bar-close{width:28px;height:28px;color:var(--text-tertiary);border-radius:var(--radius-md);font-size:var(--fs-14);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.canvas-diff-bar-close:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-default)}.canvas-diff-bar-close:focus-visible{color:var(--text-primary);border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.canvas-diff-sql-header-title{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:inline-flex}.canvas-diff-sql-header-eyebrow{font-size:var(--fs-10);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--accent-primary);background:var(--accent-subtle);border-radius:var(--radius-sm);padding:2px 8px}.canvas-diff-sql-header-subject{font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.canvas-diff-sql-header-versions{margin-left:var(--space-2);flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.canvas-diff-sql-header-chip{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-pill);letter-spacing:.02em;align-items:center;padding:3px 9px;display:inline-flex}.canvas-diff-sql-header-arrow{color:var(--text-tertiary);font-size:var(--fs-11)}.canvas-diff-sql-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.canvas-diff-sql-status{text-align:center;color:var(--text-secondary);padding:32px}.canvas-diff-sql-status-error{color:var(--danger-soft)}.canvas-diff-sql-panels{background:var(--border-subtle);flex:1;grid-template-columns:1fr 1fr;gap:1px;min-height:0;display:grid}.canvas-diff-sql-panel{background:var(--bg-surface);flex-direction:column;min-width:0;min-height:0;display:flex}.canvas-diff-sql-panel-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.canvas-diff-sql-panel-title{font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--text-secondary);letter-spacing:.02em}.canvas-diff-sql-panel-body{min-height:0;font-family:var(--font-mono);flex:1;font-size:12.5px;line-height:1.55;overflow:auto}.canvas-diff-sql-table{border-collapse:collapse;width:100%}.canvas-diff-sql-row{border:none}.canvas-diff-sql-gutter{text-align:center;width:18px;min-width:18px;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;vertical-align:top;font-weight:var(--fw-semibold);padding:0 4px}.canvas-diff-sql-lineno{text-align:right;width:46px;min-width:46px;color:var(--text-tertiary);font-size:var(--fs-11);-webkit-user-select:none;user-select:none;vertical-align:top;padding:0 8px 0 4px}.canvas-diff-sql-content{white-space:pre;padding:0 10px}.canvas-diff-sql-row-added{background:#22c55e24}.canvas-diff-sql-row-added .canvas-diff-sql-gutter,.canvas-diff-sql-row-added .canvas-diff-sql-lineno{color:var(--success-soft);background:#22c55e38}.canvas-diff-sql-row-removed{background:#ef444424}.canvas-diff-sql-row-removed .canvas-diff-sql-gutter,.canvas-diff-sql-row-removed .canvas-diff-sql-lineno{color:var(--danger-soft);background:#ef444438}.canvas-diff-sql-row-unchanged{opacity:.78}.canvas-diff-sql-row-filler .canvas-diff-sql-gutter,.canvas-diff-sql-row-filler .canvas-diff-sql-lineno,.canvas-diff-sql-row-filler .canvas-diff-sql-content{color:#0000;background:#7f7f7f0f}.canvas-diff-sql-content .token.keyword,.canvas-diff-sql-migration-body .token.keyword{color:#93c5fd;font-weight:600}.canvas-diff-sql-content .token.function,.canvas-diff-sql-migration-body .token.function{color:#c4b5fd}.canvas-diff-sql-content .token.string,.canvas-diff-sql-content .token.char,.canvas-diff-sql-migration-body .token.string,.canvas-diff-sql-migration-body .token.char{color:var(--success-soft)}.canvas-diff-sql-content .token.number,.canvas-diff-sql-content .token.boolean,.canvas-diff-sql-migration-body .token.number,.canvas-diff-sql-migration-body .token.boolean{color:var(--emphasis)}.canvas-diff-sql-content .token.operator,.canvas-diff-sql-migration-body .token.operator{color:var(--text-secondary)}.canvas-diff-sql-content .token.punctuation,.canvas-diff-sql-migration-body .token.punctuation{color:var(--text-tertiary)}.canvas-diff-sql-content .token.comment,.canvas-diff-sql-migration-body .token.comment{color:var(--text-disabled);font-style:italic}.canvas-diff-sql-copy{border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;font-size:var(--fs-11);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:4px 10px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.canvas-diff-sql-copy:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.canvas-diff-sql-copy:disabled{opacity:.5;cursor:not-allowed}.canvas-diff-sql-copy.copied{background:var(--success-bg);color:var(--success);border-color:var(--success)}.canvas-diff-sql-migration{background:var(--bg-base);border-top:1px solid var(--border-default);flex-direction:column;flex-shrink:0;min-height:120px;max-height:38vh;display:flex}.canvas-diff-sql-migration-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.canvas-diff-sql-migration-title{font-size:var(--fs-12);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-primary)}.canvas-diff-sql-migration-versions{font-family:var(--font-mono);font-weight:var(--fw-regular);color:var(--text-tertiary);text-transform:none;letter-spacing:.02em;margin-left:4px}.canvas-diff-sql-migration-body{min-height:0;font-family:var(--font-mono);color:var(--text-primary);white-space:pre;background:var(--bg-base);flex:1;margin:0;padding:14px 18px;font-size:12.5px;line-height:1.55;overflow:auto}.canvas-diff-sql-migration-empty{text-align:center;color:var(--text-tertiary);padding:24px;font-style:italic}.ai-suggest-btn{font-size:.7rem;font-weight:var(--fw-medium);border-radius:var(--radius-sm);cursor:pointer;color:#c4b0ff;background:#a882ff26;border:1px solid #a882ff4d;align-items:center;gap:.3rem;padding:.25rem .625rem;font-family:inherit;display:inline-flex}.ai-suggest-btn:hover:not(:disabled){color:#ddd0ff;background:#a882ff40}.ai-suggest-btn:disabled{opacity:.6;cursor:not-allowed}.ai-suggest-spinner{animation:.8s linear infinite ai-suggest-spin}@keyframes ai-suggest-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.diff-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.diff-toolbar{background:var(--bg-elevated,#1f2937);border-bottom:1px solid var(--border-default,#374151);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:4px 8px;display:flex}.diff-mode-toggle{border:1px solid var(--border-default,#374151);border-radius:var(--radius-sm);background:var(--bg-primary,#111827);display:inline-flex;overflow:hidden}.diff-mode-btn{color:var(--text-secondary,#9ca3af);font-size:11px;font-weight:var(--fw-medium,500);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;padding:3px 10px}.diff-mode-btn+.diff-mode-btn{border-left:1px solid var(--border-default,#374151)}.diff-mode-btn:hover{color:var(--text-primary,#f3f4f6);background:var(--bg-hover,#2a3441)}.diff-mode-btn-active,.diff-mode-btn-active:hover{background:var(--accent-primary,#5b8cff);color:#fff}.diff-view-loading,.diff-view-error{color:var(--text-secondary,#9ca3af);justify-content:center;align-items:center;font-size:14px;display:flex}.diff-view-error{color:var(--text-error,#ef4444)}.diff-columns{background:var(--border-default,#374151);flex:1;min-height:0;display:flex}.diff-resizing{-webkit-user-select:none;user-select:none}.diff-resize-handle{cursor:col-resize;z-index:2;background:0 0;flex-shrink:0;width:5px;transition:background .15s}.diff-resize-handle:hover,.diff-resizing .diff-resize-handle{background:var(--accent-primary,#5b8cff)}.diff-column{background:var(--bg-primary,#111827);flex-direction:column;min-width:0;display:flex}.diff-column-header{background:var(--bg-elevated,#1f2937);border-bottom:1px solid var(--border-default,#374151);flex-shrink:0;align-items:center;gap:8px;padding:4px 8px;display:flex}.diff-version-select{background:var(--bg-primary,#111827);color:var(--text-primary,#f3f4f6);border:1px solid var(--border-default,#374151);border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:2px 6px;font-size:12px}.diff-restore-btn{border:1px solid var(--border-default,#374151);color:var(--text-secondary,#9ca3af);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:2px 8px;font-size:11px}.diff-restore-btn:hover{color:var(--text-primary,#f3f4f6);border-color:var(--info)}.diff-content{flex:1;font-family:SFMono-Regular,Menlo,Monaco,monospace;font-size:13px;line-height:1.5;overflow:auto}.diff-table{border-collapse:collapse;width:100%}.diff-line{border:none}.diff-line-number{text-align:right;width:40px;min-width:40px;color:var(--text-tertiary,#6b7280);-webkit-user-select:none;user-select:none;vertical-align:top;padding:0 8px 0 4px;font-size:12px}.diff-line-gutter{text-align:center;width:14px;min-width:14px;color:var(--text-tertiary,#6b7280);-webkit-user-select:none;user-select:none;vertical-align:top;padding:0 4px;font-weight:600}.diff-line-content{white-space:pre;padding:0 8px}.diff-line-added{background:#22c55e24}.diff-line-added .diff-line-number,.diff-line-added .diff-line-gutter{color:var(--success-soft);background:#22c55e38}.diff-line-removed{background:#ef444424}.diff-line-removed .diff-line-number,.diff-line-removed .diff-line-gutter{color:var(--danger-soft);background:#ef444438}.diff-line-unchanged{opacity:.78}.diff-line-filler .diff-line-gutter,.diff-line-filler .diff-line-number,.diff-line-filler .diff-line-content{color:#0000;background:#7f7f7f0f}.diff-line:hover .diff-line-content,.diff-line:hover .diff-line-number,.diff-line:hover .diff-line-gutter{filter:brightness(1.18)}.diff-column-unified{flex:1;min-width:0}.diff-column-header-unified .diff-version-select{flex:none;min-width:0}.diff-unified-arrow{color:var(--text-tertiary,#6b7280);-webkit-user-select:none;user-select:none;padding:0 2px;font-size:12px}.diff-table-unified .diff-line-number{width:44px;min-width:44px}.diff-line-content .token.keyword,.migration-sql .token.keyword{color:#93c5fd;font-weight:600}.diff-line-content .token.function,.migration-sql .token.function{color:#c4b5fd}.diff-line-content .token.string,.diff-line-content .token.char,.migration-sql .token.string,.migration-sql .token.char{color:var(--success-soft)}.diff-line-content .token.number,.diff-line-content .token.boolean,.migration-sql .token.number,.migration-sql .token.boolean{color:var(--emphasis)}.diff-line-content .token.operator,.migration-sql .token.operator{color:var(--text-secondary,#9ca3af)}.diff-line-content .token.punctuation,.migration-sql .token.punctuation{color:var(--text-tertiary,#6b7280)}.diff-line-content .token.comment,.migration-sql .token.comment{color:var(--text-disabled,#4b5563);font-style:italic}.diff-placeholder{color:var(--text-secondary,#9ca3af);text-align:center;flex:1;justify-content:center;align-items:center;padding:24px;font-size:13px;font-style:italic;display:flex}.migration-column-collapsed{background:var(--bg-elevated,#1f2937);flex-shrink:0;align-items:stretch;width:28px;display:flex}.migration-toggle-btn{width:100%;color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;display:flex}.migration-toggle-btn:hover{color:var(--text-primary,#f3f4f6);background:var(--bg-hover,#374151)}.migration-hide-btn{border:1px solid var(--border-default,#374151);color:var(--text-secondary,#9ca3af);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:11px}.migration-hide-btn:hover{color:var(--text-primary,#f3f4f6);border-color:var(--accent-primary,#5b8cff)}.migration-column{background:var(--bg-primary,#111827);flex-direction:column;flex-shrink:0;display:flex}.migration-column-header{background:var(--bg-elevated,#1f2937);border-bottom:1px solid var(--border-default,#374151);flex-shrink:0;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.migration-column-title{color:var(--text-secondary,#9ca3af);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.migration-column-content{flex:1;overflow:auto}.migration-sql{white-space:pre;color:var(--text-primary,#f3f4f6);margin:0;padding:8px;font-family:SFMono-Regular,Menlo,Monaco,monospace;font-size:13px;line-height:1.5}.restore-dialog-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.restore-dialog{background:var(--bg-elevated,#1f2937);border:1px solid var(--border-default,#374151);border-radius:var(--radius-md);flex-direction:column;width:480px;max-width:90vw;max-height:70vh;display:flex}.restore-dialog-header{padding:16px 20px 8px}.restore-dialog-header h3{color:var(--text-primary,#f3f4f6);margin:0;font-size:16px}.restore-dialog-body{color:var(--text-secondary,#9ca3af);padding:8px 20px 16px;font-size:14px;line-height:1.5;overflow-y:auto}.restore-dialog-body p{margin:0 0 12px}.restore-impact-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.restore-impact-item{border-radius:var(--radius-sm);border-left:3px solid;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.restore-impact-breaking{border-color:var(--danger);background:#ef444414}.restore-impact-warning{border-color:var(--warning);background:#f59e0b14}.restore-impact-badge{font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em}.restore-impact-breaking .restore-impact-badge{color:var(--danger)}.restore-impact-warning .restore-impact-badge{color:var(--warning)}.restore-impact-entity{font-size:13px;font-weight:var(--fw-medium);color:var(--text-primary,#f3f4f6)}.restore-impact-reason{color:var(--text-secondary,#9ca3af);font-size:12px}.restore-dialog-footer{border-top:1px solid var(--border-default,#374151);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.restore-dialog-cancel{border:1px solid var(--border-default,#374151);color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border-radius:6px;padding:6px 16px;font-size:13px}.restore-dialog-cancel:hover{color:var(--text-primary,#f3f4f6)}.restore-dialog-confirm{background:var(--info);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-size:13px}.restore-dialog-confirm:hover{background:#2563eb}.restore-dialog-confirm-danger{background:var(--danger)}.restore-dialog-confirm-danger:hover{background:#dc2626}.restore-dialog-confirm:disabled{opacity:.6;cursor:not-allowed}.view-query-panel{background:var(--bg-elevated);border-radius:var(--content-radius) var(--content-radius) 0 0;flex-direction:column;flex-shrink:0;display:flex;position:relative}.view-query-panel-maximized{flex:1!important}.view-query-panel-maximized .view-query-editor,.view-query-panel-maximized .description-editor{flex:1}.view-query-resizing{-webkit-user-select:none;user-select:none}.view-query-header{background:var(--bg-surface);height:46px;color:var(--text-primary);cursor:ns-resize;border-bottom:1px solid var(--border-subtle);border-radius:var(--content-radius) var(--content-radius) 0 0;flex-shrink:0;align-items:center;gap:.5rem;padding:0 1rem;display:flex;position:relative}.view-query-header h3{white-space:nowrap;color:var(--text-primary);margin:0;font-size:.8125rem;font-weight:600}.view-query-title-cluster{align-items:baseline;gap:8px;min-width:0;display:inline-flex}.view-query-title-primary{cursor:pointer;font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap}.view-query-title-primary:hover{opacity:.85}.view-query-title-friendly{font-family:var(--font-sans);letter-spacing:var(--tracking-tight)}.view-query-title-sql{font-family:var(--font-mono);color:var(--text-tertiary);cursor:pointer;letter-spacing:.02em;white-space:nowrap;font-size:.7rem}.view-query-title-sql:hover{color:var(--text-secondary);text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.view-query-title-input{border:none;border-bottom:1px dashed var(--accent-primary);color:var(--text-primary);font-size:.8125rem;font-weight:var(--fw-semibold);font-family:var(--font-sans);background:0 0;outline:none;min-width:240px;margin:0;padding:0 0 1px}.view-query-title-input::placeholder{color:var(--text-tertiary);font-weight:var(--fw-regular)}.view-query-resize-grip{pointer-events:none;flex-direction:column;gap:3px;padding:4px 8px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.view-query-resize-grip:before,.view-query-resize-grip:after{content:"";background:var(--text-disabled);border-radius:1px;width:24px;height:1px;transition:background .15s}.view-query-header:hover .view-query-resize-grip:before,.view-query-header:hover .view-query-resize-grip:after,.view-query-resizing .view-query-resize-grip:before,.view-query-resizing .view-query-resize-grip:after{background:var(--text-tertiary)}.sql-panel-tabs{gap:2px;display:flex}.sql-panel-tab{height:24px;font-size:var(--fs-11);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:0 10px;transition:background .15s,color .15s;display:inline-flex}.sql-panel-tab.active{background:var(--accent-subtle);color:var(--accent-primary)}.sql-panel-tab:hover:not(.active){color:var(--text-secondary);background:var(--bg-elevated)}.view-query-header-right{align-items:center;gap:6px;margin-left:auto;display:flex}.view-query-readonly-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);border:1px solid var(--border-default);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:.625rem;font-weight:600;display:flex}.view-query-readonly-badge svg{opacity:.7;flex-shrink:0}.view-query-hint{color:var(--text-tertiary);font-size:.65rem}.view-query-btn{cursor:pointer;border:none;border-radius:5px;padding:.25rem .625rem;font-family:inherit;font-size:.6875rem;font-weight:500;transition:all .15s}.view-query-btn-cancel{background:var(--bg-hover);color:var(--text-secondary)}.view-query-btn-cancel:hover{background:var(--bg-active);color:var(--text-primary)}.view-query-btn-save{background:var(--accent-primary);color:#fff}.view-query-btn-save:hover{background:var(--accent-hover)}.view-query-btn-icon{width:28px;height:28px;color:var(--text-tertiary);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.view-query-btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.view-query-btn-icon.copied{color:var(--success-soft);background:#86efac1a}.view-query-btn-debug{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-default)}.view-query-btn-debug:hover{background:var(--bg-active);color:var(--text-primary)}.view-query-btn-active{color:var(--accent-primary);background:#5b8cff1a}.view-query-editor{flex:1;min-height:0;display:flex;overflow:hidden}.view-query-editor-readonly{opacity:.9}.view-query-panel-readonly .view-query-header{background:var(--bg-surface)}.view-query-gutter{background:var(--bg-base);text-align:right;-webkit-user-select:none;user-select:none;pointer-events:none;flex-shrink:0;width:36px;padding-top:.5rem;overflow:hidden}.view-query-line-number{height:1.2rem;color:var(--text-disabled);padding-right:.5rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.7rem;line-height:1.2rem}.view-query-editor-area{flex:1;min-width:0;position:relative;overflow:hidden}.view-query-highlight,.view-query-textarea{tab-size:2;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;border:none;margin:0;padding:.5rem .75rem;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.8rem;line-height:1.5}.view-query-highlight{pointer-events:none;width:100%;height:100%;color:var(--text-primary);background:0 0;position:absolute;top:0;left:0;overflow:auto}.view-query-highlight code{font-family:inherit;font-size:inherit;line-height:inherit;tab-size:inherit}.view-query-textarea{resize:none;color:#0000;width:100%;height:100%;caret-color:var(--text-primary);z-index:1;background:0 0;outline:none;position:absolute;top:0;left:0;overflow:auto}.view-query-textarea::placeholder{color:var(--text-tertiary)}.view-query-textarea::selection{color:#0000;background:#5b8cff59}.view-query-highlight .token.keyword{color:#93c5fd;font-weight:600}.view-query-highlight .token.function{color:#c4b5fd}.view-query-highlight .token.string,.view-query-highlight .token.char{color:var(--success-soft)}.view-query-highlight .token.number{color:var(--emphasis)}.view-query-highlight .token.operator{color:var(--text-secondary)}.view-query-highlight .token.punctuation{color:var(--text-tertiary)}.view-query-highlight .token.comment{color:var(--text-disabled);font-style:italic}.view-query-highlight .token.boolean{color:var(--emphasis)}.view-query-panel.view-query-panel-minimized{cursor:pointer}.view-query-minimized-bar{background:var(--bg-surface);color:var(--text-secondary);border-radius:var(--content-radius) var(--content-radius) 0 0;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.75rem;transition:background .15s;display:flex}.view-query-minimized-bar:hover{background:var(--bg-hover);color:var(--text-primary)}.view-query-minimized-bar svg{opacity:.6;flex-shrink:0}.view-query-minimized-name{color:var(--text-primary);font-weight:600}.view-query-minimized-hint{opacity:.5;margin-left:auto;font-size:.65rem}.vq-debug-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.vq-debug-modal{background:var(--bg-elevated);border:1px solid var(--border-strong);width:720px;max-width:90vw;max-height:80vh;box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;display:flex}.vq-debug-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.vq-debug-header h3{color:var(--text-primary);margin:0;font-size:.85rem;font-weight:600}.vq-debug-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.25rem;line-height:1}.vq-debug-close:hover{color:var(--text-primary)}.vq-debug-body{padding:.75rem 1rem;overflow-y:auto}.vq-debug-section{margin-bottom:1rem}.vq-debug-section:last-child{margin-bottom:0}.vq-debug-section h4{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.75rem;font-weight:600}.vq-debug-error{background:var(--danger-bg);border:1px solid #ef44444d;border-radius:4px;padding:.5rem .75rem}.vq-debug-error h4{color:var(--danger-soft)}.vq-debug-error p{color:var(--danger-soft);margin:0;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.75rem}.vq-debug-table{border-collapse:collapse;width:100%;font-size:.7rem}.vq-debug-table th{text-align:left;color:var(--text-tertiary);border-bottom:1px solid var(--border-default);white-space:nowrap;padding:.35rem .5rem;font-weight:500}.vq-debug-table td{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);padding:.3rem .5rem}.vq-debug-table tbody tr:hover{background:#ffffff08}.vq-debug-mono{color:var(--text-primary);font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace}.vq-debug-type{color:#93c5fd;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.65rem}.vq-debug-context{color:var(--text-tertiary);background:#ffffff0f;border-radius:3px;padding:.1rem .4rem;font-size:.65rem;display:inline-block}.vq-debug-null{color:var(--text-disabled);font-style:italic}.vq-debug-expr{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--text-tertiary);font-size:.65rem;overflow:hidden}.vq-debug-empty{color:var(--text-disabled);margin:0;font-size:.7rem;font-style:italic}.description-textarea{background:var(--bg-base);width:100%;height:100%;color:var(--text-primary);resize:none;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;border:none;outline:none;padding:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.6;overflow-y:auto}.description-textarea::placeholder{color:var(--text-disabled)}.description-textarea:empty:before{content:attr(data-placeholder);color:var(--text-disabled);pointer-events:none}.description-textarea:focus{outline:none}.description-textarea-readonly{cursor:default;color:var(--text-secondary)}.sql-panel-sidebar-resize:hover,.sql-panel-content-row.resizing-sidebar .sql-panel-sidebar-resize{background:var(--accent-primary,#3b82f6)}.query-name-section{flex-direction:column;flex-shrink:1;gap:2px;min-width:0;display:flex}.query-name-input{color:#fff;background:#ffffff1a;border:1px solid #ffffff26;border-radius:3px;outline:none;min-width:120px;padding:2px 6px;font-family:inherit;font-size:.8rem;font-weight:600}.query-name-input::placeholder{color:#fff6;font-weight:400}.query-name-input:focus{background:#ffffff26;border-color:#ffffff59}.query-tags-input{color:#fffc;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:3px;outline:none;min-width:120px;padding:1px 6px;font-family:inherit;font-size:.65rem}.query-tags-input::placeholder{color:#ffffff4d}.query-tags-input:focus{background:#ffffff1a;border-color:#ffffff40}.query-tags-readonly{flex-wrap:wrap;gap:4px;display:flex}.query-tag-chip{color:#ffffffb3;background:#ffffff1a;border-radius:3px;padding:1px 5px;font-size:.6rem}.query-revision-label{background:var(--bg-input);border:1px solid var(--border-subtle);color:#fffc;border-radius:8px;outline:none;width:100px;padding:3px 6px;font-family:inherit;font-size:.65rem}.query-revision-label::placeholder{color:#ffffff4d}.query-revision-label:focus{background:#ffffff1f;border-color:#ffffff40}.sql-panel-content-row{flex:1;min-height:0;display:flex;overflow:hidden}.sql-panel-content-main{flex-direction:column;flex:1;min-width:0;display:flex}.sql-panel-sidebar-resize{cursor:ew-resize;background:0 0;flex-shrink:0;width:4px;transition:background .15s}.sql-panel-sidebar-resize:hover,.sql-panel-content-row.resizing-sidebar .sql-panel-sidebar-resize{background:var(--accent-primary,#3b82f6)}.sql-panel-content-row.resizing-sidebar{-webkit-user-select:none;user-select:none}.sql-panel-sidebar{background:var(--bg-surface);border-left:1px solid var(--border-subtle,#ffffff0f);flex-direction:column;flex-shrink:0;gap:14px;padding:12px;display:flex;overflow-y:auto}.sql-panel-sidebar-section{flex-direction:column;gap:4px;display:flex}.sql-panel-sidebar-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.6rem}.sql-panel-sidebar-value{color:var(--text-primary);font-size:.75rem}.sql-panel-sidebar-empty{color:var(--text-disabled);font-size:.7rem;font-style:italic}.sql-panel-sidebar-tags{flex-wrap:wrap;gap:4px;display:flex}.sql-panel-sidebar-input{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-primary);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:4px 8px;font-family:inherit;font-size:.75rem}.sql-panel-sidebar-input::placeholder{color:var(--text-tertiary)}.sql-panel-sidebar-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.sql-panel-sidebar-toggle--active{color:#fff!important;background:#ffffff26!important}.debug-prompt-panel{background:var(--bg-elevated);flex-direction:column;flex-shrink:0;display:flex;position:relative}.debug-prompt-resizing{-webkit-user-select:none;user-select:none}.debug-prompt-resize-handle{cursor:ns-resize;background:#6366f1;flex-shrink:0;height:5px;position:relative}.debug-prompt-resize-handle:before{content:"";border-top:1px solid #ffffff4d;border-bottom:1px solid #ffffff4d;width:32px;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.debug-prompt-resize-handle:hover,.debug-prompt-resizing .debug-prompt-resize-handle{background:#818cf8}.debug-prompt-header{color:#fff;background:#312e81;justify-content:space-between;align-items:center;min-height:2rem;padding:0 .75rem;display:flex}.debug-prompt-tabs{gap:0;display:flex}.debug-prompt-tab{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.375rem .75rem;font-family:inherit;font-size:.7rem;font-weight:500}.debug-prompt-tab:hover{color:#fffc}.debug-prompt-tab.active{color:#fff;border-bottom-color:#a5b4fc}.debug-prompt-header-right{align-items:center;gap:.75rem;display:flex}.debug-prompt-stats{color:#fff6;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;font-size:.625rem}.debug-prompt-reset{cursor:pointer;background:var(--danger-bg);color:var(--danger-soft);border:none;border-radius:3px;padding:.25rem .625rem;font-family:inherit;font-size:.7rem;font-weight:500}.debug-prompt-reset:hover{background:#ef444466}.debug-prompt-close{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:3px;padding:.25rem .625rem;font-family:inherit;font-size:.7rem;font-weight:500}.debug-prompt-close:hover{background:#ffffff40}.debug-prompt-editor{display:flex;overflow:hidden}.sp-body{padding:1.5rem 1.75rem}.sp-body::-webkit-scrollbar{width:6px}.sp-body::-webkit-scrollbar-track{background:0 0}.sp-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.sp-section{margin-bottom:1.5rem}.sp-section-label{font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.sp-section-label svg{color:var(--accent-primary);font-size:11px}.sp-field{margin-bottom:1rem}.sp-field-label{font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--text-secondary);margin-bottom:.375rem;display:block}.sp-input{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;color:var(--text-primary);font-size:var(--fs-14);box-sizing:border-box;outline:none;padding:.625rem .875rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.sp-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.sp-input::placeholder{color:var(--text-tertiary)}.sp-textarea{resize:vertical;min-height:80px}.sp-section .combobox-trigger{background:var(--bg-input)}.sp-section .settings-toggle-row{margin-top:.25rem}.sp-section .settings-toggle-row .settings-field-label{margin-bottom:0}.sp-section .settings-timestamp-row .sp-input{flex:1}.sp-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:flex-end;gap:.625rem;padding:1.25rem 1.75rem;display:flex}.sp-btn{font-size:var(--fs-14);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000;padding:.5625rem 1.25rem;transition:all .15s}.sp-btn-cancel{color:var(--text-secondary);border-color:var(--border-subtle);background:0 0}.sp-btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.sp-btn-save{background:var(--accent-primary);color:#fff}.sp-btn-save:hover{background:var(--accent-hover)}.new-project-body{padding:1.5rem}.new-project-options{gap:1rem;display:flex}.new-project-card{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;text-align:center;color:var(--text-secondary);flex-direction:column;flex:1;align-items:center;gap:1rem;padding:1.5rem 1rem;transition:all .15s;display:flex}.new-project-card:hover{border-color:var(--accent-primary);background:var(--accent-subtle);color:var(--text-primary)}.new-project-card:hover .new-project-card-icon{color:var(--accent-primary)}.new-project-card-icon{color:var(--text-tertiary);transition:color .15s}.new-project-card-title{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:inherit}.new-project-card-desc{font-size:var(--fs-12);color:var(--text-tertiary);line-height:1.4}.import-schema-body{flex-direction:column;gap:16px;display:flex}.import-schema-lede{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.import-schema-lede code{font-family:var(--font-mono,ui-monospace, monospace);color:var(--text-primary);font-size:12.5px}.import-schema-drop{border:1.5px dashed var(--border-default);border-radius:var(--radius-xl,12px);background:var(--bg-input);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;transition:border-color .15s,background .15s;display:flex;position:relative}.import-schema-drop:hover,.import-schema-drop.over{border-color:var(--accent-primary);background:var(--accent-subtle)}.import-schema-drop.parsing{cursor:progress}.import-schema-drop-icon{color:var(--accent-primary);font-size:24px}.import-schema-drop-title{color:var(--text-primary);font-size:14px;font-weight:600}.import-schema-drop-desc{color:var(--text-tertiary);font-size:12.5px}.import-schema-drop-desc b{color:var(--accent-primary);font-weight:600}.import-schema-file{border:1px solid var(--border-default);border-radius:var(--radius-lg,10px);background:var(--bg-elevated);align-items:center;gap:12px;padding:10px 12px;display:flex}.import-schema-file-icon{color:var(--accent-primary);font-size:18px}.import-schema-file-meta{flex:1;min-width:0}.import-schema-file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.import-schema-file-detail{color:var(--text-tertiary);font-size:12px}.import-schema-file-clear{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm,6px);background:0 0;border:none;padding:4px 6px;font-size:14px}.import-schema-file-clear:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.import-schema-error{border-radius:var(--radius-md,8px);background:var(--danger-bg);color:var(--danger-soft,var(--danger));padding:10px 12px;font-size:13px;line-height:1.4}.import-schema-btn{border-radius:var(--radius-md,8px);cursor:pointer;border:1px solid #0000;padding:8px 16px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s}.import-schema-btn.cancel{border-color:var(--border-default);color:var(--text-secondary);background:0 0}.import-schema-btn.cancel:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.import-schema-btn.primary{background:var(--accent-primary);color:#fff}.import-schema-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.import-schema-btn:disabled{opacity:.5;cursor:not-allowed}.import-progress{z-index:1200;border-radius:var(--radius-xl,12px);background:var(--bg-elevated);border:1px solid var(--border-default);width:360px;max-width:calc(100vw - 40px);box-shadow:var(--shadow-lg,0 8px 24px #0006);color:var(--text-primary);padding:14px 16px;animation:.2s import-progress-in;position:fixed;bottom:20px;right:20px}@keyframes import-progress-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.import-progress-head{align-items:flex-start;gap:10px;display:flex}.import-progress-icon{color:var(--accent-primary);flex-shrink:0;font-size:18px;line-height:1.4}.import-progress-success .import-progress-icon{color:var(--success,#22c55e)}.import-progress-error .import-progress-icon{color:var(--danger,#ef4444)}.import-progress-titles{flex:1;min-width:0}.import-progress-title{font-size:14px;font-weight:600}.import-progress-file{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.import-progress-close{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm,6px);background:0 0;border:none;padding:2px 6px;font-size:14px}.import-progress-close:hover{background:var(--bg-hover);color:var(--text-primary)}.import-progress-bar{background:var(--bg-input);border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.import-progress-bar-fill{background:var(--accent-primary);border-radius:999px;height:100%;transition:width .3s}.import-progress-success .import-progress-bar-fill{background:var(--success,#22c55e)}.import-progress-error .import-progress-bar-fill{background:var(--danger,#ef4444)}.import-progress-bar.is-running .import-progress-bar-fill{background-image:linear-gradient(90deg, var(--accent-primary) 0%, var(--accent-hover,#4a7aee) 50%, var(--accent-primary) 100%);background-size:200% 100%;animation:1.1s linear infinite import-progress-sheen}@keyframes import-progress-sheen{0%{background-position:200% 0}to{background-position:0 0}}.import-progress-status{color:var(--text-secondary);justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;display:flex}.import-progress-phase{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.import-progress-elapsed{font-variant-numeric:tabular-nums;color:var(--text-tertiary);flex-shrink:0}.import-progress-summary{color:var(--text-secondary);margin-top:8px;font-size:12.5px}.import-progress-error-body{margin-top:10px}.import-progress-error-msg{color:var(--danger-soft,var(--danger,#ef4444));font-size:12.5px;line-height:1.4}.import-progress-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.import-progress-btn{border-radius:var(--radius-md,8px);cursor:pointer;border:1px solid var(--border-default);color:var(--text-secondary);background:0 0;padding:6px 12px;font-size:13px;font-weight:600}.import-progress-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.import-progress-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.import-progress-btn.primary:hover{background:var(--accent-hover,#4a7aee);color:#fff}.mwb-picker-body{padding:1.25rem}.mwb-picker-select-all{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;font-size:.85rem;font-weight:600;display:flex}.mwb-picker-list{flex-direction:column;gap:.5rem;max-height:300px;display:flex;overflow-y:auto}.mwb-picker-item{cursor:pointer;border-radius:6px;align-items:flex-start;gap:.5rem;padding:.5rem;transition:background .15s;display:flex}.mwb-picker-item:hover{background:var(--bg-base)}.mwb-picker-item input[type=checkbox]{margin-top:2px}.mwb-picker-item-info{flex:1;min-width:0}.mwb-picker-item-name{color:var(--text-primary);font-size:.85rem;font-weight:500}.mwb-picker-item-counts{color:var(--text-tertiary);margin-top:2px;font-size:.75rem}.mwb-picker-cancel{border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:6px;padding:.4rem .85rem;font-size:.8rem;transition:background .15s}.mwb-picker-cancel:hover{background:var(--bg-base)}.mwb-picker-import{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.4rem .85rem;font-size:.8rem;font-weight:500;transition:opacity .15s}.mwb-picker-import:hover{opacity:.9}.mwb-picker-import:disabled{opacity:.5;cursor:not-allowed}.project-details-description{resize:vertical;min-height:80px;font-family:var(--font-sans);font-size:var(--fs-14)}.members-page{background:var(--bg-base);min-height:100%}.content-area:has(.members-page) .content-area-inner{max-width:none;padding:0}.members-body{padding:20px 48px 40px}.members-loading{text-align:center;color:var(--text-tertiary);padding:3rem 1rem;font-size:.875rem}.members-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8125rem}.members-page .data-table-wrapper{border:1px solid var(--border-subtle);background:0 0;border-radius:12px}.members-page .data-table th,.members-page .data-table td{border-bottom-color:var(--border-subtle)}.members-page .data-table tbody tr:last-child td{border-bottom:none}.members-page .data-table-footer{border-top-color:var(--border-subtle)}.member-avatar{background:var(--accent-subtle);width:28px;height:28px;color:var(--accent-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.member-avatar.pending{color:var(--text-tertiary);border:1px dashed var(--border-default);background:0 0}.member-pending-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--warning,#e3b341);background:#e3b3411a;border-radius:4px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.member-pending-date{color:var(--text-tertiary);font-style:italic}.member-self-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--accent,#5b8cff);background:#5b8cff1f;border-radius:4px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.member-role-combobox{width:130px}.btn-primary{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.5625rem 1.5rem;font-size:.875rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.4;cursor:default}.btn-danger-sm{color:var(--danger);border:1px solid var(--danger);cursor:pointer;background:0 0;border-radius:999px;padding:.3125rem .75rem;font-size:.75rem;font-weight:600;transition:all .15s}.btn-danger-sm:hover{background:#ef44441a}.btn-cancel{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.5625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .15s}.btn-cancel:hover{color:var(--text-primary);background:#ffffff08}.invite-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.15s invite-overlay-in;display:flex;position:fixed;inset:0}@keyframes invite-overlay-in{0%{opacity:0}to{opacity:1}}.invite-modal{border:1px solid var(--border-subtle);background:#0a0a16;border-radius:16px;width:440px;max-width:90vw;padding:2rem 2.25rem 1.75rem;animation:.2s invite-modal-in;box-shadow:0 12px 40px #00000073}@keyframes invite-modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.invite-modal-title{color:var(--text-primary);margin:0 0 1.25rem;font-size:1.125rem;font-weight:700}.invite-modal-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.8125rem}.invite-modal-field{margin-bottom:1.25rem}.invite-modal-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.invite-modal-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.invite-modal-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.invite-modal-input::placeholder{color:var(--text-tertiary)}.invite-modal-actions{justify-content:flex-end;gap:.625rem;margin-top:1.5rem;display:flex}.member-email-cell{align-items:center;gap:.375rem;display:inline-flex}.member-domain-warning{width:1.125rem;height:1.125rem;color:var(--warning,#e3b341);cursor:help;background:#e3b34126;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;line-height:1;display:inline-flex}@media (width<=768px){.members-page{padding:1.5rem 1rem}}.teams-page{background:var(--bg-base);min-height:100%}.content-area:has(.teams-page) .content-area-inner{max-width:none;padding:0}.teams-body{padding:20px 48px 40px}.teams-empty-card{border:1px dashed var(--border-default);text-align:center;cursor:pointer;border-radius:12px;padding:3rem 1.5rem;transition:border-color .15s,background .15s}.teams-empty-card:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.teams-empty-icon{color:var(--text-tertiary);margin-bottom:.75rem;font-size:2rem}.teams-empty-title{color:var(--text-primary);margin-bottom:.25rem;font-size:1rem;font-weight:600}.teams-empty-hint{color:var(--text-tertiary);font-size:.875rem}.tp-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.tp-card{border:1px solid var(--border-subtle);cursor:pointer;border-radius:12px;padding:1.25rem 1.5rem;transition:border-color .15s,transform .1s}.tp-card:hover{border-color:var(--border-default);transform:translateY(-1px)}.tp-card-name{color:var(--text-primary);margin-bottom:.5rem;font-size:1rem;font-weight:600}.tp-card-meta{color:var(--text-tertiary);gap:.75rem;font-size:.8125rem;display:flex}.teams-loading{color:var(--text-secondary);justify-content:center;align-items:center;padding:4rem;display:flex}.teams-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8125rem}.teams-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.15s teams-overlay-in;display:flex;position:fixed;inset:0}@keyframes teams-overlay-in{0%{opacity:0}to{opacity:1}}.teams-modal{border:1px solid var(--border-subtle);background:#0a0a16;border-radius:16px;width:440px;max-width:90vw;padding:2rem 2.25rem 1.75rem;animation:.2s teams-modal-in;box-shadow:0 12px 40px #00000073}@keyframes teams-modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.teams-modal-title{color:var(--text-primary);margin:0 0 1.25rem;font-size:1.125rem;font-weight:700}.teams-modal-field{margin-bottom:1.25rem}.teams-modal-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.teams-modal-input{border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;background:0 0;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.teams-modal-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.teams-modal-input::placeholder{color:var(--text-tertiary)}.teams-modal-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.8125rem}.teams-modal-actions{justify-content:flex-end;gap:.625rem;margin-top:1.5rem;display:flex}.teams-modal-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.5625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .15s}.teams-modal-btn.cancel{border-color:var(--border-subtle);color:var(--text-secondary);background:0 0}.teams-modal-btn.cancel:hover{color:var(--text-primary);background:#ffffff08}.teams-modal-btn.create{background:var(--accent-primary);color:#fff;border:none}.teams-modal-btn.create:hover:not(:disabled){background:var(--accent-hover)}.teams-modal-btn:disabled{opacity:.4;cursor:default}@media (width<=768px){.teams-page{padding:1.5rem 1rem}.tp-grid{grid-template-columns:1fr}}.team-detail-page{background:#0a0a16;min-height:100vh;padding:1.25rem 3.5rem 2.5rem}.content-area:has(.team-detail-page){background:#0a0a16}.content-area:has(.team-detail-page) .content-area-inner{max-width:1400px}.td-hero{justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:1rem;display:flex}.td-title{font-family:var(--font-display);font-size:var(--fs-28);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);color:var(--text-primary);margin:0 0 6px}.td-subtitle{font-size:var(--fs-14);color:var(--text-tertiary);margin:0}.team-detail-actions{align-items:center;gap:.5rem;display:flex}.team-detail-loading{color:var(--text-secondary);justify-content:center;align-items:center;padding:4rem;display:flex}.team-detail-error-page{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem;display:flex}.team-detail-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8125rem}.btn-secondary{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.4375rem 1.25rem;font-size:.8125rem;font-weight:600;transition:all .15s}.btn-secondary:hover{color:var(--text-primary);background:#ffffff08}.team-detail-tabs{border-bottom:1px solid var(--border-subtle);gap:0;margin-bottom:2rem;display:flex}.team-detail-tab{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:color .12s,border-color .12s}.team-detail-tab:hover{color:var(--text-secondary)}.team-detail-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.team-detail-tab-toolbar{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.team-detail-tab-toolbar-end{margin-left:auto}.team-search-input{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:10px;outline:none;flex:1;padding:.625rem .875rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.team-search-input::placeholder{color:var(--text-tertiary)}.team-search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.team-detail-page .data-table-wrapper{border:1px solid var(--border-subtle);background:0 0;border-radius:12px}.team-detail-page .data-table th,.team-detail-page .data-table td{border-bottom-color:var(--border-subtle)}.team-detail-page .data-table tbody tr:last-child td{border-bottom:none}.team-detail-page .data-table-footer{border-top-color:var(--border-subtle)}.team-member-avatar{background:var(--accent-subtle);width:28px;height:28px;color:var(--accent-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.team-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.15s team-overlay-in;display:flex;position:fixed;inset:0}@keyframes team-overlay-in{0%{opacity:0}to{opacity:1}}.team-modal{border:1px solid var(--border-subtle);background:#0a0a16;border-radius:16px;width:440px;max-width:90vw;padding:2rem 2.25rem 1.75rem;animation:.2s team-modal-in;box-shadow:0 12px 40px #00000073}@keyframes team-modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.team-modal-title{color:var(--text-primary);margin:0 0 1.25rem;font-size:1.125rem;font-weight:700}.team-modal-field{margin-bottom:1rem}.team-modal-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.team-modal-input,.team-modal-select{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.team-modal-input:focus,.team-modal-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.team-modal-select option{color:var(--text-primary);background:#0a0a16}.team-modal-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.8125rem}.team-modal-hint{color:var(--text-tertiary);margin-top:.375rem;font-size:.75rem}.team-modal-actions{justify-content:flex-end;gap:.625rem;margin-top:1.5rem;display:flex}.team-row-actions{justify-content:flex-end;display:flex}.team-row-actions-trigger{color:var(--text-secondary);cursor:pointer;letter-spacing:1px;background:0 0;border:1px solid #0000;border-radius:4px;padding:.25rem .5rem;font-size:1.125rem;line-height:1}.team-row-actions-trigger:hover{color:var(--text-primary);background:#ffffff08}.team-row-actions-menu{z-index:1000;border:1px solid var(--border-subtle);background:#0a0a16;border-radius:10px;min-width:140px;padding:.25rem 0;position:fixed;transform:translate(-100%);box-shadow:0 4px 16px #0000004d}.team-row-actions-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:.5rem .875rem;font-size:.8125rem;display:block}.team-row-actions-item:hover{background:#ffffff08}.team-row-actions-item.danger{color:var(--danger)}.team-row-actions-item.danger:hover{background:#ef44441a}.team-header-menu-wrapper{position:relative}.team-header-menu{z-index:1000;border:1px solid var(--border-subtle);background:#0a0a16;border-radius:10px;min-width:150px;margin-top:4px;padding:.25rem 0;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0000004d}@media (width<=768px){.team-detail-page{padding:1.5rem 1rem}.team-detail-tabs{overflow-x:auto}}.ous-window-tabs{border:1px solid var(--border-default);border-radius:6px;margin-bottom:1.25rem;display:inline-flex;overflow:hidden}.ous-window-tab{color:var(--text-secondary);cursor:pointer;border:none;border-right:1px solid var(--border-subtle);background:0 0;padding:.4rem .875rem;font-size:.8125rem}.ous-window-tab:last-child{border-right:none}.ous-window-tab:hover:not(.active){background:var(--bg-hover)}.ous-window-tab.active{background:var(--accent-primary);color:#fff;font-weight:600}.ous-subhead{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:1.25rem 0 .5rem;font-size:.875rem;font-weight:600}.ous-totals{grid-template-columns:1fr 1fr;gap:.75rem;max-width:28rem;display:grid}.ous-totals-cell{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:1rem 1.25rem}.ous-totals-value{font-family:var(--font-mono);color:var(--text-primary);font-size:1.5rem}.ous-totals-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem;font-size:.75rem}.ous-breakdown{border-collapse:collapse;width:100%;font-size:.875rem}.ous-breakdown th{text-align:left;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);padding:.5rem .75rem;font-weight:500}.ous-breakdown td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-mono);padding:.5rem .75rem}.ous-breakdown td:first-child{font-family:inherit}.ous-bar-cell{width:40%}.ous-bar-track{background:var(--bg-elevated);border-radius:4px;width:100%;height:8px;overflow:hidden}.ous-bar-fill{background:var(--accent-primary);height:100%;transition:width .2s}.ous-empty{color:var(--text-tertiary);padding:.75rem 0;font-style:italic}.osr-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.osr-error{color:var(--danger-soft);padding:.5rem 0;font-size:.875rem}.adl-root{flex-direction:column;gap:.5rem;display:flex}.adl-chip-row{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:6px 8px;transition:border-color .15s,box-shadow .15s;display:flex}.adl-chip-row:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.adl-chip-row.adl-disabled{opacity:.6;pointer-events:none}.adl-chip{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-pill,999px);font-family:var(--font-mono,"SF Mono", "Fira Code", monospace);color:var(--text-primary);align-items:center;gap:6px;padding:3px 4px 3px 10px;font-size:12px;line-height:1.4;display:inline-flex}.adl-chip-remove{width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.adl-chip-remove:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.adl-chip-remove:disabled{opacity:.4;cursor:default}.adl-input{min-width:140px;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:4px 6px;font-family:inherit;font-size:.8125rem}.adl-input::placeholder{color:var(--text-tertiary)}.adl-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.adl-hint{color:var(--text-tertiary);font-size:.75rem;line-height:1.4}.adl-clear-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:4px 10px;font-family:inherit;font-size:.75rem;transition:border-color .12s,color .12s,background .12s}.adl-clear-btn:hover:not(:disabled){border-color:var(--border-default);background:var(--bg-hover);color:var(--text-primary)}.adl-clear-btn:disabled{opacity:.4;cursor:default}.adl-inline-error{margin-bottom:0}.adl-own-domain-warning code{background:var(--bg-input);font-family:var(--font-mono,"SF Mono", "Fira Code", monospace);border-radius:4px;padding:.0625rem .375rem;font-size:.6875rem}.adl-own-domain-warning{margin-top:.5rem}.sso-sp-details{background:#6366f10f;border:1px solid #6366f140;border-radius:8px;padding:.875rem 1rem}.sso-sp-details-header{flex-direction:column;gap:.1875rem;margin-bottom:.75rem;display:flex}.sso-sp-details-title{color:var(--text-primary);font-size:.875rem;font-weight:600}.sso-sp-details-hint{color:var(--text-secondary);font-size:.75rem}.sso-sp-detail-row{margin-bottom:.6875rem}.sso-sp-detail-row:last-child{margin-bottom:0}.sso-sp-detail-label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.75rem;font-weight:500}.sso-sp-detail-value-row{align-items:center;gap:.5rem;display:flex}.sso-sp-detail-value{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;background:#00000040;border:1px solid #ffffff0f;border-radius:4px;flex:1;padding:.375rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.75rem;overflow:hidden}.sso-sp-detail-copy{border:1px solid var(--border-default,#444);color:var(--text-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:.375rem .6875rem;font-size:.75rem}.sso-sp-detail-copy:hover{background:var(--surface-2,#ffffff0a)}.sso-sp-detail-hint{color:var(--text-tertiary,#888);margin-top:.1875rem;font-size:.6875rem;line-height:1.5}.sso-connections-list{margin-top:1.5rem}.sso-connections-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.sso-connections-title{color:var(--text-primary);margin:0 0 .25rem;font-size:.95rem;font-weight:600}.sso-connections-hint{color:var(--text-secondary);max-width:32rem;margin:0;font-size:.8125rem}.sso-connections-error{color:var(--danger,#ef4444);background:#ef444414;border:1px solid #ef44444d;border-radius:8px;margin-bottom:.75rem;padding:.625rem .875rem;font-size:.875rem}.sso-connections-empty{text-align:center;color:var(--text-secondary);border:1px dashed var(--border-subtle);background:#ffffff05;border-radius:8px;padding:1.25rem;font-size:.875rem}.sso-connections-rows{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sso-connections-row{border:1px solid var(--border-subtle);background:#ffffff05;border-radius:8px;flex-direction:column;display:flex}.sso-connections-row-summary{justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.sso-connections-row.expanded>.sso-connections-row-summary{border-bottom:1px solid var(--border-subtle)}.sso-connections-row-expand{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sso-connections-row-expand:hover{color:var(--text-primary)}.sso-connections-chevron{font-size:.75rem;transition:transform .12s;display:inline-block}.sso-connections-chevron.open{transform:rotate(90deg)}.sso-connections-row-expansion{padding:1rem}.sso-connections-row.inactive{opacity:.7}.sso-connections-row-main{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.sso-connections-row-name{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.sso-connections-protocol{letter-spacing:.06em;border-radius:4px;padding:.1875rem .4375rem;font-size:.6875rem;font-weight:700}.sso-connections-protocol--saml{color:#a5b4fc;background:#6366f12e}.sso-connections-protocol--oidc{color:var(--success-soft);background:#22c55e2e}.sso-connections-display-name{color:var(--text-primary);font-weight:500}.sso-connections-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:.1875rem .4375rem;font-size:.6875rem;font-weight:600}.sso-connections-badge--active{color:var(--success-soft);background:#22c55e26}.sso-connections-badge--inactive{color:#cbd5e1;background:#94a3b826}.sso-connections-row-domains{color:var(--text-secondary);font-size:.8125rem}.sso-connections-row-domains .muted{font-style:italic}.sso-connections-row-actions{flex-shrink:0;gap:.4375rem;display:flex}.sso-connections-row-actions .btn-primary-sm,.sso-connections-header .btn-primary-sm{background:var(--accent-primary,#6366f1);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.3125rem .75rem;font-size:.8125rem;font-weight:500;transition:opacity .12s}.sso-connections-row-actions .btn-primary-sm:hover:not(:disabled),.sso-connections-header .btn-primary-sm:hover:not(:disabled){opacity:.9}.sso-connections-row-actions .btn-primary-sm:disabled,.sso-connections-header .btn-primary-sm:disabled{opacity:.5;cursor:not-allowed}.sso-connections-row-actions .btn-warning-sm{color:var(--emphasis);cursor:pointer;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:6px;padding:.3125rem .75rem;font-size:.8125rem;font-weight:500}.sso-connections-row-actions .btn-warning-sm:hover:not(:disabled){background:#fbbf242e}.sso-wizard-overlay{z-index:1100;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.sso-wizard{background:var(--bg-elevated,#1a1a2e);border:1px solid var(--border-subtle,#2a2a44);border-radius:12px;flex-direction:column;width:100%;max-width:720px;max-height:90vh;display:flex;overflow:hidden}.sso-wizard-header{border-bottom:1px solid var(--border-subtle,#2a2a44);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.sso-wizard-header h2{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.sso-wizard-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;width:28px;height:28px;padding:0;font-size:1.75rem;line-height:1}.sso-wizard-body{flex:1;padding:1.5rem;overflow-y:auto}.sso-wizard-sp-wrap{margin-bottom:1.5rem}.sso-wizard-error{color:var(--danger-soft);background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.sso-wizard-field{margin-bottom:1.25rem}.sso-wizard-label{color:var(--text-primary);margin-bottom:.4375rem;font-size:.8125rem;font-weight:500;display:block}.sso-wizard-input{background:var(--bg-input,#ffffff0a);border:1px solid var(--border-default,#444);width:100%;color:var(--text-primary);border-radius:8px;padding:.5625rem .75rem;font-family:inherit;font-size:.875rem}.sso-wizard-input:focus{border-color:var(--accent-primary,#6366f1);outline:none}.sso-wizard-textarea{background:var(--bg-input,#ffffff0a);border:1px solid var(--border-default,#444);width:100%;min-height:120px;color:var(--text-primary);resize:vertical;border-radius:8px;padding:.625rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.8125rem}.sso-wizard-textarea--metadata{min-height:180px}.sso-wizard-hint{color:var(--text-tertiary,#888);margin:.4375rem 0 0;font-size:.75rem;line-height:1.5}.sso-wizard-hint code{background:#ffffff0f;border-radius:3px;padding:.0625rem .3125rem;font-family:ui-monospace,monospace;font-size:.75rem}.sso-wizard-protocol-picker{gap:.5rem;display:flex}.sso-wizard-protocol-option{background:var(--bg-input,#ffffff0a);border:1px solid var(--border-default,#444);color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:1;padding:.625rem 1rem;font-size:.875rem;font-weight:500}.sso-wizard-protocol-option.on{border-color:var(--accent-primary,#6366f1);color:var(--text-primary);background:#6366f126}.sso-wizard-claim-actions{gap:.5rem;margin-top:.4375rem;display:flex}.sso-wizard-test-result{color:var(--text-primary);white-space:pre-wrap;background:#22c55e14;border:1px solid #22c55e40;border-radius:6px;margin-top:.5rem;padding:.625rem .75rem;font-family:ui-monospace,monospace;font-size:.75rem}.sso-wizard-toggles{flex-direction:column;gap:.625rem;display:flex}.sso-wizard-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.sso-wizard-toggle input[type=checkbox]{cursor:pointer;width:16px;height:16px}.sso-wizard-footer{border-top:1px solid var(--border-subtle,#2a2a44);justify-content:flex-end;gap:.625rem;padding:1rem 1.5rem;display:flex}.sso-wizard-btn-primary,.sso-wizard-btn-secondary{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.5rem 1.125rem;font-size:.875rem;font-weight:500}.sso-wizard-btn-primary{background:var(--accent-primary,#6366f1);color:#fff}.sso-wizard-btn-primary:hover:not(:disabled){opacity:.9}.sso-wizard-btn-primary:disabled{opacity:.5;cursor:not-allowed}.sso-wizard-btn-secondary{border-color:var(--border-default,#444);color:var(--text-primary);background:0 0}.sso-wizard-btn-secondary:hover:not(:disabled){background:var(--surface-2,#ffffff0a)}.osub-current-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;grid-template-columns:1fr auto;align-items:start;gap:1rem 2rem;padding:1.5rem;display:grid}.osub-current-card-head{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.osub-current-tier-name{color:var(--text-primary);font-size:1.5rem;font-weight:700}.osub-status-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--success-soft);background:#22c55e26;border:1px solid #22c55e4d;border-radius:999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.osub-price{font-family:var(--font-mono);color:var(--text-secondary);font-size:.875rem}.osub-blurb{color:var(--text-secondary);max-width:60ch;margin:.5rem 0 .75rem;font-size:.875rem;line-height:1.6}.osub-renewal{color:var(--text-tertiary);margin-bottom:.75rem;font-size:.75rem}.osub-feature-list{margin:0;padding:0;list-style:none}.osub-feature-list li{color:var(--text-primary);align-items:center;gap:.5rem;padding:.25rem 0;font-size:.875rem;display:flex}.osub-feature-list svg{color:var(--accent-primary);font-size:.75rem}.osub-plan-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:.5rem;display:grid}.osub-plan-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;padding:1.25rem;display:flex}.osub-plan-card--current{border-color:var(--accent-primary);background:linear-gradient(180deg, #5b8cff14 0%, var(--bg-elevated) 60%);position:relative}.osub-plan-card--current:before{content:"Current plan";background:var(--accent-primary);color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;position:absolute;top:-10px;left:1rem}.osub-plan-name{color:var(--text-primary);font-size:1.125rem;font-weight:600}.osub-plan-price{font-family:var(--font-mono);color:var(--text-secondary);margin:.25rem 0 1rem;font-size:.8125rem}.osub-plan-features{flex:1;margin:0 0 1rem;padding:0;list-style:none}.osub-plan-features li{color:var(--text-secondary);align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.8125rem;display:flex}.osub-plan-features svg{color:var(--accent-primary);margin-top:.3rem;font-size:.625rem}.osub-plan-cta{border:1px solid var(--border-default);background:var(--bg-base);width:100%;color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.5rem;font-size:.8125rem;font-weight:600}.osub-plan-cta:hover:not(:disabled){background:var(--bg-hover)}.osub-plan-cta:disabled{cursor:not-allowed;color:var(--text-tertiary);background:var(--bg-elevated)}.osub-plan-cta.primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.osub-plan-cta.primary:hover:not(:disabled){background:var(--accent-hover)}.osub-plan-usage{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:.875rem;margin:1rem 0 .75rem;padding:1rem 0;display:flex}.osub-plan-usage-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .25rem;font-size:.75rem;font-weight:600}.osub-usage-row{flex-direction:column;gap:.375rem;display:flex}.osub-usage-head{color:var(--text-primary);justify-content:space-between;align-items:baseline;font-size:.875rem;display:flex}.osub-usage-count{font-family:var(--font-mono);color:var(--text-primary);font-size:.8125rem}.osub-usage-of{color:var(--text-tertiary);font-weight:400}.osub-usage-track{background:var(--bg-elevated);border-radius:3px;width:100%;height:6px;overflow:hidden}.osub-usage-fill{background:var(--accent-primary);height:100%;transition:width .2s}.osub-usage-fill.near-limit{background:var(--warning,#f59e0b)}.osub-info-row{color:var(--text-primary);justify-content:space-between;align-items:baseline;font-size:.875rem;display:flex}.osub-info-label{color:var(--text-secondary)}.osub-info-value{font-family:var(--font-mono);font-size:.8125rem}.osub-info-meta{color:var(--text-tertiary);font-family:inherit;font-size:.75rem}.osub-usage-footer{justify-content:flex-end;margin-top:.25rem;display:flex}.osub-link-btn{color:var(--accent-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;text-decoration:none}.osub-link-btn:hover{text-decoration:underline}.org-settings-page{background:#0a0a16;min-height:100vh}.content-area:has(.org-settings-page){background:#0a0a16}.content-area:has(.org-settings-page) .content-area-inner{max-width:none;padding:0}.os-hero{margin-bottom:2rem}.os-title{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.org-settings-denied,.org-settings-loading{text-align:center;color:var(--text-tertiary);padding:3rem 1rem;font-size:.875rem}.org-settings-error{background:var(--danger-bg);color:var(--danger);border-radius:10px;margin-bottom:1rem;padding:.625rem .875rem;font-size:.8125rem}.org-settings-success{background:var(--success-bg,#2ea0431a);color:var(--success,#2ea043);border-radius:10px;margin-bottom:1rem;padding:.625rem .875rem;font-size:.8125rem}.org-settings-section{border:1px solid var(--border-subtle);background:0 0;border-radius:12px;margin-bottom:1.25rem;overflow:visible}.org-settings-section-title{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);background:0 0;border-radius:12px 12px 0 0;margin:0;padding:.875rem 1.5rem;font-size:.875rem;font-weight:700}.org-settings-section-body{padding:1.25rem 1.5rem}.org-settings-field{margin-bottom:1.25rem}.org-settings-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.org-settings-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;max-width:400px;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.org-settings-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.org-settings-input::placeholder{color:var(--text-tertiary)}.org-settings-select{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;max-width:400px;color:var(--text-primary);cursor:pointer;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem}.org-settings-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.org-settings-slug-preview{color:var(--text-tertiary);margin-top:.375rem;font-size:.75rem}.org-settings-slug-preview code{background:var(--bg-input);border-radius:6px;padding:.125rem .5rem;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.6875rem}.org-settings-actions{margin-top:1.25rem}.org-settings-actions .btn-primary{border-radius:10px;padding:.5625rem 1.25rem;font-size:.875rem;font-weight:600;transition:background .15s,transform .1s}.org-settings-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px)}.org-settings-dialect-hint{color:var(--text-tertiary);margin:0 0 1rem;font-size:.8125rem;line-height:1.4}.org-settings-section-body .settings-field{margin-bottom:.75rem}.org-settings-section-body .settings-field:last-of-type{margin-bottom:0}.org-settings-section-body .settings-field-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.org-settings-mfa-toggle{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.org-settings-mfa-info{flex:1}.org-settings-mfa-hint{color:var(--text-tertiary);margin:.25rem 0 0;font-size:.75rem;line-height:1.4}.org-settings-mfa-warning{color:var(--warning,#e3b341);margin:.75rem 0 0;font-size:.75rem;line-height:1.4}.org-settings-mfa-warning a{color:var(--accent-primary);text-underline-offset:2px;text-decoration:underline}.org-settings-toggle{background:var(--border-default);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;width:44px;height:24px;padding:0;transition:background .2s;position:relative}.org-settings-toggle.active{background:var(--accent-primary)}.org-settings-toggle:disabled{opacity:.4;cursor:default}.org-settings-toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.org-settings-toggle.active .org-settings-toggle-knob{transform:translate(20px)}.org-settings-danger-zone{border:1px solid var(--danger);border-radius:16px;margin-top:.5rem;padding:1.5rem 1.75rem}.org-settings-danger-title{color:var(--danger);margin:0 0 .5rem;font-size:.875rem;font-weight:700}.org-settings-danger-desc{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.8125rem;line-height:1.5}.org-settings-danger-zone .btn-danger{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:opacity .15s}.org-settings-danger-zone .btn-danger:hover:not(:disabled){opacity:.9}.org-settings-danger-zone .btn-danger:disabled{opacity:.4;cursor:default}.org-settings-tab-content{max-width:none;margin:0 auto}.org-settings-tab-body{max-width:960px;margin:0 auto;padding:1.5rem 3.5rem 2.5rem}.scope-selector-presets{gap:.5rem;margin-bottom:1rem;display:flex}.scope-preset-btn{border:1px solid var(--border-default);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.4375rem 1rem;font-size:.8125rem;font-weight:500;transition:all .15s}.scope-preset-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.scope-preset-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.scope-selector-groups{flex-direction:column;gap:.25rem;display:flex}.scope-group{border:1px solid #0000;border-radius:10px;align-items:center;padding:.625rem .875rem;transition:background .1s,border-color .15s;display:flex}.scope-group:hover{background:var(--bg-hover)}.scope-group--active{background:#5b8cff0a;border-color:#5b8cff1a}.scope-group--active:hover{background:#5b8cff12}.scope-group-info{flex:1;min-width:0}.scope-group-label{color:var(--text-primary);font-size:.875rem;font-weight:500;line-height:1.3}.scope-group-desc{color:var(--text-tertiary);margin-top:.0625rem;font-size:.75rem;line-height:1.3}.scope-group-checks{flex-shrink:0;gap:1.25rem;margin-left:1rem;display:flex}.scope-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4375rem;display:flex}.scope-check input[type=checkbox]{appearance:none;border:1.5px solid var(--border-default);background:var(--bg-input);cursor:pointer;border-radius:4px;flex-shrink:0;width:16px;height:16px;transition:background .15s,border-color .15s;position:relative}.scope-check input[type=checkbox]:checked{background:var(--accent-primary);border-color:var(--accent-primary)}.scope-check input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.scope-check-label{color:var(--text-secondary);font-size:.8125rem}.scope-selector-summary{border-top:1px solid var(--border-subtle);color:var(--text-tertiary);text-align:right;margin-top:.75rem;padding-top:.75rem;font-size:.75rem}.project-picker-options{flex-direction:column;gap:.625rem;margin-bottom:1rem;display:flex}.project-picker-radio{cursor:pointer;border:1px solid var(--border-default);-webkit-user-select:none;user-select:none;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.project-picker-radio:hover{border-color:var(--accent-primary)}.project-picker-radio:has(input:checked){border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.project-picker-radio input[type=radio]{appearance:none;border:2px solid var(--border-default);background:var(--bg-input);cursor:pointer;border-radius:50%;flex-shrink:0;width:16px;height:16px;transition:border-color .15s;position:relative}.project-picker-radio input[type=radio]:checked{border-color:var(--accent-primary)}.project-picker-radio input[type=radio]:checked:after{content:"";background:var(--accent-primary);border-radius:50%;width:6px;height:6px;position:absolute;top:3px;left:3px}.project-picker-radio-label{color:var(--text-primary);font-size:.875rem;font-weight:500}.project-picker-radio-desc{width:100%;color:var(--text-tertiary);margin-top:-.125rem;padding-left:calc(16px + .5rem);font-size:.75rem;line-height:1.4}.project-picker-list{border:1px solid var(--border-default);border-radius:12px;max-height:200px;overflow-y:auto}.project-picker-list::-webkit-scrollbar{width:6px}.project-picker-list::-webkit-scrollbar-track{background:0 0}.project-picker-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.project-picker-empty{text-align:center;color:var(--text-tertiary);padding:1.5rem;font-size:.875rem}.project-picker-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-subtle);align-items:center;gap:.625rem;padding:.625rem 1rem;transition:background .1s;display:flex}.project-picker-item:last-child{border-bottom:none}.project-picker-item:hover{background:var(--bg-hover)}.project-picker-item input[type=checkbox]{appearance:none;border:1.5px solid var(--border-default);background:var(--bg-input);cursor:pointer;border-radius:4px;flex-shrink:0;width:16px;height:16px;transition:background .15s,border-color .15s;position:relative}.project-picker-item input[type=checkbox]:checked{background:var(--accent-primary);border-color:var(--accent-primary)}.project-picker-item input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.project-picker-item-name{color:var(--text-primary);font-size:.875rem}.tokens-page{background:var(--bg-base);min-height:100%}.content-area:has(.tokens-page) .content-area-inner{max-width:none;padding:0}.tokens-body{padding:20px 48px 40px}.tokens-page .data-table-wrapper{border:1px solid var(--border-subtle);background:0 0;border-radius:12px}.tokens-page .data-table th,.tokens-page .data-table td{border-bottom-color:var(--border-subtle)}.tokens-page .data-table tbody tr:last-child td{border-bottom:none}.tokens-loading{text-align:center;color:var(--text-tertiary);padding:3rem 1rem;font-size:.875rem}.tokens-error{color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8125rem}.token-name{font-weight:500}.token-scopes-summary{color:var(--text-secondary);font-size:.8125rem}.token-expired{color:var(--danger)}.token-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.15s token-overlay-in;display:flex;position:fixed;inset:0}@keyframes token-overlay-in{0%{opacity:0}to{opacity:1}}.token-modal{border:1px solid var(--border-subtle);background:#0a0a16;border-radius:16px;flex-direction:column;width:720px;max-width:92vw;max-height:82vh;animation:.2s token-modal-in;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000073}@keyframes token-modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.token-wizard-layout{flex:1;min-height:0;display:flex}.token-wizard-sidebar{border-right:1px solid var(--border-subtle);background:0 0;flex-direction:column;flex-shrink:0;gap:.25rem;width:200px;padding:1.75rem 0;display:flex}.token-wizard-step{cursor:default;align-items:center;gap:.75rem;padding:.625rem 1.25rem;transition:background .1s;display:flex;position:relative}.token-wizard-step:before{content:"";background:0 0;border-radius:0 3px 3px 0;width:3px;transition:background .15s;position:absolute;top:0;bottom:0;left:0}.token-wizard-step.active:before{background:var(--accent-primary)}.token-wizard-step.active{background:#5b8cff0f}.token-wizard-step-number{border:2px solid var(--border-default);width:26px;height:26px;color:var(--text-tertiary);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.token-wizard-step.active .token-wizard-step-number{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-subtle)}.token-wizard-step.done .token-wizard-step-number{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.token-wizard-step.done .token-wizard-step-number:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:10px;margin-top:-2px;transform:rotate(45deg)}.token-wizard-step.done .token-wizard-step-num-text{display:none}.token-wizard-step-info{flex-direction:column;min-width:0;display:flex}.token-wizard-step-label{color:var(--text-tertiary);font-size:.8125rem;font-weight:600;line-height:1.3;transition:color .15s}.token-wizard-step.active .token-wizard-step-label,.token-wizard-step.done .token-wizard-step-label{color:var(--text-primary)}.token-wizard-step-desc{color:var(--text-tertiary);margin-top:.0625rem;font-size:.6875rem;line-height:1.3}.token-wizard-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.token-wizard-body{flex:1;min-height:0;padding:2rem 2.25rem;overflow-y:auto}.token-wizard-body::-webkit-scrollbar{width:6px}.token-wizard-body::-webkit-scrollbar-track{background:0 0}.token-wizard-body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.token-modal-title{color:var(--text-primary);margin:0 0 .25rem;font-size:1.125rem;font-weight:700}.token-modal-subtitle{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.875rem;line-height:1.4}.token-modal-error{background:var(--danger-bg);color:var(--danger);border-radius:10px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.8125rem}.token-modal-field{margin-bottom:1.25rem}.token-modal-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.token-modal-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.token-modal-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.token-modal-input::placeholder{color:var(--text-tertiary)}.token-mcp-section{border-top:1px solid var(--border-subtle);margin-top:1.5rem;padding-top:1.25rem}.token-mcp-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.75rem;font-size:.75rem;font-weight:600}.token-mcp-toggle{border:1px solid var(--border-default);border-radius:12px;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:border-color .15s,background .1s;display:flex}.token-mcp-toggle.enabled{background:#5b8cff0a;border-color:#5b8cff33}.token-mcp-toggle-info{flex-direction:column;gap:.125rem;display:flex}.token-mcp-toggle-label{color:var(--text-primary);font-size:.875rem;font-weight:500}.token-mcp-toggle-desc{color:var(--text-tertiary);font-size:.75rem;line-height:1.4}.token-mcp-switch{cursor:pointer;flex-shrink:0;width:44px;height:24px;position:relative}.token-mcp-switch input{opacity:0;width:0;height:0;position:absolute}.token-mcp-switch-track{background:var(--border-default);border-radius:12px;transition:background .2s;position:absolute;inset:0}.token-mcp-switch input:checked+.token-mcp-switch-track{background:var(--accent-primary)}.token-mcp-switch-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.token-mcp-switch input:checked+.token-mcp-switch-track:after{transform:translate(20px)}.token-created-layout{flex-direction:column;align-items:center;padding:2.5rem 2.5rem 2rem;display:flex}.token-created-icon{width:56px;height:56px;color:var(--success);background:#22c55e1f;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.25rem;font-size:1.5rem;display:flex}.token-created-layout .token-modal-title{text-align:center;margin-bottom:.5rem}.token-modal-warning{color:#facc15;text-align:center;box-sizing:border-box;background:#facc1514;border:1px solid #facc1540;border-radius:12px;width:100%;max-width:440px;margin-bottom:1.25rem;padding:.875rem 1rem;font-size:.8125rem;line-height:1.5}.token-display{border:1px solid var(--border-default);border-radius:12px;align-items:stretch;gap:0;width:100%;max-width:440px;margin-bottom:.5rem;display:flex;overflow:hidden}.token-display-value{background:var(--bg-input);color:var(--text-primary);word-break:break-all;flex:1;padding:.75rem 1rem;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8125rem;line-height:1.5}.token-display-copy{background:var(--accent-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:background .15s}.token-display-copy:hover{background:var(--accent-hover)}.token-modal-actions{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:flex-end;gap:.625rem;padding:1rem 2.25rem 1.5rem;display:flex}.token-modal--done{width:540px}.token-modal--done .token-modal-actions{justify-content:center}:root{--ob-ease:cubic-bezier(.22, 1, .36, 1);--ob-ease-soft:cubic-bezier(.4, 0, .2, 1)}.ob-root{z-index:40;background:var(--canvas-bg);color:var(--text-primary);font-family:var(--font-sans);position:fixed;inset:0}.ob-root,.ob-root *{box-sizing:border-box}.ob-no-motion *,.ob-no-motion :before,.ob-no-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!important}.ob-stage{background:radial-gradient(ellipse 90% 60% at 50% -10%, #5b8cff1a, transparent 60%), radial-gradient(ellipse 70% 60% at 100% 110%, #a78bfa14, transparent 55%), var(--canvas-bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.ob-grid-bg{background-image:radial-gradient(circle, var(--canvas-grid) 1px, transparent 1px);opacity:.7;pointer-events:none;background-size:26px 26px;animation:60s linear infinite ob-drift;position:absolute;inset:-40px;-webkit-mask-image:radial-gradient(80% 80% at 50% 45%,#000 30%,#0000 80%);mask-image:radial-gradient(80% 80% at 50% 45%,#000 30%,#0000 80%)}@keyframes ob-drift{to{transform:translate(26px,26px)}}.ob-top{z-index:5;flex-shrink:0;justify-content:space-between;align-items:center;padding:22px 28px;display:flex;position:relative}.ob-logo-row{align-items:center;gap:11px;display:flex}.ob-logo{background:var(--accent-primary);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:flex;box-shadow:0 4px 16px #5b8cff59}.ob-logo svg{color:#fff;width:17px;height:17px}.ob-wordmark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);font-size:16px;font-weight:700}.ob-skip{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;align-items:center;gap:7px;padding:8px 12px;font-family:inherit;font-size:12.5px;transition:color .15s,background .15s;display:inline-flex}.ob-skip:hover{color:var(--text-primary);background:var(--bg-hover)}.ob-skip svg{width:13px;height:13px}.ob-rail{align-items:center;gap:0;margin:0 auto 38px;display:flex}.ob-rail-step{align-items:center;display:flex}.ob-rail-dot{width:28px;height:28px;font-family:var(--font-mono);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-tertiary);transition:all .4s var(--ob-ease);z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;position:relative}.ob-rail-dot.done{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.ob-rail-dot.active{border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-subtle)}.ob-rail-dot svg{width:13px;height:13px}.ob-rail-line{background:var(--border-default);width:46px;height:2px;position:relative;overflow:hidden}.ob-rail-line .fill{background:var(--accent-primary);width:0;transition:width .5s var(--ob-ease);position:absolute;inset:0}.ob-rail-line.filled .fill{width:100%}.ob-scene{position:relative}.ob-enter{animation:ob-in .5s var(--ob-ease) both}@keyframes ob-in{0%{transform:translateY(16px)scale(.99)}to{transform:none}}.ob-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);align-items:center;gap:8px;margin-bottom:14px;font-size:11px;display:inline-flex}.ob-eyebrow .dot{background:var(--success-vibrant);width:6px;height:6px;box-shadow:0 0 8px var(--success-vibrant);border-radius:50%;animation:2.4s ease-in-out infinite ob-pulse}@keyframes ob-pulse{0%,to{opacity:1}50%{opacity:.4}}.ob-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text-primary);text-wrap:balance;margin:0;font-size:34px;font-weight:700;line-height:1.08}.ob-title .accent{background:linear-gradient(90deg,#5b8cff,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.ob-sub{color:var(--text-secondary);text-wrap:pretty;max-width:46ch;margin:12px 0 0;font-size:14.5px;line-height:1.6}.ob-bigfield{margin-top:30px;position:relative}.ob-biginput{width:100%;font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);border:none;border-bottom:2px solid var(--border-default);background:0 0;outline:none;padding:8px 0 14px;font-size:30px;font-weight:600;transition:border-color .2s}.ob-biginput::placeholder{color:var(--text-disabled)}.ob-biginput:focus{border-color:var(--accent-primary)}.ob-paths{flex-direction:column;gap:12px;margin-top:30px;display:flex}.ob-path{text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;transition:transform .18s var(--ob-ease), border-color .18s, background .18s, box-shadow .18s;grid-template-columns:52px 1fr 22px;align-items:center;gap:16px;padding:18px 20px;font-family:inherit;display:grid;position:relative;overflow:hidden}.ob-path:after{content:"";background:radial-gradient(420px 120px at var(--mx,50%) 0%, #5b8cff14, transparent 70%);opacity:0;transition:opacity .25s;position:absolute;inset:0}.ob-path:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 10px 30px #00000059}.ob-path:hover:after{opacity:1}.ob-path-ic{background:var(--bg-elevated);border:1px solid var(--border-subtle);width:52px;height:52px;color:var(--accent-primary);transition:transform .25s var(--ob-ease), color .2s, background .2s;border-radius:13px;justify-content:center;align-items:center;font-size:20px;display:flex}.ob-path-ic svg{width:20px;height:20px}.ob-path:hover .ob-path-ic{color:#fff;background:var(--accent-primary);transform:scale(1.06)rotate(-3deg)}.ob-path-t{color:var(--text-primary);font-size:16px;font-weight:600;display:block}.ob-path-d{color:var(--text-tertiary);margin-top:3px;padding-right:8px;font-size:13px;line-height:1.45;display:block}.ob-path-arrow{color:var(--text-disabled);transition:transform .2s,color .2s}.ob-path-arrow svg{width:18px;height:18px}.ob-path:hover .ob-path-arrow{color:var(--accent-primary);transform:translate(4px)}.ob-nav{align-items:center;gap:12px;margin-top:30px;display:flex}.ob-back{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;align-items:center;gap:8px;padding:10px 4px;font-family:inherit;font-size:13px;transition:color .15s;display:inline-flex}.ob-back svg{width:16px;height:16px}.ob-back:hover{color:var(--text-primary)}.ob-spacer{flex:1}.ob-suggest{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);margin-top:22px;padding:18px}.ob-suggest-head{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;display:flex}.ob-suggest-head svg{width:15px;height:15px}.ob-thinking{gap:4px;display:inline-flex}.ob-thinking i{background:var(--accent-primary);border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite ob-bounce}.ob-thinking i:nth-child(2){animation-delay:.15s}.ob-thinking i:nth-child(3){animation-delay:.3s}@keyframes ob-bounce{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.ob-suggest-main{align-items:center;gap:14px;margin-top:14px;display:flex}.ob-db-badge{color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.ob-db-badge svg{width:22px;height:22px}.ob-suggest-name{color:var(--text-primary);font-size:16px;font-weight:600}.ob-suggest-reason{color:var(--text-secondary);margin-top:2px;font-size:12.5px;line-height:1.45}.ob-db-chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.ob-chip{border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;padding:7px 12px;font-family:inherit;font-size:12.5px;transition:all .14s;display:inline-flex}.ob-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.ob-chip.on{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-subtle)}.ob-chip .swatch{border-radius:3px;width:9px;height:9px}.ob-terminal{border:1px solid var(--border-default);border-radius:var(--radius-lg);font-family:var(--font-mono);background:#060610;margin-top:6px;overflow:hidden}.ob-term-bar{border-bottom:1px solid var(--border-subtle);background:#ffffff05;align-items:center;gap:8px;padding:9px 12px;display:flex}.ob-term-bar .tl{gap:6px;display:flex}.ob-term-bar .tl i{border-radius:50%;width:10px;height:10px;display:block}.ob-term-title{color:var(--text-tertiary);margin-left:4px;font-size:11px}.ob-term-copy{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;margin-left:auto;padding:4px 8px;font-family:inherit;font-size:11px;display:inline-flex}.ob-term-copy svg{width:13px;height:13px}.ob-term-copy:hover{color:var(--text-primary);background:var(--bg-hover)}.ob-term-body{min-height:40px;padding:14px 14px 16px;font-size:12.5px;line-height:1.7}.ob-term-body .cmd{color:var(--text-primary)}.ob-term-body .cmd .p{color:var(--success-vibrant)}.ob-term-body .out{color:var(--text-tertiary)}.ob-term-body .ok{color:var(--success-vibrant)}.ob-term-body .hl{color:var(--accent-primary)}.ob-term-body .warn{color:var(--warning)}.ob-caret{vertical-align:text-bottom;background:var(--accent-primary);width:8px;height:15px;margin-left:2px;animation:1s step-end infinite ob-blink;display:inline-block}@keyframes ob-blink{50%{opacity:0}}.ob-copyfield{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-lg);align-items:center;gap:10px;height:46px;padding:0 6px 0 14px;display:flex}.ob-copyfield .lbl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-disabled);flex-shrink:0;font-size:10px}.ob-copyfield .val{font-family:var(--font-mono);color:var(--accent-primary);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.ob-copybtn{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-default);height:34px;color:var(--text-primary);cursor:pointer;flex-shrink:0;align-items:center;gap:7px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .14s;display:inline-flex}.ob-copybtn svg{width:13px;height:13px}.ob-copybtn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.ob-copybtn.copied{color:var(--success-vibrant);border-color:#00e5a066}.ob-drop{border:1.5px dashed var(--border-strong);border-radius:var(--radius-xl);text-align:center;cursor:pointer;background:var(--bg-surface);margin-top:8px;padding:30px 24px;transition:border-color .2s,background .2s;position:relative}.ob-drop:hover,.ob-drop.over{border-color:var(--accent-primary);background:#5b8cff0d}.ob-drop.over{box-shadow:0 0 0 4px var(--accent-subtle)}.ob-drop-ic{background:var(--bg-elevated);border:1px solid var(--border-subtle);width:48px;height:48px;color:var(--accent-primary);transition:transform .25s var(--ob-ease);border-radius:12px;justify-content:center;align-items:center;margin:0 auto 14px;font-size:20px;display:flex}.ob-drop-ic svg{width:22px;height:22px}.ob-drop:hover .ob-drop-ic{transform:translateY(-3px)}.ob-drop-t{color:var(--text-primary);font-size:14px;font-weight:600}.ob-drop-d{color:var(--text-tertiary);margin-top:4px;font-size:12.5px}.ob-drop-d b{color:var(--accent-primary)}.ob-scan{background:linear-gradient(90deg, transparent, var(--accent-primary), transparent);height:2px;box-shadow:0 0 12px var(--accent-primary);animation:1.1s ease-in-out infinite ob-scanmove;position:absolute;top:0;left:0;right:0}@keyframes ob-scanmove{0%{top:4%}to{top:96%}}.ob-divider-or{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-disabled);align-items:center;gap:12px;margin:16px 0;font-size:10px;display:flex}.ob-divider-or:before,.ob-divider-or:after{content:"";background:var(--border-subtle);flex:1;height:1px}.ob-textarea{resize:vertical;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;min-height:120px;color:var(--text-primary);font-family:var(--font-mono);outline:none;padding:14px;font-size:12.5px;line-height:1.6;transition:border-color .12s,box-shadow .12s}.ob-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.ob-textarea::placeholder{color:var(--text-disabled)}.ob-file-pill{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);align-items:center;gap:12px;margin-top:12px;padding:12px 14px;display:flex}.ob-file-pill .fic{width:36px;height:36px;color:var(--success-vibrant);background:#00e5a01f;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.ob-file-pill .fic svg{width:17px;height:17px}.ob-file-pill .fnm{color:var(--text-primary);font-size:13px;font-weight:600}.ob-file-pill .fmt{font-family:var(--font-mono);color:var(--text-tertiary);margin-top:1px;font-size:11px}.ob-file-pill .fx{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;margin-left:auto;padding:6px;font-size:13px}.ob-file-pill .fx svg{width:15px;height:15px}.ob-file-pill .fx:hover{color:var(--danger);background:var(--bg-hover)}.ob-detected{color:var(--success-vibrant);align-items:center;gap:9px;margin-top:14px;font-size:13px;font-weight:500;display:inline-flex}.ob-detected svg{width:15px;height:15px}.ob-detected .n{font-family:var(--font-mono);font-size:15px;font-weight:700}.ob-waiting{color:var(--text-secondary);align-items:center;gap:11px;margin-top:16px;font-size:13px;display:flex}.ob-waiting .ring{border:2px solid var(--border-strong);border-top-color:var(--accent-primary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite ob-spin}@keyframes ob-spin{to{transform:rotate(360deg)}}.ob-verify{flex-direction:column;gap:10px;margin-top:18px;display:flex}.ob-verify-row{color:var(--text-tertiary);opacity:.4;align-items:center;gap:11px;font-size:13px;transition:opacity .3s,color .3s;display:flex}.ob-verify-row.on{opacity:1;color:var(--text-secondary)}.ob-verify-row.ok{opacity:1;color:var(--text-primary)}.ob-verify-row .vic{background:var(--bg-elevated);width:20px;height:20px;color:var(--text-disabled);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.ob-verify-row .vic svg{width:11px;height:11px}.ob-verify-row.ok .vic{color:var(--success-vibrant);background:#00e5a026}.ob-verify-row.on .vic{background:var(--accent-subtle);color:var(--accent-primary)}.ob-verify-row .ring{border:2px solid var(--border-strong);border-top-color:var(--accent-primary);border-radius:50%;animation:.8s linear infinite ob-spin}.ob-A-wrap{z-index:3;flex-direction:column;flex:1;align-items:center;min-height:0;padding:8px 28px 44px;display:flex;position:relative;overflow:auto}.ob-A-col{width:100%;max-width:540px;margin:auto 0}.ob-ghost-node{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-family:var(--font-mono);color:var(--text-disabled);pointer-events:none;z-index:1;opacity:0;background:#1414288c;border:1px solid #3c3c6473;border-radius:8px;padding:6px 8px;font-size:9px;transition:opacity .8s;animation:12s ease-in-out infinite ob-float;position:absolute}.ob-ghost-node.show{opacity:1}.ob-ghost-node .gh{color:var(--text-tertiary);margin-bottom:3px;font-weight:600}.ob-ghost-node .gr{color:var(--text-disabled)}@keyframes ob-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.ob-B-shell{z-index:3;flex:1;grid-template-columns:1.02fr .98fr;height:100%;min-height:0;display:grid;position:relative}.ob-B-stage{border-right:1px solid var(--border-subtle);background:radial-gradient(80% 70% at 30% 20%,#5b8cff1f,#0000 60%),linear-gradient(#07070f,#050509);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ob-B-stage-grid{background-image:radial-gradient(circle,#5b8cff12 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:-40px;-webkit-mask-image:radial-gradient(70% 70%,#000 40%,#0000 85%);mask-image:radial-gradient(70% 70%,#000 40%,#0000 85%)}.ob-B-pane{background:var(--bg-base);flex-direction:column;justify-content:safe center;padding:64px 56px;display:flex;position:relative;overflow:auto}.ob-B-pane-inner{width:100%;max-width:440px;margin:0 auto}.ob-B-logo{z-index:5;width:auto;height:26px;position:absolute;top:24px;left:28px}@media (width<=920px){.ob-B-shell{grid-template-columns:1fr}.ob-B-stage{display:none}}.ob-scene-wrap{width:100%;height:100%;position:relative}.ob-scene-layer{pointer-events:none;transition:transform .55s var(--ob-ease);justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;inset:0;transform:scale(.97)}.ob-scene-layer.on{transform:none}.ob-seed{width:200px;font-family:var(--font-mono);background:#141428eb;border:1px solid #5b8cff80;border-radius:10px;overflow:hidden;box-shadow:0 0 30px #5b8cff33}.ob-seed .hd{color:var(--text-primary);background:#5b8cff2e;padding:9px 12px;font-size:12px;font-weight:600}.ob-seed .rw{color:var(--text-tertiary);animation:ob-rowin .5s var(--ob-ease) both;border-top:1px solid #3c3c6466;padding:7px 12px;font-size:11px}.ob-seed .rw.pk{color:#fcd34d}.ob-seed .rw.fk{color:#86efac}@keyframes ob-rowin{0%{transform:translate(-8px)}to{transform:none}}.ob-orbit{width:300px;height:300px;position:relative}.ob-orbit .center{background:var(--accent-primary);color:#fff;border-radius:18px;justify-content:center;align-items:center;width:70px;height:70px;margin:auto;font-size:26px;display:flex;position:absolute;inset:0;box-shadow:0 0 40px #5b8cff80}.ob-orbit .center svg{width:30px;height:30px}.ob-orbit .ring2{border:1px dashed #5b8cff4d;border-radius:50%;animation:24s linear infinite ob-spin;position:absolute;inset:0}.ob-orbit .sat{background:var(--bg-elevated);border:1px solid var(--border-default);width:50px;height:50px;color:var(--text-secondary);border-radius:14px;justify-content:center;align-items:center;margin:-25px;font-size:18px;display:flex;position:absolute;top:50%;left:50%}.ob-orbit .sat svg{width:20px;height:20px}.ob-analyze{text-align:center;max-width:280px}.ob-analyze .scope{border:1px solid #5b8cff59;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 22px;display:flex;position:relative}.ob-analyze .scope:before{content:"";border-top:2px solid var(--accent-primary);border-radius:50%;animation:1.4s linear infinite ob-spin;position:absolute;inset:0}.ob-analyze .scope i{color:var(--accent-primary);font-size:34px}.ob-analyze .scope i svg{width:34px;height:34px}.ob-analyze .txt{font-family:var(--font-mono);color:var(--text-tertiary);font-size:12px;line-height:1.8}.ob-analyze .txt .hl{color:var(--accent-primary)}.ob-reveal{width:100%;height:100%;position:relative}.ob-reveal .rv-node{font-family:var(--font-mono);animation:ob-pop .55s var(--ob-ease) forwards;background:#141428f2;border:1px solid #3c3c64cc;border-radius:9px;position:absolute;overflow:hidden;transform:scale(.6);box-shadow:0 8px 30px #00000080}.ob-reveal .rv-node.accent{border-color:#5b8cffb3;box-shadow:0 0 24px #5b8cff4d}.ob-reveal .rv-node .h{color:var(--text-primary);background:#232340f2;padding:6px 9px;font-size:10px;font-weight:600}.ob-reveal .rv-node.accent .h{background:#5b8cff33}.ob-reveal .rv-node .r{color:var(--text-tertiary);padding:4px 9px;font-size:9px}.ob-reveal .rv-node .r.pk{color:#fcd34d}.ob-reveal .rv-node .r.fk{color:#86efac}@keyframes ob-pop{0%{transform:scale(.6)}to{transform:none}}.ob-reveal svg.edges{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ob-reveal svg .e{stroke:#5b8cff73;stroke-width:1.5px;fill:none;stroke-dasharray:200;stroke-dashoffset:0;animation:ob-draw 1s var(--ob-ease) backwards}@keyframes ob-draw{to{stroke-dashoffset:0}}.ob-done-card{text-align:center}.ob-done-check{width:72px;height:72px;color:var(--success-vibrant);background:#00e5a01f;border:1px solid #00e5a04d;border-radius:20px;justify-content:center;align-items:center;margin:0 auto 22px;font-size:32px;display:flex}.ob-done-check svg{width:34px;height:34px}.ob-hint{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-secondary);gap:10px;margin-top:16px;padding:12px 14px;font-size:12.5px;line-height:1.5;display:flex}.ob-hint .hic{color:var(--accent-primary);flex-shrink:0;padding-top:1px}.ob-hint .hic svg{width:16px;height:16px}.ob-hint code{font-family:var(--font-mono);color:var(--accent-primary);background:var(--accent-subtle);border-radius:4px;padding:1px 5px;font-size:11.5px}.ob-kbd{font-family:var(--font-mono);color:var(--text-tertiary);border:1px solid var(--border-default);background:var(--bg-elevated);border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-size:11px}.ob-enter-hint{color:var(--text-tertiary);align-items:center;gap:8px;font-size:12px;display:inline-flex}.ob-root .auth-btn{white-space:nowrap;border-radius:var(--radius-lg);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .1s,box-shadow .15s;display:inline-flex}.ob-root .auth-btn svg{width:16px;height:16px}.ob-root .auth-btn:disabled{opacity:.45;cursor:not-allowed}.ob-root .auth-btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 4px 16px #5b8cff47}.ob-root .auth-btn-primary:not(:disabled):hover{background:var(--accent-hover);transform:translateY(-1px)}.ob-root .auth-btn-ghost{color:var(--text-secondary);border-color:var(--border-default);background:0 0}.ob-root .auth-btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.ob-root .auth-btn-block{width:100%}.tl-scroll{background:var(--bg-base);flex:1;min-width:0;overflow:visible}.tl-toolbar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 40px 0;padding:14px 18px;display:flex}.tl-toolbar-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tl-toolbar-actions{align-items:center;gap:8px;display:flex}.tl-meta-chip{border-radius:var(--radius-pill);font-family:var(--font-mono);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.tl-body{grid-template-columns:minmax(0,1fr) 260px;align-items:flex-start;gap:40px;padding:26px 40px 80px;display:grid}.tl-rail{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);align-self:start;padding:14px 14px 10px;position:sticky;top:18px}.tl-rail .hd{font-size:var(--fs-10);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-weight:var(--fw-semibold);align-items:center;gap:6px;padding:0 6px 10px;display:flex}.tl-rail .hd i{color:var(--accent-primary);font-size:10px}.tl-rail-list{flex-direction:column;gap:1px;max-height:70vh;display:flex;overflow:auto}.tl-rail-item{border-radius:var(--radius-md);cursor:pointer;grid-template-columns:14px 54px 1fr auto;align-items:center;gap:10px;padding:7px 8px;text-decoration:none;display:grid}.tl-rail-item:hover{background:var(--bg-hover)}.tl-rail-item.active{background:var(--accent-subtle)}.tl-rail-item .marker{background:var(--border-strong);border-radius:50%;width:8px;height:8px;margin:0 auto}.tl-rail-item.draft .marker{background:var(--draft-accent);box-shadow:0 0 0 2px #a855f733}.tl-rail-item.latest .marker{background:var(--accent-primary);box-shadow:0 0 0 2px #5b8cff33}.tl-rail-item .tag{font-family:var(--font-mono);color:var(--text-primary);font-size:11px;font-weight:var(--fw-semibold)}.tl-rail-item.draft .tag{color:var(--draft-accent)}.tl-rail-item .when{color:var(--text-tertiary);font-size:10px;font-family:var(--font-mono);text-align:right}.tl-rail-item .by{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tl-col{position:relative}.tl-col:before{content:"";background:linear-gradient(180deg, #a855f780 0%, var(--border-default) 80px, var(--border-default) calc(100% - 60px), transparent 100%);width:2px;position:absolute;top:8px;bottom:8px;left:13px}.tl-node{margin-bottom:18px;padding-left:44px;position:relative}.tl-node:before{content:"";background:var(--bg-base);border:2px solid var(--border-strong);z-index:1;border-radius:50%;width:16px;height:16px;position:absolute;top:18px;left:6px}.tl-node.latest:before{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-subtle)}.tl-node.draft:before{border-color:var(--draft-accent);background:#0e0e1c;box-shadow:0 0 0 4px #a855f726}.tl-node.draft:after{content:"";background:repeating-linear-gradient(#a855f780 0 6px,#0000 6px 12px);width:2px;position:absolute;top:34px;bottom:-18px;left:13px}.tl-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden}.tl-card.draft{border-color:#a855f747}.tl-card.latest{border-color:#5b8cff47}.tl-card>header{border-bottom:1px solid var(--border-subtle);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 20px;display:grid}.tl-card.draft>header{background:linear-gradient(90deg,#a855f714,#0000 60%)}.tl-card.latest>header{background:linear-gradient(90deg,#5b8cff0f,#0000 60%)}.tl-card .tag{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text-primary);background:var(--bg-elevated);border-radius:var(--radius-pill);padding:4px 12px}.tl-card.latest .tag{background:var(--accent-subtle);color:#a5c0ff}.tl-card.draft .tag{color:var(--draft-accent);letter-spacing:.08em;text-transform:uppercase;background:#a855f72e;font-family:inherit;font-size:10px;font-weight:700}.tl-card .mid{min-width:0}.tl-card .mid .summary{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:1.4}.tl-card .mid .meta{font-size:var(--fs-12);color:var(--text-tertiary);flex-wrap:wrap;gap:12px;margin-top:3px;display:flex}.tl-card .mid .meta .who{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.tl-card .mid .meta .who .av{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:700;display:flex}.tl-card .mid .meta .sha{font-family:var(--font-mono);color:var(--text-tertiary);background:var(--bg-elevated);border-radius:4px;padding:1px 6px;font-size:11px}.tl-card .right{align-items:center;gap:12px;display:flex}.tl-counts{font-family:var(--font-mono);gap:4px;font-size:11px;display:flex}.tl-counts span{border-radius:4px;padding:2px 7px;font-weight:600}.tl-counts .a{color:var(--success-soft);background:#22c55e1a}.tl-counts .c{color:var(--warning-soft);background:#f59e0b1a}.tl-counts .r{color:var(--danger-soft);background:#ef44441a}.tl-card .caret{width:26px;height:26px;color:var(--text-tertiary);background:var(--bg-elevated);border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex}.tl-card.open .caret{color:var(--accent-primary);transform:rotate(90deg)}.tl-card>header{cursor:pointer}.tl-card>header:hover{background-color:#5b8cff08}.tl-card-body{flex-direction:column;gap:6px;padding:14px 20px 18px;display:flex}.tl-change{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-base);overflow:hidden}.tl-change>header{cursor:pointer;grid-template-columns:22px minmax(0,1.1fr) 2fr 80px 18px;align-items:center;gap:12px;padding:10px 14px;display:grid}.tl-change>header:hover{background:var(--bg-hover)}.tl-change.open>header{background:var(--bg-hover);border-bottom:1px solid var(--border-subtle)}.tl-change .sym{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:flex}.tl-change .sym.added{color:var(--success-soft);background:#22c55e2e}.tl-change .sym.changed{color:var(--warning-soft);background:#f59e0b2e}.tl-change .sym.removed{color:var(--danger-soft);background:#ef44442e}.tl-change .tgt{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text-primary);flex-direction:column;gap:2px;min-width:0;display:flex}.tl-change .tgt .sql{font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-regular);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tl-change .note{font-size:var(--fs-12);color:var(--text-secondary);text-wrap:pretty;line-height:1.45}.tl-change .scope-chip{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-tertiary);text-align:center;padding:2px 8px;font-size:10px;font-weight:600}.tl-change .expand{color:var(--text-tertiary);text-align:center;font-size:10px;transition:transform .15s}.tl-change.open .expand{color:var(--accent-primary);transform:rotate(90deg)}.tl-diff{background:var(--bg-base);padding:12px 14px 14px}.diff-entity{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--node-bg,#1a1a30);box-shadow:var(--shadow-sm);overflow:hidden}.diff-entity .hd{background:var(--node-header-bg,#232340);border-bottom:1px solid var(--node-border,#2a2a48);align-items:center;gap:10px;padding:8px 12px;display:flex}.diff-entity .hd .accent{border-radius:3px;width:10px;height:10px}.diff-entity .hd .name{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:0}.diff-entity .hd .sub{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-left:auto;font-size:10px}.diff-field{font-size:var(--fs-12);border-top:1px solid #2a2a4880;grid-template-columns:22px 1.3fr 1fr 1.4fr;align-items:center;gap:10px;padding:7px 12px;display:grid}.diff-field:first-of-type{border-top:none}.diff-field.op-add{background:#22c55e0f}.diff-field.op-remove{background:#ef44440f}.diff-field .op{text-align:center;font-family:var(--font-mono);font-size:12px;font-weight:700}.diff-field.op-add .op{color:var(--success-soft)}.diff-field.op-remove .op{color:var(--danger-soft)}.diff-field.op-remove .fname{opacity:.8;text-decoration:line-through}.diff-field .fname{font-family:var(--font-mono);color:var(--text-primary);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.diff-field .ftype{font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:inline-flex}.diff-field .ftype .dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.diff-field .fextra{flex-wrap:wrap;gap:4px;display:flex}.diff-field .badge{font-family:var(--font-mono);letter-spacing:.04em;color:#000;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.diff-field .badge.pk{background:var(--badge-pk)}.diff-field .badge.fk{background:var(--badge-fk);color:#fff}.diff-field .badge.unique{background:var(--badge-unique);color:#fff}.diff-field .badge.auto{background:var(--badge-ai);color:#fff}.diff-field .fk-ref,.diff-field .default{font-family:var(--font-mono);color:var(--text-tertiary);font-size:10px}.diff-field .note-inline{color:var(--text-tertiary);font-size:10px;font-style:italic}.diff-attr-block{padding:0}.diff-attr-hd{background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-primary);align-items:center;gap:10px;padding:8px 12px;display:flex}.diff-attr-hd .label{font-weight:var(--fw-semibold)}.diff-attr-hd .ftype-chip{font-family:var(--font-mono);background:var(--bg-surface);color:var(--text-secondary);border-radius:3px;padding:1px 6px;font-size:10px}.diff-attr-table{grid-template-columns:120px 1fr 28px 1fr;gap:0;display:grid}.diff-attr-table>div{font-size:var(--fs-12);border-top:1px solid #2a2a4880;align-items:center;padding:8px 12px;display:flex}.diff-attr-table>div:nth-child(-n+4){border-top:none}.diff-attr-table .k{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.diff-attr-table .before{font-family:var(--font-mono);color:var(--danger-soft);background:#ef44440f;-webkit-text-decoration:line-through #fca5a566;text-decoration:line-through #fca5a566}.diff-attr-table .arrow{color:var(--text-tertiary);background:var(--bg-base);justify-content:center}.diff-attr-table .after{font-family:var(--font-mono);color:var(--success-soft);background:#22c55e0f}.diff-enum{background:var(--node-bg,#1a1a30);grid-template-columns:1fr 28px 1fr;gap:0;display:grid}.diff-enum .side{flex-direction:column;gap:4px;padding:10px 14px;display:flex}.diff-enum .side .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:var(--fw-semibold);margin-bottom:4px}.diff-enum .side.before{background:#ef44440f}.diff-enum .side.after{background:#22c55e0f}.diff-enum .arrow{color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.diff-enum .val{font-family:var(--font-mono);font-size:var(--fs-12);align-items:center;gap:8px;padding:3px 0;display:flex}.diff-enum .val .mk{text-align:center;width:12px;font-weight:700}.diff-enum .val.same{color:var(--text-secondary)}.diff-enum .val.rm{color:var(--danger-soft);-webkit-text-decoration:line-through #fca5a566;text-decoration:line-through #fca5a566}.diff-enum .val.add,.diff-enum .val.add .mk{color:var(--success-soft)}.diff-enum .val.rm .mk{color:var(--danger-soft)}.diff-rel{background:var(--node-bg,#1a1a30);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 14px;display:grid}.diff-rel .side{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px}.diff-rel .side .k{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:var(--fw-semibold);margin-bottom:4px}.diff-rel .side .v{font-family:var(--font-mono);font-size:var(--fs-13);color:var(--text-primary);font-weight:var(--fw-medium)}.diff-rel .mid{flex-direction:column;align-items:center;gap:4px;display:flex}.diff-rel .mid .arrow-box{border:1.5px solid var(--accent-primary);width:42px;height:26px;color:var(--accent-primary);background:#5b8cff14;border-radius:6px;justify-content:center;align-items:center;display:flex}.diff-rel .mid .lab{color:var(--text-tertiary);letter-spacing:.05em;font-size:10px}.diff-rel .mid .card{font-family:var(--font-mono);color:var(--text-secondary);font-size:10px}.tl-warnings{border-radius:var(--radius-md);background:#f59e0b12;border:1px solid #f59e0b33;margin-top:12px;padding:10px 14px}.tl-warnings .hd{letter-spacing:.1em;text-transform:uppercase;color:var(--warning-soft);align-items:center;gap:6px;margin-bottom:6px;font-size:10px;font-weight:700;display:inline-flex}.tl-warnings ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tl-warnings li{color:var(--text-secondary);grid-template-columns:48px 1fr;gap:10px;font-size:11px;display:grid}.tl-warnings code{font-family:var(--font-mono);color:var(--warning-soft);background:#0003;border-radius:4px;padding:1px 6px;font-size:10px}.tl-warnings .tgt{font-family:var(--font-mono);color:var(--text-primary);font-size:11px}.tl-cap{color:var(--text-tertiary);font-size:var(--fs-12);margin-top:-6px;padding-left:44px;position:relative}.tl-cap:before{content:"";background:var(--bg-base);border:2px dashed var(--border-default);border-radius:50%;width:16px;height:16px;position:absolute;top:3px;left:6px}.tl-filter{align-items:center;gap:10px;padding:14px 40px 0;display:flex}.tl-filter .chip{font-size:var(--fs-11);font-weight:var(--fw-medium);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:4px 10px;transition:all .12s;display:inline-flex}.tl-filter .chip .d{opacity:.6;background:currentColor;border-radius:50%;width:8px;height:8px}.tl-filter .hint{font-size:var(--fs-11);color:var(--text-tertiary)}@media (width<=960px){.tl-body{grid-template-columns:1fr}.tl-rail{position:static}}.tl-toolbar-actions .btn-primary{border-radius:var(--radius-md);height:36px;font-size:var(--fs-13);font-weight:var(--fw-semibold);cursor:pointer;background:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary);align-items:center;gap:8px;padding:0 16px;font-family:inherit;transition:all .12s;display:inline-flex}.tl-toolbar-actions .btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px #5b8cff59}.tl-toolbar-actions svg{font-size:12px}.tl-filter .chip{font-family:inherit;font-size:var(--fs-11);font-weight:var(--fw-medium);border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:6px;padding:5px 11px;transition:all .12s;display:inline-flex}.tl-filter .chip:hover{background:var(--bg-hover);color:var(--text-primary)}.tl-filter .chip.on{background:var(--accent-subtle);color:var(--accent-primary)}.tl-filter .chip .d{border-radius:50%;width:8px;height:8px}.tl-filter .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:var(--fw-semibold);margin-right:4px}.tl-filter .sep{flex:1}.tl-filter .hint{font-size:var(--fs-11);color:var(--text-tertiary);align-items:center;display:inline-flex}.ov-eyebrow.sm{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:8px;display:inline-flex}.ov-eyebrow.sm svg{color:var(--accent-primary);font-size:10px}.ov-eyebrow.sm .dot{color:var(--text-disabled)}.mode-toggle.big{box-sizing:border-box;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);align-items:stretch;gap:2px;height:28px;padding:2px;display:inline-flex}.mode-toggle.big .seg{border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:0 10px;line-height:1;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.mode-toggle.big .seg svg{font-size:10px}.mode-toggle.big .seg:hover{color:var(--text-primary)}.mode-toggle.big .seg.on{color:var(--draft-accent);background:linear-gradient(135deg,#a855f72e,#5b8cff2e);box-shadow:inset 0 0 0 1px #a855f759}.mode-toggle.big .seg.on:hover{color:var(--draft-accent)}@media (width<=720px){.mode-toggle.big .seg span{display:none}.mode-toggle.big .seg{padding:0 8px}}.project-detail-page{background:#0a0a16;min-height:100vh;padding:1.25rem 3.5rem 2.5rem}.content-area:has(.project-detail-page){background:#0a0a16}.content-area:has(.project-detail-page) .content-area-inner{max-width:1400px}.project-detail-loading{color:var(--text-secondary);justify-content:center;align-items:center;padding:4rem;font-size:.875rem;display:flex}.project-detail-error{background:var(--danger-bg);color:var(--danger);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.6rem .75rem;font-size:.8125rem;display:flex}.error-dismiss{color:var(--danger);cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 .25rem;font-size:1.125rem;line-height:1}.error-dismiss:hover{opacity:1}.project-open-editor-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.project-open-editor-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.editable-title{cursor:pointer;border-bottom:1px dashed #0000;transition:border-color .15s}.editable-title:hover{border-bottom-color:var(--text-tertiary)}.inline-edit-name{align-items:center;display:inline-flex}.inline-edit-input{color:var(--text-primary);background:var(--bg-input);border:1px solid var(--accent-primary);border-radius:4px;outline:none;width:320px;max-width:100%;padding:.25rem .5rem;font-size:1.25rem;font-weight:700}.project-columns{grid-template-columns:280px 1fr;align-items:start;gap:1.25rem;display:grid}.project-col-left{flex-direction:column;gap:1rem;display:flex}.project-col-right{flex-direction:column;gap:1rem;min-width:0;display:flex}.project-nav-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--content-radius);flex-direction:column;gap:.125rem;padding:.375rem;display:flex}.project-nav-item{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.625rem;padding:.625rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex}.project-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.project-nav-item.active{background:var(--accent-subtle);color:var(--accent-primary);font-weight:600}.project-nav-icon{flex-shrink:0;width:14px;font-size:.8125rem}.project-info-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--content-radius);padding:.5rem 1rem}.project-info-card-title{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);margin-bottom:.5rem;padding:.625rem 0;font-size:.9375rem;font-weight:600}.project-description{color:var(--text-secondary);min-height:1.5rem;margin:0;padding:.375rem 0;font-size:.8125rem;line-height:1.6}.project-description.editable{cursor:pointer;border-radius:6px;padding:.375rem .5rem;transition:background .15s}.project-description.editable:hover{background:var(--bg-hover)}.desc-edit{flex-direction:column;gap:.5rem;padding:.375rem 0;display:flex}.desc-edit-textarea{width:100%;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--accent-primary);resize:vertical;box-sizing:border-box;border-radius:6px;outline:none;padding:.625rem;font-family:inherit;font-size:.8125rem;line-height:1.6}.desc-edit-actions{justify-content:flex-end;gap:.5rem;display:flex}.project-metadata{padding:.25rem 0}.metadata-row{justify-content:space-between;padding:.375rem 0;font-size:.8125rem;display:flex}.metadata-row+.metadata-row{border-top:1px solid var(--border-subtle)}.metadata-label{color:var(--text-tertiary)}.metadata-value{color:var(--text-primary);font-weight:500}.project-stats-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--content-radius);padding:.5rem 1rem 1rem}.project-stats-row{grid-template-columns:repeat(3,1fr);gap:.75rem;padding-top:.5rem;display:grid}.project-chart-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--content-radius);padding:.5rem 1rem 1rem}.tab-loading,.tab-empty{text-align:center;color:var(--text-tertiary);padding:2rem 0;font-size:.8125rem}.versions-tab{flex-direction:column;gap:0;padding-left:36px;display:flex;position:relative}.versions-tab:before{content:"";background:linear-gradient(180deg, #5b8cff59 0%, var(--border-default) 60px, var(--border-default) calc(100% - 40px), transparent 100%);width:2px;position:absolute;top:8px;bottom:8px;left:13px}.version-row{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);margin-bottom:14px;transition:border-color .15s;position:relative;overflow:hidden}.version-row:before{content:"";background:var(--bg-base);border:2px solid var(--border-strong);z-index:1;border-radius:50%;width:16px;height:16px;position:absolute;top:18px;left:-30px}.version-row:first-child:before{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-subtle)}.version-row.expanded{border-color:var(--border-default)}.version-row-header{width:100%;color:var(--text-primary);font-size:var(--fs-13);text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:16px auto 1fr auto auto;align-items:center;gap:14px;padding:14px 20px;transition:background .15s;display:grid}.version-row-header:hover{background:var(--bg-hover)}.version-expand-icon{color:var(--text-tertiary);justify-self:center;font-size:11px}.version-number{font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--accent-primary);background:var(--accent-subtle);border-radius:var(--radius-pill);text-align:center;min-width:2.5rem;padding:3px 10px}.version-desc{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-medium);overflow:hidden}.version-meta{color:var(--text-tertiary);font-size:var(--fs-12);white-space:nowrap;flex-shrink:0}.version-ops{border-top:1px solid var(--border-subtle);background:0 0;padding:.75rem 1rem}.ops-table{border-collapse:collapse;width:100%;font-size:.8125rem}.ops-table th{text-align:left;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);padding:.375rem .5rem;font-size:.6875rem;font-weight:500}.ops-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:.5rem}.ops-table tr:last-child td{border-bottom:none}.op-desc{color:var(--text-secondary)}.op-user{color:var(--text-tertiary);white-space:nowrap}.source-badge{white-space:nowrap;background:var(--bg-hover);color:var(--text-secondary);border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-block}.source-badge.source-manual_edit{color:#818cf8;background:#6366f126}.source-badge.source-ai_generate,.source-badge.source-ai_update{color:var(--badge-default);background:#8b5cf626}.source-badge.source-mixed{color:var(--warning);background:#f59e0b26}.source-badge.source-rollback{color:#f87171;background:#ef444426}.source-badge.source-import{color:var(--success);background:#22c55e26}.op-badge{white-space:nowrap;border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.op-badge.op-add_entity{color:var(--success);background:#22c55e26}.op-badge.op-modify_entity{color:var(--warning);background:#f59e0b26}.op-badge.op-remove_entity{color:#f87171;background:#ef444426}.grant-form{border:1px solid var(--border-subtle);background:0 0;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.grant-form-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9375rem;font-weight:700;display:flex}.grant-error{background:var(--danger-bg);color:var(--danger);border-radius:10px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.8125rem}.grant-form-fields{align-items:flex-start;gap:.625rem;display:flex}.grant-input{background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);border-radius:10px;outline:none;flex:1;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.grant-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.grant-input::placeholder{color:var(--text-tertiary)}.grant-role-combobox{flex-shrink:0;width:140px}.grant-form .btn-primary{white-space:nowrap;border-radius:10px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600}.perm-user-cell{align-items:center;gap:.5rem;display:flex}.perm-avatar{background:var(--accent-subtle);width:28px;height:28px;color:var(--accent-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.perm-role-combobox{flex-shrink:0;width:130px}.perm-scope-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.perm-scope-badge--user{color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary) 12%, transparent)}.perm-scope-badge--team{color:var(--text-secondary);background:var(--bg-tertiary,color-mix(in srgb, var(--text-secondary) 12%, transparent))}.grant-mode-tabs{border-bottom:1px solid var(--border-subtle);gap:0;margin-bottom:1rem;display:flex}.permissions-tab .data-table-wrapper{border:1px solid var(--border-subtle);background:0 0;border-radius:12px}.permissions-tab .data-table th,.permissions-tab .data-table td{border-bottom-color:var(--border-subtle)}.permissions-tab .data-table tbody tr:last-child td{border-bottom:none}.permissions-tab .data-table-footer{border-top-color:var(--border-subtle)}.grant-form .btn-primary{border-radius:999px}.grant-target-combobox{flex:1;min-width:200px}.settings-tab-section{border:1px solid var(--border-subtle);background:0 0;border-radius:12px;margin-bottom:1rem}.settings-tab-section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);background:0 0;border-radius:12px 12px 0 0;margin:0;padding:1rem 1.5rem;font-size:.875rem;font-weight:700}.settings-tab-section-body{padding:1.25rem 1.5rem}.settings-tab-hint{color:var(--text-tertiary);margin:0 0 .75rem;font-size:.8125rem}.settings-tab-input{background:var(--bg-input);border:1px solid var(--border-default);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.settings-tab-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-subtle)}.settings-tab-actions{justify-content:flex-end;margin-bottom:1rem;display:flex}.settings-tab-actions .btn-primary{border-radius:10px;padding:.625rem 1.5rem;font-size:.875rem;font-weight:600;transition:background .15s,transform .1s}.settings-tab-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px)}.settings-tab .settings-field{margin-bottom:.75rem}.settings-tab .settings-field:last-child{margin-bottom:0}.settings-tab .settings-field-label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.settings-tab .settings-checkbox-row{color:var(--text-primary);cursor:pointer;align-items:center;gap:.625rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.settings-tab .settings-checkbox-row input[type=checkbox]{appearance:none;border:1.5px solid var(--border-default);background:var(--bg-input);cursor:pointer;border-radius:5px;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s;position:relative}.settings-tab .settings-checkbox-row input[type=checkbox]:checked{background:var(--accent-primary);border-color:var(--accent-primary)}.settings-tab .settings-checkbox-row input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.settings-tab .settings-timestamp-row{gap:.5rem;display:flex}.danger-zone{border:1px solid var(--danger);border-radius:16px;margin-top:2rem;padding:1.25rem 1.5rem}.danger-title{color:var(--danger)}.danger-zone-content{justify-content:space-between;align-items:center;gap:1rem;display:flex}.danger-zone-text{color:var(--text-secondary);font-size:.8125rem}.danger-zone-text strong{color:var(--text-primary);margin-bottom:.25rem;display:block}.danger-zone-text p{margin:0;line-height:1.4}.overview-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.btn-danger{color:var(--danger);border:1px solid var(--danger);cursor:pointer;white-space:nowrap;background:0 0;border-radius:10px;align-items:center;gap:.375rem;padding:.5625rem 1.125rem;font-size:.875rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-danger:hover{background:var(--danger-bg)}@media (width<=768px){.project-columns{grid-template-columns:1fr}.project-nav-card{flex-direction:row;gap:0;overflow-x:auto}.project-nav-item{white-space:nowrap;flex-shrink:0}.project-stats-row{grid-template-columns:1fr}.grant-form-fields{flex-direction:column;align-items:stretch}.danger-zone-content{flex-direction:column;align-items:flex-start}.version-row-header{flex-wrap:wrap}.version-desc{order:10;width:100%}}.pd-hero{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:0;padding:8px 0 20px;display:flex;position:relative}.pd-hero-main{flex:1;min-width:0}.pd-eyebrow{font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:8px;margin-bottom:10px;display:inline-flex}.pd-eyebrow svg{color:var(--accent-primary)}.pd-eyebrow-dot{color:var(--text-disabled)}.pd-eyebrow-slug{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--text-secondary);font-weight:var(--fw-regular)}.pd-title{font-family:var(--font-display);font-size:clamp(24px,2.5vw,30px);font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);color:var(--text-primary);text-wrap:balance;margin:0 0 10px}.pd-lede{font-size:var(--fs-15);line-height:var(--lh-loose);color:var(--text-secondary);text-wrap:pretty;max-width:720px;margin:0 0 18px}.pd-description-text{font-size:var(--fs-14);color:var(--text-tertiary);max-width:600px;margin:0}.pd-hero-chips{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.pd-tech-chip{border-radius:var(--radius-pill);background:var(--bg-surface);border:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.pd-tech-chip svg{color:var(--text-tertiary);font-size:10px}.pd-tech-chip .d{background:var(--text-tertiary);border-radius:50%;flex-shrink:0;width:6px;height:6px}.pd-tech-chip.ok{color:var(--success-soft);background:#22c55e14;border-color:#22c55e40}.pd-tech-chip.ok .d{background:var(--success-vibrant);box-shadow:0 0 6px var(--success-vibrant)}.pd-tech-chip.warn{color:var(--warning-soft);background:#f59e0b14;border-color:#f59e0b40}.pd-tech-chip.warn .d{background:var(--warning)}.pd-tech-chip.err{color:var(--danger-soft);background:#ef444414;border-color:#ef444440}.pd-tech-chip.err .d{background:var(--danger)}.pd-panel{border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:1rem;padding:1.25rem 1.5rem}.pd-panel .dash-section-title{margin-top:0}.pd-panel-borderless{border:none;padding:1.25rem .75rem}.pd-stats-row{margin-bottom:var(--space-6);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.pd-stat-card{border-right:1px solid var(--border-subtle);flex-direction:column;align-items:flex-start;gap:4px;padding:18px 22px;display:flex}.pd-stat-card:last-child{border-right:none}.pd-stat-label{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:0}.pd-stat-value{font-size:var(--fs-28);font-weight:var(--fw-bold);color:var(--success-vibrant);font-feature-settings:"tnum";margin-bottom:8px;line-height:1}.pd-stat-version{color:var(--text-primary)}.pd-home-columns{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.pd-home-col{min-width:0}.pd-ops-feed{flex-direction:column;display:flex}.pd-ops-item{align-items:center;gap:.5rem;min-width:0;padding:.5rem 0;display:flex}.pd-ops-entity{color:var(--text-primary);flex-shrink:0;font-size:.8125rem;font-weight:600}.pd-ops-desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8125rem;overflow:hidden}.pd-ops-meta{color:var(--text-tertiary);flex-shrink:0;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.pd-details-grid{grid-template-columns:auto 1fr;gap:.5rem 1.5rem;font-size:.8125rem;display:grid}.pd-detail-label{color:var(--text-tertiary)}.pd-detail-value{color:var(--text-primary);font-weight:500}.pd-description-body{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.6}.pd-description-body.editable{cursor:pointer}.pd-description-body.editable:hover{color:var(--text-primary)}.pd-team-list{flex-direction:column;gap:.625rem;display:flex}.pd-team-row{align-items:center;gap:.75rem;display:flex}.pd-team-avatar{background:var(--accent-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:600;display:flex}.pd-team-name{color:var(--text-primary);flex:1;font-size:.8125rem}.pd-tabs{border-bottom:1px solid var(--border-subtle);gap:0;margin-bottom:2rem;display:flex}.pd-tab{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:color .12s,border-color .12s}.pd-tab:hover{color:var(--text-secondary)}.pd-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.pd-tb-crumb-link{cursor:pointer;color:var(--text-primary);font-weight:600}.pd-tb-crumb-link:hover{color:var(--accent-primary)}.pd-tb-ver{font-family:var(--font-mono);background:var(--bg-elevated);color:var(--text-secondary);border-radius:8px;margin-left:4px;padding:2px 7px;font-size:.625rem}.pd-tb-action{border-radius:var(--radius-md);background:var(--bg-surface);height:28px;color:var(--text-primary);border:1px solid var(--border-default);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:.8125rem;font-weight:600;transition:background .12s;display:inline-flex}.pd-tb-action:hover{background:var(--bg-hover)}.pd-home-active{padding:0!important}.pd-home-active .pd-tab-content{padding:0}.content-area:has(.pd-home-active) .content-area-inner{max-width:none;padding:0}@media (width<=768px){.pd-home-columns,.pd-stats-row{grid-template-columns:1fr}.pd-tabs{overflow-x:auto}}.auth-tabs{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);align-self:flex-start;padding:3px;display:inline-flex}.auth-tab{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-family:inherit;transition:all .12s}.auth-tab.on{background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 1px 2px #0000004d}.auth-otp{justify-content:space-between;gap:10px;display:flex}.auth-otp input{text-align:center;width:52px;height:60px;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-lg);outline:none;font-size:24px;font-weight:600;transition:all .12s}.auth-otp input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle);transform:translateY(-1px)}.auth-otp input.filled{color:var(--accent-primary)}.auth-otp.error input{border-color:var(--danger);animation:.3s auth-shake}@keyframes auth-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.mfa-recovery-input{font-family:var(--font-mono);letter-spacing:.2em;text-align:center;text-transform:uppercase}.invite-loading{color:var(--text-secondary);font-size:var(--fs-14);margin:0}.invite-hint{color:var(--text-secondary);font-size:var(--fs-13);margin:0;line-height:1.5}.invite-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);align-items:center;gap:14px;padding:16px;display:flex}.invite-avatar{width:40px;height:40px;font-size:16px;font-weight:var(--fw-bold);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.invite-meta{flex:1;min-width:0}.invite-org-name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text-primary)}.invite-email{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--text-tertiary);margin-top:1px}.invite-role-pill{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--accent-subtle);color:var(--accent-primary);flex-shrink:0;padding:3px 9px}.invite-actions{flex-direction:column;gap:10px;display:flex}.invite-decline-btn{color:var(--text-tertiary);font-size:var(--fs-13);cursor:pointer;background:0 0;border:none;padding:8px;font-family:inherit;transition:color .15s}.invite-decline-btn:hover:not(:disabled){color:var(--danger)}.invite-decline-btn:disabled{opacity:.4;cursor:default}.mfa-required-card{max-width:480px}.mfa-required-message{text-align:center;margin-bottom:1.5rem}.mfa-required-message p{color:var(--text-secondary);margin:0 0 .5rem;font-size:.875rem;line-height:1.5}.mfa-required-message p:last-child{margin-bottom:0}.mfa-required-actions{flex-direction:column;gap:.75rem;display:flex}.mfa-required-switch{color:var(--text-tertiary);text-align:center;font-size:.8125rem;text-decoration:none;transition:color .15s}.mfa-required-switch:hover{color:var(--accent-primary)}.mfa-required-orgs{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.mfa-required-orgs li{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-primary);justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.mfa-required-orgs-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-primary);background:#5b8cff29;border-radius:999px;padding:3px 8px;font-size:11px}.mfa-required-signout{font:inherit;color:var(--text-tertiary);text-align:center;cursor:pointer;letter-spacing:.02em;background:0 0;border:0;padding:0;font-size:12px;text-decoration:none}.mfa-required-signout:hover{color:var(--accent-error,#ef4444);text-decoration:underline}.mfa-required-signout-row{text-align:center;margin-top:14px}.fb-panel{background:var(--bg-elevated,#181822);border-left:1px solid var(--border-subtle,#ffffff0f);z-index:1000;flex-direction:column;width:400px;max-width:100vw;animation:.18s cubic-bezier(.16,1,.3,1) fb-panel-in;display:flex;position:fixed;inset:0 0 0 auto;box-shadow:-16px 0 40px #0006}@keyframes fb-panel-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.fb-panel__header{border-bottom:1px solid var(--border-subtle,#ffffff0f);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.fb-panel__header h2{font-size:var(--fs-16,16px);font-weight:var(--fw-semibold,600);color:var(--text-primary,#fff);margin:0;line-height:1.3}.fb-panel__header p{font-size:var(--fs-13,13px);color:var(--text-secondary,#ffffff8c);margin:4px 0 0;line-height:1.45}.fb-panel__close{width:30px;height:30px;color:var(--text-secondary,#ffffff8c);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.fb-panel__close:hover{background:var(--bg-hover,#ffffff0d);border-color:var(--border-default,#ffffff14);color:var(--text-primary,#fff)}.fb-panel__body{flex-direction:column;flex:1;gap:20px;min-height:0;padding:20px 24px 16px;display:flex;overflow-y:auto}.fb-field{flex-direction:column;gap:8px;display:flex}.fb-label{font-size:var(--fs-13,13px);font-weight:var(--fw-semibold,600);color:var(--text-primary,#fff);line-height:1.2}.fb-label-row{justify-content:space-between;align-items:baseline;display:flex}.fb-counter,.fb-hint{font-size:var(--fs-12,12px);color:var(--text-tertiary,#fff6);font-variant-numeric:tabular-nums}.fb-counter--over{color:var(--text-danger,#ef4444)}.fb-types{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.fb-type{background:var(--bg-input,#ffffff08);border:1px solid var(--border-subtle,#ffffff12);cursor:pointer;color:var(--text-secondary,#fff9);font-size:var(--fs-12,12px);font-weight:var(--fw-medium,500);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 8px;transition:background .12s,border-color .12s,color .12s,transform .12s;display:flex}.fb-type:hover{background:var(--bg-hover,#ffffff0f);color:var(--text-primary,#fff)}.fb-type:focus-visible{outline:2px solid var(--accent-primary,#6366f1);outline-offset:2px}.fb-type__icon{font-size:16px}.fb-type--active{background:var(--accent-primary-soft,#6366f126);border-color:var(--accent-primary,#6366f1);color:var(--text-primary,#fff)}.fb-type--active .fb-type__icon{color:var(--accent-primary,#818cf8)}.fb-textarea{background:var(--bg-input,#ffffff08);border:1px solid var(--border-subtle,#ffffff12);width:100%;min-height:160px;color:var(--text-primary,#fff);font-family:inherit;font-size:var(--fs-14,14px);resize:vertical;box-sizing:border-box;border-radius:8px;padding:12px 14px;line-height:1.5;transition:border-color .12s,box-shadow .12s}.fb-textarea::placeholder{color:var(--text-tertiary,#ffffff59)}.fb-textarea:focus{border-color:var(--accent-primary,#6366f1);box-shadow:0 0 0 3px var(--accent-primary-soft,#6366f12e);outline:none}.fb-drop{background:var(--bg-input,#ffffff08);border:1px dashed var(--border-default,#ffffff1f);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:16px 14px;transition:background .12s,border-color .12s;display:flex}.fb-drop:hover:not(.fb-drop--disabled){background:var(--bg-hover,#ffffff0d);border-color:var(--accent-primary,#6366f1)}.fb-drop:focus-visible{outline:2px solid var(--accent-primary,#6366f1);outline-offset:2px}.fb-drop--over{background:var(--accent-primary-soft,#6366f11f);border-color:var(--accent-primary,#6366f1)}.fb-drop--disabled{opacity:.55;cursor:not-allowed}.fb-drop__icon{color:var(--text-secondary,#ffffff8c);flex-shrink:0;font-size:18px}.fb-drop__text{flex-direction:column;gap:2px;display:flex}.fb-drop__text strong{font-size:var(--fs-13,13px);font-weight:var(--fw-medium,500);color:var(--text-primary,#fff)}.fb-drop__text span{font-size:var(--fs-12,12px);color:var(--text-tertiary,#fff6)}.fb-thumbs{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.fb-thumb{background:var(--bg-input,#ffffff08);border:1px solid var(--border-subtle,#ffffff12);border-radius:8px;flex-direction:column;display:flex;position:relative;overflow:hidden}.fb-thumb img{aspect-ratio:1;object-fit:cover;background:#000;width:100%;display:block}.fb-thumb__remove{color:#fff;cursor:pointer;opacity:0;background:#000000a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;transition:opacity .12s,background .12s;display:inline-flex;position:absolute;top:4px;right:4px}.fb-thumb:hover .fb-thumb__remove,.fb-thumb__remove:focus-visible{opacity:1}.fb-thumb__remove:hover{background:var(--text-danger,#ef4444)}.fb-thumb__meta{font-size:var(--fs-11,11px);flex-direction:column;padding:6px 8px;line-height:1.25;display:flex}.fb-thumb__name{color:var(--text-primary,#fff);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fb-thumb__size{color:var(--text-tertiary,#fff6);font-variant-numeric:tabular-nums}.fb-panel__footer{border-top:1px solid var(--border-subtle,#ffffff0f);background:var(--bg-elevated,#181822);flex-direction:column;gap:12px;padding:16px 24px 20px;display:flex}.fb-error{color:var(--text-danger,#ef4444);font-size:var(--fs-13,13px);background:#ef444414;border:1px solid #ef444440;border-radius:6px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;line-height:1.4;display:flex}.fb-submit{background:var(--accent-primary,#6366f1);color:#fff;cursor:pointer;width:100%;font-family:inherit;font-weight:var(--fw-semibold,600);font-size:var(--fs-14,14px);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;transition:background .12s,transform .12s;display:inline-flex}.fb-submit:hover:not(:disabled){background:var(--accent-primary-strong,#818cf8)}.fb-submit:active:not(:disabled){transform:translateY(1px)}.fb-submit:focus-visible{outline:2px solid var(--accent-primary,#6366f1);outline-offset:2px}.fb-submit:disabled{background:var(--bg-muted,#ffffff0f);color:var(--text-tertiary,#ffffff59);cursor:not-allowed}.fb-success{justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.fb-success__banner{border-radius:var(--radius-md,10px);background:var(--success-bg,#22c55e1f);border:1px solid var(--success,#22c55e);color:var(--text-primary,#fff);font-size:var(--fs-14,14px);font-weight:var(--fw-semibold,600);align-items:center;gap:10px;padding:14px 20px;display:flex}.fb-success__icon{color:var(--success,#22c55e);font-size:18px}.feedback-nudge{background:var(--bg-elevated,#fff);border:1px solid var(--border-subtle,#ddd);z-index:999;border-radius:8px;align-items:center;gap:12px;max-width:420px;padding:12px 16px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #0000001f}.feedback-nudge button{border:1px solid var(--border-subtle,#ddd);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:13px}.feedback-nudge button:first-of-type{background:var(--accent-primary,#3b82f6);color:#fff;border-color:#0000}
