:root{--bg:#f1f4f6;--panel:#fff;--panel-subtle:#f8fafb;--panel-muted:#f3f6f8;--surface-soft:var(--panel-subtle);--line:#cdd6df;--line-soft:#e5eaf0;--line-strong:#b8c2ce;--text:#111820;--ink:var(--text);--muted:#647180;--muted-strong:#465463;--accent:#0d6255;--accent-strong:#084b42;--accent-hover:#084b42;--accent-active:#063d36;--accent-weak:#e2f2ee;--accent-rgb:13, 98, 85;--brand:var(--accent);--danger:#b42318;--danger-weak:#fff1f0;--warn:#a15c00;--warn-weak:#fff7e6;--ok:#18864b;--ok-weak:#edf8f1;--info:#2563eb;--info-weak:#e8f1ff;--on-accent:#fff;--sidebar:#17212b;--sidebar-line:#ffffff24;--sidebar-width:276px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-xs:4px;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--font-family-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-base:14px;--line-height-body:1.5;--control-height-sm:32px;--control-height-md:36px;--control-height-lg:40px;--shadow-card:0 5px 16px #0f172a0a;--shadow-dialog:0 24px 70px #0f172a38;--shadow:0 18px 45px #0f172a2e;--focus-ring:0 0 0 3px #2563eb38;--transition-fast:.16s ease}
*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-family-ui);font-size:var(--font-size-base);line-height:var(--line-height-body);letter-spacing:0;margin:0}.ui-surface{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.ui-feedback{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);line-height:1.6}.ui-feedback.error{background:var(--danger-weak);color:var(--danger);border-color:#ffd1cc}.ui-feedback.success{background:var(--ok-weak);color:var(--ok);border-color:#cbe9d6}.ui-empty{background:var(--panel-subtle);border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--muted);padding:var(--space-3);line-height:1.6}button,input,select,textarea{font:inherit}button{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--on-accent);cursor:pointer;align-items:center;gap:var(--space-2);min-height:var(--control-height-md);padding:0 var(--space-3);transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast), transform .12s ease, filter var(--transition-fast);white-space:nowrap;justify-content:center;font-weight:650;display:inline-flex;position:relative;overflow:hidden;transform:translateZ(0)}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.secondary{background:var(--panel);border-color:var(--line);color:var(--muted-strong)}button.secondary:hover:not(:disabled){background:var(--panel-subtle);border-color:var(--line-strong);color:var(--text)}button.danger{background:var(--danger-weak);color:var(--danger);border-color:#f1b5af}button.danger:hover:not(:disabled){color:#8f1f16;background:#ffe3df;border-color:#e48d84}button:active:not(:disabled),.auth-button:active,.auth-link-button:active{filter:brightness(.96);transform:translateY(1px)scale(.985)}button:not(.secondary):not(.danger):active:not(:disabled),.auth-button:active{background:var(--accent-active);border-color:var(--accent-active)}button.interaction-confirmed:not(:disabled),.auth-button.interaction-confirmed,.auth-link-button.interaction-confirmed,[role=button].interaction-confirmed{animation:.72s ease-out interaction-confirmation}button.interaction-confirmed:not(:disabled):after,.auth-button.interaction-confirmed:after,.auth-link-button.interaction-confirmed:after{border-radius:inherit;content:"";pointer-events:none;background:radial-gradient(circle,#ffffffb8 0%,#fff0 64%);animation:.72s ease-out interaction-ripple;position:absolute;inset:-45%}button[aria-busy=true]{box-shadow:0 0 0 3px rgba(var(--accent-rgb), .18)}@keyframes interaction-confirmation{0%{box-shadow:0 0 #2563eb00}32%{box-shadow:0 0 0 4px #2563eb38,0 10px 22px #0f172a29}to{box-shadow:0 0 #2563eb00}}@keyframes interaction-ripple{0%{opacity:0;transform:scale(.4)}20%{opacity:.5}to{opacity:0;transform:scale(1.18)}}button:disabled{cursor:not-allowed;opacity:.48}button[aria-busy=true]:disabled{cursor:progress;opacity:.84}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2563eb38}input,select,textarea{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);min-height:var(--control-height-md);padding:6px var(--space-2);width:100%}textarea{resize:vertical;min-height:80px}input[type=file]{color:var(--muted-strong);padding:6px}label{color:var(--muted-strong);gap:var(--space-2);font-size:.75rem;font-weight:650;display:grid}h1,h2,p{margin:0}h1{font-size:1.375rem;line-height:1.25}h2{font-size:.9375rem;line-height:1.3}
.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);gap:var(--space-5);width:100%;max-width:520px;padding:28px;display:grid}.auth-header{gap:var(--space-2);display:grid}.auth-form{gap:var(--space-4);display:grid}.auth-form label{color:var(--muted-strong)}.auth-form button,.auth-button,.auth-link-button{width:100%;min-height:40px}.auth-form button:disabled{cursor:not-allowed;opacity:.52}.auth-loading{color:var(--muted-strong);align-items:center;gap:var(--space-2);font-weight:650;display:inline-flex}.terms-confirmation{border:1px solid var(--line);border-radius:var(--radius-sm);gap:var(--space-3);padding:var(--space-4);background:#f8fafc;display:grid}.terms-confirmation h2,.terms-confirmation h3{color:var(--text);margin:0}.terms-confirmation h2{font-size:.95rem}.terms-confirmation p{color:var(--muted-strong);font-size:.8125rem;line-height:1.65}.terms-scrollbox{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted-strong);gap:var(--space-3);max-height:176px;padding:var(--space-4);background:#fff;display:grid;overflow-y:auto}.terms-scrollbox:focus{outline:0;box-shadow:0 0 0 3px #12645629}.terms-scrollbox h3{font-size:.875rem}.terms-scrollbox ol{gap:var(--space-2);margin:0;padding-left:1.2rem;display:grid}.terms-scrollbox li{font-size:.8125rem;line-height:1.7}.terms-checkbox{color:var(--text);align-items:center;gap:10px;font-size:.875rem;font-weight:800;line-height:1.6;display:flex}.terms-checkbox input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:0;margin:0;padding:0}.terms-checkbox span{display:block}.auth-error{font-size:.8125rem}.auth-actions{color:var(--muted);text-align:center;font-size:.875rem;line-height:1.55}.auth-actions a{color:var(--accent);font-weight:700}.auth-actions .auth-button{color:#fff}.auth-actions.split{gap:var(--space-3);display:grid}.auth-button,.auth-link-button{border-radius:var(--radius-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast), transform .12s ease, filter var(--transition-fast);justify-content:center;align-items:center;padding:0 12px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.auth-button{background:var(--accent);border:1px solid var(--accent);color:#fff}.auth-link-button{border:1px solid var(--line);color:var(--muted-strong);background:#fff}.auth-link-button:hover{background:var(--panel-subtle);color:var(--text);border-color:#b8c2ce}.auth-help{color:var(--muted);margin-top:6px;font-size:.75rem;font-weight:600;display:block}.password-input-row{align-items:stretch;gap:var(--space-2);display:flex}.password-input-row input{flex:auto}.auth-form .password-visibility-button{flex:0 0 72px;width:auto;min-height:auto;padding:0 10px}.password-checklist{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted-strong);margin:calc(-1 * var(--space-2)) 0 0;background:#f8fafc;gap:4px;padding:10px 12px;font-size:.8125rem;list-style:none;display:grid}.password-checklist li.passed{color:var(--accent);font-weight:800}
.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);align-items:start;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#fff;gap:var(--space-5);height:100vh;padding:var(--space-5);border-right:1px solid #0f172a61;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.brand{color:#fff;align-items:center;gap:var(--space-2);text-align:left;justify-content:flex-start;width:100%;min-height:36px;font-size:1.0625rem;font-weight:750;display:flex}.brand-title{overflow-wrap:anywhere;white-space:normal}.stack{border-bottom:1px solid var(--sidebar-line);gap:var(--space-3);padding-bottom:var(--space-5);display:grid}.sidebar-create{justify-content:flex-start;min-height:42px}.sidebar-top-button{color:#0c4a6e;background:#7dd3fc;border-color:#bae6fd;justify-content:flex-start;width:100%;min-height:42px}.sidebar-top-button:hover:not(:disabled){color:#082f49;background:#38bdf8;border-color:#7dd3fc}.sidebar-menu{border-bottom:1px solid var(--sidebar-line);padding-bottom:var(--space-4);gap:6px;display:grid}.sidebar-menu button,.sidebar-menu a{border-radius:var(--radius-sm);color:#d7dee7;font:inherit;background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:8px;min-height:38px;padding:.62rem .75rem;text-decoration:none;display:inline-flex}.sidebar-menu button:hover:not(:disabled),.sidebar-menu a:hover,.sidebar-menu button.active,.sidebar-menu a.active{color:#fff;background:#ffffff1a;border-color:#ffffff2e}.sidebar-menu button.active,.sidebar-menu a.active{box-shadow:inset 3px 0 0 var(--accent)}.project-list-title{color:#d7dee7;justify-content:space-between;align-items:center;margin-bottom:-10px;font-size:.75rem;font-weight:750;display:flex}.project-list-title small{color:#aeb9c7;font-size:.6875rem;font-weight:650}.project-search{border-color:var(--sidebar-line);color:#fff;background:#ffffff14}.project-search::placeholder{color:#aeb9c7}.project-status-filter{border-color:var(--sidebar-line);color:#fff;background:#ffffff14;min-height:36px}.project-status-filter option{color:var(--text)}.project-list{flex:1;grid-auto-rows:max-content;align-content:start;gap:6px;min-height:0;display:grid;overflow:auto}.project{color:#fff;text-align:left;background:0 0;border-color:#0000;justify-content:stretch;align-items:start;gap:3px;min-height:74px;padding:10px;display:grid;position:relative}.project:hover:not(:disabled){background:#ffffff14;border-color:#0000}.project.active{color:#fff;background:#1264563d;border-color:#1264569e}.project.loading{background:#2563eb2e;border-color:#93c5fd8f;box-shadow:inset 0 0 0 1px #bfdbfe52,0 10px 20px #0f172a29}.project-loading-indicator{border-radius:var(--radius-pill);color:#dbeafe;background:#dbeafe2e;border:1px solid #bfdbfe61;align-items:center;gap:4px;min-height:22px;padding:0 7px;font-size:.625rem;font-weight:800;display:inline-flex;position:absolute;top:8px;right:8px}.project.loading .project-card-name{padding-right:70px}.project-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:750;line-height:1.35;overflow:hidden}.project small{color:#aeb9c7;font-size:.75rem;font-weight:500}.project.active small{color:#d4e4e1}.project-card-meta{color:#cbd5e1;font-size:.75rem;line-height:1.35}.project-status-pill{border-radius:var(--radius-pill);color:#bdeee4;background:#12645629;border:1px solid #5eead442;align-self:start;width:fit-content;margin-top:4px;padding:3px 7px;font-size:.6875rem;font-weight:700}.project.active .project-status-pill{color:#d7fff7;background:#5eead421;border-color:#5eead48c}.sidebar-account{border-top:1px solid var(--sidebar-line);gap:var(--space-3);padding-top:var(--space-4);margin-top:auto;display:grid}.account-summary{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) 34px;display:grid}.account-meta{gap:3px;min-width:0;display:grid}.account-company,.account-email{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-company{color:#fff;font-size:.875rem}.account-email{color:#cbd5e1;font-size:.75rem}.account-settings-button{border-color:var(--sidebar-line);color:#d7dee7;background:#ffffff0f;width:34px;min-height:34px;padding:0}.account-settings-button:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff47}.logout-button{color:#cbd5e1;background:0 0;border-color:#0000;justify-content:flex-start;min-height:32px;padding:0;font-size:.8125rem}.logout-button:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff3d}.project-directory-view{gap:var(--space-4);display:grid}.project-directory-panel{gap:var(--space-4);display:grid;overflow-x:auto}.project-directory-toolbar{align-items:end;gap:var(--space-3);grid-template-columns:minmax(150px,.8fr) minmax(220px,1fr) minmax(220px,1fr) auto;display:grid}.project-directory-toolbar label{color:var(--muted)}.project-directory-toolbar label span{align-items:center;gap:6px;display:inline-flex}.project-directory-toolbar label svg{color:var(--accent)}.project-directory-clear{min-height:36px}.project-directory-summary{color:var(--muted);align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.project-directory-summary strong{color:var(--text);font-size:1.25rem}.project-directory-summary small{color:var(--muted-strong);align-items:center;gap:5px;display:inline-flex}.project-directory-list{min-width:880px;display:grid}.project-directory-head,.project-directory-row{grid-template-columns:150px minmax(220px,1.2fr) minmax(220px,1fr) 130px 82px;align-items:center;gap:10px;display:grid}.project-directory-head{border:1px solid var(--line-soft);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--muted);background:#f3f6f8;min-height:38px;padding:0 12px;font-size:.75rem;font-weight:800}.project-directory-row{background:var(--panel);border:1px solid var(--line-soft);color:var(--text);text-align:left;white-space:normal;border-top:0;justify-content:stretch;width:100%;min-height:58px;padding:10px 12px}.project-directory-row:hover:not(:disabled),.project-directory-row.active{color:var(--text);background:#f6fbf9;border-color:#bedfd1}.project-directory-row strong,.project-directory-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-directory-date{color:var(--muted-strong);font-weight:750}.project-directory-row .project-status-pill{background:var(--accent-weak);color:var(--accent);border-color:#bedfd1;margin-top:0}.project-directory-open{color:var(--accent);justify-content:flex-end;align-items:center;gap:5px;font-weight:750;display:inline-flex}.workspace{align-content:start;gap:var(--space-2);padding:var(--space-3);grid-auto-rows:max-content;display:grid}.ai-help-view{gap:var(--space-4);display:grid}.ai-help-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 320px;display:grid}.ai-help-chat,.ai-help-suggestions{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.ai-help-chat{grid-template-rows:auto minmax(360px,1fr) auto;min-height:640px;display:grid}.ai-help-chat-header,.ai-help-side-title{border-bottom:1px solid var(--line-soft);align-items:center;gap:var(--space-2);padding:var(--space-4);display:flex}.ai-help-chat-header div{gap:4px;display:grid}.ai-help-chat-header p{color:var(--muted-strong);margin:0;font-size:.8125rem;line-height:1.45}.ai-help-chat-header svg,.ai-help-side-title svg{color:var(--info)}.ai-help-messages{align-content:start;gap:var(--space-3);padding:var(--space-4);display:grid;overflow-y:auto}.ai-help-message{display:flex}.ai-help-empty{background:var(--panel-subtle);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted-strong);padding:var(--space-4);gap:6px;line-height:1.6;display:grid}.ai-help-empty p{color:var(--text);margin:0;font-weight:700}.ai-help-empty small{color:var(--muted-strong)}.ai-help-message.user{justify-content:flex-end}.ai-help-message.user p{background:var(--accent);border-radius:var(--radius);color:#fff;max-width:min(520px,82%);padding:var(--space-3) var(--space-4);line-height:1.65}.ai-help-answer,.ai-help-loading-card{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius);max-width:min(760px,94%);padding:var(--space-4)}.ai-help-answer{gap:var(--space-3);line-height:1.65;display:grid}.ai-help-loading-card{gap:12px;width:min(760px,94%);display:grid;overflow:hidden}.ai-help-loading-line{border-radius:var(--radius-pill);background:linear-gradient(90deg,#e2e8f0 20%,#f8fafc 50%,#e2e8f0 80%) 0 0/200% 100%;width:100%;height:12px;animation:1.2s ease-in-out infinite ai-help-shimmer;display:block}.ai-help-loading-line:nth-child(2){width:88%}.ai-help-loading-line:nth-child(3){width:72%}.ai-help-loading-line:nth-child(4){width:46%}@keyframes ai-help-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ai-help-loading-line{background:#e2e8f0;animation:none}}.ai-help-answer-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ai-help-answer-title span{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted-strong);background:#fff;padding:3px 8px;font-size:.6875rem;font-weight:750}.ai-help-answer ol{gap:6px;margin:0;padding-left:1.35rem;display:grid}.ai-help-answer-meta{border-top:1px solid var(--line-soft);color:var(--muted-strong);padding-top:var(--space-2);text-align:right;font-size:.75rem;font-weight:700}.ai-help-form{border-top:1px solid var(--line-soft);align-items:end;gap:var(--space-3);padding:var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.ai-help-form label{color:var(--muted-strong)}.ai-help-form textarea{min-height:76px}.ai-help-form button{min-width:128px;min-height:42px;padding-inline:var(--space-4)}.ai-help-suggestions{align-content:start;gap:var(--space-2);padding-bottom:var(--space-4);display:grid}.ai-help-suggestion-group{gap:8px;display:grid}.ai-help-suggestion-group strong{color:var(--muted-strong);margin:var(--space-2) var(--space-4) 0;font-size:.75rem;font-weight:850}.ai-help-suggestion-group button{border-color:var(--line);color:var(--text);margin:0 var(--space-4);text-align:left;white-space:normal;background:#fff;justify-content:flex-start;min-height:40px}.ai-help-suggestion-group button:hover:not(:disabled){background:var(--info-weak);color:#1d4ed8;border-color:#bfdbfe}
.topbar,.panel,.workflow{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.topbar{min-height:48px;padding:8px var(--space-3);justify-content:space-between;align-items:center;display:flex}.topbar-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.topbar-main{gap:2px;min-width:0;display:grid}.topbar p{color:var(--muted);font-size:.75rem}.eyebrow{color:var(--accent);font-size:.75rem;font-weight:750}.status{background:var(--panel-subtle);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted-strong);align-items:center;gap:6px;min-height:32px;padding:0 12px;font-size:.8125rem;font-weight:650;display:inline-flex}.status.error{background:var(--danger-weak);color:var(--danger);border-color:#ffd1cc}.status.success{background:var(--ok-weak);color:var(--ok);border-color:#cbe9d6}.status.busy{background:var(--warn-weak);color:var(--warn);border-color:#f3d7a4}.action-status{box-shadow:0 0 0 3px #f59e0b14}.handrail-save-toast{background:var(--accent);border-radius:var(--radius);color:#fff;z-index:80;border:1px solid #ffffff29;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:.875rem;font-weight:700;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 14px 36px #0f172a38}.project-delete-button{background:var(--danger-weak);color:var(--danger);border-color:#f1b5af}.project-delete-button:hover:not(:disabled){color:#8f1f16;background:#ffe3df;border-color:#e48d84}.estimate-summary>div{gap:2px;padding:8px 10px;display:grid}.estimate-summary span{color:var(--muted);font-size:.75rem;font-weight:650}.estimate-summary strong{font-size:1rem;line-height:1.25}.workflow{grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.workflow-step{border-right:1px solid var(--line-soft);grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;min-height:42px;padding:6px 8px;display:grid}.workflow-step:last-child{border-right:0}.workflow-step strong,.workflow-step span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workflow-step strong{font-size:.75rem}.workflow-step span{color:var(--muted);margin-top:1px;font-size:.625rem}.step-marker{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);background:#eef2f6;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:750;display:inline-flex}.workflow-step.done{background:var(--ok-weak)}.workflow-step.done .step-marker{background:var(--accent);border-color:var(--accent);color:#fff}.workflow-step.active{background:var(--warn-weak)}.workflow-step.active .step-marker{border-color:var(--warn);color:var(--warn);background:#fff}.workflow-step.loading{background:var(--info-weak)}.workflow-step.loading .step-marker{border-color:var(--info);color:var(--info);background:#fff}.workflow-step.error{background:var(--danger-weak)}.workflow-step.error .step-marker{border-color:var(--danger);color:var(--danger);background:#fff}.analysis-results-shell{gap:var(--space-2);padding-bottom:76px;display:grid}.analysis-action-row{align-items:center;gap:var(--space-3);justify-content:flex-end;display:flex}.analysis-complete-badge{background:var(--ok-weak);border-radius:var(--radius-sm);color:var(--ok);border:1px solid #cbe9d6;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:.8125rem;font-weight:750;display:inline-flex}.analysis-progress{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.analysis-progress-step{border-right:1px solid var(--line-soft);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:2px 8px;min-height:58px;padding:8px 12px;display:grid}.analysis-progress-step:last-child{border-right:0}.analysis-progress-step span{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);background:#eef2f6;grid-row:span 2;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:800;display:inline-flex}.analysis-progress-step strong,.analysis-progress-step small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.analysis-progress-step strong{font-size:.8125rem}.analysis-progress-step small{color:var(--muted);font-size:.6875rem}.analysis-progress-step.done{background:var(--ok-weak)}.analysis-progress-step.done span{background:var(--accent);border-color:var(--accent);color:#fff}.analysis-progress-step.active{background:var(--warn-weak)}.analysis-kpis{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.analysis-kpis>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:2px 12px;min-height:66px;padding:10px 14px;display:grid}.analysis-kpis svg{background:var(--panel-subtle);border-radius:var(--radius-pill);color:var(--accent);box-sizing:content-box;grid-row:span 2;padding:9px}.analysis-kpis span{color:var(--muted);font-size:.75rem;font-weight:750}.analysis-kpis strong{grid-column:2;font-size:1.4rem}.analysis-kpis small{color:var(--muted);grid-area:2/3;font-size:.75rem}.analysis-alert-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.analysis-alert{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:4px 9px;min-height:48px;padding:8px 10px;display:grid}.analysis-alert svg{grid-row:span 2}.analysis-alert strong{font-size:.8125rem}.analysis-alert span{color:var(--muted);font-size:.75rem}.analysis-alert button{border-color:var(--line);color:var(--muted-strong);background:#fff;grid-row:span 2;min-height:30px;font-size:.75rem}.analysis-alert button.active{background:var(--accent);border-color:var(--accent);color:#fff}.analysis-alert.danger svg{color:var(--danger)}.analysis-alert.warn svg{color:var(--warn)}.analysis-alert.info svg{color:var(--muted-strong)}.analysis-detail-drawer{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:var(--space-3);padding:var(--space-3);display:grid}.analysis-detail-list{gap:var(--space-2);display:grid}.analysis-detail-filter{color:var(--muted-strong);align-items:center;gap:6px;font-size:.75rem;display:inline-flex}.analysis-detail-list>div,.analysis-detail-list>button{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-sm);color:var(--text);text-align:left;white-space:normal;justify-content:stretch;gap:4px;min-width:0;min-height:44px;padding:9px 10px;display:grid}.analysis-detail-list>button:hover:not(:disabled){color:var(--text);background:#eef4ff;border-color:#9ab6e3}.analysis-detail-list strong{overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:.8125rem}.analysis-detail-list span{color:var(--muted-strong);overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:.75rem}.analysis-candidate-header{justify-content:flex-end}.analysis-main-grid{align-items:start;gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.analysis-toolbar{gap:var(--space-2);display:flex}.analysis-toolbar button{border-color:var(--line);color:var(--muted-strong);background:#fff;min-height:30px}.analysis-detail-panel{gap:var(--space-3)}.analysis-detail-panel h2{border-bottom:1px solid var(--line-soft);padding-bottom:10px}.analysis-candidate-main em{background:var(--ok-weak);border-radius:var(--radius-pill);color:var(--ok);border:1px solid #cbe9d6;width:fit-content;padding:3px 7px;font-size:.6875rem;font-style:normal;font-weight:750}.analysis-footer .secondary{border-color:var(--line);color:var(--muted-strong);background:#fff}.candidate-check-item{border-radius:var(--radius-sm);color:var(--muted-strong);background:#fff;border:1px solid #e2e9ef;grid-template-columns:16px minmax(0,1fr);align-items:flex-start;column-gap:8px;padding:8px 9px;display:grid}.candidate-check-item input[type=checkbox]{width:16px;height:16px;min-height:0;margin:2px 0 0}.candidate-check-item small{color:var(--muted-strong);overflow-wrap:anywhere;grid-column:1/-1;font-size:.6875rem;line-height:1.5}.analysis-candidate-table{min-width:1160px;display:grid}.analysis-candidate-panel-header{border-bottom:1px solid var(--line-soft);padding-bottom:var(--space-2)}.analysis-candidate-head,.analysis-candidate-main{grid-template-columns:48px minmax(120px,1.1fr) minmax(120px,1fr) 104px 128px 88px 78px 96px;align-items:center;gap:10px;display:grid}.analysis-candidate-head{border:1px solid var(--line-soft);color:var(--muted);background:#f3f6f8;border-radius:6px 6px 0 0;grid-template-columns:48px minmax(120px,1.1fr) minmax(120px,1fr) 104px 128px 88px 78px 96px 226px;min-height:34px;padding:0 10px;font-size:.75rem;font-weight:750}.analysis-candidate-row{border:0;border-bottom:1px solid var(--line-soft);color:var(--muted-strong);text-align:left;background:#fff;border-radius:0;grid-template-columns:minmax(0,1fr) 226px;justify-content:stretch;align-items:stretch;gap:10px;min-height:42px;padding:6px 10px;font-size:.8125rem;display:grid}.analysis-candidate-main{border-radius:var(--radius);color:inherit;text-align:left;background:0 0;border:0;min-width:0;padding:4px 0}button.analysis-candidate-main{cursor:pointer}.analysis-candidate-row:hover .analysis-candidate-main,.analysis-candidate-row.active .analysis-candidate-main{color:var(--text);background:#eef4ff;border-color:#cdddf8}.analysis-candidate-main span,.analysis-candidate-main strong,.analysis-candidate-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.analysis-candidate-row.manual{background:#fbfdff}.candidate-decision-controls{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:6px;display:grid}.candidate-decision-controls button{border-radius:var(--radius-pill);color:#526274;cursor:pointer;background:#fff;border:1px solid #d4dee7;min-height:32px;padding:0 10px;font-size:.75rem;font-weight:800;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s}.candidate-decision-controls button:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 4px 12px #126f5b1f}.candidate-decision-controls button.adopted.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 18px #126f5b33}.candidate-decision-controls button.pending.active{color:#fff;background:#f59e0b;border-color:#f59e0b;box-shadow:0 8px 18px #f59e0b33}.candidate-decision-controls button.excluded.active{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 8px 18px #d9463b2e}.manual-decision{color:var(--muted);justify-content:center;font-size:.75rem;font-weight:750}.analysis-candidate-checks{border-bottom:1px solid var(--line-soft);padding:6px 10px 10px}.analysis-candidate-checks-toggle{border-radius:var(--radius-sm);color:#1f5f6b;cursor:pointer;background:#f7fbfc;border:1px solid #c8dfe4;min-height:30px;padding:0 10px;font-size:.75rem;font-weight:700}.analysis-candidate-checks-toggle:hover:not(:disabled){color:#144f5a;background:#e8f4f6;border-color:#9fcbd4;box-shadow:0 1px #1f5f6b14}.analysis-candidate-check-list{border-radius:var(--radius-md);gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2);background:#fff8dc;border:1px solid #f1d27a;display:grid}.analysis-candidate-check-list .candidate-check-item{background:#ffffffbd;border-color:#efd58a}.analysis-manual-editor{border-top:1px solid var(--line-soft);grid-template-columns:minmax(120px,1fr) minmax(110px,.9fr) minmax(96px,.75fr) minmax(120px,.85fr) minmax(90px,.7fr) minmax(180px,1.2fr) auto;min-width:980px}.analysis-footer{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:var(--space-4);padding:var(--space-3);z-index:20;justify-content:flex-end;display:flex;position:fixed;bottom:12px;left:288px;right:12px;box-shadow:0 12px 34px #0f172a24}.analysis-footer>div{align-items:center;gap:var(--space-3);margin-right:auto;display:flex}.analysis-footer>div svg{color:var(--accent)}.analysis-footer span{color:var(--muted-strong);font-weight:750}
.estimate-start{gap:var(--space-4);grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);display:grid}.start-copy,.upload-dropzone,.usage-check-panel,.process-steps,.recent-projects{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.start-copy{gap:var(--space-3);min-height:260px;padding:var(--space-6);display:grid}.start-copy h2{font-size:1.5rem}.start-copy p:not(.eyebrow){color:var(--muted);max-width:560px;line-height:1.65}.upload-dropzone{min-height:180px;padding:var(--space-5);text-align:center;border-style:dashed;align-content:center;justify-items:center;gap:10px;display:grid}.upload-dropzone svg{color:var(--accent);width:34px;height:34px}.upload-dropzone span,.upload-dropzone p{color:var(--muted);font-size:.8125rem}.upload-dropzone h2{margin:0;font-size:1.6rem}.upload-dropzone p{max-width:700px;margin:0;line-height:1.65}.upload-dropzone small{color:var(--muted);font-size:.75rem}.upload-dropzone.inactive{background:var(--panel-subtle)}.usage-check-panel{background:var(--panel-subtle);min-height:260px;padding:var(--space-5);text-align:center;align-content:center;justify-items:center;gap:10px;display:grid}.usage-check-panel svg{color:var(--accent);width:34px;height:34px}.usage-check-panel strong{font-size:1rem}.usage-check-panel span{color:var(--muted);max-width:360px;font-size:.875rem;line-height:1.65}.usage-check-panel small{color:var(--muted);font-size:.75rem}.usage-guide-button{min-width:168px;min-height:40px}.file-select-button{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;justify-content:center;align-items:center;min-width:132px;min-height:34px;padding:0 12px;font-weight:650;display:inline-flex}.file-select-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.file-select-button.secondary{color:var(--text);background:#fff;border-color:#cfdbe5}.file-select-button.secondary:hover{background:#f4f7f9;border-color:#aebfcc}.pdf-upload-form{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.pdf-upload-form.compact{justify-content:flex-start}.file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.selected-file-name{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:34px;padding:8px 12px;display:inline-flex;overflow:hidden}.process-steps{gap:var(--space-2);padding:var(--space-4);grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.process-steps>div{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-sm);align-items:center;gap:var(--space-2);min-height:46px;padding:9px 10px;display:flex}.process-steps .active-step{background:var(--accent-weak);border-color:var(--accent)}.process-steps strong{background:var(--accent);border-radius:var(--radius-pill);color:#fff;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;display:inline-flex}.process-steps span{color:var(--muted-strong);font-size:.8125rem;font-weight:650}.recent-projects{gap:var(--space-3);padding:var(--space-4);grid-column:1/-1;display:grid}.recent-project-list{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.recent-project-list button{background:var(--panel-subtle);border-color:var(--line-soft);color:var(--text);text-align:left;justify-content:stretch;min-height:58px;padding:9px 10px;display:grid}.recent-project-list button.loading{background:var(--info-weak);border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb1f}.recent-project-list small{color:var(--muted)}.project-modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:var(--space-4);max-width:480px;padding:var(--space-5);width:min(480px,100%);display:grid}.account-modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:var(--space-5);width:min(820px,100vw - 32px);max-width:820px;max-height:min(860px,100vh - 32px);padding:28px 36px;display:grid;overflow:auto}.estimate-modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:var(--space-4);max-width:920px;max-height:min(860px,100vh - 32px);padding:var(--space-5);width:min(920px,100vw - 32px);display:grid;overflow:auto}.estimate-modal-toolbar{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.document-kind-tabs{border-radius:var(--radius-pill);background:#eef3f6;align-items:center;padding:4px;display:inline-flex}.document-kind-tabs button{border-radius:var(--radius-pill);color:var(--muted-strong);background:0 0;border:0;min-height:34px;padding:0 14px}.document-kind-tabs button.active{color:var(--accent);background:#fff;box-shadow:0 1px 2px #0f172a14}.estimate-document{border:1px solid var(--line);border-radius:var(--radius);gap:var(--space-4);padding:var(--space-5);background:#fff;display:grid}.estimate-document-info-form{border:1px solid var(--line-soft);border-radius:var(--radius);gap:var(--space-3);padding:var(--space-4);background:#f8fbfc;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.estimate-document-info-title{grid-column:1/-1}.estimate-document-info-title h3{margin:0 0 4px;font-size:.9375rem}.estimate-document-info-title p{color:var(--muted);margin:0;font-size:.8125rem}.estimate-document-info-form label{color:var(--muted);gap:4px;font-size:.75rem;font-weight:750;display:grid}.estimate-document-info-form label.wide{grid-column:1/-1}.estimate-document-info-form input,.estimate-document-info-form textarea{min-height:34px;padding:6px 9px}.estimate-document-head{border-bottom:2px solid var(--text);align-items:start;gap:var(--space-5);padding-bottom:var(--space-4);justify-content:space-between;display:flex}.estimate-document-parties{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.estimate-document-parties>div,.estimate-document-invoice-meta>div,.estimate-document-note{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:12px 14px}.estimate-document-parties span,.estimate-document-invoice-meta span,.estimate-document-note span{color:var(--muted);margin-bottom:6px;font-size:.75rem;font-weight:750;display:block}.estimate-document-parties strong,.estimate-document-invoice-meta strong{margin-bottom:6px;font-size:1rem;display:block}.estimate-document-parties p,.estimate-document-note p{color:var(--muted-strong);margin:0;font-size:.8125rem;line-height:1.7}.estimate-document-invoice-meta{display:grid}.estimate-document-head span{color:var(--accent);font-size:.875rem;font-weight:800}.estimate-document-head h3,.estimate-document-subject-input{margin:4px 0;font-size:1.5rem}.estimate-document-subject-input{border-radius:var(--radius-sm);color:var(--text);background:0 0;border:1px solid #0000;width:100%;max-width:min(520px,100%);min-height:40px;padding:2px 6px;font-weight:850;line-height:1.2;display:block}.estimate-document-subject-input:hover,.estimate-document-subject-input:focus{background:#f8fbfc;border-color:#cbd7e1;outline:none}.estimate-document-head p,.estimate-document-head dt{color:var(--muted);font-size:.8125rem}.estimate-document-head dl{gap:var(--space-2);min-width:220px;margin:0;display:grid}.estimate-document-head dl>div{justify-content:space-between;gap:var(--space-4);display:flex}.estimate-document-head dd{margin:0;font-weight:750}.estimate-document-summary{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.estimate-document-summary>div{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-sm);gap:4px;padding:10px 12px;display:grid}.estimate-document-summary span{color:var(--muted);font-size:.75rem;font-weight:750}.estimate-document-summary strong{font-size:1.125rem}.estimate-document-subtotal-input{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:5px;width:100%;max-width:180px;padding:5px 8px;font-size:1.125rem;font-weight:800}.estimate-document-table{display:grid;overflow-x:auto}.estimate-document-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(180px,1.3fr) 90px 110px 110px minmax(220px,1.4fr);align-items:center;gap:10px;min-width:760px;min-height:42px;padding:8px 10px;display:grid}.estimate-document-row.head{border:1px solid var(--line-soft);color:var(--muted);background:#f3f6f8;border-radius:6px 6px 0 0;min-height:34px;font-size:.75rem;font-weight:800}.estimate-document-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.estimate-document-row.missing-price{background:#fffdf7}.estimate-basis-cell{align-items:center;gap:8px;min-width:0;display:flex}.estimate-basis-cell small{flex:1}.estimate-material-action{border-color:var(--accent);color:var(--accent);white-space:nowrap;background:#fff;min-height:28px;padding:0 10px;font-size:.75rem}.estimate-material-badge{border-radius:var(--radius-pill);color:var(--accent);white-space:nowrap;background:#e6f7f0;border:1px solid #bce6d2;padding:4px 8px;font-size:.7rem;font-weight:800}.estimate-row-edit-button{border-color:var(--line);color:var(--muted-strong);background:#fff;width:30px;min-height:28px;padding:0}.estimate-row-edit-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.estimate-row-remove-button{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.estimate-row-remove-button:hover:not(:disabled){color:var(--danger)}.estimate-row-editor{border-bottom:1px solid var(--line-soft);background:#f8fbfc;grid-template-columns:minmax(150px,1fr) minmax(110px,.8fr) 80px 64px 90px minmax(220px,1.2fr) auto;gap:8px;min-width:840px;padding:10px;display:grid}.pdf-document-layout .estimate-row-editor{grid-template-columns:minmax(130px,1fr) minmax(100px,.8fr) 76px 64px 88px minmax(180px,1fr) auto;min-width:0}.manual-estimate-editor{border-top:1px solid var(--line-soft);grid-template-columns:minmax(150px,1fr) minmax(110px,.8fr) 80px 90px minmax(240px,1.2fr);min-width:820px}.manual-estimate-editor-title,.manual-analysis-editor-title{color:var(--text);grid-column:1/-1;align-items:center;gap:6px;font-size:.8125rem;font-weight:750;display:flex}.manual-estimate-editor-title svg,.manual-analysis-editor-title svg{color:var(--accent)}.manual-estimate-editor .estimate-row-editor-actions{grid-column:1/-1;justify-content:flex-end}.estimate-row-editor label{color:var(--muted);gap:4px;font-size:.75rem;font-weight:750;display:grid}.estimate-row-editor input{min-height:32px;padding:4px 8px}.estimate-row-editor-actions{align-items:end;gap:var(--space-2);display:flex}.estimate-row-editor-actions .secondary{border-color:var(--line);color:var(--muted-strong);background:#fff}.estimate-material-editor{border-bottom:1px solid var(--line-soft);gap:var(--space-3);background:#fffdf7;min-width:760px;padding:10px;display:grid}.estimate-material-editor-fields{grid-template-columns:minmax(150px,1fr) minmax(120px,.9fr) 110px 110px;gap:8px;display:grid}.estimate-material-editor label{color:var(--muted);gap:4px;font-size:.75rem;font-weight:750;display:grid}.estimate-material-editor input{min-height:32px;padding:4px 8px}.estimate-material-editor-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.estimate-material-editor-actions .secondary{border-color:var(--line);color:var(--muted-strong);background:#fff}
.material-master-view{gap:var(--space-3);display:grid}.material-master-create{background:linear-gradient(135deg, #12645614, transparent 38%), var(--panel)}.material-master-form{align-items:end;gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(12,minmax(0,1fr));min-width:0;display:grid}.material-master-form label,.material-master-edit-row label{color:var(--muted);min-width:0}.material-master-form label{grid-column:span 2}.material-master-form label:first-child,.material-master-form label:nth-child(3),.material-master-form label:nth-child(9),.material-master-form label:nth-child(10){grid-column:span 3}.material-master-form input,.material-master-form select,.material-master-edit-row input,.material-master-edit-row select,.realtime-material-row input,.realtime-material-row select{width:100%;min-height:34px;padding:5px 8px}.material-master-form-actions{grid-column:1/-1;justify-content:flex-end;align-items:end;display:flex}.material-master-form-actions button{min-width:190px}.material-master-create .panel-header{flex-wrap:wrap;align-items:flex-start}.material-master-create .panel-note{white-space:normal;max-width:560px}.material-master-list-panel{overflow-x:auto}.material-master-search{max-width:320px}.material-master-table{min-width:1040px;display:grid}.material-master-head,.material-master-row,.material-master-edit-row{grid-template-columns:minmax(150px,1.2fr) minmax(130px,1fr) 100px 100px 70px 110px minmax(120px,1fr) 150px;align-items:center;gap:10px;display:grid}.material-master-head{border:1px solid var(--line-soft);color:var(--muted);background:#f3f6f8;border-radius:6px 6px 0 0;min-height:36px;padding:0 10px;font-size:.75rem;font-weight:800}.material-master-row{border-bottom:1px solid var(--line-soft);min-height:48px;padding:8px 10px}.material-master-row span,.material-master-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-master-edit-row{background:#fffdf7;border-bottom:1px solid #f0dfb3;padding:10px}.material-master-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.material-master-actions .secondary{border-color:var(--line);color:var(--muted-strong);background:#fff}.material-master-actions .danger{background:var(--danger-weak);color:var(--danger);border-color:#f1b5af}.settings-view .material-master-form{grid-template-columns:minmax(180px,.78fr) minmax(0,2.45fr);align-items:start}.settings-view .material-master-form label:first-child,.settings-view .material-master-form .settings-material-method-list{grid-column:auto}.settings-material-method-list{gap:8px;min-width:0;display:grid}.settings-material-method-list.compact{grid-column:auto}.settings-material-method-head,.settings-material-method-row{grid-template-columns:minmax(180px,1fr) minmax(150px,210px) 38px;align-items:center;gap:8px;min-width:0;display:grid}.settings-material-method-head{color:var(--muted);font-size:.75rem;font-weight:800}.settings-material-method-row input,.settings-material-method-row select{width:100%;min-width:0;min-height:38px}.settings-material-method-row .icon{width:38px;height:38px}.settings-material-method-add{justify-self:start;min-height:38px}.settings-view .material-master-form-actions{grid-column:2}.pdf-material-method-picker{border-radius:var(--radius-sm);background:linear-gradient(#1264560a,#12645604),#fff;border:1px solid #c9e6da;gap:8px;padding:12px;display:grid}.pdf-material-method-picker-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.pdf-material-method-picker-title>div{gap:3px;display:grid}.pdf-material-method-picker-title small{color:var(--muted)}.pdf-method-help-button{color:var(--brand);background:#fff;border-color:#b8ddcf;align-items:center;gap:6px;min-height:34px;padding:6px 10px;display:inline-flex}.pdf-method-help-button:hover{background:#edf8f3}.pdf-method-help-box{border-radius:var(--radius-sm);background:linear-gradient(135deg,#edf8f3f0,#fffffff5),#fff;border:1px solid #b8ddcf;gap:10px;padding:12px;display:grid}.pdf-method-help-heading{gap:3px;display:grid}.pdf-method-help-heading strong{color:var(--text)}.pdf-method-help-heading span{color:var(--muted);font-size:.86rem;line-height:1.55}.pdf-method-help-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.pdf-method-help-grid>div{border-radius:var(--radius-sm);background:#ffffffe0;border:1px solid #b8ddcfd1;gap:5px;padding:10px;display:grid}.pdf-method-help-grid strong{color:var(--brand);font-size:.92rem}.pdf-method-help-grid p,.pdf-method-help-grid small{margin:0;line-height:1.55}.pdf-method-help-grid p{color:var(--text);font-size:.86rem}.pdf-method-help-grid small{color:var(--muted);font-size:.78rem}.pdf-material-method-row{grid-template-columns:minmax(0,1fr) minmax(150px,190px) 36px;align-items:center;gap:8px;display:grid}.pdf-material-method-row span{color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.pdf-material-method-row select{width:100%;min-width:0}.pdf-material-method-row .icon{width:34px;height:34px;min-height:34px}.pdf-material-method-add-form{border-top:1px solid #d7eee5;grid-template-columns:minmax(0,1fr) minmax(150px,190px) auto;align-items:end;gap:8px;padding-top:8px;display:grid}.pdf-material-method-add-form label{color:var(--muted-strong);gap:4px;min-width:0;font-size:.78rem;display:grid}.pdf-material-method-add-form input,.pdf-material-method-add-form select{width:100%;min-width:0;min-height:34px}.pdf-material-method-add-form button{align-items:center;gap:5px;min-height:34px;display:inline-flex}.pdf-material-method-excluded{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pdf-material-method-excluded small{color:var(--muted)}.pdf-material-method-excluded button{align-items:center;gap:5px;min-height:30px;padding:5px 9px;display:inline-flex}.settings-view .material-master-table{min-width:760px}.settings-view .material-master-head,.settings-material-target-row{grid-template-columns:180px minmax(180px,1fr) 170px}.settings-material-target-row{align-items:center}.settings-material-target-wrap{border-bottom:1px solid var(--line-soft)}.settings-material-target-wrap .settings-material-target-row{border-bottom:0}.settings-material-target-toggle{color:var(--text);background:0 0;border-color:#0000;justify-content:flex-start;width:100%;min-width:0;padding:0 6px}.settings-material-target-toggle:hover:not(:disabled){background:var(--panel-subtle);border-color:var(--line-soft);color:var(--text)}.settings-material-target-toggle strong{min-width:0}.settings-material-target-summary{color:var(--muted);font-weight:700}.settings-material-target-detail{border-top:1px solid var(--line-soft);background:#fbfcfd;grid-template-columns:180px minmax(0,1fr) 170px;padding:10px;display:grid}.settings-material-target-detail .settings-material-method-list{grid-column:2}.realtime-material-panel{background:linear-gradient(#fbfffd 0%,#f4fbf7 100%);border-color:#bedfd1}.realtime-material-grid{min-width:980px;display:grid;overflow-x:auto}.realtime-material-head,.realtime-material-row{grid-template-columns:minmax(130px,1.1fr) minmax(130px,1fr) 120px 110px 86px minmax(130px,1fr) 150px;align-items:center;gap:8px;display:grid}.realtime-material-head{color:var(--accent);background:#eaf6ef;border:1px solid #cce7d7;border-radius:6px 6px 0 0;min-height:34px;padding:0 10px;font-size:.75rem;font-weight:850}.realtime-material-row{border-bottom:1px solid #dbece3;padding:8px 10px}.realtime-material-actions{align-items:center;gap:var(--space-2);justify-content:flex-end;display:flex}.estimate-modal-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.estimate-modal-actions .secondary{border-color:var(--line);color:var(--muted-strong);background:#fff}.billing-gate-shell{background:linear-gradient(#eef2f5e0,#eef2f5),radial-gradient(circle at 20% 0,#1264561f,#0000 34%);align-items:center;min-height:100vh;padding:clamp(24px,5vw,64px);display:grid}.billing-gate-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:var(--space-6);width:100%;max-width:1080px;margin:0 auto;padding:clamp(24px,4vw,40px);display:grid}.billing-gate-header{gap:var(--space-2);text-align:center;display:grid}.billing-gate-header h1{color:var(--text);margin:0;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.2}.billing-gate-header p:not(.eyebrow),.billing-gate-note{color:var(--muted-strong);margin:0}.billing-gate-trial{background:var(--accent-weak);border-radius:var(--radius-pill);color:var(--accent);margin-top:var(--space-2);border:1px solid #cbe9d6;justify-self:center;padding:7px 14px;font-size:.95rem;display:inline-flex}.billing-coupon-notice{border-radius:var(--radius-pill);color:#dc2626;background:#fff5f5;border:1px solid #fecaca;justify-self:center;padding:8px 16px;font-size:.94rem;font-weight:850;line-height:1.5;display:inline-flex}.billing-coupon-notice strong{letter-spacing:.04em;margin-left:.4em;font-size:1.02rem}.billing-gate-status{white-space:normal;justify-content:center;justify-self:center;width:100%;max-width:720px}.billing-gate-plan-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.billing-gate-plan{background:var(--panel-subtle);border:1px solid var(--line);border-radius:var(--radius);gap:var(--space-4);min-height:520px;padding:var(--space-5);display:grid;position:relative}.billing-gate-plan.recommended{border-color:var(--accent);background:#fff;box-shadow:0 0 0 1px #12645638}.billing-gate-plan h2{text-align:center;margin:0;font-size:1.2rem}.billing-gate-note{background:var(--accent-weak);border-radius:var(--radius-sm);text-align:center;border:1px solid #cbe9d6;padding:12px 14px}.subscription-summary-card{border-radius:var(--radius);align-items:center;gap:var(--space-4);min-height:120px;padding:var(--space-5);background:linear-gradient(90deg,#eefaf4,#f8fffb);border:1px solid #cbe9d6;grid-template-columns:58px minmax(0,1fr);display:grid}.subscription-icon{background:var(--accent);border-radius:var(--radius-pill);color:#fff;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.subscription-summary-card h3{color:var(--accent);margin:0 0 8px;font-size:1.375rem;line-height:1.2}.subscription-meta{align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:10px;display:flex}.subscription-meta strong{color:var(--accent);font-size:1.125rem}.subscription-meta span,.subscription-summary-card p{color:var(--muted-strong);font-size:.875rem}.plan-change-notice{border-radius:var(--radius-sm);align-items:center;gap:var(--space-2);margin-top:var(--space-3);background:#fff7ed;border:1px solid #f97316;flex-wrap:wrap;padding:9px 12px;display:flex}.plan-change-notice strong{color:#f97316;font-size:.875rem}.plan-change-notice span{color:#f97316;font-size:.75rem;font-weight:700}.billing-plan-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.billing-plan{border:1px solid var(--line);border-radius:var(--radius);gap:var(--space-4);min-height:500px;padding:var(--space-5);background:#fff;display:grid;position:relative}.billing-plan.recommended{border-color:var(--accent);box-shadow:0 0 0 1px #12645638}.recommended-badge{background:var(--accent);border-radius:var(--radius-pill);color:#fff;padding:3px 12px;font-size:.75rem;font-weight:800;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.billing-plan h3{text-align:center;margin:0;font-size:1.125rem}.plan-price{border-bottom:1px solid var(--line);padding-bottom:var(--space-3);text-align:center;place-items:center;gap:6px;display:grid}.plan-price span{color:var(--muted-strong);white-space:nowrap;font-weight:700;line-height:1.2}.plan-price strong{color:var(--accent);white-space:nowrap;font-size:1.45rem;line-height:1}.plan-price small{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:800;line-height:1.2;text-decoration:line-through}.plan-discount-badge{border-radius:var(--radius-pill);color:#dc2626;background:#fff5f5;border:1px solid #fecaca;justify-self:center;padding:4px 12px;font-size:.8rem;font-weight:900}.plan-feature-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.plan-feature-list li{border-bottom:1px solid var(--line-soft);color:var(--muted-strong);grid-template-columns:22px minmax(0,1fr);align-items:center;gap:2px 9px;min-height:38px;padding:7px 0;font-size:.875rem;display:grid}.plan-feature-list li:last-child{border-bottom:0}.plan-feature-list li svg{background:var(--accent);border-radius:var(--radius-pill);color:#fff;flex:none;grid-row:1/span 2;padding:2px}.plan-feature-list li.feature-unavailable{color:#8a96a7}.plan-feature-list li.feature-unavailable svg{color:#718091;background:#e6eaef}.plan-feature-list span{color:var(--muted-strong);font-weight:760}.plan-feature-list small{color:var(--muted);font-size:.74rem;font-weight:700}.billing-exempt-panel{border-radius:var(--radius);gap:var(--space-2);padding:var(--space-5);background:#fff;border:1px solid #cbe9d6;display:grid}.billing-exempt-panel strong{color:var(--accent);font-size:1rem}.billing-exempt-panel span{color:var(--muted-strong);font-size:.875rem}.billing-portal-panel{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:var(--space-4);padding:var(--space-5);background:#fff;justify-content:space-between;display:flex}.billing-portal-panel div{gap:var(--space-2);display:grid}.billing-portal-panel strong{color:var(--ink);font-size:1rem}.billing-portal-panel span{color:var(--muted-strong);font-size:.875rem}.plan-button{border-color:var(--accent);color:var(--accent);background:#fff;margin-top:auto}.plan-button.primary{background:var(--accent);color:#fff}.account-info-panel{gap:var(--space-3);display:grid}.account-info-panel h3{margin:0;font-size:.9375rem}.account-detail-list{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.account-detail-list>div{border-bottom:1px solid var(--line-soft);align-items:center;gap:var(--space-2);background:#fff;grid-template-columns:110px minmax(0,1fr);min-height:52px;padding:11px 14px;display:grid}.account-detail-list>div:nth-child(odd){border-right:1px solid var(--line-soft)}.account-detail-list>div:nth-last-child(-n+2){border-bottom:0}.account-detail-list.has-plan-change>div:nth-last-child(2){border-bottom:1px solid var(--line-soft)}.account-detail-list>.plan-change-detail{border-right:0;grid-column:1/-1;grid-template-columns:140px minmax(0,1fr)}.account-detail-list>.plan-change-detail strong{white-space:normal}.account-detail-list span{color:var(--muted);font-size:.75rem;font-weight:700}.account-detail-list strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.billing-note{color:var(--accent);font-size:.8125rem}.project-modal-form{gap:var(--space-4);display:grid}.document-settings-modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:var(--space-4);max-width:980px;max-height:min(860px,100vh - 32px);padding:var(--space-5);width:min(980px,100vw - 32px);display:grid;overflow:auto}.material-master-tabs{border-bottom:1px solid var(--line);align-items:center;gap:var(--space-2);display:flex}.material-master-tabs button{color:var(--muted-strong);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:10px 14px}.material-master-tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.company-master-panel{gap:var(--space-4);display:grid}.weight-master-overview{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.weight-master-overview>div,.weight-master-entry-card{border:1px solid var(--line);border-radius:var(--radius)}.weight-master-overview>div{background:var(--surface-soft);align-items:baseline;gap:var(--space-2);padding:var(--space-3);display:flex}.weight-master-overview small,.weight-master-entry-heading span{color:var(--muted-strong)}.weight-master-overview strong{margin-left:auto;font-size:1.4rem}.weight-master-entry-card{background:var(--surface);padding:var(--space-4)}.weight-master-entry-heading{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.weight-master-entry-heading>div{gap:3px;display:grid}.weight-master-entry-heading .status-badge{color:#1e3a8a;background:#e8eefc}.weight-master-row-form-v2 label{color:var(--muted-strong);gap:4px;font-size:.75rem;display:grid}.company-weight-master-table-head-v2,.company-weight-master-table-row-v2{grid-template-columns:1.2fr .7fr 1.15fr .7fr .55fr .65fr minmax(220px,1.2fr)}.weight-shape-symbol{font-size:1rem;font-weight:700}.company-master-toolbar,.company-master-row-form{align-items:end;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(128px,1fr));display:grid}.company-master-row-form label{color:var(--muted);gap:4px;font-size:.6875rem;font-weight:600;display:grid}.company-master-toolbar button,.company-master-row-form button{min-height:42px}.company-master-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.company-master-table-head,.company-master-table-row{align-items:center;gap:var(--space-3);grid-template-columns:1.2fr 1.2fr .7fr .7fr minmax(260px,1.5fr);padding:10px 12px;display:grid}.company-master-table-head{background:var(--surface-soft);color:var(--muted-strong);font-size:.75rem;font-weight:700}.company-master-table-row{border-top:1px solid var(--line-soft);font-size:.875rem}.company-weight-master-table-head,.company-weight-master-table-row{grid-template-columns:1.4fr .8fr .8fr minmax(220px,1fr)}.company-weight-master-table-head>span:last-child{text-align:right}.company-grade-master-table-head,.company-grade-master-table-row{grid-template-columns:64px 88px 96px minmax(180px,1.6fr) minmax(120px,1.1fr) 72px 88px}.company-grade-master-table-head>span:nth-child(6),.company-grade-master-table-head>span:nth-child(7),.company-grade-master-table-row>:nth-child(6),.company-grade-master-table-row>:nth-child(7){text-align:right;justify-self:end}.company-grade-master-table-row>input{text-align:right;max-width:72px}.company-grade-master-table-row .material-master-actions{justify-content:flex-end;width:100%}.company-shape-size-master-table-head,.company-shape-size-master-table-row{grid-template-columns:minmax(72px,.7fr) minmax(120px,1.2fr) minmax(140px,1.4fr) minmax(88px,.8fr) minmax(88px,.8fr) 88px}.company-shape-size-master-table-head>span:nth-child(4),.company-shape-size-master-table-head>span:nth-child(5),.company-shape-size-master-table-head>span:nth-child(6),.company-shape-size-master-table-row>:nth-child(4),.company-shape-size-master-table-row>:nth-child(5),.company-shape-size-master-table-row>:nth-child(6){text-align:right;justify-self:end}.company-shape-size-master-table-row .material-master-actions{justify-content:flex-end;width:100%}.company-master-pagination{color:var(--muted-strong);align-items:center;gap:var(--space-3);margin:0 0 var(--space-2);justify-content:space-between;font-size:.8125rem;display:flex}.company-master-total-count{color:var(--muted);font-size:.75rem}.company-master-pagination>div{align-items:center;gap:var(--space-3);display:flex}.company-master-pagination button{min-width:76px}@media (max-width:900px){.company-master-table-head{display:none}.company-master-table-row{grid-template-columns:1fr;align-items:start}.company-master-pagination{flex-direction:column;align-items:stretch}.company-master-pagination>div{justify-content:space-between}}
.usage-manual-modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:var(--space-5);max-width:1180px;height:min(880px,100dvh - 32px);max-height:calc(100vh - 32px);padding:var(--space-5);grid-template-rows:auto minmax(0,1fr);width:min(1180px,100vw - 32px);display:grid;overflow:hidden}.usage-manual-body{align-items:stretch;gap:var(--space-4);grid-template-columns:340px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.usage-manual-section{gap:var(--space-3);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.usage-manual-section-title{border-bottom:1px solid var(--line-soft);align-items:end;gap:var(--space-3);padding-bottom:var(--space-2);justify-content:space-between;display:flex}.usage-manual-section-title h3,.usage-manual-step h4{margin:0;font-size:.9375rem}.usage-manual-section-title span{color:var(--muted);font-size:.75rem;font-weight:750}.usage-step-nav{align-content:start;gap:6px;min-height:0;padding-right:2px;display:grid;overflow:auto}.usage-manual-step{appearance:none;background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-sm);color:inherit;cursor:pointer;text-align:left;grid-template-columns:26px minmax(0,1fr);gap:8px;width:100%;min-height:54px;padding:7px 10px;transition:background .16s,border-color .16s,box-shadow .16s;display:grid}.usage-manual-step:hover{background:#f8fbfa;border-color:#cfe2dc}.usage-manual-step.active{background:var(--accent-weak);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.usage-manual-step>strong{border-radius:var(--radius-pill);color:var(--accent);background:#dbe8e4;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;display:inline-flex}.usage-manual-step.active>strong{background:var(--accent);color:#fff}.usage-step-copy{gap:2px;min-width:0;display:grid}.usage-step-copy h4{font-size:.9rem;line-height:1.2}.usage-step-copy span{color:var(--muted-strong);font-size:.72rem;line-height:1.25;display:block}.usage-step-detail{gap:var(--space-3);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.usage-detail-card{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-sm);gap:var(--space-4);min-height:0;padding:var(--space-4);display:grid;overflow:auto}.usage-detail-header{gap:8px;display:grid}.usage-detail-header h3{margin:0;font-size:1.25rem}.usage-detail-header p:not(.eyebrow){color:var(--muted-strong);max-width:720px;margin:0;font-size:.9375rem;line-height:1.7}.usage-detail-check{border-radius:var(--radius-sm);color:var(--muted-strong);align-items:center;gap:var(--space-2);background:#fff;border:1px solid #d7e8df;margin:0;padding:10px 12px;line-height:1.6;display:flex}.usage-detail-check svg,.usage-detail-points svg{color:var(--accent);flex:none}.usage-detail-points{gap:8px;margin:0;padding:0;list-style:none;display:grid}.usage-detail-points li{color:var(--muted-strong);align-items:flex-start;gap:8px;line-height:1.6;display:flex}.usage-screen-reference{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#fff;gap:10px;margin:0;padding:12px;display:grid}.usage-screen-reference img{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-sm);object-fit:contain;width:100%;max-height:300px;display:block}.usage-screen-reference figcaption{justify-content:space-between;align-items:center;gap:10px;display:flex}.usage-screen-reference figcaption strong{color:var(--ink);font-size:.875rem}.usage-screen-reference figcaption span{color:var(--muted);font-size:.75rem;font-weight:750}.usage-screen-reference ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.usage-screen-reference li{color:var(--muted-strong);align-items:flex-start;gap:8px;line-height:1.55;display:flex}.usage-screen-reference li svg{color:var(--accent);flex:none;margin-top:2px}.takeoff-analysis-panel{border:1px solid var(--line-soft);border-radius:var(--radius-sm);gap:var(--space-3);padding:var(--space-4);background:#fff;display:grid}.takeoff-analysis-title{align-items:flex-start;gap:var(--space-3);display:flex}.takeoff-analysis-title>svg{color:var(--accent);flex:none}.takeoff-analysis-title div{gap:4px;display:grid}.takeoff-analysis-title strong{font-size:.9375rem}.takeoff-analysis-title span{color:var(--muted);font-size:.8125rem;line-height:1.6}.takeoff-analysis-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.takeoff-analysis-flow>div{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-sm);gap:4px;min-height:78px;padding:10px;display:grid}.takeoff-analysis-flow svg{color:var(--accent)}.takeoff-analysis-flow strong{font-size:.8125rem}.takeoff-analysis-flow small{color:var(--muted);font-size:.75rem;line-height:1.5}.takeoff-analysis-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.takeoff-analysis-card{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#fff;gap:6px;padding:10px;display:grid}.takeoff-analysis-card>div{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.takeoff-analysis-card strong{font-size:.875rem}.takeoff-analysis-card code{background:var(--accent-weak);border-radius:var(--radius-pill);color:var(--accent);white-space:nowrap;border:1px solid #c7e2d9;padding:3px 7px;font-size:.6875rem;font-weight:750}.takeoff-analysis-card p{color:var(--muted-strong);margin:0;font-size:.75rem;font-weight:700;line-height:1.55}.takeoff-analysis-card small{color:var(--muted);font-size:.75rem;line-height:1.55}.document-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.document-settings-grid label{color:var(--muted-strong);gap:6px;font-size:.8125rem;font-weight:700;display:grid}.document-settings-grid label.wide{grid-column:1/-1}.document-settings-grid textarea{resize:vertical;min-height:104px;padding:10px 12px}.project-modal-form label{color:var(--muted-strong)}.empty-state-actions{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--muted-strong);padding:12px 14px;font-size:.8125rem;font-weight:650}
.page-filter-panel{margin-bottom:var(--space-3)}.page-filter-empty{background:linear-gradient(#fcfefd 0%,#f6fbf8 100%);border-style:dashed}.page-filter-summary{align-items:center;gap:var(--space-2);display:flex}.page-filter-chip-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.page-filter-chip{border:1px solid var(--line);color:var(--muted-strong);background:#fff;border-radius:14px;place-items:flex-start start;gap:3px;min-width:108px;min-height:auto;padding:10px 12px;display:grid}.page-filter-chip strong{font-size:.8125rem}.page-filter-chip.active{color:var(--accent);background:#eff8f4;border-color:#9fd4be}.estimate-panel-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.estimate-panel-side{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.work-surface{align-items:start;gap:var(--space-3);grid-template-columns:minmax(0,1fr) 360px;display:grid}.work-surface.single-column{grid-template-columns:minmax(0,1fr)}.workspace-primary,.workspace-support{gap:var(--space-3);min-width:0;display:grid}.mode-pane{display:none}.mode-pane.active{gap:var(--space-3);min-width:0;display:grid}.common-pane{order:2}.workspace-support{top:var(--space-5);position:sticky}.panel{gap:var(--space-2);min-width:0;padding:var(--space-3);display:grid}.panel.wide{overflow-x:auto}.panel-header,.panel-heading{align-items:center;gap:var(--space-3);justify-content:space-between;min-width:0;display:flex}.panel-heading{align-items:flex-start}.panel-heading>div{gap:var(--space-2);display:grid}.panel-heading p{color:var(--muted);font-size:.8125rem;line-height:1.6}.panel-header-side,.panel-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.panel-header-side{justify-content:flex-end;min-width:0}.panel-title{color:var(--text);align-items:center;gap:var(--space-2);min-width:0;display:flex}.panel-title svg{color:var(--accent);flex:none}.panel-title.compact{border-top:1px solid var(--line-soft);margin-top:var(--space-1);padding-top:var(--space-3)}.panel-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.panel-note.multiline{text-overflow:initial;white-space:normal;line-height:1.7;overflow:visible}.empty-text{color:var(--muted);font-size:.8125rem;line-height:1.55}.action-strip{align-items:center;gap:var(--space-2);grid-template-columns:minmax(220px,1fr) auto auto auto;display:grid}.action-strip button[type=button]{border-color:var(--line);color:var(--muted-strong);background:#fff}.action-strip button[type=button]:hover:not(:disabled){background:var(--panel-subtle);color:var(--text);border-color:#b8c2ce}.mini-table,.estimate-items,.profile-list,.reference-grid,.review-list,.order-list{gap:var(--space-2);display:grid}.mini-table>div,.estimate-row,.profile-row,.reference-row,.review-row,.order-row{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-sm);align-items:center;gap:var(--space-2);min-height:40px;padding:8px 10px;display:grid}.mini-table small,.estimate-row small,.profile-row small,.reference-row small,.order-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mini-table>div{grid-template-columns:minmax(0,1fr) 88px 92px}.profile-row{grid-template-columns:minmax(0,1fr) 82px 100px}.review-row{grid-template-columns:56px minmax(0,1fr)}.review-row strong{color:var(--accent)}.reference-row{grid-template-columns:minmax(160px,1.2fr) 90px minmax(240px,2fr)}.order-row{grid-template-columns:110px 96px minmax(180px,1fr) 92px 76px minmax(240px,1.4fr)}.table{min-width:820px;display:grid}.standard-length-input{min-height:32px;padding:4px 8px}.standard-length-input:disabled{color:var(--muted);background:#eef2f6}.metadata-delete-button{background:var(--danger-weak);color:var(--danger);border-color:#f4b8b3;min-height:32px;padding:0 10px}.metadata-delete-button:hover:not(:disabled){background:#ffe3df;border-color:#ee9b94}.metadata-help-grid{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.metadata-help-grid>div{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:linear-gradient(#fbfcfd 0%,#f4f8fa 100%);gap:6px;min-height:110px;padding:14px 16px;display:grid}.metadata-help-grid strong{color:var(--text);font-size:.875rem}.metadata-help-grid p{color:var(--muted-strong);margin:0;font-size:.8125rem;line-height:1.65}.metadata-input{min-height:32px;padding:4px 8px}.candidate-review-badge{border-radius:var(--radius-pill);color:#b96a00;background:#fff7e8;border:1px solid #f6d9a6;width:fit-content;padding:4px 8px;font-size:.6875rem;font-weight:800}.candidate-review-badge.done{color:var(--accent);background:#e8f8ef;border-color:#b6e4c7}.ai-setup-panel{gap:var(--space-4);padding:var(--space-4);background:radial-gradient(circle at 100% 0,#1c685814,#0000 34%),linear-gradient(#fcfefd 0%,#f5faf7 100%);border-color:#d9e7de}.ai-setup-steps{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ai-setup-step{border:1px solid var(--line-soft);background:#ffffffeb;border-radius:14px;gap:8px;min-height:146px;padding:16px;display:grid}.ai-setup-step span{border-radius:var(--radius-pill);color:var(--muted);background:#edf2f7;justify-content:center;align-items:center;width:30px;height:30px;font-size:.75rem;font-weight:800;display:inline-flex}.ai-setup-step strong{font-size:.95rem}.ai-setup-step p{color:var(--muted-strong);margin:0;font-size:.8125rem;line-height:1.65}.ai-setup-step.done{border-color:#b7dfc7;box-shadow:inset 0 0 0 1px #1c685814}.ai-setup-step.done span{background:var(--accent);color:#fff}.ai-setup-step.active{border-color:#8ec8b0;box-shadow:0 8px 20px #1c685814}.ai-setup-step.active span{color:var(--accent);background:#d9f1e6}.ai-setup-helper{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ai-setup-helper>div{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#ffffffd1;gap:5px;min-height:96px;padding:14px 16px;display:grid}.ai-setup-helper strong{color:var(--text);font-size:.875rem}.ai-setup-helper span{color:var(--muted-strong);font-size:.8125rem;line-height:1.7}.ai-setup-actions{justify-content:flex-end;display:flex}.ai-setup-actions button{min-width:200px}.thead,.trow{grid-template-columns:54px 1.35fr 104px 84px 64px 92px 1.9fr;align-items:center;gap:10px;display:grid}.thead{border:1px solid var(--line-soft);color:var(--muted);background:#f3f6f8;border-radius:6px 6px 0 0;min-height:36px;padding:0 10px;font-size:.75rem;font-weight:750}.trow{border-bottom:1px solid var(--line-soft);color:var(--muted-strong);min-height:42px;padding:0 10px;font-size:.875rem}.trow:nth-child(odd){background:#fbfcfd}.trow strong{color:var(--text)}.icon{border-color:var(--line);color:var(--muted);background:#fff;width:34px;min-height:30px;padding:0}.icon:hover:not(:disabled){background:var(--panel-subtle);color:var(--text);border-color:#b8c2ce}.icon.active{background:var(--accent-weak);border-color:var(--accent);color:var(--accent)}.estimate-summary{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.estimate-summary>div{border:1px solid var(--line-soft);border-radius:var(--radius-sm)}.estimate-candidate-panel{background:linear-gradient(180deg, #faf7edf5 0%, #fff 54%), var(--panel);border-color:#e7d7ad;box-shadow:0 16px 30px #78673a14}.estimate-panel-note{border-radius:var(--radius-pill);color:#8a5a15;background:#fff6df;border:1px solid #ecd8a4;align-items:center;min-height:30px;padding:0 12px;font-size:.75rem;font-weight:750;display:inline-flex}.estimate-candidate-panel .estimate-summary>div{background:#fffdf7;border-color:#e7d7ad}.estimate-candidate-panel .estimate-summary span{color:#886232}.estimate-candidate-panel .estimate-summary strong{color:#5c421f}.estimate-row{background:#fffdf9;border-color:#ebdfc0;grid-template-columns:minmax(180px,1.2fr) 78px 100px 110px minmax(180px,1fr);box-shadow:inset 0 1px #fffc}.modal-backdrop{z-index:50;background:#0f172a6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.progress-modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:var(--space-4);max-width:560px;padding:var(--space-5);width:min(560px,100%);display:grid}.modal-title{align-items:start;gap:var(--space-4);justify-content:space-between;display:flex}.modal-title p{color:var(--muted);margin-top:5px;font-size:.8125rem}.modal-close{border-color:var(--line);color:var(--muted);background:#fff;width:36px;min-height:34px;padding:0}.modal-close:hover:not(:disabled){background:var(--panel-subtle);color:var(--text);border-color:#b8c2ce}.modal-current{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;min-height:54px;padding:12px;display:flex}.modal-current.running{background:var(--info-weak);color:var(--info)}.modal-current.completed{background:var(--ok-weak);color:var(--ok)}.modal-current.error{background:var(--danger-weak);color:var(--danger)}.modal-steps{gap:var(--space-2);display:grid}.modal-step{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:56px;padding:9px 10px;display:grid}.modal-step>span{border-radius:var(--radius-pill);color:var(--muted);background:#eef2f6;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:750;display:inline-flex}.modal-step strong,.modal-step small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.modal-step small{color:var(--muted);margin-top:2px;font-size:.75rem}.modal-step.current{border-color:var(--info)}.modal-step.current>span{background:var(--info);color:#fff}.modal-step.done{background:var(--ok-weak)}.modal-step.done>span{background:var(--accent);color:#fff}.modal-error{word-break:break-word;font-size:.8125rem}.spin{animation:.8s linear infinite spin}.drawing-mode-switch{border-radius:var(--radius);background:#eef3f6;border:1px solid #ccd7e1;grid-template-columns:repeat(2,minmax(136px,1fr));align-items:center;gap:3px;width:min(100%,320px);padding:3px;display:inline-grid;box-shadow:inset 0 1px 2px #0f172a0d}.drawing-mode-button{border-radius:var(--radius-sm);color:var(--muted-strong);cursor:pointer;background:0 0;border:1px solid #0000;gap:7px;width:100%;min-height:40px;padding:8px 12px;font-weight:800}.drawing-mode-button:hover:not(:disabled){color:var(--text);background:#f8fbfc;border-color:#c8d4de}.drawing-mode-button.active{background:var(--text);border-color:var(--text);color:#fff;box-shadow:0 6px 14px #0f172a29}.drawing-mode-button.active:hover:not(:disabled){background:var(--text);border-color:var(--text);color:#fff}
.pdf-workbench{background:linear-gradient(180deg, #fbfdff 0%, #f5f8fb 100%), var(--panel);gap:var(--space-3);border-color:#cdd8e3}.pdf-workbench-grid{align-items:start;gap:var(--space-3);grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);display:grid}.pdf-method-flow-layout{align-items:start;gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.pdf-method-flow-main{align-content:start;gap:var(--space-3);min-width:0;display:grid}.pdf-method-flow-actions{align-items:center;gap:var(--space-2);background:linear-gradient(135deg,#12645614,#ffffffdb),#fff;border-color:#b8ddcf;grid-template-columns:minmax(0,1fr) auto;padding:14px 16px;display:grid}.pdf-method-flow-action-copy{gap:5px;min-width:0;display:grid}.pdf-method-flow-action-buttons{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.pdf-method-flow-actions .pdf-takeoff-progress{grid-column:1/-1}.pdf-flow-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;min-width:0;display:flex}.pdf-flow-back-button{color:var(--muted-strong);white-space:nowrap;background:#fff;border-color:#cbd7e1;min-height:34px;font-size:.8rem}.pdf-flow-back-button:hover:not(:disabled){color:var(--text);background:#f7fbfc;border-color:#9fb4c7}.pdf-guidance-panel{border-radius:var(--radius-md);background:linear-gradient(135deg,#12645617,#b47e240f),#fff;border:1px solid #c9e6da;gap:6px;padding:12px 14px;display:grid}.pdf-guidance-panel.active{border-color:#f1c982;box-shadow:inset 3px 0 #b47e24}.pdf-guidance-panel strong{color:var(--text);font-size:.95rem;font-weight:900}.pdf-guidance-panel p{color:var(--muted-strong);margin:0;font-size:.82rem;line-height:1.7}.pdf-error-banner{border-radius:var(--radius-xl);color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;padding:12px 14px;display:grid}.pdf-error-banner strong{color:#7c2d12;margin-bottom:3px;font-size:.9rem;display:block}.pdf-error-banner p{overflow-wrap:anywhere;margin:0;line-height:1.65}.pdf-page-selection-panel{align-content:start;gap:var(--space-2);min-width:0;display:grid}.pdf-page-selection-title{border-radius:var(--radius);align-items:center;gap:6px var(--space-2);background:#fff;border:1px solid #dbe4ec;flex-wrap:wrap;justify-content:space-between;padding:10px 12px;display:flex}.pdf-page-selection-title strong{color:var(--text);font-size:.92rem;font-weight:900}.pdf-page-selection-title span{color:var(--muted-strong);font-size:.78rem;font-weight:750}.pdf-page-grid{border-radius:var(--radius-sm);gap:var(--space-2);max-height:720px;padding:var(--space-2);background:linear-gradient(#07263706,#07263703),#fdfefe;border:1px solid #cbd7e1;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));display:grid;overflow:auto}.pdf-page-card{border-radius:var(--radius-sm);color:var(--text);text-align:left;background:#fffffff0;border:1px solid #d8e2ea;gap:6px;min-height:184px;padding:8px;display:grid}.pdf-page-card.active{background:#f4fbf8;border-color:#9fd4be;box-shadow:0 0 0 2px #1264561f}.pdf-page-preview-button{color:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;gap:6px;padding:4px;display:grid}.pdf-page-preview-button:hover:not(:disabled){color:var(--text);background:#f7fbfc;border-color:#c8dfe4}.pdf-page-card.active .pdf-page-preview-button{background:#eff8f4;border-color:#c9e6da}.pdf-page-preview-button img{border-radius:var(--radius-xs);object-fit:contain;background:#f8fbfd;border:1px solid #dbe5ec;width:100%;height:112px}.pdf-page-card strong,.pdf-page-card span,.pdf-page-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pdf-page-card span,.pdf-page-card small{color:var(--muted);font-size:.75rem}.pdf-page-checkbox{border-radius:var(--radius-sm);color:var(--muted-strong);cursor:pointer;background:#f7fbfc;border:1px solid #dce7ef;align-items:center;gap:7px;min-height:28px;padding:0 8px;font-size:.78rem;font-weight:750;display:flex}.pdf-page-checkbox.active{color:var(--accent);background:#eff8f4;border-color:#9fd4be}.pdf-page-checkbox input{accent-color:var(--accent);width:16px;height:16px}.pdf-page-use-control{border-radius:var(--radius-sm);background:#f7fbfc;border:1px solid #dce7ef;gap:7px;padding:8px;display:grid}.pdf-page-use-control.active{background:#fffaf0;border-color:#f1c982}.pdf-page-use-control label{color:var(--muted-strong);cursor:pointer;align-items:center;gap:7px;font-size:.78rem;font-weight:800;display:flex}.pdf-page-use-control input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.pdf-page-use-control .pdf-page-name-input{border-radius:var(--radius-sm);color:var(--text);background:#fff;border:1px solid #d6e1ea;width:100%;min-height:30px;padding:4px 7px;font-size:.78rem;font-weight:800}.pdf-page-selector{align-content:start;gap:var(--space-3);display:grid}.pdf-preview-box{border-radius:var(--radius-sm);background:linear-gradient(#07263709,#07263704),#fdfefe;border:1px solid #cbd7e1;place-items:center;min-height:320px;padding:10px;display:grid;box-shadow:inset 0 0 0 1px #ffffffb8,inset 0 0 32px #114d640d}.pdf-preview-box img{object-fit:contain;max-width:100%;max-height:420px}.pdf-role-editor,.pdf-trade-selector,.pdf-selected-summary,.pdf-finish-list,.pdf-result-detail{border-radius:var(--radius-sm);background:#fff;border:1px solid #dbe4ec;gap:8px;padding:12px;display:grid}.pdf-primary-selector{background:linear-gradient(135deg,#1264561f,#b47e2414),#fff;border-color:#9fd4be;padding:14px;box-shadow:0 10px 24px #12645614}.pdf-role-editor label,.pdf-trade-selector label,.pdf-selected-summary strong,.pdf-finish-list>strong,.pdf-result-detail strong{color:var(--muted-strong);font-size:.78rem;font-weight:800}.pdf-primary-selector label{color:var(--text);gap:3px;display:grid}.pdf-primary-selector label span{align-items:center;gap:6px;font-size:.95rem;display:flex}.pdf-primary-selector label span:before{background:var(--accent);border-radius:var(--radius-pill);content:"";width:8px;height:8px;box-shadow:0 0 0 4px #1264561f}.pdf-primary-selector label small{color:var(--muted-strong);font-size:.76rem;font-weight:700;line-height:1.55}.pdf-role-editor select,.pdf-trade-selector select{border-radius:var(--radius-sm);color:var(--text);background:#fff;border:1px solid #a8cabb;min-height:36px;padding:6px 8px;font-weight:800;box-shadow:inset 0 1px #ffffffe6}.pdf-trade-page-selector{margin-bottom:12px}.pdf-selected-trade-list{flex-wrap:wrap;gap:8px;display:flex}.pdf-selected-trade-list>span{border-radius:var(--radius-sm);background:#eef6f1;border:1px solid #b9d7c8;align-items:stretch;min-height:32px;display:inline-flex;overflow:hidden}.pdf-selected-trade-list>span.active{border-color:var(--accent);background:#dff1e9}.pdf-selected-trade-list button{color:var(--text);background:0 0;border:0;border-radius:0;min-height:30px;padding:5px 8px}.pdf-selected-trade-list button:first-child{align-items:center;gap:6px;font-weight:800;display:inline-flex}.pdf-selected-trade-list button.icon{border-left:1px solid #b9d7c8;min-width:30px;padding:5px}.pdf-selected-trade-list small{color:var(--muted-strong);font-size:.68rem;font-weight:800}.pdf-selected-summary button{justify-self:start;min-height:34px}.pdf-selected-summary span,.pdf-result-detail span,.pdf-role-editor p,.pdf-selected-summary p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.6}.pdf-finish-item{border-radius:var(--radius-sm);cursor:pointer;background:#fbfcfd;border:1px solid #e2e9ef;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:10px;display:grid}.pdf-finish-list-wide{gap:var(--space-3);background:linear-gradient(#fff 0%,#f8fbfd 100%);border-color:#cbd7e1}.pdf-finish-list-title{align-items:start;gap:var(--space-2);justify-content:space-between;display:flex}.pdf-finish-list-title div{gap:4px;display:grid}.pdf-finish-list-title strong{color:var(--text);font-size:1rem;font-weight:900}.pdf-finish-list-title span,.pdf-finish-list-title small{color:var(--muted-strong);font-size:.8rem;line-height:1.55}.pdf-finish-list-title small{border-radius:var(--radius-pill);color:var(--accent);background:#eff8f4;border:1px solid #c9e6da;flex:none;padding:5px 10px;font-weight:900}.pdf-finish-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.pdf-finish-item:hover{background:#f7fbfc;border-color:#c8dfe4}.pdf-finish-item:has(input:checked){box-shadow:inset 3px 0 0 var(--accent);background:#eff8f4;border-color:#9fd4be}.pdf-finish-item input{accent-color:var(--accent);margin-top:3px}.pdf-finish-item>span{color:var(--text);gap:3px;min-width:0;font-size:.82rem;display:grid}.pdf-finish-item strong{font-size:.78rem}.pdf-finish-item small{color:var(--muted);font-size:.75rem}.pdf-material-master-footer{background:#f1fbf5;border-color:#bfe8d1}.pdf-material-master-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.pdf-material-master-grid>div{border-radius:var(--radius-sm);background:#ffffffb8;border:1px solid #caecd9;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;gap:4px;min-height:86px;padding:10px 12px}.pdf-material-master-grid span,.pdf-material-master-grid small,.pdf-material-master-grid b{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pdf-material-master-grid span{color:var(--text);font-weight:850}.pdf-material-master-grid b{color:var(--text);font-size:.92rem}.pdf-result-kpis{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pdf-takeoff-result{gap:var(--space-3);width:100%;min-width:0;max-width:100%;overflow-x:hidden}.pdf-takeoff-result .analysis-candidate-table{width:100%;min-width:0;max-width:100%;overflow-x:auto}.pdf-takeoff-result .analysis-candidate-head,.pdf-takeoff-result .analysis-candidate-row{width:100%;min-width:0}.pdf-takeoff-result .pdf-result-detail{min-width:0;max-width:100%;overflow:hidden}.pdf-result-preview-panel{border-radius:var(--radius-sm);background:#f8fbfd;border:1px solid #dbe4ec;gap:8px;min-width:0;padding:10px;display:grid}.pdf-result-preview-toolbar{align-items:center;gap:var(--space-2);justify-content:space-between;min-width:0;display:flex}.pdf-result-preview-toolbar>div:first-child{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.pdf-result-preview-toolbar strong{color:var(--text);font-size:.82rem}.pdf-result-preview-toolbar span{color:var(--muted);font-size:.78rem;font-weight:800}.pdf-result-preview-controls{flex:none;align-items:center;gap:6px;display:flex}.pdf-result-preview-controls button{color:var(--muted-strong);background:#fff;border-color:#cbd7e1;width:30px;min-height:30px;padding:0}.pdf-result-preview-controls button:hover:not(:disabled){color:var(--accent);background:#eef7f4;border-color:#9fd4be}.pdf-result-preview-controls span{color:var(--muted-strong);text-align:center;min-width:42px;font-size:.76rem}.pdf-result-preview-frame{border-radius:var(--radius-sm);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-color:#eef3f6;background-image:linear-gradient(90deg,#0f172a09 1px,#0000 1px),linear-gradient(#0f172a09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #ced8e2;align-items:start;max-width:100%;height:clamp(260px,48vh,560px);min-height:260px;padding:10px;display:block;overflow:auto}.pdf-result-preview-frame.dragging{cursor:grabbing}.pdf-result-preview-frame.natural-size{height:auto}.pdf-result-preview-canvas{min-width:220px;margin-inline:auto;display:block;position:relative}.pdf-result-preview-frame img{border:1px solid var(--line);pointer-events:none;background:#fff;width:100%;max-width:none;height:auto;display:block;box-shadow:0 10px 24px #0f172a1f}.pdf-material-source-region{pointer-events:none;z-index:2;background:#f59e0b33;border:3px solid #f59e0b;position:absolute;box-shadow:0 0 0 2px #ffffffd9}.pdf-guidance-panel.pdf-weight-mode-panel{box-shadow:none;background:#f8fbfa;border-color:#d8e4df;padding:8px}.pdf-guidance-panel.pdf-weight-mode-panel.active{box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(135deg,#12645614,#fffffff5);border-color:#9fd4be}.pdf-material-cost-option{border-radius:var(--radius);background:#fff;border:1px solid #dbe5e1;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:13px 14px;display:grid;position:relative}.pdf-material-cost-option-static{background:#f3faf7;border-color:#9fd4be}.pdf-material-cost-option-icon{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--muted-strong);justify-content:center;align-self:stretch;align-items:center;min-height:38px;display:flex}.pdf-material-cost-option-static .pdf-material-cost-option-icon{background:var(--accent-weak);color:var(--accent);border-color:#b9d7ca}.pdf-material-cost-option-copy{gap:4px;min-width:0;display:grid}.pdf-material-cost-option-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pdf-material-cost-option-heading strong{font-size:.9rem}.pdf-material-cost-option-heading small{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--muted-strong);padding:4px 7px;font-size:.68rem;font-weight:800;line-height:1}.pdf-material-cost-option-static .pdf-material-cost-option-heading small{background:var(--accent-weak);color:var(--accent);border-color:#b9d7ca}.pdf-material-cost-option-description{color:var(--muted-strong);font-size:.78rem;font-weight:650;line-height:1.5}.pdf-guidance-panel.pdf-weight-page-guidance{box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(135deg,#12645614,#fffffff5);border-color:#b9d7ca}.material-calculation-panel{gap:var(--space-4);display:grid}.material-calculation-run-status,.material-calculation-match-status span,.material-calculation-summary span{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted-strong);padding:4px 8px;font-size:.75rem;font-weight:700}.material-calculation-run-status.confirmed,.material-calculation-match-status span.matched{color:#276238;background:#edf9f0;border-color:#b8dfc1}.material-calculation-match-status span.warning{color:#805b00;background:#fff8e7;border-color:#f2d38c}.material-calculation-run-actions,.material-calculation-row-actions,.material-calculation-summary{gap:var(--space-2);flex-wrap:wrap;display:flex}.material-calculation-list{gap:var(--space-3);display:grid}.material-calculation-row{border:1px solid var(--line);border-radius:var(--radius);gap:var(--space-3);padding:var(--space-4);display:grid}.material-calculation-row.excluded{background:var(--surface-soft);opacity:.75}.material-calculation-row-head,.material-calculation-match-status{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;display:flex}.material-calculation-row-head>div:first-child,.material-calculation-basis{gap:4px;display:grid}.material-calculation-row-head span,.material-calculation-basis span,.material-calculation-basis small{color:var(--muted-strong)}.material-calculation-values{gap:var(--space-2);grid-template-columns:repeat(3,minmax(110px,1fr));display:grid}.material-calculation-values>div{background:var(--surface-soft);border-radius:var(--radius-sm);gap:3px;padding:10px;display:grid}.material-calculation-values small{color:var(--muted)}.material-calculation-basis button{margin-top:var(--space-2);justify-self:start}.material-calculation-edit-form,.material-calculation-manual-form{border-top:1px solid var(--line-soft);align-items:end;gap:var(--space-2);padding-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.material-calculation-edit-form label,.material-calculation-manual-form label{color:var(--muted-strong);gap:4px;font-size:.75rem;display:grid}.material-calculation-edit-form select,.material-calculation-manual-form select{width:100%;min-width:0}.material-calculation-edit-form>strong,.material-calculation-manual-form>strong{grid-column:1/-1}.material-calculation-condition-selector,.material-calculation-frame-editor{border-radius:var(--radius-sm);gap:var(--space-3);padding:var(--space-3);border:1px solid #f2d38c;display:grid}.material-calculation-condition-selector{background:#fffbeb}.material-calculation-condition-selector>div:first-child{gap:4px;display:grid}.material-calculation-condition-selector>div:first-child span,.material-calculation-condition-options article span{color:var(--muted-strong);font-size:.8rem}.material-calculation-condition-options{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.material-calculation-condition-options article{border-radius:var(--radius-sm);gap:var(--space-2);padding:var(--space-3);background:#fff;border:1px solid #ead59f;display:grid}.material-calculation-condition-options article button{justify-self:start;margin-top:4px}.material-calculation-frame-editor{background:#f6fbf9;border-color:#bedfd1;grid-template-columns:repeat(2,minmax(150px,.7fr)) minmax(230px,1.4fr) auto;align-items:end}.material-calculation-frame-editor>strong{grid-column:1/-1}.material-calculation-frame-editor label{color:var(--muted-strong)}.material-calculation-frame-editor label span{color:var(--muted-strong);align-items:center;gap:var(--space-2);grid-template-columns:minmax(90px,1fr) auto;display:grid}.material-calculation-frame-preview{grid-template-columns:auto minmax(130px,1fr);gap:3px;display:grid}.material-calculation-frame-preview small{color:var(--muted)}.material-calculation-frame-preview strong{color:var(--text)}.material-weight-takeoff-group{margin-top:var(--space-4)}.material-weight-takeoff-grid .analysis-candidate-head,.material-weight-takeoff-grid .analysis-candidate-row{grid-template-columns:minmax(110px,1fr) minmax(80px,.7fr) minmax(80px,.7fr) minmax(110px,1fr) minmax(110px,.9fr) minmax(110px,.9fr)}.material-weight-takeoff-grid .analysis-candidate-row>span:nth-child(5){gap:3px;display:grid}.material-weight-takeoff-grid .analysis-candidate-row>strong:last-child{color:var(--accent)}@media (max-width:900px){.material-calculation-values{grid-template-columns:repeat(2,minmax(0,1fr))}.material-calculation-frame-editor{grid-template-columns:1fr}.material-calculation-frame-editor>strong{grid-column:1}.material-weight-takeoff-grid{min-width:720px}}.pdf-result-page-actions,.pdf-document-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;min-width:0;display:flex}.pdf-result-intro,.pdf-result-action-hint{border-radius:var(--radius-sm);color:var(--muted-strong);border:1px solid #dbe8e2;margin:0;padding:10px 12px;font-size:.84rem;line-height:1.7}.pdf-result-intro{background:#f7fbfa}.pdf-result-action-hint{color:#9a4a12;background:#fff7ed;border-color:#fed7aa}.pdf-result-section-title{border:1px solid #dbe4ec;border-left:4px solid var(--accent);border-radius:var(--radius-sm);background:#fff;gap:4px;padding:10px 12px;display:grid}.pdf-result-section-title strong{color:var(--text);font-size:.92rem}.pdf-result-section-title span{color:var(--muted);font-size:.82rem;line-height:1.6}.pdf-document-flow{gap:var(--space-3);min-width:0;max-width:100%;overflow-x:hidden}.pdf-document-layout{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.pdf-document-layout .estimate-document{min-width:0}.pdf-document-actions{border-radius:var(--radius-sm);align-items:center;gap:var(--space-3);margin-top:var(--space-3);background:#fff;border:1px solid #dbe4ec;justify-content:space-between;padding:12px 14px;display:flex}.pdf-document-actions strong{color:var(--text);font-size:.9rem}.pdf-document-actions p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.6}.pdf-document-export-buttons{gap:var(--space-2);flex:0 0 min(520px,48%);grid-template-columns:repeat(3,minmax(0,1fr));min-width:360px;display:grid}.pdf-document-actions button{white-space:nowrap;justify-content:center;width:100%;min-width:0}.pdf-document-aggregate-editor{border-radius:var(--radius-sm);gap:var(--space-3);min-width:0;padding:var(--space-3);background:#fff;border:1px solid #dbe4ec;display:grid}.pdf-aggregate-editor-grid{border-radius:var(--radius-sm);border:1px solid #dbe4ec;min-width:0;display:grid;overflow:hidden}.pdf-aggregate-editor-head,.pdf-aggregate-editor-row{grid-template-columns:48px minmax(220px,1fr) minmax(260px,1fr) minmax(260px,1.2fr);align-items:center;gap:10px;min-width:0;padding:9px 10px;display:grid}.pdf-aggregate-editor-head{color:var(--muted-strong);background:#f3f6f8;font-size:.75rem;font-weight:800}.pdf-aggregate-editor-row{border-top:1px solid var(--line-soft)}.pdf-aggregate-editor-row.muted{color:#8491a2;background:#f5f7f9}.pdf-aggregate-editor-fields{grid-template-columns:minmax(130px,1fr) minmax(110px,.8fr);gap:8px;min-width:0;display:grid}.pdf-aggregate-editor-fields.compact{grid-template-columns:minmax(82px,.8fr) 58px minmax(82px,.8fr)}.pdf-aggregate-editor-fields label,.pdf-aggregate-basis-field,.pdf-document-material-add-form label{color:var(--muted-strong);min-width:0}.pdf-aggregate-editor-fields input,.pdf-aggregate-basis-field input,.pdf-document-material-add-form input,.pdf-document-material-add-form select{min-width:0;min-height:32px;padding:5px 8px}.pdf-aggregate-basis-field{gap:4px;min-width:0;display:grid}.pdf-document-material-add{border-radius:var(--radius-sm);gap:var(--space-2);padding:var(--space-3);background:#f1fbf5;border:1px solid #bfe8d1;display:grid}.pdf-document-material-add>div:first-child{gap:4px;display:grid}.pdf-document-material-add strong{color:var(--text);font-size:.9rem}.pdf-document-material-add p,.pdf-document-aggregate-actions p{color:var(--muted-strong);margin:0;font-size:.8rem;line-height:1.6}.pdf-document-material-add-form{align-items:end;gap:var(--space-2);grid-template-columns:minmax(220px,1.2fr) 92px 110px minmax(180px,1fr) auto;display:grid}.pdf-added-material-list{gap:6px;display:grid}.pdf-added-material-list>div{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#fff;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;min-height:38px;padding:6px 8px;display:grid}.pdf-added-material-list span,.pdf-added-material-list small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pdf-added-material-list button{color:var(--muted);background:0 0;border:0;min-height:28px;padding:0}.pdf-added-material-list button:hover:not(:disabled){background:var(--danger-weak);color:var(--danger)}.pdf-document-aggregate-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.pdf-result-kpis>div{border-radius:var(--radius-sm);background:linear-gradient(#fff 0%,#f8fbfd 100%);border:1px solid #dbe4ec;align-content:space-between;gap:10px;min-height:108px;padding:12px;display:grid}.pdf-result-kpis span{color:var(--muted-strong);font-size:.75rem;font-weight:800}.pdf-result-kpis strong{color:var(--text);font-size:1.45rem;line-height:1.1}.pdf-wall-formula{border-radius:var(--radius-sm);background:#f7fbfc;border:1px solid #dbe4ec;gap:8px;padding:12px;display:grid}.pdf-wall-formula>div{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:8px;display:grid}.pdf-wall-formula span{color:var(--muted-strong);font-size:.78rem;font-weight:800}.pdf-wall-formula strong{color:var(--text);overflow-wrap:anywhere;font-size:.95rem}.pdf-result-basis-grid{border-radius:var(--radius-sm);background:#fff;border:1px solid #dbe4ec;display:grid;overflow:hidden}.pdf-result-basis-grid>strong{color:var(--muted-strong);background:#f3f6f8;border-bottom:1px solid #dbe4ec;padding:10px 12px;font-size:.78rem;font-weight:800}.pdf-basis-row{border-bottom:1px solid var(--line-soft);grid-template-columns:150px minmax(0,1fr);gap:12px;padding:10px 12px;display:grid}.pdf-basis-row:last-child{border-bottom:0}.pdf-basis-row span{color:var(--text);font-size:.82rem;font-weight:800}.pdf-basis-row p{color:var(--muted-strong);overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.65}.pdf-result-detail.warning{background:#fff7ed}.pdf-estimate-candidates{background:#fff}.pdf-estimate-candidate-table{border-radius:var(--radius-sm);border:1px solid #dbe4ec;display:grid;overflow:hidden}.pdf-estimate-candidate-head,.pdf-estimate-candidate-row{grid-template-columns:48px 88px minmax(220px,1.1fr) 150px minmax(360px,1.8fr);align-items:start;gap:12px;padding:9px 10px;display:grid}.pdf-estimate-candidate-head{background:#f3f6f8;border-bottom:1px solid #dbe4ec}.pdf-estimate-candidate-head span{color:var(--muted-strong);font-size:.74rem;font-weight:800}.pdf-estimate-candidate-row{border-bottom:1px solid var(--line-soft);color:var(--muted-strong)}.pdf-estimate-candidate-row:nth-child(odd){background:#fbfcfd}.pdf-estimate-candidate-row:last-child{border-bottom:0}.pdf-estimate-candidate-row strong{color:var(--text);font-size:.82rem}.pdf-estimate-candidate-row span{overflow-wrap:anywhere;gap:2px;display:grid}.pdf-estimate-candidate-row small{color:var(--muted);font-size:.72rem}.pdf-takeoff-progress{gap:8px;display:grid}.pdf-progress-track{border-radius:var(--radius-pill);background:#e5e7eb;height:8px;overflow:hidden}.pdf-progress-track span{background:var(--info);border-radius:inherit;width:42%;height:100%;animation:1.1s ease-in-out infinite pdf-progress;display:block}.pdf-takeoff-progress p{color:var(--muted);margin:0;font-size:.78rem}@keyframes pdf-progress{0%{transform:translate(-110%)}to{transform:translate(260%)}}@keyframes spin{to{transform:rotate(360deg)}}.drawing-dimension-workbench{margin-bottom:18px}.drawing-dimension-header{border-bottom:1px solid #e2e8f0;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;min-height:46px;margin:-10px -10px 0;padding:0 6px;display:grid}.drawing-dimension-header h2{color:var(--text);text-align:center;margin:0;font-size:1rem}.drawing-dimension-header-action{color:var(--accent);background:0 0;border:0;justify-content:center;align-items:center;min-height:32px;padding:0;display:inline-flex}.drawing-dimension-header-action:hover:not(:disabled){color:var(--accent-hover);background:#edf8f1;border-color:#0000}.dimension-upload{border-radius:var(--radius-lg);cursor:pointer;text-align:center;border:2px dashed #b7c3d0;place-items:center;gap:8px;padding:32px;display:grid}.dimension-upload-status{cursor:default}.dimension-upload-status span{color:var(--text-muted);font-weight:500}.dimension-upload-options{gap:14px;display:grid}.dimension-resume-scan{color:var(--text);text-align:left;background:#edf8f1;border:1px solid #9bcdb0;justify-content:flex-start;align-items:center;gap:12px;padding:16px 18px;display:flex}.dimension-resume-scan svg{color:var(--accent);flex:none}.dimension-resume-scan span{gap:3px;display:grid}.dimension-resume-scan small{color:var(--text-muted);font-weight:500}.dimension-upload input{max-width:280px}.dimension-selection-panel{border-radius:var(--radius-lg);background:#f8fafc;border:1px solid #d7e0e8;gap:14px;padding:20px;display:grid}.dimension-selection-heading{gap:4px;display:grid}.dimension-selection-heading strong{color:var(--text);font-size:1rem}.dimension-selection-heading small{color:#64748b}.dimension-selection-toolbar,.dimension-selection-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.dimension-selection-toolbar>div,.dimension-selection-actions{flex-wrap:wrap;gap:8px;display:flex}.dimension-selection-toolbar span{color:var(--muted-strong);font-size:.9rem;font-weight:600}.dimension-selection-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:980px;max-height:min(50vh,520px);display:grid;overflow:auto}.dimension-selection-item{border-radius:var(--radius);background:#fff;border:1px solid #d7e0e8;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.dimension-selection-checkbox{cursor:pointer;align-items:center;display:flex}.dimension-selection-checkbox>input[type=checkbox]{accent-color:var(--accent);box-sizing:border-box;flex:none;width:16px;min-width:16px;height:16px;min-height:16px;margin:0;padding:0}.dimension-selection-item:has(input:checked){border-color:var(--accent);background:#edf8f1}.dimension-selection-item.previewing{box-shadow:0 0 0 2px #173b57}.dimension-selection-preview-trigger{appearance:none;color:inherit;cursor:zoom-in;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;min-height:0;padding:0;display:grid}.dimension-selection-preview-trigger>span{text-align:left;gap:2px;min-width:0;display:grid}.dimension-selection-large-preview{justify-items:start;gap:8px;display:grid}.dimension-selection-large-preview>div:first-child{flex-wrap:wrap;gap:4px 10px;display:flex}.dimension-selection-large-preview small{color:#64748b}.dimension-selection-large-preview-frame{border-radius:var(--radius);background:#fff;border:1px solid #cbd5e1;justify-content:center;align-items:center;width:min(100%,460px);height:min(34vh,320px);display:flex;overflow:hidden}.dimension-selection-large-preview-frame img{object-fit:contain;width:100%;height:100%;display:block}.dimension-selection-large-preview-frame span{color:#94a3b8}.dimension-selection-preview{background:var(--bg);border-radius:var(--radius-sm);border:1px solid #d7e0e8;justify-content:center;align-items:center;width:92px;height:64px;display:flex;overflow:hidden}.dimension-selection-preview img{object-fit:contain;width:100%;height:100%;display:block}.dimension-selection-preview span{color:#94a3b8;text-align:center;font-size:.7rem}.dimension-selection-item small{color:#64748b}.dimension-selection-toolbar button,.dimension-selection-actions button{min-height:34px;padding:6px 12px}.dimension-selection-actions .primary{background:var(--accent);border-color:var(--accent);color:#fff}.dimension-selection-actions .primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}@media (max-width:720px){.dimension-selection-list{grid-template-columns:1fr}}.dimension-layout{grid-template-columns:minmax(0,1fr) minmax(340px,400px);align-items:start;gap:18px;display:grid}.dimension-page-tabs{gap:6px;margin-bottom:8px;display:flex}.dimension-page-tabs button.active{color:#fff;background:#173b57}.dimension-canvas-toolbar{color:#475569;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.dimension-canvas-zoom-controls{align-items:center;gap:4px;display:flex}.dimension-canvas-zoom-controls button{border-radius:var(--radius-xs);color:#334155;background:#fff;border:1px solid #cbd5e1;place-items:center;min-width:32px;height:32px;padding:0 8px;display:inline-grid}.dimension-canvas-zoom-controls button:hover:not(:disabled){color:#1d4ed8;border-color:#2563eb}.dimension-canvas-zoom-controls button:disabled{cursor:not-allowed;opacity:.45}.dimension-canvas-zoom-controls .dimension-canvas-zoom-value{font-variant-numeric:tabular-nums;min-width:64px}.dimension-canvas{border-radius:var(--radius);background:var(--bg);border:1px solid #d7e0e8;max-height:min(72vh,820px);overflow:auto}.dimension-canvas-content{width:100%;line-height:0;position:relative}.dimension-canvas img{width:100%;height:auto;display:block}.dimension-image-placeholder{color:#64748b;text-align:center;background:#f8fafc;place-items:center;min-height:180px;padding:24px;line-height:1.5;display:grid}.dimension-canvas-content>button.dimension-candidate{z-index:1;box-sizing:border-box;cursor:pointer;background:#2563eb26;border:1.5px solid #2563eb;border-radius:2px;min-width:8px;min-height:8px;padding:0;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s;position:absolute}.dimension-canvas-content>button.dimension-candidate:hover,.dimension-canvas-content>button.dimension-candidate.active-target:hover{background:#2563eb40;border-color:#1d4ed8}.dimension-canvas-content>button.dimension-candidate.inactive-target{opacity:.46}.dimension-canvas-content>button.dimension-candidate.verification-needs_review{border-style:dashed}.dimension-canvas-content>button.dimension-candidate.review-required{background:#f9731638;border-style:dashed;border-color:#ea580c}.dimension-canvas-content>button.dimension-candidate.review-required:hover{background:#f9731652;border-color:#c2410c}.dimension-canvas-content>button.dimension-candidate.verification-rejected{opacity:.5}.dimension-canvas-content>button.dimension-candidate.axis-horizontal{z-index:2;opacity:1;background:#2563eb66;border-color:#2563eb;box-shadow:0 0 0 2px #fff,0 0 0 4px #2563eb99}.dimension-canvas-content>button.dimension-candidate.axis-vertical{z-index:2;opacity:1;background:#8b5cf666;border-color:#7c3aed;box-shadow:0 0 0 2px #fff,0 0 0 4px #7c3aed99}.dimension-canvas-content>button.dimension-candidate.axis-both{z-index:3;opacity:1;background:#10b98180;border-color:#047857;box-shadow:0 0 0 2px #fff,0 0 0 4px #10b98199}.dimension-canvas-content>button.dimension-candidate.formula-selected{z-index:2;background:#10b98166;border-color:#047857;box-shadow:0 0 0 2px #fff,0 0 0 4px #10b98199}.dimension-summary{flex-direction:column;gap:12px;display:flex;position:sticky;top:16px}.dimension-summary label{gap:5px;display:grid}.dimension-summary input,.dimension-summary select{background:#fff;border:1px solid #cbd5e1;border-radius:7px;min-width:0;padding:9px}.dimension-instruction{border-radius:var(--radius);color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;gap:4px;padding:10px 12px;display:grid}.dimension-instruction span{color:var(--muted-strong);font-size:12px;line-height:1.5}.dimension-axis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dimension-axis-card{border-radius:var(--radius);background:#f8fafc;border:1px solid #cbd5e1;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:7px;padding:7px;display:grid}.dimension-axis-card.axis-horizontal.active{background:#eff6ff;border-color:#2563eb}.dimension-axis-card.axis-vertical.active{background:#f5f3ff;border-color:#7c3aed}.dimension-axis-select{border-radius:var(--radius-sm);color:#334155;cursor:pointer;background:#e2e8f0;border:0;min-width:48px;padding:5px;display:grid}.dimension-axis-card.axis-horizontal .dimension-axis-select{color:#1d4ed8;background:#dbeafe}.dimension-axis-card.axis-vertical .dimension-axis-select{color:#6d28d9;background:#ede9fe}.dimension-axis-select small{font-size:10px;font-weight:400}.dimension-axis-card input{box-sizing:border-box;width:100%;height:100%}.dimension-formula-list{gap:7px;display:grid}.dimension-formula-item{grid-template-columns:54px minmax(0,1fr) 30px;align-items:center;gap:7px;display:grid}.dimension-formula-item select,.dimension-formula-start{text-align:center;justify-content:center;align-items:center;height:40px;padding:0 8px;display:flex}.dimension-formula-start{color:var(--muted);font-size:11px;font-weight:700}.dimension-formula-remove{color:#64748b;background:0 0;border:0;justify-content:center;align-items:center;height:30px;padding:0;display:flex}.dimension-formula-remove:hover{color:#b91c1c;background:#fee2e2}.dimension-formula-add{color:var(--accent);background:#fff;align-self:start;align-items:center;gap:5px;min-height:34px;display:inline-flex}.dimension-formula-empty{border-radius:var(--radius);color:var(--muted);text-align:center;border:1px dashed #cbd5e1;margin:0;padding:12px;font-size:12px}.dimension-total{border-radius:var(--radius);background:#f3f6f8;grid-template-columns:auto 1fr;gap:5px 8px;padding:12px;display:grid}.dimension-total svg{grid-row:1/4}.dimension-draft-total{border:1px solid #d7e0e8}.dimension-selected-header{justify-content:space-between;align-items:center;display:flex}.dimension-selected-header span{border-radius:var(--radius-pill);color:#047857;background:#e6fffa;padding:2px 7px;font-size:12px;font-weight:700}.dimension-estimate-list{border-radius:var(--radius);background:#fbfdff;border:1px solid #d7e0e8;gap:8px;padding:12px;display:grid}.dimension-estimate-items{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dimension-estimate-item{border-radius:var(--radius-sm);background:#eff6ff;border:1px solid #bfdbfe;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px;display:grid}.dimension-estimate-item>div:first-child{min-width:0}.dimension-estimate-item strong,.dimension-estimate-item small{display:block}.dimension-estimate-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dimension-estimate-item small{color:var(--muted-strong);font-size:11px;line-height:1.45}.dimension-estimate-item-value{text-align:right;white-space:nowrap}.dimension-estimate-item-value strong{color:#1e40af}.dimension-selected-remove{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:50%;width:24px;height:24px;padding:0;font-size:18px;line-height:1}.dimension-selected-remove:hover{color:#1d4ed8;background:#dbeafe}.dimension-selected-remove:disabled{cursor:not-allowed;opacity:.45}.dimension-candidate-total{color:#334155;border-top:1px solid #d7e0e8;justify-content:space-between;gap:8px;padding-top:4px;font-size:12px;display:flex}.dimension-create-estimate{width:100%}.dimension-summary{gap:0}.dimension-step{border-bottom:1px solid #e2e8f0;gap:10px;padding:13px 0;display:grid}.dimension-step:first-child{padding-top:12px}.dimension-step-add{border-bottom:0;padding-bottom:13px}.dimension-step-heading{align-items:flex-start;gap:8px;display:flex}.dimension-step-heading>div{gap:2px;min-width:0;display:grid}.dimension-step-heading strong{color:#1f2937;font-size:.86rem;line-height:1.35}.dimension-step-heading small{color:var(--muted);font-size:.68rem;line-height:1.45}.dimension-step-number{background:var(--accent);color:#fff;border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.dimension-density-note{color:var(--muted);font-size:.68rem}.dimension-input-with-unit{flex:1;align-items:stretch;gap:6px;min-width:0;display:flex}.dimension-input-with-unit .dimension-input-shell{flex:1;min-width:0}.dimension-input-unit{color:#334155;white-space:nowrap;flex:none;align-items:center;font-size:.72rem;display:inline-flex}.dimension-formula-item .dimension-input-with-unit{flex:1}.dimension-field{gap:5px;display:grid}.dimension-material-picker{position:relative}.dimension-material-picker-trigger{border:1px solid var(--border);color:#1f2937;text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:8px 10px 8px 12px;font-size:.78rem;display:flex}.dimension-material-picker-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dimension-material-picker-trigger .placeholder{color:var(--muted)}.dimension-material-picker-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent)}.dimension-material-picker-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.dimension-material-picker-menu{z-index:20;background:#fff;border:1px solid #d7dee8;border-radius:10px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 12px 28px #0f172a29}.dimension-material-search{color:var(--muted);border-bottom:1px solid #e5e7eb;align-items:center;gap:7px;padding:8px;display:flex}.dimension-material-search input[type=search]{box-shadow:none;border:0;width:100%;min-width:0;height:34px;padding:0;font-size:.78rem}.dimension-material-options{max-height:250px;padding:5px;overflow-y:auto}.dimension-material-option-group>small{color:var(--muted);padding:7px 8px 4px;font-size:.65rem;font-weight:700;display:block}.dimension-material-option-group button{color:#1f2937;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px;font-size:.75rem;display:flex}.dimension-material-option-group button:hover,.dimension-material-option-group button:focus-visible{background:#f1f5f9}.dimension-material-option-group button[aria-selected=true]{background:color-mix(in srgb, var(--accent) 9%, white);color:var(--accent)}.dimension-material-option-group button span{gap:2px;display:grid}.dimension-material-option-group button span small{color:var(--muted);font-size:.66rem}.dimension-material-empty{color:var(--muted);text-align:center;margin:0;padding:18px 10px;font-size:.73rem}.dimension-field>span:first-child:not(.sr-only){color:#334155;font-size:.72rem;font-weight:700}.dimension-field>span:first-child small{color:var(--muted);font-size:inherit;font-weight:500}.dimension-summary select{height:40px;padding:0 10px}.dimension-axis-grid{gap:9px}.dimension-axis-card{background:#fff;gap:0;padding:0;display:grid;overflow:hidden}.dimension-axis-card.axis-horizontal.active,.dimension-axis-card.axis-vertical.active{border-color:var(--accent);background:#fff}.dimension-axis-select{color:#334155;text-align:left;background:#fff;border:0;border-radius:0;justify-content:stretch;align-items:stretch;gap:2px;min-height:50px;padding:8px 9px 5px;display:grid}.dimension-axis-card.axis-horizontal .dimension-axis-select,.dimension-axis-card.axis-vertical .dimension-axis-select{color:#334155;background:#fff}.dimension-axis-label{justify-content:space-between;align-items:center;gap:6px;display:flex}.dimension-axis-label strong{color:#334155;font-size:.76rem}.dimension-axis-select small{color:var(--muted);font-size:10px;font-weight:400}.dimension-axis-input-field{display:block}.dimension-input-shell{background:#fff;border:1px solid #cbd5e1;border-radius:7px;align-items:stretch;min-height:40px;display:flex;overflow:hidden}.dimension-axis-card .dimension-input-shell{border:0;border-top:1px solid #e2e8f0;border-radius:0}.dimension-input-shell input{background:0 0;border:0;border-radius:0;flex:1;min-width:0;padding:8px 10px}.dimension-input-shell input:focus{outline:0}.dimension-input-shell>span{color:#334155;white-space:nowrap;border-left:1px solid #cbd5e1;justify-content:center;align-items:center;min-width:50px;padding:0 8px;font-size:.72rem;display:inline-flex}.dimension-field-hint{color:var(--muted);align-items:center;gap:4px;margin:-2px 0 0;font-size:.68rem;line-height:1.4;display:flex}.dimension-field-hint svg{flex:none}.dimension-total{align-items:center;gap:10px;display:flex}.dimension-total-icon{color:var(--accent);background:#edf8f1;border-radius:7px;flex:0 0 38px;justify-content:center;align-items:center;height:38px;display:inline-flex}.dimension-total dl{flex:1;gap:5px;min-width:0;margin:0;display:grid}.dimension-total dl>div{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.dimension-total dt,.dimension-total dd{margin:0;font-size:.72rem;line-height:1.35}.dimension-total dt{color:var(--muted-strong)}.dimension-total dd{color:#334155;text-align:right;font-weight:750}.dimension-add-candidate{width:100%;min-height:38px}.dimension-estimate-list{background:0 0;border:0;border-top:1px solid #e2e8f0;border-radius:0;gap:8px;padding:14px 0 0}.dimension-empty-candidates{border-radius:var(--radius);color:#94a3b8;text-align:center;border:1px dashed #d7e0e8;place-items:center;gap:4px;padding:14px 10px;display:grid}.dimension-empty-candidates svg{color:#94a3b8}.dimension-empty-candidates strong{color:#64748b;font-size:.74rem}.dimension-empty-candidates small{color:#94a3b8;font-size:.68rem}.dimension-create-estimate:disabled{color:#7b8491;opacity:1;background:#d9dee6;border-color:#d9dee6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:900px){.dimension-layout{grid-template-columns:1fr}.dimension-layout>.dimension-summary{order:-1}.dimension-summary{position:static}}
@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (max-width:1180px){.work-surface{grid-template-columns:1fr}.workspace-support{position:static}.ai-setup-steps,.ai-setup-helper,.ai-help-layout,.metadata-help-grid,.pdf-workbench-grid,.pdf-method-flow-layout,.pdf-document-layout,.pdf-result-kpis{grid-template-columns:1fr}.pdf-document-actions{flex-direction:column;align-items:stretch;position:static}.pdf-document-export-buttons{flex-basis:auto;width:100%;min-width:0}.pdf-aggregate-editor-head,.pdf-aggregate-editor-row{grid-template-columns:44px minmax(180px,1fr) minmax(220px,1fr) minmax(220px,1fr)}.pdf-document-material-add-form,.pdf-material-method-add-form{grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-document-material-add-form button{width:100%}.material-master-form{grid-template-columns:repeat(2,minmax(0,1fr))}.material-master-form label,.material-master-form label:first-child,.material-master-form label:nth-child(3),.material-master-form label:nth-child(9),.material-master-form label:nth-child(10){grid-column:auto}.project-directory-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.project-directory-clear{width:fit-content}.settings-view .material-master-form{grid-template-columns:1fr}.settings-view .material-master-form .settings-material-method-list,.settings-view .material-master-form-actions{grid-column:1}}@media (max-width:920px){.weight-master-overview{grid-template-columns:1fr}.pdf-flow-header-actions,.pdf-result-page-actions,.pdf-document-toolbar{justify-content:flex-start;width:100%}.pdf-flow-back-button{width:100%}.pdf-method-flow-actions{grid-template-columns:1fr;align-items:stretch}.pdf-method-flow-action-buttons{justify-content:flex-start}.pdf-method-flow-action-buttons button{width:100%}.pdf-wall-formula>div{grid-template-columns:1fr;align-items:start}.pdf-estimate-candidate-head,.pdf-estimate-candidate-row{grid-template-columns:1fr}.pdf-basis-row{grid-template-columns:1fr;gap:4px}.pdf-aggregate-editor-head{display:none}.pdf-aggregate-editor-row{grid-template-columns:38px minmax(0,1fr);align-items:start}.pdf-aggregate-editor-fields,.pdf-aggregate-editor-fields.compact,.pdf-aggregate-basis-field{grid-column:2;grid-template-columns:1fr}.pdf-document-material-add-form,.pdf-material-method-row,.pdf-material-method-add-form{grid-template-columns:1fr}.pdf-material-method-row .icon,.pdf-material-method-add-form button{width:100%}.pdf-document-export-buttons{grid-template-columns:1fr}.ai-help-form{grid-template-columns:1fr;align-items:stretch}.usage-manual-body{grid-template-rows:minmax(150px,.45fr) minmax(0,1fr);grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;min-height:auto;position:static;overflow:visible}.estimate-summary,.workflow,.action-strip,.estimate-start,.process-steps,.recent-project-list,.billing-gate-plan-grid,.billing-plan-grid,.account-detail-list{grid-template-columns:1fr}.billing-portal-panel{flex-direction:column;align-items:stretch}.material-master-form{grid-template-columns:1fr}.material-master-form-actions{justify-content:stretch}.material-master-form-actions button{width:100%}.project-directory-toolbar{grid-template-columns:1fr}.project-directory-clear{width:100%}.settings-material-method-head{display:none}.settings-material-method-row{grid-template-columns:minmax(0,1fr) minmax(132px,.7fr) 38px}.workflow-step{border-bottom:1px solid var(--line-soft);border-right:0}.workflow-step:last-child{border-bottom:0}.topbar,.panel-header,.panel-heading{align-items:flex-start;gap:var(--space-2);display:grid}.panel-header-side{justify-content:flex-start}.analysis-footer{bottom:8px;left:8px;right:8px}}
