/* Rev18 — a continuous h–u curve: restrained branding, lower-right endings. */
:root{--hub-curve:8px 8px 30px 8px;--hub-small:6px 6px 17px 6px;--hub-gold:#b49a65}
body{background:#f6f7f5}main{max-width:1800px;margin:auto;padding-bottom:40px}
.heading{margin:26px 0 28px;gap:22px}.heading h1{line-height:1.2}.heading p{line-height:1.7}
.heading>.heading-actions,.tools,.actions{flex-wrap:wrap;gap:10px}
button:not(.text):not(.live-company):not(.rd-source-open),.rd-masthead .roles select,#nav>button,#nav summary,#nav .global-popover button{border-radius:var(--hub-small)}
button.primary{position:relative;min-height:40px;padding-right:25px;box-shadow:0 2px 4px #152b3c0b}
button.primary:after{content:'';position:absolute;right:6px;bottom:5px;width:9px;height:11px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;border-radius:0 0 9px 0;opacity:.55;pointer-events:none}
button.primary:hover:not(:disabled){box-shadow:0 4px 12px #152b3c20}button:disabled{opacity:.58}
.card,.stat,.module-card,.portal-card,.document-card,.inv-email,.inv-checklist,.rd-layout .card{border-radius:var(--hub-curve)}
.card{box-shadow:0 3px 14px #152b3c04}.stat{position:relative;overflow:hidden;padding-bottom:26px}.stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.stat:after{content:'';position:absolute;right:13px;bottom:11px;width:15px;height:15px;border-right:1px solid #b49a6570;border-bottom:1px solid #b49a6570;border-radius:0 0 12px 0;pointer-events:none}
.ob-stats .stat:last-child:after{top:auto;bottom:11px;border-top:0;width:15px;height:15px}
.live-focus,.banner,.ob-hero{position:relative;isolation:isolate;border-radius:10px 10px 46px 10px;overflow:hidden}
.live-focus:before,.banner:before{content:'';position:absolute;z-index:-1;inset:0;background:url('assets/hu-line.svg') right 28px center/230px auto no-repeat;opacity:.42;pointer-events:none}
.live-focus{padding:30px 34px 34px;border-bottom:2px solid #b49a6580}.live-focus p{max-width:940px}.live-focus .eyebrow{color:#dbc594}.live-focus h2{line-height:1.4}
.banner>div,.live-focus>div{min-width:0}.banner .tag,.live-focus .tag{background:#f4f1ea;color:#263b4d}
.prep-task,.portal-cards .card,.document-card,.module-card{position:relative;background-image:url('assets/hu-line.svg');background-repeat:no-repeat;background-position:right -12px bottom -16px;background-size:96px auto}
.module-card:after{display:none}.prep-task{min-height:255px}.prep-task .tools{padding-top:24px}.prep-task small{line-height:1.7}.prep-task h2{max-width:90%}
.cardhead{align-items:flex-start;gap:20px}.cardhead h2{line-height:1.4}.cardhead .tools{margin-top:0}
.live-deadlines .card,.portal-deadlines .card{border-bottom:2px solid #b49a6560}.countdown{font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.live-tracker{padding:28px}.live-tracker table{width:100%}.live-tracker td{padding-top:22px;padding-bottom:22px}.live-tracker tbody tr:hover{background:#f7f4ed}
.live-company{font-size:13px!important;line-height:1.5}.live-company:hover{color:#806834;text-decoration:underline;text-underline-offset:4px}
.live-action-list button{min-height:46px;padding-left:18px;border-left:2px solid #b49a6560;background:#fafbf9}
.live-bottom .activities{margin-top:22px}.activity{padding-bottom:20px}.activity small{color:#65717c;overflow-wrap:anywhere}
.inv-email{border-top:3px solid var(--hub-gold);padding:30px 34px}.inv-checklist{padding:22px;background:#f4f1ea;border:1px solid #e4dece}.inv-preview-layout{gap:22px}.inv-email pre{line-height:1.85}
.upload,dialog,.document-access,.rd-desk,.rd-equation,.rd-inspect,.rd-evidence-pair>section,#toast{border-radius:var(--hub-curve)}
.upload{border-style:dashed}.upload:hover{border-color:#b49a65;background:#fcfaf5}input:not([type=checkbox]):not([type=radio]),textarea,select{border-radius:5px 5px 13px 5px}
input[type=checkbox],input[type=radio]{accent-color:#152b3c}.note{line-height:1.8;border-radius:4px 4px 17px 4px}dialog{padding-bottom:34px}dialog h2{line-height:1.3}dialog .actions{margin-top:26px}
.portal-test-bar{padding:16px 22px;background:#f0f3f1;border-color:#dce3de;margin-bottom:24px}.portal-test-bar small{line-height:1.6}.portal-test-bar .tools button{font-size:10px}
.rd-masthead .brand:after{border:0;width:30px;height:28px;background:url('assets/hu-line.svg') center/contain no-repeat;bottom:4px;opacity:.9}
.hub-footer-brand:after{content:'';display:block;width:38px;height:28px;background:url('assets/hu-line.svg') center/contain no-repeat}footer{border-top:1px solid #dce1df;padding-top:24px}
.hu-empty{padding:30px 16px;color:#65717c}.hu-exception{border-left:3px solid #b49a65;padding:14px 20px;margin:18px 0;background:#f5f0e4}
@media(max-width:1100px){.live-focus{padding-right:28px}.cardhead{flex-wrap:wrap}.live-tracker{padding:23px}.heading h1{font-size:26px}}
@media(max-width:760px){main{padding:18px 16px 30px}.heading{flex-direction:column;align-items:flex-start;margin:20px 0}.heading h1{font-size:25px}.card,.live-tracker{padding:21px}.banner,.ob-hero,.live-focus{border-radius:8px 8px 34px 8px}.live-focus{padding:23px}.live-focus:before,.banner:before{background-size:160px;opacity:.13}.portal-test-bar{padding:16px}.portal-test-bar .tools{display:flex;gap:8px}.live-deadlines .card{display:block}.stat strong{overflow-wrap:anywhere}.inv-email{padding:21px}.hub-footer-brand small{max-width:140px}.actions{justify-content:flex-start}.live-deadlines h3{line-height:1.6}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.rd-masthead,.portal-test-bar,.shell>.demo,footer,#toast{display:none!important}.shell{margin:0!important}.card,.stat{break-inside:avoid;box-shadow:none}}

/* Long PDF hashes and file names must wrap inside activity cards. */
.activity{overflow-wrap:anywhere}.two>*{min-width:0}.live-focus>.tag{flex-shrink:0}

/* Latest offer value, balanced with the interaction register. */
.offer-value b{display:block;white-space:nowrap;font-size:14px;color:var(--navy,#152B3C);font-variant-numeric:tabular-nums}.offer-value small{display:block;font-size:11px;margin-top:5px;line-height:1.45}
/* Rev24: preparation is editable but visually quieter than issued tenders. */
.ws-tender-live{background:#fff;border-left:3px solid #b49a65;box-shadow:0 3px 16px #152b3c08}
.ws-tender-preparing{background:#f0f1f0;border-color:#d9dedd;box-shadow:none;border-left:3px solid #c4cbce}
.ws-tender-preparing h3,.ws-tender-preparing h3 button{color:#586a75}.ws-tender-preparing .tag{background:#e2e6e5;color:#53636c}.ws-tender-preparing .tools button{background:#f7f8f6;border-color:#cbd2d4;color:#53636c}.ws-preparing-heading{border-top:1px solid #dbe0df;padding-top:26px;margin-top:28px}.ws-preparing-heading h2{color:#596b76;font-size:20px}.ws-preparing-heading h2 span{font-size:13px;background:#e9edeb;padding:4px 9px;border-radius:12px}.ws-status-caption,.ws-preparing-heading p{font-size:12px;color:#60717b;line-height:1.6}.ob-hero.ws-hero-preparing{background:#e7ebeb;color:#425663}.ob-hero.ws-hero-preparing h2,.ob-hero.ws-hero-preparing .hero-date{color:#425663}.ob-hero.ws-hero-preparing .hero-meta,.ob-hero.ws-hero-preparing p,.ob-hero.ws-hero-preparing small,.ob-hero.ws-hero-preparing .eyebrow{color:#526772}.ob-hero.ws-hero-preparing .hero-actions button{background:#526772;color:#fff;border-color:#526772}.ob-hero.ws-hero-preparing .hero-watermark{opacity:.07}
