:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d2732;background:#f5f6f8;font-size:15px;line-height:1.5;letter-spacing:0;--line:#d9dee5;--muted:#616d7c;--accent:#a95000;--focus:#1569aa}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 14px;border:1px solid transparent;border-radius:6px;background:#ad5400;color:white;font-weight:600;cursor:pointer;line-height:1.25;text-align:center}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}button.secondary,button.icon{background:#fff;border-color:var(--line);color:#293746}.icon{width:42px;min-width:42px;padding:8px}.icon svg{width:20px;height:20px}svg{width:20px;height:20px;flex-shrink:0}a{color:#1767a5}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus,summary:focus-visible{outline:3px solid #4597d4;outline-offset:2px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #b7c2cf;border-radius:5px;background:white;color:#172331;padding:9px 10px;min-height:42px}input[type=checkbox]{display:inline-block;width:20px;min-height:20px;height:20px;margin:0;accent-color:var(--accent)}textarea{resize:vertical;min-height:72px}label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;min-width:0}label.check{flex-direction:row;align-items:center;font-size:14px;gap:10px;font-weight:500}.masthead{min-height:76px;display:flex;align-items:center;gap:22px;background:#171c24;color:white;padding:14px 28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:white;font-weight:600}.brand img{width:38px;height:38px;border-radius:6px}h1{font-size:23px;margin:0;font-weight:650}h2{font-size:19px;margin:0 0 16px}h3{font-size:16px;margin:0 0 12px}p{margin:8px 0}h1,h2,h3,p,td,th,summary{overflow-wrap:anywhere}.region{font-size:13px;color:#bbc5d2;margin-left:auto}.masthead .icon{background:transparent;color:white;border-color:#566270}main{max-width:1640px;margin:auto;padding:24px 28px 60px}[hidden]{display:none!important}#message{position:sticky;top:0;z-index:20;background:#e6f3ef;border-bottom:1px solid #72ad98;color:#164c3b;padding:12px 28px;overflow-wrap:anywhere}#message.error{background:#fff0ee;border-color:#da897f;color:#89291e}.access{max-width:440px;margin:55px auto;padding:24px;background:white;border:1px solid var(--line);border-radius:8px}.access form{display:grid;gap:18px}.access form+form{margin-top:24px;border-top:1px solid var(--line);padding-top:22px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}nav{display:flex;gap:2px}.tab{background:transparent;color:var(--muted);border-radius:0;border-bottom:3px solid transparent}.tab.active{color:#873e00;border-bottom-color:#d57815}#budget{margin-left:auto;color:var(--muted);font-size:12px;max-width:340px}.workspace-grid{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:70vh}.document-list{padding:20px 20px 0 0;border-right:1px solid var(--line)}.document-list>label{margin-bottom:16px}.search{position:relative}.search svg{position:absolute;left:10px;top:12px;color:var(--muted)}.search input{padding-left:36px}#records{margin-top:22px}.record{display:block;width:100%;text-align:left;background:transparent;color:inherit;border-radius:0;border:0;border-bottom:1px solid var(--line);padding:14px 10px}.record.active{background:#eaf0f6;border-left:3px solid #2874ab}.record strong,.record span{display:block;overflow-wrap:anywhere}.record span{font-weight:400;font-size:12px;color:var(--muted);margin-top:3px}.record .amount{color:#24443c;font-weight:650;font-size:14px}.document-detail{padding:24px 0 0 28px;min-width:0}.empty{text-align:center;color:var(--muted);padding:60px 10px}.empty>svg{width:40px;height:40px;margin-bottom:15px}.section-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.section-heading h2{margin:0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.section{padding:22px 0;border-top:1px solid var(--line)}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fields .wide{grid-column:1/-1}.fields .double{grid-column:span 2}.meta{color:var(--muted);font-size:12px}.file-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.file-row label{flex:1;min-width:180px}.file-row input{background:#fff}.notice{border-left:3px solid #a65c00;background:#fff7e9;padding:10px 14px;margin:14px 0;font-size:13px}.notice.info{border-color:#398276;background:#edf6f3}.item{border:1px solid var(--line);border-radius:6px;margin:10px 0;background:#fff}.item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:13px 14px;font-size:14px;min-height:48px}.item[open] summary{border-bottom:1px solid var(--line)}.item summary strong{min-width:0}.item summary span{white-space:nowrap;font-size:13px;color:var(--muted)}.item .fields{padding:16px}.item footer{display:flex;justify-content:end;padding:0 16px 14px}.scope{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.totals{display:flex;justify-content:flex-end;gap:24px;flex-wrap:wrap;padding:18px 0}.totals div{font-size:13px;color:var(--muted)}.totals strong{display:block;font-size:19px;color:#203b32}.review-actions{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:15px 0}.table-wrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;background:#edf0f4;color:#344557;font-weight:650}.number{text-align:right;white-space:nowrap}.badge{display:inline-block;font-size:11px;line-height:1.4;font-weight:650;text-transform:uppercase;padding:4px 7px;border-radius:3px;background:#edf0f4;color:#47556a}.badge.high{background:#dff1e9;color:#21604a}.badge.medium{background:#e4eff9;color:#285c87}.badge.low{background:#fff0d8;color:#855300}.badge.insufficient{background:#fae6e2;color:#963c2b}.report-item{padding:20px 0;border-bottom:1px solid var(--line)}.report-item h3{margin-bottom:8px}.report-item p,.report-item li{font-size:13px}.source-list{padding-left:20px;font-size:13px}.source-list li{padding:5px 0}.source-list a{overflow-wrap:anywhere}.source-list small{display:block;color:var(--muted)}.range-total{background:#edf5f0;border-top:2px solid #2e7659;padding:16px;display:flex;gap:24px;flex-wrap:wrap}.range-total strong{display:block;font-size:20px}.range-total span{font-size:12px;color:#4c6057}.report-heading{margin:24px 0 8px}dialog{border:1px solid var(--line);border-radius:8px;padding:24px;max-width:620px;width:calc(100% - 32px);max-height:85vh;overflow:auto;box-shadow:0 12px 60px #0003}dialog::backdrop{background:#0007}dialog .actions{justify-content:end;margin-top:24px}#evolution-view{padding-top:24px}#evolution-view>label{max-width:500px;margin-bottom:20px}.version-row{border-bottom:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;gap:16px;align-items:center}.danger{color:#ad3223!important}.muted{color:var(--muted)}.link-button{background:transparent;color:#1767a5;border:0;padding:0;min-height:30px;text-align:left}.saving-bar{position:sticky;bottom:0;background:#f5f6f8f5;backdrop-filter:blur(8px);padding:12px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:5}.job{font-size:13px;color:#7e4c06}.dirty{font-size:12px;color:#9b5000}.decision{border-left:3px solid #307457;padding:12px 16px;background:#edf5f0}
.table-wrap table{min-width:720px}.table-wrap th:first-child,.table-wrap td:first-child{min-width:200px}.benchmark{font-size:13px;padding:10px 0;color:#30483e}
@media(max-width:1100px){.workspace-grid{grid-template-columns:235px minmax(0,1fr)}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.scope{grid-template-columns:repeat(2,minmax(0,1fr))}.document-detail{padding-left:20px}.region{display:none}}
@media(max-width:700px){main{padding:16px 14px 45px}.masthead{padding:12px 14px;gap:14px;min-height:68px}.brand span{display:none}.masthead h1{font-size:20px}.masthead #logout{margin-left:auto}.toolbar{gap:8px}.toolbar nav{width:100%}.toolbar #budget{order:3;width:100%;max-width:none;margin:0}.toolbar #new{margin-left:auto}.workspace-grid{display:block}.document-list{border-right:0;border-bottom:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px}.document-list>label{margin:0}#records{grid-column:1/-1;max-height:230px;overflow:auto;margin:0}#more{grid-column:1/-1}.document-detail{padding:22px 0 0}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fields .double{grid-column:1/-1}.item .fields{padding:12px}.item summary{gap:8px;align-items:flex-start}.item summary strong{font-size:13px}.item summary span{font-size:12px}.scope{gap:10px}.totals{justify-content:space-between;gap:10px}.totals strong{font-size:17px}.file-row{gap:8px}.file-row label{flex-basis:100%}.review-actions>button{width:100%}.range-total{gap:16px}.range-total strong{font-size:18px}.saving-bar{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.saving-bar button{flex:1}.saving-bar .meta{max-width:40%}dialog{padding:20px}#message{padding:10px 14px}.access{margin:25px 0}.table-wrap{margin:0}.section-heading .actions{gap:6px}}
@media(max-width:370px){.fields{grid-template-columns:1fr}.fields .double{grid-column:auto}.scope{grid-template-columns:1fr}.toolbar .tab{font-size:13px;padding:8px}}
@media print{body{background:white;color:black;font-size:10pt}.masthead, .toolbar,.document-list,#message,#access,.no-print,.saving-bar,#editor-form,.file-section,#decision-form{display:none!important}main{padding:0;max-width:none}.workspace-grid{display:block}.document-detail{padding:0}.report-item{break-inside:avoid}.source-list a{color:black}.range-total{background:white}button{display:none!important}h2{font-size:16pt}h3{font-size:12pt}.table-wrap{overflow:visible}.table-wrap table{min-width:0}.table-wrap th:first-child,.table-wrap td:first-child{min-width:0}.report-item li{font-size:9pt}#versions-dialog{display:none!important}}
