:root{--dust-1:oklch(99% .003 346);--dust-2:oklch(96% .004 346);--dust-3:oklch(92% .005 346);--dust-4:oklch(88% .006 346);--dust-5:oklch(80% .008 346);--dust-6:oklch(72% .01 346);--dust-7:oklch(62% .012 346);--dust-8:oklch(52% .014 346);--dust-9:oklch(42% .013 346);--dust-10:oklch(32% .011 346);--dust-11:oklch(25% .009 346);--dust-12:oklch(19% .007 346);--dust-13:oklch(15% .005 346);--dust-14:oklch(11% .003 346);--seafoam-1:oklch(97% .02 180);--seafoam-2:oklch(92% .04 180);--seafoam-3:oklch(85% .07 180);--seafoam-4:oklch(78% .09 180);--seafoam-5:oklch(70% .11 180);--seafoam-6:oklch(62% .12 180);--seafoam-7:oklch(54% .12 180);--seafoam-8:oklch(46% .11 180);--jungle-1:oklch(96% .03 145);--jungle-2:oklch(90% .06 145);--jungle-3:oklch(82% .09 145);--jungle-4:oklch(72% .12 145);--jungle-5:oklch(62% .14 145);--jungle-6:oklch(52% .14 145);--jungle-7:oklch(44% .13 145);--jungle-8:oklch(36% .11 145);--lemon-1:oklch(97% .04 95);--lemon-2:oklch(92% .08 95);--lemon-3:oklch(85% .12 95);--lemon-4:oklch(78% .15 95);--lemon-5:oklch(72% .16 95);--lemon-6:oklch(65% .15 95);--red-1:oklch(96% .03 25);--red-2:oklch(91% .06 25);--red-3:oklch(83% .1 25);--red-4:oklch(74% .14 25);--red-5:oklch(64% .18 25);--red-6:oklch(55% .2 25);--red-7:oklch(47% .19 25);--red-8:oklch(40% .16 25);--red-9:oklch(34% .13 25);--font-ui:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "JetBrains Mono", "Fira Code", Menlo, Monaco, Consolas, monospace;--header-height:40px}:root,.dark-theme{color-scheme:dark;--surface:var(--surface-1);--fg:var(--surface-fg);--fg-muted:var(--surface-fg-muted);--border:var(--surface-1-border);--border-em:var(--surface-1-border-em);--ring:var(--brand);--subtle:color-mix(in oklch, var(--fg) 8%, transparent);--padding:.5rem;--brand:var(--seafoam-8);--brand-fg:var(--seafoam-1);--brand-fg-muted:var(--seafoam-6);--success:var(--jungle-8);--success-fg:var(--jungle-3);--success-fg-muted:var(--jungle-5);--warning:var(--lemon-6);--warning-fg:var(--lemon-1);--warning-fg-muted:var(--lemon-2);--danger:var(--red-6);--danger-fg:var(--red-3);--danger-fg-muted:var(--red-5);--neutral:var(--dust-9);--neutral-fg:var(--surface-fg);--neutral-fg-muted:var(--surface-fg-muted);--surface-1:var(--dust-14);--surface-1-border:var(--dust-12);--surface-1-border-em:var(--dust-10);--surface-2:var(--dust-13);--surface-2-border:var(--dust-11);--surface-2-border-em:var(--dust-9);--surface-3:var(--dust-12);--surface-3-border:var(--dust-10);--surface-3-border-em:var(--dust-8);--surface-fg:var(--dust-2);--surface-fg-muted:var(--dust-7);--shadow-sm:0 1px 2px oklch(0% 0 0/.4);--shadow:0 4px 14px oklch(0% 0 0/.5);--shadow-lg:0 14px 40px oklch(0% 0 0/.6);--_toward-bg:oklch(14% 0 0);--_toward-fg:oklch(99% 0 0);--diagram-fill-brand:oklch(25% .025 180);--diagram-fill-success:oklch(23% .025 145);--diagram-fill-warning:oklch(28% .035 95);--diagram-fill-danger:oklch(24% .03 25);--diagram-fill-orange:oklch(27% .035 50);--diagram-fill-purple:oklch(26% .035 295);--diagram-note-fill:oklch(31% .02 100);--diagram-grid:oklch(80% .008 346)}.light-theme{color-scheme:light;--surface:var(--surface-1);--fg:var(--surface-fg);--fg-muted:var(--surface-fg-muted);--border:var(--surface-1-border);--border-em:var(--surface-1-border-em);--ring:var(--brand);--subtle:color-mix(in oklch, var(--fg) 8%, transparent);--padding:.5rem;--brand:var(--seafoam-8);--brand-fg:var(--seafoam-1);--brand-fg-muted:var(--seafoam-6);--success:var(--jungle-8);--success-fg:var(--jungle-3);--success-fg-muted:var(--jungle-5);--warning:var(--lemon-6);--warning-fg:var(--lemon-1);--warning-fg-muted:var(--lemon-2);--danger:var(--red-6);--danger-fg:var(--red-3);--danger-fg-muted:var(--red-5);--neutral:var(--dust-10);--neutral-fg:var(--dust-2);--neutral-fg-muted:var(--dust-4);--surface-1:var(--dust-4);--surface-1-border:var(--dust-6);--surface-1-border-em:var(--dust-8);--surface-2:var(--dust-3);--surface-2-border:var(--dust-5);--surface-2-border-em:var(--dust-7);--surface-3:var(--dust-2);--surface-3-border:var(--dust-4);--surface-3-border-em:var(--dust-6);--surface-fg:var(--dust-13);--surface-fg-muted:var(--dust-7);--shadow-sm:0 1px 2px oklch(20% .003 346/.08);--shadow:0 4px 12px oklch(20% .003 346/.12);--shadow-lg:0 12px 32px oklch(20% .003 346/.16);--_toward-bg:oklch(99% 0 0);--_toward-fg:oklch(15% 0 0);--diagram-fill-brand:oklch(90% .025 180);--diagram-fill-success:oklch(88% .025 145);--diagram-fill-warning:oklch(91% .04 95);--diagram-fill-danger:oklch(90% .03 25);--diagram-fill-orange:oklch(91% .04 50);--diagram-fill-purple:oklch(90% .035 295);--diagram-note-fill:oklch(94% .02 100);--diagram-grid:oklch(60% .01 346)}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--surface-1);width:100%;height:100%;color:var(--fg);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden}.app-shell{background-color:var(--surface-1);flex-direction:column;width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.app-header{height:var(--header-height);z-index:100;background-color:var(--surface-3);border-bottom:1px solid var(--surface-3-border);position:fixed;top:0;left:0;right:0}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;height:100%;padding:0 .75rem;display:grid}.header-left{justify-self:start;align-items:center;gap:1rem;min-width:0;height:100%;display:flex}.header-brand{align-items:center;height:100%;text-decoration:none;display:flex}.header-signet{width:auto;height:20px;display:block}.project-selector{align-items:center;display:flex;position:relative}.project-selector-btn{height:28px;color:var(--fg-muted);cursor:pointer;white-space:nowrap;background-color:#0000;border:1px solid #0000;border-radius:2px;align-items:center;gap:.3rem;max-width:160px;padding:0 .6rem;font-size:.8125rem;font-weight:500;transition:color .1s,background-color .1s,border-color .1s;display:inline-flex}.project-selector-btn:hover{color:var(--fg);background-color:var(--subtle)}.project-selector-btn[aria-expanded=true]{color:var(--fg);background-color:var(--surface-2);border-color:var(--surface-2-border)}.project-selector-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-selector-chevron{opacity:.5;flex-shrink:0}.project-selector-dropdown{background-color:var(--surface-2);border:1px solid var(--surface-2-border);z-index:200;border-radius:4px;min-width:180px;padding:.35rem 0;position:absolute;top:calc(100% + 2px);left:0;box-shadow:0 4px 16px #00000040}.project-selector-backdrop{z-index:199;position:fixed;inset:0}.project-selector-item{width:100%;color:var(--fg);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.75rem;transition:background-color 80ms;display:flex;overflow:hidden}.project-selector-item:hover{background-color:var(--subtle);color:var(--brand)}.project-selector-item-active{font-weight:600}.project-selector-check{color:var(--brand);flex-shrink:0}.project-selector-check-placeholder{flex-shrink:0;width:12px;display:inline-block}.project-selector-divider{background-color:var(--surface-2-border);height:1px;margin:.25rem 0}.project-selector-new{width:100%;color:var(--fg-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:.3rem .6rem;font-size:.75rem;transition:background-color 80ms;display:block}.project-selector-new:hover{background-color:var(--subtle);color:var(--brand)}.project-selector-create{align-items:center;gap:.4rem;padding:.25rem .5rem;display:flex}.project-selector-input{flex:1;min-width:0;height:24px;padding:.2rem .4rem;font-size:.75rem}.project-selector-confirm{white-space:nowrap;height:24px;padding:.2rem .5rem;font-size:.75rem}.app-nav{justify-self:center;align-items:center;height:100%;display:flex}.nav-tabs-group{align-items:center;gap:.25rem;height:100%;display:flex}.nav-tab{height:28px;color:var(--fg-muted);white-space:nowrap;background-color:#0000;border:1px solid #0000;border-radius:2px;align-items:center;gap:.35rem;padding:0 .6rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .1s,background-color .1s,border-color .1s;display:inline-flex}.nav-tab:hover{color:var(--fg);background-color:var(--subtle)}.nav-tab.nav-tab-dashboard{margin-right:0}.nav-tab-index{font-family:var(--font-mono);color:var(--fg-muted);font-size:.6875rem}.nav-tab-icon{color:var(--fg-muted);flex-shrink:0}.nav-tab.nav-tab-active .nav-tab-icon,.nav-tab[aria-current=page] .nav-tab-icon{color:var(--fg)}.nav-tab.nav-tab-active,.nav-tab[aria-current=page]{color:var(--fg);background-color:var(--surface-2);border-color:var(--surface-2-border)}.nav-tab.nav-tab-active .nav-tab-index,.nav-tab[aria-current=page] .nav-tab-index{color:var(--fg)}.header-right{justify-content:flex-end;justify-self:end;align-items:center;gap:.65rem;min-width:0;height:100%;display:flex}.btn-theme-toggle{background-color:var(--surface-2);border:1px solid var(--surface-2-border);width:26px;height:26px;color:var(--fg-muted);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:0;transition:color .1s,background-color .1s,border-color .1s;display:inline-flex}.btn-theme-toggle:hover{color:var(--fg);background-color:var(--surface-1);border-color:var(--surface-2-border-em)}.theme-icon{display:block}.header-auth{align-items:center;display:flex}.btn-login{height:26px;font-family:var(--font-ui);color:var(--fg);background-color:var(--surface-2);border:1px solid var(--surface-2-border);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:0 .65rem;font-size:.8125rem;font-weight:500;line-height:1;transition:background-color .1s,border-color .1s;display:inline-flex}.btn-login:hover{background-color:var(--surface-1);border-color:var(--surface-2-border-em)}.auth-session{align-items:center;gap:.6rem;display:flex}.auth-user-name{color:var(--fg);font-size:.8125rem;font-weight:500}.auth-logout-form{margin:0}.btn-logout{width:26px;height:26px;color:var(--fg-muted);background-color:var(--surface-2);border:1px solid var(--surface-2-border);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:0;transition:opacity .1s,color .1s,border-color .1s,background-color .1s;display:inline-flex}.btn-logout:hover{opacity:.85;color:var(--fg);border-color:var(--brand);background-color:var(--surface-3)}.btn-logout:disabled{opacity:.6;cursor:default}.logout-icon{flex-shrink:0;display:block}.auth-modal-backdrop{z-index:200;background-color:color-mix(in oklch, var(--dust-14) 70%, transparent);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.auth-modal-dialog{background-color:var(--surface-2);border:1px solid var(--surface-2-border);width:100%;max-width:360px;box-shadow:var(--shadow);border-radius:4px;overflow:hidden}.auth-modal-header{background-color:var(--surface-3);border-bottom:1px solid var(--surface-3-border);justify-content:space-between;align-items:center;padding:.6rem .85rem;display:flex}.auth-modal-title{color:var(--fg);font-size:.8125rem;font-weight:600}.btn-modal-close{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:.8125rem;line-height:1}.btn-modal-close:hover{color:var(--fg)}.auth-modal-body{padding:1rem}.form-group{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}.form-label{color:var(--fg-muted);font-size:.75rem}.form-select{background-color:var(--surface-1);border:1px solid var(--surface-1-border);width:100%;color:var(--fg);font-family:var(--font-ui);border-radius:2px;outline:none;padding:.4rem .5rem;font-size:.8125rem}.form-input{background-color:var(--surface-1);border:1px solid var(--surface-1-border);width:100%;color:var(--fg);font-family:var(--font-ui);box-sizing:border-box;border-radius:2px;outline:none;padding:.4rem .5rem;font-size:.8125rem}.form-input:focus{border-color:var(--ring)}.auth-form-error{color:var(--danger-fg);margin:0 0 .5rem;font-size:.75rem}.login-page{background:radial-gradient(circle at 50% 20%, color-mix(in oklch, var(--brand) 12%, transparent), transparent 60%);justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.login-card{background-color:var(--surface-2);border:1px solid var(--surface-2-border);width:100%;max-width:340px;box-shadow:var(--shadow-lg);border-radius:4px;flex-direction:column;padding:1.5rem;display:flex}.login-brand{justify-content:center;margin-bottom:1rem;display:flex}.login-signet{width:auto;height:40px}.login-title{color:var(--fg);margin:0 0 .25rem;font-size:1.1rem}.login-subtitle{color:var(--fg-muted);margin:0 0 1.25rem;font-size:.8125rem}.login-submit{width:100%;margin-top:.25rem}.login-divider{align-items:center;gap:.6rem;margin:1rem 0 0;display:flex}.login-divider:before,.login-divider:after{content:"";background-color:var(--surface-2-border);flex:1;height:1px}.login-divider-text{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);font-size:.7rem}.btn-sso{width:100%;font-family:var(--font-ui);color:var(--fg);background-color:var(--surface-1);border:1px solid var(--surface-1-border);cursor:pointer;border-radius:2px;margin-top:.75rem;padding:.4rem .8rem;font-size:.75rem;font-weight:600}.btn-sso:hover{border-color:var(--brand);color:var(--brand)}.btn-sso:disabled{opacity:.7;cursor:default}.form-select:focus{border-color:var(--ring)}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.btn-primary{font-family:var(--font-ui);color:var(--brand-fg);background-color:var(--brand);border:1px solid var(--brand);cursor:pointer;border-radius:2px;padding:.4rem .8rem;font-size:.75rem;font-weight:600}.btn-primary:hover{opacity:.9}.btn-secondary{font-family:var(--font-ui);color:var(--fg);background-color:var(--surface-1);border:1px solid var(--surface-1-border);cursor:pointer;border-radius:2px;padding:.4rem .8rem;font-size:.75rem;font-weight:500}.btn-secondary:hover{background-color:var(--subtle)}.app-main{margin-top:var(--header-height);height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));background-color:var(--surface-1);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.page-container{flex-direction:column;flex:1;min-height:0;display:flex}.pricing-page{flex-direction:column;flex:1;min-height:0;padding:1rem;display:flex}.pricing-frame-container{border:1.5px solid var(--surface-3-border);border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pricing-frame-bar{background:var(--surface-3);border-bottom:1.5px solid var(--surface-3-border);flex-shrink:0;align-items:center;gap:.75rem;padding:.4rem .75rem;display:flex}.pricing-frame-label{color:var(--fg-muted);flex:1;font-size:.75rem;font-style:italic;font-weight:500}.pricing-iframe-area{background:#fff;flex:1;min-height:0;position:relative}.pricing-iframe{border:none;width:100%;height:100%;display:block;position:absolute;inset:0}.pricing-empty{height:100%;color:var(--fg-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;font-size:.875rem;display:flex}.doc-page{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:1rem;display:flex}.doc-tab-strip{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.doc-tabs{scrollbar-width:none;flex:1;align-items:center;gap:.35rem;min-width:0;display:flex;overflow-x:auto}.doc-tabs::-webkit-scrollbar{display:none}.doc-tab{border:1px solid var(--surface-2-border);background:var(--surface-2);height:30px;color:var(--fg-muted);font-family:var(--font-ui);cursor:pointer;white-space:nowrap;border-radius:3px;flex-shrink:0;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.8125rem;font-weight:500;transition:background-color .1s,color .1s,border-color .1s;display:inline-flex}.doc-tab:hover{background:var(--subtle);color:var(--fg)}.doc-tab.doc-tab-active{background:var(--surface-1);border-color:var(--surface-1-border);color:var(--fg)}.doc-tab-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:2px;padding:1px 5px;font-size:.65rem;font-weight:600}.doc-tab-badge-datasheet{background:color-mix(in oklch, var(--brand) 18%, transparent);color:var(--brand)}.doc-tab-badge-manual{background:color-mix(in oklch, var(--warning) 18%, transparent);color:var(--warning)}.doc-tab-badge-other{background:var(--subtle);color:var(--fg-muted)}.doc-add-btn{flex-shrink:0}.doc-frame-container{border:1.5px solid var(--surface-3-border);border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.doc-frame-bar{background:var(--surface-3);border-bottom:1.5px solid var(--surface-3-border);flex-shrink:0;align-items:center;gap:.75rem;padding:.4rem .75rem;display:flex}.doc-frame-title{color:var(--fg);flex-shrink:0;font-size:.8125rem;font-weight:600}.doc-frame-desc{color:var(--fg-muted);flex-shrink:0;font-size:.75rem;font-style:italic}.doc-frame-url{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.75rem;text-decoration:none;overflow:hidden}.doc-frame-url:hover{color:var(--accent);text-decoration:underline}.doc-frame-actions{flex-shrink:0;gap:.4rem;display:flex}.doc-iframe-area{background:#fff;flex:1;min-height:0;position:relative}.doc-iframe{border:none;width:100%;height:100%;display:block;position:absolute;inset:0}.doc-empty{color:var(--fg-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.4rem;font-size:.875rem;display:flex}.doc-form-dialog{max-width:520px}.doc-form-body{flex-direction:column;gap:1rem;display:flex}.doc-form-field{flex-direction:column;gap:.3rem;display:flex}.doc-form-label{color:var(--fg);font-size:.75rem;font-weight:600}.doc-form-optional{color:var(--fg-muted);font-weight:400}.doc-form-input,.doc-form-select{font-family:var(--font-ui);color:var(--fg);background:var(--surface-1);border:1px solid var(--surface-1-border);border-radius:3px;outline:none;width:100%;padding:.35rem .5rem;font-size:.8125rem;transition:border-color .1s}.doc-form-input:focus,.doc-form-select:focus{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.doc-form-textarea{resize:vertical;min-height:3rem}.doc-form-hint{color:var(--fg-muted);margin:0;font-size:.7rem;line-height:1.4}.doc-form-hint code{font-family:var(--font-mono,monospace);background:var(--subtle);border-radius:2px;padding:0 3px;font-size:.7rem}.user-page{flex-direction:column;flex:1;min-height:0;display:flex}.subheader{border-bottom:1px solid var(--surface-2-border);background-color:var(--surface-2);flex-shrink:0;align-items:center;gap:.25rem;padding:.375rem .75rem;display:flex}.subtab{height:28px;color:var(--fg-muted);background-color:#0000;border:1px solid #0000;border-radius:2px;align-items:center;padding:0 .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .1s,background-color .1s,border-color .1s;display:inline-flex}.subtab:hover{color:var(--fg);background-color:var(--subtle)}.subtab.subtab-active,.subtab[aria-current=page]{color:var(--fg);background-color:var(--surface-1);border-color:var(--surface-1-border)}.subtab-tag{--tag-color:transparent}.subtab-tag.subtab-active,.subtab-tag[aria-current=page]{background-color:color-mix(in oklch, var(--tag-color) 20%, var(--surface-1));border-color:color-mix(in oklch, var(--tag-color) 40%, transparent);color:var(--fg)}.subtab-tag:not(.subtab-active):hover{background-color:color-mix(in oklch, var(--tag-color) 16%, var(--subtle))}.subtab-tag-dot{background-color:var(--tag-color);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;margin-right:.4rem}.tag-color-swatch{background-color:color-mix(in oklch, var(--tag-color) 18%, transparent);border:1px solid color-mix(in oklch, var(--tag-color) 45%, transparent);color:var(--fg);border-radius:2px;padding:.125rem .45rem;font-size:.6875rem;display:inline-block}.cell-input[type=color]{border:1px solid var(--surface-1-border);background-color:var(--surface-1);cursor:pointer;width:44px;height:26px;padding:0}.requirements-subheader{flex-wrap:wrap;position:relative}.subheader-spacer{flex:1}.btn-tag-edit{border:1px solid var(--surface-1-border);background-color:var(--surface-1);height:28px;color:var(--fg);cursor:pointer;border-radius:2px;align-items:center;padding:0 .75rem;font-size:.8125rem;font-weight:500;transition:background-color .1s,border-color .1s,color .1s;display:inline-flex}.btn-tag-edit:hover{border-color:var(--brand);color:var(--brand)}.confirm-modal-dialog.tags-editor-dialog{flex-direction:column;width:90vw;max-width:800px;height:70vh;padding:0;display:flex}.settings-dialog{width:100%;max-width:480px}.settings-body{flex-direction:column;gap:0;padding:.5rem 1.25rem 1.25rem;display:flex}.settings-section{border-bottom:1px solid var(--surface-2-border);padding:1rem 0}.settings-section:last-child{border-bottom:none}.settings-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin:0 0 .65rem;font-size:.7rem;font-weight:600}.settings-row{justify-content:space-between;align-items:center;gap:1rem;padding:.25rem 0;display:flex}.settings-label{color:var(--fg-muted);font-size:.8125rem}.settings-value{color:var(--fg);font-variant-numeric:tabular-nums;font-size:.8125rem}.settings-description{color:var(--fg-muted);margin:0 0 .65rem;font-size:.8rem;line-height:1.4}.settings-backup-btn{align-items:center;display:inline-flex}.settings-shortcuts{grid-template-columns:1fr 1fr;gap:.3rem 1rem;display:grid}.settings-shortcut-row{align-items:center;gap:.5rem;display:flex}.settings-kbd{min-width:1.5rem;height:1.5rem;font-family:var(--font-mono,monospace);color:var(--fg);background:var(--surface-2);border:1px solid var(--surface-2-border);border-bottom-width:2px;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0 .35rem;font-size:.7rem;font-weight:600;display:inline-flex}.settings-shortcut-label{color:var(--fg-muted);font-size:.8rem}.tags-editor-body{flex:1;min-height:0;padding:.75rem;display:flex}.tags-editor-body .table-panel{flex:1;min-height:0}.tag-select{background-color:color-mix(in oklch, var(--tag-color,var(--surface-1)) 18%, var(--surface-1));border-color:color-mix(in oklch, var(--tag-color,var(--surface-1)) 45%, var(--surface-1-border));max-width:160px;transition:background-color .1s,border-color .1s}.tag-cell{align-items:center;display:flex;position:relative}.tag-cell-display{flex-wrap:wrap;flex:1;align-items:center;gap:.25rem;min-width:0;display:flex}.tag-cell-badge{white-space:nowrap;background-color:color-mix(in oklch, var(--tag-color) 18%, transparent);border:1px solid color-mix(in oklch, var(--tag-color) 45%, transparent);color:var(--fg);border-radius:20px;align-items:center;padding:1px 7px;font-size:.72rem;font-weight:500;display:inline-flex}.tag-edit-btn{flex-shrink:0}.tag-cell-popover{z-index:200;min-width:160px;max-height:260px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.tag-cell-options{flex-direction:column;gap:1px;padding:.25rem;display:flex}.tag-cell-option{text-align:left;cursor:pointer;width:100%;color:var(--fg);background:0 0;border:none;border-radius:3px;align-items:center;gap:.5rem;padding:.3rem .5rem;font-size:.8125rem;transition:background-color 80ms;display:flex}.tag-cell-option:hover{background-color:var(--subtle)}.tag-cell-option-active{color:var(--brand-fg-muted);font-weight:500}.tag-cell-option-swatch{border:1px solid var(--surface-2-border);border-radius:50%;flex-shrink:0;width:10px;height:10px}.tag-cell-option-swatch-none{background:var(--surface-2-border)}.tag-cell-option-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tag-cell-option-check{color:var(--brand-fg-muted);flex-shrink:0;font-size:.75rem}.requirements-page,.production-page,.inventory-page{flex-direction:column;flex:1;min-height:0;display:flex}.subpage{flex-direction:column;flex:1;min-height:0;padding:1rem;display:flex;overflow:hidden}.features-page,.testing-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.features-content,.testing-content,.production-content,.inventory-content{flex-direction:column;flex:1;min-height:0;padding:1rem;display:flex;overflow:hidden}.requirements-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.concurrency-conflict-banner{border:1px solid color-mix(in oklch, var(--warning) 45%, transparent);background:color-mix(in oklch, var(--warning) 14%, var(--surface-1));color:var(--fg);border-radius:4px;flex:none;margin:0 0 .5rem;padding:.5rem .75rem;font-size:.8125rem;line-height:1.35}.table-panel{background-color:var(--surface-2);border:1px solid var(--surface-2-border);border-radius:4px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.table-panel-header{border-bottom:1px solid var(--surface-2-border);background-color:var(--surface-3);justify-content:space-between;align-items:center;padding:.5rem .85rem;display:flex;position:relative}.table-panel-info{align-items:baseline;gap:.6rem;display:flex}.table-selection-count{font-family:var(--font-mono);color:var(--brand);font-size:.6875rem;font-weight:600}.btn-clear-selection{font-family:var(--font-ui);color:var(--fg-muted);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:.6875rem;text-decoration:underline}.btn-clear-selection:hover{color:var(--fg)}.btn-share-row{font-family:var(--font-ui);border:1px solid var(--brand);color:var(--brand);cursor:pointer;background:0 0;border-radius:2px;padding:.15rem .5rem;font-size:.6875rem;transition:background-color .1s,color .1s}.btn-share-row:hover{background:var(--brand);color:#fff}.table-panel-actions{align-items:center;gap:.5rem;display:flex}.btn-table-delete-bulk{font-family:var(--font-ui);color:var(--danger);background-color:color-mix(in oklch, var(--danger) 15%, var(--surface-2));border:1px solid var(--danger);cursor:pointer;border-radius:2px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;transition:background-color .1s,opacity .1s}.btn-table-delete-bulk:hover{background-color:var(--danger);color:#fff}.btn-table-add{font-family:var(--font-ui);color:var(--brand-fg);background-color:var(--brand);border:1px solid var(--brand);cursor:pointer;border-radius:2px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;transition:opacity .1s}.btn-table-add:hover{opacity:.9}.table-panel-title{color:var(--fg);font-size:.875rem;font-weight:600}.table-panel-count{font-family:var(--font-mono);color:var(--fg-muted);font-size:.6875rem}.column-picker-wrapper{position:relative}.btn-column-picker{font-family:var(--font-ui);color:var(--fg);background-color:var(--surface-2);border:1px solid var(--surface-2-border);cursor:pointer;border-radius:2px;padding:.2rem .55rem;font-size:.75rem;font-weight:500;transition:background-color .1s,border-color .1s}.btn-column-picker:hover{background-color:var(--surface-1);border-color:var(--surface-2-border-em)}.column-picker-menu{z-index:50;background-color:var(--surface-2);border:1px solid var(--surface-2-border);width:170px;box-shadow:var(--shadow);border-radius:3px;flex-direction:column;gap:.25rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + 4px);right:0}.column-picker-menu-header{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);border-bottom:1px solid var(--surface-2-border);margin-bottom:.15rem;padding:.15rem .25rem .35rem;font-size:.6875rem;font-weight:600}.column-picker-list{flex-direction:column;gap:.15rem;display:flex}.column-picker-item{color:var(--fg);cursor:pointer;user-select:none;border-radius:2px;align-items:center;gap:.45rem;padding:.2rem .35rem;font-size:.78125rem;transition:background-color .1s;display:flex}.column-picker-item:hover{background-color:var(--subtle)}.column-picker-checkbox{accent-color:var(--brand);cursor:pointer}.column-picker-label{flex:1}.table-search-wrapper{align-items:center;gap:.3rem;display:flex}.btn-search-active{color:var(--brand-fg)!important;background-color:color-mix(in oklch, var(--brand) 18%, var(--surface-2))!important;border-color:color-mix(in oklch, var(--brand) 50%, var(--surface-2-border))!important}.table-search-input{font-family:var(--font-ui);color:var(--fg);background-color:var(--surface-2);border:1px solid var(--surface-2-border);border-radius:2px;outline:none;width:160px;height:24px;padding:.2rem .45rem;font-size:.75rem;transition:border-color .1s}.table-search-input:focus{border-color:var(--brand)}.table-search-input::placeholder{color:var(--fg-muted);opacity:.7}.btn-search-clear{font-family:var(--font-ui);color:var(--fg-muted);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:.75rem;line-height:1;transition:color .1s}.btn-search-clear:hover{color:var(--fg)}.table-menu-wrapper{display:inline-flex;position:relative}.btn-with-icon{align-items:center;gap:.3rem;display:inline-flex}.btn-with-icon svg{opacity:.85;flex-shrink:0}.filter-menu{width:210px;max-height:320px;overflow-y:auto}.filter-menu-chips{border-bottom:1px solid var(--surface-2-border);flex-wrap:wrap;gap:.25rem;margin-bottom:.35rem;padding-bottom:.4rem;display:flex}.filter-menu-group+.filter-menu-group{margin-top:.4rem}.filter-option-empty{padding:.3rem .5rem}.filter-combine-toggle{border-bottom:1px solid var(--surface-2-border);justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.35rem;padding-bottom:.4rem;display:flex}.filter-combine-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);font-size:.6875rem;font-weight:600}.filter-combine-seg{border:1px solid var(--surface-2-border);border-radius:3px;display:inline-flex;overflow:hidden}.filter-combine-btn{font-family:var(--font-ui);color:var(--fg-muted);background-color:var(--surface-1);cursor:pointer;border:none;padding:.15rem .5rem;font-size:.6875rem;font-weight:600;transition:background-color .1s,color .1s}.filter-combine-btn+.filter-combine-btn{border-left:1px solid var(--surface-2-border)}.filter-combine-btn:hover{color:var(--fg)}.filter-combine-btn-active{color:var(--brand-fg);background-color:var(--brand)}.filter-chip{white-space:nowrap;background-color:color-mix(in oklch, var(--tag-color,var(--brand)) 14%, var(--surface-1));border:1px solid color-mix(in oklch, var(--tag-color,var(--brand)) 40%, transparent);color:var(--fg);border-radius:20px;align-items:center;gap:.3rem;padding:.15rem .3rem .15rem .5rem;font-size:.72rem;display:inline-flex}.filter-chip-field{color:var(--fg-muted);font-weight:500}.filter-chip-value{font-weight:600}.filter-chip-remove{width:15px;height:15px;color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.7rem;line-height:1;transition:background-color .1s,color .1s;display:inline-flex}.filter-chip-remove:hover{background-color:color-mix(in oklch, var(--fg-muted) 25%, transparent);color:var(--fg)}.table-scroll{flex:1;min-height:0;overflow:auto}.data-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.8125rem}.data-table th{z-index:1;text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);background-color:var(--surface-3);border-bottom:1px solid var(--surface-2-border);white-space:nowrap;padding:.5rem .75rem;font-size:.75rem;font-weight:600;position:sticky;top:0;overflow:hidden}.column-resizer{cursor:col-resize;user-select:none;touch-action:none;z-index:1;width:5px;height:100%;position:absolute;top:0;right:0}.column-resizer:hover,.column-resizer.column-resizing{background-color:var(--brand);opacity:.5;cursor:col-resize}.data-table th.table-header-sortable{cursor:pointer;user-select:none;transition:background-color .1s,color .1s}.data-table th.table-header-sortable:hover{background-color:var(--surface-2);color:var(--fg)}.data-table th.table-header-sortable:focus-visible{outline:1px solid var(--ring);outline-offset:-1px}.data-table th.table-header-sorted{color:var(--fg)}.table-header-cell-content{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.table-header-title{flex:1}.table-sort-indicator{font-size:.625rem;font-family:var(--font-mono);color:var(--fg-muted);opacity:.4;transition:opacity .1s,color .1s}.data-table th.table-header-sortable:hover .table-sort-indicator{opacity:.8}.table-sort-indicator.sort-active{opacity:1;color:var(--brand);font-weight:700}.data-table td{border-bottom:1px solid var(--surface-2-border);color:var(--fg);vertical-align:top;padding:.5rem .75rem}.data-table tbody tr:hover{background-color:var(--subtle)}.data-table tbody tr:last-child td{border-bottom:none}.cell-input-wrapper{align-items:flex-start;width:100%;display:flex;position:relative}.cell-input{width:100%;color:var(--fg);font-family:var(--font-ui);background:0 0;border:1px solid #0000;border-radius:2px;outline:none;margin:-.2rem -.35rem;padding:.2rem .35rem;font-size:.8125rem;transition:border-color .1s,background-color .1s}.cell-input:hover{border-color:var(--surface-1-border);background-color:color-mix(in oklch, var(--surface-1) 50%, transparent)}.cell-input:focus{border-color:var(--ring);background-color:var(--surface-1);box-shadow:0 0 0 1px var(--ring)}.cell-textarea{resize:none;field-sizing:content;white-space:pre-wrap;word-break:break-word;vertical-align:top;min-height:1.4em;line-height:1.35;display:block;overflow:hidden}.cell-readonly{color:var(--fg);white-space:pre-wrap;word-break:break-word;font-size:.8125rem;line-height:1.35;display:block}.cell-readonly-editable{cursor:text;flex:1;width:100%;min-height:1.4em}.cell-textarea-dormant{opacity:0;pointer-events:none;padding:0;position:absolute;overflow:hidden;height:0!important;min-height:0!important}.cell-md-list{margin:0;padding-left:1.15rem;list-style:outside}.cell-md-list li{margin:0}.cell-md-line:empty{min-height:1.35em}.cell-link{color:var(--brand);text-decoration:underline;text-decoration-color:color-mix(in oklch, var(--brand) 40%, transparent);text-underline-offset:2px}.cell-link:hover{text-decoration-color:var(--brand)}.table-header-actions{text-align:center;width:36px}.table-cell-actions{text-align:center;vertical-align:middle;width:36px;padding:.25rem .5rem}.btn-row-delete{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:.2rem .4rem;font-size:.75rem;line-height:1;transition:color .1s,background-color .1s}.btn-row-delete:hover{color:var(--danger-fg);background-color:var(--danger)}.cell-rendered{align-items:center;width:100%;min-width:0;font-size:.8125rem;display:flex}.linked-entities-cell{flex:auto;align-items:flex-start;gap:.3rem;width:100%;min-width:0;display:flex;position:relative}.entity-badge-empty{color:var(--fg-muted);font-size:.75rem}.entity-pills-list{flex-direction:column;flex:auto;align-items:stretch;gap:.3rem;width:100%;min-width:0;display:flex}.entity-pill-link{background-color:var(--surface-1);border:1px solid var(--surface-1-border);color:var(--fg);box-sizing:border-box;border-radius:2px;flex-shrink:1;align-items:center;gap:.35rem;width:100%;min-width:0;max-width:100%;padding:.15rem .45rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:background-color .1s,border-color .1s,color .1s;display:inline-flex;overflow:hidden}.entity-pill-icon{color:var(--fg-muted);flex-shrink:0}.entity-pill-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.entity-pill-link:hover{background-color:var(--surface-2);border-color:var(--brand);color:var(--brand)}.entity-pill-link.entity-status-success{background-color:color-mix(in oklch, var(--success) 60%, transparent);border-color:color-mix(in oklch, var(--success) 40%, transparent);color:var(--success-fg)}.entity-pill-link.entity-status-failed{background-color:color-mix(in oklch, var(--danger) 60%, transparent);border-color:color-mix(in oklch, var(--danger) 40%, transparent);color:var(--danger-fg)}.entity-pill-link.entity-status-blocked{background-color:color-mix(in oklch, var(--warning) 60%, transparent);border-color:color-mix(in oklch, var(--warning) 45%, transparent);color:var(--warning-fg)}.entity-pill-link.entity-status-in-progress{background-color:color-mix(in oklch, var(--brand) 60%, transparent);border-color:color-mix(in oklch, var(--brand) 40%, transparent);color:var(--brand-fg-muted)}.entity-pill-link.entity-status-planned{background-color:color-mix(in oklch, var(--warning) 60%, transparent);border-color:color-mix(in oklch, var(--warning) 40%, transparent);color:var(--warning-fg)}.entity-pill-link.entity-status-neutral{background-color:color-mix(in oklch, var(--neutral) 60%, transparent);border-color:color-mix(in oklch, var(--neutral) 40%, transparent);color:var(--neutral-fg-muted)}.entity-pill-link.entity-status-success:hover{background-color:color-mix(in oklch, var(--success) 26%, transparent);border-color:var(--success-fg)}.entity-pill-link.entity-status-failed:hover{background-color:color-mix(in oklch, var(--danger) 26%, transparent);border-color:var(--danger-fg)}.entity-pill-link.entity-status-blocked:hover{background-color:color-mix(in oklch, var(--warning) 26%, transparent);border-color:var(--warning-fg)}.entity-pill-link.entity-status-in-progress:hover,.entity-pill-link.entity-status-planned:hover{background-color:color-mix(in oklch, var(--brand) 26%, transparent)}.entity-pill-link.entity-status-neutral:hover{background-color:color-mix(in oklch, var(--neutral) 26%, transparent)}.source-cell{color:var(--fg);flex-wrap:wrap;align-items:baseline;gap:.15rem;font-size:.8125rem;display:flex}.source-cell-text{color:var(--fg)}.source-cell-link{color:var(--brand);text-underline-offset:2px;text-decoration:underline}.source-cell-link:hover{color:var(--brand-strong);text-decoration:none}.entity-more-wrapper{display:inline-flex;position:relative}.entity-pill-more{font-family:var(--font-ui);color:var(--brand);background-color:var(--subtle);border:1px solid var(--border);cursor:pointer;border-radius:2px;align-items:center;padding:.15rem .4rem;font-size:.6875rem;font-weight:600;transition:background-color .1s,border-color .1s;display:inline-flex}.entity-pill-more:hover{background-color:var(--surface-1);border-color:var(--brand)}.entity-popover-menu{z-index:60;background-color:var(--surface-2);border:1px solid var(--surface-2-border);width:240px;max-height:240px;box-shadow:var(--shadow);border-radius:3px;flex-direction:column;gap:.25rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + 4px);left:0}.entity-popover-header{border-bottom:1px solid var(--surface-2-border);justify-content:space-between;align-items:center;margin-bottom:.15rem;padding:.2rem .35rem .35rem;display:flex}.entity-popover-title{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);font-size:.6875rem;font-weight:600}.btn-popover-close{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;padding:.1rem;font-size:.75rem;line-height:1}.btn-popover-close:hover{color:var(--fg)}.entity-popover-list{flex-direction:column;gap:.2rem;max-height:180px;display:flex;overflow-y:auto}.entity-popover-item{color:var(--fg);background-color:var(--surface-1);border:1px solid var(--surface-1-border);border-radius:2px;justify-content:space-between;align-items:center;padding:.3rem .45rem;font-size:.75rem;text-decoration:none;transition:background-color .1s,border-color .1s,color .1s;display:flex}.entity-popover-item:hover{background-color:var(--surface-3);border-color:var(--brand);color:var(--brand)}.entity-popover-item-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entity-popover-item-arrow{color:var(--fg-muted);font-size:.75rem}.relationship-manager{align-items:center;width:100%;min-width:0;display:flex;position:relative}.entity-edit-btn{border:1px solid var(--surface-1-border);background-color:var(--surface-1);width:20px;height:20px;color:var(--fg-muted);cursor:pointer;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;transition:color .1s,border-color .1s,background-color .1s;display:inline-flex}.entity-edit-btn:hover{color:var(--brand);border-color:var(--brand);background-color:var(--subtle)}.entity-edit-icon{display:block}.production-test-row{background-color:var(--surface-1);border:1px solid var(--surface-1-border);box-sizing:border-box;border-radius:2px;align-items:center;gap:.4rem;width:100%;min-width:0;padding:.15rem .4rem;display:flex}.production-test-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.75rem;overflow:hidden}.production-test-status{border:1px solid var(--surface-1-border);background-color:var(--surface-1);max-width:96px;color:var(--fg);border-radius:2px;flex-shrink:0;padding:.1rem .2rem;font-size:.6875rem}.production-test-remove{width:16px;height:16px;color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.6875rem;display:inline-flex}.production-test-remove:hover{color:var(--danger-fg);background-color:var(--subtle)}.production-required-list{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.production-required-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);font-size:.625rem;font-weight:600}.production-required-pill{text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--warning-fg);background-color:color-mix(in oklch, var(--warning) 14%, transparent);border:1px solid color-mix(in oklch, var(--warning) 34%, transparent);border-radius:2px;padding:.05rem .35rem;font-size:.6875rem;display:inline-block;overflow:hidden}.block-select{max-width:100%}.entity-pill-more-static{color:var(--fg-muted);padding:.15rem .2rem;font-size:.6875rem;font-weight:600}.relationship-menu{z-index:100;background-color:var(--surface-2);border:1px solid var(--surface-2-border);width:300px;box-shadow:var(--shadow);border-radius:3px;flex-direction:column;gap:.4rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + 4px);left:0}.relationship-menu-header{border-bottom:1px solid var(--surface-2-border);justify-content:space-between;align-items:center;padding-bottom:.35rem;display:flex}.relationship-menu-title{color:var(--fg);font-size:.75rem;font-weight:600}.relationship-search{box-sizing:border-box;border:1px solid var(--surface-1-border);background-color:var(--surface-1);width:100%;color:var(--fg);border-radius:2px;outline:none;padding:.3rem .45rem;font-size:.75rem}.relationship-search:focus{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.relationship-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);font-size:.625rem;font-weight:600}.relationship-menu-list{flex-direction:column;gap:.25rem;max-height:140px;display:flex;overflow-y:auto}.relationship-row{background-color:var(--surface-1);border:1px solid var(--surface-1-border);border-radius:2px;justify-content:space-between;align-items:center;gap:.4rem;padding:.3rem .45rem;font-size:.75rem;display:flex}.relationship-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg);align-items:center;gap:.35rem;text-decoration:none;display:inline-flex;overflow:hidden}.relationship-item-icon{color:var(--fg-muted);flex-shrink:0}.relationship-item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}a.relationship-item-title:hover{color:var(--brand)}.relationship-item-title.entity-status-success{color:var(--success-fg)}.relationship-item-title.entity-status-failed{color:var(--danger-fg)}.relationship-item-title.entity-status-blocked{color:var(--warning-fg)}.relationship-row-action{border:1px solid var(--surface-1-border);background-color:var(--success);color:var(--success-fg);cursor:pointer;border-radius:2px;flex-shrink:0;padding:.15rem .45rem;font-size:.6875rem;font-weight:600;transition:background-color .1s,border-color .1s}.relationship-row-action:hover{background-color:color-mix(in oklch, var(--brand) 14%, transparent);border-color:var(--brand)}.relationship-row[data-rel-row=linked] .relationship-row-action{color:var(--danger-fg);background-color:var(--danger)}.relationship-row[data-rel-row=linked] .relationship-row-action:hover{background-color:color-mix(in oklch, var(--danger) 60%, transparent);border-color:var(--danger)}.relationship-empty{color:var(--fg-muted);padding:.3rem .2rem;font-size:.75rem}.data-table tbody tr.row-highlighted{border-left:3px solid oklch(55% .22 295);animation:2s ease-out highlight-pulse;background-color:oklch(38% .18 295)!important}.light-theme .data-table tbody tr.row-highlighted{border-left:3px solid oklch(58% .2 295);background-color:oklch(91% .1 295)!important}@keyframes highlight-pulse{0%{opacity:.7}to{opacity:1}}.data-table tbody tr.row-selectable{cursor:pointer}.data-table tbody tr.row-selected{border-left:2px solid oklch(62% .16 85);background-color:oklch(44% .13 85)!important}.data-table tbody tr.row-selected:hover{background-color:oklch(48% .13 85)!important}.light-theme .data-table tbody tr.row-selected{border-left:2px solid oklch(82% .15 90);background-color:oklch(97% .07 90)!important}.light-theme .data-table tbody tr.row-selected:hover{background-color:oklch(94% .09 90)!important}.td-expander{overflow:visible;padding:0!important}.td-expander .cell-rendered{align-items:center;padding:0}.row-expander-cell{align-items:center;gap:0;padding:.3rem .2rem;display:flex}.thread-guide{flex-shrink:0;width:14px}.row-expander-wrap{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.row-expander{background:color-mix(in oklch, var(--fg) 10%, transparent);cursor:pointer;color:var(--fg);border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:.2rem;line-height:0;transition:background .12s;display:flex}.row-expander:hover{background:color-mix(in oklch, var(--fg) 18%, transparent)}.row-expander svg{transition:transform .15s}.row-expander-open svg{transform:rotate(90deg)}.data-table tbody tr[data-depth="1"]{background-color:color-mix(in oklch, var(--surface-1) 91%, var(--fg))}.data-table tbody tr[data-depth="1"]:hover{background-color:color-mix(in oklch, var(--surface-1) 87%, var(--fg))}.data-table tbody tr[data-depth="2"]{background-color:color-mix(in oklch, var(--surface-1) 83%, var(--fg))}.data-table tbody tr[data-depth="2"]:hover{background-color:color-mix(in oklch, var(--surface-1) 79%, var(--fg))}.data-table tbody tr[data-depth="3"],.data-table tbody tr[data-depth="4"]{background-color:color-mix(in oklch, var(--surface-1) 76%, var(--fg))}.data-table tbody tr[data-depth="3"]:hover,.data-table tbody tr[data-depth="4"]:hover{background-color:color-mix(in oklch, var(--surface-1) 72%, var(--fg))}.light-theme .data-table tbody tr[data-depth="1"]{background-color:color-mix(in oklch, var(--surface-1) 99%, var(--fg))}.light-theme .data-table tbody tr[data-depth="1"]:hover{background-color:color-mix(in oklch, var(--surface-1) 97%, var(--fg))}.light-theme .data-table tbody tr[data-depth="2"]{background-color:color-mix(in oklch, var(--surface-1) 98%, var(--fg))}.light-theme .data-table tbody tr[data-depth="2"]:hover{background-color:color-mix(in oklch, var(--surface-1) 96%, var(--fg))}.light-theme .data-table tbody tr[data-depth="3"],.light-theme .data-table tbody tr[data-depth="4"]{background-color:color-mix(in oklch, var(--surface-1) 97%, var(--fg))}.light-theme .data-table tbody tr[data-depth="3"]:hover,.light-theme .data-table tbody tr[data-depth="4"]:hover{background-color:color-mix(in oklch, var(--surface-1) 95%, var(--fg))}.data-table tbody tr[data-depth="1"] td{font-size:.8rem}.data-table tbody tr[data-depth="2"] td,.data-table tbody tr[data-depth="3"] td,.data-table tbody tr[data-depth="4"] td{color:color-mix(in oklch, var(--fg) 88%, var(--fg-muted));font-size:.775rem}.audit-history-cell{flex-direction:column;gap:.18rem;min-width:0;padding:.1rem 0;display:flex}.audit-entry{white-space:nowrap;text-overflow:ellipsis;color:var(--fg-muted);align-items:baseline;gap:0;font-size:.72rem;line-height:1.4;display:flex;overflow:hidden}.audit-entry-actor{color:var(--fg);flex-shrink:0;font-weight:600}.audit-entry-sep{color:var(--fg-muted);opacity:.5;flex-shrink:0}.audit-entry-action{flex-shrink:0}.audit-entry-time{opacity:.7;flex-shrink:0}.audit-entry-overflow{color:var(--fg-muted);opacity:.7;padding-top:.05rem;font-size:.68rem}.cell-select{background:var(--surface-1);border:1px solid var(--surface-1-border);width:100%;color:var(--fg);font-family:var(--font-ui);cursor:pointer;border-radius:2px;outline:none;padding:.15rem .35rem;font-size:.75rem;font-weight:500;transition:border-color .1s}.cell-select:focus{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}.cell-select.badge{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .35rem center;background-repeat:no-repeat;background-size:8px 8px;outline:none;width:auto;max-width:fit-content;padding:.15rem 1.15rem .15rem .45rem}.cell-select.badge:focus{outline:1px solid var(--ring);outline-offset:1px}.cell-select.badge option{background-color:var(--surface-2);color:var(--fg)}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:2px;align-items:center;padding:.125rem .45rem;font-size:.6875rem;font-weight:600;line-height:1.2;display:inline-flex}.badge-status-completed{background-color:color-mix(in oklch, var(--success) 60%, transparent);border:1px solid color-mix(in oklch, var(--success) 35%, transparent);color:var(--success-fg)}.badge-status-in-progress{background-color:color-mix(in oklch, var(--brand) 60%, transparent);border:1px solid color-mix(in oklch, var(--brand) 35%, transparent);color:var(--brand-fg)}.badge-status-planned{background-color:color-mix(in oklch, var(--warning) 60%, transparent);border:1px solid color-mix(in oklch, var(--warning) 35%, transparent);color:var(--warning-fg)}.badge-status-draft{background-color:color-mix(in oklch, var(--neutral) 60%, transparent);border:1px solid color-mix(in oklch, var(--neutral) 35%, transparent);color:var(--neutral-fg-muted)}.badge-status-passed{background-color:color-mix(in oklch, var(--success) 60%, transparent);border:1px solid color-mix(in oklch, var(--success) 35%, transparent);color:var(--success-fg)}.badge-status-failed{background-color:color-mix(in oklch, var(--danger) 60%, transparent);border:1px solid color-mix(in oklch, var(--danger) 35%, transparent);color:var(--danger-fg)}.badge-status-blocked{background-color:color-mix(in oklch, var(--warning) 60%, transparent);border:1px solid color-mix(in oklch, var(--warning) 40%, transparent);color:var(--warning-fg)}.badge-status-not-started{background-color:color-mix(in oklch, var(--neutral) 60%, transparent);border:1px solid color-mix(in oklch, var(--neutral) 35%, transparent);color:var(--neutral-fg-muted)}.confirm-modal-backdrop{z-index:250;background-color:color-mix(in oklch, var(--dust-14) 75%, transparent);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-modal-dialog{background-color:var(--surface-2);border:1px solid var(--surface-2-border);width:100%;max-width:380px;box-shadow:var(--shadow-lg);border-radius:4px;overflow:hidden}.confirm-modal-header{background-color:var(--surface-3);border-bottom:1px solid var(--surface-3-border);justify-content:space-between;align-items:center;padding:.6rem .85rem;display:flex}.confirm-modal-title{color:var(--fg);font-size:.8125rem;font-weight:600}.confirm-modal-body{padding:1rem}.confirm-modal-text{color:var(--fg-muted);margin:0 0 1.25rem;font-size:.8125rem;line-height:1.4}.confirm-modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.btn-danger-solid{font-family:var(--font-ui);color:#fff;background-color:var(--danger);border:1px solid var(--danger);cursor:pointer;border-radius:2px;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:opacity .1s}.btn-danger-solid:hover{opacity:.9}.project-page{flex-direction:column;flex:1;min-height:0;display:flex}.project-content{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:.75rem 1rem;display:flex;overflow:hidden}.project-toolbar{background-color:var(--surface-2);border:1px solid var(--surface-2-border);border-radius:4px;flex-shrink:0;align-items:center;gap:.6rem;padding:.5rem .85rem;display:flex}.project-title{color:var(--fg);font-size:.875rem;font-weight:600}.project-count{font-family:var(--font-mono);color:var(--fg-muted);font-size:.6875rem}.project-toolbar-filter{align-items:center;gap:.4rem;display:flex}.project-filter-label{color:var(--fg-muted);font-size:.75rem}.project-select{border:1px solid var(--surface-1-border);background-color:var(--surface-1);color:var(--fg);cursor:pointer;border-radius:2px;outline:none;padding:.25rem .45rem;font-size:.75rem}.project-select:focus{border-color:var(--ring)}.project-gantt-panel{background-color:var(--surface-2);border:1px solid var(--surface-2-border);border-radius:4px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.project-gantt{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative}.project-gantt .gantt-container{isolation:isolate;background-color:var(--surface-2);border-radius:0;flex:1;width:100%;min-height:0;font-size:12px;line-height:14.5px;position:relative;overflow:auto;height:100%!important}.project-gantt-empty{color:var(--fg-muted);z-index:5;font-size:.8125rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-table-panel{background-color:var(--surface-2);border:1px solid var(--surface-2-border);border-radius:4px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.project-table-panel>.table-panel{border:none;border-radius:0;flex:1;min-height:0}.project-gantt{--g-arrow-color:var(--surface-fg-muted);--g-bar-color:var(--brand);--g-bar-border:var(--brand);--g-tick-color:var(--surface-1-border);--g-tick-color-thick:var(--surface-2-border);--g-actions-background:var(--surface-3);--g-border-color:var(--surface-2-border);--g-text-muted:var(--surface-fg-muted);--g-text-light:var(--surface-fg);--g-text-dark:var(--surface-fg);--g-progress-color:var(--seafoam-4);--g-handle-color:var(--surface-fg);--g-weekend-label-color:var(--surface-fg-muted);--g-expected-progress:var(--surface-3);--g-header-background:var(--surface-3);--g-row-color:var(--surface-1);--g-row-border-color:var(--surface-1-border);--g-today-highlight:var(--seafoam-4);--g-popup-actions:var(--surface-3);--g-weekend-highlight-color:color-mix(in oklch, var(--brand) 10%, transparent)}.light-theme .project-gantt{--g-progress-color:var(--seafoam-3);--g-bar-border:var(--brand);--g-header-background:var(--surface-3);--g-today-highlight:var(--brand);--g-row-color:var(--surface-1);--g-row-border-color:var(--surface-1-border)}.project-gantt .grid-header{height:calc(var(--gv-lower-header-height,24px) + var(--gv-upper-header-height,30px) + 8px);background-color:var(--g-header-background);border-bottom:1px solid var(--g-row-border-color);z-index:10;position:sticky;top:0;left:0}.project-gantt .upper-header{height:var(--gv-upper-header-height,30px)}.project-gantt .lower-header{height:var(--gv-lower-header-height,24px)}.project-gantt .upper-text{width:fit-content;font-family:var(--font-ui);color:var(--g-text-dark);font-size:12px;font-weight:600;position:absolute;top:6px!important}.project-gantt .lower-text{font-size:11px;font-family:var(--font-ui);width:calc(var(--gv-column-width,55px) * .85);height:20px;margin:0 calc(var(--gv-column-width,55px) * .075);text-align:center;color:var(--g-text-muted);justify-content:center;align-items:center;display:flex;position:absolute;top:34px!important}.project-gantt .current-upper{background:0 0!important;padding-left:0!important;position:absolute!important}.project-gantt .side-header{float:right;z-index:12;background:var(--g-header-background);align-items:center;gap:6px;width:max-content;margin-left:auto;padding-top:4px;padding-right:8px;line-height:20px;display:flex;position:sticky;top:0;right:0}.project-gantt .side-header button{font-family:var(--font-ui);background-color:var(--surface-1);border:1px solid var(--surface-1-border);color:var(--surface-fg);cursor:pointer;border-radius:2px;padding:2px 7px;font-size:.75rem;font-weight:500;transition:background-color .1s,border-color .1s,color .1s}.project-gantt .side-header button:hover{background-color:var(--surface-2);border-color:var(--brand);color:var(--brand-fg)}.project-gantt .current-highlight{background:var(--g-today-highlight);z-index:9;width:1px;position:absolute}.project-gantt .current-ball-highlight{background:var(--g-today-highlight);z-index:11;border-radius:50%;position:absolute}.project-gantt .current-date-highlight{background:var(--g-today-highlight);color:var(--surface-1);border-radius:3px;font-weight:600}.project-gantt .date-range-highlight{background-color:var(--g-progress-color);border-radius:4px;height:20px;position:absolute;top:34px}.project-gantt .extras{position:sticky;left:0}.project-gantt .extras .adjust{left:8px;top:calc(var(--gv-grid-height,320px) - 50px);background-color:var(--surface-3);color:var(--surface-fg);border:1px solid var(--surface-2-border);cursor:pointer;border-radius:3px;padding:4px 8px;font-size:.75rem;position:absolute}.project-gantt .hide{display:none!important}.project-gantt .gantt{user-select:none;min-width:100%;position:absolute}.project-gantt .gantt .grid-background{fill:none}.project-gantt .gantt .grid-row{fill:var(--g-row-color)}.project-gantt .gantt .row-line{stroke:var(--g-border-color);stroke-width:1px}.project-gantt .gantt .tick{stroke:var(--g-tick-color);stroke-width:.5px}.project-gantt .gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:1px}.project-gantt .gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5px}.project-gantt .gantt .bar-wrapper{cursor:pointer}.project-gantt .gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:1px;border-radius:3px}.project-gantt .gantt .bar-progress{fill:var(--g-progress-color)}.project-gantt .gantt .bar-label{fill:var(--brand-fg);dominant-baseline:central;font-family:var(--font-ui);font-size:.75rem;font-weight:500}.project-gantt .gantt .bar-label.big{fill:var(--surface-fg);text-anchor:start}.project-gantt .gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .2s}.project-gantt .gantt .handle.active,.project-gantt .gantt .handle.visible{cursor:ew-resize;opacity:1}.project-gantt .gantt .handle.progress{fill:var(--g-text-muted)}.project-gantt .popup-wrapper{background:var(--surface-2);border:1px solid var(--surface-2-border);box-shadow:var(--shadow-lg);z-index:1000;pointer-events:auto;border-radius:4px;width:max-content;max-width:320px;padding:8px 12px;position:absolute;top:0;left:0}.project-gantt .popup-wrapper .title{color:var(--surface-fg);margin-bottom:2px;font-size:.8125rem;font-weight:600}.project-gantt .popup-wrapper .subtitle{color:var(--surface-fg-muted);margin-bottom:4px;font-size:.75rem}.project-gantt .popup-wrapper .details{color:var(--surface-fg-muted);font-size:.75rem}.project-gantt .gantt-popup-assigned{color:var(--surface-fg);margin-top:4px;font-size:.75rem}.project-gantt .gantt-popup-assigned strong{color:var(--surface-fg);font-weight:600}.project-gantt .popup-wrapper .actions{gap:4px;margin-top:8px;display:flex}.project-gantt .popup-wrapper .action-btn{font-family:var(--font-ui);color:var(--surface-fg);background-color:var(--surface-1);border:1px solid var(--surface-1-border);cursor:pointer;border-radius:2px;padding:3px 8px;font-size:.75rem;font-weight:500;transition:background-color .1s,border-color .1s}.project-gantt .popup-wrapper .action-btn:hover{background-color:var(--surface-3);border-color:var(--brand);color:var(--brand-fg)}.project-gantt .gantt-popup-meta{color:var(--g-text-muted);margin-bottom:4px;font-size:.7rem}.project-gantt .gantt-popup-links-label{text-transform:uppercase;letter-spacing:.04em;color:var(--g-text-muted);margin-top:6px;font-size:.65rem}.project-gantt .gantt-popup-links{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.project-gantt .gantt-live-link{max-width:220px;color:var(--fg);background-color:var(--surface-1);border:1px solid var(--surface-1-border);border-radius:3px;align-items:center;gap:4px;padding:2px 7px;font-size:.7rem;font-weight:500;text-decoration:none;transition:background-color .1s,border-color .1s,color .1s;display:inline-flex;overflow:hidden}.project-gantt .gantt-live-link-icon{color:var(--fg-muted);flex-shrink:0}.project-gantt .gantt-live-link-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-gantt .gantt-live-link:hover{background-color:var(--surface-2);border-color:var(--brand);color:var(--brand);text-decoration:underline}.project-gantt .gantt-live-link.entity-status-success{background-color:color-mix(in oklch, var(--success) 60%, transparent);border-color:color-mix(in oklch, var(--success) 40%, transparent);color:var(--success-fg)}.project-gantt .gantt-live-link.entity-status-failed{background-color:color-mix(in oklch, var(--danger) 60%, transparent);border-color:color-mix(in oklch, var(--danger) 40%, transparent);color:var(--danger-fg)}.project-gantt .gantt-live-link.entity-status-blocked{background-color:color-mix(in oklch, var(--warning) 60%, transparent);border-color:color-mix(in oklch, var(--warning) 45%, transparent);color:var(--warning-fg)}.project-gantt .gantt-live-link.entity-status-in-progress{background-color:color-mix(in oklch, var(--brand) 60%, transparent);border-color:color-mix(in oklch, var(--brand) 40%, transparent);color:var(--brand-fg-muted)}.project-gantt .gantt-live-link.entity-status-planned{background-color:color-mix(in oklch, var(--warning) 60%, transparent);border-color:color-mix(in oklch, var(--warning) 40%, transparent);color:var(--warning-fg)}.project-gantt .gantt-live-link.entity-status-neutral{background-color:color-mix(in oklch, var(--neutral) 60%, transparent);border-color:color-mix(in oklch, var(--neutral) 40%, transparent);color:var(--neutral-fg-muted)}.project-gantt .gantt-live-link.entity-status-success:hover{background-color:color-mix(in oklch, var(--success) 26%, transparent);border-color:var(--success-fg)}.project-gantt .gantt-live-link.entity-status-failed:hover{background-color:color-mix(in oklch, var(--danger) 26%, transparent);border-color:var(--danger-fg)}.project-gantt .gantt-live-link.entity-status-blocked:hover{background-color:color-mix(in oklch, var(--warning) 26%, transparent);border-color:var(--warning-fg)}.project-gantt .gantt-live-link.entity-status-in-progress:hover,.project-gantt .gantt-live-link.entity-status-planned:hover{background-color:color-mix(in oklch, var(--brand) 26%, transparent)}.project-gantt .gantt-live-link.entity-status-neutral:hover{background-color:color-mix(in oklch, var(--neutral) 26%, transparent)}.project-gantt .gantt-popup-none{color:var(--g-text-muted);font-size:.7rem}.progress-cell{align-items:center;gap:.5rem;min-width:120px;display:flex}.progress-bar-track{background-color:var(--surface-1);border:1px solid var(--surface-1-border);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-bar-fill{background-color:var(--brand);border-radius:3px;height:100%}.progress-cell-label{font-family:var(--font-mono);color:var(--fg-muted);text-align:right;min-width:36px;font-size:.6875rem}.task-links-menu{width:340px}.task-kind-tabs{flex-wrap:wrap;gap:.25rem;margin-bottom:.4rem;display:flex}.task-kind-tab{border:1px solid var(--surface-1-border);background-color:var(--surface-1);color:var(--fg-muted);cursor:pointer;border-radius:2px;align-items:center;gap:.3rem;padding:.2rem .45rem;font-size:.6875rem;font-weight:500;transition:border-color .1s,color .1s,background-color .1s;display:inline-flex}.task-kind-tab:hover{color:var(--fg);border-color:var(--brand)}.task-kind-tab-active{color:var(--brand);background-color:color-mix(in oklch, var(--brand) 14%, transparent);border-color:color-mix(in oklch, var(--brand) 40%, transparent)}.task-kind-tab-icon{flex-shrink:0}.task-kind-tab-label{text-transform:capitalize}.task-kind-tab-count{font-family:var(--font-mono);color:var(--brand);background-color:var(--surface-2);border-radius:8px;padding:0 5px;font-size:.625rem;line-height:1.3}.task-kind-tab-active .task-kind-tab-count{color:var(--brand)}.import-order-dialog{max-width:640px}.import-order-body{flex-direction:column;gap:.75rem;padding:.75rem 1rem;display:flex}.import-order-hint{color:var(--fg-muted);margin:0;font-size:.75rem}.import-order-field{flex-direction:column;gap:.35rem;display:flex}.import-order-errors{color:var(--danger-fg);margin:0;padding-left:1.1rem;font-size:.75rem}.import-order-result{color:var(--success-fg);background-color:color-mix(in oklch, var(--success) 12%, transparent);border:1px solid color-mix(in oklch, var(--success) 34%, transparent);border-radius:3px;padding:.4rem .6rem;font-size:.8rem}.import-order-preview{border:1px solid var(--surface-2-border);border-radius:3px;max-height:260px;overflow:auto}.import-order-preview-title{background-color:var(--subtle);padding:.3rem .5rem;font-size:.7rem;font-weight:600}.import-order-table{border-collapse:collapse;width:100%;font-size:.7rem}.import-order-table th,.import-order-table td{text-align:left;border-bottom:1px solid var(--surface-2-border);white-space:nowrap;text-overflow:ellipsis;max-width:160px;padding:.2rem .5rem;overflow:hidden}.bom-missing-warning{color:var(--danger-fg);background-color:color-mix(in oklch, var(--danger) 10%, transparent);border:1px solid color-mix(in oklch, var(--danger) 30%, transparent);border-radius:3px;padding:.4rem .6rem;font-size:.75rem}.bom-missing-warning ul{margin:.3rem 0 0;padding-left:1.1rem}.bom-missing-label{color:var(--danger-fg);font-style:italic}.architecture-page{height:100%}.diagram-conflict-toast{z-index:9999;background:var(--danger-fg,#dc2626);color:#fff;pointer-events:none;white-space:nowrap;border-radius:8px;padding:10px 20px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.architecture-layout{grid-template-columns:240px 1fr 300px;gap:0;height:100%;min-height:0;display:grid}.arch-pane-left{min-height:0;position:relative;overflow:hidden}.arch-pane-left .model-explorer{height:100%}.arch-pane-resizer{cursor:col-resize;z-index:100;background:0 0;width:5px;transition:background .12s;position:absolute;top:0;bottom:0}.arch-pane-resizer:hover,.arch-pane-resizer:active{background:var(--accent);opacity:.4}.arch-pane-resizer-right{right:0}.arch-pane-resizer-left{left:0}.model-explorer{border-right:1px solid var(--surface-2-border);background-color:var(--surface-2);flex-direction:column;gap:.75rem;padding:.5rem;display:flex;overflow-y:auto}.model-explorer-header{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.model-explorer-header-collapsible{cursor:pointer;user-select:none}.model-explorer-header-collapsible:hover .model-explorer-title{color:var(--fg)}.model-explorer-header-title-group{align-items:center;gap:.35rem;display:flex}.model-explorer-toggle-icon{color:var(--fg-muted);font-size:.6rem}.model-explorer-header-actions{align-items:center;gap:.25rem;display:flex}.model-explorer-header-btn{font-family:var(--font-ui);border:1px solid var(--surface-1-border);background:var(--surface-1);color:var(--fg);cursor:pointer;border-radius:2px;padding:.1rem .35rem;font-size:.68rem}.model-explorer-header-btn:hover{border-color:var(--brand);color:var(--brand)}.model-explorer-folders-group{flex-direction:column;gap:.25rem;margin-top:.35rem;display:flex}.model-explorer-folder-node{flex-direction:column;gap:.15rem;display:flex}.model-explorer-folder-head{align-items:center;gap:.3rem;padding:.1rem .2rem;display:flex}.model-explorer-folder-icon{flex-shrink:0;font-size:.75rem}.model-explorer-folder-children{padding-left:.75rem}.diagram-type-badge{color:var(--fg-muted);opacity:.6;letter-spacing:.03em;flex-shrink:0;margin-right:.35em;font-size:.6rem;font-weight:700}.ctx-menu{background:var(--surface-2);border:1px solid var(--surface-2-border);border-radius:4px;flex-direction:column;min-width:120px;padding:3px 0;display:flex;box-shadow:0 4px 12px #0000002e}.ctx-menu-item{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;border:none;padding:.3rem .75rem;font-size:.78rem;display:block}.ctx-menu-item:hover{background:var(--subtle)}.ctx-menu-item-danger{color:var(--danger)}.ctx-menu-item-danger:hover{background:color-mix(in oklch, var(--danger) 15%, transparent)}.ctx-menu-separator{background:var(--surface-2-border);height:1px;margin:3px 0}.model-explorer-rename-input{font-family:var(--font-ui);border:1px solid var(--brand);background:var(--surface-1);color:var(--fg);box-sizing:border-box;border-radius:2px;width:100%;padding:.1rem .3rem;font-size:.78rem}.model-explorer-empty{color:var(--fg-muted);padding:.25rem .5rem;font-size:.72rem}.architecture-diagram-title-editable{cursor:pointer;border-bottom:1px dashed #0000}.architecture-diagram-title-editable:hover{border-bottom-color:var(--brand)}.architecture-title-input{max-width:260px;padding:.15rem .4rem;font-size:.95rem;font-weight:700}.canvas-context-menu{background-color:var(--surface-2);border:1px solid var(--surface-2-border);border-radius:4px;flex-direction:column;min-width:170px;max-height:360px;padding:.35rem 0;display:flex;overflow-y:auto;box-shadow:0 4px 16px #00000040}.context-menu-header{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);border-bottom:1px solid var(--surface-2-border);padding:.25rem .6rem .35rem;font-size:.65rem;font-weight:700}.context-menu-label{color:var(--fg-muted);padding:.25rem .6rem .1rem;font-size:.65rem}.context-menu-item{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;border:none;padding:.3rem .6rem;font-size:.75rem;transition:background-color 80ms;display:block}.context-menu-item:hover{background-color:var(--subtle);color:var(--brand)}.context-menu-subitem{padding-left:1rem;font-size:.72rem}.context-menu-danger{color:var(--danger)}.context-menu-danger:hover{color:var(--danger-fg);background-color:color-mix(in oklch, var(--danger) 15%, transparent)}.context-menu-divider{background-color:var(--surface-2-border);height:1px;margin:.25rem 0}.model-explorer-title{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);font-size:.7rem;font-weight:700}.model-explorer-item{cursor:pointer;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;border-radius:2px;padding:.15rem .3rem;font-size:.78rem;display:inline-block;overflow:hidden}.model-explorer-item:hover{background-color:var(--subtle)}.model-explorer-item-active{background-color:color-mix(in oklch, var(--brand) 20%, transparent);color:var(--brand-fg);font-weight:600}.model-explorer-block-row,.model-explorer-diagram-row,.model-explorer-folder-node{align-items:center;gap:.25rem;display:flex}.model-explorer-diagram-row{padding-left:.6rem}.model-explorer-folder-child{padding-left:.9rem}.model-explorer-item{flex:auto;min-width:0}.model-explorer-add{width:16px;height:16px;color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;line-height:1}.model-explorer-add:hover{color:var(--brand);background-color:var(--subtle)}.model-explorer-typenew{flex-direction:column;gap:.2rem;padding:.25rem .3rem;display:flex}.model-explorer-newdiagram{text-align:left;border:1px solid var(--surface-1-border);background:var(--surface-1);color:var(--fg);cursor:pointer;border-radius:2px;padding:.2rem .4rem;font-size:.72rem}.model-explorer-newdiagram:hover{border-color:var(--brand)}.model-explorer-folder-label{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);font-size:.65rem;font-weight:600}.model-explorer-foldername{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.78rem;font-weight:600;overflow:hidden}.architecture-main{background-color:var(--surface-1);flex-direction:column;min-width:0;min-height:0;display:flex}.architecture-empty{color:var(--fg-muted);padding:2rem;font-size:.85rem}.architecture-diagram-head{border-bottom:1px solid var(--surface-2-border);align-items:baseline;gap:.6rem;padding:.5rem .75rem;display:flex}.architecture-diagram-title{color:var(--fg);font-size:.95rem;font-weight:700}.architecture-diagram-type{font-family:var(--font-mono);color:var(--fg-muted);font-size:.65rem}.architecture-palette{border-bottom:1px solid var(--surface-2-border);background-color:var(--surface-2);flex-wrap:wrap;align-items:center;gap:.35rem;padding:.4rem .75rem;display:flex}.btn-palette{font-family:var(--font-ui);border:1px solid var(--surface-1-border);background-color:var(--surface-1);color:var(--fg);cursor:pointer;border-radius:2px;padding:.22rem .55rem;font-size:.72rem}.btn-palette:hover{border-color:var(--brand);color:var(--brand)}.palette-select{max-width:210px;font-size:.72rem}.architecture-palette-hint{color:var(--fg-muted);font-size:.65rem}.architecture-canvas-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.architecture-canvas-toolbar{border-bottom:1px solid var(--surface-2-border);align-items:center;gap:.4rem;padding:.3rem .75rem;display:flex}.architecture-canvas-zoom{font-family:var(--font-mono);color:var(--fg-muted);min-width:42px;font-size:.72rem}.architecture-canvas-hint{color:var(--fg-muted);font-size:.65rem}.architecture-canvas{cursor:default;user-select:none;outline:none;flex:1;min-height:0;overflow:hidden}.architecture-canvas canvas{display:block}.x6-conn-handle{visibility:hidden}.x6-node:hover .x6-conn-handle{visibility:visible}.x6-widget-selection-box,.x6-widget-selection-inner{border:1.5px solid var(--brand)!important;box-shadow:none!important}.cy-resize-handle{background:var(--brand);cursor:se-resize;z-index:10;pointer-events:auto;border:2px solid #fff;border-radius:50%;width:12px;height:12px;display:none;position:absolute;transform:translate(-50%,-50%)}.context-menu-colors{flex-wrap:wrap;gap:5px;padding:4px 10px 8px;display:flex}.context-menu-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:4px;outline:2px solid #0000;width:22px;height:22px;padding:0;transition:transform .1s,outline-color .1s}.context-menu-color-swatch:hover{outline-width:2px;outline-style:solid;transform:scale(1.25)}.context-menu-line-btns{flex-wrap:wrap;gap:4px;padding:4px 10px 8px;display:flex}.context-menu-line-btn{border:1px solid var(--surface-2-border);background:var(--surface-1);color:var(--fg);cursor:pointer;border-radius:4px;padding:3px 10px;font-size:.7rem;transition:background .1s}.context-menu-line-btn:hover{background:var(--surface-2)}.context-menu-port-side-row{align-items:center;gap:4px;padding:2px 10px;display:flex}.context-menu-port-name{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.72rem;overflow:hidden}.context-menu-port-side-btn{border:1px solid var(--surface-2-border);background:var(--surface-1);color:var(--fg-muted);cursor:pointer;border-radius:3px;padding:2px 6px;font-size:.65rem;font-weight:600;transition:background .1s}.context-menu-port-side-btn:hover{background:var(--surface-2)}.context-menu-port-side-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.architecture-canvas-multisel{background:color-mix(in oklch, var(--warning,#f59e0b) 18%, transparent);color:var(--warning,#f59e0b);border:1px solid color-mix(in oklch, var(--warning,#f59e0b) 40%, transparent);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600}.architecture-canvas.no-grid .joint-grid{display:none}.model-explorer-block-item{cursor:grab}.model-explorer-block-item:active{cursor:grabbing}.model-explorer-tree-toggle,.model-explorer-tree-spacer{text-align:center;width:12px;color:var(--fg-muted);flex-shrink:0;margin-right:2px;font-size:9px;line-height:1;display:inline-block}.model-explorer-tree-toggle{cursor:pointer}.model-explorer-tree-toggle:hover{color:var(--fg)}.model-explorer-drop-target{outline:1px dashed var(--brand);outline-offset:-1px;background-color:color-mix(in oklch, var(--brand) 14%, transparent)}.arch-toolbar-sep{background:var(--surface-3-border);flex-shrink:0;width:1px;height:16px;margin:0 4px}.arch-toolbar-label{color:var(--fg-muted);white-space:nowrap;font-size:11px}.arch-toolbar-select{border:1px solid var(--surface-3-border);background:var(--surface-1);color:var(--fg);border-radius:4px;max-width:140px;padding:1px 4px;font-size:11px}.architecture-inspector{border-left:1px solid var(--surface-2-border);background-color:var(--surface-2);flex-direction:column;padding:.75rem;display:flex;overflow-y:auto}.inspector-empty{color:var(--fg-muted);font-size:.8rem}.block-editor{flex-direction:column;gap:.6rem;display:flex}.inspector-field{flex-direction:column;gap:.3rem;display:flex}.inspector-input{box-sizing:border-box;width:100%}.inspector-section{flex-direction:column;gap:.35rem;display:flex}.inspector-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);border-bottom:1px solid var(--surface-2-border);padding-bottom:.2rem;font-size:.68rem;font-weight:700}.inspector-row{align-items:center;gap:.3rem;display:flex}.inspector-row .inspector-input{flex:auto}.inspector-row .cell-select{flex:0 110px}.bom-panel{flex-direction:column;gap:.4rem;display:flex}.bom-panel-header{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.bom-panel-title{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);font-size:.68rem;font-weight:700}.bom-panel-actions{gap:.3rem;display:flex}.bom-panel-actions .btn-secondary{padding:.15rem .4rem;font-size:.68rem}.bom-import{border:1px solid var(--surface-2-border);background-color:var(--surface-1);border-radius:3px;flex-direction:column;gap:.4rem;padding:.5rem;display:flex}.bom-import-hint{color:var(--fg-muted);margin:0;font-size:.7rem}.bom-import-paste{flex-direction:column;gap:.3rem;display:flex}.bom-import-preview{color:var(--fg);font-size:.72rem}.bom-list{flex-direction:column;gap:.25rem;display:flex}.bom-line{border:1px solid var(--surface-1-border);background-color:var(--surface-1);border-radius:2px;align-items:center;gap:.3rem;padding:.2rem .4rem;font-size:.72rem;display:flex}.bom-line-qty{font-family:var(--font-mono);color:var(--brand);flex-shrink:0}.bom-line-part{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.bom-line-mfr{font-family:var(--font-mono);color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.62rem;overflow:hidden}.bom-line-status{text-transform:uppercase;letter-spacing:.03em;color:var(--warning-fg);flex-shrink:0;font-size:.62rem}.bom-line-resolved{color:var(--success-fg)}.badge-status-neutral{background-color:color-mix(in oklch, var(--neutral) 50%, transparent);border:1px solid color-mix(in oklch, var(--neutral) 30%, transparent);color:var(--neutral-fg-muted)}.badge-status-success{background-color:color-mix(in oklch, var(--success) 60%, transparent);border:1px solid color-mix(in oklch, var(--success) 35%, transparent);color:var(--success-fg)}.dashboard-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.dashboard-header{border-bottom:1px solid var(--surface-2-border);flex-shrink:0;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.dashboard-tab-group{gap:.25rem;display:flex}.dashboard-tab{font-family:var(--font-ui);color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;height:26px;padding:.2rem .6rem;font-size:.78125rem;font-weight:500;transition:color .1s,background-color .1s,border-color .1s}.dashboard-tab:hover{color:var(--fg);background-color:var(--subtle)}.dashboard-tab-active{color:var(--fg);background-color:var(--surface-2);border-color:var(--surface-2-border)}.dashboard-toolbar{flex-shrink:0;justify-content:flex-end;padding:.6rem 1rem 0;display:flex}.dashboard-loading,.dashboard-login-hint{color:var(--fg-muted);flex:1;justify-content:center;align-items:center;padding:2rem;font-size:.875rem;display:flex}.dashboard-empty{color:var(--fg-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;font-size:.875rem;display:flex}.dashboard-grid-container{flex-direction:column;flex:1;gap:.6rem;padding:.75rem 1rem 1rem;display:flex;overflow-y:auto}.dashboard-grid{grid-template-columns:repeat(12,1fr);gap:.75rem;display:grid}.widget{background-color:var(--surface-2);border:1px solid var(--surface-2-border);border-radius:4px;flex-direction:column;min-height:120px;transition:border-color .1s,box-shadow .1s;display:flex}.widget-col-3{grid-column:span 3}.widget-col-4{grid-column:span 4}.widget-col-6{grid-column:span 6}.widget-col-12{grid-column:span 12}@media (width<=900px){.widget-col-3,.widget-col-4{grid-column:span 6}}@media (width<=600px){.dashboard-grid{grid-template-columns:1fr}.widget-col-3,.widget-col-4,.widget-col-6,.widget-col-12{grid-column:span 1}}.widget-dragging{opacity:.4}.widget-drag-over{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.widget-header{border-bottom:1px solid var(--surface-2-border);flex-shrink:0;align-items:center;gap:.4rem;padding:.45rem .55rem .45rem .4rem;display:flex}.widget-drag-handle{color:var(--fg-muted);cursor:grab;user-select:none;opacity:.5;flex-shrink:0;font-size:1rem;line-height:1;transition:opacity .1s}.widget-drag-handle:hover{opacity:1}.widget-title{color:var(--fg);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;user-select:none;flex:1;font-size:.78125rem;font-weight:600;overflow:hidden}.widget-title:hover{text-underline-offset:2px;text-decoration:underline}.widget-title-input{font-family:var(--font-ui);color:var(--fg);outline:1px solid var(--brand);background:0 0;border:none;border-radius:2px;flex:1;padding:.1rem .25rem;font-size:.78125rem;font-weight:600}.widget-header-actions{flex-shrink:0;align-items:center;gap:.2rem;display:flex}.widget-action-btn{width:22px;height:22px;color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;transition:color .1s,background-color .1s;display:inline-flex}.widget-action-btn:hover{color:var(--fg);background-color:var(--subtle)}.widget-options-wrapper{position:relative}.widget-options-menu{background-color:var(--surface-2);border:1px solid var(--surface-2-border);z-index:100;border-radius:4px;min-width:140px;padding:.25rem 0;position:absolute;top:calc(100% + 2px);right:0;box-shadow:0 4px 16px #00000040}.widget-options-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);padding:.2rem .6rem .1rem;font-size:.625rem;font-weight:700}.widget-options-item{text-align:left;width:100%;font-family:var(--font-ui);color:var(--fg);cursor:pointer;background:0 0;border:none;padding:.3rem .6rem;font-size:.75rem;transition:background-color 80ms;display:block}.widget-options-item:hover{background-color:var(--subtle)}.widget-options-item-active{color:var(--brand-fg-muted)}.widget-options-item-danger{color:var(--danger-fg)}.widget-options-item-danger:hover{background-color:color-mix(in oklch, var(--danger) 10%, transparent)}.widget-options-divider{background-color:var(--surface-2-border);height:1px;margin:.25rem 0}.widget-content{flex:1;padding:.65rem;overflow:auto}.widget-loading,.widget-empty{color:var(--fg-muted);text-align:center;padding:.5rem;font-size:.8125rem}.widget-unknown{color:var(--warning-fg);padding:.5rem;font-size:.75rem}.widget-delete-confirm{border-top:1px solid var(--surface-2-border);background-color:color-mix(in oklch, var(--danger) 8%, transparent);color:var(--danger-fg);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.75rem;display:flex}.widget-delete-actions{gap:.35rem;display:flex}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.4rem;display:grid}.stat-card{background-color:var(--surface-3);border:1px solid var(--surface-3-border);border-radius:3px;align-items:center;gap:.5rem;padding:.45rem .55rem;display:flex}.stat-card-icon{color:var(--brand-fg-muted);flex-shrink:0;display:flex}.stat-card-body{flex-direction:column;gap:.05rem;min-width:0;display:flex}.stat-card-value{font-family:var(--font-mono);color:var(--fg);font-size:1.125rem;font-weight:700;line-height:1}.stat-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);font-size:.625rem;font-weight:600}.quality-list{flex-direction:column;gap:.3rem;display:flex}.quality-row{background-color:var(--surface-3);border:1px solid var(--surface-3-border);border-radius:3px;padding:.3rem .45rem}.quality-row-header{align-items:center;gap:.4rem;display:flex}.quality-indicator{text-align:center;flex-shrink:0;width:14px;font-size:.75rem;font-weight:700}.quality-ok .quality-indicator{color:var(--success-fg)}.quality-warn .quality-indicator{color:var(--warning-fg)}.quality-error .quality-indicator{color:var(--danger-fg)}.quality-ok{border-color:color-mix(in oklch, var(--success) 20%, var(--surface-3-border))}.quality-warn{border-color:color-mix(in oklch, var(--warning) 30%, var(--surface-3-border))}.quality-error{border-color:color-mix(in oklch, var(--danger) 30%, var(--surface-3-border))}.quality-label{color:var(--fg);flex:1;font-size:.75rem}.quality-count{font-family:var(--font-mono);color:var(--fg-muted);flex-shrink:0;font-size:.6875rem;font-weight:700}.quality-issue-list{flex-direction:column;gap:.1rem;margin:0;padding:.2rem 0 0 1.1rem;list-style:none;display:flex}.quality-issue-item{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.quality-issue-item:before{content:"·";opacity:.5;margin-right:.3rem}.quality-issue-more{color:var(--brand-fg-muted);padding-left:.7rem;font-size:.6875rem}.activity-list{flex-direction:column;gap:.3rem;max-height:280px;display:flex;overflow-y:auto}.activity-item{border-bottom:1px solid var(--surface-2-border);align-items:center;gap:.5rem;padding:.3rem .2rem;display:flex}.activity-item:last-child{border-bottom:none}.activity-icon{color:var(--fg-muted);flex-shrink:0}.activity-body{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.activity-title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:.78125rem;overflow:hidden}.activity-meta{color:var(--fg-muted);font-size:.625rem}.activity-kind-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);opacity:.7;flex-shrink:0;font-size:.6rem;font-weight:700}.upcoming-tasks-widget{flex-direction:column;gap:.4rem;display:flex}.upcoming-filter-bar{align-items:center;gap:.35rem;display:flex}.upcoming-filter-label{color:var(--fg-muted);white-space:nowrap;font-size:.6875rem}.upcoming-filter-select{color:var(--fg);background:var(--surface-2);border:1px solid var(--surface-2-border);cursor:pointer;border-radius:4px;flex:1;min-width:0;padding:.1rem .3rem;font-size:.6875rem}.upcoming-avatar{background:var(--brand-bg);width:22px;height:22px;color:var(--brand-fg);letter-spacing:.01em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.5625rem;font-weight:700;display:flex}.upcoming-avatar-empty{background:var(--surface-2)}.upcoming-list{flex-direction:column;gap:.3rem;max-height:300px;display:flex;overflow-y:auto}.upcoming-item{border-bottom:1px solid var(--surface-2-border);align-items:center;gap:.5rem;padding:.3rem .2rem;display:flex}.upcoming-item:last-child{border-bottom:none}.upcoming-item-main{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.upcoming-title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:.78125rem;overflow:hidden}.upcoming-assignee{color:var(--fg-muted);font-size:.6rem}.upcoming-item-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.15rem;display:flex}.upcoming-due{font-size:.625rem;font-weight:600;font-family:var(--font-mono)}.task-due-overdue{color:var(--danger)}.task-due-urgent{color:var(--warning)}.task-due-soon{color:var(--brand)}.task-due-ok{color:var(--fg-muted)}.query-table-widget{flex-direction:column;gap:.45rem;display:flex}.query-table-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.query-table-info{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;overflow:hidden}.query-config-panel{background-color:var(--surface-3);border:1px solid var(--surface-3-border);border-radius:3px;flex-direction:column;gap:.4rem;padding:.5rem .6rem;display:flex}.query-config-row{align-items:center;gap:.5rem;display:flex}.query-config-label{color:var(--fg-muted);flex-shrink:0;width:46px;font-size:.6875rem;font-weight:600}.query-config-select{height:24px;padding:0 .35rem!important;font-size:.75rem!important}.query-config-actions{justify-content:flex-end;gap:.35rem;display:flex}.query-result-list{flex-direction:column;gap:.2rem;max-height:260px;display:flex;overflow-y:auto}.query-result-row{border-bottom:1px solid var(--surface-2-border);align-items:center;gap:.4rem;padding:.2rem;display:flex}.query-result-row:last-child{border-bottom:none}.query-result-title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78125rem;overflow:hidden}.query-result-detail{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:.6875rem;overflow:hidden}.query-result-badge{flex-shrink:0}.coverage-widget{flex-direction:column;gap:.6rem;display:flex}.coverage-bar-container{flex-direction:column;gap:.3rem;display:flex}.coverage-bar{background-color:var(--surface-3);border-radius:5px;height:10px;display:flex;overflow:hidden}.coverage-bar-full{background-color:var(--success);transition:width .3s}.coverage-bar-partial{background-color:var(--warning);transition:width .3s}.coverage-bar-none{background-color:var(--danger);transition:width .3s}.coverage-bar-pct{color:var(--fg-muted);font-size:.6875rem;font-weight:600}.coverage-legend{flex-direction:column;gap:.2rem;display:flex}.coverage-legend-item{color:var(--fg-muted);align-items:center;gap:.4rem;font-size:.6875rem;display:flex}.coverage-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.coverage-dot-full{background-color:var(--success)}.coverage-dot-partial{background-color:var(--warning)}.coverage-dot-none{background-color:var(--danger)}.coverage-count{font-family:var(--font-mono);color:var(--fg);margin-left:auto;font-size:.6875rem;font-weight:700}.coverage-uncovered{border-top:1px solid var(--surface-2-border);flex-direction:column;gap:.15rem;padding-top:.4rem;display:flex}.coverage-uncovered-label{text-transform:uppercase;letter-spacing:.04em;color:var(--danger);margin-bottom:.1rem;font-size:.625rem;font-weight:700}.coverage-uncovered-item{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;padding-left:.4rem;font-size:.6875rem;overflow:hidden}.note-widget{flex-direction:column;gap:.4rem;display:flex}.note-widget-text{font-family:var(--font-ui);color:var(--fg);white-space:pre-wrap;word-break:break-word;cursor:pointer;border-radius:3px;min-height:40px;margin:0;padding:.1rem;font-size:.8125rem;line-height:1.55;transition:background-color .1s}.note-widget-text:hover{background-color:var(--subtle)}.note-widget-empty{cursor:pointer;border:1px dashed var(--surface-2-border);min-height:40px;color:var(--fg-muted);border-radius:3px;justify-content:center;align-items:center;font-size:.78125rem;display:flex}.note-widget-textarea{font-family:var(--font-ui);color:var(--fg);background-color:var(--surface-3);border:1px solid var(--brand);resize:vertical;box-sizing:border-box;border-radius:3px;outline:none;width:100%;padding:.4rem .5rem;font-size:.8125rem;line-height:1.55}.note-widget-actions{justify-content:flex-end;gap:.35rem;display:flex}.add-widget-dialog{width:95vw;max-width:560px}.add-widget-body{flex-direction:column;gap:1rem;padding:.75rem 1rem 1rem;display:flex}.add-widget-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.widget-type-card{text-align:left;background-color:var(--surface-3);border:1px solid var(--surface-3-border);cursor:pointer;border-radius:4px;flex-direction:column;gap:.2rem;padding:.5rem .65rem;transition:border-color .1s,background-color .1s;display:flex}.widget-type-card:hover{border-color:var(--surface-2-border-em);background-color:var(--surface-2)}.widget-type-card-selected{border-color:var(--brand)!important;background-color:color-mix(in oklch, var(--brand) 8%, var(--surface-3))!important}.widget-type-card-label{font-family:var(--font-ui);color:var(--fg);font-size:.8125rem;font-weight:600}.widget-type-card-desc{font-family:var(--font-ui);color:var(--fg-muted);font-size:.6875rem;line-height:1.4}.add-widget-options{align-items:center;gap:.75rem;display:flex}.add-widget-options-label{color:var(--fg-muted);flex-shrink:0;font-size:.78125rem;font-weight:600}.col-span-picker{gap:.3rem;display:flex}.col-span-btn{font-family:var(--font-ui);color:var(--fg-muted);background-color:var(--surface-3);border:1px solid var(--surface-3-border);cursor:pointer;border-radius:2px;padding:.15rem .5rem;font-size:.75rem;font-weight:500;transition:border-color .1s,color .1s}.col-span-btn:hover{border-color:var(--surface-2-border-em);color:var(--fg)}.col-span-btn-active{color:var(--brand-fg-muted)!important;border-color:var(--brand)!important;background-color:color-mix(in oklch, var(--brand) 10%, var(--surface-3))!important}
