:root{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;--yellow:var(--accent);--line:var(--line);--muted:var(--muted);--dark:var(--ink)}
/* First-use workflow and visible keyboard focus. */
:focus-visible{outline:3px solid var(--link);outline-offset:3px}button{min-height:40px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field-error{color:var(--error);font-size:14px;line-height:1.5}.field-error:empty{display:none}[aria-invalid=true]{border:2px solid var(--error)}.wizard-dialog{width:700px;max-height:90dvh;padding:28px;overflow:auto}.wizard-dialog h2{font-size:26px;line-height:1.3}.wizard-fieldset{border:0;margin:0;padding:0;min-width:0}.wizard-dialog .dialog-title{margin-bottom:14px}.wizard-progress{display:flex;gap:6px;margin-bottom:24px}.wizard-progress span{height:4px;background:var(--panel);flex:1;border-radius:4px}.wizard-progress .done{background:var(--link)}.wizard-content{padding:24px 0;min-height:235px}.wizard-content label{color:var(--ink)}.wizard-content .hint{margin:0}.wizard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.choice-group{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:flex;flex-direction:row;align-items:center;gap:10px;border:1px solid var(--line);padding:14px;border-radius:10px;cursor:pointer}.choice:has(input:checked){background:var(--accent-soft);border-color:var(--link)}.choice input{width:18px;height:18px;accent-color:var(--link);flex-shrink:0}.wizard-content .checkbox{margin:20px 0}.wizard-footer{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:18px}.wizard-dialog .primary{width:auto;margin:0}.wizard-storage{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:13px;color:var(--muted)}.wizard-files{padding:0;list-style:none}.wizard-files li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.wizard-files span{overflow-wrap:anywhere}.wizard-files small{display:block;color:var(--muted);margin-top:5px}.file-picker{padding:18px;border:1px dashed var(--line);border-radius:10px}.wizard-summary{margin:0}.wizard-summary>div{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:14px 0;border-bottom:1px solid var(--line)}.wizard-summary dt{font-size:13px;color:var(--muted)}.wizard-summary dd{margin:0;grid-column:1;overflow-wrap:anywhere;line-height:1.5}.wizard-summary button{grid-column:2;grid-row:auto;font-size:12px}
@media(max-width:700px){.wizard-dialog{padding:20px;max-height:94dvh}.wizard-grid,.choice-group{grid-template-columns:1fr}.wizard-content{min-height:180px}.wizard-dialog h2{font-size:22px}.wizard-footer{position:sticky;bottom:-20px;background:var(--paper);padding-bottom:16px}.wizard-footer button{flex:1}.wizard-files li{align-items:start}.wizard-summary>div{gap:8px}}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select,input{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}p{line-height:1.55}h1,h2,h3{letter-spacing:-.035em;margin:0}h1{font-size:32px;line-height:1.2}h2{font-size:22px}h3{font-size:17px}button{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:10px 15px;font-weight:600;font-size:14px;transition:background .15s}button:hover{background:var(--panel)}.primary{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.primary:hover{background:var(--accent)}.secondary{background:var(--paper)}.icon-button{padding:0;width:30px;height:30px;font-size:22px;background:transparent;border:0}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--dark);color:var(--paper);padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-size:23px;font-weight:700;letter-spacing:-1px}.brand-symbol{background:var(--yellow);color:var(--dark);border-radius:9px;width:34px;height:34px;display:grid;place-items:center;font-size:31px;line-height:1}.version{font-size:12px;letter-spacing:0;color:var(--muted);margin-left:auto}.side-heading{margin:45px 7px 12px;color:var(--muted);font-size:12px;letter-spacing:.12em;display:flex;align-items:center;justify-content:space-between}.side-heading button{color:var(--muted)}.side-heading button:hover{background:var(--panel)}.project-link{border:0;text-align:left;background:transparent;color:var(--muted);width:100%;padding:13px 12px;margin:3px 0;line-height:1.4;overflow-wrap:anywhere;font-weight:400}.project-link.active{background:var(--panel);color:var(--paper);box-shadow:inset 3px 0 var(--yellow)}.project-link:hover{background:var(--panel)}.sidebar-bottom{margin-top:auto;padding-top:28px;font-size:14px;color:var(--muted)}.sidebar-bottom p{font-size:13px;color:var(--muted)}.backup{font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.local-dot{width:7px;height:7px;display:inline-block;border-radius:100%;background:var(--yellow);margin-right:8px}main{margin-left:236px;padding:0 38px 60px;min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.tag{border:1px solid var(--line);border-radius:20px;padding:6px 11px;font-size:12px;color:var(--muted);background:var(--paper)}#notice{position:sticky;top:12px;z-index:20;background:var(--ink);color:var(--ink);padding:15px 20px;border-radius:10px;box-shadow:0 4px 20px #0002;white-space:pre-line}#notice.error{background:var(--error)}.project-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 0 22px}.eyebrow{font-size:12px;letter-spacing:.13em;color:var(--muted);margin-bottom:11px;text-transform:uppercase}.muted{color:var(--muted);font-size:14px}.project-header p{margin:10px 0 0}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:26px}.tab{background:none;border:0;border-radius:0;padding:12px 0 15px;color:var(--muted);border-bottom:3px solid transparent}.tab.active{color:var(--ink);border-color:var(--ink)}.tabs .tab:hover{background:transparent;color:var(--ink)}.empty{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:70px 38px;max-width:840px;margin:50px auto;text-align:center}.empty-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--accent-soft);margin:0 auto 24px;font-size:29px}.empty p{max-width:520px;margin:18px auto 26px;color:var(--muted)}.steps{display:flex;justify-content:center;gap:24px;margin-top:32px;font-size:14px;color:var(--muted)}.steps span{display:flex;gap:8px;align-items:center}.steps b{background:var(--panel);width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:12px}.documents{display:flex;gap:10px;overflow:auto;padding-bottom:8px;margin-bottom:19px}.doc-card{display:flex;flex-direction:column;gap:8px;text-align:left;min-width:205px;max-width:320px;background:var(--paper);padding:14px 17px;border-radius:10px;font-size:14px;font-weight:500}.doc-card.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.doc-card span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-card small{font-size:12px;color:var(--muted)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:22px;overflow:hidden}.panel-head{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.panel-head p{margin:7px 0 0}.panel-body{padding:22px}.section-num{color:var(--muted);margin-right:10px;font-weight:400}.sheet-controls{display:flex;align-items:end;justify-content:space-between;gap:20px}.sheet-controls label{flex:1;max-width:560px}.link{font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.mapping{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:20px}label{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:var(--paper);color:var(--ink);font-size:14px;min-width:0}textarea{font-size:16px;line-height:1.6;resize:vertical}.mapping input{max-width:100%}.mapping-footer{display:flex;gap:18px;align-items:center;margin-top:19px}.mapping-footer p{margin:0}.hint{font-size:13px;color:var(--muted);line-height:1.5;margin:13px 0 0}.table-wrap{overflow:auto;max-height:540px}table{width:100%;border-collapse:collapse;font-size:14px}th{background:var(--bg);color:var(--muted);font-size:12px;text-align:left;font-weight:600;padding:13px 12px;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 12px;border-bottom:1px solid var(--panel);vertical-align:top;line-height:1.45}td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.row-number{color:var(--muted);font-size:12px;padding-top:18px}td.row-name{min-width:230px;max-width:380px}tr.excluded{color:var(--muted);background:var(--paper)}tr.total{background:var(--accent-soft)}.role-select{min-width:110px;max-width:140px;padding:7px;font-size:12px}.scope-input{margin-top:7px;min-width:130px;font-size:12px}.formula{display:block;color:var(--muted);font-family:ui-monospace,monospace;font-size:12px;white-space:normal;overflow-wrap:anywhere;max-width:180px;margin-top:5px}.unsupported{color:var(--warn);font-size:12px}.source-address{display:block;font-size:12px;color:var(--muted);margin-top:4px}.raw-toggle{margin-top:20px}.raw-toggle summary{cursor:pointer;font-size:14px;color:var(--muted);padding:10px 0}.raw-toggle table{font-size:12px}.raw-toggle td{max-width:300px;min-width:100px;overflow-wrap:anywhere}.raw-toggle .table-wrap{max-height:280px}.checkbar{padding:20px 23px;background:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:20px}.checkbox{display:flex;flex-direction:row;align-items:start;gap:10px;max-width:650px;line-height:1.5}.checkbox input{width:18px;height:18px;flex-shrink:0;margin-top:1px}.notice-inline{padding:14px 18px;background:var(--accent-soft);color:var(--link);font-size:14px;line-height:1.5;border-radius:8px;margin:14px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 22px}.stat{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:20px}.stat .label{font-size:13px;color:var(--muted)}.stat strong{display:block;margin:12px 0 7px;font-size:27px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stat small{font-size:12px;color:var(--muted)}.finding{padding:20px 23px;border-bottom:1px solid var(--panel)}.finding:last-child{border:0}.finding-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.badge{padding:4px 7px;border-radius:4px;font-size:12px;font-weight:600}.badge.error{color:var(--error);background:var(--error-bg)}.badge.unknown{color:var(--warn);background:var(--accent-soft)}.finding p{font-size:14px;margin:11px 0}.finding dl{display:flex;gap:24px;flex-wrap:wrap;margin:12px 0 0;font-size:13px}.finding dt{color:var(--muted)}.finding dd{margin:5px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:600px}.source-button{font-size:12px;padding:4px 7px;border:0;background:var(--panel);color:var(--muted);font-weight:400}.history{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.history button{font-size:12px;font-weight:400;padding:7px 10px}.history button.selected{border-color:var(--ink)}.limits{padding:18px 23px;font-size:13px;color:var(--muted);background:var(--paper);line-height:1.6}.highlight{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)!important}.compare td{min-width:130px}.compare td:first-child{min-width:230px}.project-note{min-height:240px;margin-top:18px}.save-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:16px}.file-size{font-size:12px;color:var(--muted)}.error-panel{padding:25px;color:var(--error)}dialog{border:1px solid var(--line);border-radius:16px;padding:30px;width:500px;max-width:94vw;box-shadow:0 30px 80px #0003}dialog::backdrop{background:#13191f80}.dialog-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}dialog .primary{width:100%;margin-top:14px}.loading{padding:65px;text-align:center;color:var(--muted)}.sheet-empty{padding:26px}.comparison-intro{margin:0 0 18px}.review-summary{padding:0 0 20px;font-size:14px;color:var(--muted)}#projects{overflow:auto}#content{max-width:1550px;margin:0 auto}.mobile-project{display:none}
@media(min-width:1600px){main{padding-left:55px;padding-right:55px}}
@media(max-width:1000px){.sidebar{width:200px;padding:25px 14px}main{margin-left:200px;padding:0 22px 40px}.mapping{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:23px}.checkbar{align-items:start;flex-direction:column}.project-header{align-items:start}.project-header h1{font-size:27px}}
@media(max-width:700px){.sidebar{position:static;width:auto;padding:17px 20px;display:block}.brand{max-width:220px}.side-heading{margin:15px 0 0}.sidebar-bottom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:0;font-size:12px}.sidebar-bottom p{display:none}.sidebar-bottom .backup{margin-left:auto;font-size:12px}#projects{display:flex;gap:7px}.project-link{min-width:160px;max-width:250px}.side-heading .icon-button{position:absolute;right:18px;top:20px}.side-heading{font-size:11px}main{margin:0;padding:0 16px 35px}.topbar{height:56px;font-size:12px}.project-header{flex-direction:column;padding-top:25px}.project-header button{width:100%}.mapping{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:1fr}.stat{padding:16px}.stat strong{margin:8px 0}.panel-head,.panel-body,.finding{padding:17px}.sheet-controls{align-items:start;flex-direction:column}.sheet-controls label{width:100%}.mapping-footer{align-items:start;flex-direction:column}.empty{padding:40px 20px;margin:24px 0}.steps{flex-direction:column;align-items:center;gap:12px}.tabs{gap:24px}.panel-head{align-items:start;flex-direction:column}.checkbar button{width:100%}.topbar .tag{font-size:11px}.save-row{align-items:start;flex-direction:column}h1{font-size:27px}}

td.row-name{overflow-wrap:anywhere}

.requirement-card{border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}.requirement-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.requirement-heading button{font-weight:400}.requirement-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.requirement-source{grid-column:1/-1}.requirements-links{padding:22px;border-top:1px solid var(--line)}.binding-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.binding-row .hint{margin-top:6px}.binding-row strong{font-size:14px}.badge.matched{color:var(--good);background:var(--good-bg)}.requirement-footnote{padding:0 22px 16px}.tabs{overflow-x:auto;white-space:nowrap}.tabs .tab{flex-shrink:0}
@media(max-width:700px){.requirement-fields,.binding-row{grid-template-columns:1fr}.requirements-links{padding:17px}.tabs{gap:20px}}

.review-filters{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin:20px 0}.review-history-toggle{margin-bottom:20px}.review-title{margin-top:12px;line-height:1.45}.review-fields{display:grid;gap:16px}.review-fields textarea{min-height:96px;font-size:14px}.review-history{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.review-history summary{cursor:pointer;margin-bottom:16px;color:var(--muted)}.review-event{border-left:3px solid var(--yellow);padding:12px 18px;background:var(--paper);margin-top:14px;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.question-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.questions-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 Arial,sans-serif;background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:8px;max-height:480px;overflow:auto}.review-card .panel-head{align-items:start}.review-card .hint{overflow-wrap:anywhere}a[aria-disabled=true]{opacity:.5}.review-card .panel-head>div{min-width:0}@media(max-width:700px){.review-filters{grid-template-columns:1fr}.review-card .save-row .question-actions{width:100%}.review-card .save-row button{flex:1}}

.comparison-conditions{margin-top:24px}.comparison-conditions textarea{min-height:100px}.comparison-confirm{margin-top:20px}.comparison-binding{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;display:grid;gap:12px}.comparison-binding .hint{margin:0}.comparison-cautions{padding:22px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}.scope-comparison td,.scope-comparison th{min-width:200px;max-width:360px;overflow-wrap:anywhere}.scope-comparison td:first-child{min-width:180px}.scope-comparison .hint{font-size:12px}.scope-comparison .badge{display:inline-block;margin-top:8px}

.charges-editor {margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.charges-editor fieldset{border:1px solid var(--line);border-radius:8px;margin-top:12px;padding:12px}.charges-editor fieldset .checkbox{margin:8px 0}.charges-result{margin:20px 0}.charges-result td{min-width:140px;vertical-align:top}

.event-intro{display:flex;justify-content:space-between;align-items:start;gap:24px;margin:0 0 22px}.event-intro .link{white-space:nowrap}.event-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.event-overview>div{padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.event-overview span{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.event-overview strong{font-size:19px;overflow-wrap:anywhere}.event-fieldset{border:0;margin:0;padding:0;min-width:0}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.event-wide{grid-column:1/-1}.event-grid textarea{min-height:95px;resize:vertical}.event-grid input,.event-grid select,.event-grid textarea{min-width:0;width:100%}.event-grid label{min-width:0}.event-person{border:1px solid var(--line);border-radius:10px;padding:20px;margin:20px 0}.event-person .event-grid{margin-top:12px}.event-empty{padding:18px 0;color:var(--muted)}.event-save{padding:20px;display:flex;justify-content:space-between;align-items:center;gap:18px}.event-save>span{font-size:14px;color:var(--muted)}.event-history{padding:22px}.event-history>summary{cursor:pointer;font-weight:600;margin-bottom:18px}.event-snapshot{border-top:1px solid var(--line);padding:16px 0}.event-snapshot summary{cursor:pointer}.event-snapshot dl{display:grid;grid-template-columns:1fr 1fr;gap:14px}.event-snapshot dt{color:var(--muted);font-size:12px}.event-snapshot dd{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.event-snapshot p{overflow-wrap:anywhere;white-space:pre-wrap}
@media(max-width:900px){.event-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.event-save{align-items:start;flex-direction:column}}
@media(max-width:700px){.event-intro{flex-direction:column;gap:12px}.event-grid,.event-snapshot dl{grid-template-columns:1fr}.event-person{padding:14px}.event-overview{gap:10px}.event-overview>div{padding:14px}.event-overview strong{font-size:16px}.event-save .question-actions{width:100%}.event-save button{width:100%}}

/* Knowledge stays readable in the narrow browser panel. */
.kb-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kb-list .panel{margin:0}.kb-pre{white-space:pre-wrap;overflow-wrap:anywhere}.kb-use{border-top:1px solid var(--line,var(--line));padding:16px 0}.kb-use summary{cursor:pointer;font-weight:600}.kb-list a,.kb-use dd{overflow-wrap:anywhere}#kb-editor .checkbox{margin:16px 0}#kb-editor textarea{min-height:100px}#kb-editor a[aria-disabled=true]{opacity:.45;cursor:not-allowed}#kb-search button{margin-top:12px}#global-knowledge{width:100%;margin:12px 0;text-align:left}#kb-editor:empty{display:none}
@media(max-width:1050px){.kb-list{grid-template-columns:1fr}}

.ocr-controls{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.ocr-controls>label{display:block;max-width:400px;margin-bottom:12px}.ocr-controls summary{cursor:pointer;font-weight:600;margin:12px 0}.ocr-review{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,1.3fr);gap:20px;align-items:start}.ocr-page{width:100%;height:auto;border:1px solid var(--line);margin-top:12px}.ocr-review table input[type=text],.ocr-review td>input{min-width:100px;width:100%}.ocr-review td .checkbox{font-size:11px}.ocr-review .table-wrap{max-height:700px;overflow:auto}.checkbar{flex-wrap:wrap}
@media(max-width:1100px){.ocr-review{grid-template-columns:1fr}}

.global-nav{display:grid;gap:5px;margin-top:26px}.global-nav button{color:var(--muted);text-align:left;border:0;background:transparent;padding:12px}.global-nav button:hover,.global-nav [aria-current=page]{background:var(--panel);color:var(--ink)}.global-nav #global-knowledge{margin:0}.side-heading{margin-top:24px}.project-cards,.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-cards article h2{margin-top:18px}.project-cards article{margin:0}.project-cards p,.brief-list dd{overflow-wrap:anywhere}.draft-banner{display:flex;align-items:center;justify-content:space-between;gap:20px}.draft-banner p{margin-bottom:0}.text-button{border:0;background:transparent;text-decoration:underline}.button-link{display:inline-block;border:1px solid var(--line);padding:12px 18px;border-radius:8px;background:var(--paper);font-weight:600}.brief-list{margin:20px 0 0}.brief-list>div{padding:12px 0;border-bottom:1px solid var(--line)}.brief-list dt{color:var(--muted);font-size:13px}.brief-list dd{margin:6px 0 0;white-space:pre-wrap;line-height:1.5}.next-panel{border-left:4px solid var(--link)}.next-panel .eyebrow{display:block}.readiness-list{padding:0;list-style:none;line-height:2.2}.compact{padding:0 0 16px}.overview-grid .question-actions{margin-top:18px}.panel-body>.question-actions{margin-top:20px}.project-extra{padding:12px 0;color:var(--muted)}.project-extra summary{cursor:pointer;font-size:14px;min-height:40px;padding:4px}.project-extra>div{display:flex;gap:8px;flex-wrap:wrap;padding:12px;background:var(--paper)}.tabs:has(.project-extra[open]){flex-wrap:wrap;overflow:visible}.result-picker{max-width:750px;margin:22px 0}.result-lead h2{margin-top:14px}.source-value{padding:20px;background:var(--accent-soft);border-radius:8px;overflow-wrap:anywhere}.source-value span,.source-value strong{display:block}.source-value strong{margin-top:12px;font-family:monospace;font-size:18px}.documents{flex-direction:column}.doc-card{max-width:none;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto}.doc-card span:first-child{white-space:normal;overflow-wrap:anywhere}.doc-card .document-state{grid-column:1/-1;color:var(--ink)}.source-address,.file-size,.finding dt,.stat small,.row-number{color:var(--muted)}.section-num{color:var(--muted)}.finding-head .source-button{min-height:32px}.tabs .tab{padding:12px 0}.project-note{margin-bottom:12px}#source-dialog{max-height:90dvh;overflow:auto;width:650px}
@media(max-width:900px){.overview-grid,.project-cards{grid-template-columns:1fr}.tabs{gap:18px}}
@media(max-width:700px){.global-nav{display:flex;flex-wrap:wrap;gap:4px;margin-top:16px}.global-nav button{width:auto!important;font-size:13px;flex:1;padding:10px}.side-heading{margin-top:16px}.sidebar-bottom .backup{display:none}.draft-banner{align-items:start;flex-direction:column}.doc-card{grid-template-columns:1fr}.project-extra>div{flex-direction:column}.compact{align-items:start}.project-header>button{width:auto}.source-value strong{font-size:16px}.project-cards{gap:14px}}

.global-knowledge-view{padding-top:32px}.demo-error-example{margin:18px 0}.demo-error-example summary{cursor:pointer;padding:8px 0}.upload-jobs{list-style:none;padding:0;margin:16px 0 0}.upload-jobs li{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.upload-jobs strong{overflow-wrap:anywhere}.upload-jobs p{margin:7px 0}.multiplier-detail{font-size:12px;margin-top:10px;white-space:normal;color:var(--muted)}
@media(max-width:700px){.upload-jobs li{align-items:start;flex-direction:column}.global-knowledge-view{padding-top:24px}}

tr.excluded{color:var(--muted)}.formula{color:var(--muted)}

/* Tender objects: manual assignment stage T01. */
.procurement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.procurement-grid form button,.proposal-link-form button{margin-top:12px}.tender-lots{display:grid;gap:20px;margin:20px 0}.proposal-card{padding:18px 0;border-top:1px solid var(--line)}.proposal-files{padding-left:20px}.proposal-files li{margin:8px 0}.proposal-link-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.proposal-link-form label{flex:1;min-width:220px}#proc-offer fieldset{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:8px}#proc-offer legend{padding:0 8px;font-weight:600}@media(max-width:700px){.procurement-grid{grid-template-columns:1fr}.proposal-link-form{display:block}}
/* The predecessor belongs only to explicit replacement, not to an appendix. */
#classification-view [data-predecessor][hidden]{display:none}

.preparation-controls{width:100%;display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.preparation-controls label{display:grid;gap:7px}
.preparation-controls label[hidden]{display:none}
.preparation-controls input,.preparation-controls select{width:100%;min-width:0}
.readiness-panel li{margin:12px 0}

/* T25: every project section remains discoverable on a narrow screen. */
@media(max-width:700px){.tabs{flex-wrap:wrap;white-space:normal;overflow:visible;gap:8px 16px}.tabs .tab{white-space:normal}.project-extra{min-width:0}.project-extra[open]{flex-basis:100%}.project-extra>div{white-space:normal}.project-extra button{max-width:100%;overflow-wrap:anywhere}}
/* Phone acceptance: readable entry fields and room for a fingertip. */
@media(max-width:700px){
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;}
 button,.tabs button,.project-extra summary{min-height:44px;}
}

/* T25: wrap project navigation at every width, including a desktop side panel. */
.tabs{flex-wrap:wrap;white-space:normal;overflow:visible;row-gap:8px}
.project-extra{flex-shrink:0;max-width:100%}

/* T25 physical acceptance: direct access to findings on long result pages. */
.results-heading .question-actions{margin:14px 0}
#audit-findings{scroll-margin-top:16px}

.source-technical{margin:12px 0;color:var(--muted);font-size:13px}.source-technical p{overflow-wrap:anywhere}.source-field-label{font-weight:600}.source-button{white-space:normal;overflow-wrap:anywhere}

/* One visual close control for dialogs, editors and dismissible panels. */
.dismiss-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.dismiss-header h2,.dismiss-header h3{margin:0;min-width:0;overflow-wrap:anywhere}.dismiss-header form{margin:0;flex-shrink:0}
button.close-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font-size:28px;font-weight:400;line-height:1;cursor:pointer}button.close-button:hover:not(:disabled){background:var(--panel);border-color:var(--line)}button.close-button:focus-visible{outline:3px solid var(--link);outline-offset:2px}button.close-button:disabled{opacity:.4;cursor:not-allowed}.dialog-title>h2{min-width:0;overflow-wrap:anywhere}.dialog-title>.close-button,.panel-head>.close-button{flex-shrink:0}

/* Contractor intake uses the existing compact dialog and disclosure pattern. */
.contractor-fields{display:grid;gap:12px;margin-top:12px}.contractor-upload{border-top:1px solid var(--line,#ddd);margin-top:20px;padding-top:12px}.contractor-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.contractor-cards article{padding:14px;border:1px solid var(--line,#ddd);border-radius:12px}.contractor-fields textarea{width:100%;min-height:70px;max-width:100%;box-sizing:border-box}

/* Upload progress stays visible while the originals are transferred and parsed. */
#upload-progress .panel-head{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:nowrap}#upload-progress .panel-head>div{flex:1;min-width:0}#upload-progress .panel-head p,.upload-current strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}#upload-progress .panel-head .close-button{flex:0 0 44px}
#upload-progress.upload-is-running{position:sticky;top:12px;z-index:6}#upload-progress .panel{box-shadow:0 8px 28px #0001}#upload-progress.upload-is-running .upload-jobs{max-height:180px;overflow:auto}.upload-summary{margin:18px 0}.upload-counts{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.upload-counts span{font-size:13px;color:var(--muted)}.upload-meter{display:block;width:100%;height:12px;margin:12px 0;accent-color:var(--link);border:0;border-radius:6px;overflow:hidden;background:var(--panel)}.upload-meter::-webkit-progress-bar{background:var(--panel);border-radius:6px}.upload-meter::-webkit-progress-value{background:var(--link);border-radius:6px}.upload-meter::-moz-progress-bar{background:var(--link);border-radius:6px}.upload-meter:not([value]){animation:upload-pulse 1.4s ease-in-out infinite}.upload-current{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}.upload-current p{margin:10px 0;overflow-wrap:anywhere}.upload-current .upload-meter{height:8px}.upload-is-running .panel-body{padding:18px}.upload-is-running h2{font-size:20px}@keyframes upload-pulse{50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.upload-meter:not([value]){animation:none}}@media(max-width:760px){#upload-progress.upload-is-running{top:0}.upload-is-running .upload-jobs{max-height:120px}.upload-is-running .panel-head p{font-size:12px}}
