:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#182f30;background:#f5f7f5;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:8px;background:var(--primary,#146c5c);color:white;padding:11px 17px;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.4;cursor:default}button.secondary{background:#e9efea;color:#234b40}button.subtle{background:transparent;color:inherit}input,select,textarea{width:100%;border:1px solid #d3ddd6;background:white;border-radius:7px;padding:11px;margin-top:6px;color:#182f30}textarea{min-height:100px}label{display:block;font-size:13px;font-weight:600;margin-bottom:16px}h1{font-size:34px;letter-spacing:-1.1px;margin:4px 0 20px}h2{font-size:19px;letter-spacing:-.3px}p{line-height:1.6}.brand{font-size:22px;font-weight:750;letter-spacing:-.7px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700;color:#6e8176;margin-top:30px}#shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}#shell[hidden]{display:none}aside{background:var(--sidebar,#112e28);color:#e4f2e9;padding:30px 24px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}aside select{background:#23463c;color:white;border-color:#36564b}nav{display:grid;gap:8px;margin-top:25px}nav button{text-align:left;background:transparent;color:#b9cfc4}nav button.selected{background:#2a4e41;color:white}.aside-bottom{margin-top:auto;display:grid;font-size:12px;gap:12px}main{padding:35px 45px;max-width:1500px;width:100%}header{display:flex;align-items:center;justify-content:space-between}header .eyebrow{margin-top:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:10px 0 28px}.card{background:white;border:1px solid #dfe6df;border-radius:12px;padding:24px}.metric span{font-size:12px;color:#6c7e71}.metric strong{display:block;font-size:38px;margin-top:12px;font-weight:600}.metric.accent{background:var(--accent,#d9eee0);border-color:#c4e2ce}.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bar-row{display:flex;justify-content:space-between;font-size:13px;margin-top:18px}.bar{height:8px;background:#edf2ed;border-radius:8px;margin-top:8px;overflow:hidden}.bar-fill{height:100%;background:#33806a}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{color:#708076;font-size:11px;text-transform:uppercase;letter-spacing:.7px;padding:14px;border-bottom:1px solid #dce5de}td{padding:18px 14px;border-bottom:1px solid #edf1ed}tbody tr:hover{background:#f7faf7}.table-wrap{overflow:auto}.toolbar{display:flex;gap:12px;margin:12px 0 20px}.toolbar input{margin:0;max-width:440px}.toolbar button{white-space:nowrap}.badge{display:inline-block;background:#e8f1e9;color:#396048;padding:5px 9px;border-radius:20px;font-size:11px;white-space:nowrap}.muted{color:#738278;font-size:13px}.empty{padding:30px;color:#718077;text-align:center}footer{font-size:11px;color:#91a092;margin-top:35px}.login{max-width:520px;margin:10vh auto;padding:30px}.login h1{font-size:44px;margin-top:45px}.login form{margin-top:35px}.login button{width:100%}dialog{border:1px solid #d3ded4;border-radius:14px;padding:28px;width:min(700px,95vw);max-height:90vh;color:#182f30}dialog::backdrop{background:#0b271e77}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}#notice{position:fixed;top:16px;right:20px;background:#fff1d8;padding:12px 20px;border-radius:8px;z-index:100;box-shadow:0 3px 20px #0001}#notice:empty{display:none}.activity{border-left:3px solid #c9dfcf;padding:3px 15px;margin:16px 0;white-space:pre-wrap}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}a{color:var(--primary,#146c5c)}pre{white-space:pre-wrap}.settings-form{margin-top:22px}@media(max-width:900px){#shell{grid-template-columns:180px 1fr}aside{padding:22px 16px}main{padding:25px 20px}.metrics{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}}@media(max-width:600px){#shell{display:block}aside{position:static;height:auto}.aside-bottom{margin-top:16px}nav{grid-template-columns:1fr 1fr;margin-top:8px}aside .eyebrow{display:none}h1{font-size:28px}.toolbar{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.login h1{font-size:35px}}

