:root{font-family:Inter,Arial,sans-serif;color:#17333b;background:#f3f6f6;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:#087f74;text-decoration:none}aside{width:245px;background:#102d36;color:#b8cccf;position:fixed;inset:0 auto 0 0;padding:32px 22px;display:flex;flex-direction:column}.brand{font-size:17px;font-weight:600;color:white;display:flex;align-items:center;gap:8px;white-space:nowrap}.brand b{color:#70dac8;font-size:12px}.logo{display:inline-grid;place-items:center;background:#b3ecd9;color:#103d39;border-radius:12px;width:40px;height:40px;font-size:15px;font-weight:800}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#5d8587;margin:28px 0 12px}nav{display:grid;gap:7px}nav a{padding:12px 14px;border-radius:7px;color:#c3d4d5}nav a:hover,nav a.active{background:#244750;color:#e2fff5}.aside-bottom{margin-top:auto;font-size:12px}.aside-bottom p{overflow-wrap:anywhere}main{margin-left:245px;padding:40px;max-width:1700px}h1{font-size:34px;letter-spacing:-1.3px;font-weight:650;margin:8px 0 12px}h2{font-size:20px;letter-spacing:-.4px;margin:8px 0 18px}h3{font-size:17px}p{line-height:1.6}.muted,.small,small{color:#6a7e82}.small,small{font-size:12px}small{display:block;margin-top:7px}header,.section-title{display:flex;justify-content:space-between;align-items:center;gap:18px}header{margin-bottom:30px}.pill{display:inline-block;border:1px solid #cbe3dd;background:#e9f7f1;color:#246e61;padding:6px 10px;border-radius:20px;font-size:11px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0}.stats article,.panel{background:#fff;border:1px solid #dfe8e8;border-radius:12px;padding:24px}.stats article p{margin:0 0 15px;font-size:12px;color:#687c7e}.stats strong{font-size:30px;letter-spacing:-1px}.columns{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.panel{margin-bottom:22px;overflow:auto}.empty{text-align:center;color:#6b7e80;padding:45px 20px}.op-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #e9eeee;padding:18px 0;color:#243e44}.op-row p{margin:5px 0;color:#758689;font-size:12px}.score{background:#e8f5ee;padding:14px;border-radius:10px;font-weight:700}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#708084;font-size:10px;text-transform:uppercase;letter-spacing:.8px;padding:14px 12px;border-bottom:1px solid #dce6e6}td{padding:15px 12px;border-bottom:1px solid #edf1f1;vertical-align:top}button,.button{border:0;background:#087f74;color:white;padding:12px 18px;border-radius:7px;font-weight:600;cursor:pointer;font-size:13px;display:inline-block}button.quiet{background:transparent;border:1px solid #48636a;color:#d6e4e5}label{display:grid;gap:8px;font-size:12px;font-weight:600;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid #ccdada;border-radius:6px;padding:11px 12px;font:inherit;background:#fff;color:#17333b}textarea{min-height:130px}input:focus,select:focus,textarea:focus{outline:2px solid #91d5c5;outline-offset:1px}.filters{display:flex;gap:10px;margin:24px 0}.filters input:first-child{flex:2}.filters>*{flex:1;min-width:0}.notice{padding:16px 20px;border:1px solid #d8e5d7;background:#eff6e9;border-radius:8px;line-height:1.6;margin:20px 0;color:#496147;font-size:13px}.notice.error{background:#fff0ed;border-color:#f4cac3;color:#9c3e30}.grid-form{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-form button{align-self:end;margin-bottom:16px}.check{display:flex;align-items:center}.check input{width:20px;height:20px}pre{white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.5;max-height:400px;overflow:auto}dt{font-size:11px;color:#7d8c8f;margin-top:15px}dd{margin:6px 0}hr{border:0;border-top:1px solid #e5eded;margin:28px 0}.login-main{margin:0;min-height:100vh;max-width:none;background:radial-gradient(circle at 20% 20%,#285f65,#102d36 65%);display:grid;place-items:center}.login-card{width:100%;max-width:470px;background:#fff;padding:42px;border-radius:18px}.login-card h1{font-size:31px}.login-card button{width:100%}.login-card .small{text-align:center;margin-top:25px}@media(max-width:1100px){.columns{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.grid-form{grid-template-columns:1fr 1fr}}@media(max-width:720px){aside{position:static;width:auto;padding:18px}nav{display:flex;overflow:auto;margin-top:15px}nav a{white-space:nowrap}aside>.eyebrow,.aside-bottom{display:none}main{margin:0;padding:20px}h1{font-size:27px}.stats{gap:10px}.stats article{padding:16px}.stats strong{font-size:25px}.grid-form,.columns{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters>*{min-width:40%}.panel{padding:18px}.login-card{padding:28px}.login-main{padding:20px}}

aside{overflow-y:auto}.session-exit{margin:18px 0 4px}.session-exit button{width:100%}.nav-group summary{cursor:pointer;padding:14px;color:#b8cccf;font-size:12px}.nav-group a{display:block;padding:9px 14px;font-size:12px}.aside-bottom{padding-top:22px}.radar-panel{padding:0}.radar-table{min-width:940px}.radar-table th{background:#edf4f3;position:sticky;top:0}.radar-table td{padding:15px 14px;vertical-align:middle}.radar-table tr:hover{background:#f5faf9}.radar-title{width:38%;min-width:250px}.radar-title>a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;line-height:1.5}.radar-title small{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nowrap{white-space:nowrap}.radar-filters{flex-wrap:wrap;align-items:center}.radar-filters>input:first-child{flex:2;min-width:230px}.radar-filters>button,.radar-filters>.button{flex:0 0 auto}.advanced-filters{flex-basis:100%;font-size:12px}.advanced-filters>select,.advanced-filters>input{width:220px;margin:12px 10px 0 0}.advanced-filters summary{cursor:pointer}.secondary{background:#e3eeec;color:#155b54}.pagination{display:flex;justify-content:space-between;align-items:center;font-size:13px;gap:16px}.pagination .button{margin-left:8px}@media(max-width:720px){nav{display:grid}.radar-filters>*{min-width:140px}header{align-items:flex-start;flex-direction:column}.pagination{flex-wrap:wrap}}

dialog{width:min(1000px,95vw);max-height:90vh;overflow:auto;border:1px solid #c8dcd7;border-radius:14px;padding:25px;color:#17333b}dialog::backdrop{background:#102d36aa}#attachment-drop{border:2px dashed #72a69a;padding:25px;border-radius:8px;background:#f3faf7}#attachment-drop.dragging{background:#d5eee5}.attachment-open{white-space:nowrap;padding:8px 10px}#attachments-content details{padding:10px 0;border-bottom:1px solid #dbe6e3}#attachments-content pre{font-size:12px}#attachments-message{font-weight:600}

.attachment-cell{min-width:215px}.row-file-drop{position:relative;border:2px dashed #8cb8aa;background:#f2faf7;border-radius:8px;min-height:58px;padding:12px;margin:9px 0 5px;text-align:center;cursor:pointer;font-size:11px}.row-file-input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.row-file-drop:focus-within{outline:2px solid #087f74;outline-offset:2px}.row-file-drop.dragging{background:#cdeedf;border-color:#087f74}.uploading .row-file-drop{opacity:.6}.row-upload-status{max-width:220px;white-space:normal;line-height:1.4}.attachment-results{padding:6px 8px;font-size:11px;margin-top:5px}#official-dialog{width:min(1200px,94vw);height:min(850px,92vh);padding:18px;overflow:auto}#official-frame{display:block;width:100%;height:62vh;border:1px solid #dce6e4;border-radius:8px;background:#fff}#official-dialog .section-title{position:sticky;top:-18px;background:white;z-index:1}#official-dialog p{margin:8px 0}

#official-dialog{width:min(700px,94vw);height:auto}#official-window-open{margin-right:8px}

/* One compact attachment control: download button switches to upload target. */
.attachment-cell{min-width:160px}.row-file-drop{display:none;margin:0;min-height:40px;padding:10px;max-width:185px}.drop-ready .row-file-drop{display:grid}.drop-ready .attachment-open{display:none}.attachment-cell .row-upload-status:empty{display:none}.uploading .row-file-drop{cursor:progress}.attachment-open.dragging{outline:2px dashed #087f74;outline-offset:3px}

/* Keep attachment controls on one line; status never increases row height. */
.attachment-cell{white-space:nowrap;min-width:215px}.attachment-open,.row-file-drop{width:115px;height:36px;min-height:36px;vertical-align:middle;box-sizing:border-box}.attachment-open{padding:8px 6px}.row-file-drop{margin:0;padding:8px 6px;font-size:11px}.drop-ready .row-file-drop{display:inline-grid}.attachment-results{margin:0 0 0 6px;vertical-align:middle}.row-upload-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.attachment-cell:has(.row-upload-status:not(:empty)){cursor:help}

.upload-issue .attachment-open{background:#a44535}.upload-issue .row-file-drop{border-color:#a44535}

.row-upload-warning{padding:5px 7px;margin-left:4px;background:#fff0d2;color:#865200;vertical-align:middle;font-size:11px}.row-upload-warning[hidden]{display:none!important}

/* Dense radar: two text lines maximum in ordinary cells, icon actions. */
.radar-table td{padding:7px 10px;line-height:1.25}.radar-table th{padding:10px;font-size:10px}.radar-table small{margin-top:3px;font-size:11px}.radar-title{width:35%;min-width:220px}.radar-name{display:flex;align-items:center;gap:5px;max-width:390px}.radar-name-link{display:block;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;line-height:1.4}.official-icon{display:inline-grid;place-items:center;flex:0 0 26px;height:26px;border-radius:5px;border:1px solid #c9ded9;font-size:18px}.official-icon:hover{background:#e0f0eb}.radar-title small{max-width:390px}.attachment-cell{min-width:145px}.attachment-open,.row-file-drop{width:76px;height:30px;min-height:30px;padding:6px 4px}.attachment-results{width:30px;height:30px;padding:4px;font-size:18px;margin-left:4px}.row-upload-warning{padding:4px;margin-left:3px}.radar-table .pill{padding:4px 7px}.doc-guarantees{display:block;max-width:185px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radar-table [data-docfacts] small{white-space:nowrap}.radar-table button:focus-visible,.official-icon:focus-visible{outline:2px solid #087f74;outline-offset:2px}

/* Crisp vector actions and real page progress, kept inside the compact cell. */
.action-svg{width:18px;height:18px;display:inline-block;vertical-align:middle;flex-shrink:0;pointer-events:none}.attachment-open{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:600}.attachment-open .action-svg{width:20px;height:20px}.attachment-results{display:inline-flex;align-items:center;justify-content:center}.attachment-cell{position:relative;padding-bottom:17px!important}.row-recognition{position:absolute;bottom:3px;left:10px;right:10px;display:flex;align-items:center;gap:5px;height:10px;font-size:9px;color:#42605b}.row-recognition[hidden]{display:none}.row-recognition progress{width:46px;height:5px;flex:0 0 46px}.row-recognition span{white-space:nowrap}.document-progress{display:flex;align-items:center;gap:10px;margin:4px 0 14px;font-size:12px}.document-progress progress{width:180px;height:8px}progress{accent-color:#087f74}.has-errors progress{accent-color:#b45309}.has-errors{color:#92400e}

/* Wider title and explicit attachment intake priority without extra text rows. */
.radar-title{width:39%;min-width:270px}.radar-name,.radar-title small{max-width:470px}.attachment-open,.row-file-drop{width:108px}.attachment-open{gap:5px;font-size:11px}.attachment-cell{min-width:160px}.attachment-open.needs-attachments{background:#fff0d2;color:#7c3d00;border:1px solid #c87b15;box-shadow:inset 3px 0 #c87b15}.attachment-open.needs-attachments:hover{background:#ffe1a3;border-color:#965400}.attachment-open.has-attachments{background:#e5f3ee;color:#16624b;border:1px solid #91bfae}.attachment-open.has-attachments:hover{background:#cfe9de}.upload-issue .attachment-open{border:2px solid #a44535}

/* Keep the active tender visible across successive drops and window switches. */
.attachment-return,.attachment-finish{display:none;width:25px;height:30px;padding:2px;margin-left:2px;vertical-align:middle;font-size:19px}.drop-ready .attachment-return,.drop-ready .attachment-finish{display:inline-block}.drop-ready .attachment-results{display:none}.radar-table tr.drop-ready>td{background:#eef6ff}.radar-table tr.drop-ready>.attachment-cell{background:#dcecff;box-shadow:inset 3px 0 #2766a5}.drop-ready .row-file-drop{background:#fff;border:2px dashed #2766a5;color:#164a7d}.uploading .attachment-finish{opacity:.5;pointer-events:none}

.admin-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 24px}.admin-tabs a{background:#e4eeed;border-radius:7px;padding:10px 14px}.form-actions{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.inline-form{display:inline-block;margin:4px}.danger{background:#a44535}.compact{padding:5px 9px;font-size:11px}.table-scroll{overflow:auto}.session-agent{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats strong.status-word{font-size:20px}.span-all{grid-column:1/-1}.offer-item{padding:14px 0;border-bottom:1px solid #e2eae8}.offer-item summary{cursor:pointer;line-height:1.8}.offer-item form{margin-top:18px}.offer-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.upload-offer{padding-top:22px}.account-mobile{font-size:12px;color:#b8dcd4;margin-top:10px}button:disabled{opacity:.5;cursor:not-allowed}form[hidden]{display:none!important}body[data-readonly="1"] .row-file-input{pointer-events:none}body[data-readonly="1"] .row-file-drop{display:none!important}

body[data-readonly="1"]:not([data-endpoint^="accounts."]) main form[method="post"]{display:none}

/* Offer preparation: clear steps and restrained visual hierarchy. */
.offer-workspace{max-width:1180px;margin:auto}.offer-workspace h1{font-size:32px;letter-spacing:-.7px}.offer-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.offer-steps a{display:flex;align-items:center;gap:10px;padding:16px;background:#fff;border:1px solid #d9e6e5;border-radius:12px;text-decoration:none;color:#24464b;font-weight:600}.offer-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e2f4ee;color:#087c70}.offer-workspace .offer-summary{padding:22px;border:1px solid #bcded4;border-radius:14px;background:#edf8f4;gap:16px;flex-wrap:wrap}.offer-workspace .offer-summary strong{font-size:21px;margin-right:auto}.offer-workspace .panel{margin-top:22px;border:1px solid #dce6e6;border-radius:14px;box-shadow:0 4px 16px #163e4505;scroll-margin-top:20px}.offer-workspace .panel h2{font-size:21px;margin-bottom:10px}.offer-workspace .offer-item{border:1px solid #dce6e6;border-radius:10px;margin:10px 0;padding:14px}.offer-workspace .offer-item[open]{border-color:#7ebbb0;background:#fbfefd}.offer-workspace .offer-item summary{cursor:pointer;line-height:1.6}.offer-workspace textarea{min-height:85px}.offer-workspace .notice{margin:15px 0}.offer-workspace .upload-offer{padding:18px;background:#f2f7f7;border-radius:10px;margin-top:15px}@media(max-width:800px){.offer-steps{grid-template-columns:1fr 1fr}.offer-workspace .offer-summary{align-items:stretch}.offer-workspace h1{font-size:27px}}@media(max-width:480px){.offer-steps a{padding:10px;font-size:12px}.offer-steps b{min-width:24px;width:24px;height:24px}}

.budget-info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border:1.5px solid #087d75;border-radius:50%;font-size:12px;font-weight:800;color:#087d75;cursor:default;vertical-align:middle;line-height:1;background:#e7f6f1}.budget-warning{border-color:#986312;color:#986312;background:#fff5de}.budget-info:focus-visible{outline:2px solid #087d75;outline-offset:2px}.offer-steps{position:sticky;top:0;z-index:30;background:#f3f7f7;padding:12px 0;box-shadow:0 6px 12px #163e4510}.offer-workspace .panel{scroll-margin-top:110px}@media(max-width:800px){.offer-workspace .panel{scroll-margin-top:165px}}

.budget-tooltip{position:fixed;z-index:10000;max-width:min(360px,calc(100vw - 24px));padding:13px 16px;background:#153c46;color:#f4fafb;border:1px solid #315d67;border-radius:12px;box-shadow:0 10px 28px #102d3640;font-size:13px;font-weight:400;line-height:1.6;white-space:normal;overflow-wrap:anywhere;pointer-events:none}.budget-tooltip[hidden]{display:none}

.radar-load-status{font-size:12px;color:#527572}.radar-table[aria-busy="true"] thead{opacity:.65}

/* Monetary evidence must wrap; long source text must not widen the radar. */
.radar-table [data-budget]{white-space:normal;min-width:210px;max-width:290px}.budget-evidence{white-space:normal;max-width:100%;font-size:12px;margin-top:8px}.budget-evidence summary{cursor:pointer;color:#087f74}.budget-evidence article{border-top:1px solid #dce6e6;padding:8px 0}.budget-evidence p,.budget-evidence blockquote{overflow-wrap:anywhere;white-space:normal}.budget-evidence blockquote{margin:8px 0;padding-left:10px;border-left:2px solid #c9ded9}.doc-guarantees{white-space:normal;overflow:visible;text-overflow:clip;max-width:230px;min-width:160px;font-size:11px;line-height:1.5}
