/* Institutional palette: IPB visual identity manual, 12 February 2026.
   The current official portal supplies the UPB signature used in the header. */
:root{--brand:#8d1631;--brand-dark:#6f1327;--brand-tint:#f8edf0;--ink:#242124;--muted:#71676c;--bg:#faf7eb;--line:#e7dfe2;--lime:#faf7eb}
body{background:var(--bg)}
header{height:108px;border-top:5px solid var(--brand);border-bottom:1px solid #ded4d8;background:#fff}
.institution-brand{display:flex;align-items:center;gap:27px;min-width:0}
.institution-logo{display:block;width:203px;height:77px;object-fit:contain;flex-shrink:0}
.lab-brand{border-left:1px solid var(--line);padding:9px 0 9px 26px}
.lab-brand strong{display:block;font-size:20px;letter-spacing:-.6px;font-weight:650;color:var(--brand)}
.lab-brand small{display:block;font-size:9px;letter-spacing:1.7px;margin-top:5px;color:#665a60;font-weight:600}
.header-note{font-size:11px;color:#74686d;max-width:220px;line-height:1.6;text-align:right}
.eyebrow{color:var(--brand);letter-spacing:1.6px}
h1{color:#241d20;max-width:750px;font-weight:650}
.intro{padding:6px 0 24px;border-bottom:1px solid #e1d7d6;margin-bottom:22px}
.intro p{color:#74676d}
.primary{background:var(--brand);border-color:var(--brand)}
.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
button:hover{border-color:#bf8291;background:#faf2f4}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd5670;outline-offset:3px}
.toolbar{border-top:3px solid var(--brand);box-shadow:0 3px 15px #50122205}
.speeds{background:#f5eff1}.speeds .active{background:var(--brand);color:#fff;box-shadow:none}
.scenario-control label,.round-label span{color:#79636d}
.round-label strong{color:var(--brand)}
.order-panel,.metrics article,.floor-panel,.person-panel,.events-panel,.history-panel{box-shadow:0 2px 10px #43132104}
.model-order{background:#fcfaf6}.model-order b{color:var(--brand)}
.order-track{background:#eee3e6}.order-track i{background:var(--brand)}
#order-summary{color:var(--brand)}
.metrics article{border-top:3px solid #d9c1c7}
.metrics strong{color:#2d2026}.metrics label{color:#77626c}
.metrics small{color:#766b70}.metrics em{color:#867780}
.metrics .purple{background:#f8e9ef;color:var(--brand)}
.panel-heading h2{color:#35202a}.floor-badge{color:#806673}
.floor-footer,.flow-key{color:#776e72}.floor-footer b{color:#59424c}
.team-hint{color:#786771}.team-member{border-color:#eadfe3}
.team-toggle[aria-expanded="true"]{background:var(--brand-tint);box-shadow:inset 3px 0 var(--brand)}
.team-toggle:hover{background:#fcf5f7}.team-name strong{color:#3e2631}
.team-chevron,.team-name small{color:#806470}.team-accordion{scrollbar-color:#c7a3af transparent}
.person-stats div{border-color:#eadfe3;background:#fcfafb}
.person-stats strong{color:var(--brand)}
.person-status{background:#f5eef1;color:#735561}
.section-label{color:#856273}.skill-row .skill-value{color:#735361}
.skill-row.current{color:var(--brand)}.track{background:#f0e6e9}
.track i{background:#c1798c}.skill-row.current .track i{background:var(--brand)}
.fine-print,.person-actions small,.muted{color:#7c7076}
.edit-profile,#open-assembly,#open-report,#assembly-reference summary,.assembly-scrub output{color:var(--brand)}
.event-row,.history-row{border-color:#eee5e8}.event-row time,.history-row small{color:#8c6575}
.empty{color:#83767c}#downloads a{color:var(--brand)}
footer{color:#7c6972;border-top:1px solid #e5dadd;margin-top:24px;padding-top:22px}
#toast{background:#4b1827}dialog{border-color:#dfcdd3;box-shadow:0 20px 100px #40102022}
dialog::backdrop{background:#29121c66}dialog h2{color:var(--brand)}dialog p{color:#73676d}
input{border-color:#ddcfd4}#assembly-view{background:radial-gradient(ellipse at 50% 60%,#fff 5%,#faf7eb 90%);border-color:#e6ddd7}
.assembly-note,.assembly-scrub label{color:#786b71!important}
#assembly-progress{accent-color:var(--brand)}
.report-summary>div{background:#faf4f5;border-color:#eadde2}.report-summary strong{color:var(--brand)}
.report-table-wrap{border-color:#d9c5ce}#report-table th,#report-table td{border-color:#e9dce2}
#report-table thead th{background:var(--brand);color:white}#report-table small{color:#f6dce5}
#report-table .report-group th{background:#eee5e9;color:#663a4c}.report-current{background:#fbf0f3}
.report-footnote{color:#786872!important}.report-analysis ul{color:#74636c}
#report-downloads a{background:#f9edf1;border-color:#d9aeba;color:var(--brand)}
.report-save-row span{color:var(--brand)}
@media(max-width:900px){header{height:auto;min-height:100px;padding:14px 20px;gap:12px;flex-wrap:wrap}.institution-logo{width:174px;height:65px}.lab-brand{padding-left:18px}.institution-brand{gap:18px}.lab-brand strong{font-size:18px}.lab-brand small{font-size:8px}.connection{margin-left:auto}}
@media(max-width:480px){header{padding:12px 20px}.institution-brand{width:100%;justify-content:space-between;gap:12px}.institution-logo{width:163px;height:61px}.lab-brand{padding-left:14px}.lab-brand strong{font-size:17px}.lab-brand small{font-size:7px;letter-spacing:1px}.connection{padding:5px 9px;font-size:9px}main{padding-top:23px}.intro h1{font-size:26px}.eyebrow{font-size:9px;line-height:1.6}}

footer{gap:14px;flex-wrap:wrap}footer a,#help a{color:var(--brand);font-weight:600}

/* Isometric floor keeps the institutional shell and semantic status colors. */
#factory-canvas{aspect-ratio:1180/960;background:var(--bg);overflow:hidden}
.view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fcfaf6}
.view-label{color:var(--brand);font-size:10px;font-weight:700;letter-spacing:1.1px}
.view-controls{display:flex;align-items:center;gap:6px}
.view-controls button{padding:5px 10px;font-size:13px;color:var(--brand);min-width:30px}
.view-controls output{font-size:11px;font-variant-numeric:tabular-nums;min-width:40px;text-align:center;color:var(--muted)}
.logistics-settings{padding:12px 20px;border-bottom:1px solid var(--line);background:#fffaf5;font-size:11px;color:var(--muted)}
.logistics-settings summary{cursor:pointer;font-weight:600;color:var(--brand)}
.logistics-settings form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.logistics-settings label{display:grid;gap:6px;flex:1;min-width:140px}.logistics-settings input{width:100%}
.logistics-settings button{font-size:11px}.logistics-settings p{margin:10px 0}
@media(max-width:480px){.view-toolbar{padding:9px 10px;gap:6px}.view-label{font-size:8px;letter-spacing:.5px}.view-controls{gap:3px}.view-controls button{padding:6px 8px;font-size:12px}}