.check{display:flex;align-items:center;gap:10px;font-weight:400}.check input{width:auto;margin:0}fieldset{border:1px solid #d3ddd6;border-radius:8px;margin-bottom:18px;padding:16px}legend{font-weight:600}.research-notes{white-space:pre-wrap;font-size:13px}

.profile-dialog{width:min(1050px,96vw);padding:0;max-height:94vh}.profile-dialog #modal-body{padding:24px 30px}.profile-dialog #close-modal{display:none}.profile-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.profile-heading h2{font-size:24px;margin:8px 0}.profile-heading .eyebrow{margin-top:0}.profile-tabs{display:flex;gap:8px;overflow:auto;margin:20px 0 28px;border-bottom:1px solid #d3ddd6;padding-bottom:12px}.profile-tabs button{white-space:nowrap;background:#edf2ed;color:#375443}.profile-tabs button.selected{background:var(--primary,#146c5c);color:white}.save-bar{position:sticky;bottom:0;background:white;border-top:1px solid #d3ddd6;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;margin-top:20px}.save-bar .actions{margin:0}.save-bar span{font-size:13px;color:#526c59}.workflow-steps{line-height:2;color:#718077}.current-step{color:var(--primary,#146c5c);font-weight:700}.research-grid{display:grid;grid-template-columns:220px 1fr;gap:0;margin-top:20px}.research-grid dt,.research-grid dd{border-bottom:1px solid #e5ebe5;padding:12px 10px;margin:0;overflow-wrap:anywhere}.research-grid dt{font-weight:600;font-size:13px;background:#f5f8f5}.research-grid dd{font-size:13px;white-space:pre-wrap}input[readonly],textarea[readonly]{background:#f5f8f5;color:#526454}fieldset fieldset{border:0;padding:0}details summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere}@media(max-width:600px){.profile-dialog #modal-body{padding:20px 16px}.profile-heading h2{font-size:20px}.save-bar{display:block;bottom:0}.save-bar .actions{margin-top:10px}.research-grid{grid-template-columns:1fr}.research-grid dt{padding-bottom:4px}.research-grid dd{padding-top:5px}.profile-tabs button{font-size:13px}}

.portfolio-clusters{margin:30px 0}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.section-heading h2{margin:0 0 10px}.section-heading .muted{margin-top:0}.section-heading>button{white-space:nowrap}.cluster-summary h3{font-size:15px;margin:24px 0 12px}.cluster-counts{display:flex;gap:40px;margin:22px 0}.cluster-counts strong{display:block;font-size:28px}.cluster-counts span{font-size:12px;color:#738278}.coverage-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #e8eee8;padding:10px 0;font-size:13px}.badge.warning{background:#fff0d6;color:#865921}.gap{color:#865921;font-size:13px;background:#fff8ec;padding:12px;border-radius:7px}.ranked-partner{display:flex;gap:10px;border-bottom:1px solid #e8eee8;padding:12px 0}.rank{flex-shrink:0;background:#eaf3ec;border-radius:50%;width:25px;height:25px;text-align:center;padding-top:3px;color:#3d6850;font-size:13px}.ranked-partner .partner{padding:0;text-align:left;font-weight:650}.ranked-partner .muted{margin:6px 0;line-height:1.6}.cluster-summary>.secondary{margin-top:10px}@media(max-width:600px){.section-heading{flex-wrap:wrap}.section-heading>.badge{white-space:normal}}

.report-access{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:18px 0 30px}.report-access label{margin:0;min-width:260px}.report-list{display:grid;gap:10px;margin-top:20px}.report-list button{display:flex;justify-content:space-between;gap:20px;text-align:left}.report-dialog{width:min(1100px,96vw)}.historical-cluster{margin:16px 0}.historical-cluster h3{font-size:15px}

.assigned-onboarding{margin:16px 0}.assigned-onboarding h3{font-size:16px;margin:0 0 12px}.metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cluster-counts{flex-wrap:wrap;gap:20px}

.document-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #dce5de;padding:16px 0}.document-row .actions{flex-shrink:0;margin:0;align-items:center}.document-row strong,.document-row p{overflow-wrap:anywhere}.document-row .muted{margin-bottom:0}#document-upload-form{margin-top:24px} @media(max-width:600px){.document-row{display:block}.document-row .actions{margin-top:14px}}

.document-item{padding:0 0 16px;border-bottom:1px solid #dce5de}.document-item .document-row{border:0}.document-item .actions{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end}.link-entry{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:8px 0;font-size:13px}.share-form{background:#f4f8f4;border-radius:8px;padding:18px;margin:12px 0}.document-history{margin:24px 0}.share-url{font-size:12px}.document-row>div:first-child{min-width:0}

.assignment-history{margin:20px 0}.cluster-remove{color:#9a3e35!important}

.cluster-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(170px,1fr) auto;gap:16px;align-items:end}.cluster-filters label{margin:0}.cluster-filters button{min-height:43px}#cluster-pages{align-items:center}@media(max-width:1100px){.cluster-filters{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cluster-filters{grid-template-columns:1fr}}

.activity-body{white-space:pre-wrap;overflow-wrap:anywhere}

.user-management-item{border-top:1px solid var(--line,#ddd);padding:20px 0}.user-management-item details{margin:18px 0}

.customer-name{font-size:13px;line-height:1.5;color:inherit;opacity:.85;margin:16px 0 0;overflow-wrap:anywhere}.customer-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid #dfe6df}.customer-row p{margin:5px 0}.customer-row strong{overflow-wrap:anywhere}input[type=color]{height:46px;padding:5px}
body[data-theme=dene]{background:#f5f7fb;color:#252448}body[data-theme=dene] aside{background:linear-gradient(165deg,var(--sidebar) 10%,#45316b 100%);color:#fff}body[data-theme=dene] .brand{color:#83c9f3;letter-spacing:.2px}body[data-theme=dene] button{border-radius:4px}body[data-theme=dene] button:not(.secondary):not(.subtle):not(nav button):not(.profile-tabs button){color:#10283c}body[data-theme=dene] nav button{color:#d8dced}body[data-theme=dene] nav button.selected{background:var(--primary);color:#10283c}body[data-theme=dene] aside select{background:#ffffff16;border-color:#ffffff40}body[data-theme=dene] aside option{color:#252448;background:white}body[data-theme=dene] button.secondary{background:#eaf3fa;color:#264e70}body[data-theme=dene] .badge{background:#eaf3fa;color:#264e70}body[data-theme=dene] .card{border-radius:5px;border-color:#e0e5ef}body[data-theme=dene] .metric.accent{border-color:var(--primary);border-left-width:4px}body[data-theme=dene] .bar::-webkit-progress-value{background:var(--primary)}body[data-theme=dene] .bar::-moz-progress-bar{background:var(--primary)}body[data-theme=dene] .eyebrow{color:#60537f}body[data-theme=dene] .current-step{color:#345879}body[data-theme=dene] .profile-tabs button{background:#eaf3fa;color:#264e70}body[data-theme=dene] .profile-tabs button.selected{background:var(--sidebar);color:white}body[data-theme=dene] .muted{color:#66728a}body[data-theme=dene] .activity{border-left-color:var(--primary)}body[data-theme=dene] a{color:#35658a}body[data-theme=dene] tbody tr:hover{background:#f1f6fb}@media(max-width:600px){.customer-row{flex-wrap:wrap}}

body[data-theme=dene] aside .eyebrow{color:#bdc9e2}

/* Subcontractor files use the active customer's existing design tokens. */
.nu-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.nu-metrics button{text-align:left;color:var(--ink,#173b42);cursor:pointer}.nu-metrics button:hover{box-shadow:0 4px 18px #102e2818}.nu-badge{display:inline-flex;gap:7px;align-items:center;border:1px solid transparent;border-radius:20px;padding:5px 10px;font-size:.8rem;font-weight:650;white-space:nowrap;line-height:1.4}.nu-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.nu-valid{color:#116644;background:#e8f6ee;border-color:#bde1cd}.nu-warning{color:#8b5500;background:#fff6df;border-color:#eddbac}.nu-critical,.nu-expired,.nu-missing,.nu-rejected{color:#a93035;background:#ffeded;border-color:#efc6c8}.nu-unchecked,.nu-future{color:#586271;background:#eef1f5;border-color:#d6dce5}.nu-toolbar{align-items:end;flex-wrap:wrap}.nu-toolbar label{flex:1;min-width:140px;margin:0}.nu-toolbar label:first-child{flex:2;min-width:200px}.nu-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.nu-section-heading h2,.nu-section-heading h3{margin:0 0 8px}.nu-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}.nu-tabs .selected{background:var(--primary);color:white}.nu-requirements{display:grid;gap:16px;margin-top:16px}.nu-requirement{border:1px solid #dce5e4;border-radius:12px;padding:20px;background:white}.nu-editor{background:var(--accent,#edf4f2);padding:20px;border-radius:12px;margin:16px 0}.nu-editor h3{margin-top:0}.nu-comment{white-space:pre-wrap;overflow-wrap:anywhere;max-width:420px}.nu-form-status{color:#a93035;white-space:pre-wrap}.nu-catalogue-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #dce5e4}.nu-event-details{display:grid;grid-template-columns:minmax(100px,160px) 1fr;gap:5px 12px;font-size:.85rem}.nu-event-details dt{color:#657675}.nu-event-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}#nu-dossier .table-wrap{max-width:100%}#nu-panel>form{margin-top:16px}#nu-panel .toolbar{align-items:end}#nu-panel .toolbar label{margin-bottom:0}body[data-theme=dene] .nu-requirement{border-color:#d9e3f0}body[data-theme=dene] .nu-tabs .selected{background:var(--sidebar)}@media(max-width:900px){.nu-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.nu-section-heading{align-items:flex-start}.nu-event-details{grid-template-columns:1fr}.nu-event-details dd{margin-bottom:6px}.nu-requirement,.nu-editor{padding:14px}.nu-metrics{gap:10px}.nu-tabs button{flex:1}}
main{min-width:0}#nu-partners table{min-width:1000px}#nu-issue-list table{min-width:800px}#nu-staff-list table{min-width:760px}.metric .nu-valid{color:#116644}.metric .nu-warning{color:#8b5500}.metric .nu-critical{color:#a93035}.metric .nu-unchecked{color:#586271}

/* Keep long identities and log subjects readable on narrow screens. */
.activity{overflow-wrap:anywhere}
