*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-jakarta),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-mono),monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.block{display:block}.inline{display:inline}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.italic{font-style:italic}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--t-fast:120ms ease;--t-normal:200ms ease;--bg-base:#ffffff;--bg-elevated:#f9fafb;--bg-surface:#f3f4f6;--bg-surface-hover:#ebedf0;--bg-surface-active:#e2e5e9;--bg-overlay:rgba(20,22,28,0.42);--border-subtle:#eceef1;--border-default:#d9dce1;--border-strong:#c4c8cf;--text-primary:#1a1b1f;--text-secondary:#62666d;--text-tertiary:#9aa0a8;--text-inverse:#ffffff;--accent:#5b60e0;--accent-hover:#4a4fc9;--accent-subtle:rgba(91,96,224,0.08);--accent-glow:rgba(91,96,224,0.12);--c-done:#2d9b6a;--c-done-bg:rgba(45,155,106,0.10);--c-progress:#3b7be0;--c-progress-bg:rgba(59,123,224,0.10);--c-todo:#7d818a;--c-todo-bg:rgba(125,129,138,0.10);--c-blocked:#dc4444;--c-blocked-bg:rgba(220,68,68,0.10);--c-saas:#3b7be0;--c-saas-bg:rgba(59,123,224,0.08);--c-project:#9a7530;--c-project-bg:rgba(154,117,48,0.08);--c-finance:#7c5ce8;--c-finance-bg:rgba(124,92,232,0.10);--c-recovery:#2d9b6a;--c-recovery-bg:rgba(45,155,106,0.10);--p0:#dc4444;--p1:#d97a1e;--p2:#3b7be0;--p3:#7d818a;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 2px 8px rgba(0,0,0,0.06);--shadow-lg:0 12px 32px rgba(0,0,0,0.12);--scrollbar-thumb:#c4c8cf;--scrollbar-hover:#a8acb4}:root[data-theme=dark]{--bg-base:#08090a;--bg-elevated:#0d0e10;--bg-surface:#141516;--bg-surface-hover:#1c1d1f;--bg-surface-active:#232427;--bg-overlay:rgba(0,0,0,0.64);--border-subtle:#1a1b1e;--border-default:#26272a;--border-strong:#333438;--text-primary:#f2f3f5;--text-secondary:#8b8d94;--text-tertiary:#56575d;--text-inverse:#ffffff;--accent:#5e6ad2;--accent-hover:#7079e0;--accent-subtle:rgba(94,106,210,0.12);--accent-glow:rgba(94,106,210,0.25);--c-done:#4cb782;--c-done-bg:rgba(76,183,130,0.12);--c-progress:#5790f2;--c-progress-bg:rgba(87,144,242,0.12);--c-todo:#8b8d94;--c-todo-bg:rgba(139,141,148,0.12);--c-blocked:#eb5757;--c-blocked-bg:rgba(235,87,87,0.12);--c-saas:#5790f2;--c-saas-bg:rgba(87,144,242,0.10);--c-project:#c79a5e;--c-project-bg:rgba(199,154,94,0.10);--c-finance-bg:rgba(124,92,232,0.13);--c-recovery:#4cb782;--c-recovery-bg:rgba(76,183,130,0.12);--p0:#eb5757;--p1:#f2a43a;--p2:#5790f2;--p3:#8b8d94;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.4);--shadow-lg:0 18px 48px rgba(0,0,0,0.52);--scrollbar-thumb:#333438;--scrollbar-hover:#404145}html{font-size:14px}body,html{background:var(--bg-base)}body{height:100vh;overflow:hidden;color:var(--text-primary);font-family:var(--font-jakarta),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}a,button{color:inherit}a{text-decoration:none}::-moz-selection{background:var(--accent-subtle);color:var(--text-primary)}::selection{background:var(--accent-subtle);color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.app-shell{display:flex;height:100vh;background:var(--bg-base)}.login-page{min-height:100vh;display:grid;place-items:center;overflow:auto;padding:32px 18px;background:radial-gradient(circle at 18% 15%,var(--accent-glow),transparent 28%),linear-gradient(145deg,var(--bg-base),var(--bg-elevated))}.login-card{width:min(100%,392px);padding:26px;border:1px solid var(--border-default);border-radius:var(--r-xl);background:color-mix(in srgb,var(--bg-elevated) 95%,transparent);box-shadow:var(--shadow-lg)}.login-brand{display:flex;align-items:center;gap:9px;color:var(--text-primary);font-family:var(--font-sora);letter-spacing:-.2px}.login-brand>span{width:31px;height:31px;display:grid;place-items:center;border-radius:var(--r-lg);background:var(--accent);color:white;box-shadow:0 7px 18px var(--accent-glow)}.login-intro{padding:34px 0 24px;text-align:center}.login-lock{width:43px;height:43px;display:grid;place-items:center;margin:0 auto 15px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border-default));border-radius:50%;background:var(--accent-subtle);color:var(--accent)}.login-intro h1{font-family:var(--font-sora);font-size:21px;font-weight:600;letter-spacing:-.45px}.login-intro p{margin-top:7px;color:var(--text-tertiary);font-size:12px}.login-form{display:grid;gap:15px}.login-form label{display:grid;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:500}.login-form input{width:100%;height:40px;padding:0 11px;border:1px solid var(--border-default);border-radius:var(--r-md);outline:0;background:var(--bg-base);color:var(--text-primary);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.login-error{padding:9px 10px;border:1px solid color-mix(in srgb,var(--c-blocked) 28%,transparent);border-radius:var(--r-md);background:var(--c-blocked-bg);color:var(--c-blocked);font-size:12px}.login-submit{width:100%;height:40px;margin-top:3px}.login-card footer{display:flex;align-items:center;gap:9px;margin-top:24px;color:var(--text-tertiary);font-size:10px;text-align:center}.login-card footer span{height:1px;flex:1;background:var(--border-subtle)}.login-card footer p{white-space:nowrap}.main-shell{min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-base)}.app-content{flex:1;min-height:0;overflow:auto}.main-shell,.sidebar,.stats-bar,.topbar{transition:background var(--t-normal),border-color var(--t-normal)}.sidebar{width:248px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-elevated);border-right:1px solid var(--border-subtle)}.sidebar-header{display:flex;align-items:center;gap:10px;padding:16px 16px 12px}.logo-icon{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;color:var(--text-inverse);background:linear-gradient(135deg,#5e6ad2,#7c89e8);border-radius:var(--r-md);box-shadow:0 0 12px var(--accent-glow)}.logo-text{font-family:var(--font-sora);font-size:15px;font-weight:600;letter-spacing:-.3px}.sidebar-section{padding:4px 8px}.sidebar-label{padding:8px 12px 4px;color:var(--text-tertiary);font-size:10px;font-weight:600;letter-spacing:.65px;text-transform:uppercase}.nav-item,.nav-sub-item{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:10px;border-radius:var(--r-md);cursor:pointer;color:var(--text-secondary);font-weight:500;transition:background var(--t-fast),color var(--t-fast)}.nav-item{padding:6px 12px;font-size:13px}.nav-sub-item{position:relative;padding:5px 12px 5px 36px;font-size:12.5px}.nav-sub-item:before{content:"";position:absolute;left:18px;width:6px;height:1.5px;border-radius:2px;background:var(--border-strong)}.nav-sub-item.has-mark:before{display:none}.nav-sub-mark{position:absolute;left:18px;width:6px;height:6px;border-radius:50%;opacity:.8}.nav-inline-icon{position:absolute;left:17px;width:11px;height:11px;color:var(--text-tertiary)}.nav-item:hover,.nav-sub-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.nav-item.active,.nav-sub-item.active{background:var(--bg-surface-active);color:var(--text-primary)}.nav-icon{width:16px;height:16px;flex-shrink:0;opacity:.8}.product-mark{width:8px;height:8px;flex-shrink:0;border-radius:2px}.nav-count{margin-left:auto;padding:1px 6px;border-radius:var(--r-sm);background:var(--bg-surface);color:var(--text-tertiary);font-size:11px}.active .nav-count{color:var(--accent-hover);background:var(--accent-subtle)}.sidebar-spacer{flex:1}.sidebar-footer{padding:8px;border-top:1px solid var(--border-subtle)}.settings-entry{width:100%;display:flex;align-items:center;gap:9px;margin-bottom:3px;padding:7px 8px;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.settings-entry:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.settings-entry-icon{width:26px;height:26px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-secondary)}.settings-entry-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.settings-entry-copy>span{font-size:12px;font-weight:500}.settings-entry-copy small{color:var(--text-tertiary);font-size:10px}.settings-entry-arrow{color:var(--text-tertiary);transition:transform var(--t-fast)}.settings-entry:hover .settings-entry-arrow{transform:translateX(2px)}.user-card{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:var(--r-md)}.user-card-copy{min-width:0;flex:1}.user-logout{width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.user-logout:focus-visible,.user-logout:hover{outline:0;background:var(--bg-surface);color:var(--text-primary)}.avatar{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--accent-subtle);color:var(--accent-hover);font-family:var(--font-sora);font-size:10px;font-weight:700}.user-name{font-size:12px;font-weight:500}.user-role{margin-top:1px;color:var(--text-tertiary);font-size:10.5px}.topbar{height:52px;flex-shrink:0;gap:12px;padding:0 24px;border-bottom:1px solid var(--border-subtle)}.breadcrumb,.topbar{display:flex;align-items:center}.breadcrumb{gap:8px;color:var(--text-secondary);font-size:13px}.breadcrumb-current{color:var(--text-primary);font-weight:500}.topbar-spacer{flex:1}.search-box{width:260px;height:30px;display:flex;align-items:center;gap:8px;padding:0 9px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:12px}.search-box input::-moz-placeholder{color:var(--text-tertiary)}.search-box input::placeholder{color:var(--text-tertiary)}.kbd{padding:2px 5px;border:1px solid var(--border-default);border-radius:3px;background:var(--bg-surface-active);color:var(--text-tertiary);font-family:var(--font-mono);font-size:9px}.btn{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-outline{background:var(--bg-surface);color:var(--text-secondary);border-color:var(--border-default)}.btn-outline:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.btn-danger{color:var(--c-blocked)}.icon-btn{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.icon-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.list-page{min-width:920px;animation:fade-in var(--t-normal)}.list-header{padding:20px 24px 0}.list-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.list-title{font-family:var(--font-sora);font-size:20px;font-weight:600;letter-spacing:-.4px}.list-subtitle{margin-top:3px;color:var(--text-tertiary);font-size:12px}.stats-bar{gap:12px;padding:16px 0}.stat-card,.stats-bar{display:flex;align-items:center}.stat-card{min-width:102px;gap:8px;padding:7px 12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.stat-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%}.stat-num{font-family:var(--font-sora);font-size:15px;font-weight:600}.stat-label{color:var(--text-tertiary);font-size:11px}.sub-filters{gap:8px}.list-toolbar,.sub-filters{min-height:50px;display:flex;align-items:center;border-bottom:1px solid var(--border-subtle)}.list-toolbar .sub-filters{flex:1;min-height:0;border-bottom:0}.filter-spacer{flex:1}.select-trigger{min-width:0;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-default);border-radius:var(--r-md);outline:0;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast),color var(--t-fast)}.select-trigger:hover:not([data-disabled]){border-color:var(--border-strong);background:var(--bg-surface-hover);color:var(--text-primary)}.select-trigger:focus-visible,.select-trigger[data-state=open]{border-color:var(--accent);background:var(--bg-surface);color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.select-trigger[data-disabled]{opacity:.48;cursor:not-allowed}.select-option-value,.select-trigger-value{min-width:0;display:flex;align-items:center;gap:7px}.select-trigger-value{flex:1;overflow:hidden;text-align:left;white-space:nowrap}.select-option-value>span:last-child,.select-trigger-value>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-chevron{flex-shrink:0;color:var(--text-tertiary);transition:transform var(--t-fast),color var(--t-fast)}.select-trigger[data-state=open] .select-chevron{color:var(--accent-hover);transform:rotate(180deg)}.select-filter{height:28px;padding:0 9px 0 10px;font-size:12px}.select-form{width:100%;min-height:36px;padding:0 10px;font-size:13px}.select-property{width:100%;min-height:34px;padding:0 9px;border-color:var(--border-subtle);font-size:12px}.select-content{z-index:320;width:max(var(--radix-select-trigger-width),136px);max-width:calc(100vw - 24px);overflow:hidden;border:1px solid var(--border-default);border-radius:var(--r-lg);outline:0;background:color-mix(in srgb,var(--bg-elevated) 96%,transparent);box-shadow:var(--shadow-lg);transform-origin:var(--radix-select-content-transform-origin);backdrop-filter:blur(16px);animation:select-content-in .14s cubic-bezier(.16,1,.3,1)}.select-viewport{max-height:min(300px,var(--radix-select-content-available-height));padding:5px}.select-item{position:relative;min-height:30px;display:flex;align-items:center;padding:6px 32px 6px 9px;border-radius:5px;outline:0;color:var(--text-secondary);cursor:pointer;font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--t-fast),color var(--t-fast)}.select-item[data-highlighted]{background:var(--bg-surface-hover);color:var(--text-primary)}.select-item[data-state=checked]{background:var(--accent-subtle);color:var(--text-primary);font-weight:500}.select-item[data-disabled]{opacity:.4;pointer-events:none}.select-option-value{width:100%}.select-item-indicator{position:absolute;right:9px;display:grid;place-items:center;color:var(--accent-hover)}.select-scroll-button{height:24px;display:grid;place-items:center;color:var(--text-tertiary);background:var(--bg-elevated)}.select-tone-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 10%,transparent)}.select-tone-dot[data-tone=todo]{background:var(--c-todo);color:var(--c-todo)}.select-tone-dot[data-tone=progress]{background:var(--c-progress);color:var(--c-progress)}.select-tone-dot[data-tone=done]{background:var(--c-done);color:var(--c-done)}.select-tone-dot[data-tone=blocked],.select-tone-dot[data-tone=p0]{background:var(--p0);color:var(--p0)}.select-tone-dot[data-tone=p1]{background:var(--p1);color:var(--p1)}.select-tone-dot[data-tone=p2],.select-tone-dot[data-tone=saas]{background:var(--p2);color:var(--p2)}.select-tone-dot[data-tone=p3]{background:var(--p3);color:var(--p3)}.select-tone-dot[data-tone=custom]{background:var(--c-project);color:var(--c-project)}.req-table{width:100%}.req-grid{display:grid;grid-template-columns:28px 70px minmax(260px,1fr) 78px 140px 78px 50px 110px 76px;align-items:center;gap:8px}.req-table-header{min-height:42px;padding:8px 24px;border-bottom:1px solid var(--border-subtle);background:var(--bg-base);color:var(--text-tertiary);font-size:10px;font-weight:600;letter-spacing:.55px;text-transform:uppercase;transition:background var(--t-normal),box-shadow var(--t-normal),border-color var(--t-normal)}.req-table-header .req-checkbox{margin-left:0}.req-group-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:6px;padding:10px 24px 6px;background:color-mix(in srgb,var(--bg-base) 94%,transparent);color:var(--text-tertiary);font-size:10.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;backdrop-filter:blur(8px)}.group-count{font-weight:500}.req-row{width:100%;padding:10px 24px;border:0;border-bottom:1px solid var(--border-subtle);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background var(--t-fast);animation:slide-in .15s ease backwards}.req-row:hover{background:var(--bg-elevated)}.req-row.selected{background:var(--accent-subtle);box-shadow:inset 2px 0 var(--accent)}.req-row.selected:hover{background:color-mix(in srgb,var(--accent) 11%,var(--bg-base))}.req-row:nth-child(2){animation-delay:30ms}.req-row:nth-child(3){animation-delay:60ms}.req-row:nth-child(4){animation-delay:90ms}.req-row:nth-child(5){animation-delay:.12s}.req-checkbox{width:16px;height:16px;display:grid;place-items:center;border:1.5px solid var(--border-strong);border-radius:3px;outline:0;background:transparent;color:var(--text-inverse);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.req-checkbox:hover{border-color:var(--accent)}.req-checkbox:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.req-checkbox.checked{border-color:var(--accent);background:var(--accent);color:var(--text-inverse)}.req-id{color:var(--text-tertiary);font-family:var(--font-mono);font-size:11px;font-weight:500}.req-title-row{display:flex;align-items:center;gap:8px}.req-title-cell,.req-title-row{min-width:0;overflow:hidden}.priority-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%}.req-title{min-width:0;overflow:hidden;color:var(--text-primary);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.req-tags-mini{display:flex;gap:4px;margin-left:4px}.mini-tag{padding:1px 6px;border-radius:3px;background:var(--bg-surface);font-size:10px}.mini-tag,.req-date{color:var(--text-tertiary);white-space:nowrap}.req-date{font-size:11.5px;font-variant-numeric:tabular-nums}.requirement-nature{max-width:100%;display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border-radius:var(--r-sm);font-size:9px;white-space:nowrap}.requirement-nature>span:last-child{overflow:hidden;text-overflow:ellipsis}.requirement-nature.standard{background:var(--c-saas-bg);color:var(--c-saas)}.requirement-nature.custom{background:var(--c-project-bg);color:var(--c-project)}.col-status,.col-type{min-width:0;overflow:hidden}.due-date{width:-moz-fit-content;width:fit-content;max-width:100%;min-height:24px;display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border-subtle));border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 5%,var(--bg-base));color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.due-date svg{flex-shrink:0;color:var(--accent-hover)}.due-date.empty{border-color:transparent;background:transparent;color:var(--text-tertiary);font-family:inherit}.badge,.updated-at{font-size:10.5px}.badge{width:-moz-fit-content;width:fit-content;max-width:100%;display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-sm);font-weight:500;white-space:nowrap}.badge-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:currentColor}.badge-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-todo{color:var(--c-todo);background:var(--c-todo-bg)}.badge-progress{color:var(--c-progress);background:var(--c-progress-bg)}.badge-done{color:var(--c-done);background:var(--c-done-bg)}.badge-blocked{color:var(--c-blocked);background:var(--c-blocked-bg)}.badge-saas{color:var(--c-saas);background:var(--c-saas-bg)}.badge-custom{color:var(--c-project);background:var(--c-project-bg)}.badge-finance{color:var(--c-finance);background:var(--c-finance-bg);font-weight:600}.badge-recovery{color:var(--c-recovery);background:var(--c-recovery-bg);font-weight:600}.priority-pill{font-family:var(--font-mono);font-size:10.5px;font-weight:600}.priority-pill.p0{color:var(--p0)}.priority-pill.p1{color:var(--p1)}.priority-pill.p2{color:var(--p2)}.priority-pill.p3{color:var(--p3)}.empty-state{min-height:320px;display:grid;place-items:center;padding:56px 24px;text-align:center;color:var(--text-tertiary)}.empty-icon{width:44px;height:44px;display:grid;place-items:center;margin:0 auto 12px;border-radius:var(--r-xl);background:var(--bg-surface);color:var(--text-tertiary)}.empty-title{color:var(--text-secondary);font-size:13px;font-weight:600}.empty-copy{margin-top:4px;font-size:11.5px}.loading-block{display:flex;align-items:center;gap:8px;padding:40px 24px;color:var(--text-tertiary);font-size:12px}.spinner{width:14px;height:14px;border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.detail-page{min-height:100%;animation:fade-in var(--t-normal)}.detail-back{display:inline-flex;align-items:center;gap:6px;margin:12px 24px 0;padding:5px 0;color:var(--text-secondary);font-size:12px;transition:color var(--t-fast)}.detail-back:hover{color:var(--text-primary)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px}.detail-main{min-width:0;padding:14px 36px 64px 24px}.detail-sidebar{min-height:calc(100vh - 64px);padding:18px 20px;border-left:1px solid var(--border-subtle);background:var(--bg-elevated)}.detail-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px}.detail-id{color:var(--text-tertiary);font-family:var(--font-mono);font-size:12px}.detail-title{max-width:850px;font-family:var(--font-sora);font-size:22px;font-weight:600;letter-spacing:-.45px;line-height:1.35}.detail-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}.detail-section{margin-top:32px}.detail-section-title{display:flex;align-items:center;gap:6px;margin-bottom:12px;color:var(--text-tertiary);font-size:10.5px;font-weight:600;letter-spacing:.55px;text-transform:uppercase}.description-content{color:var(--text-secondary);font-size:13px;line-height:1.75}.description-content h1,.description-content h2,.description-content h3{margin:20px 0 8px;color:var(--text-primary);font-family:var(--font-sora);font-size:14px;font-weight:600}.description-content h1:first-child,.description-content h2:first-child{margin-top:0}.description-content p{margin:8px 0}.description-content ul{padding-left:20px;list-style:disc}.description-content ol{padding-left:20px;list-style:decimal}.description-content ul ul{list-style:circle}.description-content ol ol,.description-content ul ol{list-style:lower-alpha}.description-content li{margin:4px 0}.description-content code{padding:1px 5px;border-radius:3px;background:var(--bg-surface);color:var(--accent-hover);font-family:var(--font-mono);font-size:11px}.description-content pre{overflow:auto;margin:12px 0;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-surface)}.description-content pre code{padding:0;color:var(--text-secondary);background:none}.description-content table{width:100%;margin:12px 0;border-collapse:collapse}.description-content td,.description-content th{padding:8px 10px;border:1px solid var(--border-default);text-align:left}.description-content th{background:var(--bg-surface);color:var(--text-primary);font-weight:600}.attachment-list{overflow:hidden;margin-bottom:7px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-elevated)}.attachment-item{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding:7px 9px;transition:background var(--t-fast)}.attachment-item+.attachment-item{border-top:1px solid var(--border-subtle)}.attachment-item:hover{background:var(--bg-surface-hover)}.attachment-item.confirming{background:color-mix(in srgb,var(--c-blocked) 4%,var(--bg-elevated))}.attachment-open{min-width:0;display:flex;align-items:center;gap:10px;border:0;outline:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.attachment-open:focus-visible{border-radius:var(--r-md);box-shadow:0 0 0 3px var(--accent-subtle)}.attachment-kind-icon,.attachment-preview-icon{display:grid;place-items:center;flex-shrink:0;border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-tertiary)}.attachment-kind-icon{width:32px;height:32px}.attachment-kind-icon[data-kind=pdf],.attachment-preview-icon[data-kind=pdf]{background:var(--c-blocked-bg);color:var(--c-blocked)}.attachment-kind-icon[data-kind=markdown],.attachment-preview-icon[data-kind=markdown]{background:var(--accent-subtle);color:var(--accent-hover)}.attachment-kind-icon[data-kind=image],.attachment-preview-icon[data-kind=image]{background:var(--c-done-bg);color:var(--c-done)}.attachment-kind-icon[data-kind=json],.attachment-preview-icon[data-kind=json]{background:var(--c-progress-bg);color:var(--c-progress)}.attachment-kind-icon[data-kind=csv],.attachment-preview-icon[data-kind=csv]{background:var(--c-recovery-bg);color:var(--c-recovery)}.attachment-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.attachment-copy strong{overflow:hidden;color:var(--text-secondary);font-size:11.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.attachment-copy small{color:var(--text-tertiary);font-size:9.5px}.attachment-actions{display:flex;align-items:center;gap:3px;opacity:.58;transition:opacity var(--t-fast)}.attachment-actions:focus-within,.attachment-item:hover .attachment-actions{opacity:1}.attachment-delete-confirm{display:flex;align-items:center;gap:5px;animation:bulk-content-in .15s cubic-bezier(.16,1,.3,1)}.attachment-delete-confirm>span{margin-right:2px;color:var(--c-blocked);font-size:9.5px;white-space:nowrap}.attachment-upload{min-height:47px;padding:8px 10px}.attachment-upload-icon{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-tertiary)}.attachment-upload-icon .spinner{width:12px;height:12px}.attachment-upload>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.attachment-upload strong{color:var(--text-secondary);font-size:10.5px;font-weight:550}.attachment-upload small{color:var(--text-tertiary);font-size:9.5px}.attachment-upload-error{margin-top:6px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--c-blocked) 18%,var(--border-subtle));border-radius:var(--r-md);background:var(--c-blocked-bg);color:var(--c-blocked);font-size:9.5px;line-height:1.45}.attachment-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.attachment-loading{display:flex;align-items:center;gap:7px;min-height:48px;padding:9px 10px;border:1px solid var(--border-subtle);border-radius:var(--r-md);color:var(--text-tertiary);font-size:10.5px}.attachment-preview-overlay{z-index:350}.attachment-preview-modal{position:fixed;top:7vh;left:50%;z-index:351;width:min(980px,calc(100vw - 48px));height:min(780px,86vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--r-xl);outline:0;background:var(--bg-elevated);box-shadow:0 24px 72px rgba(0,0,0,.22);transform:translateX(-50%);animation:modal-in .18s cubic-bezier(.16,1,.3,1)}.attachment-preview-head{min-height:64px;display:grid;grid-template-columns:36px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.attachment-preview-icon{width:34px;height:34px}.attachment-preview-head [role=heading]{overflow:hidden;font-family:var(--font-sora);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.attachment-preview-head p{margin-top:3px;color:var(--text-tertiary);font-size:9.5px}.attachment-preview-body{min-height:0;flex:1;overflow:auto;background:var(--bg-base)}.attachment-preview-body[data-kind=pdf]{overflow:hidden;background:var(--bg-surface)}.attachment-preview-body iframe{width:100%;height:100%;border:0;background:var(--bg-base)}.attachment-image-frame{position:relative;width:100%;height:100%;min-height:460px}.attachment-image-frame img{padding:24px;-o-object-fit:contain;object-fit:contain}.attachment-markdown{width:min(760px,calc(100% - 48px));margin:0 auto;padding:28px 0 48px}.attachment-markdown .description-content{color:var(--text-primary);font-size:13px;line-height:1.78}.attachment-text-preview{min-height:100%;margin:0;padding:24px 28px 40px;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;line-height:1.7;-moz-tab-size:2;-o-tab-size:2;tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere}.attachment-text-preview.json{color:var(--accent-hover)}.attachment-csv-wrap{min-width:-moz-max-content;min-width:max-content;padding:20px 22px 36px}.attachment-csv{border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--r-md);color:var(--text-secondary);font-size:10.5px}.attachment-csv td,.attachment-csv th{max-width:280px;padding:7px 9px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.attachment-csv th{position:sticky;top:0;z-index:1;background:var(--bg-surface);color:var(--text-primary);font-weight:600}.attachment-csv tr:last-child td{border-bottom:0}.attachment-csv td:last-child,.attachment-csv th:last-child{border-right:0}.attachment-preview-note{margin-top:10px;color:var(--text-tertiary);font-size:9.5px}.attachment-preview-state{height:100%;min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-tertiary);font-size:11px}.attachment-preview-state.error{color:var(--c-blocked)}.attachment-preview-footer{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-elevated)}.activity-item{position:relative;display:flex;gap:12px;padding-bottom:16px}.activity-item:not(:last-child):before{content:"";position:absolute;top:23px;bottom:0;left:10.5px;width:1px;background:var(--border-subtle)}.activity-dot{z-index:1;width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:var(--text-secondary)}.activity-dot.create{background:var(--c-progress-bg);color:var(--c-progress)}.activity-dot.status_change{background:var(--c-done-bg);color:var(--c-done)}.activity-dot.comment,.activity-dot.update{background:var(--c-todo-bg);color:var(--c-todo)}.activity-content{padding-top:1px}.activity-text{color:var(--text-secondary);font-size:12px;line-height:1.5}.activity-time{margin-top:2px;color:var(--text-tertiary);font-size:10.5px}.property-group{margin-bottom:18px}.property-label{display:block;margin-bottom:6px;color:var(--text-tertiary);font-size:10px;font-weight:600;letter-spacing:.45px;text-transform:uppercase}.property-control{width:100%;min-height:34px;padding:7px 9px;border:1px solid var(--border-subtle);border-radius:var(--r-md);outline:0;background:var(--bg-surface);color:var(--text-primary);cursor:pointer;font-size:12px;transition:border-color var(--t-fast),background var(--t-fast)}.property-control:hover{border-color:var(--border-default);background:var(--bg-surface-hover)}.property-control:focus{border-color:var(--accent)}.date-picker-trigger{width:100%;display:flex;align-items:center;gap:7px;border:1px solid var(--border-default);border-radius:var(--r-md);outline:0;color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast),color var(--t-fast)}.date-picker-trigger.form{min-height:36px;padding:8px 10px;background:var(--bg-surface);font-size:13px}.date-picker-trigger.property{min-height:34px;padding:7px 9px;border-color:var(--border-subtle);background:var(--bg-surface);font-size:12px}.date-picker-trigger:hover{border-color:var(--border-strong);background:var(--bg-surface-hover)}.date-picker-trigger:focus-visible,.date-picker-trigger[data-state=open]{border-color:var(--accent);background:var(--bg-base);box-shadow:0 0 0 3px var(--accent-subtle)}.date-picker-trigger>svg:first-child{flex-shrink:0;color:var(--accent-hover)}.date-picker-trigger>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-picker-open-icon,.date-picker-trigger.empty>span{color:var(--text-tertiary)}.date-picker-open-icon{flex-shrink:0;transform:rotate(90deg);transition:transform var(--t-fast),color var(--t-fast)}.date-picker-trigger[data-state=open] .date-picker-open-icon{color:var(--accent-hover);transform:rotate(-90deg)}.date-popover-content{z-index:340;width:280px;padding:12px;border:1px solid var(--border-default);border-radius:10px;outline:0;background:var(--bg-base);box-shadow:0 14px 38px rgba(18,20,28,.16),0 2px 8px rgba(18,20,28,.07);transform-origin:var(--radix-popover-content-transform-origin)}.date-popover-content[data-state=open]{animation:date-popover-in .17s cubic-bezier(.16,1,.3,1)}.date-popover-content[data-state=closed]{animation:date-popover-out .11s ease}.date-popover-header{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 1px 9px;border-bottom:1px solid var(--border-subtle)}.date-popover-header strong{font-family:var(--font-sora);font-size:11.5px;font-weight:600;letter-spacing:-.1px}.date-month-actions{display:flex;align-items:center;gap:3px}.date-month-actions button{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:var(--r-md);outline:0;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.date-month-actions button:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.date-month-actions button:focus-visible{color:var(--accent-hover);box-shadow:0 0 0 3px var(--accent-subtle)}.date-day-grid,.date-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.date-weekdays{padding:10px 0 5px}.date-weekdays span{color:var(--text-tertiary);font-size:8.5px;font-weight:650;text-align:center}.date-day{width:32px;height:30px;display:grid;place-items:center;justify-self:center;border:1px solid transparent;border-radius:var(--r-md);outline:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:10.5px;font-variant-numeric:tabular-nums;transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.date-day:hover{background:var(--bg-surface-hover);color:var(--text-primary);transform:translateY(-1px)}.date-day:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle);color:var(--text-primary)}.date-day.outside{color:color-mix(in srgb,var(--text-tertiary) 58%,transparent)}.date-day.today{border-color:color-mix(in srgb,var(--accent) 38%,var(--border-default));color:var(--accent-hover);font-weight:650}.date-day.selected{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:650;box-shadow:0 2px 6px var(--accent-glow)}.date-day.selected:hover{background:var(--accent-hover);color:#fff}.date-popover-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px -12px -12px;padding:9px 12px;border-top:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 70%,var(--bg-base));border-radius:0 0 10px 10px}.date-footer-action{min-height:26px;padding:4px 7px;border:0;border-radius:var(--r-md);outline:0;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:9.5px;font-weight:550;transition:background var(--t-fast),color var(--t-fast)}.date-footer-action:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.date-footer-action:focus-visible{box-shadow:0 0 0 3px var(--accent-subtle)}.date-footer-action.today{color:var(--accent-hover)}.date-footer-action:disabled{opacity:.4;cursor:default}.date-popover-arrow{fill:var(--bg-base);filter:drop-shadow(0 -1px 0 var(--border-default))}.property-tags{display:flex;flex-wrap:wrap;gap:4px}.property-tag{padding:2px 7px;border:1px solid var(--border-default);border-radius:3px;color:var(--text-secondary);font-size:10.5px}.property-divider{height:1px;margin:20px 0;background:var(--border-subtle)}.property-readonly{display:flex;align-items:center;justify-content:space-between;padding:5px 0;color:var(--text-tertiary);font-size:10.5px}.property-readonly time{color:var(--text-secondary);font-variant-numeric:tabular-nums}.detail-actions{display:flex;gap:6px;margin-top:20px}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:10vh 20px 20px;background:var(--bg-overlay);backdrop-filter:blur(3px);animation:overlay-in .15s ease}.modal{position:fixed;top:10vh;left:50%;z-index:101;width:560px;max-width:calc(100% - 40px);max-height:80vh;overflow-y:auto;border:1px solid var(--border-default);border-radius:var(--r-lg);outline:0;box-shadow:var(--shadow-lg);transform:translateX(-50%);animation:modal-in .18s ease}.modal,.modal-header{background:var(--bg-elevated)}.modal-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:20px 24px 8px}.modal-title{font-family:var(--font-sora);font-size:15px;font-weight:600}.modal-body{padding:8px 24px}.modal-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:12px 24px 20px;background:var(--bg-elevated)}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:6px;color:var(--text-tertiary);font-size:10.5px;font-weight:600;letter-spacing:.45px;text-transform:uppercase}.required{margin-left:2px;color:var(--c-blocked)}.form-optional{margin-left:5px;color:var(--text-tertiary);font-size:9.5px;font-weight:400;letter-spacing:.2px;text-transform:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-input{width:100%;padding:8px 10px;border:1px solid var(--border-default);border-radius:var(--r-md);outline:0;background:var(--bg-surface);color:var(--text-primary);font-size:13px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.form-input::-moz-placeholder{color:var(--text-tertiary)}.form-input::placeholder{color:var(--text-tertiary)}textarea.form-input{min-height:112px;resize:vertical;line-height:1.6}.form-error,.form-hint{margin-top:4px;font-size:10.5px}.form-hint{color:var(--text-tertiary)}.form-error{color:var(--c-blocked)}.tag-editor{display:flex;flex-wrap:wrap;gap:5px;padding:6px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-surface)}.tag-option{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid transparent;border-radius:var(--r-sm);background:var(--bg-surface-active);color:var(--text-secondary);cursor:pointer;font-size:10.5px}.tag-option.selected{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-subtle);color:var(--accent-hover)}.tag-option-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%}.tag-create-input{min-width:110px;flex:1;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:11.5px}.md-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.md-editor-hint{color:var(--text-tertiary);font-size:10.5px}.md-mode-toggle{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-surface)}.md-mode-toggle button{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:10.5px;transition:background var(--t-fast),color var(--t-fast)}.md-mode-toggle button:hover{color:var(--text-secondary)}.md-mode-toggle button.active{background:var(--bg-elevated);color:var(--accent-hover);box-shadow:var(--shadow-sm)}.md-editor-warning{margin-bottom:6px;padding:7px 9px;border-radius:var(--r-md);background:var(--c-blocked-bg);color:var(--c-blocked);font-size:10.5px;line-height:1.5}.md-editor-formatbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:6px;padding:4px 6px;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-base)}.md-format-group{display:inline-flex;align-items:center;gap:2px;padding-right:6px;border-right:1px solid var(--border-subtle)}.md-format-group:last-child{border-right:0;padding-right:0}.md-format-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.md-format-btn:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.md-format-btn:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.55}.md-editor-content{position:relative;min-height:240px;max-height:460px;overflow-y:auto;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-surface);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.md-editor-content:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.md-editor-content .md-editor-source-overlay{position:absolute;inset:0;z-index:3;width:100%;height:100%;min-height:240px;border:0;border-radius:0;background:var(--bg-surface);line-height:1.6;resize:none}.md-editor-placeholder{position:absolute;top:10px;left:12px;right:12px;color:var(--text-tertiary);font-size:13px;pointer-events:none}.md-editor-visual{padding:10px 12px}.md-editor-content .ProseMirror{min-height:216px;outline:0;color:var(--text-primary);font-size:13px;line-height:1.7}.md-editor-content .ProseMirror p{margin:4px 0}.md-editor-content .ProseMirror h1,.md-editor-content .ProseMirror h2,.md-editor-content .ProseMirror h3{margin:12px 0 4px;color:var(--text-primary);font-family:var(--font-sora);font-weight:600}.md-editor-content .ProseMirror h1{font-size:18px}.md-editor-content .ProseMirror h2{font-size:15px}.md-editor-content .ProseMirror h3{font-size:13.5px}.md-editor-content .ProseMirror ol,.md-editor-content .ProseMirror ul{padding-left:20px}.md-editor-content .ProseMirror ul{list-style:disc}.md-editor-content .ProseMirror ol{list-style:decimal}.md-editor-content .ProseMirror li{margin:2px 0}.md-editor-content .ProseMirror li[data-item-type=task]{list-style:none;position:relative;padding-left:8px}.md-editor-content .ProseMirror li[data-item-type=task]:before{content:"";position:absolute;left:-14px;top:3px;width:12px;height:12px;border:1px solid var(--border-strong);border-radius:3px;background:var(--bg-elevated);cursor:pointer}.md-editor-content .ProseMirror li[data-item-type=task][data-checked=true]:before{content:"";border-color:var(--accent);background:var(--accent)}.md-editor-content .ProseMirror li[data-item-type=task][data-checked=true]:after{content:"✓";position:absolute;left:-12px;top:1px;width:8px;height:12px;color:var(--text-inverse);font-size:9px;line-height:12px;text-align:center;pointer-events:none}.md-editor-content .ProseMirror blockquote{margin:6px 0;padding:2px 10px;border-left:3px solid var(--border-strong);color:var(--text-secondary)}.md-editor-content .ProseMirror code{padding:1px 5px;border-radius:3px;background:var(--bg-surface-active);color:var(--accent-hover);font-family:var(--font-mono);font-size:11px}.md-editor-content .ProseMirror pre{margin:8px 0;padding:10px;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-surface-active)}.md-editor-content .ProseMirror pre code{padding:0;background:none;color:var(--text-secondary)}.md-editor-content .ProseMirror a{color:var(--accent-hover);text-decoration:underline}.md-editor-content .ProseMirror hr{margin:10px 0;border:0;border-top:1px solid var(--border-default)}.md-editor-content .ProseMirror .tableWrapper{overflow-x:auto}.md-editor-content .ProseMirror table{margin:8px 0;border-collapse:collapse;table-layout:fixed;width:100%}.md-editor-content .ProseMirror td,.md-editor-content .ProseMirror th{padding:4px 8px;border:1px solid var(--border-default);vertical-align:top;word-break:break-word}.md-editor-content .ProseMirror th{background:var(--bg-elevated);color:var(--text-primary);font-weight:600}.md-editor-content .ProseMirror .selectedCell:after{background:color-mix(in srgb,var(--accent) 14%,transparent)}.md-editor-content .ProseMirror .column-resize-handle{background-color:var(--accent)}.toast{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-elevated);color:var(--text-secondary);box-shadow:var(--shadow-lg);font-size:12px;animation:toast-in .18s ease}.toast.success svg{color:var(--c-done)}.toast.error svg{color:var(--c-blocked)}.confirm-copy{padding:4px 0 12px;color:var(--text-secondary);font-size:12.5px;line-height:1.65}.req-table-header.bulk-mode{border-color:color-mix(in srgb,var(--accent) 14%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 5%,var(--bg-base));box-shadow:inset 2px 0 var(--accent);color:var(--text-primary);letter-spacing:0;text-transform:none}.bulk-bar{grid-column:2/-1;display:flex;align-items:center;gap:10px;animation:bulk-content-in .18s cubic-bezier(.16,1,.3,1)}.bulk-selection-copy{min-width:0;display:flex;align-items:baseline;gap:8px}.bulk-selection-copy strong{color:var(--text-primary);font-size:11.5px;font-weight:600}.bulk-selection-copy>span{overflow:hidden;color:var(--text-tertiary);font-size:9.5px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.bulk-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:5px}.bulk-clear{padding:4px 8px}.bulk-clear,.bulk-export{min-height:28px;font-size:10.5px}.bulk-export{padding:4px 9px;border-color:color-mix(in srgb,var(--accent) 30%,var(--border-default));background:var(--accent-subtle);color:var(--accent-hover)}.bulk-export:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--border-default));background:color-mix(in srgb,var(--accent) 14%,transparent)}.list-export-btn{min-height:28px;padding:4px 9px;border-color:color-mix(in srgb,var(--accent) 30%,var(--border-default));background:var(--accent-subtle);color:var(--accent-hover);font-size:10.5px}.list-export-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--border-default));background:color-mix(in srgb,var(--accent) 14%,transparent)}.btn-delete-soft{min-height:28px;padding:4px 9px;border-color:color-mix(in srgb,var(--c-blocked) 20%,var(--border-default));background:var(--c-blocked-bg);color:var(--c-blocked);font-size:10.5px}.btn-delete-soft:hover:not(:disabled){border-color:color-mix(in srgb,var(--c-blocked) 38%,var(--border-default));background:color-mix(in srgb,var(--c-blocked) 14%,transparent)}.delete-overlay{padding-top:20vh}.delete-dialog{position:fixed;top:20vh;left:50%;z-index:101;width:440px;max-width:calc(100vw - 40px);overflow:hidden;border:1px solid var(--border-default);border-radius:var(--r-xl);outline:0;background:var(--bg-elevated);box-shadow:0 20px 60px rgba(0,0,0,.2);transform:translateX(-50%);animation:modal-in .18s cubic-bezier(.16,1,.3,1)}.delete-dialog-head{display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:start;gap:11px;padding:20px 20px 14px}.delete-dialog-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--c-blocked) 18%,var(--border-subtle));border-radius:var(--r-lg);background:var(--c-blocked-bg);color:var(--c-blocked)}.delete-dialog-head [role=heading]{margin-top:1px;font-family:var(--font-sora);font-size:14px;font-weight:600;letter-spacing:-.2px}.delete-dialog-head p{margin-top:4px;color:var(--text-tertiary);font-size:10.5px;line-height:1.5}.delete-dialog-body{padding:0 20px 18px}.delete-target-list{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-base)}.delete-target{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px}.delete-target+.delete-target{border-top:1px solid var(--border-subtle)}.delete-target span{color:var(--text-tertiary);font-family:var(--font-mono);font-size:9.5px}.delete-target strong{overflow:hidden;color:var(--text-secondary);font-size:10.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.delete-target-more{padding:7px 10px;border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:9.5px;text-align:center}.delete-warning{display:flex;align-items:flex-start;gap:7px;margin-top:12px;padding:9px 10px;border-radius:var(--r-md);background:color-mix(in srgb,var(--c-blocked) 6%,transparent);color:var(--text-tertiary);font-size:10px;line-height:1.55}.delete-warning svg{flex-shrink:0;margin-top:1px;color:var(--c-blocked)}.delete-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--border-subtle)}.btn-delete-confirm{background:var(--c-blocked);color:#fff}.btn-delete-confirm:hover:not(:disabled){background:color-mix(in srgb,var(--c-blocked) 88%,#000)}.export-dialog{position:fixed;top:14vh;left:50%;z-index:101;width:480px;max-width:calc(100vw - 40px);max-height:82vh;overflow-y:auto;border:1px solid var(--border-default);border-radius:var(--r-xl);outline:0;background:var(--bg-elevated);box-shadow:0 20px 60px rgba(0,0,0,.2);transform:translateX(-50%);animation:modal-in .18s cubic-bezier(.16,1,.3,1)}.export-dialog-head{display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:start;gap:11px;padding:20px 20px 14px}.export-dialog-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border-subtle));border-radius:var(--r-lg);background:var(--accent-subtle);color:var(--accent-hover)}.export-dialog-head [role=heading]{margin-top:1px;font-family:var(--font-sora);font-size:14px;font-weight:600;letter-spacing:-.2px}.export-dialog-head p{margin-top:4px;color:var(--text-tertiary);font-size:10.5px;line-height:1.5}.export-dialog-body{padding:0 20px 16px}.export-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.export-project-option{min-width:0;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;font-size:11.5px;transition:border-color var(--t-fast),background var(--t-fast)}.export-project-option:hover{border-color:var(--border-default);background:var(--bg-surface-hover)}.export-project-option.selected{border-color:color-mix(in srgb,var(--accent) 40%,var(--border-default));background:var(--accent-subtle);color:var(--text-primary)}.export-project-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%}.export-project-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-project-name small{display:block;margin-top:1px;color:var(--text-tertiary);font-family:var(--font-mono);font-size:8px}.export-project-tools{margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;gap:8px}.export-project-tools .form-label{margin:0}.export-project-toggle{padding:0;border:0;background:none;color:var(--accent-hover);cursor:pointer;font-size:10.5px}.export-project-toggle:hover:not(:disabled){text-decoration:underline}.export-project-toggle:disabled{color:var(--text-tertiary);cursor:default}.export-project-option.disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.export-scope{display:flex;align-items:flex-start;gap:7px;margin-top:6px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border-subtle));border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 5%,var(--bg-base));color:var(--text-tertiary);font-size:10px;line-height:1.55}.export-scope svg{flex-shrink:0;margin-top:1px;color:var(--accent-hover)}.export-scope strong{color:var(--accent-hover);font-weight:600}.export-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--border-subtle)}.settings-overlay{padding-top:7vh}.settings-modal{position:fixed;top:7vh;left:50%;z-index:101;width:min(980px,calc(100vw - 48px));height:min(780px,86vh);overflow:hidden;border:1px solid var(--border-default);border-radius:var(--r-xl);outline:0;background:var(--bg-elevated);box-shadow:0 24px 72px rgba(0,0,0,.2);transform:translateX(-50%);animation:modal-in .18s cubic-bezier(.16,1,.3,1)}.settings-header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.settings-heading{display:flex;align-items:center;gap:11px}.settings-heading-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border-subtle));border-radius:var(--r-lg);background:var(--accent-subtle);color:var(--accent-hover)}.settings-heading [role=heading]{font-family:var(--font-sora);font-size:15px;font-weight:600}.settings-heading p{margin-top:2px;color:var(--text-tertiary);font-size:10.5px}.settings-layout{height:calc(100% - 68px);display:grid;grid-template-columns:178px minmax(0,1fr)}.settings-nav{padding:14px 10px;border-right:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-surface) 48%,var(--bg-elevated))}.settings-nav-label{padding:5px 9px 6px;color:var(--text-tertiary);font-size:9.5px;font-weight:600;letter-spacing:.65px;text-transform:uppercase}.settings-nav-label-spaced{margin-top:13px}.settings-nav-item{width:100%;min-height:34px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer;font-size:11.5px;transition:background var(--t-fast),color var(--t-fast)}.settings-nav-item:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.settings-nav-item.active{background:var(--bg-surface-active);color:var(--text-primary);font-weight:500}.settings-nav-item>span{flex:1}.settings-nav-item>small{color:var(--text-tertiary);font-size:8.5px}.settings-nav-item:disabled{cursor:default;opacity:.45}.settings-products{min-width:0;display:flex;flex-direction:column}.settings-section-head{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px}.settings-section-head h2{font-family:var(--font-sora);font-size:15px;font-weight:600;letter-spacing:-.2px}.settings-section-head p{margin-top:4px;color:var(--text-tertiary);font-size:10.5px}.product-settings-layout{min-height:0;flex:1;display:grid;grid-template-columns:220px minmax(0,1fr);border-top:1px solid var(--border-subtle)}.product-settings-list{overflow-y:auto;padding:10px;border-right:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-surface) 28%,var(--bg-elevated))}.product-settings-item{width:100%;display:flex;align-items:center;gap:9px;margin-bottom:3px;padding:9px;border:1px solid transparent;border-radius:var(--r-lg);background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.product-settings-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.product-settings-item.active{border-color:var(--border-default);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.product-settings-item.draft{cursor:default}.product-settings-mark{width:10px;height:10px;flex-shrink:0;border-radius:3px;box-shadow:0 0 0 3px color-mix(in srgb,var(--bg-base) 70%,transparent)}.product-settings-mark.new{width:22px;height:22px;display:grid;place-items:center;border:1px dashed var(--accent);border-radius:var(--r-md);background:var(--accent-subtle);color:var(--accent-hover);box-shadow:none}.product-settings-name{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.product-settings-name strong{overflow:hidden;font-size:11.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.product-settings-name small{color:var(--text-tertiary);font-size:9.5px}.product-settings-item>svg{flex-shrink:0;color:var(--text-tertiary)}.product-settings-editor{min-width:0;overflow-y:auto;background:var(--bg-base)}.product-editor-content{padding:22px 24px 36px;animation:fade-in .16s ease}.editor-kicker{margin-bottom:6px;color:var(--accent-hover);font-size:9.5px;font-weight:650;letter-spacing:.7px;text-transform:uppercase}.editor-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.editor-title-row h3{font-family:var(--font-sora);font-size:17px;font-weight:600;letter-spacing:-.3px}.editor-title-row p{margin-top:4px;font-family:var(--font-mono)}.editor-count,.editor-title-row p{color:var(--text-tertiary);font-size:9.5px}.editor-count{padding:3px 8px;border-radius:999px;background:var(--bg-surface);white-space:nowrap}.settings-form-grid{display:grid;grid-template-columns:minmax(180px,1fr) 1.35fr;gap:18px}.settings-field{min-width:0;display:block}.settings-field>span{display:block;margin-bottom:7px;color:var(--text-tertiary);font-size:9.5px;font-weight:600;letter-spacing:.45px;text-transform:uppercase}.color-picker{min-height:36px;gap:10px}.color-picker,.color-presets{display:flex;align-items:center}.color-presets{gap:5px}.color-swatch{--swatch:var(--accent);width:21px;height:21px;display:grid;place-items:center;border:2px solid var(--bg-base);border-radius:50%;outline:1px solid transparent;background:var(--swatch);color:#fff;cursor:pointer;filter:saturate(.92);box-shadow:0 1px 2px rgba(0,0,0,.08);transition:transform var(--t-fast),outline-color var(--t-fast),box-shadow var(--t-fast),filter var(--t-fast)}.color-swatch:hover{transform:scale(1.08);filter:saturate(1.08);box-shadow:0 2px 5px rgba(0,0,0,.14)}.color-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.color-swatch.active{outline-color:var(--swatch)}.custom-color{height:30px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid var(--border-default);border-radius:var(--r-md);outline:0;background:var(--bg-base);color:var(--text-tertiary);cursor:pointer;font-size:9.5px;transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}.custom-color:hover{border-color:var(--border-strong);background:var(--bg-surface-hover);color:var(--text-secondary)}.custom-color:focus-visible,.custom-color[data-state=open]{border-color:var(--accent);background:var(--bg-base);color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.settings-editor-actions{min-height:50px;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border-subtle)}.delete-zone{min-width:0;flex:1;display:flex;align-items:center;gap:5px;color:var(--text-tertiary);font-size:9.5px}.delete-locked{padding-left:2px}.btn-compact{min-height:26px;padding:4px 8px;font-size:10px}.settings-error,.settings-inline-error{margin-top:8px;padding:7px 9px;border-radius:var(--r-md);background:var(--c-blocked-bg);color:var(--c-blocked);font-size:10.5px}.settings-error{margin:8px 4px}.settings-loading{display:flex;align-items:center;gap:7px;padding:14px 8px;color:var(--text-tertiary);font-size:10.5px}.settings-loading .spinner{width:12px;height:12px}.settings-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;color:var(--text-tertiary);text-align:center;font-size:11px}.settings-empty>svg{color:var(--border-strong)}.compact-color{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;border:1px solid var(--border-default);border-radius:var(--r-md);outline:0;background:var(--bg-base);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.compact-color:hover{border-color:var(--border-strong);background:var(--bg-surface-hover);transform:translateY(-1px)}.compact-color:focus-visible,.compact-color[data-state=open]{border-color:var(--accent);background:var(--bg-base);box-shadow:0 0 0 3px var(--accent-subtle)}.compact-color-swatch{width:12px;height:12px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07)}.compact-color-chevron{display:none}.color-popover-content{z-index:340;width:252px;padding:13px;border:1px solid var(--border-default);border-radius:10px;outline:0;background:var(--bg-base);box-shadow:0 14px 38px rgba(18,20,28,.16),0 2px 8px rgba(18,20,28,.07);transform-origin:var(--radix-popover-content-transform-origin)}.color-popover-content[data-state=open]{animation:color-popover-in .17s cubic-bezier(.16,1,.3,1)}.color-popover-content[data-state=closed]{animation:color-popover-out .11s ease}.color-popover-head{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;align-items:center;gap:9px;margin-bottom:13px}.color-popover-preview{width:30px;height:30px;border:3px solid var(--bg-base);border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--border-default),0 2px 5px rgba(0,0,0,.1)}.color-popover-head strong{display:block;font-size:11px;font-weight:600}.color-popover-head>div>span{display:block;margin-top:2px;color:var(--text-tertiary);font-family:var(--font-mono);font-size:8.5px;letter-spacing:.2px}.color-popover-close{width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:var(--r-md);outline:0;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.color-popover-close:hover{background:var(--bg-surface-hover);color:var(--text-secondary)}.color-popover-close:focus-visible{box-shadow:0 0 0 3px var(--accent-subtle)}.color-hex-form>label,.color-popover-section-label{display:block;margin-bottom:7px;color:var(--text-tertiary);font-size:8.5px;font-weight:650;letter-spacing:.55px;text-transform:uppercase}.color-popover-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.color-swatch.large{width:25px;height:25px;border-width:2px}.color-swatch.large.active{outline-width:2px;outline-offset:1px}.color-popover-divider{height:1px;margin:13px -13px 11px;background:var(--border-subtle)}.color-hex-control{height:32px;display:grid;grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;gap:6px;padding:0 3px 0 8px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-elevated);transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.color-hex-control:focus-within{border-color:var(--accent);background:var(--bg-base);box-shadow:0 0 0 3px var(--accent-subtle)}.color-hex-control.invalid{border-color:color-mix(in srgb,var(--c-blocked) 60%,var(--border-default))}.color-hex-preview{width:14px;height:14px;border:2px solid var(--bg-base);border-radius:4px;box-shadow:0 0 0 1px var(--border-default)}.color-hex-control input{min-width:0;border:0;outline:0;background:transparent;color:var(--text-primary);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.25px;text-transform:uppercase}.color-hex-control input::-moz-placeholder{color:var(--text-tertiary)}.color-hex-control input::placeholder{color:var(--text-tertiary)}.color-hex-control button{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:5px;background:var(--accent);color:#fff;cursor:pointer;transition:background var(--t-fast),transform var(--t-fast)}.color-hex-control button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.color-hex-control button:disabled{background:var(--bg-surface-active);color:var(--text-tertiary);cursor:not-allowed}.color-hex-form p{margin-top:5px;color:var(--text-tertiary);font-size:8.5px}.color-hex-form p.invalid{color:var(--c-blocked)}.color-popover-arrow{fill:var(--bg-base);filter:drop-shadow(0 -1px 0 var(--border-default))}.tag-save{color:var(--accent-hover)}.icon-btn.danger{background:var(--c-blocked-bg);color:var(--c-blocked)}.tag-empty{width:100%;display:flex;align-items:center;gap:10px;padding:13px;border:1px dashed var(--border-default);border-radius:var(--r-lg);background:transparent;color:var(--text-tertiary);text-align:left;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast)}.tag-empty:hover{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent-hover)}.tag-empty-icon{width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-tertiary)}.tag-empty>span:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.tag-empty strong{color:var(--text-secondary);font-size:10.5px;font-weight:550}.tag-empty small{font-size:9.5px}.tag-settings-body{min-height:0;flex:1;overflow-y:auto;padding:18px 22px 30px;border-top:1px solid var(--border-subtle);background:var(--bg-base)}.tag-settings-summary{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:11px 12px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-elevated)}.tag-settings-summary-icon{width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--r-md);background:var(--accent-subtle);color:var(--accent-hover)}.tag-settings-summary strong{display:block;color:var(--text-secondary);font-size:11px;font-weight:600}.tag-settings-summary p{margin-top:2px;color:var(--text-tertiary);font-size:9.5px}.tag-settings-list{display:flex;flex-direction:column;gap:6px}.tag-settings-item{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-elevated);transition:border-color var(--t-fast),box-shadow var(--t-fast);animation:fade-in .16s ease}.tag-settings-item:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.tag-settings-item.new{border-color:color-mix(in srgb,var(--accent) 30%,var(--border-default));background:color-mix(in srgb,var(--accent) 4%,var(--bg-elevated))}.tag-settings-item-main{min-height:48px;display:grid;grid-template-columns:24px minmax(150px,1fr) 86px 28px 28px;align-items:center;gap:8px;padding:7px 9px}.tag-name-input{min-width:0;height:32px;padding:0 9px;border:1px solid transparent;border-radius:var(--r-md);outline:0;background:transparent;color:var(--text-primary);font-size:11.5px;transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-fast)}.tag-name-input:hover{background:var(--bg-surface)}.tag-name-input:focus{border-color:var(--accent);background:var(--bg-base);box-shadow:0 0 0 3px var(--accent-subtle)}.tag-usage{justify-self:end;padding:3px 7px;border-radius:999px;background:var(--bg-surface);color:var(--text-tertiary);font-size:9.5px;white-space:nowrap}.tag-delete-confirm{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:7px 9px;border-top:1px solid color-mix(in srgb,var(--c-blocked) 12%,var(--border-subtle));background:color-mix(in srgb,var(--c-blocked) 4%,transparent);animation:bulk-content-in .16s cubic-bezier(.16,1,.3,1)}.tag-delete-confirm>span{min-width:0;flex:1;color:var(--text-tertiary);font-size:9.5px}.entity-page{min-width:980px;min-height:100%;padding:28px 30px 44px;animation:fade-in var(--t-normal)}.entity-header{min-height:92px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.entity-eyebrow{display:block;margin-bottom:7px;color:var(--accent-hover);font-family:var(--font-mono);font-size:8.5px;font-weight:650;letter-spacing:.95px}.entity-header h1{font-family:var(--font-sora);font-size:23px;font-weight:600;letter-spacing:-.55px}.entity-header p{margin-top:5px;color:var(--text-tertiary);font-size:11.5px}.entity-header-note{max-width:360px;display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--border-subtle));border-radius:var(--r-lg);background:color-mix(in srgb,var(--accent) 4%,var(--bg-elevated));color:var(--text-tertiary);font-size:9.5px;line-height:1.45}.entity-header-note svg{flex-shrink:0;color:var(--accent-hover)}.entity-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:4px 0 18px}.entity-metric{min-height:66px;display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.entity-metric>div{display:flex;flex-direction:column;gap:1px}.entity-metric strong{font-family:var(--font-sora);font-size:17px;font-weight:600}.entity-metric small{color:var(--text-tertiary);font-size:9.5px}.metric-symbol{width:31px;height:31px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--r-md);background:var(--accent-subtle);color:var(--accent-hover)}.metric-symbol.operations:before,.metric-symbol.progress:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c-progress);box-shadow:0 0 0 5px var(--c-progress-bg)}.metric-symbol.operations{background:color-mix(in srgb,var(--p1) 9%,transparent)}.metric-symbol.operations:before{background:var(--p1);box-shadow:0 0 0 5px color-mix(in srgb,var(--p1) 11%,transparent)}.metric-symbol.acceptance{background:var(--c-done-bg);color:var(--c-done)}.entity-toolbar{min-height:52px;padding:9px 10px;border:1px solid var(--border-subtle);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--bg-elevated)}.entity-search,.entity-toolbar{display:flex;align-items:center;gap:8px}.entity-search{width:min(300px,32vw);height:30px;padding:0 9px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-base);color:var(--text-tertiary);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.entity-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.entity-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:11.5px}.entity-search input::-moz-placeholder{color:var(--text-tertiary)}.entity-search input::placeholder{color:var(--text-tertiary)}.entity-result-count{margin-left:auto;padding-right:4px;color:var(--text-tertiary);font-size:10px;white-space:nowrap}.entity-table{overflow:hidden;border:1px solid var(--border-subtle);border-radius:0 0 var(--r-lg) var(--r-lg);background:var(--bg-base)}.project-grid{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(108px,.72fr) minmax(120px,.75fr) 90px 70px 58px 108px 78px;align-items:center;gap:12px;padding:0 14px}.project-table-head{min-height:37px;color:var(--text-tertiary);font-size:8.5px;font-weight:650;letter-spacing:.55px;text-transform:uppercase}.project-table-head,.project-table-row{border-bottom:1px solid var(--border-subtle)}.project-table-row{min-height:72px;transition:background var(--t-fast);animation:slide-in .16s ease backwards}.project-table-row:last-child{border-bottom:0}.project-table-row:hover{background:var(--bg-elevated)}.project-main-cell{min-width:0;display:flex;flex-direction:column;gap:4px}.project-code-cell{color:var(--text-tertiary);font-family:var(--font-mono);font-size:8.5px}.project-code-cell,.project-main-cell strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-main-cell strong{color:var(--text-primary);font-size:12px;font-weight:550}.project-main-cell small{color:var(--text-tertiary);font-size:9px}.project-main-cell small,.project-product-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-product-cell{display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:10px}.project-product-cell i{width:7px;height:7px;flex-shrink:0;border-radius:2px}.project-products-cell{min-width:0;display:flex;flex-wrap:wrap;gap:4px}.project-products-cell em{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:5px;overflow:hidden;padding:3px 6px;border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);font-size:8.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.project-products-cell i{width:6px;height:6px;flex-shrink:0;border-radius:2px}.project-status{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border-radius:999px;background:var(--c-progress-bg);color:var(--c-progress);font-size:9.5px;font-weight:550;white-space:nowrap}.project-status i{width:5px;height:5px;border-radius:50%;background:currentColor}.project-status[data-status=operations]{background:color-mix(in srgb,var(--p1) 10%,transparent);color:var(--p1)}.project-status[data-status=completed]{background:var(--c-done-bg);color:var(--c-done)}.project-contract{width:-moz-fit-content;width:fit-content;padding:3px 6px;border-radius:var(--r-sm);font-size:9px;white-space:nowrap}.project-contract.ready{background:var(--c-done-bg);color:var(--c-done)}.project-contract.missing{background:var(--bg-surface);color:var(--text-tertiary)}.project-count-cell{display:flex;align-items:baseline;gap:3px}.project-count-cell strong{font-family:var(--font-sora);font-size:12px;font-weight:600}.project-count-cell small,.project-updated{color:var(--text-tertiary);font-size:9px}.project-date-cell{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-family:var(--font-mono);font-size:8.5px;white-space:nowrap}.project-date-cell svg{color:var(--accent-hover)}.project-date-cell.empty{font-family:inherit}.entity-state,.project-date-cell.empty,.project-date-cell.empty svg{color:var(--text-tertiary)}.entity-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:10.5px;text-align:center}.entity-state.error strong{color:var(--c-blocked)}.entity-state.empty{min-height:300px}.entity-state.empty strong{color:var(--text-secondary);font-size:12px}.entity-state.empty .btn{margin-top:8px}.project-modal{width:min(720px,calc(100vw - 40px))}.project-modal-overlay{padding-top:5vh}.project-modal{top:5vh;max-height:90vh}.project-modal-header{padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.project-modal-heading{display:flex;align-items:center;gap:10px}.project-modal-heading>span{width:31px;height:31px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--accent-subtle);color:var(--accent-hover)}.project-modal-heading p{margin-top:3px;color:var(--text-tertiary);font-size:9.5px}.project-modal-body{display:flex;flex-direction:column;gap:10px;padding-top:16px}.project-form-section{padding:14px 15px 2px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:color-mix(in srgb,var(--bg-elevated) 64%,var(--bg-base))}.project-form-section-title{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}.project-form-section-title strong{font-size:11.5px;font-weight:600}.project-form-section-title span{color:var(--text-tertiary);font-size:9px}.form-label-note{float:right;color:var(--text-tertiary);font-size:8.5px;font-weight:400;letter-spacing:0;text-transform:none}.code-input{font-family:var(--font-mono);font-size:11px}.form-input:disabled{background:var(--bg-surface);color:var(--text-tertiary);cursor:not-allowed}textarea.project-summary-input{min-height:70px}.project-product-picker{margin:11px 0 13px;padding:0;border:0}.project-product-picker legend{width:100%;margin-bottom:7px;color:var(--text-secondary);font-size:9.5px;font-weight:600}.project-product-picker legend small{margin-left:7px;color:var(--text-tertiary);font-size:8.5px;font-weight:400}.project-product-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.project-product-picker button{min-width:0;min-height:46px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-base);color:var(--text-tertiary);text-align:left;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast)}.project-product-picker button:hover{border-color:var(--border-default);color:var(--text-secondary)}.project-product-picker button.selected{border-color:color-mix(in srgb,var(--accent) 42%,var(--border-default));background:var(--accent-subtle);color:var(--accent-hover)}.project-product-picker button>i{width:8px;height:8px;flex-shrink:0;border-radius:2px}.project-product-picker button>span{min-width:0;display:flex;flex-direction:column;flex:1;color:var(--text-secondary);font-size:10px;font-weight:550}.project-product-picker button>span small{margin-top:2px;overflow:hidden;color:var(--text-tertiary);font-family:var(--font-mono);font-size:8px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.project-product-picker>div>p{grid-column:1/-1;padding:13px;border:1px dashed var(--border-default);border-radius:var(--r-md);color:var(--text-tertiary);font-size:9.5px;text-align:center}.project-form-section .md-editor-shell{min-height:116px}.project-form-error{padding:8px 10px;border-radius:var(--r-md);background:var(--c-blocked-bg)}.project-modal-footer{align-items:center;border-top:1px solid var(--border-subtle)}.project-form-ready{margin-right:auto;display:flex;align-items:center;gap:5px;color:var(--text-tertiary);font-size:9px}.project-form-ready svg{color:var(--c-done)}.product-detail-page,.project-detail-page{min-width:980px;min-height:100%;animation:fade-in var(--t-normal)}.app-shell-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--bg-base);color:var(--text-tertiary);font-size:10px}.project-detail-header{position:sticky;top:0;z-index:8;padding:20px 28px 0;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-base) 94%,transparent);backdrop-filter:blur(14px)}.project-detail-title-row{min-height:62px;display:flex;align-items:center;gap:12px}.entity-back{width:29px;height:29px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-elevated);color:var(--text-tertiary);transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.entity-back:hover{border-color:var(--border-default);background:var(--bg-surface);color:var(--text-primary)}.project-detail-identity{min-width:0;flex:1;display:flex;align-items:center;gap:12px}.project-detail-identity>div{min-width:0}.project-detail-name-line{min-width:0;display:flex;align-items:center;gap:8px}.project-detail-code{flex-shrink:0;padding:5px 7px;border-radius:var(--r-sm);background:var(--bg-surface);color:var(--text-tertiary);font-family:var(--font-mono);font-size:8.5px}.project-detail-identity h1{font-family:var(--font-sora);font-size:18px;font-weight:600;letter-spacing:-.35px}.project-detail-identity h1,.project-detail-identity p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-detail-identity p{max-width:640px;margin-top:3px;color:var(--text-tertiary);font-size:9.5px}.project-detail-identity p span{padding:0 5px}.project-detail-actions{display:flex;align-items:center;gap:7px;margin-left:8px}.project-tabs{display:flex;align-items:center;gap:3px;margin-top:11px}.project-tabs button{position:relative;height:39px;display:flex;align-items:center;gap:6px;padding:0 10px;border:0;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:10.5px;transition:color var(--t-fast)}.project-tabs button:hover{color:var(--text-secondary)}.project-tabs button.active{color:var(--text-primary);font-weight:550}.project-tabs button.active:after{content:"";position:absolute;right:8px;bottom:-1px;left:8px;height:2px;border-radius:2px 2px 0 0;background:var(--accent)}.project-tabs button span{padding:1px 5px;border-radius:999px;background:var(--bg-surface);color:var(--text-tertiary);font-size:8px}.project-tabs button>i{width:5px;height:5px;border-radius:50%;background:var(--text-tertiary)}.project-tabs button>i.ready{background:var(--c-done);box-shadow:0 0 0 3px var(--c-done-bg)}.project-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px}.project-detail-main{min-width:0;display:flex;flex-direction:column;gap:12px;padding:20px 24px 48px 28px}.project-detail-sidebar{min-height:calc(100vh - 174px);padding:20px 20px 40px;border-left:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 42%,var(--bg-base))}.project-overview-summary{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border-subtle));border-radius:var(--r-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,var(--bg-base)),var(--bg-base))}.project-summary-copy{max-width:520px}.project-summary-copy>span{color:var(--accent-hover);font-family:var(--font-mono);font-size:8px;font-weight:650;letter-spacing:.8px}.project-summary-copy h2{margin-top:6px;font-family:var(--font-sora);font-size:16px;font-weight:600}.project-summary-copy p{margin-top:5px;color:var(--text-tertiary);font-size:10px;line-height:1.55}.project-summary-metrics{display:flex;align-items:stretch;gap:8px}.project-summary-metrics>div{min-width:78px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:11px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:color-mix(in srgb,var(--bg-elevated) 80%,transparent);text-align:center}.project-summary-metrics strong{font-family:var(--font-sora);font-size:13px;font-weight:600}.project-summary-metrics span{color:var(--text-tertiary);font-size:8.5px}.project-content-card{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--r-xl);background:var(--bg-base)}.project-content-card>header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.project-content-card h2{font-size:12px;font-weight:600}.project-content-card header p{margin-top:3px;color:var(--text-tertiary);font-size:9px}.project-inline-actions,.project-placeholder-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.project-inline-actions{justify-content:flex-end}.project-placeholder-actions{justify-content:center}.project-markdown{padding:17px 18px 20px;color:var(--text-secondary);font-size:10.5px;line-height:1.75}.project-markdown h1,.project-markdown h2,.project-markdown h3{margin:16px 0 6px;color:var(--text-primary);font-weight:600}.project-markdown h1:first-child,.project-markdown h2:first-child,.project-markdown h3:first-child{margin-top:0}.project-markdown ol,.project-markdown ul{margin-left:20px}.project-markdown table{width:100%;margin:10px 0;border-collapse:collapse}.project-markdown td,.project-markdown th{padding:6px 8px;border:1px solid var(--border-default);text-align:left}.project-content-empty{min-height:94px;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--text-tertiary);font-size:9.5px;text-align:center}.embedded-requirements{min-width:0}.embedded-requirement-row,.embedded-requirements-head{display:grid;grid-template-columns:minmax(240px,1fr) 84px 64px 106px;align-items:center;gap:10px;padding:0 16px}.embedded-requirements-head{min-height:34px;border-bottom:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:8px;font-weight:650;letter-spacing:.45px;text-transform:uppercase}.embedded-requirement-row{min-height:54px;border-bottom:1px solid var(--border-subtle);transition:background var(--t-fast)}.embedded-requirement-row:hover{background:var(--bg-elevated)}.embedded-requirement-main{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:3px 8px}.embedded-requirement-main small{grid-row:1/span 2;color:var(--text-tertiary);font-family:var(--font-mono);font-size:8.5px}.embedded-requirement-main strong{color:var(--text-primary);font-size:10.5px;font-weight:550}.embedded-requirement-main em,.embedded-requirement-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embedded-requirement-main em{color:var(--text-tertiary);font-size:8px;font-style:normal}.embedded-requirement-date{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-family:var(--font-mono);font-size:8.5px;white-space:nowrap}.embedded-requirement-date svg{color:var(--accent-hover)}.embedded-requirement-date.empty{color:var(--text-tertiary);font-family:inherit}.embedded-requirements-state{min-height:130px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--text-tertiary);font-size:9px}.embedded-requirements-state.empty{flex-direction:column}.embedded-requirements-state.empty svg{color:var(--accent-hover)}.embedded-requirements-state.error{color:var(--c-blocked)}.embedded-requirements-more{min-height:39px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 16px;color:var(--text-tertiary);font-size:8.5px}.embedded-requirements-more a{color:var(--accent-hover);font-weight:550}.embedded-projects{min-width:0}.embedded-project-row,.embedded-projects-head{display:grid;grid-template-columns:minmax(170px,1fr) 70px 80px 60px 48px 100px 66px;align-items:center;gap:10px;padding:0 16px}.embedded-projects-head{min-height:34px;border-bottom:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:8px;font-weight:650;letter-spacing:.45px;text-transform:uppercase}.embedded-project-row{min-height:58px;border-bottom:1px solid var(--border-subtle);transition:background var(--t-fast)}.embedded-project-row:hover{background:var(--bg-elevated)}.embedded-project-code{color:var(--text-tertiary);font-family:var(--font-mono);font-size:8.5px}.embedded-project-main{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px}.embedded-project-main strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:10.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.embedded-project-main small{font-family:var(--font-mono)}.embedded-project-main em,.embedded-project-main small{color:var(--text-tertiary);font-size:8px;white-space:nowrap}.embedded-project-main em{grid-column:1/-1;overflow:hidden;font-style:normal;text-overflow:ellipsis}.embedded-project-date{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-family:var(--font-mono);font-size:8.5px;white-space:nowrap}.embedded-project-date svg{color:var(--accent-hover)}.embedded-project-date.empty{color:var(--text-tertiary);font-family:inherit}.embedded-project-updated{color:var(--text-tertiary);font-size:8.5px;white-space:nowrap}.embedded-projects-state{min-height:160px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--text-tertiary);font-size:9px}.embedded-projects-state.empty{flex-direction:column}.embedded-projects-state.empty svg{color:var(--accent-hover)}.embedded-projects-state.error{color:var(--c-blocked)}.embedded-projects-more{min-height:39px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 16px;color:var(--text-tertiary);font-size:8.5px}.embedded-projects-more a{color:var(--accent-hover);font-weight:550}.project-side-card{margin-bottom:11px;padding:13px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-base)}.project-side-title{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--text-secondary)}.project-side-title svg{color:var(--accent-hover)}.project-side-title h2{font-size:10.5px;font-weight:600}.project-milestones{position:relative;display:flex;flex-direction:column}.project-milestone{position:relative;min-height:37px;display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;color:var(--text-tertiary);font-size:8.5px}.project-milestone:not(:last-child):after{content:"";position:absolute;top:24px;bottom:-10px;left:4px;width:1px;background:var(--border-subtle)}.project-milestone i{z-index:1;width:8px;height:8px;border:2px solid var(--bg-base);border-radius:50%;background:var(--border-strong);box-shadow:0 0 0 1px var(--border-default)}.project-milestone.set i{background:var(--c-done);box-shadow:0 0 0 1px var(--c-done)}.project-milestone.emphasis.set i{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.project-milestone strong{color:var(--text-secondary);font-family:var(--font-mono);font-size:8px;font-weight:500}.project-milestone:not(.set) strong{color:var(--text-tertiary);font-family:inherit}.project-ai-state{display:flex;align-items:flex-start;gap:8px}.project-ai-state>i{width:7px;height:7px;flex-shrink:0;margin-top:3px;border-radius:50%;background:var(--text-tertiary)}.project-ai-state[data-ready=true]>i{background:var(--c-done);box-shadow:0 0 0 4px var(--c-done-bg)}.project-ai-state span,.project-ai-state strong{display:block}.project-ai-state strong{font-size:9.5px;font-weight:600}.project-ai-state span{margin-top:3px;color:var(--text-tertiary);font-size:8.5px;line-height:1.5}.project-side-meta{margin:17px 2px 12px;display:flex;flex-direction:column;gap:8px}.project-side-meta>div{display:flex;justify-content:space-between;gap:10px;color:var(--text-tertiary);font-size:8.5px}.project-side-meta strong{color:var(--text-secondary);font-weight:500}.project-delete-action{width:100%;min-height:29px;display:flex;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--r-md);font-size:9px;transition:background var(--t-fast),color var(--t-fast)}.project-delete-action:hover{background:var(--c-blocked-bg)}.project-module-placeholder{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px;border:1px dashed var(--border-default);border-radius:var(--r-xl);background:color-mix(in srgb,var(--bg-elevated) 52%,transparent);text-align:center}.project-module-icon{width:45px;height:45px;display:grid;place-items:center;margin-bottom:12px;border:1px solid var(--border-subtle);border-radius:var(--r-xl);background:var(--bg-base);color:var(--accent-hover);box-shadow:var(--shadow-sm)}.project-module-placeholder h2{font-size:13px;font-weight:600}.project-module-placeholder p{max-width:420px;margin:6px 0 16px;color:var(--text-tertiary);font-size:9.5px;line-height:1.55}.project-module-placeholder .btn small{margin-left:5px;color:var(--text-tertiary);font-size:8px}.project-detail-state{min-height:calc(100vh - 52px)}.product-toolbar{border-bottom:1px solid var(--border-subtle);border-radius:var(--r-lg)}.product-card-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:11px;margin-top:12px}.product-card{min-height:174px;display:flex;flex-direction:column;padding:15px;border:1px solid var(--border-subtle);border-radius:var(--r-xl);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);animation:fade-in .18s ease backwards}.product-card:hover{border-color:color-mix(in srgb,var(--accent) 25%,var(--border-default));background:var(--bg-base);box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.product-card-code-inline{margin-left:7px;color:var(--text-tertiary);font-family:var(--font-mono);font-size:8.5px;font-weight:400}.product-card-head>svg{margin-left:auto;color:var(--text-tertiary);transition:transform var(--t-fast),color var(--t-fast)}.product-card:hover .product-card-head>svg{color:var(--accent-hover);transform:translateX(2px)}.product-card-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--r-lg);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.product-card-code{color:var(--text-tertiary);font-family:var(--font-mono);font-size:8.5px}.product-card h2{margin-top:17px;font-family:var(--font-sora);font-size:14px;font-weight:600}.product-card>p{margin-top:4px;color:var(--text-tertiary);font-size:9.5px}.product-card-stats{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:14px;border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:8.5px}.product-card-stats span{display:flex;align-items:center;gap:5px}.product-card-stats svg{color:var(--accent-hover)}.product-card-stats strong{color:var(--text-secondary);font-size:9.5px}.product-detail-mark{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--r-lg);color:#fff}.product-detail-body{padding:20px 28px 48px;display:flex;flex-direction:column;gap:18px}.product-detail-sections{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:18px;align-items:start}.product-detail-main{min-width:0;display:flex;flex-direction:column;gap:18px}.product-detail-documents{min-width:0}.product-tab-panel{min-height:0}.project-workspace-page{min-width:0}.project-workspace-page .project-detail-header{position:relative;top:auto}.project-workspace-body{padding:20px 28px 48px;display:flex;flex-direction:column;gap:18px}.project-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,34%);gap:18px;align-items:start}.project-workspace-aside,.project-workspace-main{min-width:0;display:flex;flex-direction:column;gap:18px}.project-workspace-nav{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-base);box-shadow:var(--shadow-sm)}.project-workspace-nav a{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:var(--r-md);color:var(--text-secondary);font-size:10px;transition:color var(--t-fast),background var(--t-fast)}.project-workspace-nav a:focus-visible,.project-workspace-nav a:hover{color:var(--accent-hover);background:var(--accent-subtle)}.project-workspace-section{min-width:0;scroll-margin-top:64px}.project-workspace-section:target{outline:1px solid var(--accent);outline-offset:3px;border-radius:var(--r-xl)}.project-workspace-count{margin-left:5px;padding:2px 6px;border-radius:var(--r-sm);color:var(--text-tertiary);background:var(--bg-surface);font-family:var(--font-mono);font-size:9px}.project-workspace-page .project-detail-code{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-workspace-page .project-detail-identity p a:hover{color:var(--accent-hover)}.project-workspace-page .project-content-card>header{flex-wrap:wrap}.project-workspace-page .project-content-card>header>div:first-child{flex:1;min-width:160px}.project-workspace-page .project-content-card>header>button{flex-shrink:0}.project-workspace-page .project-inline-actions{margin-left:auto}.project-workspace-page .embedded-requirement-row,.project-workspace-page .embedded-requirements-head{grid-template-columns:minmax(160px,1fr) 64px 45px 82px;gap:8px;padding-right:12px;padding-left:12px}.project-workspace-page .embedded-requirement-main{grid-template-columns:50px minmax(0,1fr);gap:3px 6px}.project-workspace-page .project-markdown{max-height:360px;overflow:auto;overflow-wrap:anywhere}.project-workspace-page .project-milestones{padding:10px 16px 14px}.project-workspace-page .project-milestone{min-height:33px;font-size:9px}.project-workspace-page .project-side-meta{margin:0 2px}.project-workspace-aside h2{display:flex;align-items:center;gap:7px}.project-workspace-aside h2 svg{color:var(--accent-hover)}.project-workspace-aside .document-manager-head{align-items:flex-start;padding:13px 14px}.project-workspace-aside .document-manager-head p{white-space:normal;line-height:1.5}.project-workspace-aside .document-manager-state.empty{min-height:190px;padding:20px}.project-workspace-aside .document-row{flex-wrap:wrap;padding:3px 12px 8px}.project-workspace-aside .document-open{flex-basis:100%;grid-template-columns:34px minmax(0,1fr);gap:6px 9px}.project-workspace-aside .document-kind-mark{grid-row:1/span 2}.project-workspace-aside .document-version{grid-column:2;display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px;padding-left:0;border-left:0}.project-workspace-aside .document-version small{margin-top:0}.project-workspace-aside .document-row-actions{margin-left:auto;opacity:1}.project-workspace-main .document-inline-toolbar{flex-wrap:wrap}.project-workspace-main .document-inline-identity{flex-basis:100%}.project-product-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.project-product-links a{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);font-size:8.5px}.project-product-links i{width:6px;height:6px;border-radius:2px}.project-archive-summary{align-items:stretch}.project-archive-summary .project-summary-copy p{max-width:760px;white-space:pre-wrap}.project-archive-milestones .project-milestones-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:8px 16px 14px}.project-archive-milestones .project-milestone{min-width:0;padding-right:14px}.project-requirement-groups{display:flex;flex-direction:column;gap:10px;padding:12px}.project-requirement-group{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-base)}.project-requirement-group-title{min-height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.project-requirement-group-title>span{display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:10px;font-weight:600}.project-requirement-group-title i{width:7px;height:7px;border-radius:2px}.project-requirement-group-title small{margin-left:auto;color:var(--text-tertiary);font-family:var(--font-mono);font-size:8px}.project-archive-documents{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--r-xl);background:var(--bg-base)}.project-archive-section-label{min-height:48px;display:flex;align-items:center;gap:9px;padding:10px 15px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.project-archive-section-label>svg{color:var(--accent-hover)}.project-archive-section-label span,.project-archive-section-label strong{display:block}.project-archive-section-label strong{color:var(--text-secondary);font-size:10.5px}.project-archive-section-label span{margin-top:2px;color:var(--text-tertiary);font-size:8.5px}.project-archive-documents .document-manager{border:0;border-radius:0}.document-category-filter{display:flex;flex-wrap:wrap;gap:5px;padding:9px 14px;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 56%,var(--bg-base))}.document-category-filter button{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-tertiary);font-size:9px;cursor:pointer}.document-category-filter button:hover{color:var(--text-secondary);background:var(--bg-surface)}.document-category-filter button.active{border-color:color-mix(in srgb,var(--accent) 18%,var(--border-subtle));background:var(--accent-subtle);color:var(--accent-hover)}.document-category-filter span{font-family:var(--font-mono);font-size:8px}.document-manager-state.compact-empty{min-height:130px}.project-archive-footer{display:flex;justify-content:space-between;gap:16px;padding:4px 2px}.project-archive-footer,.project-delete-action{align-items:center;color:var(--text-tertiary);font-size:8.5px}.project-delete-action{display:inline-flex;gap:5px;border:0;background:transparent;cursor:pointer}.project-delete-action:hover{color:var(--c-blocked)}@media (max-width:1180px){.project-workspace-body{padding-right:20px;padding-left:20px}.project-workspace-grid{grid-template-columns:minmax(0,1fr)}.project-workspace-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.project-workspace-page .project-overview-summary{flex-wrap:wrap;gap:14px}.project-archive-milestones .project-milestones-four{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}}@media (max-width:900px){.project-workspace-aside{grid-template-columns:minmax(0,1fr)}.project-workspace-page .project-detail-title-row{flex-wrap:wrap;padding-bottom:12px}.project-workspace-page .project-detail-identity{flex-basis:calc(100% - 100px)}.project-workspace-page .project-detail-name-line{flex-wrap:wrap}.project-workspace-page .project-detail-actions{margin-left:auto}.project-workspace-section{scroll-margin-top:105px}}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.product-module-preview{min-height:140px;display:flex;align-items:center;justify-content:center;gap:11px;padding:22px}.product-module-preview>span{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r-lg);background:var(--accent-subtle);color:var(--accent-hover)}.product-module-preview strong{font-size:11px;font-weight:600}.product-module-preview p{max-width:320px;margin-top:3px;color:var(--text-tertiary);font-size:8.5px;line-height:1.5}.product-module-empty{min-height:140px;flex-direction:column;gap:8px}.product-form-modal{width:min(500px,calc(100vw - 40px))}.product-form-body{padding-top:18px}.product-form-preview{min-height:58px;display:flex;align-items:center;gap:10px;margin:4px 0 10px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-elevated)}.product-form-preview>div{min-width:0}.product-form-preview small,.product-form-preview strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-form-preview strong{font-size:11px;font-weight:600}.product-form-preview small{margin-top:2px;color:var(--text-tertiary);font-family:var(--font-mono);font-size:8px}.document-manager{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--r-xl);background:var(--bg-base);animation:fade-in var(--t-normal)}.document-manager-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.document-manager-head>div{min-width:0}.document-manager-head p{margin-top:3px;overflow:hidden;color:var(--text-tertiary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.document-manager-head>button{flex-shrink:0}.document-manager-head h2{font-size:12px;font-weight:600}.document-manager-state{min-height:180px;display:flex;align-items:center;justify-content:center;gap:8px;padding:28px;color:var(--text-tertiary);font-size:9.5px}.document-manager-state.error{color:var(--c-blocked)}.document-manager-state.empty{min-height:310px;flex-direction:column;text-align:center}.document-manager-state.empty>span{width:44px;height:44px;display:grid;place-items:center;margin-bottom:3px;border:1px solid var(--border-subtle);border-radius:var(--r-xl);background:var(--bg-elevated);color:var(--accent-hover);box-shadow:var(--shadow-sm)}.document-manager-state.empty strong{color:var(--text-secondary);font-size:11px;font-weight:600}.document-manager-state.empty p{max-width:340px;margin-bottom:8px;line-height:1.5}.document-list{display:flex;flex-direction:column}.document-row{min-height:67px;display:flex;align-items:center;padding:0 10px 0 13px;border-bottom:1px solid var(--border-subtle);transition:background var(--t-fast)}.document-row:last-child{border-bottom:0}.document-row:hover{background:var(--bg-elevated)}.document-open{min-width:0;display:grid;grid-template-columns:36px minmax(180px,1fr) 160px;align-items:center;gap:10px;flex:1;padding:10px 4px;border:0;background:transparent;text-align:left;cursor:pointer}.document-kind-mark{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-surface);color:var(--text-tertiary)}.document-kind-mark[data-kind=pdf]{background:var(--c-blocked-bg);color:var(--c-blocked)}.document-kind-mark[data-kind=docx],.document-kind-mark[data-kind=markdown]{background:var(--accent-subtle);color:var(--accent-hover)}.document-kind-mark[data-kind=csv],.document-kind-mark[data-kind=xlsx]{background:var(--c-done-bg);color:var(--c-done)}.document-kind-mark[data-kind=image]{background:var(--c-p1-bg);color:var(--c-p1)}.document-main,.document-version{min-width:0}.document-main small,.document-main strong,.document-version small,.document-version strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-main strong{color:var(--text-primary);font-size:10.5px;font-weight:550}.document-main small,.document-version small{margin-top:4px;color:var(--text-tertiary);font-size:8px}.document-main small{display:flex;align-items:center;gap:5px}.document-main i{width:2px;height:2px;border-radius:50%;background:var(--border-strong)}.document-version{padding-left:14px;border-left:1px solid var(--border-subtle)}.document-version strong{color:var(--text-secondary);font-family:var(--font-mono);font-size:8.5px;font-weight:550}.document-row-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--t-fast)}.document-row:focus-within .document-row-actions,.document-row:hover .document-row-actions{opacity:1}.document-automation-action{flex-shrink:0;margin-right:5px;color:var(--accent-hover)}.document-inline-workspace{background:var(--bg-base)}.document-inline-tabs{display:flex;align-items:center;gap:5px;padding:8px 10px;overflow-x:auto;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-elevated) 72%,var(--bg-base))}.document-inline-tabs>button{min-width:150px;max-width:220px;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid transparent;border-radius:var(--r-lg);background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer}.document-inline-tabs>button:hover{background:var(--bg-surface-hover)}.document-inline-tabs>button.active{border-color:color-mix(in srgb,var(--accent) 24%,var(--border-subtle));background:var(--bg-base);box-shadow:var(--shadow-sm)}.document-inline-tabs .document-kind-mark{width:28px;height:28px;border-radius:var(--r-md)}.document-inline-tabs button>span:last-child{min-width:0}.document-inline-tabs small,.document-inline-tabs strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-inline-tabs strong{font-size:9px;font-weight:550}.document-inline-tabs small{margin-top:2px;color:var(--text-tertiary);font-family:var(--font-mono);font-size:7.5px}.document-inline-toolbar{min-height:58px;display:flex;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid var(--border-subtle)}.document-inline-identity{min-width:0;flex:1}.document-inline-identity strong{display:block;overflow:hidden;color:var(--text-primary);font-size:10.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.document-inline-identity small{display:flex;align-items:center;gap:5px;margin-top:4px;overflow:hidden;color:var(--text-tertiary);font-size:8px;white-space:nowrap}.document-inline-identity i{width:2px;height:2px;flex-shrink:0;border-radius:50%;background:var(--border-strong)}.document-inline-preview{height:min(520px,52vh);min-height:360px;overflow:auto;background:color-mix(in srgb,var(--bg-surface) 55%,var(--bg-base))}.document-upload-modal{width:min(620px,calc(100vw - 40px))}.document-upload-body{display:flex;flex-direction:column;gap:13px}.document-file-drop{min-height:148px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed var(--border-default);border-radius:var(--r-xl);background:color-mix(in srgb,var(--bg-elevated) 64%,transparent);color:var(--text-tertiary);transition:border-color var(--t-fast),background var(--t-fast)}.document-file-drop.ready,.document-file-drop:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border-default));background:var(--accent-subtle)}.document-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.document-file-drop>span{width:39px;height:39px;display:grid;place-items:center;margin-bottom:8px;border-radius:var(--r-lg);background:var(--bg-base);color:var(--accent-hover);box-shadow:var(--shadow-sm)}.document-file-drop strong{max-width:80%;overflow:hidden;color:var(--text-secondary);font-size:10.5px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.document-file-drop small{margin-top:4px;font-size:8.5px}.document-file-trigger{margin-top:11px;background:var(--bg-base)}.document-post-upload-option{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--border-subtle));border-radius:var(--r-lg);background:color-mix(in srgb,var(--accent-subtle) 55%,var(--bg-base));cursor:pointer}.document-post-upload-option.disabled{border-color:var(--border-subtle);background:var(--bg-elevated);cursor:not-allowed}.document-post-upload-option>input{width:14px;height:14px;flex-shrink:0;margin-top:1px;accent-color:var(--accent)}.document-post-upload-option>span{min-width:0}.document-post-upload-option small,.document-post-upload-option strong{display:block}.document-post-upload-option strong{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:9.5px;font-weight:600}.document-post-upload-option strong svg{color:var(--accent-hover)}.document-post-upload-option small{margin-top:3px;color:var(--text-tertiary);font-size:8px;line-height:1.45}.document-post-upload-option.disabled strong,.document-post-upload-option.disabled strong svg,.document-upload-help{color:var(--text-tertiary)}.document-upload-help{margin-right:auto;font-size:8px}.document-preview-overlay{background:rgba(17,18,22,.54);backdrop-filter:blur(5px)}.document-preview-modal{position:fixed;z-index:101;top:4vh;right:3vw;bottom:4vh;left:3vw;overflow:hidden;border:1px solid var(--border-default);border-radius:16px;background:var(--bg-base);box-shadow:var(--shadow-xl);animation:dialog-in .18s cubic-bezier(.2,.85,.35,1)}.document-preview-header{height:68px;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.document-preview-header>div:nth-child(2){min-width:0;flex:1}.document-preview-header h2{overflow:hidden;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.document-preview-header p{margin-top:3px;color:var(--text-tertiary);font-size:8.5px}.document-preview-layout{height:calc(100% - 68px);display:grid;grid-template-columns:minmax(0,1fr) 270px}.document-preview-layout>main{min-width:0;min-height:0;overflow:auto;background:color-mix(in srgb,var(--bg-surface) 55%,var(--bg-base))}.document-preview-layout>aside{min-height:0;display:flex;flex-direction:column;padding:15px 13px;border-left:1px solid var(--border-subtle);background:var(--bg-elevated)}.document-version-title{display:flex;align-items:center;gap:8px;padding:0 4px 11px;border-bottom:1px solid var(--border-subtle);color:var(--accent-hover)}.document-version-title span,.document-version-title strong{display:block}.document-version-title strong{color:var(--text-secondary);font-size:10px;font-weight:600}.document-version-title span{margin-top:2px;color:var(--text-tertiary);font-size:8px}.document-version-list{min-height:0;flex:1;overflow-y:auto;padding:8px 0}.document-version-list button{width:100%;display:grid;grid-template-columns:7px minmax(0,1fr);gap:7px;padding:9px 8px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-secondary);text-align:left;cursor:pointer}.document-version-list button:hover{background:var(--bg-surface)}.document-version-list button.active{border-color:color-mix(in srgb,var(--accent) 18%,var(--border-subtle));background:var(--accent-subtle)}.document-version-list button>i{width:7px;height:7px;margin-top:3px;border:2px solid var(--bg-base);border-radius:50%;background:var(--border-strong);box-shadow:0 0 0 1px var(--border-default)}.document-version-list button.active>i{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.document-version-list small,.document-version-list strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-version-list strong{font-family:var(--font-mono);font-size:8.5px;font-weight:600}.document-version-list strong em{margin-left:5px;padding:1px 4px;border-radius:999px;background:var(--c-done-bg);color:var(--c-done);font-family:var(--font-sans);font-size:7px;font-style:normal}.document-version-list small{margin-top:3px;color:var(--text-tertiary);font-size:7.5px}.document-restore-btn{width:100%}.document-version-note{margin-top:8px;color:var(--text-tertiary);font-size:7.5px;line-height:1.45;text-align:center}.document-preview-state{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:30px;color:var(--text-tertiary);font-size:9px;text-align:center}.document-preview-state strong{color:var(--text-secondary);font-size:11px}.document-pdf-viewer{height:100%;min-height:380px;display:flex;flex-direction:column}.document-pdf-toolbar{display:flex;gap:3px;padding:6px 8px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.document-pdf-btn,.document-pdf-toolbar{align-items:center;color:var(--text-secondary)}.document-pdf-btn{display:inline-flex;justify-content:center;width:26px;height:26px;border:0;border-radius:var(--r-sm);background:transparent;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.document-pdf-btn:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.document-pdf-btn.active{background:var(--accent-subtle);color:var(--accent-hover)}.document-pdf-btn:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.5}.document-pdf-page{display:inline-flex;align-items:center;gap:4px;padding:0 4px;font-size:11px;white-space:nowrap}.document-pdf-page-input{width:38px;padding:2px 4px;border:1px solid var(--border-default);border-radius:var(--r-sm);outline:0;background:var(--bg-base);color:var(--text-primary);font-size:11px;text-align:center}.document-pdf-page-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.document-pdf-zoom{min-width:44px;padding:0 4px;font-size:10.5px;font-variant-numeric:tabular-nums;text-align:center}.document-pdf-divider{width:1px;height:16px;margin:0 4px;background:var(--border-subtle)}.document-pdf-hint{min-width:0;overflow:hidden;flex:1;color:var(--text-tertiary);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.document-pdf-body,.document-pdf-scroll{min-height:0;flex:1;display:flex}.document-pdf-scroll{justify-content:center;align-items:flex-start;overflow:auto;padding:16px}.document-pdf-canvas{display:block;border-radius:2px;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.14)}.document-pdf-page-placeholder,.document-pdf-page-slot{width:100%;display:flex;justify-content:center}.document-pdf-page-placeholder{align-items:center;border-radius:2px;background:color-mix(in srgb,var(--bg-surface) 80%,var(--bg-base));color:var(--text-tertiary);font-size:12px}.document-pdf-page-placeholder span{opacity:.8}.document-pdf-pages{display:flex;flex-direction:column;gap:18px;width:100%;align-items:center}.document-pdf-page-row{width:100%;max-width:840px;display:flex;justify-content:center}.document-pdf-spreads{display:flex;flex-direction:column;gap:18px;width:100%;align-items:center}.document-pdf-spread{display:flex;gap:24px;justify-content:center;align-items:flex-start;width:100%;max-width:1720px}.document-pdf-spread-page{flex:0 0 auto;display:flex;justify-content:center}.document-pdf-thumbs{width:164px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;padding:10px 8px;overflow-y:auto;border-right:1px solid var(--border-subtle);background:var(--bg-elevated)}.document-pdf-thumb{width:136px;height:200px;padding:2px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color var(--t-fast),background var(--t-fast)}.document-pdf-thumb:hover{background:var(--bg-surface-hover)}.document-pdf-thumb.active{border-color:var(--accent);background:var(--accent-subtle)}.document-pdf-thumb canvas,.document-pdf-thumb span{display:block;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}.document-pdf-thumb span{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:10px}.document-image-preview{position:relative;min-height:100%}.document-image-preview img{-o-object-fit:contain;object-fit:contain;padding:24px}.document-docx-preview,.document-markdown-preview{width:min(820px,calc(100% - 48px));min-height:calc(100% - 48px);margin:24px auto;padding:34px 40px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-base);box-shadow:var(--shadow-sm)}.document-docx-preview{color:var(--text-secondary);font-size:10px;line-height:1.7}.document-docx-native{min-height:100%;display:flex;flex-direction:column;padding:16px;background:color-mix(in srgb,var(--bg-surface) 55%,var(--bg-base))}.document-docx-native-styles{display:none}.document-docx-native-body{min-width:0;flex:1}.document-docx-native-body .docx-wrapper{padding:0;background:transparent}.document-docx-native-body section.docx{margin:0 auto 18px;box-shadow:var(--shadow-sm);border-radius:2px}.document-docx-native-body [data-docx-explicit-numbering]:before{content:none}.document-docx-native-body .docx-explicit-num{font:inherit}.document-docx-preview h1,.document-docx-preview h2,.document-docx-preview h3{margin:18px 0 7px;color:var(--text-primary);font-weight:600}.document-docx-preview ol,.document-docx-preview ul{margin-left:20px}.document-docx-preview table{width:100%;margin:12px 0;border-collapse:collapse}.document-docx-preview td,.document-docx-preview th{padding:6px 8px;border:1px solid var(--border-default);text-align:left}.document-text-preview{min-height:100%;margin:0;padding:25px;color:var(--text-secondary);font-family:var(--font-mono);font-size:9.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.document-table-preview{height:100%;display:flex;flex-direction:column}.document-sheet-tabs{display:flex;align-items:center;gap:3px;padding:8px 12px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.document-sheet-tabs button{max-width:160px;overflow:hidden;padding:5px 9px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-tertiary);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.document-sheet-tabs button.active{border-color:var(--border-subtle);background:var(--bg-base);color:var(--text-primary);box-shadow:var(--shadow-sm)}.document-table-scroll{min-height:0;flex:1;overflow:auto;padding:14px}.document-table-scroll table{min-width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-base);font-size:8.5px;box-shadow:var(--shadow-sm)}.document-table-scroll td,.document-table-scroll th{min-width:90px;max-width:260px;padding:6px 8px;overflow:hidden;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);text-align:left;text-overflow:ellipsis;white-space:nowrap}.document-table-scroll th{position:sticky;top:0;z-index:1;background:var(--bg-elevated);color:var(--text-secondary);font-weight:600}.document-preview-note{padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--c-p1-bg);color:var(--c-p1);font-size:8px;text-align:center}.document-delete-modal{width:min(420px,calc(100vw - 40px));padding-top:22px;text-align:center}.document-delete-modal>.delete-dialog-icon{margin:0 auto 10px}.document-delete-modal>p{padding:9px 28px 18px;color:var(--text-tertiary);font-size:9.5px;line-height:1.55}@media (max-width:1120px){.document-preview-modal{right:18px;left:18px}.document-preview-layout{grid-template-columns:minmax(0,1fr) 235px}.document-open{grid-template-columns:34px minmax(160px,1fr) 130px}}.settings-stage-badge{padding:4px 7px;border-radius:999px;background:var(--accent-subtle);color:var(--accent-hover);font-size:8.5px;font-weight:600}.settings-stage-badge.ready{background:var(--c-done-bg);color:var(--c-done)}.ai-settings-preview{min-width:0}.ai-settings-body{min-height:0;flex:1;overflow-y:auto;padding:18px 22px 30px;border-top:1px solid var(--border-subtle)}.ai-settings-callout{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border-subtle));border-radius:var(--r-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,var(--bg-base)),var(--bg-base))}.ai-settings-callout>span{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--r-lg);background:var(--accent-subtle);color:var(--accent-hover)}.ai-settings-callout strong{font-size:11px;font-weight:600}.ai-settings-callout p{max-width:560px;margin-top:4px;color:var(--text-tertiary);font-size:9.5px;line-height:1.55}.ai-settings-loading{min-height:230px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-tertiary);font-size:9.5px}.ai-settings-loading.error{flex-direction:column;color:var(--c-blocked)}.ai-settings-form{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--r-xl);background:var(--bg-elevated)}.ai-form-field{min-width:0;display:flex;flex-direction:column;gap:6px;padding:12px 13px;border-bottom:1px solid var(--border-subtle)}.ai-form-field>span{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:9.5px;font-weight:600}.ai-form-field>span svg{color:var(--text-tertiary)}.ai-form-field input{width:100%;height:34px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--r-md);outline:none;background:var(--bg-base);color:var(--text-primary);font-size:10px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.ai-form-field input:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-default));box-shadow:0 0 0 3px var(--accent-subtle)}.ai-form-field input::-moz-placeholder{color:var(--text-tertiary)}.ai-form-field input::placeholder{color:var(--text-tertiary)}.ai-form-field small{color:var(--text-tertiary);font-size:8px;line-height:1.45}.ai-form-row{display:grid;grid-template-columns:minmax(0,1fr) 150px}.ai-form-row .ai-form-field{border-bottom:0}.ai-form-row .ai-form-field+.ai-form-field{border-left:1px solid var(--border-subtle)}.ai-timeout-field>div{position:relative}.ai-timeout-field input{padding-right:30px}.ai-timeout-field em{position:absolute;top:50%;right:10px;color:var(--text-tertiary);font-size:8.5px;font-style:normal;transform:translateY(-50%)}.ai-settings-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.ai-settings-primary{display:flex;align-items:center;gap:6px}.ai-clear-btn,.ai-settings-safety{color:var(--text-tertiary)}.ai-settings-safety{display:flex;align-items:center;gap:7px;margin-top:14px;font-size:9px}.ai-settings-safety svg{color:var(--c-done)}.contract-analysis-panel{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--r-xl);background:var(--bg-base);animation:fade-in var(--t-normal)}.contract-analysis-panel>header{min-height:68px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 5%,var(--bg-elevated)),var(--bg-elevated))}.contract-analysis-title{min-width:0;display:flex;align-items:center;gap:10px;flex:1}.contract-analysis-heading-icon,.contract-analysis-title>span{width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border-subtle));border-radius:var(--r-lg);background:var(--accent-subtle);color:var(--accent-hover)}.contract-analysis-title h2{font-size:12px;font-weight:600}.contract-analysis-title p{margin-top:3px;color:var(--text-tertiary);font-size:9px}.contract-ai-provider{padding:4px 7px;border-radius:999px;background:var(--bg-surface);color:var(--text-tertiary);font-size:8px}.contract-analysis-start{display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:end;gap:9px 12px;padding:15px 16px;border-bottom:1px solid var(--border-subtle)}.contract-version-select label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:9px;font-weight:600}.contract-version-select .select-trigger{width:100%}.contract-analysis-start>p{grid-column:1/-1;color:var(--text-tertiary);font-size:8.5px}.contract-analysis-history{padding:0 16px 14px}.contract-history-head{height:43px;display:flex;align-items:center;justify-content:space-between;color:var(--text-tertiary);font-size:8px}.contract-history-head strong{color:var(--text-secondary);font-size:9px;font-weight:600}.contract-history-state{min-height:82px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px dashed var(--border-default);border-radius:var(--r-lg);color:var(--text-tertiary);font-size:8.5px}.contract-history-state.error{color:var(--c-blocked)}.contract-analysis-list{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--r-lg)}.contract-analysis-list>button{width:100%;min-height:51px;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 11px;border:0;border-bottom:1px solid var(--border-subtle);background:var(--bg-base);text-align:left;cursor:pointer;transition:background var(--t-fast)}.contract-analysis-list>button:last-child{border-bottom:0}.contract-analysis-list>button:hover{background:var(--bg-elevated)}.contract-analysis-list>button>span:nth-child(2){min-width:0}.contract-analysis-list small,.contract-analysis-list strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-analysis-list strong{color:var(--text-secondary);font-size:9.5px;font-weight:550}.contract-analysis-list small{margin-top:3px;color:var(--text-tertiary);font-size:8px}.analysis-status,.contract-analysis-list em{padding:3px 6px;border-radius:999px;background:var(--bg-surface);color:var(--text-tertiary);font-size:8px;font-style:normal}.analysis-history-dot{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary)}.analysis-history-dot[data-status=review],.contract-analysis-list em[data-status=review],[data-status=review].analysis-status{background-color:var(--c-p1-bg);color:var(--c-p1)}.analysis-history-dot[data-status=review]{background:var(--c-p1)}.analysis-history-dot[data-status=confirmed],.contract-analysis-list em[data-status=confirmed],[data-status=confirmed].analysis-status{background-color:var(--c-done-bg);color:var(--c-done)}.analysis-history-dot[data-status=confirmed]{background:var(--c-done)}.analysis-history-dot[data-status=failed],.contract-analysis-list em[data-status=failed],[data-status=failed].analysis-status{background-color:var(--c-blocked-bg);color:var(--c-blocked)}.analysis-history-dot[data-status=failed]{background:var(--c-blocked)}.analysis-history-dot[data-status=parsing],.contract-analysis-list em[data-status=parsing],[data-status=parsing].analysis-status{background-color:var(--accent-subtle);color:var(--accent-hover)}.analysis-history-dot[data-status=parsing]{background:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.contract-analysis-footnote{display:flex;align-items:center;gap:7px;padding:10px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-tertiary);font-size:8.5px}.contract-analysis-footnote svg{color:var(--c-done)}.contract-analysis-overlay{background:rgba(17,18,22,.62);backdrop-filter:blur(6px)}.contract-analysis-modal{position:fixed;z-index:101;top:3vh;right:2.5vw;bottom:3vh;left:2.5vw;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:16px;outline:none;background:var(--bg-base);box-shadow:var(--shadow-xl);animation:dialog-in .18s cubic-bezier(.2,.85,.35,1)}.contract-analysis-header{min-height:65px;display:flex;align-items:center;gap:10px;padding:0 15px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.contract-analysis-header>div:nth-child(2){min-width:0;flex:1}.contract-analysis-header h2{font-size:12px;font-weight:600}.contract-analysis-header p{margin-top:3px;overflow:hidden;color:var(--text-tertiary);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.contract-analysis-safety{min-height:52px;display:flex;align-items:center;gap:9px;padding:8px 17px;border-bottom:1px solid color-mix(in srgb,var(--c-p1) 18%,var(--border-subtle));background:color-mix(in srgb,var(--c-p1-bg) 68%,var(--bg-base));color:var(--c-p1)}.contract-analysis-safety>div{min-width:0}.contract-analysis-safety span,.contract-analysis-safety strong{display:block}.contract-analysis-safety strong{font-size:9.5px;font-weight:600}.contract-analysis-safety span{margin-top:2px;color:var(--text-tertiary);font-size:8px}.contract-analysis-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);flex:1}.contract-draft-pane,.contract-source-pane{min-width:0;min-height:0;display:flex;flex-direction:column}.contract-source-pane{border-right:1px solid var(--border-subtle)}.contract-pane-title{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 13px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.contract-pane-title span,.contract-pane-title strong{display:block}.contract-pane-title strong{color:var(--text-secondary);font-size:9.5px;font-weight:600}.contract-pane-title span{margin-top:2px;color:var(--text-tertiary);font-size:8px}.contract-pane-title>em{padding:3px 6px;border-radius:999px;background:var(--c-p1-bg);color:var(--c-p1);font-size:8px;font-style:normal}.contract-source-preview{min-height:0;flex:1;overflow:auto;background:color-mix(in srgb,var(--bg-surface) 55%,var(--bg-base))}.contract-source-preview .document-docx-preview,.contract-source-preview .document-markdown-preview{width:calc(100% - 32px);min-height:calc(100% - 32px);margin:16px auto;padding:25px 28px}.contract-draft-form{min-height:0;display:flex;flex-direction:column;gap:13px;flex:1;overflow-y:auto;padding:14px}.contract-draft-form>label>span{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:var(--text-secondary);font-size:9px;font-weight:600}.contract-draft-form>label>span em{color:var(--text-tertiary);font-size:7.5px;font-style:normal;font-weight:400}.contract-draft-form textarea{width:100%;min-height:150px;padding:10px 11px;border:1px solid var(--border-default);border-radius:var(--r-lg);outline:none;background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-mono);font-size:9px;line-height:1.62;resize:vertical;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.contract-draft-form textarea:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-default));box-shadow:0 0 0 3px var(--accent-subtle)}.contract-draft-form textarea[readonly]{background:var(--bg-elevated);color:var(--text-secondary);resize:none}.contract-date-field{padding-bottom:4px}.contract-readonly-date{height:34px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-elevated);color:var(--text-secondary);font-size:9.5px}.contract-warning-list{padding:10px 11px;border:1px solid color-mix(in srgb,var(--c-p1) 20%,var(--border-subtle));border-radius:var(--r-lg);background:color-mix(in srgb,var(--c-p1-bg) 60%,var(--bg-base))}.contract-warning-list>strong{display:block;margin-bottom:5px;color:var(--c-p1);font-size:9px;font-weight:600}.contract-warning-list p{display:flex;align-items:flex-start;gap:5px;margin-top:3px;color:var(--text-secondary);font-size:8px;line-height:1.45}.contract-warning-list p svg{flex-shrink:0;margin-top:1px;color:var(--c-p1)}.contract-analysis-failed{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:30px;color:var(--c-blocked);text-align:center}.contract-analysis-failed strong{margin-top:8px;color:var(--text-secondary);font-size:11px}.contract-analysis-failed p{max-width:350px;margin:5px 0 14px;color:var(--text-tertiary);font-size:8.5px;line-height:1.55}.contract-analysis-footer{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:0 15px;border-top:1px solid var(--border-subtle);background:var(--bg-elevated)}.contract-analysis-footer>div{display:flex;align-items:center;gap:5px;margin-right:auto;color:var(--text-tertiary);font-size:8px}.contract-confirmed-mark{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:var(--r-md);background:var(--c-done-bg);color:var(--c-done);font-size:8.5px}@media (max-width:1120px){.contract-analysis-modal{right:16px;left:16px}.contract-analysis-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}}@keyframes board-card-in{0%{opacity:0;transform:translateY(5px) scale(.99)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes overlay-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateX(-50%) translateY(-8px) scale(.99)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes select-content-in{0%{opacity:0;transform:translateY(-4px) scale(.985)}}@keyframes bulk-content-in{0%{opacity:0;transform:translateY(-3px)}}@keyframes color-popover-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes color-popover-out{to{opacity:0;transform:translateY(-2px) scale(.985)}}@keyframes date-popover-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes date-popover-out{to{opacity:0;transform:translateY(-2px) scale(.985)}}@media (max-width:1180px){.search-box{width:220px}.req-grid{grid-template-columns:28px 66px minmax(210px,1fr) 74px 130px 76px 48px 104px 72px}.project-grid{grid-template-columns:minmax(190px,1.3fr) 100px minmax(110px,.7fr) 86px 66px 50px 100px 70px;gap:9px}.product-card-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}}@media (max-width:1024px){.detail-sidebar,.project-detail-sidebar{display:none}.detail-layout,.project-detail-layout{display:block}.req-grid{grid-template-columns:28px 68px minmax(260px,1fr) 80px 78px 76px}.col-due,.col-priority,.col-type{display:none}}@media (max-width:768px){body{overflow:auto}.app-shell{min-width:720px}.sidebar{width:210px}.topbar{padding:0 16px}.search-box{width:190px}.settings-modal{width:calc(100vw - 24px)}.settings-layout{grid-template-columns:150px minmax(0,1fr)}.product-settings-layout{grid-template-columns:188px minmax(0,1fr)}.settings-form-grid{grid-template-columns:1fr}}