.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}.skip-link{top:var(--space-2,8px);left:var(--space-2,8px);z-index:var(--z-tooltip,700);padding:var(--space-2,8px) var(--space-3,12px);border-radius:var(--radius-md,8px);background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-md);font-size:var(--text-sm);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-250%)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}#pageContent:focus{outline:none}:root{--gray-25:var(--color-canvas);--gray-50:var(--color-surface-sunken);--gray-100:var(--color-surface-hover);--gray-200:var(--color-border);--gray-300:var(--color-border-strong);--gray-400:var(--color-text-disabled);--gray-500:var(--color-text-muted);--gray-600:var(--color-text-tertiary);--gray-700:var(--color-text-secondary);--gray-800:var(--color-text);--gray-900:var(--color-text);--gray-950:var(--color-text);--primary-25:var(--brand-50);--primary-50:var(--brand-50);--primary-100:var(--brand-100);--primary-200:var(--brand-200);--primary-300:var(--brand-300);--primary-400:var(--brand-400);--primary-500:var(--color-primary);--primary-600:var(--brand-600);--primary-700:var(--brand-700);--primary-800:var(--brand-800);--primary-900:var(--brand-900);--error-25:var(--color-danger-bg);--error-50:var(--color-danger-bg);--error-100:var(--danger-100);--error-500:var(--danger-500);--error-600:var(--color-danger);--error-700:var(--danger-700);--purple-50:#f4f3ff;--purple-100:#ebe9fe;--purple-200:#d9d6fe;--purple-500:#7a5af8;--purple-600:#6938ef;--purple-700:#5925dc;--pink-50:#fdf2fa;--pink-100:#fce7f6;--pink-500:#ee46bc;--pink-600:#dd2590;--pink-700:#c11574;--orange-50:#fff6ed;--orange-100:#ffead5;--orange-500:#ef6820;--orange-600:#e04f16;--orange-700:#b93815;--teal-50:#f0fdf9;--teal-100:#ccfbef;--teal-500:#15b79e;--teal-600:#0e9384;--teal-700:#107569;--cyan-50:#ecfdff;--cyan-100:#cff9fe;--cyan-500:#06aed4;--cyan-600:#088ab2;--indigo-50:#eef4ff;--indigo-100:#e0eaff;--indigo-500:#6172f3;--indigo-600:#444ce7;--blue-border:var(--color-border);--blue-border-light:var(--color-border-subtle);--blue-divider:var(--color-divider);--bg:var(--color-canvas);--surface:var(--color-surface);--surface-secondary:var(--color-surface-sunken);--border:var(--color-border);--border-light:var(--color-border-subtle);--text:var(--color-text);--text-secondary:var(--color-text-secondary);--text-tertiary:var(--color-text-tertiary);--text-muted:var(--color-text-muted);--text-placeholder:var(--color-text-disabled);--radius:var(--radius-md);--shadow-focus-error:0 0 0 3px color-mix(in oklab, var(--color-danger) 35%, transparent);--font:var(--font-sans);--mono:var(--font-sans);--font-code:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:48px;--sp-10:64px;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--duration-sm:.12s;--duration:.15s;--duration-md:.2s;--duration-lg:.3s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:var(--leading-normal);font-feature-settings:"cv11", "ss01";letter-spacing:var(--tracking-normal);overflow-x:hidden}h1,h2,h3,h4{letter-spacing:var(--tracking-tight)}input,select,button,textarea{font-family:inherit;font-size:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:6px 32px 6px 12px}::selection{background:var(--primary-100);color:var(--primary-800)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.app-layout{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns var(--dur-base) var(--ease-standard);display:grid}.app-layout:has(>.main-content.sidebar-collapsed){grid-template-columns:0 1fr}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);min-width:0;height:100vh;z-index:var(--z-sticky);flex-direction:column;transition:visibility;display:flex;position:sticky;top:0;overflow:hidden}.sidebar.collapsed{visibility:hidden;transition:visibility 0s linear var(--dur-base)}.sidebar__brand{justify-content:flex-start;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);display:flex}.sidebar__mark{border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;flex:none;place-items:center;width:32px;height:32px;display:grid}.sidebar__mark svg{width:24px;height:24px}.sidebar__word b{color:#0d5b6e;font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:1.2;display:block}.sidebar__nav{padding:var(--space-2) var(--space-2) var(--space-4);flex:1;overflow-y:auto}.sidebar__group{padding:var(--space-4) var(--space-3) var(--space-1);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted)}.nav-link{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);transition:var(--motion-hover);text-align:left;cursor:pointer;background:0 0;border:none;margin-bottom:1px;text-decoration:none;display:flex}.nav-link:hover{background:var(--color-surface-hover);color:var(--color-text);text-decoration:none}.nav-link.is-active{background:var(--color-primary-subtle);color:var(--color-primary-text)}.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-link svg{flex:none;width:17px;height:17px}.sidebar__count{color:var(--color-info);font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-left:auto;line-height:1}.sidebar__foot{border-top:1px solid var(--color-border-subtle);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.sidebar__theme{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);transition:var(--motion-hover);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.sidebar__theme:hover{background:var(--color-surface-hover);color:var(--color-text)}.sidebar__theme svg{border-radius:var(--radius-pill);background:var(--color-surface-sunken);width:28px;height:28px;color:var(--color-text-tertiary);flex:none;padding:6px}.user-menu{position:relative}.user-menu-trigger{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;text-align:left;font-size:var(--text-sm);color:var(--color-text-secondary);transition:var(--motion-hover);background:0 0;border:none;display:flex}.user-menu-trigger:hover{background:var(--color-surface-hover)}.user-menu-trigger>svg{border-radius:var(--radius-pill);background:var(--color-surface-sunken);width:28px;height:28px;color:var(--color-text-tertiary);flex:none;padding:5px}.user-menu-trigger .user-menu-id{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.user-menu-trigger .user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden}.user-menu-popover{left:var(--space-2);right:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:var(--z-popover);transform-origin:bottom;animation:popoverIn var(--dur-fast) var(--ease-out-quart);flex-direction:column;display:flex;position:absolute;bottom:calc(100% + 6px)}@keyframes popoverIn{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.user-menu-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);color:var(--color-text);text-align:left;transition:var(--motion-hover);background:0 0;border:none;display:flex}.user-menu-item:hover{background:var(--color-surface-hover)}.user-menu-item svg{color:var(--color-text-tertiary);flex-shrink:0}.user-menu-item.danger{color:var(--color-danger)}.user-menu-item.danger:hover{background:var(--color-danger-bg)}.user-menu-item.danger svg{color:var(--color-danger)}.role-badge{font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-pill);background:var(--color-primary-subtle);color:var(--color-primary-text);padding:2px 8px}.role-badge.viewer{background:var(--color-surface-sunken);color:var(--color-text-tertiary)}.role-badge.estimator{background:var(--color-success-bg);color:var(--color-success)}.role-badge.admin{background:var(--color-primary-subtle);color:var(--color-primary-text)}.main-content{flex-direction:column;min-width:0;min-height:100vh;display:flex}.topbar{align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-6);background:var(--color-canvas);border-bottom:1px solid var(--color-border-subtle);z-index:var(--z-sticky);display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.topbar-breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--color-text-muted);display:flex}.topbar-breadcrumb span{color:var(--color-text);font-weight:var(--weight-semibold)}.topbar-spacer{flex:1}.topbar-right{align-items:center;gap:var(--space-2);display:flex}.topbar-search{align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);transition:var(--motion-hover);cursor:pointer;display:inline-flex}.topbar-search:hover{border-color:var(--color-border-strong);color:var(--color-text-secondary)}.topbar-search svg{width:15px;height:15px}.cmdk-host{z-index:var(--z-modal);background:var(--color-overlay);justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.cmdk-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cmdk-meta{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.sidebar-toggle{border-radius:var(--radius-md);cursor:pointer;width:32px;height:32px;color:var(--color-text-tertiary);transition:var(--motion-hover);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.save-indicator{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.save-dot{background:var(--color-success);border-radius:50%;width:6px;height:6px}.save-dot.saving{background:var(--color-warning);animation:1s infinite pulse}.save-dot.unsaved{background:var(--color-danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.container{max-width:var(--container-xl);padding:var(--space-6) var(--space-8) var(--space-16);flex:1;width:100%;margin:0 auto}@media (max-width:900px){.app-layout{grid-template-columns:1fr}.app-layout:has(>.main-content.sidebar-collapsed){grid-template-columns:1fr}.sidebar{width:var(--sidebar-w);transition:transform var(--dur-slow) var(--ease-out-quart);z-index:var(--z-drawer);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.collapsed{visibility:visible;display:flex}.sidebar.mobile-open{transform:translate(0)}.sidebar-scrim{z-index:calc(var(--z-drawer) - 1);background:var(--color-overlay);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard);display:block;position:fixed;inset:0}.sidebar-scrim.show{opacity:1;pointer-events:auto}.container{padding:var(--space-4) var(--space-4) var(--space-12)}}.btn{--_h:var(--control-h-md);justify-content:center;align-items:center;gap:var(--space-2);height:var(--_h);padding:0 var(--space-4);font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);border-radius:var(--radius-pill);cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs);transition:var(--motion-hover);white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1;display:inline-flex;position:relative}.btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--neutral-400)}.btn:active:not(:disabled){background:var(--color-surface-active);transform:translateY(.5px)}.btn:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn svg{flex-shrink:0;width:16px;height:16px}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);color:var(--color-on-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active)}.btn-danger{background:var(--danger-600);color:snow;color:lab(98.7399% 3.16927 1.33576);border-color:var(--danger-600)}.btn-danger:hover:not(:disabled){background:var(--danger-700);color:snow;color:lab(98.7399% 3.16927 1.33576);border-color:var(--danger-700)}.btn-success{background:var(--success-700);color:var(--color-on-dark-fill);border-color:var(--success-700)}.btn-success:hover:not(:disabled){background:var(--success-800);color:var(--color-on-dark-fill);border-color:var(--success-800)}.btn-purple{background:var(--viz-6);color:var(--color-on-light-fill);border-color:var(--viz-6)}.btn-purple:hover:not(:disabled){background:var(--viz-6);color:var(--color-on-light-fill);border-color:var(--viz-6);filter:brightness(.94)}.btn-warning{background:var(--warning-500);color:var(--color-on-light-fill);border-color:var(--warning-500)}.btn-warning:hover:not(:disabled){background:var(--warning-600);color:var(--color-on-light-fill);border-color:var(--warning-600)}.btn-teal{background:var(--viz-3);color:var(--color-on-light-fill);border-color:var(--viz-3)}.btn-teal:hover:not(:disabled){background:var(--viz-3);color:var(--color-on-light-fill);border-color:var(--viz-3);filter:brightness(.94)}.btn-ghost{color:var(--color-text-secondary);box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text);border-color:#0000}.btn-sm{--_h:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--text-sm);gap:var(--space-1)}.btn-xs{--_h:24px;padding:0 var(--space-2);font-size:var(--text-xs);gap:var(--space-1)}.btn-icon{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-pill);transition:color var(--duration) var(--ease), background-color var(--duration) var(--ease), transform var(--duration-sm) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:inline-flex}.btn-icon:hover{color:var(--color-primary-text);background:0 0}.btn-icon:active{transform:scale(.9)}.btn-icon.btn-icon-copy:hover{color:var(--viz-6);background:0 0}.btn-icon.btn-icon-danger:hover{color:var(--color-danger);background:0 0}.btn-icon:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn-icon svg{width:16px;height:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--sp-5);transition:box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);box-shadow:var(--shadow-xs);overflow:hidden}.card:hover{box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--color-surface);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);display:flex;position:relative}.card-header:before{display:none}.card-title{font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-tertiary);align-items:center;gap:var(--space-2);display:flex}.card-title svg{width:16px;height:16px;color:var(--color-text-muted)}#view-analytics .analytics-card{position:relative;overflow:hidden}#view-analytics .analytics-card:before{display:none}#view-analytics .analytics-card h4{color:var(--color-text)}.card-body{padding:var(--sp-6)}.card-body.compact{padding:var(--sp-4) var(--sp-6)}.form-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.form-group{gap:var(--sp-1);flex-direction:column;display:flex}.form-group label{color:var(--text-tertiary);letter-spacing:.01em;font-size:.75rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--surface);transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);color:var(--text);outline:none;padding:8px 12px;font-size:.875rem}.form-group select{background-position:right 12px center;padding-right:34px}.form-group input::placeholder{color:var(--text-placeholder)}.form-group input:hover,.form-group select:hover{border-color:var(--gray-300)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-300);box-shadow:var(--shadow-focus)}.form-group.span-2{grid-column:span 2}.form-group.span-3{grid-column:span 3}.form-hint{color:var(--text-muted);margin-top:var(--sp-3);font-size:.7rem;font-style:italic}.boq-wrapper{overflow:auto}.boq-card{overflow:hidden}.boq-card .card-header.boq-toolbar{z-index:3;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);min-height:var(--space-12);padding-block:var(--space-2);position:relative;top:auto}.boq-card .boq-wrapper{overscroll-behavior:contain;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);height:min(680px,100dvh - 285px);min-height:320px;overflow:auto}.boq-card .boq-table th{z-index:50;position:sticky;top:0}.boq-card .section-row td{top:var(--boq-thead-h,37px);z-index:40;background:var(--color-surface-sunken);box-shadow:inset 0 -1px 0 var(--color-border);position:sticky}.boq-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:760px}.boq-table .boq-col-index{width:var(--space-24)}.boq-table .boq-col-item{width:auto}.boq-table .boq-col-unit,.boq-table .boq-col-qty{width:var(--space-20)}.boq-table .boq-col-money{width:calc(var(--space-24) + var(--space-5))}.boq-table .boq-col-amount,.boq-table .boq-col-actions{width:calc(var(--space-24) + var(--space-8))}.boq-table th{background:var(--color-surface-sunken);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);text-align:left;border-bottom:1px solid var(--border);z-index:10;white-space:nowrap;padding:10px 8px;font-size:.7rem;font-weight:600;position:sticky;top:0;overflow:hidden}.boq-table th.num,.boq-table td.num{text-align:right}.section-row td{height:34px;font-weight:var(--weight-medium);font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);cursor:default;padding:4px 10px}.section-row__main{align-items:center;gap:var(--space-2);min-width:0;display:flex}.section-row__main>:first-child{flex:auto;min-width:0}.section-row__count{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-regular);white-space:nowrap;flex:none}.section-row__total{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:var(--weight-semibold)!important}.section-row .btn-icon{opacity:0;transition:opacity var(--duration) var(--ease)}.section-row:hover .btn-icon,.section-row:focus-within .btn-icon{opacity:1}.boq-row td{border-bottom:1px solid var(--border-light);vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;height:38px;padding:0 4px;overflow:hidden}.boq-row{transition:background var(--duration) var(--ease)}.boq-row:hover{background:var(--color-surface-hover)}.boq-row.zero-cost{background:var(--color-warning-bg)!important}.boq-row.zero-cost:hover{background:color-mix(in oklab, var(--color-warning) 22%, var(--color-surface))!important}.boq-table tbody .boq-row.under-section td:first-child{padding-left:var(--space-4)!important}.boq-row td:nth-child(2){white-space:nowrap}.boq-index-wrap{align-items:center;gap:var(--space-1);display:flex}.boq-index-cell{padding-left:var(--space-2)!important}.boq-item-cell{padding-block:0!important}.boq-row.selected{background:var(--color-primary-subtle)!important}.boq-row td input,.boq-row td select,.boq-row td textarea{border-radius:var(--radius-xs);width:100%;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background-color:#0000;border:1px solid #0000;outline:none;padding:6px 8px}.boq-row td select{background-position:right 6px center;padding-right:24px}.boq-row td input:hover,.boq-row td select:hover,.boq-row td textarea:hover{border-color:var(--color-border);background-color:var(--surface)}.boq-row td input:focus,.boq-row td select:focus,.boq-row td textarea:focus{border-color:var(--color-primary);background-color:var(--surface);box-shadow:var(--shadow-focus)}.boq-item-cell input{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calc-value{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text-secondary);padding:6px;font-size:.85rem;display:block}.calc-value.total{color:var(--color-primary-text);font-weight:600}.boq-rate-cell{padding:0!important}.boq-rate-trigger{width:100%;height:38px;padding:0 var(--space-2);color:inherit;justify-content:flex-end;align-items:center;gap:var(--space-1);cursor:pointer;transition:background-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:0;border-radius:0;display:flex}.boq-rate-trigger .calc-value{padding:0}.boq-rate-trigger .kds-icon{color:var(--color-text-muted);opacity:.55;flex:none}.boq-rate-trigger:hover{background:var(--color-surface-active)}.boq-rate-trigger:hover .kds-icon,.boq-rate-trigger:focus-visible .kds-icon{color:var(--color-primary-text);opacity:1}.boq-rate-trigger:focus-visible{z-index:1;box-shadow:inset 0 0 0 2px var(--color-primary);outline:none;position:relative}.boq-table tfoot td{z-index:45;height:38px;padding:0 var(--space-2);border-top:1px solid var(--color-border-strong);background:var(--color-surface);font-weight:var(--weight-semibold);position:sticky;bottom:0}.boq-table tfoot td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--color-primary-text)}.calc-value.markup-badge{background:var(--color-surface-active);color:var(--color-text-tertiary);text-align:center;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.line-num{color:var(--text-muted);font-size:.8rem;font-weight:600;font-family:var(--mono)}.notes-preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.7rem;font-style:italic;overflow:hidden}.row-actions{opacity:0;transition:opacity var(--duration) var(--ease);justify-content:flex-end;gap:4px;display:flex}.boq-row:hover .row-actions,.boq-row:focus-within .row-actions{opacity:1}.boq-row td:last-child,.section-row td:last-child{padding-right:12px}.row-checkbox{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.expand-toggle{cursor:pointer;border-radius:var(--radius-xs);width:24px;height:24px;transition:background-color var(--duration) var(--ease), transform var(--duration-sm) var(--ease-out);color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.expand-toggle:hover{background:var(--color-surface-hover)}.expand-toggle:active{transform:scale(.9)}.expand-toggle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.expand-toggle svg{width:14px;height:14px;color:var(--text-muted);transition:transform var(--duration-md) var(--ease)}.expand-toggle.open svg{transform:rotate(90deg)}.sub-panel{overflow:hidden}.sub-panel td{border-bottom:1px solid var(--border)!important;padding:0!important}.sub-panel-inner{padding:var(--sp-4) var(--sp-6) var(--sp-4) var(--sp-9);background:var(--color-surface-sunken);border-top:1px solid var(--border-light);animation:slideDown var(--duration-md) var(--ease)}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:800px}}.sub-item{gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-light);grid-template-columns:1fr 1fr auto;align-items:start;display:grid}.sub-item:last-child{border-bottom:none}.sub-item-section h5{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--sp-2);font-size:.65rem;font-weight:600}.sub-fields{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(85px,1fr));display:grid}.sub-field{flex-direction:column;gap:2px;display:flex}.sub-field label{color:var(--text-muted);font-size:.65rem;font-weight:500}.sub-field input{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);width:100%;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);outline:none;padding:5px 7px;font-size:.8rem}.sub-field input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.sub-field .sub-total{font-family:var(--mono);color:var(--text-secondary);padding:5px 7px;font-size:.8rem;font-weight:600}.sub-item-total{font-family:var(--mono);color:var(--color-primary-text);padding-top:var(--sp-5);text-align:right;min-width:100px;font-size:.9rem;font-weight:600}.sub-actions{gap:var(--sp-2);margin-top:var(--sp-3);align-items:center;display:flex}.notes-input{border:1px dashed var(--border);border-radius:var(--radius-xs);width:100%;color:var(--text-tertiary);transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);margin-top:var(--sp-2);background:0 0;outline:none;padding:5px 8px;font-size:.75rem;font-style:italic}.notes-input:focus{border-color:var(--color-primary);background:var(--surface);color:var(--text);border-style:solid}.summary-grid{gap:var(--sp-6);grid-template-columns:1fr 1fr;display:grid}.summary-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.summary-row:last-child{border-bottom:none}.summary-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.summary-value{font-family:var(--mono);color:var(--text);font-size:.95rem;font-weight:600}.summary-value.highlight{color:var(--color-primary-text)}.summary-divider{border-top:2px solid var(--border);margin:var(--sp-1) 0;grid-column:span 2}.summary-grand{background:var(--color-surface-sunken);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6);border:1px solid var(--border)}.summary-grand .summary-label{font-weight:600;color:var(--color-text)!important}.summary-grand .summary-value{letter-spacing:-.02em;font-size:1.4rem;color:var(--color-primary-text)!important}.markup-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));display:grid}.markup-item{border:1px solid var(--border-light);border-radius:var(--radius-sm);transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.markup-item:hover{border-color:var(--border);background:var(--color-surface-sunken)}.markup-item label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.markup-item input{text-align:right;border:1px solid var(--border);border-radius:var(--radius-xs);width:55px;font-family:var(--mono);transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);outline:none;padding:4px 8px;font-size:.8rem}.markup-item input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.markup-item input:disabled,.markup-item input[readonly]{background:var(--color-surface-sunken);color:var(--text-muted);cursor:not-allowed}.discount-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.discount-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);justify-content:space-between;padding:8px 12px;font-size:.8rem;display:flex}.discount-item.active{background:var(--color-primary-subtle);color:var(--color-primary-text);border:1px solid var(--color-primary);font-weight:600}.templates-page__head{align-items:center}.templates-library{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);overflow:hidden}.templates-library__header{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:74px;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-divider);display:flex}.templates-library__header h2{color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin:0}.templates-library__header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.templates-library__counts{align-items:center;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;display:flex}.templates-library__counts span+span{padding-left:var(--space-4);border-left:1px solid var(--color-divider)}.templates-library__counts strong{color:var(--color-text);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.templates-library__toolbar{align-items:end;gap:var(--space-4);padding:var(--space-4) var(--space-5);grid-template-columns:minmax(260px,1fr) auto minmax(190px,230px);display:grid}.templates-search{width:100%;min-width:0}.templates-search .kds-input{padding-right:var(--space-8)}.templates-kind-filter{min-height:var(--control-h);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);align-items:center;gap:2px;padding:3px;display:inline-flex}.templates-kind-filter button{justify-content:center;align-items:center;gap:var(--space-2);height:30px;padding:0 var(--space-3);color:var(--color-text-muted);border-radius:calc(var(--radius-md) - 3px);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;transition:var(--motion-hover);display:inline-flex}.templates-kind-filter button:hover{color:var(--color-text)}.templates-kind-filter button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.templates-kind-filter button.is-active{color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-xs)}.templates-kind-filter button strong{min-width:16px;color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.templates-trade-filter{align-items:center;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);min-width:0;display:grid}.templates-trade-filter>span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.templates-trade-filter .trade-select-combobox,.templates-trade-filter .kds-input{width:100%;min-width:0}.templates-library__resultbar{min-height:36px;padding:0 var(--space-5);color:var(--color-text-muted);border-top:1px solid var(--color-divider);background:var(--color-surface-sunken);font-size:var(--text-xs);justify-content:space-between;align-items:center;display:flex}.templates-library__resultbar .kds-btn--link{font-size:var(--text-xs)}.templates-list__columns,.template-row{column-gap:var(--space-4);grid-template-columns:minmax(220px,1.25fr) minmax(135px,.62fr) minmax(190px,.85fr) minmax(120px,.48fr) 78px;align-items:center;display:grid}.templates-list__columns{min-height:34px;padding:0 var(--space-5);color:var(--color-text-muted);background:var(--color-surface-sunken);border-bottom:1px solid var(--color-divider);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase}.templates-list__columns span:nth-child(4){text-align:right}.templates-library__body{min-height:220px}.templates-list{flex-direction:column;display:flex}.template-row{width:100%;min-height:88px;padding:var(--space-4) var(--space-5);text-align:left;color:var(--color-text);border:0;border-bottom:1px solid var(--color-divider);background:var(--color-surface);font:inherit;cursor:pointer;transition:var(--motion-hover)}.template-row:last-child{border-bottom:0}.template-row:hover{background:var(--color-surface-hover)}.template-row:active{background:var(--color-surface-active)}.template-row:focus-visible{z-index:1;box-shadow:inset var(--shadow-focus);outline:none;position:relative}.template-row__identity{min-width:0}.template-row__copy{flex-direction:column;min-width:0;display:flex}.template-row__copy>strong{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-row__copy>span{max-width:56ch;margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-normal);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-row__mobile-meta{display:none}.template-row__recipe,.template-row__contents{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.template-row__recipe>span:last-child,.template-row__contents>span{max-width:100%;color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-row__contents strong{color:var(--color-text-secondary);font-weight:var(--weight-semibold)}.template-row__kind{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.template-row__kind.is-section{color:var(--color-info)}.template-row__cost{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;min-width:0;display:flex}.template-row__cost strong{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.template-row__cost span{color:var(--color-text-muted);font-size:var(--text-2xs);margin-top:2px}.template-row__action{justify-content:flex-end;align-items:center;gap:var(--space-1);min-width:70px;color:var(--color-text-link);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-self:end;display:inline-flex}.template-row__action svg{transition:transform var(--dur-fast) var(--ease-standard)}.template-row:hover .template-row__action svg{transform:translate(2px)}.templates-empty{padding-block:var(--space-12)}.tpl-dropdown-wrapper{display:inline-block;position:relative}.tpl-dropdown{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);width:320px;max-height:400px;z-index:var(--z-popover);flex-direction:column;display:none;position:fixed}.tpl-dropdown.show{transform-origin:top;animation:dropdownIn var(--duration-sm) var(--ease-out);display:flex}@keyframes dropdownIn{0%{opacity:0;transform:scale(.97)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.tpl-dropdown-search{border-bottom:1px solid var(--border-light);padding:10px}.tpl-dropdown-search input{border:1px solid var(--border);border-radius:var(--radius-xs);outline:none;width:100%;padding:6px 10px;font-size:.85rem}.tpl-dropdown-search input:focus{border-color:var(--color-primary)}.tpl-dropdown-list{max-height:340px;overflow-y:auto}.tpl-dropdown-item{cursor:pointer;border-bottom:1px solid var(--border-light);padding:8px 12px}.tpl-dropdown-item:last-child{border-bottom:none}.tpl-dropdown-item:hover{background:var(--color-surface-hover)}.tpl-dropdown-item .tpl-name{color:var(--color-text);font-size:.82rem;font-weight:600}.tpl-dropdown-item .tpl-meta{color:var(--color-text-muted);margin-top:2px;font-size:.7rem}.tpl-dropdown-empty{text-align:center;color:var(--color-text-muted);padding:20px;font-size:.8rem}.modal--drawer-right .modal-body:has(>.tplpick){padding:0;display:flex;overflow:hidden}.tplpick{text-align:left;flex-direction:column;flex:1;min-height:0;display:flex}.tplpick__head{border-bottom:1px solid var(--color-border-subtle);flex:none}.tplpick__search{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);display:flex}.tplpick .tplpick__search svg{width:16px;height:16px;color:var(--color-text-muted);flex:none;margin:0}.tplpick__search input{min-width:0;font-size:var(--text-base);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.tplpick__search input::placeholder{color:var(--color-text-muted)}.tplpick__search input::-webkit-search-cancel-button{display:none}.tplpick__filters{gap:var(--space-2);padding:0 var(--space-4) var(--space-3);display:flex}.tplpick__filters .kds-chip{height:26px;padding:0 var(--space-3);font-size:var(--text-xs)}.tplpick__list{min-height:0;padding:var(--space-2) var(--space-3);flex:1;overflow-y:auto}.tplpick__group{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted)}.tplpick__item{align-items:center;gap:var(--space-3);height:48px;padding:0 var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-instant) var(--ease-standard);grid-template-columns:28px minmax(0,1fr) auto;display:grid}.tplpick__glyph{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-tertiary);background:var(--color-surface-sunken);justify-content:center;align-items:center;display:flex}.tplpick .tplpick__glyph svg{width:15px;height:15px;margin:0}.tplpick__text{flex-direction:column;gap:1px;min-width:0;display:flex}.tplpick__name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tplpick__sub{font-size:var(--text-2xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tplpick__value{font-size:var(--text-2xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.tplpick__item[aria-selected=true]{background:var(--color-primary-subtle)}.tplpick__item[aria-selected=true] .tplpick__name{color:var(--color-text-link)}.tplpick__item[aria-selected=true] .tplpick__glyph{color:var(--color-primary-text);background:var(--color-surface)}.tplpick__empty{align-items:center;gap:var(--space-1);padding:var(--space-8) var(--space-6);text-align:center;color:var(--color-text-muted);text-align:center;flex-direction:column;display:flex}.tplpick .tplpick__empty svg{width:22px;height:22px;color:var(--color-text-disabled);margin:0 0 var(--space-1)}.tplpick__empty p{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);margin:0}.tplpick__empty span{font-size:var(--text-xs);line-height:var(--leading-normal)}.tplpick__foot{align-items:center;gap:var(--space-4);font-size:var(--text-2xs);color:var(--color-text-muted);flex:1;display:flex}.tplpick__foot span{align-items:center;gap:var(--space-1);display:inline-flex}.tplpick__foot .kds-kbd{height:17px;font-size:var(--text-2xs);padding:0 4px}.template-kind-picker>p{margin:0 0 var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.template-kind-picker__options{gap:var(--space-3);display:grid}.template-kind-picker__options>button{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);text-align:left;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:var(--motion-hover);grid-template-columns:42px minmax(0,1fr) 18px;display:grid}.template-kind-picker__options>button:hover{border-color:var(--color-primary);background:var(--color-primary-subtle);box-shadow:var(--shadow-xs)}.template-kind-picker__options>button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.template-kind-picker__options>button>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.template-kind-picker__options strong{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.template-kind-picker__options small{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.template-kind-picker__icon{width:42px;height:42px;color:var(--color-primary-text);border-radius:var(--radius-lg);background:var(--color-primary-subtle);place-items:center;display:grid}.template-kind-picker__icon--section{color:var(--color-info);background:var(--color-info-bg)}.template-kind-picker__options>button>svg{color:var(--color-text-muted)}.template-kind-picker__hint{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3);color:var(--color-text-muted);border-radius:var(--radius-md);background:var(--color-surface-sunken);font-size:var(--text-xs);display:flex}.template-kind-picker__hint svg{flex:none}.template-editor{gap:var(--space-5);flex-direction:column;display:flex}.template-editor__section{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.template-editor__section-head{min-width:0}.template-editor__section-head>strong{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold);display:block}.template-editor__section-head>p{color:var(--color-text-muted);font-size:var(--text-xs);margin:2px 0 0}.template-editor__kicker{margin-bottom:var(--space-1);color:var(--color-primary-text);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;display:block}.template-editor__fields{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:minmax(0,1.4fr) 112px minmax(150px,.8fr);display:grid}.template-editor__field--name,.template-editor__field--description{grid-column:1/-1}.template-editor__fields .form-group{margin:0}.template-editor__fields .form-group label{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.template-editor__fields .kds-input,.template-editor__fields .kds-select{width:100%}.template-editor__required,.template-editor__error{color:var(--color-danger)}.template-editor__error{margin-top:var(--space-1);font-size:var(--text-xs);display:block}.template-editor__number{font-family:var(--mono);font-variant-numeric:tabular-nums}.template-editor__recipe{padding:0;overflow:hidden}.template-editor__recipe>.template-editor__section-head{padding:var(--space-5) var(--space-5) var(--space-4)}.template-editor__recipe>.line-inspector{border-top:1px solid var(--color-divider)}.template-editor__samples{margin-top:var(--space-5)}.template-editor__recipe-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-divider);background:var(--color-surface-sunken);display:flex}.template-editor__recipe-tools{align-items:center;gap:var(--space-2);flex:none;display:flex}.template-editor__sheet{padding:var(--space-2) var(--space-3) var(--space-3);scrollbar-width:thin;overflow-x:auto}.template-editor__sheet-head,.template-editor__sheet-row{min-width:910px;padding:var(--space-2);display:grid}.template-editor__sheet-head{color:var(--color-text-muted);border-bottom:1px solid var(--color-divider);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase}.template-editor__sheet-row{border-bottom:1px solid var(--color-divider);align-items:center}.template-editor__sheet-row:last-child{border-bottom:0}.template-editor__summary{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.template-editor__summary>div{gap:var(--space-1);padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.template-editor__summary>div+div{border-left:1px solid var(--color-divider)}.template-editor__summary span{color:var(--color-text-muted);font-size:var(--text-xs)}.template-editor__summary strong{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.template-editor__summary-total{background:var(--color-primary-subtle)}.template-editor__summary-total strong{color:var(--color-primary-text);font-size:var(--text-lg)}.template-editor__actions{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-1);display:flex}.template-editor__action-group{gap:var(--space-2);display:flex}.template-editor__delete{color:var(--color-danger)}.template-editor__delete:hover:not([disabled]){color:var(--color-danger);background:var(--color-danger-bg)}.section-template-editor .template-editor__fields{gap:var(--space-3) var(--space-4);margin-top:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.section-template-editor .template-editor__field--section-title,.section-template-editor .template-editor__field--name{grid-column:auto}.section-template-editor .template-editor__field--description{grid-column:1/-1}.section-template-editor .template-editor__hint{margin-top:2px}.section-template-editor__lines{padding:0;overflow:hidden}.section-template-grid{border:0;border-top:1px solid var(--color-divider);border-radius:0;max-height:440px}.section-template-grid .boq-addrow td{padding:0}.section-template-grid td.is-editable{padding:var(--space-1)}.section-template-grid .kds-boq__input{--_row-h:34px;height:var(--_row-h);padding-inline:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.section-template-grid textarea.kds-boq__input{padding:5px var(--space-2) 9px;line-height:18px}.section-template-grid td.is-editable:focus-within{box-shadow:none;background:inherit}.section-template-grid .kds-boq__input:focus:not([aria-invalid=true]){border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.section-template-grid textarea[aria-invalid=true],.section-template-grid input[aria-invalid=true]{border-color:var(--color-danger);box-shadow:inset 0 0 0 1px var(--color-danger);background:var(--color-danger-bg)}.template-editor__field--catalog .kds-input{--_row-h:var(--control-h);padding:5px var(--space-3) 9px;resize:none;line-height:1.4;overflow:hidden}.template-editor__hint{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-2xs);display:block}.template-editor .li-cell,.tpl-recipe-drawer .li-cell{padding-inline:var(--space-2)!important;border-color:var(--color-border)!important;background:var(--color-surface)!important}.template-editor textarea.li-cell,.tpl-recipe-drawer textarea.li-cell{padding:4px var(--space-2)!important}.template-editor .li-row:hover .li-cell:not(:disabled):not([aria-invalid=true]),.tpl-recipe-drawer .li-row:hover .li-cell:not(:disabled):not([aria-invalid=true]){border-color:var(--color-border-strong)!important}.template-editor .li-cell[aria-invalid=true],.tpl-recipe-drawer .li-cell[aria-invalid=true],.line-inspector .li-cell[aria-invalid=true]{border-color:var(--color-danger)!important;background:var(--color-danger-bg)!important;box-shadow:inset 0 0 0 1px var(--color-danger)!important}.template-editor__field--catalog .kds-input:focus:not([aria-invalid=true]),.template-editor .li-row .li-cell:focus:not(:disabled):not([aria-invalid=true]),.tpl-recipe-drawer .li-row .li-cell:focus:not(:disabled):not([aria-invalid=true]){border-color:var(--color-primary)!important;box-shadow:inset 0 0 0 1px var(--color-primary)!important}.template-editor .li-notes,.tpl-recipe-drawer .li-notes{background:var(--color-surface);border-style:solid}@media (max-width:72rem){.templates-library__toolbar{grid-template-columns:minmax(250px,1fr) auto}.templates-trade-filter{grid-column:1/-1;justify-self:end;width:min(100%,260px)}.templates-list__columns,.template-row{grid-template-columns:minmax(210px,1.15fr) minmax(120px,.55fr) minmax(170px,.75fr) minmax(116px,.45fr) 72px}}@media (max-width:62rem){.templates-library__toolbar{grid-template-columns:minmax(0,1fr) minmax(190px,230px)}.templates-search{grid-column:1/-1}.templates-trade-filter{grid-column:auto;justify-self:stretch;width:auto}.templates-list__columns,.template-row{column-gap:var(--space-3);grid-template-columns:minmax(210px,1.2fr) minmax(120px,.55fr) minmax(150px,.7fr) minmax(112px,.45fr) 68px}}@media (max-width:58rem){.template-row__contents{display:none}.templates-list__columns,.template-row{grid-template-columns:minmax(220px,1.25fr) minmax(135px,.65fr) minmax(116px,.5fr) 68px}.templates-list__columns span:nth-child(3){display:none}.templates-list__columns span:nth-child(4){text-align:right}}@media (max-width:45rem){.templates-page__head{align-items:flex-start}.templates-library__header{align-items:flex-start;gap:var(--space-3);flex-direction:column}.templates-library__counts{width:100%}.templates-library__toolbar{gap:var(--space-3);grid-template-columns:1fr}.templates-search,.templates-trade-filter{grid-column:1}.templates-kind-filter{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.templates-kind-filter button{padding-inline:var(--space-2)}.templates-trade-filter{width:100%}.templates-list__columns{display:none}.template-row{gap:var(--space-3);min-height:104px;padding:var(--space-4) var(--space-5);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity action""recipe cost"}.template-row__identity{grid-area:identity}.template-row__recipe{grid-area:recipe}.template-row__cost{grid-area:cost;align-self:end}.template-row__action{grid-area:action;align-self:start}.template-editor__fields{grid-template-columns:1fr 1fr}.template-editor__field--name,.template-editor__field--description,.section-template-editor .template-editor__field--section-title,.template-editor__fields>.form-group:last-child{grid-column:1/-1}.template-editor__recipe-head{flex-direction:column;align-items:flex-start}.template-editor__recipe-tools{justify-content:space-between;width:100%}.template-editor__summary{grid-template-columns:1fr}.template-editor__summary>div+div{border-left:0;border-top:1px solid var(--color-divider)}.section-template-grid{max-height:60vh}}@media (max-width:32rem){.templates-page__head{flex-direction:column}.templates-page__head .kds-btn{width:100%}.templates-library__header,.templates-library__toolbar{padding-inline:var(--space-4)}.templates-library__counts{gap:var(--space-3)}.templates-library__counts span+span{padding-left:var(--space-3)}.templates-library__resultbar{padding-inline:var(--space-4)}.template-row{padding-inline:var(--space-4);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity action""contents contents"}.template-row__recipe{display:none}.template-row__contents{grid-area:contents;display:flex}.template-row__cost{display:none}.template-row__mobile-meta{display:block!important}.template-editor__fields{grid-template-columns:1fr}.template-editor__fields>.form-group{grid-column:1/-1}.section-template-editor .template-editor__fields{grid-template-columns:1fr}.template-editor__actions{flex-direction:column-reverse;align-items:stretch}.template-editor__actions>span{display:none}.template-editor__action-group{grid-template-columns:1fr 1fr;display:grid}.template-editor__delete{justify-content:center}}.version-list{gap:var(--sp-2);flex-direction:column;display:flex}.version-item{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-light);border-radius:var(--radius-sm);transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.version-item:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.version-item.active{border-color:var(--color-primary);background:var(--color-primary-subtle)}.version-item .version-num{color:var(--color-primary-text);font-size:.85rem;font-weight:700;font-family:var(--mono);min-width:40px}.version-item .version-meta{color:var(--text-tertiary);font-size:.75rem}.version-item .version-total{font-family:var(--mono);font-size:.85rem;font-weight:600}.analytics-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.analytics-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);background:var(--surface)}.analytics-card h4{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-4);font-size:.8rem;font-weight:600}.stat-row{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.stat-row .stat-label{color:var(--text-secondary);align-items:center;gap:var(--sp-2);font-size:.8rem;display:flex}.stat-row .stat-dot{border-radius:50%;width:8px;height:8px}.stat-row .stat-value{font-family:var(--mono);font-size:.85rem;font-weight:600}.modal-backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-md) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop.show{opacity:1;visibility:visible;pointer-events:auto}.modal{background:var(--surface);border-radius:var(--radius-xl);width:90%;max-width:560px;max-height:85vh;box-shadow:var(--shadow-xl);transition:transform var(--duration-md) var(--ease-out);overflow-y:auto;transform:scale(.95)}.modal-backdrop.show .modal{transform:scale(1)}.modal-header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:1.05rem;font-weight:600}.modal-body{padding:var(--sp-6)}.modal-footer{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--sp-3);display:flex}.modal-backdrop--drawer-right{background:var(--color-overlay);-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:flex-end;align-items:stretch;padding:0;display:flex}.modal--drawer-right{width:min(620px, calc(100vw - var(--space-16)));border-left:1px solid var(--color-border);background:var(--color-surface);max-width:none;height:100%;max-height:none;box-shadow:var(--shadow-xl);border-radius:0;flex-direction:column;display:flex;overflow:hidden;transform:translate(100%)}.modal-backdrop--drawer-right.show .modal--drawer-right{transform:translate(0)}.modal--drawer-right-sm{width:min(380px, calc(100vw - var(--space-12)))}.modal--drawer-right .modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.modal--drawer-right .modal-header h3{font-size:var(--text-md);font-weight:var(--weight-semibold)}.modal--drawer-right .modal-body{padding:var(--space-5);flex:1;overflow-y:auto}.modal--drawer-right .modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);gap:var(--space-2)}.modal--drawer-right .modal-body:has(>.line-inspector){padding:0}.line-inspector{flex-direction:column;display:flex}.li-head{z-index:2;gap:var(--space-2);padding:var(--space-4) var(--space-5) 0;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex;position:sticky;top:0}.li-ident{align-items:center;gap:var(--space-2);display:flex}.li-no{font-family:var(--mono);font-size:var(--text-xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:2px var(--space-2);flex:none}.li-total{white-space:nowrap;align-items:baseline;gap:4px;margin-left:auto;display:flex}.li-total__cur{font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.li-total__amt{font-family:var(--mono);font-size:var(--text-lg);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--color-text)}.li-trade{border-radius:var(--radius-pill);background:var(--color-primary-subtle);border:1px solid var(--color-primary-subtle-hover);color:var(--color-primary-text);align-items:center;display:inline-flex;position:relative}.li-trade:focus-within{box-shadow:var(--shadow-focus);border-color:var(--color-primary)}.li-trade:hover{background:var(--color-primary-subtle-hover)}.li-trade svg{right:var(--space-2);opacity:.75;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.li-trade__select{appearance:none;cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:inherit;max-width:180px;padding:2px calc(var(--space-2) + 14px) 2px var(--space-2);background:0 0;border:0;outline:none}.li-trade__select:disabled{cursor:default}.trade-select-combobox{width:100%;min-width:0;position:relative}.li-trade .trade-select-combobox{width:auto}.li-trade--static{padding:3px var(--space-3);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-normal);overflow:hidden}.li-trade--static:hover{background:var(--color-primary-subtle)}.li-desc{flex-direction:column;align-items:flex-start;display:flex}.li-desc__field{resize:none;width:100%;padding:var(--space-1) var(--space-2);margin-left:calc(var(--space-2) * -1);border-radius:var(--radius-sm);color:var(--color-text-secondary);font:inherit;font-size:var(--text-sm);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;outline:none;overflow:hidden}.li-desc__field:hover:not(:disabled){background:var(--color-surface-hover)}.li-desc__field:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);background:var(--color-surface)}.li-desc.is-expanded .li-desc__field{height:auto;color:var(--color-text)}.li-desc__toggle{cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-primary-text);background:0 0;border:0;padding:0}.li-desc__toggle:hover{text-decoration:underline}.li-strip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);display:flex}.li-strip__qty{text-align:right;width:76px;font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:3px var(--space-2);height:var(--control-h-sm)}.li-strip__qty:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.li-strip__unit{width:78px;height:var(--control-h-sm);padding:0 var(--space-2);font:inherit;font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none}.li-strip__unit:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.li-strip__op{color:var(--color-text-disabled)}.li-strip__rate{color:var(--color-text-secondary)}.li-strip__per{color:var(--color-text-muted);font-size:var(--text-xs)}.li-strip__total{font-weight:var(--weight-bold);color:var(--color-text);white-space:nowrap;margin-left:auto}.li-tabs{margin:var(--space-1) 0 var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);gap:3px;padding:3px;display:flex}.li-tab{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);border-radius:calc(var(--radius-md) - 2px);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);border:1px solid #0000;flex:1 1 0;display:inline-flex}.li-tab svg{opacity:.8;flex:none}.li-tab:hover{color:var(--color-text);background:var(--color-surface-hover)}.li-tab:focus-visible{box-shadow:var(--shadow-focus);outline:none}.li-tab[aria-selected=true]{background:var(--color-surface);color:var(--color-primary-text);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.li-tab[aria-selected=true] svg{opacity:1}.li-tab__count{border-radius:var(--radius-pill);background:var(--color-primary-subtle);min-width:18px;color:var(--color-primary-text);font-family:var(--mono);font-size:var(--text-2xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;flex:none;padding:0 5px;line-height:17px}.li-panel{flex-direction:column;display:flex}.li-section{padding:var(--space-4) var(--space-5)}.li-section+.li-section{border-top:1px solid var(--color-border-subtle)}.li-section--flush{padding-top:var(--space-5)}.li-section__head{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.li-section__label{font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-muted)}.li-section__note{font-size:var(--text-xs);color:var(--color-text-disabled)}.li-section__sum{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);margin-left:auto}.li-grid{overflow-x:auto}.li-row{padding:2px var(--space-1);margin:0 calc(var(--space-1) * -1);border-radius:var(--radius-sm);align-items:start;display:grid}.li-row:not(.li-row--head):hover{background:var(--color-surface-hover)}.li-row--head{font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-disabled);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border-subtle);margin-bottom:2px}.li-cell{background:0 0!important;border-color:#0000!important}.li-row:hover .li-cell:not(:disabled){border-color:var(--color-border-subtle)!important;background:var(--color-surface)!important}.li-row .li-cell:focus:not(:disabled){box-shadow:var(--shadow-focus);border-color:var(--color-primary)!important;background:var(--color-surface)!important}.li-row__subtotal{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-align:right;padding:0 var(--space-1);height:var(--control-h-sm);line-height:var(--control-h-sm)}.li-row__sample{height:var(--control-h-sm);place-items:center;display:grid}.li-sample-check{cursor:pointer;margin:0}.li-sample-check:disabled{cursor:not-allowed;opacity:.5}.li-row__x{width:22px;height:var(--control-h-sm);border-radius:var(--radius-sm);color:var(--color-text-disabled);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-standard);background:0 0;border:0;place-items:center;padding:0;display:grid}.li-row:hover .li-row__x,.li-row__x:focus-visible,.li-sched__chip:hover .li-row__x,.li-sched .li-row__x:focus-visible{opacity:1}.li-row__x:hover{background:var(--error-50,var(--color-surface-active));color:var(--error-600)}.li-sched{margin-top:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-primary-subtle-hover);background:var(--color-primary-subtle);overflow:hidden}.li-sched__chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);display:flex}.li-sched__chev{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-primary-text);cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard);background:0 0;border:0;place-items:center;padding:0;display:grid}.li-sched.is-open .li-sched__chev{transform:rotate(90deg)}.li-sched__name{min-width:0;padding:3px var(--space-1);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary-text);background:0 0;border:1px solid #0000;outline:none;flex:1}.li-sched__name:hover:not(:disabled){border-color:var(--color-primary-subtle-hover)}.li-sched__name:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-focus)}.li-sched__count{font-size:var(--text-xs);color:var(--color-primary-text);opacity:.7;white-space:nowrap}.li-sched__sum{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-primary-text);white-space:nowrap}.li-sched__body{padding:var(--space-2);border-top:1px solid var(--color-primary-subtle-hover);background:var(--color-surface)}.li-actions{align-items:center;gap:var(--space-4);margin-top:var(--space-2);display:flex}.li-link{cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-primary-text);background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.li-link:hover{text-decoration:underline}.li-notes{width:100%;margin-top:var(--space-3);padding:5px var(--space-2);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--text-xs);background:0 0;outline:none}.li-notes::placeholder{color:var(--color-text-disabled)}.li-notes:focus{border-style:solid;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.li-eq{align-items:flex-end;gap:var(--space-2);font-family:var(--mono);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.li-eq__field{flex-direction:column;gap:3px;display:flex}.li-eq__label{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-disabled)}.li-eq__input{width:68px;height:var(--control-h-sm);padding:0 var(--space-2);text-align:right;font:inherit;font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none}.li-eq__input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.li-eq__op{color:var(--color-text-disabled);padding-bottom:8px}.li-eq__result{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text);white-space:nowrap;margin-left:auto;padding-bottom:8px}.li-eq__legacy{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.li-coverage{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.li-coverage__label{font-size:var(--text-sm);color:var(--color-text-muted);cursor:help}.li-coverage__input{width:76px;height:var(--control-h-sm);padding:0 var(--space-2);text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none}.li-coverage__input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.li-coverage__unit{font-family:var(--mono);font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:3px var(--space-2)}.li-ledger{margin:0}.li-ledger__row{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-1) 0;font-size:var(--text-sm);display:flex}.li-ledger__row+.li-ledger__row{border-top:1px dashed var(--color-border-subtle)}.li-ledger__row dt{color:var(--color-text-muted)}.li-ledger__row dd{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);white-space:nowrap;margin:0}.li-ledger__row dd.is-muted{color:var(--color-text-disabled)}.li-ledger__row--strong dt,.li-ledger__row--strong dd{color:var(--color-text);font-weight:var(--weight-bold)}.li-internal{margin:0 var(--space-5) var(--space-5);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.li-internal__head{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;background:var(--color-surface-sunken);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);list-style:none;display:flex}.li-internal__head::-webkit-details-marker{display:none}.li-internal__head:hover{color:var(--color-text-secondary)}.li-internal__head:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.li-internal__head>svg:last-child{transition:transform var(--dur-fast) var(--ease-standard);margin-left:auto}.li-internal[open] .li-internal__head>svg:last-child{transform:rotate(180deg)}.li-internal__body{padding:var(--space-3)}.li-internal__body .kds-meter-legend{gap:var(--space-4);margin-top:var(--space-2);margin-bottom:var(--space-3)}.li-foot{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;display:flex}.boq-tool-dialog>.card{box-shadow:none;border-color:var(--color-border-subtle);margin:0}.boq-tool-dialog>.card+.card{margin-top:var(--space-4)!important}@media (max-width:640px){.modal--drawer-right,.modal--drawer-right-sm{border-left:none;width:100vw}.boq-card .boq-wrapper{height:calc(100dvh - 240px);min-height:280px}}.toast-container{bottom:var(--sp-5);right:var(--sp-5);z-index:var(--z-toast);gap:var(--sp-2);flex-direction:column;align-items:flex-end;display:flex;position:fixed}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-5);box-shadow:var(--shadow-lg);align-items:center;gap:var(--sp-3);min-width:280px;max-width:420px;animation:toastIn var(--duration-lg) var(--ease-out);font-size:.85rem;font-weight:500;display:flex}.toast.show{transform:translate(0)}.toast-close{margin-left:var(--sp-2);cursor:pointer;color:var(--text-muted);border-radius:var(--radius-xs);background:0 0;border:none;padding:2px;display:inline-flex}.toast-close:hover{color:var(--text)}.toast-close:focus-visible{box-shadow:var(--shadow-focus);outline:none}@keyframes toastIn{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-icon.success{color:var(--success-500)}.toast-icon.error{color:var(--error-500)}.toast-icon.info{color:var(--primary-500)}.toast-icon.warning{color:var(--warning-500)}.empty-state{padding:var(--sp-10) var(--sp-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state>svg{width:64px;height:64px;color:var(--gray-300);margin-bottom:var(--sp-5)}.empty-state h3{color:var(--text-secondary);margin-bottom:var(--sp-2);font-size:1rem;font-weight:600}.empty-state p{color:var(--text-muted);max-width:360px;margin-bottom:var(--sp-5);font-size:.85rem;line-height:1.5}.drag-handle{cursor:grab;width:20px;color:var(--text-placeholder);transition:color var(--duration) var(--ease);justify-content:center;align-items:center;display:flex}.drag-handle:hover{color:var(--text-muted)}.drag-handle:active{cursor:grabbing}.schedule-link{color:var(--primary-500);cursor:pointer;font-size:.75rem;font-weight:500}.schedule-link:hover{text-decoration:underline}.schedule-item{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);margin-bottom:var(--sp-4)}.schedule-item h4{margin-bottom:var(--sp-3);justify-content:space-between;align-items:center;display:flex}.company-select select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);appearance:none;cursor:pointer;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;outline:none;padding:6px 28px 6px 10px;font-size:.8rem;font-weight:500}.company-select select:focus{border-color:var(--primary-300);box-shadow:var(--shadow-focus)}.search-input{position:relative}.search-input input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;transition:border-color var(--duration) var(--ease), background-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);outline:none;padding:8px 12px 8px 34px;font-size:.85rem}.search-input input:focus{border-color:var(--primary-300);box-shadow:var(--shadow-focus)}.search-input svg{width:16px;height:16px;color:var(--text-muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.kbd{font-size:.65rem;font-family:var(--mono);background:var(--gray-100);border:1px solid var(--gray-200);color:var(--text-tertiary);border-radius:4px;justify-content:center;align-items:center;padding:1px 6px;font-weight:500;line-height:1.6;display:inline-flex}.admin-only{display:none}.no-viewer,[data-role=admin] .admin-only{display:initial}[data-role=viewer] .no-viewer{display:none!important}[data-role=viewer] .boq-row td input,[data-role=viewer] .boq-row td select{pointer-events:none;opacity:.7}@media print{body{color:#000;background:#fff;font-family:Avenir Next,Avenir,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:9.5pt}.app-layout{min-height:0!important;display:block!important}.sidebar,.topbar,.no-print,.btn,.expand-toggle,.sub-panel,.boq-table th.no-print,.boq-table td.no-print,.row-actions,.drag-handle,.row-checkbox,.nav-item,.toast-container{display:none!important}.main-content{min-height:0!important;margin-left:0!important;display:none!important}.container{max-width:100%;margin:0;padding:0}.card{box-shadow:none;border:none;border-radius:0;margin-bottom:8pt;padding:0}.card-header{padding:0 0 6pt}.card-body{padding:0}@page{size:A4 portrait;margin:14mm}.print-letterhead{grid-template-columns:1.05fr 1fr;align-items:stretch;gap:10pt;margin-bottom:4pt;display:grid!important}.print-letterhead-left{flex-direction:column;display:flex}.print-info-row{grid-template-columns:72pt 1fr;column-gap:6pt;padding:.5pt 0;font-size:9pt;line-height:1.25;display:grid}.print-info-row .label{color:#000;font-weight:600}.print-info-row .value{color:#000;word-break:break-word;border-left:.5pt solid #115b6f;padding-left:6pt}.print-letterhead-right{flex-direction:column;align-items:flex-end;display:flex!important}.print-letterhead-logo-wrap{justify-content:flex-end;width:100%;display:flex}.print-letterhead-logo-wrap img{object-fit:contain;max-width:200pt;max-height:60pt}.print-letterhead-companyname{color:#000;text-align:right;font-size:11pt;font-weight:700}.print-letterhead-meta{width:100%;margin-top:auto}.print-letterhead-meta .print-info-row{grid-template-columns:70pt 1fr}.print-letterhead-meta .print-info-row .label{text-align:right}.print-title-bar{text-align:center;letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-top:1pt solid #115b6f;border-bottom:1pt solid #115b6f;margin-top:4pt;padding:5pt 10pt;font-size:13pt;font-weight:700;color:#000!important;background:0 0!important;display:block!important}.print-subheader-bar{text-align:center;letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:4pt 10pt;font-size:9.5pt;font-weight:600;color:#fff!important;background:#115b6f!important;display:block!important}.print-boq{border-collapse:collapse;page-break-inside:auto;width:100%;margin:0 0 5pt}.print-boq tr{break-inside:avoid;page-break-inside:avoid}.print-boq thead{display:table-header-group}.print-boq th{-webkit-print-color-adjust:exact;print-color-adjust:exact;text-align:center;border:.5pt solid #115b6f;padding:6pt 7pt;font-size:10pt;font-weight:600;line-height:1.25;color:#fff!important;background:#115b6f!important}.print-boq td{vertical-align:top;border:.5pt solid #aaa;padding:5pt 7pt;font-size:9.5pt;line-height:1.4}.print-boq td.num{text-align:right;white-space:nowrap;font-family:JetBrains Mono,monospace}.print-boq td.num .aed{color:#000;padding-right:4pt;font-family:Avenir Next,Avenir,sans-serif;font-weight:600}.print-boq tr.section-row{animation:none!important}.print-boq tr.section-row td{padding:5pt 7pt;font-size:9.5pt;background:#fff!important}.print-boq tr.section-row td:first-child{text-align:center}.print-boq tr.section-row td strong{font-weight:700}.print-boq tr.section-row td u{text-decoration:underline}.print-duration-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact;grid-template-columns:1fr 1fr;gap:0;padding:4pt 10pt;font-size:9.5pt;font-weight:600;color:#fff!important;background:#115b6f!important;display:grid!important}.print-duration-bar .label{text-align:right;padding-right:8pt}.print-duration-bar .value{text-align:center}.print-summary-band{grid-template-columns:1.1fr 1fr;align-items:start;gap:12pt;margin-top:6pt;display:grid!important}.print-validity{color:#000;padding-top:2pt;font-size:9pt;font-style:italic;line-height:1.35}.print-summary table{border-collapse:collapse;width:100%;margin-left:auto}.print-summary td{padding:2pt 4pt;font-size:9.5pt;line-height:1.3}.print-summary td.lbl{text-align:right;color:#000;padding-right:10pt;font-weight:700}.print-summary td.cur{text-align:right;color:#000;border-left:.5pt solid #aaa;padding-left:6pt;padding-right:4pt}.print-summary td.amt{text-align:right;min-width:70pt;font-family:JetBrains Mono,monospace;font-weight:600}.print-summary tr.grand td{border-top:1pt solid #115b6f;padding-top:4pt;font-size:10.5pt;font-weight:700}.print-signatures{grid-template-columns:1fr 1fr;gap:36pt;margin-top:24pt;display:grid!important}.print-signatures .sig-block{color:#000;padding-top:28pt;font-size:9pt}.print-signatures .sig-block.sig-left{text-align:left}.print-signatures .sig-block.sig-right{text-align:right}.print-signatures .sig-line{border-top:1pt solid #000;height:0;margin-bottom:5pt}.print-signatures .sig-block p{margin:0}.print-signatures-spacer{flex:auto;min-height:24pt}.print-page-end{page-break-inside:avoid;break-inside:avoid;padding-top:0;display:block!important}.print-approval{text-align:center;color:#c00000;margin:0;padding:0;font-size:9.5pt;font-weight:700;line-height:1.3;display:block!important}.print-note{text-align:center;color:#c00000;margin:12pt 0 8pt;padding:0;font-size:9pt;font-weight:400;line-height:1.3;display:block!important}.print-footer-banner{width:100%;margin-top:6pt;display:block!important}.print-footer-banner img{object-fit:contain;width:100%;max-height:36pt;display:block}.tab-content,#view-boq{display:block!important}#view-schedule,#view-settings,#view-templates,#view-versions,#view-analytics{display:none!important}#printView{flex-direction:column;min-height:269mm;padding:0;display:flex!important}.print-page-end,.print-signatures,.print-summary-band,.print-duration-bar{page-break-inside:avoid}#appView{display:none!important}}.print-letterhead,.print-title-bar,.print-subheader-bar,.print-duration-bar,.print-summary-band,.print-signatures,.print-approval,.print-note,.print-page-end,.print-footer-banner,#printView{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.boq-row,.section-row{animation:fadeIn var(--duration-md) var(--ease-out)}@media (prefers-reduced-motion:reduce){.btn:active:not(:disabled),.btn-icon:active,.nav-item:active,.sidebar-toggle:active,.expand-toggle:active{transform:none}.boq-row,.section-row,.sub-panel-inner,.save-dot.saving{animation:none}.modal{transition-duration:1ms}.user-menu-popover,.tpl-dropdown.show{animation:rmFade var(--duration-sm) var(--ease)}@keyframes rmFade{0%{opacity:0}to{opacity:1}}}.tab-content{display:none}.tab-content.active{display:block}.boq-stepper{align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.boq-step{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2);font:inherit;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration) var(--ease);background:0 0;border:none;display:inline-flex}.boq-step:not(:disabled):hover{color:var(--text)}.boq-step:disabled{cursor:default}.boq-step-num{background:var(--gray-200);width:26px;height:26px;color:var(--text-secondary);transition:background var(--duration) var(--ease), color var(--duration) var(--ease);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:600;display:grid}.boq-step-num svg{width:14px;height:14px}.boq-step-label{font-size:.85rem;font-weight:500}.boq-step.done .boq-step-num{background:var(--color-primary);color:var(--color-on-primary)}.boq-step.active .boq-step-num{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 0 0 4px var(--color-primary-subtle)}.boq-step.active .boq-step-label{color:var(--text);font-weight:600}.boq-step-sep{background:var(--border);flex:none;width:28px;height:1px}.boq-step-actions{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.boq-step-actions>.btn:only-child{margin-left:auto}.boq-step-hint{color:var(--text-muted);font-size:.8rem}.boq-step-actions .btn{align-items:center;gap:var(--sp-1);display:inline-flex}.collapsible-header{width:100%;font:inherit;text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border)}.collapsible-header:hover{background:var(--color-surface-hover)}.collapsible-chevron{color:var(--color-text-tertiary);align-items:center;display:inline-flex}.collapsible-summary-total{align-items:center;gap:var(--sp-2);font-family:var(--mono);color:var(--gray-900);font-size:.9rem;font-weight:600;display:inline-flex}.sidebar-scrim{display:none}@media (max-width:900px){.sidebar{transform:translate(-260px)}.sidebar.mobile-open{box-shadow:var(--shadow-xl);transform:translate(0)}.sidebar{z-index:var(--z-drawer)}.sidebar.mobile-open+.sidebar-scrim,.sidebar-scrim.show{z-index:calc(var(--z-drawer) - 1);background:var(--color-overlay);display:block;position:fixed;inset:0}.main-content{margin-left:0!important}.summary-grid{grid-template-columns:1fr}.summary-divider{grid-column:span 1}.analytics-grid{grid-template-columns:1fr}.users-header{flex-direction:column}.members-toolbar{width:100%}.members-toolbar .search-input{flex:1}}.users-page{gap:var(--sp-5);flex-direction:column;display:flex}.users-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.users-header h2{color:var(--gray-900);letter-spacing:-.01em;font-size:1.35rem;font-weight:700}.users-header p{color:var(--text-muted);max-width:560px;margin-top:4px;font-size:.85rem;line-height:1.5}.role-legend{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.role-legend-item{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);display:flex}.role-legend-accent{border-radius:4px;flex-shrink:0;align-self:stretch;width:4px}.role-legend-item .role-legend-body{flex:1}.role-legend-item .role-legend-top{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:3px;display:flex}.role-legend-item h4{color:var(--gray-900);font-size:.82rem;font-weight:600}.role-legend-count{color:var(--text-muted);font-size:.7rem;font-weight:600;font-family:var(--mono)}.role-legend-item p{color:var(--text-muted);font-size:.73rem;line-height:1.45}.members-toolbar{align-items:center;gap:var(--sp-3);display:flex}.members-count{color:var(--text-tertiary);background:var(--gray-100);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600}.member-list{flex-direction:column;display:flex}.member-row{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-6);border-top:1px solid var(--border-light);transition:background var(--duration-sm) var(--ease);display:flex}.member-row:first-child{border-top:none}.member-row:hover{background:var(--color-surface-hover)}.member-avatar{-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:grid}.member-identity{flex:1;min-width:0}.member-name{align-items:center;gap:var(--sp-2);color:var(--gray-900);font-size:.875rem;font-weight:600;display:flex}.member-name .member-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-email{color:var(--text-muted);font-size:.76rem;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;overflow:hidden}.member-you{text-transform:uppercase;letter-spacing:.05em;color:var(--primary-700);background:var(--primary-50);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:.6rem;font-weight:700}.role-chip{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:4px 12px;font-size:.68rem;font-weight:700;display:inline-flex}.role-chip.role-admin{border-color:var(--primary-200)}.role-chip.role-estimator{border-color:var(--success-100)}.role-chip.role-coordinator{border-color:var(--warning-100)}.role-admin{background:var(--primary-50);color:var(--primary-700)}.role-estimator{background:var(--success-50);color:var(--success-700)}.role-coordinator{background:var(--warning-50);color:var(--warning-600)}.role-accent-admin{background:var(--primary-400)}.role-accent-estimator{background:var(--success-500)}.role-accent-coordinator{background:var(--warning-500)}.member-actions{align-items:center;gap:var(--sp-1);display:flex}.member-action{color:var(--text-placeholder);opacity:.55;transition:color var(--duration-sm) var(--ease), opacity var(--duration-sm) var(--ease), background var(--duration-sm) var(--ease)}.member-row:hover .member-action,.member-row:focus-within .member-action{opacity:1}.member-action:not(:disabled):hover{color:var(--color-primary-text);background:var(--color-primary-subtle)}.member-action.member-delete:not(:disabled):hover{color:var(--error-600);background:var(--error-50)}.member-action:disabled{opacity:.25;cursor:not-allowed}.user-form{gap:var(--sp-4);flex-direction:column;display:flex}.user-form-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--border-light);display:flex}.add-user-note{align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--color-warning-bg);border:1px solid var(--warning-100);color:var(--color-warning);font-size:.75rem;line-height:1.5;display:flex}.add-user-note svg{color:var(--warning-600);flex-shrink:0;margin-top:1px}.add-user-note code{font-family:var(--mono);background:var(--warning-100);border-radius:4px;padding:0 5px;font-weight:700}.catalog-page{gap:var(--sp-5);flex-direction:column;display:flex}.seg-tabs{background:var(--gray-100);border-radius:var(--radius-md);align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.seg-tab{align-items:center;gap:var(--sp-2);border-radius:calc(var(--radius-md) - 3px);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background var(--duration-sm) var(--ease), color var(--duration-sm) var(--ease), box-shadow var(--duration-sm) var(--ease);background:0 0;border:none;padding:6px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.seg-tab:hover{color:var(--text-secondary)}.seg-tab.active{background:var(--surface);color:var(--gray-900);box-shadow:var(--shadow-xs)}.seg-tab-count{font-family:var(--mono);background:var(--gray-200);color:var(--text-tertiary);border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:700}.seg-tab.active .seg-tab-count{background:var(--gray-100);color:var(--text-secondary)}.seg-tab-count.alert{background:var(--warning-50);color:var(--warning-600)}.catalog-table{border-collapse:collapse;width:100%;font-size:.85rem}.catalog-active-table{table-layout:fixed;min-width:900px}.catalog-table thead th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px;font-size:.68rem;font-weight:600}.catalog-table th.num,.catalog-table td.num{text-align:right}.catalog-table tbody td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:9px 12px}.catalog-table th.num,.catalog-table td.num{padding-left:8px;padding-right:12px}.catalog-table th.catalog-confirmed-head,.catalog-table td.catalog-confirmed{padding-inline:12px}.catalog-item-row{transition:background var(--duration-sm) var(--ease)}.catalog-item-row:hover td{background:var(--color-surface-hover)}.catalog-band td{background:var(--gray-50);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-light);padding:8px 14px;font-size:.68rem;font-weight:700}.catalog-subband td{background:var(--surface);color:var(--gray-800);border-left:2px solid var(--primary-200);border-bottom:1px solid var(--border-light);padding:7px 14px 7px 20px;font-size:.8rem;font-weight:600}.catalog-table td.catalog-empty-sub{color:var(--text-muted);padding:8px 20px;font-size:.78rem;font-style:italic}.td-band-empty td{color:var(--text-muted);border-bottom:1px solid var(--border-light);padding:8px 14px;font-size:.78rem;font-style:italic}.td-band-empty .td-band-empty-add{margin-left:var(--sp-3);vertical-align:baseline}.catalog-muted-cell{color:var(--text-muted);padding:14px!important}.catalog-dim{color:var(--text-muted)}.catalog-identity-head{width:96px}.catalog-thumb-head{width:52px}.catalog-desc-head{width:auto}.catalog-cat-head{width:128px}.catalog-spec-head{width:240px}.catalog-sample-room-head{width:96px}.catalog-range-head{width:138px}.catalog-confirmed-head{width:120px}.catalog-active-table :is(th,td):is(.catalog-identity-head,.catalog-thumb-head,.catalog-desc-head,.catalog-spec-head,.catalog-sample-room-head,.catalog-range-head,.catalog-confirmed-head,.catalog-identity,.catalog-thumb-cell,.catalog-desc,.catalog-spec-cell,.catalog-sample-room,.catalog-market-range,.catalog-confirmed){text-align:center}.catalog-identity{white-space:nowrap;line-height:1.2}.catalog-ref{font-family:var(--font-code);font-weight:var(--weight-regular);color:var(--text);font-size:.78rem;display:block}.catalog-thumb-cell{padding-top:6px;padding-bottom:6px}.catalog-thumb{object-fit:cover;border-radius:var(--radius-xs);border:1px solid var(--border);width:34px;height:34px;margin-inline:auto;display:block}.catalog-desc{color:var(--gray-900);font-size:.9rem;line-height:var(--leading-normal);overflow-wrap:break-word}.catalog-spec{color:var(--text-secondary);overflow-wrap:break-word}.catalog-sample-room{white-space:nowrap}.catalog-money{font-family:var(--mono)}.catalog-market-range{white-space:nowrap;color:var(--text-secondary)}.catalog-range-sep{color:var(--color-text-muted);margin:0 3px;display:inline-block}.catalog-confirmed{line-height:1.15}.catalog-confirmed__val{color:var(--gray-900);font-weight:600;display:block}.catalog-confirmed__upd{color:var(--text-muted);margin-top:1px;font-size:.64rem;font-weight:400;display:block}.cs-card{margin-bottom:0}.cs-card .card-header{align-items:center}.cs-card-sub{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.cs-card-body{padding:0}.cs-page-error,.cs-create-error{color:var(--color-danger);background:var(--color-danger-bg);border-bottom:1px solid color-mix(in oklab, var(--color-danger) 20%, transparent);padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}.cs-empty{padding:var(--space-8) var(--space-5)}.cs-table{table-layout:fixed;min-width:860px}.cs-table th:first-child{width:24%}.cs-table th:nth-child(2){width:25%}.cs-table th:nth-child(3){width:auto}.cs-table th:nth-child(4){width:82px}.cs-table tbody td{vertical-align:top;padding:var(--space-4)}.cs-table tbody tr:last-child td{border-bottom:0}.cs-category-cell{min-width:0}.cs-category-name{min-height:var(--control-h-sm);font-weight:var(--weight-semibold);color:var(--color-text);align-items:center;display:flex}.cs-category-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.cs-reference-cell{min-width:0}.cs-prefix-actions,.cs-prefix-editor{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cs-code{height:30px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-text);font-family:var(--mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.03em;transition:var(--motion-hover);align-items:center;display:inline-flex}.cs-code:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.cs-code:focus-visible{box-shadow:var(--shadow-focus);outline:none}.cs-prefix-input{width:86px;height:var(--control-h-sm);font-family:var(--mono);text-transform:uppercase}.cs-generate{color:var(--color-text-muted)}.cs-subsections-cell{min-width:0}.cs-subsections{gap:var(--space-1);flex-direction:column;display:flex}.cs-subsection{align-items:center;gap:var(--space-2);min-height:34px;padding:2px 2px 2px var(--space-3);border-left:2px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;display:flex}.cs-subsection:hover,.cs-subsection:focus-within{background:var(--color-surface-sunken)}.cs-subsection-name{min-width:0;color:var(--color-text-secondary);flex:1}.cs-inline-name{width:min(260px,100%);height:var(--control-h-sm)}.cs-inline-actions{flex:none;align-items:center;gap:2px;display:inline-flex}.cs-delete:hover:not([disabled]){color:var(--color-danger);background:var(--color-danger-bg)}.cs-new-subsection{align-items:center;gap:var(--space-2);display:flex}.cs-new-subsection .kds-input{min-width:180px;height:var(--control-h-sm)}.cs-add-sub{color:var(--color-text-muted);align-self:flex-start}.cs-category-actions{text-align:right}.cs-modal-backdrop{padding:var(--space-4)}.cs-create-modal{flex-direction:column;max-height:min(720px,100dvh - 32px);display:flex;overflow:hidden}.cs-modal-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.cs-modal-head p{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.cs-modal-body{min-height:0;padding-right:var(--space-1);overflow-y:auto}.cs-create-error{margin-bottom:var(--space-4);border:1px solid color-mix(in oklab, var(--color-danger) 20%, transparent);border-radius:var(--radius-md)}.cs-create-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 210px;display:grid}.cs-prefix-field{align-items:center;display:flex}.cs-prefix-field .kds-input{border-radius:var(--radius-md) 0 0 var(--radius-md);width:92px;font-family:var(--mono);text-transform:uppercase}.cs-prefix-field>span{height:var(--control-h-md);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--mono);font-size:var(--text-sm);border-left:0;align-items:center;display:inline-flex}.cs-create-subs{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border-subtle)}.cs-create-subs-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.cs-create-subs-head p{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.cs-create-subs-empty{margin-top:var(--space-3);padding:var(--space-4);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm)}.cs-create-sub-list{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.cs-create-sub-row{align-items:center;gap:var(--space-2);grid-template-columns:24px minmax(0,1fr) 32px;display:grid}.cs-create-sub-row>span{font-family:var(--mono);font-size:var(--text-xs);color:var(--color-text-muted)}.cs-create-sub-row .kds-input{height:var(--control-h-sm)}@media (max-width:640px){.cs-create-grid{grid-template-columns:1fr}.cs-create-subs-head{flex-direction:column;align-items:stretch}}.page-head{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.page-head__titles{flex:1;min-width:0}.page-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-text)}.page-sub{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px}.page-actions{gap:var(--space-2);align-items:center;display:flex}.backlink{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3);cursor:pointer;background:0 0;border:none;display:inline-flex}.backlink:hover{color:var(--color-text)}.backlink svg{width:14px;height:14px}.list-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.list-toolbar .kds-tabs{gap:var(--space-4);border-bottom:none;flex:1;min-width:0}.list-toolbar .kds-tab{padding:var(--space-2) 0;font-size:var(--text-sm)}.est-table{--row-h:60px;--col-status:116px;--col-owner:150px;--col-version:92px;--col-date:132px;--col-total:168px;--col-action:132px;--col-kebab:52px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.est-table .kds-table{table-layout:fixed;width:100%}.est-table col.c-status{width:var(--col-status)}.est-table col.c-owner{width:var(--col-owner)}.est-table col.c-version{width:var(--col-version)}.est-table col.c-date{width:var(--col-date)}.est-table col.c-total{width:var(--col-total)}.est-table col.c-action{width:var(--col-action)}.est-table col.c-kebab{width:var(--col-kebab)}.est-table .kds-table td.c-kebab,.est-table .kds-table th.c-kebab{padding-left:0;padding-right:var(--space-2)}.est-table .kds-table tbody td{height:var(--row-h);padding-top:0;padding-bottom:0}.est-table .kds-table tbody tr{cursor:pointer}.est-table .kds-table tbody tr:last-child td{border-bottom:none}.cell-2l b{font-weight:var(--weight-medium);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.cell-2l span{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.est-owner-cell{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--color-text-secondary);display:inline-flex}.est-owner-cell>span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.est-updated{font-size:var(--text-sm);color:var(--color-text-muted)}.est-rowmenu{top:50%;right:var(--space-2);z-index:2;position:absolute;transform:translateY(-50%)}.est-table .kds-table td.c-kebab .est-rowmenu{justify-content:flex-end;display:flex;position:relative;top:auto;right:auto;transform:none}.est-table .kds-table td.c-total .kds-money__cur{letter-spacing:var(--tracking-normal,normal);margin-right:.28em;font-size:1em}.est-rowmenu__btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);background:var(--color-surface-hover);box-shadow:0 0 0 1px var(--color-border);opacity:0;transition:opacity var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);place-items:center;display:grid}.est-table tbody tr:hover .est-rowmenu__btn,.est-table tbody tr:focus-within .est-rowmenu__btn{opacity:1}.est-rowmenu__btn:hover{color:var(--color-text)}.est-search{flex:none;width:264px}.est-search .kds-input{padding-right:34px}.est-search__clear{cursor:pointer;display:none}.est-search.has-value .est-search__clear{display:grid}.est-owner{flex:none;position:relative}.est-owner .kds-chip .kds-icon:last-child{margin-left:calc(-1 * var(--space-1));opacity:.7}.est-owner__pop{top:calc(100% + var(--space-2));z-index:var(--z-popover);min-width:224px;position:absolute;right:0}.est-menu__item--empty{color:var(--color-text-disabled);cursor:default}.est-menu__item--empty:hover{background:0 0}.est-menu__count{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.est-menu__all{color:var(--color-text-tertiary);display:inline-flex}.est-menu__all .kds-icon,.est-menu__all svg{width:16px;height:16px}.est-th-sort{padding-top:0;padding-bottom:0}.est-sort{align-items:center;gap:var(--space-1);font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;transition:color var(--dur-fast) var(--ease-standard);display:inline-flex}.est-sort:hover{color:var(--color-text)}.est-sort__ico{opacity:.4;transition:opacity var(--dur-fast) var(--ease-standard);display:inline-flex}.est-sort__ico .kds-icon,.est-sort__ico svg{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-standard)}.est-sort--active{color:var(--color-text)}.est-sort--active .est-sort__ico{opacity:.85}.est-sort--asc .est-sort__ico .kds-icon,.est-sort--asc .est-sort__ico svg{transform:rotate(180deg)}.est-th-sort.kds-num .est-sort{flex-direction:row-reverse}.list-filters{align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-2)) 0 var(--space-4);flex-wrap:wrap;display:flex}.list-filters__label{font-size:var(--text-xs);color:var(--color-text-muted)}.au-intro{margin-bottom:var(--space-4)}.au-intro .kds-alert__icon{color:var(--color-text-secondary)}.au-users .kds-table tbody tr{cursor:default}.au-users .kds-table tbody tr:hover td{background:var(--color-surface-hover)}.au-users .kds-table tbody tr.is-dim td .au-user,.au-users .kds-table tbody tr.is-dim td .kds-badge{opacity:.6}.au-user{align-items:center;gap:var(--space-3);min-width:0;display:flex}.au-user .kds-avatar{flex:none}.au-user .cell-2l{min-width:0}.au-user--mobile{display:none}.cell-2l b .au-you{font-weight:var(--weight-regular);color:var(--color-text-muted);font-size:var(--text-xs);display:inline}.au-actioncell{text-align:right}.au-rowmenu{display:inline-flex;position:relative}.au-actioncell .au-rowmenu>button{opacity:0;transition:var(--motion-hover)}.au-users .kds-table tbody tr:hover .au-rowmenu>button,.au-actioncell .au-rowmenu>button:focus-visible,.au-actioncell .au-rowmenu>button[aria-expanded=true]{opacity:1}.au-menu{z-index:var(--z-popover);text-align:left;min-width:216px;position:absolute;top:calc(100% + 4px);right:0}.au-menu .kds-menu__item[aria-disabled=true]{opacity:.42;cursor:not-allowed}.au-menu .kds-menu__item[aria-disabled=true]:hover{background:0 0}.au-menu-reason{padding:0 var(--space-3) var(--space-2) calc(var(--space-3) + 16px + var(--space-3));font-size:var(--text-2xs);color:var(--color-text-muted);line-height:var(--leading-snug);margin-top:-2px}.au-nopass{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-snug);display:flex}.au-nopass svg{width:14px;height:14px;color:var(--color-text-tertiary);flex:none;margin-top:1px}.au-nopass code{font-family:var(--font-mono);color:var(--color-text-secondary);font-size:.9em}.au-modal-sub{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal);margin-bottom:var(--space-4)}.au-modal-sub b{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.au-field+.au-field{margin-top:var(--space-4)}.au-field-err{font-size:var(--text-xs);color:var(--color-danger);margin-top:var(--space-1);align-items:center;gap:5px;display:flex}.au-roles{gap:var(--space-2);flex-direction:column;display:flex}.au-role{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;transition:var(--motion-hover);display:flex;position:relative}.au-role:hover{border-color:var(--neutral-400)}.au-role input{opacity:0;width:0;height:0;position:absolute}.au-role__dot{border:1.5px solid var(--color-border-strong);background:var(--color-surface);width:18px;height:18px;transition:var(--motion-hover);border-radius:50%;flex:none;margin-top:1px}.au-role input:checked~.au-role__dot{border:5px solid var(--color-primary)}.au-role.is-selected{border-color:var(--color-primary);background:var(--color-primary-subtle)}.au-role:focus-within{box-shadow:var(--shadow-focus)}.au-role__body{flex-direction:column;min-width:0;display:flex}.au-role__name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.au-role__cap{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-snug);margin-top:2px}.au-role.is-disabled{opacity:.5;cursor:not-allowed}.au-role.is-disabled:hover{border-color:var(--color-border-strong)}@media (max-width:720px){.au-users{background:0 0;border:0;border-radius:0;overflow:visible}.au-users .kds-table{display:block}.au-users .kds-table colgroup,.au-users .kds-table thead{display:none}.au-users .kds-table tbody{gap:var(--space-3);display:grid}.au-users .kds-table tbody tr{grid-template-columns:minmax(0, 1fr) auto var(--tap-min);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-areas:"identity role action";align-items:center;min-width:0;min-height:72px;display:grid}.au-users .kds-table tbody td{border:0;min-width:0;height:auto;padding:0}.au-users .kds-table tbody td:first-child{padding-left:var(--space-4);grid-area:identity}.au-user--desktop{display:none}.au-user--mobile{width:100%;min-height:var(--tap-min);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.au-user--mobile:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.au-users .au-rolecell{padding-left:var(--space-3);grid-area:role;justify-self:start}.au-users .au-statuscell,.au-users .au-datecell{display:none}.au-users .au-actioncell{padding-right:var(--space-1);grid-area:action;justify-content:center;align-self:stretch;align-items:center;display:flex}.au-actioncell .au-rowmenu>button{opacity:1}.au-menu{top:calc(50% + (var(--tap-min) / 2) + 4px)}.modal:has(.au-user-form){max-height:calc(100dvh - var(--space-6));flex-direction:column;display:flex;overflow:hidden}.modal-body:has(>.au-user-form){min-height:0;overflow-y:auto}.au-user-form .user-form-actions{bottom:calc(-1 * var(--sp-6));z-index:1;margin-inline:calc(-1 * var(--sp-6));margin-bottom:calc(-1 * var(--sp-6));padding:var(--space-4) var(--sp-6) var(--sp-6);border-top:1px solid var(--color-border);background:var(--color-surface);position:sticky}}.pt-sections{gap:var(--space-8);flex-direction:column;display:flex}.pt-section__head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.pt-section__titles{min-width:0}.pt-section__title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text)}.pt-section__sub{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px}.pt-table{overflow:auto}.pt-table .kds-table{min-width:620px}.pt-table col.pt-c-num{width:148px}.pt-table col.pt-c-set{width:264px}.pt-table col.pt-c-used{width:132px}.pt-table .kds-table tbody tr.is-static{cursor:default}.pt-chipcell{padding-top:var(--space-2);padding-bottom:var(--space-2)}.pt-chiprow{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.pt-chip{gap:5px;max-width:100%}.pt-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pt-chip b{color:var(--color-text);font-weight:var(--weight-medium)}.pt-chip--more{height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);border:1px dashed var(--color-border-strong);font-size:var(--text-xs);color:var(--color-text-muted);background:0 0;align-items:center;display:inline-flex}.pt-chip--none{color:var(--color-text-muted);font-style:italic}.pt-table .kds-table tbody tr.is-static:hover{background:0 0}.pt-num-cell{color:var(--color-text);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.pt-used{font-size:var(--text-sm)}.pt-used b{font-weight:var(--weight-medium);color:var(--color-text)}.pt-row-active td{background:var(--color-primary-subtle)}.pt-table .pt-emptycell{cursor:default;height:auto;padding:0}.pt-table tbody tr:has(.pt-emptycell){cursor:default}.pt-table tbody tr:has(.pt-emptycell):hover{background:0 0}.pt-globalcard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-4);flex-direction:column;max-width:420px;display:flex}.pt-globalcard .kds-field{margin:0}.pt-globalcard__foot{justify-content:flex-end;display:flex}.pt-overlay{z-index:var(--z-drawer);justify-content:flex-end;display:flex;position:fixed;inset:0}.pt-overlay__scrim{background:var(--color-overlay);animation:pt-fade var(--dur-fast) var(--ease-out-quart);position:absolute;inset:0}.pt-panel{z-index:1;width:440px;animation:pt-slide var(--dur-base) var(--ease-out-quart);position:relative}@keyframes pt-fade{0%{opacity:0}to{opacity:1}}@keyframes pt-slide{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.pt-pctfield{position:relative}.pt-pctfield__suffix{right:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);pointer-events:none;font-variant-numeric:tabular-nums;position:absolute;top:50%;transform:translateY(-50%)}.pt-pctfield .kds-input{padding-right:30px}.pt-aedfield{position:relative}.pt-aedfield__prefix{left:var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.pt-aedfield .kds-input{text-align:right;font-variant-numeric:tabular-nums;padding-left:42px}.pt-fieldrow{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.pt-consequence{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-1);padding:var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-normal);display:flex}.pt-consequence__icon{color:var(--color-text-muted);flex:none;margin-top:1px;display:inline-flex}.pt-consequence__icon svg{width:15px;height:15px}.pt-consequence b{color:var(--color-text);font-weight:var(--weight-medium)}.pt-danger{margin-top:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.pt-archive{cursor:pointer;color:var(--color-danger);font-weight:var(--weight-medium);font-size:var(--text-sm);background:0 0;border:none;padding:0}.pt-archive:disabled{color:var(--color-text-disabled);cursor:not-allowed}.pt-archive.is-armed{text-underline-offset:2px;text-decoration:underline}.pt-danger .kds-hint{margin-top:var(--space-1)}.pt-field-err{font-size:var(--text-xs);color:var(--color-danger);margin-top:var(--space-1);align-items:center;gap:5px;display:flex}.pt-field-err svg{flex:none;width:14px;height:14px}.pt-drawer-error{top:calc(-1 * var(--space-5));z-index:2;align-items:flex-start;gap:var(--space-2);margin:calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) 0;padding:var(--space-3) var(--space-5);background:var(--color-danger-bg);border-bottom:1px solid color-mix(in oklab, var(--color-danger) 24%, transparent);color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal);display:flex;position:sticky}.pt-drawer-error:focus{box-shadow:inset 0 0 0 2px var(--color-danger);outline:none}.pt-drawer-error__icon{color:var(--color-danger);flex:none;margin-top:1px}.pt-drawer-error__copy{flex-direction:column;gap:2px;min-width:0;display:flex}.pt-drawer-error__copy strong{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.pt-drawer-error__copy>span{overflow-wrap:anywhere}.pt-editrow--error .kds-input{border-color:var(--color-danger)}.pt-editrow--error .kds-input:focus{box-shadow:0 0 0 2px color-mix(in oklab, var(--color-danger) 24%, transparent)}.pt-editblock__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.pt-editblock__head .kds-label{margin:0}.pt-editlist{gap:var(--space-2);flex-direction:column;display:flex}.pt-editlist--empty{font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-2) 0}.pt-editrow{align-items:center;gap:var(--space-2);grid-template-columns:1fr auto auto;display:grid}.pt-editrow .pt-pctfield{flex:none;width:96px}.pt-editrow .pt-name-input{min-width:0}.pt-editrow__rm{cursor:pointer;border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-muted);transition:var(--motion-hover);background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.pt-editrow__rm:hover{color:var(--color-danger);background:var(--color-surface-hover)}.pt-editrow__rm svg{width:16px;height:16px}.pt-editrow--band{grid-template-columns:1fr auto auto}.pt-bandrange{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.pt-bandrange .kds-input{text-align:right;font-variant-numeric:tabular-nums;width:84px;padding-left:var(--space-2);padding-right:var(--space-2);flex:none}.pt-bandrange__aed{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:.04em;color:var(--color-text-tertiary)}.pt-bandrange__dash{color:var(--color-text-muted)}.pt-addrow{display:flex}.doc-head{margin-bottom:var(--space-5)}.doc-head__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.doc-head__meta{gap:var(--space-5);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.doc-head__meta b{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.doc-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.doc-col{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.doc-rail{gap:var(--space-5);top:calc(var(--topbar-h) + var(--space-6));flex-direction:column;display:flex;position:sticky}.stat-row{gap:var(--space-8);flex-wrap:wrap;display:flex}@media (max-width:1024px){.doc-grid{grid-template-columns:1fr}.doc-rail{position:static}}.eo-boqsum td{height:auto;padding:var(--space-3) var(--space-4)}.eo-boqsum tr:last-child td{border-bottom:none}.eo-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);padding:var(--space-4)}.eo-preview__head{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-divider);display:flex}.eo-preview__head svg{width:16px;height:16px;color:var(--color-primary-text)}.eo-preview__head b{color:var(--color-text)}.eo-preview__ref{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin-left:auto}.eo-preview__project{margin-top:var(--space-3);font-weight:var(--weight-medium);color:var(--color-text);line-height:var(--leading-snug)}.eo-preview__client{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px}.eo-preview__total{margin-top:var(--space-3);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-text)}.eo-preview__foot{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.eo-preview__link{align-items:center;gap:var(--space-2);width:100%;margin-top:var(--space-3);cursor:pointer;text-align:left;font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-link);background:0 0;border:0;padding:0;display:flex}.eo-preview__link:hover{text-decoration:underline}.eo-preview__link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.eo-preview__link svg:last-child{color:var(--color-text-muted);margin-left:auto}.eo-versions{gap:var(--space-2);flex-direction:column;display:flex}.eo-vrow{align-items:center;gap:var(--space-2);display:flex}.eo-vrow .kds-version{justify-content:center;min-width:46px}.eo-vrow__meta{font-size:var(--text-xs);color:var(--color-text-muted)}.eo-hint{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-divider);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-snug);display:flex}.eo-hint svg{flex:none;width:12px;height:12px;margin-top:2px}.eo-showall{margin-top:var(--space-3);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-link);background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.eo-showall:hover{text-decoration:underline}.eo-vmore{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.eo-vmore:hover .eo-vrow__meta{color:var(--color-text)}.eo-activity-modal{max-height:60vh;overflow-y:auto}.eo-enter{animation:eoEnter var(--duration-md,.2s) var(--ease,cubic-bezier(.4, 0, .2, 1))}@keyframes eoEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.eo-enter{animation:none}}.ne-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 380px;align-items:start;display:grid}.ne-main{gap:var(--space-5);flex-direction:column;display:flex}.ne-side{gap:var(--space-5);top:calc(var(--topbar-h) + var(--space-6));flex-direction:column;display:flex;position:sticky}.ne-cards{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.ne-card{gap:var(--space-3);min-width:0;padding:var(--space-4);cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:var(--motion-hover);flex-direction:column;display:flex;position:relative}.ne-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.ne-card.is-selected{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);background:var(--color-primary-subtle)}.ne-card__input{opacity:0;width:0;height:0;position:absolute}.ne-card__input:focus-visible+.ne-card__check{box-shadow:var(--shadow-focus)}.ne-card__check{top:var(--space-4);right:var(--space-4);border:1.5px solid var(--color-border-strong);background:var(--color-surface);width:18px;height:18px;transition:var(--motion-hover);border-radius:50%;place-items:center;display:grid;position:absolute}.ne-card__check svg{width:11px;height:11px;color:var(--color-on-primary);opacity:0;stroke-width:3px}.ne-card.is-selected .ne-card__check{background:var(--color-primary);border-color:var(--color-primary)}.ne-card.is-selected .ne-card__check svg{opacity:1}.ne-card__top{align-items:center;gap:var(--space-2);padding-right:var(--space-6);display:flex}.ne-card__name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ne-card__chips{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.ne-chip{height:24px;padding:0 var(--space-2);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;line-height:22px;display:inline-block;overflow:hidden}.ne-chip--more{color:var(--color-text-muted)}.ne-card__noset{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}.ne-card__foot{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.ne-card__dot{opacity:.6}.ne-preview__note{align-items:flex-start;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-4);line-height:var(--leading-snug);display:flex}.ne-preview__note svg{width:14px;height:14px;color:var(--color-primary-text);flex:none;margin-top:1px}.ne-preview__sections{gap:var(--space-3);flex-direction:column;display:flex}.ne-sec{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle)}.ne-sec__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.ne-sec__name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.ne-sec__count{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.ne-sec__rows{flex-direction:column;gap:6px;display:flex}.ne-sec__bar{height:8px}.ne-preview__total{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:var(--weight-medium);flex-direction:column;gap:2px;display:flex}.ne-preview__foot-note{color:var(--color-text-muted);font-weight:var(--weight-regular)}.ne-preview__empty{text-align:center;padding:var(--space-4) var(--space-2)}.ne-preview__empty-art{width:40px;height:40px;margin:0 auto var(--space-3);border-radius:var(--radius-lg);background:var(--color-primary-subtle);color:var(--color-primary-text);place-items:center;display:grid}.ne-preview__empty-art svg{width:20px;height:20px}.ne-preview__empty-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.ne-preview__empty-desc{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1);line-height:var(--leading-normal)}.ne-field+.ne-field{margin-top:var(--space-4)}.ne-details-grid{gap:var(--space-4);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.ne-details-grid .ne-field+.ne-field{margin-top:0}.ne-details-grid .ne-field--span-2{grid-column:span 2}.ne-details-grid .ne-field--span-3{grid-column:span 3}.ne-details-grid .ne-field--span-4{grid-column:span 4}.ne-details-grid .ne-field--span-6{grid-column:span 6}.ne-details-hint{margin-top:var(--space-4)}.ne-field.is-error .kds-label{color:var(--color-danger)}.ne-field.is-error .kds-input{border-color:var(--color-danger)}.ne-err{margin-top:2px}.ne-err svg{flex:none;width:13px;height:13px}.ne-assign{position:relative}.ne-assign__trigger{text-align:left;cursor:pointer}.ne-assign__trigger.is-empty{color:var(--color-text-muted)}.ne-assign__trigger:disabled{color:var(--color-text-muted);cursor:default;background:var(--color-surface-sunken)}.ne-assign__pop{z-index:var(--z-popover);max-height:260px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.ne-dup{display:block}.ne-dup__card{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-right:var(--space-8);background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);display:flex;position:relative}.ne-dup__icon{border-radius:var(--radius-md);background:var(--color-warning-bg);width:28px;height:28px;color:var(--color-warning);flex:none;place-items:center;display:grid}.ne-dup__icon svg{width:15px;height:15px}.ne-dup__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ne-dup__title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.ne-dup__match{align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-snug);flex-wrap:wrap;display:flex}.ne-dup__ref{font-weight:var(--weight-semibold);color:var(--color-text)}.ne-dup__dot{opacity:.5}.ne-dup__proj{color:var(--color-text-secondary)}.ne-dup__meta{color:var(--color-text-muted)}.ne-dup__actions{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.ne-dup__more{font-size:var(--text-xs);color:var(--color-primary-text);align-self:center;text-decoration:none}.ne-dup__more:hover{text-decoration:underline}.ne-dup__dismiss{top:var(--space-2);right:var(--space-2);cursor:pointer;width:24px;height:24px;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:var(--motion-hover);background:0 0;border:none;place-items:center;display:grid;position:absolute}.ne-dup__dismiss:hover{background:var(--color-surface-hover);color:var(--color-text)}.ne-dup__dismiss svg{width:14px;height:14px}.ne-foot{z-index:var(--z-sticky);justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--color-border);background:var(--color-canvas);display:flex;position:sticky;bottom:0}@media (max-width:1024px){.ne-grid{grid-template-columns:1fr}.ne-side{position:static}.ne-cards{grid-template-columns:1fr}.ne-details-grid .ne-field{grid-column:span 6}.ne-details-grid .ne-field--span-6{grid-column:span 12}}@media (max-width:640px){.ne-details-grid .ne-field{grid-column:span 12}}.boq-addrow td{border-bottom:none;padding:0}.boq-addrow .kds-boq__add{background:0 0;border:0;height:40px;font-family:inherit}.boq-addrow .kds-boq__add:hover{background:var(--color-surface-hover)}.boq-addrow--section td{border-top:1px solid var(--color-border)}.boq-addrow--section .kds-boq__add,.boq-addrow--template .kds-boq__add{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.boq-empty{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-10) var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-sunken);text-align:center;flex-direction:column;display:flex}.boq-empty .kds-empty__actions{justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.boq-empty .kds-empty__actions svg{width:auto;height:auto;color:inherit;margin-bottom:0}.send-head{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.send-head__titles{flex:1;min-width:0}.send-head .page-sub{margin-top:4px}.send-head .page-sub b{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.send-head .kds-version{flex:none;margin-top:7px}.send-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.send-review-warning{grid-column:1/-1}.send-col{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.send-preview{top:calc(var(--topbar-h) + var(--space-6));position:sticky}.send-sent-note{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-snug);display:flex}.send-sent-note__icon{color:var(--color-text-muted);flex:none;margin-top:1px}.send-sent-note__icon svg{width:15px;height:15px}.send-sent-note b{color:var(--color-text);font-weight:var(--weight-medium)}.send-fields{gap:var(--space-5);flex-direction:column;display:flex}.send-label-row{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.send-label-row .kds-label{margin-bottom:0}.send-cc-toggle{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;border-radius:var(--radius-sm);transition:var(--motion-hover);background:0 0;border:none;align-items:center;gap:5px;margin:-2px -4px;padding:2px 4px;display:inline-flex}.send-cc-toggle:hover{color:var(--color-primary-text)}.send-cc-toggle svg{width:13px;height:13px}.send-cc-toggle--hide:hover{color:var(--color-text)}.send-cc-field[hidden]{display:none}.send-recip{align-items:center;gap:var(--space-2);min-height:var(--control-h-md);padding:5px var(--space-2);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:var(--motion-hover);cursor:text;flex-wrap:wrap;display:flex}.send-recip:hover{border-color:var(--neutral-400)}.send-recip:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.send-recip #recipChips{display:contents}.send-chip{height:26px}.send-recip__input{min-width:140px;height:28px;padding:0 var(--space-1);color:var(--color-text);font-size:var(--text-base);background:0 0;border:none;outline:none;flex:1}.send-recip__input::placeholder{color:var(--color-text-muted)}.send-chip-err svg{flex:none;width:13px;height:13px}.send-chip-err[hidden]{display:none}.send-toggles{gap:var(--space-4);flex-direction:column;display:flex}.send-attach{align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm)}.send-attach .kds-check__box{margin-top:1px}.send-attach__label{color:var(--color-text);font-weight:var(--weight-medium);line-height:var(--leading-snug)}.send-attach__label .kds-hint{font-weight:var(--weight-regular);margin-top:2px;display:block}.send-copyself{padding-top:var(--space-4);border-top:1px solid var(--color-divider)}.send-actions{gap:var(--space-4);flex-direction:column;display:flex}.send-actions__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.send-actions__row--sub{gap:var(--space-2) var(--space-3);margin-top:calc(-1 * var(--space-2))}.send-test{color:var(--color-text-secondary)}.send-test__hint{font-size:var(--text-xs);color:var(--color-text-muted)}.send-consequence{align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-snug);display:flex}.send-consequence svg{flex:none;width:14px;height:14px;margin-top:2px}.send-consequence b{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.send-copy{cursor:pointer}.send-copy__icon{display:inline-flex}.send-copy.is-copied{color:var(--color-primary-text);border-color:color-mix(in oklab, var(--color-primary-text) 32%, transparent);background:var(--color-primary-subtle)}.send-copy.is-copied .send-copy__icon{color:var(--color-primary-text)}.send-history__list{flex-direction:column;display:flex}.send-history__row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-divider);display:flex}.send-history__row:first-child{border-top:none}.send-history__icon{color:var(--color-text-muted);flex:none;display:inline-flex}.send-history__icon svg{width:15px;height:15px}.send-history__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.send-history__to{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);word-break:break-word}.send-history__meta{font-size:var(--text-xs);color:var(--color-text-muted)}.send-history__row .kds-version{flex:none}.send-mail{flex-direction:column;display:flex}.send-mail__chrome{gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-divider);flex-direction:column;display:flex}.send-mail__from{align-items:center;gap:var(--space-3);display:flex}.send-mail__brand{border:1px solid var(--color-border);background:#fff}.send-mail__brand svg{width:22px;height:22px}.send-mail__fromtext b{font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:1.3;display:block}.send-mail__fromtext span{font-size:var(--text-xs);color:var(--color-text-muted)}.send-mail__headrow{gap:var(--space-3);font-size:var(--text-sm);display:flex}.send-mail__k{width:52px;color:var(--color-text-muted);flex:none}.send-mail__tos{gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.send-mail__to{color:var(--color-text);font-weight:var(--weight-medium)}.send-mail__to--empty{color:var(--color-text-muted);font-style:italic;font-weight:var(--weight-regular)}.send-mail__subj{color:var(--color-text);font-weight:var(--weight-semibold);min-width:0}.send-mail__body{padding:var(--space-4) 0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);white-space:pre-wrap;word-break:break-word}.send-mail__noattach{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-xs)}.send-mail__attach{padding-top:var(--space-1);gap:var(--space-3);flex-direction:column;display:flex}.send-doc{gap:var(--space-1);text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);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;display:flex}.send-doc:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.send-doc:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.send-doc__details{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.send-doc__details .kds-hint{min-width:0}.send-doc__open{align-items:center;gap:var(--space-2);color:var(--color-primary-text);font-size:var(--text-xs);font-weight:var(--weight-medium);flex:none;display:inline-flex}.send-doc__open svg{flex:none}.send-doc--sample .send-doc__cta--ghost{color:var(--color-primary-text);border:1px solid var(--color-border-strong);background:0 0}.send-doc--sample .send-doc__cta--ghost svg{color:var(--color-primary-text)}.send-mail__selfcopy{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-divider);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.send-mail__selfcopy svg{flex:none;width:13px;height:13px}.send-mail__selfcopy b{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.send-doc__flag{font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:5px;display:inline-flex}.send-doc__flag svg{width:12px;height:12px}.send-doc__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text);line-height:var(--leading-snug)}.send-doc__meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.send-doc__meta .kds-version{height:20px}.send-doc__total{margin-top:var(--space-1)}.send-doc__total .kds-money{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.send-doc__total .kds-money__cur,.send-doc__total .kds-money__fils{color:var(--color-text-muted);font-size:.6em}.send-doc__cta{margin-top:var(--space-3);align-self:flex-start;align-items:center;gap:var(--space-2);height:var(--control-h-sm);padding:0 var(--space-4);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-medium);display:inline-flex}.send-doc__cta svg{width:15px;height:15px}.send-closed{max-width:560px;margin:var(--space-8) auto 0}.send-closed__head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.send-closed__title{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.send-closed__body{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.send-closed__body b{color:var(--color-text);font-weight:var(--weight-medium)}.send-closed__actions{margin-top:var(--space-5)}@media (max-width:1024px){.send-grid{grid-template-columns:1fr}.send-preview{position:static}}.an-eyebrow{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-bottom:3px;display:block}.an-overview{margin-bottom:var(--space-5);border-color:var(--color-border-subtle);box-shadow:var(--shadow-xs);padding:0;overflow:hidden}.an-overview__head{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-subtle);background:color-mix(in oklab, var(--color-primary-subtle) 36%, var(--color-surface));display:flex}.an-overview__head h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin:0}.an-risk{align-items:center;gap:var(--space-3);min-width:246px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.an-risk__icon{border-radius:var(--radius-md);background:var(--color-success-bg);width:30px;height:30px;color:var(--color-success);flex:none;place-items:center;display:grid}.an-risk>span:not(.an-risk__icon){align-items:baseline;gap:0 var(--space-2);grid-template-columns:auto auto;display:grid}.an-risk b{font-size:var(--text-xl);font-variant-numeric:tabular-nums;grid-row:1/3}.an-risk small{color:var(--color-text-secondary);font-size:var(--text-xs)}.an-risk em{color:var(--color-text-muted);font-size:var(--text-2xs);white-space:nowrap;margin-left:auto;font-style:normal}.an-risk--danger{border-color:color-mix(in oklab, var(--color-danger) 25%, var(--color-border))}.an-risk--danger .an-risk__icon{background:var(--color-danger-bg);color:var(--color-danger)}.an-risk--danger b{color:var(--color-danger)}.an-kpis{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.an-kpi{min-width:0;padding:var(--space-5) var(--space-6);text-align:left;color:inherit;border-left:1px solid var(--color-border-subtle);transition:background var(--dur-fast) var(--ease-standard);flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:relative}.an-kpi:first-child{border-left:0}.an-kpi:hover{background:var(--color-surface-hover)}.an-kpi:focus-visible{z-index:1;outline:2px solid var(--color-focus-ring);outline-offset:-2px}.an-kpi__top{align-items:center;gap:var(--space-2);min-width:0;display:flex}.an-kpi__top>svg{color:var(--color-text-muted);flex:none}.an-kpi .kds-stat__value{text-overflow:ellipsis;width:100%;font-size:var(--text-xl);overflow:hidden}.an-kpi__sub{max-width:calc(100% - 18px);color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.an-kpi__arrow{right:var(--space-5);bottom:var(--space-5);color:var(--color-text-disabled);transition:var(--motion-hover);position:absolute}.an-kpi:hover .an-kpi__arrow{color:var(--color-text);transform:translate(2px)}.an-kpi--accepted .an-kpi__top>svg{color:var(--color-success)}.an-section{margin-bottom:var(--space-5);min-width:0}.an-section .kds-card__header{align-items:flex-end}.an-section .kds-card__header .kds-card__title{font-size:var(--text-md);display:block}.an-primary-grid{gap:var(--space-5);grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);display:grid}.an-grid{gap:var(--space-5);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);display:grid}.an-count{min-width:24px;height:24px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-danger-bg);color:var(--color-danger);font-size:var(--text-xs);font-weight:var(--weight-semibold);place-items:center;display:grid}.an-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-top:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:inherit;text-align:left;transition:background var(--dur-instant) var(--ease-standard);display:flex}.an-row:first-of-type{border-top-color:#0000}.an-row:hover{background:var(--color-surface-hover)}.an-row>svg:last-child{width:14px;height:14px;color:var(--color-text-disabled);flex:none}.an-row__icon{border-radius:var(--radius-md);background:var(--color-surface-sunken);width:30px;height:30px;color:var(--color-text-muted);flex:none;place-items:center;display:grid}.an-row--warn .an-row__icon{background:var(--color-warning-bg);color:var(--color-warning)}.an-row--danger .an-row__icon{background:var(--color-danger-bg);color:var(--color-danger)}.an-row__icon--success{background:var(--color-success-bg);color:var(--color-success)}.an-row__body{min-width:0;font-size:var(--text-sm);flex:1}.an-row__body b,.an-row__body small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.an-row__body b{font-weight:var(--weight-medium)}.an-row__body small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.an-row__meta{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.an-quiet{padding:var(--space-5) 0;color:var(--color-text-muted);font-size:var(--text-sm)}.an-clear{align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success);display:flex}.an-clear span{min-width:0}.an-clear b,.an-clear small{display:block}.an-clear b{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.an-clear small{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:2px}.an-stage{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) 0;color:inherit;text-align:left;grid-template-columns:82px minmax(80px,1fr) 150px;display:grid}.an-stage+.an-stage{border-top:1px solid var(--color-border-subtle)}.an-stage:hover .an-stage__label{color:var(--color-text)}.an-stage__label{color:var(--color-text-secondary);font-size:var(--text-sm);transition:var(--motion-hover)}.an-stage__track{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:8px;display:block;overflow:hidden}.an-stage__bar{border-radius:var(--radius-pill);background:var(--neutral-300);height:100%;display:flex;overflow:hidden}.an-stage__seg{min-width:2px}.an-stage__seg--won.kds-meter__seg--margin{background:var(--color-success)}.an-stage__value{font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.an-stage__value em{color:var(--color-text-muted);font-style:normal}.an-internal{margin:var(--space-1) 0 var(--space-5)}.an-internal__head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.an-policy{max-width:520px;color:var(--color-text-secondary);font-size:var(--text-xs)}.an-margins tbody tr:hover td{background:var(--color-surface-hover)}.an-thin{color:var(--color-danger);font-weight:var(--weight-medium)}.an-thin svg{vertical-align:-1px;width:12px;height:12px}@media (max-width:1180px){.an-overview__head{align-items:flex-start}.an-risk{min-width:0}.an-risk em{display:none}.an-kpis{grid-template-columns:repeat(2,1fr)}.an-kpi:nth-child(3){border-top:1px solid var(--color-border-subtle);border-left:0}.an-kpi:nth-child(4){border-top:1px solid var(--color-border-subtle)}.an-primary-grid,.an-grid{grid-template-columns:1fr}}@media (max-width:640px){.an-overview__head{padding:var(--space-4);display:grid}.an-risk{width:100%}.an-kpis{grid-template-columns:1fr}.an-kpi{padding:var(--space-4);border-top:1px solid var(--color-border-subtle);border-left:0}.an-kpi:first-child{border-top:0}.an-kpi__arrow{right:var(--space-4);bottom:var(--space-4)}.an-primary-grid{display:block}.an-stage{grid-template-columns:72px minmax(60px,1fr)}.an-stage__value{text-align:left;grid-column:2}.an-row{padding-inline:0}.an-row__meta{display:none}}.auth{background:var(--color-canvas);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px;padding:var(--space-8)}.auth-brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-7);flex-direction:column;display:flex}.auth-brand__mark{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;place-items:center;width:44px;height:44px;display:grid}.auth-brand__word{text-align:center}.auth-brand__word h1{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin:0}.auth-brand__word p{font-size:var(--text-sm);color:var(--color-text-muted);margin:2px 0 0}.auth-pw-toggle{cursor:pointer;color:var(--color-text-muted);padding:0 var(--space-3);background:0 0;border:0;place-items:center;display:grid}.auth-pw-toggle:hover{color:var(--color-text)}.smp-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.smp-search{flex:none;width:300px;max-width:100%}.smp-statusfilter{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.smp-chips{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;min-width:0;display:flex}.smp-table{overflow:auto}.smp-table .kds-table{min-width:760px}.smp-table col.smp-c-cat{width:156px}.smp-table col.smp-c-supp{width:148px}.smp-table .smp-cat,.smp-table .smp-supp{color:var(--color-text-secondary);font-size:var(--text-sm)}.smp-table .smp-date{font-size:var(--text-sm)}.smp-table .smp-code{font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-wide);display:inline}.smp-table .smp-usedbtn{font:inherit;color:inherit;cursor:pointer;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);background:0 0;border:0;padding:0;display:inline}.smp-table .smp-usedbtn:hover,.smp-table .smp-usedbtn:focus-visible{color:var(--color-primary-text);text-decoration-color:currentColor}.smp-usedin{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.smp-usedin__link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text);transition:var(--motion-hover);text-decoration:none;display:flex}.smp-usedin__link:hover{border-color:var(--color-border);background:var(--color-surface-sunken)}.smp-usedin__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);flex:1;overflow:hidden}.smp-usedin__ref{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.smp-usedin__link svg{color:var(--color-text-muted);flex:none}.smp-table .smp-emptycell{cursor:default;height:auto;padding:0}.smp-table tbody tr:has(.smp-emptycell){cursor:default}.smp-table tbody tr:has(.smp-emptycell):hover{background:0 0}.smp-overlay{z-index:var(--z-drawer);justify-content:flex-end;display:flex;position:fixed;inset:0}.smp-overlay__scrim{background:var(--color-overlay);animation:smp-fade var(--dur-fast) var(--ease-out-quart);position:absolute;inset:0}.smp-panel{z-index:1;width:440px;max-width:100%;animation:smp-slide var(--dur-base) var(--ease-out-quart);position:relative}.smp-panel .kds-panel__body>*{flex:none}@keyframes smp-fade{0%{opacity:0}to{opacity:1}}@keyframes smp-slide{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.smp-codeinput{font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-wide)}.smp-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.smp-card__head{padding:var(--space-4);border-bottom:1px solid var(--color-divider)}.smp-card__eyebrow{color:var(--color-primary-text);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-bottom:2px;display:block}.smp-card__head strong{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:block}.smp-card__head p{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-normal);margin:2px 0 0}.smp-card__grid{gap:var(--space-3);padding:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.smp-card__grid .kds-field{min-width:0;margin:0}.smp-card__full{grid-column:1/-1}.smp-number{font-variant-numeric:tabular-nums}.smp-money{position:relative}.smp-money .kds-input-group__prefix{left:var(--space-3);z-index:1;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.smp-money .kds-input{padding-left:46px}.smp-notes .kds-textarea{resize:vertical;width:100%;min-height:84px}.smp-spec-summary{color:var(--color-text-tertiary)!important}@media (max-width:32rem){.smp-card__grid{grid-template-columns:1fr}.smp-card__full{grid-column:auto}}.smp-combo{position:relative}.smp-combo .kds-combobox__pop{left:0;right:0;top:calc(100% + var(--space-1));z-index:var(--z-popover);margin-top:0;position:absolute}.smp-photos{gap:var(--space-2);flex-wrap:wrap;display:flex}.smp-photo{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-hover);flex:none;width:96px;height:96px;margin:0;position:relative;overflow:hidden}.smp-photo img{object-fit:cover;width:100%;height:100%;display:block}.smp-photo.is-primary{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.smp-photo__flag,.smp-photo__promote{padding:3px var(--space-1);text-align:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:#fff;background:#0009;border:0;position:absolute;bottom:0;left:0;right:0}.smp-photo__promote{cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-standard)}.smp-photo:hover .smp-photo__promote,.smp-photo__promote:focus-visible{opacity:1}.smp-photo__remove{top:var(--space-1);right:var(--space-1);border-radius:var(--radius-sm);cursor:pointer;color:#fff;opacity:0;width:22px;height:22px;transition:opacity var(--dur-fast) var(--ease-standard);background:#0000008c;border:0;place-items:center;display:grid;position:absolute}.smp-photo:hover .smp-photo__remove,.smp-photo__remove:focus-visible{opacity:1}.smp-photo-add{cursor:pointer;border:1px dashed var(--color-border);border-radius:var(--radius-md);width:96px;height:96px;color:var(--color-text-muted);font-size:var(--text-xs);transition:border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);background:0 0;flex:none;place-items:center;gap:2px;display:grid}.smp-photo-add:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-text)}.smp-photo-add:disabled{cursor:default;opacity:.6}.smp-danger{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.smp-archive{color:var(--color-danger);font-weight:var(--weight-medium)}.smp-archive:hover:not([disabled]){color:var(--color-danger)}.smp-archive.is-armed{text-underline-offset:2px;text-decoration:underline}.smp-danger .kds-hint{margin-top:var(--space-1)}.arch-note{margin-bottom:var(--space-4)}.arch-note .kds-alert__title{font-weight:var(--weight-semibold)}.arch-note__body{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:2px}.arch-table{--col-action:160px}.arch-table .kds-table tbody tr{cursor:default}.arch-table .arch-date{font-size:var(--text-sm)}.arch-table th.arch-c-act,.arch-table td.arch-c-act{text-align:right}.arch-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);padding-right:var(--space-1);white-space:nowrap;display:inline-flex}.arch-purge{width:34px;height:34px;color:var(--color-text-muted);flex:0 0 34px}.arch-purge:hover:not([disabled]){color:var(--color-danger);background:var(--color-danger-bg)}.arch-empty{border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.arch-scrim{z-index:var(--z-modal);background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:var(--space-4);place-items:center;display:grid;position:fixed;inset:0}.arch-echo{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);margin-bottom:var(--space-4);display:flex}.arch-echo b{color:var(--color-text)}.arch-echo__sub{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:1px}.arch-warn{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.arch-typelabel{margin-bottom:var(--space-2);display:block}.arch-typelabel b{font-variant-numeric:tabular-nums;color:var(--color-text)}.pending-cards,.arch-cards,.td-cards,.catalog-mobile-cards,.pt-cards,.boq-scroll-hint{display:none}.mobile-facts{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.mobile-facts div{min-width:0}.mobile-facts dt{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.mobile-facts dd{color:var(--color-text);font-size:var(--text-sm);overflow-wrap:anywhere;margin:2px 0 0}@media (max-width:720px){.sidebar-toggle,.topbar .btn-icon,.topbar-search{min-width:var(--tap-min);min-height:var(--tap-min)}.list-toolbar .kds-tabs{padding-inline:12px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 24px),#0000)}.pending-cards,.arch-cards,.td-cards,.catalog-mobile-cards,.pt-cards{gap:var(--space-3);flex-direction:column;display:flex}.pending-cards+*,.arch-cards+*{min-width:0}.pt-table>table,.card-body>.catalog-active-table{display:none}.est-table:has(>.pending-cards)>table{display:none}.est-table:has(>.arch-cards)>table{display:none}.card-body>.catalog-table:has(+.td-cards){display:none}.pending-card,.arch-card,.td-card,.catalog-mobile-card,.pt-card{min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:inherit}.pending-card__open,.catalog-mobile-card__open,.pt-card{text-align:left;width:100%}.pending-card__open{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:0 0 var(--space-3);display:flex}.pending-card .mobile-facts,.arch-card .mobile-facts,.td-card .mobile-facts,.catalog-mobile-card .mobile-facts{padding:var(--space-3) 0;border-top:1px solid var(--color-border-subtle)}.pending-card>.pending-actions{padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;justify-content:flex-start}.pending-card__panel{margin:var(--space-3) calc(-1 * var(--space-4)) calc(-1 * var(--space-4));border-top:1px solid var(--color-border)}.pending-card__panel .pending-panel{border-radius:0 0 var(--radius-lg) var(--radius-lg);min-width:0}.pending-card__panel .pending-panel__actions{flex-wrap:wrap}.arch-card__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.arch-card__head .cell-2l{min-width:0}.arch-card__head>strong{white-space:nowrap}.arch-card .arch-actions{width:100%;padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);justify-content:flex-end}.td-card__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.td-card__head>strong{overflow-wrap:anywhere;min-width:0}.td-card__actions{gap:var(--space-1);flex:none;display:flex}.td-card>.td-tags{padding-top:var(--space-2)}.catalog-mobile-card__open{align-items:flex-start;gap:var(--space-3);color:inherit;padding:0;display:flex}.catalog-mobile-card__open .catalog-thumb,.catalog-mobile-card__thumb{border-radius:var(--radius-md);flex:none;width:48px;height:48px}.catalog-mobile-card__thumb{background:var(--color-surface-sunken);color:var(--color-text-muted);place-items:center;display:grid}.catalog-mobile-card__identity{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.catalog-mobile-card__identity strong{overflow-wrap:anywhere}.catalog-mobile-card__identity>span:last-child{color:var(--color-text-muted);font-size:var(--text-xs)}.pt-table{overflow:visible}.pt-card{gap:var(--space-3);border:1px solid var(--color-border);cursor:pointer;flex-direction:column;display:flex}.pt-card:disabled{cursor:default;opacity:.7}.pt-card .pt-chiprow{gap:var(--space-2);flex-wrap:wrap;display:flex}.pt-card__open{justify-content:flex-end;align-items:center;gap:var(--space-1);color:var(--color-primary-text);font-size:var(--text-sm);font-weight:var(--weight-medium);display:flex}.an-kpis{grid-template-columns:1fr}.an-row{min-height:var(--tap-min);flex-wrap:wrap;align-items:flex-start}.an-row__body{flex-basis:calc(100% - 48px)}.an-row__meta{margin-left:28px}.an-stage{gap:var(--space-2);min-height:var(--tap-min);grid-template-columns:1fr auto}.an-stage__track{grid-area:2/1/auto/-1}.an-stage__value{grid-area:1/2}.an-internal,.an-section{min-width:0}.an-table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto}.an-table-scroll>.kds-table{min-width:560px}.boq-scroll-hint{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-snug);display:flex}.boq-scroll-hint svg{color:var(--color-primary-text);flex:none}.boq-grid:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}}.smp-catcode{margin-top:var(--space-3)}.smp-catcode .kds-input{text-transform:uppercase;width:96px}