:root{--training-green:#007236;--training-ink:#172e22;--training-muted:#65756b;--training-line:#dce5df;--training-bg:#f3f6f4}
body{background:var(--training-bg);color:var(--training-ink);font-family:Inter,system-ui,sans-serif;margin:0}.training-main{width:min(1280px,calc(100% - 40px));margin:28px auto 48px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.heading h1{font-size:clamp(25px,3vw,32px);letter-spacing:-.04em;margin:5px 0}.eyebrow{font-size:14px;color:var(--training-muted);margin:0}.sync{border-left:3px solid #8ab29a;padding:6px 14px;display:grid;gap:4px;font-size:14px}.sync small{color:var(--training-muted);font-size:13px}#message{padding:10px 0;font-size:15px}#message.error{color:#8a3028;background:#fff0ed;border-radius:8px;padding:12px}.training-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.training-kpis article{background:white;border:1px solid var(--training-line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:3px}.training-kpis article span{font-size:11px;line-height:1.35;text-transform:uppercase;letter-spacing:.035em;color:var(--training-muted);max-width:190px}.training-kpis article strong{font-size:28px;line-height:1.1;font-weight:750;font-variant-numeric:tabular-nums}.training-kpis article:first-child strong{color:var(--training-green)}.training-kpis article small{font-size:12px;color:var(--training-muted);line-height:1.4}.training-panel{background:#fff;border:1px solid var(--training-line);border-radius:12px;padding:18px;margin:0 0 18px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.filter-grid label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:650;display:grid;gap:5px}.filter-grid input,.filter-grid select,.date-pair input,.mapping-row select,.mapping-row input{font:inherit;font-size:14px;letter-spacing:normal;font-weight:400;color:var(--training-ink);background:#f3f6f4;border:1px solid #ccd9d0;border-radius:9px;padding:9px 10px;min-width:0;width:100%;box-sizing:border-box}.filter-grid input:focus,.filter-grid select:focus,button:focus-visible{outline:2px solid var(--training-green);outline-offset:2px}.filter-grid input:disabled{background:#eee}.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid var(--training-line)}.filter-actions span{margin-right:auto;font-size:13px;color:var(--training-muted)}.training-main button{font:inherit;font-size:14px;border:1px solid var(--training-green);border-radius:7px;color:white;background:var(--training-green);padding:10px 16px;font-weight:650;cursor:pointer}.training-main button.secondary{color:var(--training-green);background:white;border-color:#bdd0c3}.training-main button:disabled{opacity:.45;cursor:not-allowed}.results{padding:0;overflow:hidden}.results-head{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:#edf3ef;text-align:left;padding:10px 12px}th button{background:none!important;border:none!important;color:var(--training-muted)!important;padding:4px 0!important;text-align:left;white-space:nowrap}td{padding:11px 14px;border-bottom:1px solid #e8ede9;vertical-align:top;line-height:1.45}td:first-child{font-weight:600;min-width:165px}td:nth-child(2),td:nth-child(7){white-space:nowrap;font-variant-numeric:tabular-nums}td:nth-child(3){min-width:155px;max-width:210px}td:nth-child(6){min-width:150px}tbody tr:hover{background:#f8fbf9}.pill{display:inline-block;font-size:11px;font-weight:650;border-radius:20px;padding:3px 10px;background:#edf0ee;color:#526059;white-space:nowrap}.pill.ok{background:#e5f2e9;color:#2d7149}.pill.bad{background:#f7e8e5;color:#914c43}.pill.warn{background:#faf0db;color:#896522}.project-note{display:block;font-size:12px;color:var(--training-muted);max-width:180px;margin-top:3px}.pager{display:flex;justify-content:flex-end;align-items:center;gap:15px;padding:15px 18px;font-size:14px}.empty{padding:35px;text-align:center;color:var(--training-muted)}.footnote{color:var(--training-muted);font-size:13px}.training-panel summary{cursor:pointer;font-weight:650;font-size:15px}#auditContent{padding:16px 0;font-size:14px}.mapping-row{display:grid;grid-template-columns:150px 1.3fr 1fr auto;gap:10px;align-items:center;margin:10px 0}.audit-note{padding:12px;background:#fff6e6;border-radius:8px;line-height:1.5}.review-item{margin:12px 0;padding:12px;border:1px solid var(--training-line);border-radius:8px;font-size:14px}.review-item pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}[hidden]{display:none!important}
@media(max-width:1000px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-kpis{grid-template-columns:repeat(3,1fr)}.mapping-row{grid-template-columns:1fr 1fr}.heading{align-items:flex-start}}
@media(max-width:600px){.training-main{width:calc(100% - 24px);margin-top:18px}.heading{display:block}.sync{margin-top:16px}.training-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.training-kpis article{padding:13px}.training-kpis article strong{font-size:26px}.training-kpis article:last-child{grid-column:1/-1}.filter-grid{grid-template-columns:1fr}.filter-actions{flex-wrap:wrap}.filter-actions span{width:100%}.training-panel{padding:14px}.results{padding:0}.results-head{align-items:flex-start}.pager{justify-content:center;padding:12px 8px;gap:10px}.mapping-row{grid-template-columns:1fr}thead{display:none}.table-scroll{overflow:visible}table,tbody,tr,td{display:block;width:auto}tr{padding:12px;border-bottom:1px solid var(--training-line)}td{border:0;padding:3px 0;min-width:0!important;max-width:none!important}td::before{content:attr(data-label) ': ';font-size:12px;color:var(--training-muted);font-weight:400}td:first-child::before{display:none}td:first-child{font-size:15px;margin-bottom:4px}.project-note{display:inline;margin-left:4px}}

/* Keep the module aligned with the shared portal header; bound the SVG before it loads. */
*{box-sizing:border-box}
.training-topbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:12px max(20px,calc((100vw - 1280px)/2));min-height:74px}
.training-topbar .brandLockup{display:flex;align-items:center;gap:11px;min-width:0;max-width:calc(100% - 56px)}
.training-topbar .brandLockup>.bmi-logo{display:block;width:46px;height:46px;min-width:46px;max-width:46px;flex:0 0 46px;object-fit:contain;border-radius:11px}
.training-topbar .brandLockup>div{display:grid;gap:3px;min-width:0}
.training-topbar .brandLockup b{font-size:16px;line-height:1.2}
.training-topbar .brandLockup span{font-size:12px;color:var(--training-muted)}
.training-panel,.training-kpis article{box-shadow:0 1px 2px #12241a06,0 6px 20px -8px #12241a12}
.training-kpis article:nth-child(4) strong{color:#2f6fa8}
.sync{border:1px solid var(--training-line);border-radius:12px;background:white;padding:9px 13px;flex-shrink:0;font-size:12px;gap:3px}
.sync small{font-size:11px}
#syncMode::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#168b49;box-shadow:0 0 0 3px #e4f2e9;margin-right:8px}
#message:empty{display:none}
#message.notice{color:var(--training-muted);font-size:12px;padding:0;margin:0 0 16px}
.filter-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:10px}
.filter-secondary{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:14px}
.field-label{display:block;margin-bottom:5px;font-size:11px;color:var(--training-muted);font-weight:650;letter-spacing:.04em;text-transform:uppercase}
.date-pair{gap:6px}
.chipgroup{display:flex;flex-wrap:wrap;gap:6px}
/* Exact shape, spacing and company colors from the supplied HTML. */
.training-main .chip{border:1px solid #dde3da;background:#eef1ec;color:#4c5c52;font-size:12.5px;font-weight:600;line-height:normal;padding:6px 12px;border-radius:999px;cursor:pointer;user-select:none;transition:background .12s,color .12s,border-color .12s}
.training-main .chip:hover{border-color:#06743a}
.training-main .chip.active{background:var(--obra-color,#06743a);border-color:var(--obra-color,#06743a);color:#fff}
[data-obra="BMI"]{--obra-color:#06743a;--obra-soft:#e4f2e9}
[data-obra="BBC"]{--obra-color:#2f6fa8;--obra-soft:#e3edf6}
[data-obra="NTM"]{--obra-color:#c07a12;--obra-soft:#fdedd4}
[data-obra="CONDORLINK"]{--obra-color:#7a51ad;--obra-soft:#eee7f6}
[data-obra="EB"]{--obra-color:#1f8a86;--obra-soft:#e1f2f1}
[data-obra="UTE PECOM BMI"]{--obra-color:#a33f6b;--obra-soft:#f5e6ee}
[data-obra="SIN DATO"]{--obra-color:#5c6b62;--obra-soft:#e8ece7}
.pill[data-obra]{background:var(--obra-soft,#e8ece7);color:var(--obra-color,#5c6b62)}
.extra-filters{margin-top:12px}
.extra-filters summary{font-size:12px;font-weight:500;color:var(--training-muted);width:fit-content}
.extra-filters .filter-grid{margin-top:10px;grid-template-columns:1fr 1fr;max-width:650px}
.filter-actions{margin-top:12px;padding-top:12px;justify-content:space-between;flex-wrap:wrap}
.filter-actions .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filter-actions button{padding:8px 14px;font-size:13px;border-radius:9px}
.filter-actions .secondary{background:#e4f2e9;border-color:transparent}
#export{display:inline-flex;align-items:center;gap:7px}
#export svg{width:16px;height:16px;flex:0 0 16px}
#count{font-size:13px}#count b{color:var(--training-ink)}
th button{font-size:10px!important;text-transform:uppercase;letter-spacing:.035em}
.project-note{font-size:11px}
.date-pair input:focus-visible,.extra-filters summary:focus-visible{outline:2px solid var(--training-green);outline-offset:2px}
@media(max-width:1000px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-secondary{grid-template-columns:1.3fr 1fr}.training-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.training-kpis article{padding:13px}.training-kpis article strong{font-size:26px}}
@media(max-width:760px){.training-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-secondary{grid-template-columns:1fr;gap:12px}.sync{width:fit-content}.training-topbar .brandLockup b{font-size:14px}}
@media(max-width:600px){.filter-grid{grid-template-columns:1fr}.training-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.extra-filters .filter-grid{grid-template-columns:1fr}.filter-actions .actions{width:100%;justify-content:flex-end}.filter-actions span{width:auto}.training-main{margin-top:20px}.training-kpis article:last-child{grid-column:1/-1}.heading h1{letter-spacing:-.035em}.training-topbar .brandLockup>.bmi-logo{width:40px;height:40px;min-width:40px;max-width:40px;flex-basis:40px}}

.company-field{margin-top:14px}.filter-hint{font-size:12px;color:var(--training-muted);line-height:1.4;margin:10px 0 0}.project-list{display:inline-flex;flex-wrap:wrap;gap:5px;min-width:85px;max-width:205px}.project-pill{background:#edf3ef;color:#315b43}[data-project-code="CC 6005"]{--obra-color:#06743a}[data-project-code="CM 6001"]{--obra-color:#2f6fa8}[data-project-code="CM 6003"]{--obra-color:#1f8a86}.mapping-row select[multiple]{min-height:92px;font-size:12px}.mapping-row{align-items:start}.project-list .pill{white-space:nowrap}td:nth-child(4){white-space:nowrap}td:nth-child(5){min-width:110px}#audit .mapping-help{font-size:12px;color:var(--training-muted)}

.mail-alerts{border-color:#d9aa55;background:#fffaf1}.mail-alerts h2{font-size:18px;margin:0 0 8px;color:#75490e}.mail-alerts>p{font-size:14px;line-height:1.5;margin:0 0 14px}.mail-alert{background:white;border:1px solid #eddbb9;border-radius:9px;padding:13px;margin:10px 0}.mail-alert h3{font-size:15px;line-height:1.35;margin:0 0 7px}.mail-alert p{font-size:14px;line-height:1.45;margin:5px 0}.mail-alert small{font-size:12px;color:var(--training-muted)}.mail-alert form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:11px}.mail-alert select,.mail-alert input{font:inherit;font-size:14px;padding:8px;border:1px solid #cdbb9e;border-radius:7px;min-width:170px;max-width:100%}.mail-alert input{flex:1 1 260px}.mail-alert form button{padding:8px 12px}.mail-alert-feedback{color:#8a3028}.mail-alert-feedback:empty{display:none}

.mail-evidence{margin:12px 0 4px;border:1px solid #d9e5db;border-radius:9px;background:#f8fbf9}
.mail-evidence>summary{padding:11px 13px;color:#146b3c;font-size:13px}
.mail-evidence-body{padding:2px 13px 14px;font-size:13px;line-height:1.5}
.mail-evidence-intro{margin:7px 0 12px;color:#4f6255}
.mail-problems{display:grid;gap:10px}
.mail-problem{border:1px solid #e8d6b3;border-left:4px solid #c08320;border-radius:8px;background:#fffdf8;padding:11px 13px}
.mail-problem h4{margin:0 0 5px;font-size:14px;line-height:1.35}
.mail-problem p{margin:4px 0;font-size:12px;overflow-wrap:anywhere}
.mail-problem .mail-issue{font-weight:650;color:#875421}
.mail-provenance{color:#5d6b60}
.mail-compare{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(120px,1fr) minmax(120px,1fr);margin-top:10px;border:1px solid #e3e7df;border-radius:6px;overflow:hidden}
.mail-compare>div{padding:7px 9px;border-bottom:1px solid #e3e7df;overflow-wrap:anywhere}
.mail-compare>div:nth-last-child(-n+3){border-bottom:0}
.mail-compare-head{background:#edf3ef;font-weight:700}
.mail-contrast,.mail-field-problem{background:#fff0db;color:#784617;font-weight:650}
.mail-empty{color:#965218;font-style:italic}
.mail-complete-table{margin-top:14px;border-top:1px solid #dce5df;padding-top:10px}
.mail-complete-table>summary{color:#146b3c;font-size:13px}
.mail-table-scroll{max-height:450px;overflow:auto;margin-top:9px;border:1px solid #dce5df;border-radius:7px}
.mail-source-table{min-width:1060px;font-size:12px}
.mail-source-table th{position:sticky;top:0;z-index:1;white-space:nowrap}
.mail-source-table td{min-width:0;max-width:230px;padding:7px 9px;white-space:normal;overflow-wrap:anywhere;font-weight:400}
.mail-source-table td:first-child{min-width:45px;font-weight:650}
.mail-source-table .mail-row-problem{background:#fff7e9}
.mail-source-table .mail-row-problem:hover{background:#fff0d7}
@media(max-width:600px){
 .mail-evidence-body{padding:2px 9px 12px}
 .mail-compare{grid-template-columns:90px minmax(95px,1fr) minmax(95px,1fr);font-size:11px}
 .mail-compare>div{padding:6px}
 .mail-source-table{display:table;width:100%}
 .mail-source-table thead{display:table-header-group}
 .mail-source-table tbody{display:table-row-group}
 .mail-source-table tr{display:table-row;padding:0}
 .mail-source-table th,.mail-source-table td{display:table-cell;width:auto;border-bottom:1px solid #e8ede9}
 .mail-source-table td::before{display:none}
 .mail-source-table td:first-child{font-size:12px;margin:0}
}
