@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:"Inter","Inter Fallback"}
:root{--brand-50:#eff6ff;--brand-100:#dbeafe;--brand-200:#bfdbfe;--brand-300:#93c5fd;--brand-400:#60a5fa;--brand-500:#3b82f6;--brand-600:#2563eb;--brand-700:#1d4ed8;--brand-800:#1e40af;--brand-900:#1e3a8a;--gray-25:#fcfcfd;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--color-background:#f6f7f8;--color-surface:#fff;--color-surface-variant:#f4f5f6;--color-surface-sunken:var(--gray-50);--color-text-primary:var(--gray-800);--color-text-secondary:var(--gray-500);--color-text-tertiary:var(--gray-400);--color-text-inverse:#fff;--color-border:var(--gray-200);--color-border-light:var(--gray-100);--color-border-dark:var(--gray-300);--color-primary:var(--brand-600);--color-primary-dark:var(--brand-700);--color-primary-light:var(--brand-500);--status-neutral:var(--gray-500);--status-neutral-bg:var(--gray-100);--status-neutral-text:var(--gray-600);--status-active:#2563eb;--status-active-bg:#eff6ff;--status-active-text:#1d4ed8;--status-done:#059669;--status-done-bg:#ecfdf5;--status-done-text:#047857;--status-risk:#c28704;--status-risk-bg:#fefce8;--status-risk-text:#92660a;--status-blocked:#dc2626;--status-blocked-bg:#fef2f2;--status-blocked-text:#b91c1c;--status-review:#7c3aed;--status-review-bg:#f5f3ff;--status-review-text:#6d28d9;--color-error:#dc2626;--color-warning:var(--status-risk);--color-warning-light:var(--status-risk-bg);--color-success:var(--status-done);--color-success-light:var(--status-done-bg);--module-plan:#2563eb;--module-generate:#7c3aed;--module-files:#0891b2;--module-drawings:#7c3aed;--module-takeoff:#0891b2;--module-locations:#059669;--module-attendance:#c28704;--module-procurement:#059669;--module-expenses:#ea580c;--module-equipment:#0891b2;--module-quality:#2563eb;--module-safety:#dc2626;--module-chat:#db2777;--module-crm:#7c3aed;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-xxl:20px;--font-size-xxxl:24px;--line-height-tight:1.3;--line-height-base:1.5;--font-sans:var(--font-inter,"Inter"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-stack:var(--font-sans);--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-xxl:24px;--space-xxxl:32px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--shadow-1:0 1px 2px #1018280d;--shadow-2:0 1px 3px #10182817,0 1px 2px #1018280d;--shadow-3:0 12px 32px -8px #10182829,0 2px 6px #1018280f;--dur-fast:.15s;--dur-base:.25s;--ease-standard:cubic-bezier(.2,.6,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--focus-ring:0 0 0 3px #2563eb2e;--focus-outline:2px solid var(--brand-600);--sidebar-width:264px;--sidebar-rail-width:64px}
@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur-base:.01ms}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-background);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p,ul{margin:0}h1,h2,h3{line-height:var(--line-height-tight);letter-spacing:-.011em}ul{padding:0;list-style:none}button{font:inherit}:focus-visible{outline:var(--focus-outline);outline-offset:2px;border-radius:var(--radius-xs)}.muted{color:var(--color-text-secondary);font-size:var(--font-size-base)}.error-text{color:var(--color-error);font-size:var(--font-size-base)}.mono{font-family:var(--font-mono);font-size:var(--font-size-sm)}.nowrap{white-space:nowrap}.num{text-align:right;font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);gap:var(--space-md);padding:var(--space-lg)var(--space-md);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-top{gap:var(--space-lg);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gray-300)transparent;min-height:0;margin:0 calc(-1*var(--space-xs));padding:0 var(--space-xs);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar-bottom{gap:var(--space-md);flex-direction:column;flex-shrink:0;display:flex}.sidebar-section{gap:var(--space-xs);flex-direction:column;display:flex}.sidebar-foot-nav{border-top:1px solid var(--color-border-light);padding-top:var(--space-sm);flex-shrink:0}.brand{padding:var(--space-xs)var(--space-sm);color:var(--color-text-primary);align-items:center;gap:10px;display:flex}.brand:hover{text-decoration:none}.brand-mark{flex-shrink:0;display:inline-flex}.brand-logo{width:auto;display:block}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-name{letter-spacing:-.02em;font-size:15px;font-weight:700}.brand-sub{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:600}.demo-banner{gap:var(--space-sm);background:var(--status-risk-bg);border-radius:var(--radius-sm);padding:var(--space-sm)var(--space-md);font-size:var(--font-size-sm);color:var(--status-risk-text);border:1px solid #f0e2b6;align-items:flex-start;line-height:1.45;display:flex}.demo-banner .demo-banner-icon{color:var(--status-risk);flex-shrink:0;margin-top:1px}.field-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-tertiary);font-weight:600}.sidebar .field-label{padding:0 var(--space-sm)}.nav-link{align-items:center;gap:var(--space-sm);min-height:30px;padding:3px var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-base);white-space:nowrap;transition:background-color var(--dur-fast)var(--ease-standard),color var(--dur-fast)var(--ease-standard);font-weight:500;display:flex;overflow:hidden}.nav-link>span{text-overflow:ellipsis;overflow:hidden}.nav-link:hover{background:var(--gray-100);text-decoration:none}.nav-link.active{background:var(--brand-50);color:var(--brand-700);font-weight:600}.nav-icon{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--module-accent,var(--color-text-tertiary));background:color-mix(in srgb,var(--module-accent,var(--gray-400))10%,transparent);transition:color var(--dur-fast)var(--ease-standard),background-color var(--dur-fast)var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav-link:hover .nav-icon{background:color-mix(in srgb,var(--module-accent,var(--gray-400))16%,transparent)}.nav-link.active .nav-icon{color:#fff;background:var(--module-accent,var(--brand-600))}.nav-accent-dot{border-radius:var(--radius-full);background:var(--module-accent,var(--brand-600));opacity:0;width:6px;height:6px;transition:opacity var(--dur-fast)var(--ease-standard);flex-shrink:0;margin-left:auto}.nav-link.active .nav-accent-dot{opacity:1}.nav-link .badge-unread{margin-left:auto}.nav-bell{align-items:center;display:flex}.project-list{flex-direction:column;gap:2px;display:flex}.nav-sub{padding-left:var(--space-md);margin-left:var(--space-md);border-left:1px solid var(--color-border-light);flex-direction:column;gap:1px;display:flex}.nav-sub .nav-link{font-size:var(--font-size-base);min-height:26px;padding:2px var(--space-sm);color:var(--color-text-secondary);font-weight:500}.nav-sub .nav-link.active{color:var(--brand-700);font-weight:600}.project-name{font-weight:600}.project-name .nav-icon{color:var(--color-text-secondary)}.content-col{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--space-md);height:60px;padding:0 var(--space-xl);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:30;flex-shrink:0;display:flex;position:sticky;top:0}.topbar-right{align-items:center;gap:var(--space-xs);display:flex}.topbar-icon-btn{cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);transition:background-color var(--dur-fast)var(--ease-standard),color var(--dur-fast)var(--ease-standard);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.topbar-icon-btn:hover{background:var(--gray-100);color:var(--color-text-primary);text-decoration:none}.topbar-icon-btn.active{background:var(--brand-50);color:var(--brand-700)}.topbar-icon-btn:focus-visible{outline:var(--focus-outline);outline-offset:1px}.topbar-badge{border-radius:var(--radius-full);background:var(--color-error);min-width:15px;height:15px;color:var(--color-text-inverse);font-variant-numeric:tabular-nums;text-align:center;border:1.5px solid var(--color-surface);padding:0 4px;font-size:10px;font-weight:700;line-height:15px;position:absolute;top:1px;right:0}.topbar-divider{background:var(--color-border);width:1px;height:18px;margin:0 var(--space-xs)}.topbar-left{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.topbar-org{color:var(--color-text-secondary);font-size:var(--font-size-base);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-weight:600;overflow:hidden}.topbar-crumb-sep{color:var(--color-text-tertiary);font-size:var(--font-size-md)}.topbar-org-switch{flex-direction:column;min-width:104px;display:flex}.topbar-org-label{padding-left:var(--space-sm);color:var(--color-text-secondary);white-space:nowrap;font-size:10px;line-height:1.2}.topbar-org-switch .topbar-select-wrap{padding-top:2px;padding-bottom:2px}.topbar-org-switch .topbar-select{width:100%;min-width:0}.topbar-select-wrap{min-width:0;padding:4px var(--space-sm);border-radius:var(--radius-sm);transition:background-color var(--dur-fast)var(--ease-standard);align-items:center;gap:6px;display:flex;position:relative}.topbar-select-wrap:has(select):hover{background:var(--gray-100)}.topbar-select{appearance:none;font:inherit;font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;text-overflow:ellipsis;background:0 0;border:none;max-width:220px;padding:0 16px 0 0;font-weight:600}.topbar-select:focus-visible{outline:var(--focus-outline);outline-offset:2px}.topbar-select-caret{pointer-events:none;color:var(--color-text-tertiary);display:inline-flex;position:absolute;right:4px}.topbar-project-icon{color:var(--brand-600);flex-shrink:0;display:inline-flex}.topbar-context{font-size:var(--font-size-base);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:600;overflow:hidden}.topbar-context-strong{color:var(--color-text-primary)}.org-switcher-wrap{position:relative}.org-switcher-wrap .select{appearance:none;padding-right:28px;font-weight:600}.org-switcher-caret{pointer-events:none;color:var(--color-text-tertiary);display:inline-flex;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.org-switcher-mini{align-items:center;gap:var(--space-sm);min-height:28px;padding:3px var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);border:1px solid #0000;display:flex;position:relative}.org-switcher-mini:has(select):hover{border-color:var(--color-border);background:var(--gray-50)}.org-switcher-mini-icon{color:var(--color-text-tertiary);flex-shrink:0;display:inline-flex}.org-switcher-mini-select{appearance:none;min-width:0;font:inherit;color:var(--color-text-secondary);cursor:pointer;text-overflow:ellipsis;background:0 0;border:none;flex:1;padding:0 16px 0 0;font-weight:600}.org-switcher-mini-select:focus-visible{outline:var(--focus-outline);outline-offset:2px}.org-switcher-mini-caret{right:var(--space-sm);pointer-events:none;color:var(--color-text-tertiary);display:inline-flex;position:absolute}.org-switcher-mini-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.credits-chip{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm)var(--space-md);align-items:center;gap:var(--space-sm);background:var(--color-surface-sunken);font-size:var(--font-size-base);display:flex}.credits-chip.muted{color:var(--color-text-secondary)}.credits-icon{color:var(--status-risk);flex-shrink:0;display:inline-flex}.credits-lines{flex-direction:column;gap:0;min-width:0;display:flex}.credits-balance{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.credits-meta{color:var(--color-text-secondary);font-size:var(--font-size-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-block{align-items:center;gap:var(--space-sm);border-top:1px solid var(--color-border-light);padding-top:var(--space-md);display:flex}.user-avatar{border-radius:var(--radius-full);background:var(--brand-100);width:28px;height:28px;color:var(--brand-700);font-size:var(--font-size-sm);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.user-lines{flex-direction:column;flex:1;min-width:0;display:flex}.user-name{font-weight:600;font-size:var(--font-size-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-block .muted{font-size:var(--font-size-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-signout{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;transition:background-color var(--dur-fast)var(--ease-standard),color var(--dur-fast)var(--ease-standard);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.user-signout:hover{background:var(--gray-100);color:var(--color-text-primary)}.content{min-width:0;padding:var(--space-md)var(--space-xxxl)var(--space-xxxl);gap:var(--space-lg);flex-direction:column;flex:1;display:flex}.sidebar.collapsed{width:var(--sidebar-rail-width);padding:var(--space-md)var(--space-sm);overflow:visible}.sidebar.collapsed .sidebar-top{margin:0;padding:0;overflow:visible}.sidebar.collapsed .brand{padding:var(--space-xs)0;justify-content:center}.sidebar.collapsed .brand-text,.sidebar.collapsed .demo-banner,.sidebar.collapsed .field-label,.sidebar.collapsed .org-switcher,.sidebar.collapsed .org-switcher-mini,.sidebar.collapsed .nav-link>span:not(.nav-icon),.sidebar.collapsed .nav-accent-dot,.sidebar.collapsed .credits-lines,.sidebar.collapsed .user-lines,.sidebar.collapsed .badge-unread{display:none}.sidebar.collapsed .nav-link{justify-content:center;padding:5px 0}.sidebar.collapsed .nav-sub{border-left:none;margin-left:0;padding-left:0}.sidebar.collapsed .credits-chip{padding:var(--space-sm)0;justify-content:center}.sidebar.collapsed .user-block{justify-content:center}.sidebar.collapsed .nav-link[data-label]{position:relative}.sidebar.collapsed .nav-link[data-label]:hover:after,.sidebar.collapsed .nav-link[data-label]:focus-visible:after{content:attr(data-label);z-index:60;background:var(--gray-800);color:var(--color-text-inverse);font-size:var(--font-size-sm);border-radius:var(--radius-xs);white-space:nowrap;box-shadow:var(--shadow-2);pointer-events:none;padding:3px 8px;font-weight:500;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.btn{border-radius:var(--radius-sm);border:1px solid var(--brand-700);height:30px;padding:0 var(--space-md);font-size:var(--font-size-base);cursor:pointer;background:var(--brand-600);color:var(--color-text-inverse);box-shadow:var(--shadow-1);transition:background-color var(--dur-fast)var(--ease-standard),border-color var(--dur-fast)var(--ease-standard),box-shadow var(--dur-fast)var(--ease-standard);white-space:nowrap;justify-content:center;align-items:center;gap:6px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn>svg{flex-shrink:0}.btn:hover{background:var(--brand-700);text-decoration:none}.btn:active{box-shadow:none}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn:disabled:hover{background:var(--brand-600)}.btn-secondary:disabled:hover{background:var(--color-surface);border-color:var(--color-border-dark)}.btn-ghost:disabled:hover,.btn-danger:disabled:hover{background:0 0}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border-dark)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-ghost{color:var(--color-text-secondary);box-shadow:none;height:26px;padding:0 var(--space-sm);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--gray-100);color:var(--color-text-primary)}.btn-danger{color:var(--status-blocked-text);box-shadow:none;height:26px;padding:0 var(--space-sm);background:0 0;border-color:#0000}.btn-danger:hover{background:var(--status-blocked-bg)}.btn-sm{height:26px;padding:0 var(--space-sm);font-size:var(--font-size-sm)}.btn-lg{height:36px;padding:0 var(--space-lg);font-size:var(--font-size-md)}.btn-loading{pointer-events:none;opacity:.8;position:relative}.btn-loading:before{content:"";border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;width:12px;height:12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border-radius:var(--radius-full);border:2px solid var(--brand-200);border-top-color:var(--brand-600);width:18px;height:18px;animation:.7s linear infinite spin}.input,.select{border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);width:100%;min-height:30px;font:inherit;font-size:var(--font-size-base);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--dur-fast)var(--ease-standard),box-shadow var(--dur-fast)var(--ease-standard);padding:4px 10px}.input::placeholder{color:var(--color-text-tertiary)}.input:focus,.select:focus{border-color:var(--brand-600);box-shadow:var(--focus-ring);outline:none}.input-error,.input-error:focus{border-color:var(--status-blocked);box-shadow:0 0 0 3px #dc262624}textarea.input{line-height:var(--line-height-base);padding-top:6px}.auth-download-link{margin-top:var(--space-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;font-weight:600;text-decoration:none;display:block}.auth-download-link:hover{color:var(--color-primary);text-decoration:underline}.auth-download-link:focus-visible{outline:var(--focus-outline);outline-offset:3px;border-radius:3px}.input-compact{width:88px}.field{gap:var(--space-xs);flex-direction:column;display:flex}.form-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;display:grid}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);gap:var(--space-lg);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.card-title{font-size:var(--font-size-lg);letter-spacing:-.01em;font-weight:600}.page-header{gap:var(--space-xs);flex-direction:column;display:flex}.page-title{font-size:var(--font-size-xxl);letter-spacing:-.02em;font-weight:700}.breadcrumb{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;gap:6px;display:flex}.breadcrumb a{color:var(--color-text-secondary)}.breadcrumb a:hover{color:var(--color-text-primary);text-decoration:none}.breadcrumb-sep{color:var(--color-text-tertiary)}.grid-2{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.alert{border-radius:var(--radius-sm);padding:var(--space-sm)var(--space-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-left-width:3px}.alert-error{background:var(--status-blocked-bg);border-color:#f3c6c6;border-left-color:var(--status-blocked);color:var(--status-blocked-text)}.alert-success{background:var(--status-done-bg);border-color:#bfe8d9;border-left-color:var(--status-done);color:var(--status-done-text)}.alert-info{background:var(--status-active-bg);border-color:var(--brand-100);border-left-color:var(--status-active);color:var(--brand-800)}.alert-warn{background:var(--status-risk-bg);border-color:#f0e2b6;border-left-color:var(--status-risk);color:var(--status-risk-text)}.chip,.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;background:var(--status-neutral-bg);color:var(--status-neutral-text);align-items:center;gap:5px;padding:3px 8px;font-weight:600;line-height:1;display:inline-flex}.chip:before,.badge:before{content:"";border-radius:var(--radius-full);background:var(--chip-dot,var(--status-neutral));width:6px;height:6px}.chip-neutral,.badge-muted{background:var(--status-neutral-bg);color:var(--status-neutral-text);--chip-dot:var(--status-neutral)}.chip-active,.badge-progress{background:var(--status-active-bg);color:var(--status-active-text);--chip-dot:var(--status-active)}.chip-done,.badge-done{background:var(--status-done-bg);color:var(--status-done-text);--chip-dot:var(--status-done)}.chip-risk,.badge-warn{background:var(--status-risk-bg);color:var(--status-risk-text);--chip-dot:var(--status-risk)}.chip-blocked,.badge-error{background:var(--status-blocked-bg);color:var(--status-blocked-text);--chip-dot:var(--status-blocked)}.chip-review{background:var(--status-review-bg);color:var(--status-review-text);--chip-dot:var(--status-review)}.badge-unread{border-radius:var(--radius-full);background:var(--brand-600);min-width:18px;color:var(--color-text-inverse);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;text-align:center;flex-shrink:0;padding:2px 6px;font-weight:600;line-height:1.2}.badge-unread:before{content:none}.tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:2px;display:flex}.tab{font:inherit;font-weight:500;font-size:var(--font-size-base);color:var(--color-text-secondary);padding:var(--space-sm)var(--space-md);cursor:pointer;border-radius:var(--radius-xs)var(--radius-xs)0 0;transition:color var(--dur-fast)var(--ease-standard),background-color var(--dur-fast)var(--ease-standard);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.tab:hover{color:var(--color-text-primary);background:var(--gray-100)}.tab.active{color:var(--brand-700);border-bottom-color:var(--brand-600);font-weight:600}.stat-strip{gap:var(--space-md);flex-wrap:wrap;display:flex}.stat,.stat-tile{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-md)var(--space-lg);flex-direction:column;gap:2px;min-width:128px;display:flex}.stat-value{font-size:var(--font-size-xxl);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:700;line-height:1.2}.stat-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-weight:600}.stat-delta{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.stat-delta.up{color:var(--status-done-text)}.stat-delta.down{color:var(--status-blocked-text)}.stat.stat-warn,.stat-tile.stat-warn{background:var(--status-risk-bg);border-color:#ecd9a0}.stat.stat-warn .stat-value,.stat-tile.stat-warn .stat-value{color:var(--status-risk-text)}.info-pop-wrap{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.info-pop-btn{border-radius:var(--radius-full);width:22px;height:22px;color:var(--color-text-tertiary);cursor:help;transition:background-color var(--dur-fast)var(--ease-standard),color var(--dur-fast)var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.info-pop-btn:hover,.info-pop-btn[aria-expanded=true]{background:var(--gray-100);color:var(--color-text-secondary)}.info-pop{z-index:60;width:max-content;max-width:min(340px,70vw);padding:var(--space-sm)var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-3);color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:normal;letter-spacing:normal;text-transform:none;visibility:hidden;opacity:0;transition:opacity var(--dur-fast)var(--ease-standard);font-weight:400;line-height:1.45;position:absolute;top:calc(100% + 6px);left:0}.info-pop-open{visibility:visible;opacity:1}.table-wrap{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);overflow-x:auto}.file-table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}.file-table th{z-index:1;background:var(--color-surface-sunken);text-align:left;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);padding:6px var(--space-md);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600;position:sticky;top:0}.file-table td{padding:6px var(--space-md);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.file-table tbody tr:last-child td{border-bottom:none}.file-table tbody tr:hover td{background:var(--gray-50)}.file-name{word-break:break-all;font-weight:600}.file-path{color:var(--color-text-tertiary);font-size:var(--font-size-sm);word-break:break-all}.row-actions{gap:var(--space-xs);justify-content:flex-end;display:flex}.row-aging td{background:#fffbeb}.empty-state{padding:var(--space-xxxl);text-align:center;color:var(--color-text-secondary);gap:var(--space-sm);flex-direction:column;align-items:center;display:flex}.empty-icon{border-radius:var(--radius-md);background:var(--gray-100);width:40px;height:40px;color:var(--color-text-tertiary);margin-bottom:var(--space-xs);justify-content:center;align-items:center;display:inline-flex}.empty-title{color:var(--color-text-primary);font-weight:600;font-size:var(--font-size-lg)}.empty-state .btn{margin-top:var(--space-xs)}.skeleton{border-radius:var(--radius-xs);background:var(--gray-100);position:relative;overflow:hidden}.skeleton:after{content:"";animation:shimmer 1.4s var(--ease-standard)infinite;background:linear-gradient(90deg,#0000,#ffffffb3,#0000);position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-text{width:100%;height:12px}.skeleton-text-sm{width:40%;height:12px}.skeleton-title{width:60%;height:18px}.skeleton-row{width:100%;height:30px}.skeleton-tile{width:128px;height:64px}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.toolbar-side{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.dialog-backdrop{padding:var(--space-lg);z-index:90;animation:fade-in var(--dur-fast)var(--ease-standard);background:#11182780;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-xl);gap:var(--space-md);width:min(440px,100%);max-height:85vh;box-shadow:var(--shadow-3);animation:dialog-in var(--dur-base)var(--ease-out);flex-direction:column;display:flex;overflow-y:auto}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}.dialog-actions{justify-content:flex-end;align-items:center;gap:var(--space-sm);display:flex}.drawer-scrim{z-index:80;animation:fade-in var(--dur-fast)var(--ease-standard);background:#11182780;position:fixed;inset:0}.drawer{z-index:81;background:var(--color-surface);border-left:1px solid var(--color-border);width:min(420px,100vw);box-shadow:var(--shadow-3);animation:drawer-in var(--dur-base)var(--ease-out);outline:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-detail{width:min(520px,100vw)}@keyframes drawer-in{0%{opacity:0;transform:translate(32px)}}.drawer .dialog-backdrop{z-index:90}.drawer-head{align-items:center;gap:var(--space-md);padding:var(--space-lg)var(--space-xl);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.drawer-icon{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--module-accent,var(--brand-600));background:color-mix(in srgb,var(--module-accent,var(--brand-600))10%,#fff);border:1px solid color-mix(in srgb,var(--module-accent,var(--brand-600))22%,#fff);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.drawer-title{align-items:center;gap:var(--space-sm);min-width:0;font-size:var(--font-size-lg);letter-spacing:-.01em;flex-wrap:wrap;flex:1;font-weight:700;display:flex}.drawer-title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawer-close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;transition:background-color var(--dur-fast)var(--ease-standard),color var(--dur-fast)var(--ease-standard);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.drawer-close:hover{background:var(--gray-100);color:var(--color-text-primary)}.drawer-body{min-height:0;padding:var(--space-xl);gap:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-foot{justify-content:flex-end;align-items:center;gap:var(--space-sm);padding:var(--space-md)var(--space-xl);border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;display:flex}.drawer-section{border-top:1px solid var(--color-border-light);padding-top:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.drawer-section-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-weight:600}.drawer-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.drawer .file-name,.drawer .file-path{word-break:normal;overflow-wrap:anywhere}.drawer-dl{gap:6px var(--space-lg);font-size:var(--font-size-base);grid-template-columns:132px minmax(0,1fr);margin:0;display:grid}.drawer-dl dt{color:var(--color-text-secondary)}.drawer-dl dd{overflow-wrap:anywhere;margin:0}.drawer-body .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.form-span{grid-column:1/-1}.field-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.field-label.field-req:after{content:" *";color:var(--status-blocked)}.table-toolbar{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.table-toolbar .select{width:auto;min-width:110px}.table-toolbar .input[type=date]{width:auto}.tt-search{align-items:center;display:inline-flex;position:relative}.tt-search-ic{color:var(--color-text-tertiary);pointer-events:none;display:inline-flex;position:absolute;left:9px}.tt-search-input{width:200px;padding-left:28px}.tt-spacer{flex:1}.tt-count{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.row-click{cursor:pointer}.row-click:focus-visible{outline:var(--focus-outline);outline-offset:-2px}.row-open{color:var(--color-text-tertiary);display:inline-flex}.row-click:hover .row-open{color:var(--color-text-secondary)}.chat-card{flex-direction:column;min-height:540px;display:flex;overflow:hidden}.chat-pane{background:#efeae2;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.chat-toolbar{z-index:5;justify-content:flex-end;display:flex;position:absolute;top:-48px;right:50px}.chat-icon-btn,.chat-alert-close{border-radius:var(--radius-full);width:34px;height:34px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-icon-btn:hover,.chat-alert-close:hover{color:var(--color-text-primary);background:#1118270f}.chat-icon-btn:focus-visible,.chat-alert-close:focus-visible{outline:var(--focus-outline);outline-offset:1px}.chat-search-panel{z-index:8;width:min(380px,92%);max-height:calc(100% - 66px);padding:var(--space-md);border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-2);position:absolute;top:0;right:0}.chat-search{gap:var(--space-sm);display:flex}.chat-search .input{flex:1}.chat-search-results{max-height:360px;margin-top:var(--space-sm);flex-direction:column;display:flex;overflow-y:auto}.chat-search-count{padding:4px var(--space-sm);color:var(--color-text-tertiary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.search-hit{gap:2px var(--space-sm);width:100%;padding:var(--space-sm);border:0;border-bottom:1px solid var(--color-border-light);color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:1fr auto;display:grid}.search-hit:hover{background:var(--gray-50)}.search-hit-text{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.chat-state,.chat-action-error{z-index:9;top:var(--space-md);align-items:center;gap:var(--space-md);width:min(620px,100% - 32px);box-shadow:var(--shadow-2);display:flex;position:absolute;left:50%;transform:translate(-50%)}.chat-action-error{justify-content:space-between}.chat-alert-close{width:26px;height:26px;color:inherit;font-size:20px}.chat-pinned-bar{border:0;border-bottom:1px solid var(--color-border-light);color:#54656f;text-align:left;cursor:pointer;background:#fffffff5;align-items:center;gap:9px;width:100%;min-height:43px;padding:6px 13px;display:flex}.chat-pinned-bar:hover{background:#f8fafb}.chat-pinned-bar>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.chat-pinned-bar strong{color:#008069;font-size:var(--font-size-xs)}.chat-pinned-bar small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-pinned-icon{color:#008069;font-size:18px}.msg-list{overscroll-behavior:contain;background-color:#efeae2;background-image:radial-gradient(circle at 18% 22%,#54656f09 0 1.5px,#0000 2px),radial-gradient(circle at 72% 68%,#54656f06 0 1.5px,#0000 2px);background-size:44px 44px,56px 56px;flex-direction:column;flex:1;gap:2px;min-height:360px;padding:14px clamp(12px,5vw,72px) 22px;display:flex;overflow-y:auto}.load-older{padding:var(--space-sm)0;justify-content:center;display:flex}.chat-history-btn{border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;box-shadow:var(--shadow-1);background:#ffffffe6;border:0;padding:6px 12px}.chat-history-btn:disabled{cursor:wait;opacity:.7}.day-divider,.unread-divider{color:#54656f;font-size:var(--font-size-xs);justify-content:center;align-items:center;margin:10px 0;display:flex}.day-divider span,.unread-divider span{border-radius:var(--radius-sm);background:#ffffffeb;padding:5px 10px;box-shadow:0 1px 1px #1118270f}.unread-divider span{color:#166534;background:#d9fdd3;font-weight:600}.msg{justify-content:flex-start;align-items:flex-start;gap:4px;padding:1px 44px 1px 0;scroll-margin:80px;display:flex;position:relative}.msg.msg-own{flex-direction:row-reverse;padding:1px 0 1px 44px}.msg-highlighted .msg-bubble{animation:1.8s message-highlight}@keyframes message-highlight{20%,70%{box-shadow:0 0 0 3px #eab30873}}.msg-stack{flex-direction:column;min-width:0;max-width:min(72%,580px);display:flex}.msg-own .msg-stack{align-items:flex-end}.msg-bubble{border-radius:2px var(--radius-sm)var(--radius-sm)var(--radius-sm);color:#111b21;background:#fff;border:0;min-width:88px;max-width:100%;padding:7px 9px 5px;position:relative;box-shadow:0 1px 1px #1118271f}.msg-own .msg-bubble{border-radius:var(--radius-sm)2px var(--radius-sm)var(--radius-sm);background:#d9fdd3}.msg-bubble:before{content:"";background:linear-gradient(225deg,#fff 50%,#0000 51%);width:8px;height:10px;position:absolute;top:0;left:-7px}.msg-own .msg-bubble:before{background:linear-gradient(135deg,#d9fdd3 50%,#0000 51%);left:auto;right:-7px}.msg-bubble.msg-deleted{opacity:.78;background:#ffffffd1}.msg-own .msg-bubble.msg-deleted{background:#d9fdd3d1}.msg-sender{color:#1d6b5a;font-size:var(--font-size-xs);margin:0 0 2px;font-weight:700}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--font-size-base);margin:0;line-height:1.42}.msg-deleted-text{color:var(--color-text-tertiary);align-items:center;gap:5px;font-style:italic;display:flex}.msg-meta{color:#667781;justify-content:flex-end;align-items:center;gap:5px;min-height:14px;margin:2px 0 -1px 12px;font-size:10px;line-height:1;display:flex}.msg-delivered{color:#667781;letter-spacing:-4px;padding-right:4px;font-size:12px}.msg-delivered.read{color:#0b8ed9}.msg-edit{gap:var(--space-xs);flex-direction:column;min-width:min(360px,64vw);display:flex}.msg-forwarded,.msg-external{color:#667781;align-items:center;gap:4px;margin:0 0 3px;font-size:10px;font-style:italic;display:flex}.msg-external{color:#008069;font-style:normal}.msg-quote{color:#667781;text-align:left;cursor:pointer;background:#111b210e;border:0;border-left:3px solid #06cf9c;border-radius:4px;flex-direction:column;gap:2px;width:100%;margin:-1px 0 6px;padding:6px 8px;display:flex;overflow:hidden}.msg-quote>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msg-quote-sender{color:#008069;font-size:var(--font-size-xs);font-weight:700}.msg-attachments{flex-direction:column;gap:5px;margin-top:5px;display:flex}.msg-attachment{width:100%;min-width:min(280px,58vw);color:inherit;font:inherit;text-align:left;cursor:pointer;background:#111b210f;border:0;border-radius:5px;align-items:center;gap:8px;padding:8px;text-decoration:none;display:flex}.msg-attachment:hover{background:#111b211a;text-decoration:none}.msg-attachment:disabled{cursor:wait;opacity:.7}.msg-attachment-icon{color:#008069;font-size:20px}.msg-attachment-lines{flex-direction:column;flex:1;min-width:0;display:flex}.msg-attachment-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.msg-attachment-meta{color:#667781;font-size:var(--font-size-xs);text-transform:capitalize}.msg-attachment-open{color:#667781}.msg-reactions{z-index:1;flex-wrap:wrap;gap:3px;margin:-3px 0 1px 7px;display:flex}.msg-reactions-own{justify-content:flex-end;margin-right:7px}.msg-reaction{border-radius:var(--radius-full);color:#54656f;cursor:pointer;min-width:31px;height:23px;box-shadow:var(--shadow-1);background:#fff;border:1px solid #e2e8f0;padding:1px 6px;font-size:11px}.msg-reaction.active{color:#006c57;background:#e7fce8;border-color:#00a884}.msg-menu-wrap{flex-shrink:0;position:relative}.msg-menu-trigger{border-radius:var(--radius-full);color:#54656f;cursor:pointer;opacity:0;width:28px;height:28px;transition:opacity var(--dur-fast)var(--ease-standard);box-shadow:var(--shadow-1);background:#ffffffe0;border:0;font-size:20px;line-height:1;transform:translateY(2px)}.msg:hover .msg-menu-trigger,.msg:focus-within .msg-menu-trigger{opacity:1}.msg-menu,.reaction-picker{z-index:7;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);min-width:128px;box-shadow:var(--shadow-3);flex-direction:column;padding:5px;display:flex;position:absolute;top:30px;left:0}.msg-own .msg-menu,.msg-own .reaction-picker{left:auto;right:0}.msg-menu button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:7px 9px}.msg-menu button:hover{background:var(--gray-50)}.reaction-picker{flex-direction:row;min-width:auto;padding:4px}.reaction-picker button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;font-size:19px}.reaction-picker button:hover{background:var(--gray-100);transform:scale(1.08)}.chat-empty{max-width:320px;padding:var(--space-xl);color:#667781;text-align:center;margin:auto}.chat-empty-icon{margin-bottom:var(--space-sm);color:#008069;display:inline-flex}.chat-message-skeletons{padding-bottom:var(--space-xl);flex-direction:column;gap:12px;margin-top:auto;display:flex}.chat-message-skeletons span{border-radius:var(--radius-sm);background:#ffffffbf;width:44%;height:42px;animation:1.3s infinite shimmer}.chat-message-skeletons span:nth-child(2n){background:#d9fdd3bf;align-self:flex-end;width:37%}.composer-shell{background:#f0f2f5;flex-shrink:0;padding:7px clamp(8px,2vw,16px);position:relative}.composer{align-items:flex-end;gap:7px;display:flex}.composer-input-wrap{flex:1;position:relative}.composer-input{resize:vertical;color:#111b21;width:100%;min-height:40px;max-height:132px;font:inherit;background:#fff;border:0;border-radius:9px;outline:none;padding:10px 13px;line-height:20px;display:block}.composer-input:focus{box-shadow:0 0 0 2px #00a8844d}.composer-tool,.composer-send{color:#54656f;cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.composer-tool{font-size:25px}.composer-tool:hover{background:#111b210f}.composer-send{color:#fff;background:#00a884}.composer-send:hover:not(:disabled){background:#008f72}.composer-send:disabled{cursor:not-allowed;opacity:.42}.composer-context{align-items:center;gap:var(--space-sm);background:#fff;border-radius:6px;margin:0 47px 6px;padding:7px 8px;display:flex}.composer-context-bar{background:#00a884;border-radius:2px;align-self:stretch;width:3px}.composer-context-lines{flex-direction:column;flex:1;min-width:0;display:flex}.composer-context-lines strong{color:#008069;font-size:var(--font-size-xs)}.composer-context-lines span{color:#667781;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composer-attachments{flex-wrap:wrap;gap:5px;margin:0 47px 6px;display:flex}.composer-attachment{border-radius:var(--radius-sm);color:#54656f;font-size:var(--font-size-xs);background:#fff;align-items:center;gap:5px;padding:5px 8px;display:inline-flex}.composer-attachment-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.composer-attachment small{color:#8696a0}.composer-attachment button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.composer-attachment button:disabled{cursor:wait;opacity:.6}.composer-attachment-uploading{color:#667781}.composer-upload-spinner{border:2px solid #c6d1d5;border-top-color:#00a884;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}.mention-suggestions{z-index:9;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);width:min(360px,90vw);box-shadow:var(--shadow-3);padding:5px;position:absolute;bottom:calc(100% + 7px);left:0}.mention-suggestions button{align-items:center;gap:var(--space-sm);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 8px;display:flex}.mention-suggestions button:hover,.mention-suggestions button:focus-visible{background:var(--gray-50)}.mention-suggestions button>span:nth-child(2){flex:1}.mention-suggestions small{color:var(--color-text-tertiary);text-transform:capitalize}.avatar-sm{width:25px;height:25px;font-size:9px}.chat-delete-dialog{max-width:440px}.forward-chat-list{max-height:320px;margin:var(--space-md)0;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);overflow-y:auto}.forward-chat-list label{align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--color-border-light);cursor:pointer;padding:9px;display:flex}.forward-chat-list label:hover{background:var(--gray-50)}@media (max-width:720px){.msg-list{padding-left:10px;padding-right:10px}.msg-stack{max-width:84%}.msg{padding-right:30px}.msg.msg-own{padding-left:30px}.msg-menu-trigger{opacity:.8}.composer-context,.composer-attachments{margin-left:47px;margin-right:0}}.copilot-toggle{right:var(--space-lg);bottom:var(--space-lg);z-index:40;border:1px solid var(--color-border-dark);border-radius:var(--radius-full);padding:var(--space-sm)var(--space-lg);background:var(--color-surface);color:var(--brand-700);font-size:var(--font-size-base);cursor:pointer;box-shadow:var(--shadow-3);transition:background-color var(--dur-fast)var(--ease-standard);font-weight:600;position:fixed}.copilot-toggle:hover{background:var(--gray-50)}.copilot-panel{background:var(--color-surface);border-left:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:336px;height:100vh;display:flex;position:sticky;top:0}.copilot-head{align-items:center;gap:var(--space-xs);padding:var(--space-md)var(--space-md);border-bottom:1px solid var(--color-border);display:flex}.copilot-title{font-weight:700;font-size:var(--font-size-base);white-space:nowrap}.copilot-session-select{flex:1;min-width:0}.copilot-thread{gap:var(--space-xs);min-height:0;padding:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.copilot-thread .msg-bubble{max-width:92%}.copilot-empty{padding:var(--space-sm)}.copilot-note{margin:0 var(--space-md)var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm)var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-surface-variant)}.copilot-upsell{background:var(--status-risk-bg);border-color:var(--status-risk);color:var(--color-text-primary)}.copilot-error{border-color:var(--status-blocked);color:var(--status-blocked-text);background:var(--status-blocked-bg)}.copilot-composer{border-top:1px solid var(--color-border);padding:var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.copilot-composer-row{justify-content:space-between;align-items:center;display:flex}@media (max-width:1100px){.copilot-panel{z-index:40;box-shadow:var(--shadow-3);position:fixed;top:0;right:0}}.member-picker{gap:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:240px;padding:var(--space-sm);flex-direction:column;display:flex;overflow-y:auto}.member-option{align-items:center;gap:var(--space-sm);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-xs);cursor:pointer;display:flex}.member-option:hover{background:var(--color-surface-variant)}.centered-page{min-height:100vh;padding:var(--space-xxl);background:radial-gradient(640px 320px at 50% -10%,#2563eb17,#0000 70%),linear-gradient(#f8fafc 0%,#eef2f7 100%);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px;box-shadow:var(--shadow-3);border-color:var(--color-border);animation:dialog-in var(--dur-base)var(--ease-out)}.auth-lockup{align-items:center;gap:10px;display:flex}.auth-lockup .brand-mark{border-radius:8px}.auth-brand{font-size:var(--font-size-xxl);letter-spacing:-.02em;font-weight:700}.auth-footnote{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.input-otp{letter-spacing:.45em;text-align:center;font-variant-numeric:tabular-nums;min-height:44px;font-size:20px;font-weight:600}.auth-progress{align-items:center;gap:var(--space-md);color:var(--color-text-secondary);display:flex}.mobile-tabbar,.mobile-sheet-backdrop{display:none}@media (max-width:720px){.sidebar{display:none}.content-col{min-width:0}.topbar{padding:0 var(--space-md)}.topbar .topbar-icon-btn[aria-pressed]{display:none}.topbar-select{max-width:32vw}.topbar-context{text-overflow:ellipsis;white-space:nowrap;max-width:32vw;overflow:hidden}.content{padding:var(--space-md)var(--space-lg)calc(76px + env(safe-area-inset-bottom))}.mobile-tabbar{z-index:60;background:var(--color-surface);border-top:1px solid var(--color-border-light);padding:6px max(6px,env(safe-area-inset-left))calc(6px + env(safe-area-inset-bottom))max(6px,env(safe-area-inset-right));justify-content:space-around;align-items:stretch;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -4px 16px #0f172a0f}.mobile-tab{border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;min-height:48px;padding:6px 2px 4px;font-family:inherit;font-weight:600;text-decoration:none;display:flex}.mobile-tab.active{color:var(--module-accent,var(--color-primary))}.mobile-tab:active{opacity:.7}.mobile-tab span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:74px;overflow:hidden}.mobile-sheet-backdrop{z-index:70;background:#0f172a66;display:block;position:fixed;inset:0}.mobile-sheet{z-index:71;background:var(--color-surface);padding:var(--space-sm)var(--space-lg)calc(var(--space-xl) + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;max-height:78dvh;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -12px 40px #0f172a2e}.mobile-sheet-grip{border-radius:var(--radius-full);background:var(--color-border-dark);width:36px;height:4px;margin:4px auto var(--space-sm);display:block}.mobile-sheet-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:var(--space-md)0 var(--space-sm);font-weight:600}.mobile-sheet-grid{gap:var(--space-lg)var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}.mobile-sheet-tile,.mobile-sheet-tile:hover,.mobile-sheet-tile:visited,.mobile-tab:hover{text-decoration:none}.mobile-sheet-tile{font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:center;flex-direction:column;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:flex}.mobile-sheet-tile:active .tile-circle{opacity:.8;transform:scale(.95)}.tile-circle{border-radius:var(--radius-full);width:56px;height:56px;color:var(--module-accent,var(--color-primary));background:color-mix(in srgb,var(--module-accent,var(--color-primary))12%,#fff);border:1px solid color-mix(in srgb,var(--module-accent,var(--color-primary))22%,#fff);transition:transform var(--dur-fast),opacity var(--dur-fast);justify-content:center;align-items:center;display:flex}.centered-page{min-height:100dvh;padding:var(--space-lg)}.centered-page .btn{min-height:46px;font-size:var(--font-size-md)}.centered-page .input{min-height:46px}.btn,select,.input{min-height:36px}}.mobile-launchpad{display:none}.mobile-sheet-close{position:absolute;top:8px;right:12px}@media (max-width:720px){.content{padding-left:16px;padding-right:16px}.card{border-radius:16px;box-shadow:0 2px 8px #0f172a0a}.btn,.input,select{min-height:44px}input,select,textarea{font-size:16px}.topbar-select{min-height:32px}.mobile-tab.active{background:color-mix(in srgb,var(--module-accent,var(--color-primary))9%,white)}.mobile-launchpad{border:1px solid var(--color-border-light);background:var(--color-surface);border-radius:16px;margin:0 0 20px;padding:16px;display:block}.mobile-launchpad-heading{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:18px;font-weight:600;display:flex}.mobile-launchpad-heading>span{overflow-wrap:anywhere}.mobile-launchpad-heading .muted{font-size:12px;font-weight:400}.mobile-sheet-tile{min-height:80px}.mobile-sheet{overscroll-behavior:contain;padding-top:16px}.mobile-sheet-title:first-of-type{padding-right:36px}}.mobile-dashboard-link{display:none}@media (max-width:720px){.topbar-org-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.topbar-org-switch{min-width:0}.topbar{min-height:52px}.mobile-dashboard-link{min-height:44px;color:var(--color-primary);flex-direction:column;flex:0 0 44px;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:600;display:inline-flex}.topbar-left{gap:8px}:is(.topbar-left:has(.mobile-dashboard-link) .topbar-project,.topbar-left:has(.mobile-dashboard-link) .topbar-crumb-sep),.topbar-org,.topbar-page,.topbar-org-sep,.topbar-page-sep{display:none}.shell{min-height:100dvh}}
.proj-head-row{align-items:center;gap:var(--space-md);min-height:32px;display:flex}.proj-head-icon{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--module-accent,var(--brand-600));background:color-mix(in srgb,var(--module-accent,var(--brand-600))10%,#fff);border:1px solid color-mix(in srgb,var(--module-accent,var(--brand-600))22%,#fff);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.proj-head-title{font-size:var(--font-size-xl);white-space:nowrap;flex-shrink:0}.proj-head-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-sm);flex:1;margin:0;overflow:hidden}.proj-head-action{align-items:center;gap:var(--space-sm);flex-shrink:0;justify-content:flex-end;margin-left:auto;display:flex}.proj-tabs .tab.active{color:var(--color-text-primary);border-bottom-color:var(--module-accent,var(--brand-600))}.area-tabs{margin-top:calc(-1*var(--space-sm))}.area-tabs .tab{align-items:center;display:inline-flex}.area-tabs .tab:hover{text-decoration:none}.agents-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:stretch;max-width:980px;display:grid}.agent-card{gap:var(--space-md);min-height:250px;padding:var(--space-xl);background:linear-gradient(180deg,color-mix(in srgb,var(--agent-accent,var(--brand-600))5%,#fff),#fff 62%);position:relative;overflow:hidden}.agent-card:before{content:"";background:linear-gradient(90deg,var(--agent-accent,var(--brand-600)),color-mix(in srgb,var(--agent-accent,var(--brand-600))30%,#fff));height:3px;position:absolute;top:0;left:0;right:0}.agent-card-head{align-items:center;gap:var(--space-md);display:flex}.agent-card-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--agent-accent,var(--brand-600));background:color-mix(in srgb,var(--agent-accent,var(--brand-600))11%,#fff);border:1px solid color-mix(in srgb,var(--agent-accent,var(--brand-600))24%,#fff);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.agent-card-head .chip{margin-left:auto}.agent-card-name{font-size:var(--font-size-md);letter-spacing:-.01em;font-weight:600}.agent-card-desc{color:var(--color-text-secondary);line-height:1.5}.agent-card-meta{color:var(--color-text-secondary);font-size:var(--font-size-sm);gap:4px;margin:0;padding:0;list-style:none;display:grid}.agent-card-meta li:before{content:"•";color:var(--agent-accent,var(--brand-600));margin-right:7px}.agent-card-foot{margin-top:auto;display:flex}@media (max-width:720px){.agents-grid{grid-template-columns:1fr;max-width:none}.agent-card{min-height:0}}.row-chevron{color:var(--color-text-tertiary);transition:transform var(--dur-fast)var(--ease-standard);display:inline-flex}[aria-expanded=true]>.row-chevron,[aria-expanded=true] .row-chevron{transform:rotate(180deg)}.page-skel{gap:var(--space-lg);flex-direction:column;display:flex}.page-skel-rows{gap:var(--space-sm);flex-direction:column;display:flex}.page-skel-head{opacity:.75;height:24px}.page-skel-chat{gap:var(--space-sm);flex-direction:column;display:flex}.page-skel-bubble{border-radius:var(--radius-md);width:45%;height:44px}.page-skel-bubble.own{align-self:flex-end}.stat-warn .stat-label{align-items:center;gap:5px;display:flex}.stat-warn-ic{color:var(--status-risk);display:inline-flex}.proc-page{gap:var(--space-lg);flex-direction:column;min-width:0;max-width:100%;display:flex}.proc-card{gap:0;min-width:0;max-width:100%;padding:0;overflow:hidden}.proc-card>:not(.proc-tabs){margin:var(--space-lg)var(--space-xl)0}.proc-card>:last-child{margin-bottom:var(--space-xl)}.proc-tabs{width:100%;min-width:0;max-width:100%;padding:0 var(--space-md);overscroll-behavior-x:contain;scrollbar-color:var(--gray-300)transparent;scrollbar-width:thin}.proc-tabs .tab{scroll-snap-align:start}.proc-table-region{min-width:0;max-width:100%}.proc-table-region .table-wrap{overscroll-behavior-x:contain;scrollbar-color:var(--gray-300)transparent;scrollbar-width:thin;min-width:0;max-width:100%}.proc-table-region .table-wrap:focus-visible{outline:var(--focus-outline);outline-offset:2px}.proc-tabs::-webkit-scrollbar{height:7px}.proc-table-region .table-wrap::-webkit-scrollbar{height:7px}.proc-tabs::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:var(--gray-300)}.proc-table-region .table-wrap::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:var(--gray-300)}.proc-scroll-hint{color:var(--color-text-tertiary);font-size:var(--font-size-xs);align-items:center;gap:3px;font-weight:600;display:none}.proc-tab-count{border-radius:var(--radius-full);background:var(--gray-100);min-width:18px;height:18px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;font-size:10px;display:inline-flex}.proc-tabs .tab.active .proc-tab-count{background:color-mix(in srgb,var(--module-accent,var(--brand-600))12%,#fff);color:var(--brand-800)}.proc-refreshing{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.proc-stat-button{font:inherit;color:inherit;text-align:left;cursor:pointer}.proc-stat-button:hover{border-color:var(--module-procurement);box-shadow:var(--shadow-1)}.proc-toast{z-index:80;right:var(--space-xl);top:var(--space-xl);background:var(--color-surface);min-width:260px;max-width:min(420px,100vw - 32px);box-shadow:var(--shadow-3);animation:dialog-in var(--dur-base)var(--ease-out);position:fixed}.proc-progress-copy{color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap}.proc-quantity-in{color:var(--status-done-text);font-weight:700}.proc-quantity-out{color:var(--status-blocked-text);font-weight:700}.proc-warehouse-strip{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.proc-warehouse-card{justify-content:space-between;align-items:center;gap:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;padding:var(--space-sm)var(--space-md);background:var(--color-surface);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;display:flex}.proc-warehouse-card:hover,.proc-warehouse-card.selected{border-color:var(--module-procurement);background:var(--gray-50)}.proc-warehouse-card>span:first-child{flex-direction:column;min-width:0;display:flex}.proc-warehouse-card small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.proc-drawer-wide .drawer-detail{width:min(860px,100vw)}.proc-lines{gap:var(--space-md);flex-direction:column;display:flex}.proc-section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.proc-section-head h3{font-size:var(--font-size-md);font-weight:700}.proc-line-stack{gap:var(--space-md);flex-direction:column;display:flex}.proc-line-card,.proc-recon-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;padding:var(--space-md);background:var(--gray-50)}.proc-line-card legend,.proc-recon-card legend{padding:0 var(--space-xs);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.proc-line-card{gap:var(--space-sm);grid-template-columns:minmax(180px,2fr) minmax(96px,.8fr) minmax(90px,.7fr) minmax(112px,1fr);align-items:start;display:grid}.proc-line-notes{grid-column:1/-2}.proc-line-remove{place-self:end}.proc-check{align-items:center;gap:var(--space-sm);color:var(--color-text-secondary);flex-direction:row;display:flex}.proc-check input{width:16px;height:16px;accent-color:var(--module-procurement)}.proc-detail-lines{border:1px solid var(--color-border);border-radius:var(--radius-sm)}.proc-recon-card{gap:var(--space-sm);flex-direction:column;display:flex}.proc-recon-over{background:var(--status-blocked-bg);border-color:#e3aaaa}.proc-recon-grid{gap:var(--space-sm);grid-template-columns:repeat(6,minmax(90px,1fr));align-items:end;display:grid}.proc-recon-grid>div,.proc-recon-grid>label{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.proc-recon-grid span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.proc-recon-grid strong{min-height:30px;font-size:var(--font-size-sm);align-items:center;display:flex}.proc-variance-negative strong,.proc-variance-negative span{color:var(--status-blocked-text)}.proc-override{padding:var(--space-md);border-radius:var(--radius-sm);background:var(--status-blocked-bg);border:1px solid #e3aaaa}.proc-recon-summary{gap:var(--space-sm);padding:var(--space-sm)var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);grid-template-columns:minmax(170px,2fr) repeat(4,minmax(80px,1fr));align-items:center;display:grid}.proc-linked-row{justify-content:space-between;align-items:center;gap:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text-primary);padding:var(--space-sm)var(--space-md);font:inherit;text-align:left;cursor:pointer;display:flex}.proc-linked-row:hover{border-color:var(--module-procurement);background:var(--gray-50)}.proc-inline-link{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (max-width:900px){.proc-line-card{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-line-notes{grid-column:1/-1}.proc-recon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.proc-recon-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-recon-summary>strong{grid-column:1/-1}}@media (max-width:600px){.proj-head-row{flex-wrap:wrap;width:100%;min-width:0;position:relative}.proj-head-action{flex:1 0 100%;justify-content:stretch;width:100%;min-width:0;margin-left:0}.proc-page .proj-head-action .btn{width:100%}.proj-head-row .info-pop-wrap{position:static}.proj-head-row .info-pop{max-width:100%;left:0}.proc-card>:not(.proc-tabs){margin-left:var(--space-md);margin-right:var(--space-md)}.proc-tabs{scroll-snap-type:x proximity;flex-wrap:nowrap;overflow-x:auto}.proc-tabs .tab{flex:none}.proc-card>.proc-tabs-hint{margin:var(--space-xs)var(--space-md)0}.proc-scroll-hint{display:inline-flex}.proc-table-region .proc-scroll-hint{margin-bottom:var(--space-xs)}.proc-line-card,.proc-recon-grid,.proc-recon-summary{grid-template-columns:minmax(0,1fr)}.proc-line-notes{grid-column:auto}.proc-line-remove{justify-self:stretch}.proc-section-head{flex-direction:column;align-items:stretch}.proc-toast{top:16px;right:16px}}.dropzone{border:2px dashed var(--color-border-dark);border-radius:var(--radius-md);padding:var(--space-xxxl);text-align:center;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;width:100%;font:inherit;gap:var(--space-xs);transition:border-color var(--dur-fast)var(--ease-standard),background-color var(--dur-fast)var(--ease-standard);flex-direction:column;align-items:center;display:flex}.dropzone:hover,.dropzone.drag-active{border-color:var(--color-primary);color:var(--color-primary-dark);background:#eff6ff}.dropzone-icon{border-radius:var(--radius-md);background:var(--gray-100);width:36px;height:36px;color:var(--color-text-tertiary);margin-bottom:var(--space-xs);justify-content:center;align-items:center;display:inline-flex}.dropzone:hover .dropzone-icon,.dropzone.drag-active .dropzone-icon{background:var(--brand-100);color:var(--brand-700)}.dropzone-title{font-weight:600;font-size:var(--font-size-md);color:var(--color-text-primary)}.upload-status{gap:var(--space-xs);flex-direction:column;display:flex}.upload-row{justify-content:space-between;align-items:center;gap:var(--space-md);font-size:var(--font-size-base);display:flex}.day-strip{gap:var(--space-sm);flex-wrap:wrap;display:flex}.day-chip{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-xs)var(--space-md);text-align:center;cursor:pointer;min-width:72px;transition:border-color var(--dur-fast)var(--ease-standard),background-color var(--dur-fast)var(--ease-standard),box-shadow var(--dur-fast)var(--ease-standard);flex-direction:column;gap:2px;display:flex}.day-chip:hover{border-color:var(--module-accent,var(--color-primary));background:var(--gray-50)}.day-chip.selected{border-color:var(--module-accent,var(--color-primary));background:color-mix(in srgb,var(--module-accent,var(--color-primary))8%,#fff);box-shadow:inset 0 0 0 1px var(--module-accent,var(--color-primary))}.day-chip-date{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.day-chip.selected .day-chip-date{color:var(--color-text-primary);font-weight:600}.day-chip-count{font-variant-numeric:tabular-nums;font-weight:700}.plan-page{gap:var(--space-lg);flex-direction:column;display:flex}.plan-toolbar{align-items:stretch;gap:var(--space-md);flex-wrap:wrap;display:flex}.plan-toolbar-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-left:auto;display:flex}.plan-view-tabs{border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);border-bottom:1px solid var(--color-border-dark);background:var(--color-surface);box-shadow:var(--shadow-1);flex-wrap:nowrap;gap:0;display:inline-flex;overflow:hidden}.plan-view-tabs .tab{border:none;border-radius:0;margin:0;padding:5px 14px;font-weight:500}.plan-view-tabs .tab+.tab{border-left:1px solid var(--color-border)}.plan-view-tabs .tab:hover{background:var(--gray-50)}.plan-view-tabs .tab.active{background:color-mix(in srgb,var(--module-accent,var(--brand-600))9%,#fff);color:var(--brand-800);font-weight:600}.plan-body{gap:var(--space-lg);align-items:flex-start;min-width:0;display:flex}.plan-main{flex:1;min-width:0;height:calc(100vh - 300px);min-height:380px}.plan-host{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);height:100%;position:relative;overflow:hidden}.plan-empty{justify-content:center;align-items:center;height:100%}.plan-panel{gap:var(--space-lg);width:340px;max-height:calc(100vh - 300px);box-shadow:var(--shadow-2);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.plan-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);top:calc(-1*var(--space-xl));z-index:2;background:var(--color-surface);margin:calc(-1*var(--space-sm))0;padding:var(--space-sm)0;display:flex;position:sticky}.plan-panel-section{gap:var(--space-sm);border-top:1px solid var(--color-border-light);padding-top:var(--space-md);flex-direction:column;display:flex}.plan-workflow{gap:var(--space-md);padding:var(--space-md);border:1px solid color-mix(in srgb,var(--module-plan)24%,var(--color-border));border-radius:var(--radius-md);background:linear-gradient(145deg,color-mix(in srgb,var(--module-plan)8%,#fff),#fff 62%);flex-direction:column;display:flex}.plan-workflow-head,.plan-progress-row,.plan-issue-head{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.plan-status{min-height:24px;font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-weight:700;display:inline-flex}.plan-status-pending{color:#475569;background:#e2e8f0}.plan-status-active{color:#075985;background:#e0f2fe}.plan-status-done{color:#166534;background:#dcfce7}.plan-status-risk{color:#991b1b;background:#fee2e2}.plan-progress-row strong{text-align:right;min-width:36px;font-size:var(--font-size-sm)}.plan-progress-track{background:#e2e8f0;border-radius:999px;flex:1;height:8px;overflow:hidden}.plan-progress-track>span{border-radius:inherit;background:linear-gradient(90deg,var(--module-plan),color-mix(in srgb,var(--module-plan)70%,#22c55e));height:100%;transition:width .18s;display:block}.plan-workflow-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.plan-progress-form{gap:var(--space-xs);flex-direction:column;display:flex}.plan-issue-form{padding-top:var(--space-md);border-top:1px solid color-mix(in srgb,var(--module-plan)18%,var(--color-border-light))}.plan-issue-list{gap:var(--space-sm);flex-direction:column;display:flex}.plan-issue{gap:var(--space-xs);padding:var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);border-left:3px solid #ef4444;flex-direction:column;display:flex}.plan-issue-resolved{background:#f8fafc;border-left-color:#22c55e}.plan-issue p{overflow-wrap:anywhere;margin:0}.plan-resolution{padding:var(--space-sm);border-radius:var(--radius-sm);color:#166534;font-size:var(--font-size-sm);background:#f0fdf4}.plan-form{gap:var(--space-md);flex-direction:column;display:flex}.plan-inline-form{gap:var(--space-sm);display:flex}.plan-inline-form .input{flex:1;min-width:0}.plan-check{align-items:center;gap:var(--space-sm);cursor:pointer;display:flex}.plan-dep-list{gap:var(--space-xs);flex-direction:column;display:flex}.plan-dep-row{align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);display:flex}.plan-dep-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.plan-modal-backdrop{z-index:40;padding:var(--space-xl);animation:fade-in var(--dur-fast)var(--ease-standard);background:#1f293773;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.plan-modal{width:min(480px,100%);max-height:calc(100vh - 2*var(--space-xl));gap:var(--space-md);box-shadow:var(--shadow-3);animation:dialog-in var(--dur-base)var(--ease-out);flex-direction:column;display:flex;overflow-y:auto}.gen-page{gap:var(--space-lg);flex-direction:column;display:flex}.gen-card{gap:var(--space-md);flex-direction:column;display:flex}.gen-actions{justify-content:flex-end;gap:var(--space-sm)}.gen-steps{flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.gen-step{align-items:center;display:flex}.gen-step:not(:last-child):after{content:"";width:22px;height:2px;margin:0 var(--space-xs);background:var(--color-border);border-radius:1px}.gen-step-done:not(:last-child):after{background:var(--module-accent,var(--brand-600));opacity:.45}.gen-step-btn{align-items:center;gap:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);font:inherit;font-size:var(--font-size-base);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--dur-fast)var(--ease-standard),background-color var(--dur-fast)var(--ease-standard),color var(--dur-fast)var(--ease-standard);padding:3px 12px 3px 4px;display:flex}.gen-step-btn:disabled{opacity:.55;cursor:not-allowed}.gen-step-btn:not(:disabled):hover{background:var(--color-surface-variant)}.gen-step-index{border-radius:var(--radius-full);background:var(--color-surface-variant);width:20px;height:20px;font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.gen-step-active .gen-step-btn{border-color:var(--module-accent,var(--color-primary));color:var(--color-text-primary);background:color-mix(in srgb,var(--module-accent,var(--color-primary))7%,#fff);font-weight:600}.gen-step-active .gen-step-index{background:var(--module-accent,var(--color-primary));color:var(--color-text-inverse)}.gen-step-done .gen-step-btn{color:var(--color-text-primary)}.gen-step-done .gen-step-index{background:var(--color-success-light);color:#065f46}.tree-node-toggle{padding:0 6px}.tree-node-spacer{width:26px;display:inline-block}.tree-chevron{color:var(--color-text-tertiary);transition:transform var(--dur-fast)var(--ease-standard);display:inline-flex}[aria-expanded=true]>.tree-chevron,[aria-expanded=true] .tree-chevron{transform:rotate(90deg)}.chat-card .msg-bubble{box-shadow:var(--shadow-1);border-radius:var(--radius-md)}.chat-card .msg:not(.msg-own) .msg-bubble{border-bottom-left-radius:var(--radius-xs)}.chat-card .msg-own .msg-bubble{border-bottom-right-radius:var(--radius-xs)}.chat-card .msg-own .msg-meta{justify-content:flex-end}.chat-card .msg+.msg,.chat-card .msg-list>div>.msg{margin-top:2px}.wa-demo-block{gap:var(--space-md);border:1px dashed var(--color-border-dark);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--color-surface-variant);align-items:flex-start;display:flex}.wa-demo-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--module-accent,var(--brand-600));background:color-mix(in srgb,var(--module-accent,var(--brand-600))11%,#fff);border:1px solid color-mix(in srgb,var(--module-accent,var(--brand-600))24%,#fff);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.wa-demo-title{margin-bottom:var(--space-xs);font-weight:600}.wa-qr-wrap{gap:var(--space-xl);flex-wrap:wrap;align-items:flex-start;display:flex}.wa-qr{border:1px solid var(--color-border);border-radius:var(--radius-md);width:216px;height:216px;padding:var(--space-sm);background:#fff;flex-shrink:0}.wa-qr-pending{justify-content:stretch;align-items:stretch;display:flex}.wa-qr-pending .skeleton{border-radius:var(--radius-sm);flex:1}.wa-qr-help{gap:var(--space-sm);flex-direction:column;flex:1;min-width:240px;display:flex}.wa-qr-steps{gap:var(--space-xs);flex-direction:column;margin:0;padding-left:18px;display:flex}.wa-group-list{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wa-group-row{align-items:center;gap:var(--space-md);padding:var(--space-sm)var(--space-md);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;transition:border-color var(--dur-fast)var(--ease-standard),background-color var(--dur-fast)var(--ease-standard);display:flex}label.wa-group-row:hover{border-color:var(--module-accent,var(--color-primary))}.wa-group-row:has(input:checked){border-color:var(--module-accent,var(--color-primary));background:color-mix(in srgb,var(--module-accent,var(--color-primary))6%,#fff)}.wa-group-mapped{cursor:default;opacity:.75}.wa-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.wa-group-meta{font-size:var(--font-size-sm);flex-shrink:0;margin-left:auto}.wa-group-row .btn{flex-shrink:0}.wa-done-head{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.wa-live{align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:#065f46;font-weight:600;display:inline-flex}.wa-live-dot{border-radius:var(--radius-full);background:var(--color-success,#10b981);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success,#10b981)22%,#fff)}.wa-live-off{color:var(--color-text-secondary)}.wa-live-off .wa-live-dot{background:var(--color-text-tertiary);box-shadow:none}.wa-inbox{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wa-inbox-row{padding:var(--space-sm)0;flex-direction:column;gap:2px;display:flex}.wa-inbox-row+.wa-inbox-row{border-top:1px solid var(--color-border-light)}.wa-inbox-meta{align-items:baseline;gap:var(--space-sm);font-size:var(--font-size-sm);min-width:0;display:flex}.wa-inbox-sender{font-weight:600}.wa-inbox-when{flex-shrink:0;margin-left:auto}.wa-inbox-text{overflow-wrap:anywhere;margin:0}.takeoff-run-meta{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.takeoff-run-name{font-weight:600}.takeoff-run-spacer{flex:1}.takeoff-toolbar{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.takeoff-card-pick{align-items:center;gap:var(--space-xs,4px);display:inline-flex}.takeoff-card-pick select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);max-width:260px;padding:3px 6px}.takeoff-layout{grid-template-columns:minmax(320px,var(--takeoff-split,46%))6px minmax(320px,1fr);gap:var(--space-md);align-items:start;display:grid}.takeoff-layout.viewer-hidden{grid-template-columns:1fr}.takeoff-layout.viewer-hidden .takeoff-split{display:none}@media (max-width:980px){.takeoff-layout{grid-template-columns:1fr}.takeoff-split{display:none}}.takeoff-split{cursor:col-resize;background:var(--color-border-light);touch-action:none;border-radius:999px;align-self:stretch;min-height:200px}.takeoff-split:hover,.takeoff-split:focus-visible{background:color-mix(in srgb,var(--module-accent,var(--brand-600))45%,var(--color-border-light));outline:none}.takeoff-grid-pane{border:1px solid var(--color-border-light);border-radius:var(--radius-md);min-width:0;max-height:74vh;overflow:auto}.takeoff-grid{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.takeoff-grid th,.takeoff-grid td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border-light);padding:3px 8px}.takeoff-grid thead th{z-index:2;background:var(--color-surface);box-shadow:inset 0 -1px 0 var(--color-border);white-space:nowrap;font-weight:600;position:sticky;top:0}.takeoff-grid .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.takeoff-grid tfoot td{z-index:2;background:var(--color-surface);border-top:2px solid var(--color-border);border-bottom:0;font-weight:600;position:sticky;bottom:0}.takeoff-grid-row:hover td{background:var(--gray-50)}.takeoff-grid-row.selected td{background:color-mix(in srgb,var(--module-accent,var(--brand-600))10%,transparent)}.takeoff-grid-row.selected td:first-child{box-shadow:inset 3px 0 0 var(--module-accent,var(--brand-600))}.takeoff-grid-group .takeoff-node-label,.takeoff-amount-group{font-weight:600}.takeoff-sr-td{color:var(--color-text-tertiary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-xs);white-space:nowrap}.takeoff-desc-td{width:99%;min-width:220px}.takeoff-desc-cell{align-items:center;gap:var(--space-xs,4px);min-width:0;display:flex}.takeoff-rate-td{white-space:nowrap}.takeoff-rate-wrap{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.takeoff-rate-btn{font:inherit;font-variant-numeric:tabular-nums;text-align:right;border-radius:var(--radius-xs);cursor:pointer;min-width:56px;color:var(--color-text-primary);background:0 0;border:0;padding:1px 4px}.takeoff-rate-btn:hover{background:color-mix(in srgb,var(--module-accent,var(--brand-600))10%,transparent)}.takeoff-rate-btn:disabled{cursor:default;opacity:.6}.takeoff-rate-inherited{color:var(--color-text-tertiary)}.takeoff-rate-input{width:88px;font:inherit;font-variant-numeric:tabular-nums;text-align:right;border:1px solid var(--module-accent,var(--brand-600));border-radius:var(--radius-xs);padding:1px 4px}.takeoff-bom-chip{border:1px dashed var(--color-border);cursor:pointer;color:var(--color-text-tertiary);background:0 0;border-radius:999px;padding:0 5px;font-size:10px;line-height:1.5}.takeoff-bom-chip.has-bom{border-style:solid;border-color:var(--module-accent,var(--brand-600));background:color-mix(in srgb,var(--module-accent,var(--brand-600))10%,transparent);color:var(--module-accent,var(--brand-600));font-weight:600}.takeoff-bom-chip:disabled{cursor:default;opacity:.6}.takeoff-basis-td{max-width:240px}.takeoff-desc-td{max-width:320px;color:var(--muted-foreground,#64748b);white-space:normal;font-size:.85em}.takeoff-basis-cell{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.takeoff-basis-text{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:180px;color:var(--color-text-tertiary);font-size:var(--font-size-xs);display:inline-block;overflow:hidden}.takeoff-node-label{font:inherit;text-align:left;cursor:pointer;min-width:0;color:var(--color-text-primary);border-radius:var(--radius-xs);background:0 0;border:0;flex:1;margin:0;padding:2px 4px}.takeoff-node-label:hover{text-decoration:underline}.takeoff-qty{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text-secondary)}.takeoff-row-flag td:first-child{box-shadow:inset 3px 0 #ea580c}.takeoff-row-flag.selected td:first-child{box-shadow:inset 3px 0 0 var(--module-accent,var(--brand-600))}.takeoff-badge-flag{color:#9a3412;--chip-dot:#ea580c;background:#fff7ed}.takeoff-row-oos td{opacity:.62}.takeoff-row-oos .takeoff-node-label{color:var(--color-text-tertiary);text-decoration:line-through}.takeoff-row-wrong td{background:#fef2f2}.takeoff-row-wrong td:first-child{box-shadow:inset 3px 0 #dc2626}.takeoff-row-wrong:not(.selected):hover td{background:#fee2e2}.takeoff-row-wrong.selected td:first-child{box-shadow:inset 3px 0 0 var(--module-accent,var(--brand-600))}.takeoff-line-ico{color:var(--color-text-tertiary);flex:none;align-items:center;display:inline-flex}.takeoff-ico-wrong{color:#dc2626}.takeoff-variant-select{font:inherit;font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);flex:none;max-width:180px;padding:1px 4px}.takeoff-scope-chip{font-size:var(--font-size-xs);border:1px solid var(--color-border);color:var(--color-text-tertiary);white-space:nowrap;border-radius:999px;padding:0 6px}.takeoff-el-list{margin:2px 0 var(--space-xs,4px);padding:0;list-style:none}.takeoff-el-row{gap:var(--space-sm);width:100%;font-size:var(--font-size-sm);text-align:left;cursor:pointer;border-radius:var(--radius-xs);color:var(--color-text-secondary);background:0 0;border:0;align-items:baseline;margin:0;padding:2px 6px;display:flex}.takeoff-el-row:hover{background:var(--gray-50)}.takeoff-el-row.selected{background:color-mix(in srgb,var(--module-accent,var(--brand-600))12%,transparent)}.takeoff-el-key{white-space:nowrap;color:var(--color-text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.takeoff-el-calc{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.takeoff-el-tr td{padding:0 8px}.takeoff-canvas-pane{min-width:0}.takeoff-viewer{border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:#f1f5f9;height:68vh;min-height:420px;position:relative;overflow:hidden}.takeoff-canvas{width:100%;height:100%;display:block}.takeoff-viewer .takeoff-model-tools{z-index:2;pointer-events:none;flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:absolute;top:12px;left:12px;right:12px}.takeoff-viewer .takeoff-model-tools>*{pointer-events:auto}.takeoff-viewer .takeoff-model-tools button,.takeoff-viewer .takeoff-model-tool-select,.takeoff-viewer .takeoff-model-section{border:1px solid var(--color-border);background:var(--color-surface,#fff);color:var(--color-text-primary);border-radius:7px;box-shadow:0 1px 3px #0f172a14}.takeoff-viewer .takeoff-model-tools button{min-height:36px;font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:7px;font-size:12px;display:inline-flex}.takeoff-viewer .takeoff-model-tool-icon{width:36px}.takeoff-viewer .takeoff-model-tool-select{align-items:center;gap:5px;min-height:36px;padding:0 7px;display:inline-flex}.takeoff-viewer .takeoff-model-tool-select select{min-width:0;min-height:32px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;font-size:12px}.takeoff-viewer .takeoff-model-menu-wrap{position:relative}.takeoff-viewer .takeoff-model-menu-trigger{justify-content:flex-start;gap:6px;min-width:148px}.takeoff-viewer .takeoff-model-menu-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.takeoff-viewer .takeoff-model-menu-trigger svg:last-child{margin-left:auto}.takeoff-viewer .takeoff-model-menu{z-index:8;border:1px solid var(--color-border);background:var(--color-surface,#fff);border-radius:9px;min-width:190px;max-height:min(70vh,360px);padding:6px;position:absolute;top:calc(100% + 5px);left:0;overflow:auto;box-shadow:0 8px 24px #0f172a29}.takeoff-viewer .takeoff-model-menu-group{border-bottom:1px solid var(--color-border-light);padding:5px 0}.takeoff-viewer .takeoff-model-menu-group:last-child{border-bottom:0}.takeoff-viewer .takeoff-model-menu-group strong{color:var(--color-text-tertiary);letter-spacing:.04em;text-transform:uppercase;padding:3px 8px 5px;font-size:10px;display:block}.takeoff-viewer .takeoff-model-menu button{width:100%;min-height:30px;color:var(--color-text-primary);text-align:left;background:0 0;border-radius:6px;padding:6px 8px;font-size:12px;display:block;box-shadow:none!important;border:0!important}.takeoff-viewer .takeoff-model-menu button:hover,.takeoff-viewer .takeoff-model-menu button.is-selected{background:var(--brand-50,#eff6ff);color:var(--brand-700,#1d4ed8)}.takeoff-viewer .takeoff-color-hint{max-width:220px;color:var(--color-text-secondary);margin-top:3px;font-size:10px;font-weight:400;line-height:1.4;display:block}.takeoff-viewer .takeoff-model-menu button:disabled{opacity:.5;cursor:default}.takeoff-viewer .takeoff-model-section{align-items:center;gap:2px;max-width:min(100%,320px);padding:3px;display:inline-flex;position:relative}.takeoff-viewer .takeoff-model-section-trigger{width:112px;color:inherit;white-space:nowrap;gap:6px;box-shadow:none!important;background:0 0!important;border:0!important;justify-content:flex-start!important}.takeoff-viewer .takeoff-model-section-caret{color:var(--color-text-secondary);margin-left:auto;transition:transform .15s;display:inline-flex}.takeoff-viewer .takeoff-model-section-caret.is-open{transform:rotate(180deg)}.takeoff-viewer .takeoff-model-section.is-active .takeoff-model-section-trigger{color:inherit;font-weight:500}.takeoff-viewer .takeoff-model-section-clear{width:28px;color:var(--color-text-secondary);min-height:28px!important;box-shadow:none!important;border:0!important;padding:4px!important}.takeoff-viewer .takeoff-model-section-clear.is-hidden{visibility:hidden;pointer-events:none}.takeoff-viewer .takeoff-model-section-popover{z-index:5;border:1px solid var(--color-border);background:var(--color-surface,#fff);border-radius:9px;min-width:260px;padding:10px;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 24px #0f172a29}.takeoff-viewer .takeoff-model-section-row{color:var(--color-text-secondary);grid-template-columns:52px minmax(100px,1fr) 52px;align-items:center;gap:8px;padding:7px 3px;font-size:11px;display:grid}.takeoff-viewer .takeoff-model-section-row span:last-child{text-align:right}.takeoff-viewer .takeoff-model-section-row.is-selected{color:inherit;font-weight:inherit}.takeoff-viewer .takeoff-model-range-wrap{height:24px;display:block;position:relative}.takeoff-viewer .takeoff-model-range-track{background:var(--gray-200,#e2e8f0);border-radius:4px;height:4px;position:absolute;top:10px;left:0;right:0}.takeoff-viewer .takeoff-model-range-wrap input[type=range]{pointer-events:none;appearance:none;width:100%;height:24px;accent-color:var(--brand-600,#2563eb);background:0 0;margin:0;position:absolute;inset:0}.takeoff-viewer .takeoff-model-range-wrap input[type=range]::-webkit-slider-runnable-track{background:0 0;height:4px}.takeoff-viewer .takeoff-model-range-wrap input[type=range]::-moz-range-track{background:0 0;height:4px}.takeoff-viewer .takeoff-model-range-wrap input[type=range]::-webkit-slider-thumb{border:2px solid var(--color-surface,#fff);background:var(--brand-600,#2563eb);pointer-events:auto;appearance:none;cursor:ew-resize;border-radius:50%;width:14px;height:14px;margin-top:-5px;box-shadow:0 1px 3px #0f172a47}.takeoff-viewer .takeoff-model-range-wrap input[type=range]::-moz-range-thumb{border:2px solid var(--color-surface,#fff);background:var(--brand-600,#2563eb);pointer-events:auto;cursor:ew-resize;border-radius:50%;width:11px;height:11px;box-shadow:0 1px 3px #0f172a47}.takeoff-viewer .takeoff-model-range-wrap input[type=range]:focus-visible{outline:2px solid var(--brand-500,#3b82f6);outline-offset:2px}.takeoff-viewer .takeoff-model-section-footer{border-top:1px solid var(--color-border-light);justify-content:flex-end;margin-top:6px;padding-top:8px;display:flex}.takeoff-viewer .takeoff-model-section-reset{color:var(--brand-700,#1d4ed8);min-height:30px!important;box-shadow:none!important;border:0!important;padding:5px 9px!important;font-size:11px!important}.takeoff-viewer .takeoff-model-section-reset:hover{background:var(--brand-50,#eff6ff)!important}.takeoff-viewer .takeoff-model-section-icon{color:var(--color-text-secondary);align-items:center;padding:0 5px;display:flex}.takeoff-viewer .takeoff-model-section .takeoff-model-axis{min-width:30px;min-height:28px;box-shadow:none;border-color:#0000;padding:4px;font-weight:600}.takeoff-viewer .takeoff-model-tools button:hover{background:var(--gray-50)}.takeoff-viewer .takeoff-model-tools button[aria-pressed=true]{color:var(--brand-700,#1d4ed8);background:var(--brand-50,#eff6ff)}.takeoff-viewer .takeoff-model-tools button:focus-visible,.takeoff-viewer .takeoff-model-tool-select:focus-within{outline:2px solid var(--brand-500,#3b82f6);outline-offset:2px}@media (pointer:coarse){.takeoff-viewer .takeoff-model-tools button{min-height:44px}.takeoff-viewer .takeoff-model-tool-icon{width:44px}.takeoff-viewer .takeoff-model-tool-select{min-height:44px}.takeoff-viewer .takeoff-model-section .takeoff-model-section-trigger{min-height:38px}.takeoff-viewer .takeoff-model-section .takeoff-model-section-clear{min-height:38px!important}}@media (max-width:640px){.takeoff-viewer .takeoff-model-tools{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);display:grid}.takeoff-viewer .takeoff-model-menu-wrap{min-width:0;position:static}.takeoff-viewer .takeoff-model-menu-wrap:nth-child(4){grid-column:2}.takeoff-viewer .takeoff-model-menu-trigger{width:100%;min-width:0}.takeoff-viewer .takeoff-model-menu{max-height:42vh;top:calc(100% + 6px);left:0;right:0}.takeoff-viewer .takeoff-model-section{min-width:0;padding:0;position:static}.takeoff-viewer .takeoff-model-section-trigger{width:100%;min-width:0}.takeoff-viewer .takeoff-model-section-popover{min-width:0;top:calc(100% + 6px);left:0;right:0}}.takeoff-viewer-status{text-align:center;margin:0;position:absolute;inset:auto 0 12px}.takeoff-model-workspace{gap:var(--space-md);grid-template-columns:288px minmax(0,1fr);align-items:stretch;display:grid}.takeoff-model-rail{border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;min-width:0;max-height:max(560px,74vh);padding:12px;display:flex}.takeoff-model-rail-head{justify-content:space-between;align-items:center;gap:var(--space-xs);display:flex}.takeoff-model-rail-head strong{color:var(--color-text-primary)}.model-tree-search{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-secondary);align-items:center;gap:7px;margin:12px 0;padding:8px 9px;display:flex}.model-tree-search:focus-within{outline:2px solid var(--brand-400);outline-offset:2px}.model-tree-search input{width:100%;min-width:0;font:inherit;color:var(--color-text-primary);background:0 0;border:0;outline:none;padding:0;font-size:12px}.model-tree-scroll{scrollbar-width:thin;flex:1;min-height:0;overflow:auto}.model-tree-scroll ul{margin:0;padding:0;list-style:none}.model-tree-scroll .model-tree-levels{padding-left:6px}.model-tree-scroll .model-tree-categories,.model-tree-scroll .model-tree-elements{border-left:1px solid var(--color-border-light);margin-left:9px;padding-left:7px}.model-tree-row{border-radius:5px;align-items:center;gap:2px;min-height:34px;display:flex}.model-tree-row:hover{background:var(--gray-50)}.model-tree-row.is-selected{background:var(--brand-50)}.model-tree-toggle,.model-tree-element{min-width:0;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:7px 3px;font-size:12px;display:flex}.model-tree-toggle>svg{color:var(--color-text-secondary);flex-shrink:0}.model-tree-root{margin-bottom:4px}.model-tree-root .model-tree-toggle{font-size:13px;font-weight:650}.model-tree-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-tree-count{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);margin-left:auto;padding-left:3px;font-size:11px}.model-tree-swatch{border:1px solid #0002;border-radius:3px;flex:0 0 11px;width:11px;height:11px}.model-tree-visibility{height:30px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:0 0 30px;place-items:center;display:grid}.model-tree-visibility:hover{color:var(--brand-600);background:var(--brand-50)}.model-tree-visibility.is-mixed{color:var(--brand-600)}.model-tree-row.is-hidden .model-tree-toggle,.model-tree-row.is-hidden .model-tree-element,.model-tree-visibility.is-hidden{opacity:.5}.model-tree-element{font-size:11px}.model-tree-toggle:focus-visible,.model-tree-element:focus-visible,.model-tree-visibility:focus-visible{outline:2px solid var(--brand-400);outline-offset:-2px;border-radius:4px}.model-tree-footer{border-top:1px solid var(--color-border-light);color:var(--color-text-secondary);flex-shrink:0;margin-top:10px;padding-top:10px;font-size:11px}.model-tree-empty{color:var(--color-text-secondary);padding:12px 4px;font-size:12px}.takeoff-model-stage{min-width:0}.takeoff-model-stage .takeoff-viewer{height:74vh;min-height:560px}.takeoff-drawer-preview{margin-bottom:var(--space-md)}.takeoff-drawer-preview .takeoff-viewer{height:280px;min-height:280px}@media (max-width:760px){.takeoff-model-workspace{grid-template-columns:1fr}.takeoff-model-rail{order:2;max-height:440px}.model-tree-row{min-height:44px}.model-tree-visibility{flex-basis:44px;height:44px}.takeoff-model-stage{order:1}.takeoff-model-stage .takeoff-viewer{min-height:420px}}.takeoff-nogeo{align-items:center;gap:var(--space-xs,4px);margin-top:var(--space-sm);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.takeoff-nogeo-chip{border:1px dashed var(--color-border);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-xs);color:var(--color-text-secondary);background:0 0;border-radius:999px;padding:1px 8px}.takeoff-nogeo-chip:hover{background:var(--gray-50)}.takeoff-cli-hint{margin-top:var(--space-xs,4px)}.takeoff-colpick{position:relative}.takeoff-colpick-pop{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:170px;box-shadow:var(--shadow-md,0 8px 24px #0f172a1f);padding:var(--space-sm);gap:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.takeoff-colpick-pop label{font-size:var(--font-size-sm);white-space:nowrap;align-items:center;gap:6px;display:flex}.takeoff-actions-td{width:30px;padding-left:2px;padding-right:6px}.takeoff-actions{justify-content:flex-end;display:flex;position:relative}.takeoff-actions-btn{border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:var(--color-text-tertiary);background:0 0;border:0;padding:0 6px;line-height:1.3}.takeoff-actions-btn:hover{background:var(--gray-50);color:var(--color-text-primary)}.takeoff-actions-btn:disabled{cursor:default;opacity:.5}.takeoff-actions-pop{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:170px;box-shadow:var(--shadow-md,0 8px 24px #0f172a1f);gap:2px;padding:4px;display:grid;position:absolute;top:calc(100% + 2px);right:0}.takeoff-actions-pop button{text-align:left;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:var(--font-size-sm);white-space:nowrap;color:var(--color-text-primary);background:0 0;border:0;padding:5px 8px}.takeoff-actions-pop button:hover{background:var(--gray-50)}.takeoff-bom-grid{margin:var(--space-sm)0;gap:4px;display:grid}.takeoff-bom-head,.takeoff-bom-row{grid-template-columns:minmax(0,1.6fr) 70px 52px 70px 60px 28px;align-items:center;gap:4px;display:grid}.takeoff-bom-head{font-size:var(--font-size-xs)}.takeoff-bom-row input{font:inherit;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;padding:3px 6px}.takeoff-bom-computed{margin-top:var(--space-sm)}.takeoff-comment-box{resize:vertical;width:100%;min-height:88px;font:inherit;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:6px 8px}.takeoff-newcard{gap:var(--space-sm);margin:var(--space-sm)0;display:grid}.takeoff-newcard label{font-size:var(--font-size-sm);gap:2px;display:grid}.takeoff-newcard input{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 6px}.takeoff-flag-list{margin:0;padding:0;list-style:none}.takeoff-flag-item{color:#9a3412;border-radius:var(--radius-xs);font-size:var(--font-size-sm);background:#fff7ed;border-left:3px solid #ea580c;margin-bottom:4px;padding:2px 8px}.workspace-files-table{min-width:780px}.generation-plans-table{min-width:680px}.drawing-register-table{min-width:760px}.workspace-files-table th:first-child,.workspace-files-table td:first-child,.generation-plans-table th:first-child,.generation-plans-table td:first-child,.drawing-register-table th:first-child,.drawing-register-table td:first-child{min-width:220px}.workspace-files-table .file-name,.workspace-files-table .file-path,.drawing-register-table .file-name,.drawing-register-table .file-path{word-break:normal;overflow-wrap:anywhere}.drawing-register .drawing-stats{gap:8px}.drawing-register .drawing-stats .stat{flex:1;min-width:104px}@media (max-width:720px){.drawing-register.card{border-radius:10px;padding:16px}.drawing-register .drawing-stats{scroll-snap-type:x proximity;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.drawing-register .drawing-stats .stat{scroll-snap-align:start;flex:0 0 112px;min-width:0;padding:12px}.drawing-register .table-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drawing-register .table-toolbar .tt-spacer{display:none}.drawing-register .table-toolbar .tt-count{grid-column:1}.drawing-register .table-toolbar>.btn:last-child{grid-column:2;justify-self:end}.drawing-register .table-toolbar>.btn:not(:last-child){grid-column:1/-1;justify-self:start}.drawing-register .table-toolbar .tt-search{flex-basis:100%;grid-column:1/-1;width:100%;max-width:none}.drawing-register .table-toolbar .select{flex:1;min-width:0;min-height:44px;font-size:16px}.drawing-register .tt-search-input{width:100%;font-size:16px}.drawing-register-table,.drawing-register-table tbody{width:100%;min-width:0;display:block}.drawing-register-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.drawing-register-table tr{border:1px solid var(--color-border);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;padding:12px;display:grid}.drawing-register-table td{white-space:normal;border:0;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:0;display:flex}.drawing-register-table td:first-child{grid-column:1/-1;min-width:0}.drawing-register-table td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);font-size:10px;font-weight:600}.drawing-register-table td:last-child{align-self:end;align-items:flex-end}.drawing-register-table .file-name,.drawing-register-table .file-path{white-space:normal;overflow-wrap:anywhere}.drawing-register-table .file-path{margin-top:2px;line-height:1.5}.drawing-register-table .drawing-open{background:var(--gray-50);border-color:var(--color-border);width:100%}}.takeoff-revision-note{color:var(--color-text-secondary);border-left:2px solid #d6a94b;align-items:baseline;gap:8px;margin:8px 0 12px;padding:4px 8px;font-size:11px;line-height:1.4;display:flex}.takeoff-revision-note strong{color:#8a6518;white-space:nowrap;font-weight:600}.takeoff-revision-note p{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.takeoff-module-tabs{margin:0 0 14px;overflow-x:auto}.takeoff-module-tabs .tab{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-width:150px;display:inline-flex}.takeoff-module-tabs .tab small{color:var(--color-text-tertiary);font-size:10px;font-weight:400}.takeoff-source-modes,.takeoff-source-pagination{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.takeoff-source-sheet-picker{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;font-weight:600;display:flex}.takeoff-source-sheet-picker select{border:1px solid var(--color-border);background:var(--color-surface);max-width:100%;color:inherit;border-radius:8px;padding:8px 12px}.takeoff-source-note{max-width:100ch;font-size:var(--font-size-sm);line-height:1.5}.takeoff-source-table th,.takeoff-source-table td{white-space:normal;min-width:110px;max-width:360px}.takeoff-source-table td{min-width:150px}.takeoff-source-table th:first-child{min-width:48px}.takeoff-source-pagination{font-size:var(--font-size-sm);justify-content:flex-end}.takeoff-source-pagination>span:first-child{margin-right:auto}.takeoff-source-budget{border:1px solid var(--color-border-light);background:var(--color-surface);border-radius:10px;margin:12px 0 18px}.takeoff-source-budget>summary{cursor:pointer;padding:14px 16px}.takeoff-source-budget summary strong{white-space:nowrap;margin-left:16px}.takeoff-source-budget summary small{color:var(--color-text-secondary);margin:4px 0 0 16px;display:block}.takeoff-source-budget-body{font-size:var(--font-size-sm);padding:0 16px 16px;line-height:1.6}.takeoff-source-budget-body dl>div{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.takeoff-source-budget-body dd{font-variant-numeric:tabular-nums;margin:0}.takeoff-source-budget-body details{border-top:1px solid var(--color-border-light);padding:8px 0}.takeoff-source-budget-body summary{cursor:pointer}.takeoff-subpanel{border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);padding:16px}.takeoff-subpanel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.takeoff-subpanel-head h2{font-size:var(--font-size-lg);margin:0 0 3px}.takeoff-subpanel-head p{font-size:var(--font-size-sm);margin:0}.takeoff-measurement-table-wrap{overflow-x:auto}.takeoff-measurement-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.takeoff-measurement-table th,.takeoff-measurement-table td{border-bottom:1px solid var(--color-border-light);vertical-align:top;text-align:left;padding:10px 8px}.takeoff-measurement-table th{color:var(--color-text-secondary);font-size:var(--font-size-xs);white-space:nowrap;font-weight:600}.takeoff-measurement-table td small{color:var(--color-text-tertiary);margin-top:3px;display:block}.takeoff-link-button{color:var(--brand-700,#1d4ed8);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.takeoff-link-button:hover{text-decoration:underline}.takeoff-relation-count{background:var(--brand-50,#eff6ff);min-width:22px;height:22px;color:var(--brand-700,#1d4ed8);border-radius:999px;place-items:center;margin-right:4px;font-weight:700;display:inline-grid}.takeoff-flag-chips{flex-wrap:wrap;gap:4px;display:flex}.takeoff-flag-chip{background:var(--gray-100,#f1f5f9);min-width:22px;height:22px;color:var(--color-text-secondary);border-radius:6px;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.takeoff-rate-card-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.takeoff-rate-card{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);min-height:92px;color:var(--color-text-secondary);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.takeoff-rate-card:hover,.takeoff-rate-card.is-active{border-color:var(--brand-400,#60a5fa);background:var(--brand-50,#eff6ff)}.takeoff-rate-card-name{color:var(--color-text-primary);font-weight:650}.takeoff-rate-card strong{color:var(--brand-700,#1d4ed8);font-size:var(--font-size-xs);margin-top:auto}.takeoff-rate-card-own{min-height:auto;margin-top:10px}.takeoff-related-elements{border-top:1px solid var(--color-border-light);margin-top:14px;padding-top:12px}.takeoff-related-elements h4{font-size:var(--font-size-sm);margin:0 0 3px}.takeoff-related-elements p{font-size:var(--font-size-xs);margin:0 0 8px}.takeoff-related-element-list{flex-wrap:wrap;gap:5px;display:flex}.takeoff-related-element-list button{border:1px solid var(--color-border-light);background:var(--color-surface);color:var(--brand-700,#1d4ed8);cursor:pointer;border-radius:6px;padding:4px 7px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.takeoff-related-element-list button.is-current{border-color:var(--brand-400,#60a5fa);background:var(--brand-50,#eff6ff);font-weight:700}
