/* Etapa 4.2.1 — consolidação visual da identidade oficial */
:root{--positive:var(--color-navy);--positive-soft:color-mix(in srgb,var(--color-accent) 55%,white);--attention:var(--color-navy);--attention-soft:color-mix(in srgb,var(--color-accent) 34%,white);--neutral-soft:var(--color-background)}
body{background:var(--color-background);font-family:var(--font-sans)}
.brand,.mobile-head b{color:#fff}.mobile-head b{color:var(--color-navy);font-weight:800;letter-spacing:-1px}.mobile-head{background:color-mix(in srgb,var(--color-background) 92%,transparent);border-color:var(--color-line)}
.group-card:hover,.group-card.selected{border-color:color-mix(in srgb,var(--color-primary) 42%,white);background:var(--soft)}
.setup-step:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,white)}.setup-step.done{background:color-mix(in srgb,var(--color-accent) 22%,white)}.setup-step.done>span{background:var(--color-accent);color:var(--color-navy)}
.participant-card,.allocation-row,.import-payment{border-color:var(--color-line);background:#fff}.table-wrap{border-color:var(--color-line)}.finance-table th,.finance-table th:first-child{background:var(--color-background);color:var(--color-navy)}.finance-table td,.finance-table th{border-color:var(--color-line)}.finance-table tfoot td{background:var(--soft)}.table-value{color:var(--color-primary);text-decoration-color:color-mix(in srgb,var(--color-primary) 35%,white)}
.concept-banner{border-color:color-mix(in srgb,var(--color-primary) 25%,white);background:var(--soft);color:var(--color-navy)}.competency-cell{background:var(--attention-soft);color:var(--attention)}.competency-cell.done{background:var(--positive-soft);color:var(--positive)}.competency-cell.partial{background:var(--soft);color:var(--color-primary)}.wizard-step{background:var(--color-line)}
.mode-card span,.choice-chip span{border-color:var(--color-line)}.mode-card input:checked+span,.choice-chip input:checked+span{border-color:var(--color-primary);background:var(--soft);box-shadow:inset 0 0 0 1px var(--color-primary)}
.participant-online-view #nav{display:grid}.participant-online-view .side-note{display:none}.participant-portal{display:grid;gap:18px}.participant-portal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.participant-portal-head h1{margin:4px 0 6px;font-size:clamp(2rem,4vw,3rem)}.participant-portal-head p{margin:0;color:var(--muted)}.participant-portal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.participant-summary{margin:0}@media(max-width:800px){.participant-portal-head{display:grid}.participant-portal-head .record-actions{width:100%}.participant-portal-head .button{flex:1}.participant-portal-grid{grid-template-columns:1fr}}
.people-map-viewport{border-color:var(--color-line);background:var(--color-background)}.people-map-stage{background:repeating-linear-gradient(to bottom,transparent 0,transparent 143px,var(--color-line) 144px,var(--color-line) 145px)}.map-link{stroke:var(--color-primary)}.map-person{border-color:var(--color-line);box-shadow:var(--shadow-sm)}.map-person.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.map-person.dragging{box-shadow:0 12px 28px color-mix(in srgb,var(--color-navy) 24%,transparent)}.map-person.spatial-target{border-color:var(--color-primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--color-primary) 16%,transparent)}.map-person.spatial-target::after{background:var(--color-navy);color:#fff}.avatar,.detail-avatar{background:var(--color-accent);color:var(--color-navy)}
