/* ODDRiX corporate palette: navy, gold, restrained white; semantic actions. */
:root{color-scheme:dark;--navy:#09182d;--surface:#112640;--surface-raised:#18324e;--gold:#d9b96e;--text:#e8edf5;--muted:#a5b4c9;--line:#304760;--olive:#d9b96e;--dark:#e8edf5;--blue:#e3c783;--pale:#20364e;background:var(--navy);color:var(--text)}
body,.auth,.workspace{background:var(--navy);color:var(--text)}
.sidebar,.topbar,.panel,.metric,.module-card,dialog,.auth-form-wrap,.profile-main,.profile-overview,.profile-sections,.profile-section,.source-card,.profile-import-actions,.score-card{background:var(--surface);color:var(--text);border-color:var(--line)}
.sidebar{background:#071326}.brand strong,h1,h2,h3,.metric-value,.empty strong,.breadcrumb b,.profile-section-heading h2{color:var(--text)}
.brand strong,.eyebrow,.panel-link,.back,.step a,a,td.title a,.file-list a{color:var(--gold)}
.subtitle,.caption,.footnote,.check-note,.metric small,.metric-label,.nav-label,.sidebar-foot,.account-name small,.panel-head p,.module-card p,.line-item p,td small,.data-list dt,.field>span,.field>label,.profile-section-heading p,.profile-import-actions p,.profile-declaration p,.profile-overview span,.empty{color:var(--muted)}
.nav-link{color:#bac7d8}.nav-link:hover,.nav-link.active,.profile-section:hover,.profile-section.active{background:#25394c;color:#f2d791}.profile-section.active{border-color:var(--gold)}
.metric.accent,.avatar,.step-no,.section-code,.lifecycle .current{background:#233a50;color:var(--gold);border-color:#64705c}
.btn{background:#1a324d;color:#e5cf96;border-color:#496079}.btn:hover{background:#294463;border-color:var(--gold)}
.btn.primary,.btn.status-green{background:#176746;color:#f0fff7;border-color:#38a774}.btn.primary:hover,.btn.status-green:hover{background:#207f58}
.btn.status-red,.remove-row,.remove-risk{background:#782c37;color:#ffe9ea;border-color:#d96670}.btn.status-red:hover{background:#943845}
.btn.status-yellow{background:#725713;color:#fff4c7;border-color:#caa442}.btn.status-yellow:hover{background:#8a6a1c}
.btn:disabled{cursor:not-allowed;opacity:.5}.btn.small{white-space:normal}.button-row,.source-actions{flex-wrap:wrap}
input,select,textarea{background:#0a1b30;color:var(--text);border-color:#405873}input::placeholder,textarea::placeholder{color:#8196af}input:focus,select:focus,textarea:focus{outline:2px solid #d9b96e66;border-color:var(--gold)}input[type=checkbox]{accent-color:var(--gold)}
th{background:#0b1d33;color:#c6b481;border-color:var(--line)}td,.line-item,.panel-head,.data-list div,.step,.timeline-event,.report-card{border-color:var(--line)}tbody tr:hover{background:#1a3451}
.notice,.notice.blue{background:#162f49;color:#c5d7ec;border-color:#3a5674}.notice.warning{background:#352e1b;color:#eddaa2;border-color:#716039}.error{background:#3b202b;color:#ffc3c8;border:1px solid #8e4552}
.badge,.badge.gray{background:#2a3d52;color:#c5d0df}.badge.olive{background:#163e33;color:#92e7b6}.badge.amber,.badge.gold{background:#43391c;color:#f2d378}.badge.red{background:#4c2630;color:#ffa9b1}.badge.blue{background:#243e5c;color:#b4d6ff}
.auth-art{background:linear-gradient(140deg,#071426,#173452)}.auth-art h1{color:#f0ddb0}.auth-art p{color:#bbc9da}.auth-art:after{border-color:#8a7447;box-shadow:0 0 0 70px #152c44,0 0 0 71px #736545,0 0 0 140px #10253c}.auth-toggle{background:#09192c}.auth-toggle button{color:#b0c0d4}.auth-toggle .active{background:#34445a;color:#f5d991;box-shadow:none}.auth-art img,.brand img{filter:contrast(1.05)}
.close,.logout{color:#c3d1e2}dialog{background:#10243d;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#020c1ab8}#toast{background:#244366;color:#fff2cd;border:1px solid #b09660}
.profile-import-actions{border:1px solid var(--line)}.profile-declaration{background:#112640}.section-state.answered{color:#72d7a6}.section-state.unknown{color:#c4a95f}.capacity-picker,.catalog-group,.capacity-summary,.legacy-resources,.source-help{background:var(--surface);border-color:var(--line);color:var(--text)}
.ocr-text pre,.score-card pre{background:#08192c;color:#c7d5e7;border-color:var(--line);padding:14px;white-space:pre-wrap;overflow-wrap:anywhere}.import-resource,.risk-entry{border:1px solid var(--line);border-radius:8px;margin:18px 0;padding:20px}.import-resource legend,.risk-entry legend{color:var(--gold)}
.catalog-item,.available-preview,.ocr-text,#profile-progress:not(:empty){background:#17304b;color:var(--text);border-color:var(--line)}.catalog-item:hover{background:#254361;border-color:var(--gold)}.catalog-item small,.catalog-item span{color:#cfb778}.import-issues{background:#40331b;color:#f4dba0}
.assessment-block{padding:16px 0;border-bottom:1px solid var(--line)}.assessment-block summary{cursor:pointer;color:var(--gold);padding:8px 0}.assessment-block .form-grid{margin-top:18px}.risk-entry .btn{margin-top:12px}.score-heading{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.score-heading strong{font-size:27px;color:var(--gold)}.score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}.score-card{border:1px solid var(--line);border-radius:8px;padding:18px;overflow-wrap:anywhere}.score-card summary{cursor:pointer;line-height:1.6}.score-card strong{display:block;font-size:25px;margin:12px 0;color:var(--gold)}.score-card p{font-size:12px;line-height:1.7;color:var(--muted)}.limitations{color:#d7c38f}.observer-mode .nav-label{color:var(--gold)}
@media(max-width:1000px){.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.score-grid{grid-template-columns:1fr}.profile-import-actions .btn{white-space:normal}.score-heading strong{font-size:23px}}
@media print{body,.workspace,.content,.panel,.metric{background:white!important;color:#111!important}h1,h2,h3,.metric-value,.score-heading strong{color:#111!important}.score-card{background:white;color:#111}.score-grid{grid-template-columns:1fr 1fr}}

.panel-body{overflow-x:auto}

.identity-group{border:1px solid #34506c;border-radius:12px;padding:20px;margin:22px 0}.identity-group legend{color:#d7b86a;font-weight:600;padding:0 10px}.identity-group .field{min-width:0}
