:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fff;--surface:#fff;--surface-subtle:#fafafa;--border:#e5e5e5;--border-strong:#b5b5b5;--text:#171717;--muted:#686868;--blue:#285cc4;--blue-dark:#1f4fa9;--blue-soft:#f3f6fc;--green:#237a4b;--green-soft:#eaf7ef;--amber:#9a6400;--amber-soft:#fff6df;--red:#ad343e;--red-soft:#fff0f1;--radius:2px;--shadow:none}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}main{min-height:100vh}.skip-link{z-index:100;background:var(--text);color:#fff;padding:10px 14px;font-weight:600;text-decoration:none;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.app-header{z-index:20;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;min-height:72px;padding:0 clamp(20px,3.5vw,64px);display:flex;position:sticky;top:0}.brand,.header-actions,.progress-strip>div,.recalculate-bar>div{align-items:center;display:flex}.brand{align-items:baseline;gap:18px}.brand strong{letter-spacing:-.025em;font-size:16px}.brand span,.progress-strip span,.recalculate-bar span{color:var(--muted);font-size:12px}.header-actions{gap:16px}.scope-note{color:var(--muted);font-size:12px}.button{border-radius:var(--radius);border:1px solid #0000;min-height:44px;padding:0 17px;font-weight:600;transition:background .14s,border-color .14s,color .14s}.button-primary{border-color:var(--text);background:var(--text);color:#fff}.button-primary:hover:not(:disabled){background:#303030;border-color:#303030}.button-secondary{border-color:var(--text);color:var(--text);background:#fff}.button-secondary:hover{border-color:var(--blue);color:var(--blue)}.welcome{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);align-content:center;gap:clamp(48px,7vw,88px);width:min(1180px,100% - 64px);min-height:calc(100vh - 72px);margin:auto;display:grid}.welcome-copy h1{letter-spacing:-.04em;max-width:620px;margin:14px 0 20px;font-size:clamp(36px,4vw,54px);font-weight:500;line-height:1.06}.welcome-copy>p:last-child{max-width:510px;color:var(--muted);margin:0;font-size:16px;line-height:1.65}.eyebrow{color:var(--muted);letter-spacing:.075em;text-transform:uppercase;margin:0 0 5px;font-size:12px;font-weight:500}.dropzone{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:44px;transition:border-color .14s,background .14s;display:flex}.dropzone-active{border-color:var(--blue);background:var(--blue-soft)}.upload-symbol{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle);width:44px;height:44px;color:var(--text);place-items:center;margin-bottom:22px;font-size:22px;display:grid}.dropzone h2{letter-spacing:-.02em;margin:0 0 7px;font-size:19px;font-weight:600}.dropzone p{color:var(--muted);margin:0 0 25px;font-size:13px}.file-strip{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;min-height:60px;padding:8px clamp(20px,3.5vw,64px);display:flex}.file-strip>div{flex-direction:column;gap:3px;min-width:0;display:flex}.file-strip strong{text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,620px);font-size:13px;overflow:hidden}.file-strip span{color:var(--muted);font-size:12px}.workspace{grid-template-columns:minmax(500px,1.05fr) minmax(480px,.95fr);height:calc(100vh - 133px);display:grid}.drawing-pane,.review-pane{min-width:0}.drawing-pane{border-right:1px solid var(--border);background:var(--surface-subtle);flex-direction:column;padding:24px clamp(20px,2.25vw,36px);display:flex}.pane-heading,.review-header,.section-heading,.section-title,.field-heading,.drawing-stock,.recalculate-bar{justify-content:space-between;align-items:center;display:flex}.pane-heading{min-height:44px;padding-bottom:12px}.pane-heading h2{text-overflow:ellipsis;white-space:nowrap;max-width:600px;margin:0;font-size:13px;overflow:hidden}.text-button{min-height:44px;color:var(--blue);background:0 0;border:0;padding:0 4px;font-size:13px;font-weight:600}.pdf-frame{border:1px solid var(--border);background:#fff;border-radius:0;flex:1;width:100%;min-height:0}.review-pane{background:var(--surface);padding:28px clamp(24px,4vw,64px) 56px;overflow-y:auto}.result-pane{justify-content:center;align-items:flex-start;padding-top:clamp(48px,9vh,96px);display:flex}.result-ticket{width:min(100%,720px)}.result-ticket dl{margin:0}.ticket-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(112px,.72fr) minmax(170px,1.28fr);align-items:center;gap:24px;min-height:56px;padding:14px 0;display:grid}.ticket-row dt{color:var(--muted);letter-spacing:.075em;text-transform:uppercase;font-size:12px;font-weight:500}.ticket-row span{display:none}.ticket-row dd{max-width:none;color:var(--text);letter-spacing:-.015em;text-align:right;overflow-wrap:anywhere;margin:0;font-size:clamp(16px,1.3vw,20px);font-weight:600;line-height:1.35}.stock-status{border-top:1px solid var(--border);color:var(--muted);margin:24px 0 0;padding:18px 0 0;font-size:14px;line-height:1.6}.analysis-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.analysis-loading h2{letter-spacing:-.025em;margin:18px 0 5px;font-size:22px;font-weight:500}.analysis-loading p{color:var(--muted);margin:0}.spinner{border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.review-header{border-bottom:1px solid var(--border);padding-bottom:24px}.review-header h1{letter-spacing:-.03em;margin:0;font-size:24px;font-weight:650}.summary-status,.recommendation-state,.status{white-space:nowrap;border-radius:999px;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.summary-status{text-transform:capitalize;padding:6px 9px}.summary-complete{background:var(--green-soft);color:var(--green)}.summary-partial_success{background:var(--amber-soft);color:var(--amber)}.summary-unsupported{background:var(--red-soft);color:var(--red)}.field-section{border-bottom:1px solid var(--border);padding:25px 0 8px}.section-title{margin-bottom:11px}.section-title h2{margin:0;font-size:14px}.section-title>span{color:var(--muted);font-size:11px}.field-row{border-radius:var(--radius);border:1px solid #0000;margin:0 -10px 3px;padding:10px}.field-review{background:var(--amber-soft);border-color:#efd79e}.field-heading{align-items:flex-start;gap:10px;margin-bottom:6px}.field-heading label{color:var(--muted);font-size:11px;font-weight:600}.field-heading p,.field-reason{color:var(--muted);margin:2px 0 0;font-size:10px}.field-reason{color:var(--amber);line-height:1.45}.status{min-height:20px;padding:2px 7px}.status-resolved{background:var(--green-soft);color:var(--green)}.status-needs_review{color:var(--amber);background:#ffedbd}.status-missing,.status-unsupported{background:var(--red-soft);color:var(--red)}.status-corrected{background:var(--blue-soft);color:var(--blue-dark)}.status-not_applicable{color:var(--muted);background:#eef1f5}.field-not-applicable input:disabled{border-color:var(--border);color:var(--muted);background:#f5f7f9}.field-row input,.field-row select,.unit-select{border:1px solid var(--border-strong);width:100%;height:36px;color:var(--text);background:#fff;border-radius:5px;outline:none;padding:0 10px}.field-row input:focus,.field-row select:focus,.unit-select:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2463eb1f}.two-column-fields,.dimension-grid{grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.unit-select{width:auto;height:30px;color:var(--muted);font-size:11px}.dimension-input{align-items:center;display:flex;position:relative}.dimension-input input{padding-right:38px}.dimension-input span{color:var(--muted);pointer-events:none;font-size:10px;position:absolute;right:10px}.drawing-stock,.recommendation,.blocked-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle);margin-top:20px}.drawing-stock{align-items:flex-start;padding:16px}.drawing-stock strong{font-size:13px}.drawing-stock p:last-child{color:var(--muted);margin:3px 0 0;font-size:10px}.recommendation{background:#f6fcf8;border-color:#b7d8c5;padding:19px}.section-heading{align-items:flex-start;gap:16px}.section-heading h2{letter-spacing:-.015em;margin:0;font-size:16px}.recommendation-order{color:var(--green);margin:5px 0 0;font-size:13px;font-weight:700}.recommendation-state{background:var(--green-soft);color:var(--green);padding:5px 8px}.recommendation-unverified{background:var(--amber-soft);border-color:#efd79e}.recommendation-state-unverified{color:var(--amber);background:#ffedbd}.recommendation-unverified .recommendation-order{color:var(--amber)}.recommendation-grid{grid-template-columns:1fr 1fr;gap:15px 20px;margin:18px 0 0;display:grid}.recommendation-grid div{min-width:0}.recommendation-grid dt{color:var(--muted);margin-bottom:2px;font-size:10px}.recommendation-grid dd{margin:0;font-size:12px;font-weight:600}.blocked-panel{background:var(--amber-soft);border-color:#efd79e;padding:19px}.blocked-panel h2{margin:0 0 5px;font-size:16px}.blocked-panel p{color:#6f5830;margin:0;font-size:11px}.blocked-list{border-top:1px solid #efd79e;padding-top:12px;margin-top:12px!important}.blocked-reasons{color:#6f5830;margin:10px 0 0;padding-left:18px;font-size:11px}.confirm-stock-button{margin-top:14px}.recalculate-bar{z-index:5;border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f8fff5;border:1px solid #aac4f7;margin:20px -8px 0;padding:12px 14px;position:sticky;bottom:12px;box-shadow:0 8px 24px #1e3f6e1f}.recalculate-bar .button{min-height:34px;font-size:12px}.evidence-drawer{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:20px}.evidence-drawer summary{color:var(--muted);cursor:pointer;padding:13px 2px;font-size:11px;font-weight:600}.evidence-content{grid-template-columns:1fr 1fr;gap:14px;padding:4px 2px 15px;display:grid}.evidence-content>div{border-left:2px solid var(--border);padding-left:10px}.evidence-content strong,.evidence-content span{font-size:10px;display:block}.evidence-content span,.evidence-content p{color:var(--muted)}.evidence-content p{margin:4px 0 0;font-size:10px}.candidate-evidence{padding:0 2px 15px}.candidate-evidence h3{margin:0 0 8px;font-size:11px}.candidate-group{border-top:1px solid var(--border);padding:8px 0}.candidate-group strong,.candidate-group p{font-size:10px}.candidate-group p{color:var(--muted);margin:4px 0 0;line-height:1.45}.candidate-group b{color:var(--text);font-weight:600}.verification-note{color:var(--muted);margin:18px 0 0;font-size:10px;line-height:1.5}.error-banner{border-radius:var(--radius);background:var(--red-soft);color:var(--red);border:1px solid #e4b4b8;grid-column:1/-1;padding:14px 16px;font-size:13px}.workspace-error{margin:16px clamp(20px,3.5vw,64px) 0}@media (max-width:980px){.welcome{grid-template-columns:1fr;gap:40px;padding:72px 0 84px}.dropzone{min-height:300px}.workspace{grid-template-columns:1fr;height:auto}.drawing-pane{border-right:0;border-bottom:1px solid var(--border);height:62vh}.review-pane{overflow:visible}}@media (max-width:620px){.app-header,.file-strip{padding-left:16px;padding-right:16px}.scope-note{display:none}.welcome{width:min(100% - 40px,520px);padding:54px 0 70px}.welcome-copy h1{font-size:36px}.dropzone{min-height:270px;padding:28px 18px}.drawing-pane{height:58vh;padding:16px}.review-pane{padding:22px 16px 48px}.result-pane{padding:42px 20px 56px}.ticket-row{grid-template-columns:minmax(98px,.72fr) minmax(145px,1.28fr);gap:16px}.two-column-fields,.dimension-grid,.recommendation-grid,.evidence-content{grid-template-columns:1fr}.recalculate-bar{flex-direction:column;align-items:stretch;gap:10px}}@media (max-width:430px){.brand span{display:none}.welcome-copy h1{font-size:33px}.drawing-pane{height:52vh}.ticket-row{grid-template-columns:1fr;gap:6px}.ticket-row dd{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
