:root{--bg:#eef2f5;--panel:#fff;--panel-subtle:#f8fafb;--line:#d6dde5;--line-soft:#e8edf2;--text:#17212b;--muted:#667485;--muted-strong:#475569;--accent:#126456;--accent-hover:#0d5147;--accent-weak:#e7f3ef;--danger:#b42318;--danger-weak:#fff1f0;--warn:#925400;--warn-weak:#fff7e6;--ok:#146c43;--ok-weak:#edf8f1;--info:#2563eb;--info-weak:#e8f1ff;--sidebar:#202933;--sidebar-line:#ffffff24;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius:8px;--shadow:0 18px 45px #0f172a2e}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);letter-spacing:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-weight:650;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .12s,filter .16s;display:inline-flex;position:relative;overflow:hidden;transform:translateZ(0)}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:active:not(:disabled),.auth-button:active,.auth-link-button:active{filter:brightness(.96);transform:translateY(1px)scale(.985)}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 #1264562e}@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{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:6px;width:100%;min-height:36px;padding:6px 10px}textarea{resize:vertical;min-height:80px}input[type=file]{color:var(--muted-strong);padding:6px}label{color:#d7dee7;gap:6px;font-size:12px;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);gap:var(--space-5);width:100%;max-width:520px;padding:28px;display:grid;box-shadow:0 14px 34px #0f172a14}.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);color:var(--muted-strong);gap:var(--space-3);max-height:176px;padding:var(--space-4);background:#fff;border-radius:10px;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:flex-start;gap:var(--space-2);font-size:.875rem;font-weight:800;line-height:1.6;display:flex}.terms-checkbox input{flex:none;width:auto;margin-top:4px}.auth-error{background:var(--danger-weak);color:var(--danger);border:1px solid #ffd1cc;border-radius:6px;padding:9px 10px;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:6px;justify-content:center;align-items:center;padding:0 12px;text-decoration:none;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .12s,filter .16s;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}
.app-shell{grid-template-columns:276px 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{color:#dbeafe;background:#dbeafe2e;border:1px solid #bfdbfe61;border-radius:999px;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{color:#bdeee4;background:#12645629;border:1px solid #5eead442;border-radius:999px;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);color:var(--muted);background:#f3f6f8;border-radius:6px 6px 0 0;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{background:var(--panel-subtle);border:1px solid var(--line-soft);border-radius:var(--radius);gap:var(--space-3);max-width:min(760px,94%);padding:var(--space-4);line-height:1.65;display:grid}.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);color:var(--muted-strong);background:#fff;border-radius:999px;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)}.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);color:var(--muted-strong);border-radius:999px;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{color:#fff;z-index:80;background:#0f6b5e;border:1px solid #ffffff29;border-radius:8px;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);color:var(--muted);background:#eef2f6;border-radius:999px;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);color:var(--ok);border:1px solid #cbe9d6;border-radius:6px;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);color:var(--muted);background:#eef2f6;border-radius:999px;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);color:var(--accent);box-sizing:content-box;border-radius:999px;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);color:var(--text);text-align:left;white-space:normal;border-radius:6px;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);color:var(--ok);border:1px solid #cbe9d6;border-radius:999px;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{color:var(--muted-strong);background:#fff;border:1px solid #e2e9ef;border-radius:6px;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{color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;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{color:#526274;cursor:pointer;background:#fff;border:1px solid #d4dee7;border-radius:999px;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{color:#1f5f6b;cursor:pointer;background:#f7fbfc;border:1px solid #c8dfe4;border-radius:6px;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{gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2);background:#fff8dc;border:1px solid #f1d27a;border-radius:10px;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);color:#fff;cursor:pointer;border-radius:6px;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);color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;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);align-items:center;gap:var(--space-2);border-radius:6px;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);color:#fff;border-radius:999px;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{background:#eef3f6;border-radius:999px;align-items:center;padding:4px;display:inline-flex}.document-kind-tabs button{color:var(--muted-strong);background:0 0;border:0;border-radius:999px;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:10px;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{color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;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:6px;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-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{color:var(--accent);white-space:nowrap;background:#e6f7f0;border:1px solid #bce6d2;border-radius:999px;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-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{background:linear-gradient(#1264560a,#12645604),#fff;border:1px solid #c9e6da;border-radius:6px;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{background:linear-gradient(135deg,#edf8f3f0,#fffffff5),#fff;border:1px solid #b8ddcf;border-radius:6px;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{background:#ffffffe0;border:1px solid #b8ddcfd1;border-radius:6px;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);color:var(--accent);margin-top:var(--space-2);border:1px solid #cbe9d6;border-radius:999px;justify-self:center;padding:7px 14px;font-size:.95rem;display:inline-flex}.billing-coupon-notice{color:#dc2626;background:#fff5f5;border:1px solid #fecaca;border-radius:999px;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);color:#fff;border-radius:999px;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);color:#fff;border-radius:999px;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{color:#dc2626;background:#fff5f5;border:1px solid #fecaca;border-radius:999px;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);color:#fff;border-radius:999px;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}
.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);color:inherit;cursor:pointer;text-align:left;border-radius:6px;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{color:var(--accent);background:#dbe8e4;border-radius:999px;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);gap:var(--space-4);min-height:0;padding:var(--space-4);border-radius:6px;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{color:var(--muted-strong);align-items:center;gap:var(--space-2);background:#fff;border:1px solid #d7e8df;border-radius:6px;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);background:#fff;border-radius:6px;gap:10px;margin:0;padding:12px;display:grid}.usage-screen-reference img{background:var(--panel-subtle);border:1px solid var(--line-soft);object-fit:contain;border-radius:6px;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);gap:var(--space-3);padding:var(--space-4);background:#fff;border-radius:6px;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:6px;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);background:#fff;border-radius:6px;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);color:var(--accent);white-space:nowrap;border:1px solid #c7e2d9;border-radius:999px;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:6px;min-width:0;padding:10px;display:grid}.panel.wide{overflow-x:auto}.panel-header{align-items:center;gap:var(--space-3);justify-content:space-between;min-width:0;display:flex}.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);align-items:center;gap:var(--space-2);border-radius:6px;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);background:linear-gradient(#fbfcfd 0%,#f4f8fa 100%);border-radius:10px;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{color:#b96a00;background:#fff7e8;border:1px solid #f6d9a6;border-radius:999px;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{color:var(--muted);background:#edf2f7;border-radius:999px;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);background:#ffffffd1;border-radius:12px;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:6px}.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{color:#8a5a15;background:#fff6df;border:1px solid #ecd8a4;border-radius:999px;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{color:var(--muted);background:#eef2f6;border-radius:999px;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{background:var(--danger-weak);border-radius:var(--radius);color:var(--danger);word-break:break-word;border:1px solid #ffccc7;padding:10px 12px;font-size:.8125rem}.spin{animation:.8s linear infinite spin}.drawing-mode-switch{background:#eef3f6;border:1px solid #ccd7e1;border-radius:8px;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{color:var(--muted-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;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{background:linear-gradient(135deg,#12645617,#b47e240f),#fff;border:1px solid #c9e6da;border-radius:10px;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{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;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{align-items:center;gap:6px var(--space-2);background:#fff;border:1px solid #dbe4ec;border-radius:8px;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{gap:var(--space-2);max-height:720px;padding:var(--space-2);background:linear-gradient(#07263706,#07263703),#fdfefe;border:1px solid #cbd7e1;border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));display:grid;overflow:auto}.pdf-page-card{color:var(--text);text-align:left;background:#fffffff0;border:1px solid #d8e2ea;border-radius:6px;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{object-fit:contain;background:#f8fbfd;border:1px solid #dbe5ec;border-radius:4px;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{color:var(--muted-strong);cursor:pointer;background:#f7fbfc;border:1px solid #dce7ef;border-radius:6px;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{background:#f7fbfc;border:1px solid #dce7ef;border-radius:6px;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{color:var(--text);background:#fff;border:1px solid #d6e1ea;border-radius:6px;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{background:linear-gradient(#07263709,#07263704),#fdfefe;border:1px solid #cbd7e1;border-radius:6px;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{background:#fff;border:1px solid #dbe4ec;border-radius:6px;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);content:"";border-radius:999px;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{color:var(--text);background:#fff;border:1px solid #a8cabb;border-radius:6px;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{background:#eef6f1;border:1px solid #b9d7c8;border-radius:6px;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{cursor:pointer;background:#fbfcfd;border:1px solid #e2e9ef;border-radius:6px;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{color:var(--accent);background:#eff8f4;border:1px solid #c9e6da;border-radius:999px;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{background:#ffffffb8;border:1px solid #caecd9;border-radius:6px;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{background:#f8fbfd;border:1px solid #dbe4ec;border-radius:6px;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{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;border-radius:6px;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}.pdf-result-preview-frame img{pointer-events:none;background:#fff;border:1px solid #d6dde5;width:100%;max-width:none;height:auto;display:block;box-shadow:0 10px 24px #0f172a1f}.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{color:var(--muted-strong);border:1px solid #dbe8e2;border-radius:6px;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);background:#fff;border-radius:6px;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{align-items:center;gap:var(--space-3);margin-top:var(--space-3);background:#fff;border:1px solid #dbe4ec;border-radius:6px;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{gap:var(--space-3);min-width:0;padding:var(--space-3);background:#fff;border:1px solid #dbe4ec;border-radius:6px;display:grid}.pdf-aggregate-editor-grid{border:1px solid #dbe4ec;border-radius:6px;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{gap:var(--space-2);padding:var(--space-3);background:#f1fbf5;border:1px solid #bfe8d1;border-radius:6px;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);background:#fff;border-radius:6px;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{background:linear-gradient(#fff 0%,#f8fbfd 100%);border:1px solid #dbe4ec;border-radius:6px;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{background:#f7fbfc;border:1px solid #dbe4ec;border-radius:6px;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{background:#fff;border:1px solid #dbe4ec;border-radius:6px;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:1px solid #dbe4ec;border-radius:6px;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{background:#e5e7eb;border-radius:999px;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)}}
@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){.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{align-items:flex-start;gap:var(--space-2);display:grid}.analysis-footer{bottom:8px;left:8px;right:8px}}
.admin-shell{gap:var(--space-4);max-width:1280px;margin:0 auto;padding:32px 24px 48px;display:grid}.admin-error{background:var(--danger-weak);color:var(--danger);border:1px solid #ffd1cc;border-radius:6px;padding:10px 12px}.admin-kpi-row{gap:var(--space-4);display:flex}.admin-table{background:var(--panel);border:1px solid var(--line);border-collapse:collapse;border-radius:var(--radius);width:100%;overflow:hidden}.admin-table th,.admin-table td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:10px 12px;font-size:13px}.admin-table th{background:var(--panel-subtle);color:var(--muted-strong);font-size:12px}.material-master-post-cut-fields{gap:var(--space-3);padding:var(--space-3);background:#f7fbff;border:1px solid #d8e8f7;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.material-master-post-cut-fields p{color:var(--muted);grid-column:1/-1;margin:0}.material-master-post-cut-fields label{grid-column:span 1}.material-master-edit-post-cut-fields{grid-template-columns:repeat(4,minmax(110px,1fr))}.metalwork-takeoff-grid .analysis-candidate-head,.metalwork-takeoff-grid .analysis-candidate-row{grid-template-columns:48px minmax(96px,.9fr) minmax(84px,.8fr) minmax(104px,1fr) minmax(96px,.8fr) minmax(76px,.7fr)}.metalwork-page-takeoff-grid .analysis-candidate-head,.metalwork-page-takeoff-grid .analysis-candidate-row{grid-template-columns:minmax(112px,.9fr) minmax(82px,.7fr) minmax(96px,.85fr) 58px minmax(236px,1.35fr) minmax(92px,.55fr) minmax(92px,.75fr)}.metalwork-takeoff-grid .analysis-candidate-row,.metalwork-page-takeoff-grid .analysis-candidate-row{align-items:start;row-gap:6px;min-height:auto}.metalwork-takeoff-grid .analysis-candidate-row input,.metalwork-page-takeoff-grid .analysis-candidate-row input{align-self:center;width:100%;min-width:0}.metalwork-takeoff-grid .analysis-candidate-head span,.metalwork-takeoff-grid .analysis-candidate-row>span,.metalwork-page-takeoff-grid .analysis-candidate-head span,.metalwork-page-takeoff-grid .analysis-candidate-row>span,.metalwork-page-takeoff-grid .analysis-candidate-row>label{overflow-wrap:anywhere;min-width:0}.metalwork-takeoff-grid .analysis-candidate-row.muted,.metalwork-page-takeoff-grid .analysis-candidate-row.muted{color:#8290a0;background:#f4f6f8}.metalwork-page-takeoff-grid .analysis-candidate-row.muted input{color:#718091;background:#eef1f4;border-color:#d8dee6}.metalwork-adjustment-cell{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;min-width:220px;display:grid}.metalwork-takeoff-detail-cell,.metalwork-final-quantity-cell,.metalwork-takeoff-detail-input{gap:3px;min-width:0;display:grid}.metalwork-adjustment-cell label{gap:4px;min-width:0;display:grid}.metalwork-adjustment-cell input{min-height:30px}.metalwork-field-cell{align-self:start;gap:4px;min-width:0;display:grid}.metalwork-field-cell small{color:var(--muted);min-height:16px;font-size:11px;line-height:16px}.metalwork-field-cell input{min-height:30px}.metalwork-page-takeoff-grid .metalwork-adjustment-cell{align-items:start;gap:6px;min-width:0}.metalwork-page-takeoff-grid .metalwork-adjustment-cell label{min-width:0}.metalwork-page-takeoff-grid .metalwork-takeoff-detail-cell strong,.metalwork-page-takeoff-grid .metalwork-takeoff-detail-cell small{overflow-wrap:anywhere}.metalwork-adjustment-cell small,.metalwork-takeoff-detail-cell small,.metalwork-final-quantity-cell small{color:var(--muted);min-height:16px;font-size:11px;line-height:16px}.metalwork-takeoff-detail-cell strong,.metalwork-final-quantity-cell strong{color:var(--text);font-size:13px}.metalwork-row-detail{border-top:1px dashed #dce5ec;grid-column:1/-1;grid-template-columns:minmax(280px,.95fr) minmax(260px,1.4fr);align-items:start;gap:10px;margin-top:2px;padding:7px 0 1px;display:grid}.metalwork-takeoff-grid .metalwork-row-detail{grid-template-columns:1fr}.metalwork-method-group{gap:8px;display:grid}.metalwork-method-group+.metalwork-method-group{border-top:1px solid var(--line-soft);margin-top:10px;padding-top:10px}.metalwork-method-group-title{border-left:3px solid var(--accent);background:#f7faf9;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.metalwork-method-group-title strong{color:var(--text);font-size:13px}.metalwork-method-group-title span{color:var(--muted);font-size:12px}.metalwork-aggregate-heading{justify-content:space-between;align-items:start;gap:8px;display:flex}.metalwork-aggregate-heading strong{color:var(--text)}.metalwork-aggregate-heading div{gap:4px;display:grid}.metalwork-aggregate-heading p{color:var(--muted-strong);margin:0;font-size:.8rem;line-height:1.6}.metalwork-aggregate-heading span{color:var(--muted);font-size:12px}.metalwork-aggregate-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:8px 0 12px;display:grid}.metalwork-aggregate-summary{background:#f8fbfa;border:1px solid #dbe8e2;border-radius:6px;gap:3px;padding:8px 10px;display:grid}.metalwork-aggregate-summary span,.metalwork-aggregate-summary small{color:var(--muted);font-size:12px}.metalwork-aggregate-summary strong{color:var(--accent-strong);font-size:16px}.metalwork-item-type-cell{grid-template-rows:16px minmax(30px,auto);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:4px 8px;min-width:0;display:grid}.metalwork-item-type-cell>input[type=checkbox]{grid-area:1/1;align-self:center;width:16px;height:16px}.metalwork-item-type-cell>input:not([type=checkbox]){grid-area:1/2;width:100%;min-height:30px}.metalwork-item-type-cell>span{grid-area:1/2;min-width:0;line-height:16px}.metalwork-item-type-cell>select{grid-area:2/1/auto/-1;width:100%;min-width:120px}.metalwork-row-delete-button{color:var(--muted);background:0 0;border:0;grid-column:1/-1;justify-content:center;align-items:center;min-height:28px;padding:4px;display:inline-flex}.metalwork-row-delete-button:hover{color:var(--danger)}.metalwork-page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.metalwork-page-heading label{align-items:center;gap:8px;display:inline-flex}.metalwork-page-heading input{width:160px;min-width:120px}.metalwork-row-actions{justify-content:flex-start;margin-top:8px;display:flex}.admin-page-head{align-items:start;gap:var(--space-4);margin-bottom:var(--space-4);justify-content:space-between;display:flex}.admin-lead{color:var(--muted-strong);margin-top:var(--space-2);line-height:1.7}.admin-notice{border-radius:var(--radius-sm);color:#047857;margin:var(--space-3) 0;padding:var(--space-3);background:#ecfdf5;border:1px solid #bbf7d0}.admin-kpi-row.compact{min-width:260px;margin:0}.admin-chat-context-grid{align-items:start;gap:var(--space-4);grid-template-columns:minmax(320px,420px) minmax(0,1fr);display:grid}.admin-chat-context-form,.admin-chat-context-list,.admin-document-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4)}.admin-chat-context-form{gap:var(--space-3);top:var(--space-4);display:grid;position:sticky}.admin-chat-context-form h2,.admin-chat-context-list h2{margin:0 0 var(--space-2);font-size:1rem}.admin-chat-context-form label{color:var(--muted-strong);gap:6px;font-size:.875rem;font-weight:750;display:grid}.admin-chat-context-form input,.admin-chat-context-form select,.admin-chat-context-form textarea{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font:inherit;padding:10px 12px}.admin-chat-context-form textarea{resize:vertical;line-height:1.6}.admin-checkbox-row{flex-direction:row;align-items:center;display:flex!important}.admin-checkbox-row input{width:auto}.admin-form-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-form-actions .secondary{border-color:var(--line);color:var(--text);background:#fff}.admin-form-actions .danger{color:#be123c;background:#fff1f2;border-color:#fecdd3}.admin-document-cards,.admin-document-card{gap:var(--space-3);display:grid}.admin-document-card-head{align-items:start;gap:var(--space-3);justify-content:space-between;display:flex}.admin-document-card-head strong,.admin-document-card-head small{display:block}.admin-document-card-head small,.admin-document-url,.admin-document-excerpt,.admin-empty{color:var(--muted-strong);line-height:1.6}.admin-document-url,.admin-document-excerpt{overflow-wrap:anywhere;margin:0}.admin-badge{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:800}.admin-badge.enabled{color:#047857;background:#ecfdf5}.admin-badge.disabled{color:#64748b;background:#f1f5f9}@media (max-width:900px){.admin-page-head,.admin-chat-context-grid{grid-template-columns:1fr;display:grid}.admin-chat-context-form{position:static}}

