/* V2.3 Consolidado */
:root{--bg:#07111f;--panel:#101b2f;--card:#172642;--line:#2a3c5a;--text:#eef6ff;--muted:#9fb0c7;--primary:#00bfa6;--secondary:#4da3ff;--danger:#ff5f6d;--warning:#fdcb6e;--ok:#3ddc97;--shadow:0 22px 60px rgba(0,0,0,.32)}
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#07111f,#101d33);color:var(--text)}.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(0,191,166,.18),transparent 30%),radial-gradient(circle at 80% 80%,rgba(77,163,255,.18),transparent 30%),linear-gradient(135deg,#07111f,#101d33)}
.login-card{width:min(1100px,100%);display:grid;grid-template-columns:1.2fr .8fr;gap:26px;background:rgba(16,27,47,.85);border:1px solid rgba(255,255,255,.08);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.logo{width:84px;height:84px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));font-size:42px}.hero h1{font-size:44px;margin:20px 0 10px}.hero p{color:var(--muted);font-size:18px;line-height:1.55}.hero-tags{display:flex;gap:10px;flex-wrap:wrap}.hero-tags span{background:#172642;border:1px solid var(--line);border-radius:999px;padding:8px 12px}.login-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:24px}
label{display:block;margin:0 0 7px;color:#cbd8ea;font-weight:700;font-size:13px}input,select,textarea{width:100%;background:#0b1628;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px;outline:none}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,191,166,.12)}
.btn{border:0;border-radius:12px;padding:11px 15px;color:white;cursor:pointer;font-weight:800;white-space:nowrap}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.full{width:100%}.btn.primary{background:linear-gradient(135deg,var(--primary),#059669)}.btn.secondary{background:linear-gradient(135deg,var(--secondary),#2563eb)}.btn.danger{background:linear-gradient(135deg,var(--danger),#dc2626)}.btn.ghost{background:#22324d;border:1px solid var(--line)}.hint{font-size:13px;color:var(--muted);line-height:1.55;margin-top:14px}
.app{display:flex;min-height:100vh}.sidebar{width:292px;background:rgba(7,17,31,.96);border-right:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center}.mini-logo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));font-size:25px}.brand h2{margin:0}.brand span{color:var(--muted);font-size:12px}
nav{display:flex;flex-direction:column;gap:7px}.nav-btn{text-align:left;border:1px solid transparent;background:transparent;color:#c7d5e8;padding:11px 13px;border-radius:14px;cursor:pointer;font-weight:800}.nav-btn:hover,.nav-btn.active{background:#15233d;border-color:var(--line);color:white}.side-footer{margin-top:auto}.user-box{background:#111c31;border:1px solid var(--line);border-radius:16px;padding:13px;color:var(--muted);font-size:13px;margin-bottom:10px}
.main{flex:1;min-width:0;padding:24px}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.topbar h1{margin:0;font-size:29px}.topbar p{margin:6px 0 0;color:var(--muted)}.top-actions,.modal-actions,.action-row{display:flex;gap:10px;flex-wrap:wrap}.top-actions{justify-content:flex-end}.page{display:none}.page.active{display:block}
.panel{background:rgba(16,27,47,.94);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 14px 35px rgba(0,0,0,.16);margin-bottom:18px}.note{color:#d9e7fb}.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:14px}.panel-title h3{margin:0}.panel-title span{color:var(--muted);font-size:13px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:15px;margin-bottom:18px}.kpi{background:linear-gradient(180deg,#172642,#111c31);border:1px solid var(--line);border-radius:20px;padding:17px;position:relative;overflow:hidden}.kpi .label{color:var(--muted);font-size:13px}.kpi .value{font-size:30px;font-weight:900;margin-top:7px}.kpi .sub{color:#adbad0;font-size:12px;margin-top:5px}
.alert-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.alert-pill{background:#121f36;border:1px solid var(--line);border-radius:18px;padding:13px;display:flex;gap:12px;align-items:center}.semaphore{width:20px;height:20px;border-radius:50%;box-shadow:0 0 0 5px rgba(255,255,255,.04);display:inline-block}.semaphore.red{background:var(--danger);color:var(--danger)}.semaphore.yellow{background:var(--warning);color:var(--warning)}.semaphore.green{background:var(--ok);color:var(--ok)}.semaphore.blue{background:var(--secondary);color:var(--secondary)}.blink{animation:blink 1s infinite}@keyframes blink{0%,100%{opacity:1;box-shadow:0 0 18px currentColor}50%{opacity:.25;box-shadow:none}}
.grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--line);padding:11px;text-align:left;vertical-align:top}.table th{font-size:12px;text-transform:uppercase;color:#cfe1f8;letter-spacing:.04em}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-weight:900;font-size:12px}.badge.ok{background:rgba(61,220,151,.14);color:#8af3c5}.badge.warn{background:rgba(253,203,110,.15);color:#ffdf8a}.badge.danger{background:rgba(255,95,109,.16);color:#ff9aa4}.badge.info{background:rgba(77,163,255,.15);color:#94c8ff}.badge.gray{background:rgba(148,163,184,.15);color:#d3dce8}
.kanban-board{display:grid;grid-template-columns:repeat(7,minmax(255px,1fr));gap:14px;overflow-x:auto;padding-bottom:10px}.kanban-col{background:#0d182b;border:1px solid var(--line);border-radius:20px;padding:12px;min-height:72vh}.kanban-col h3{display:flex;justify-content:space-between;margin:0 0 12px;font-size:15px}.kanban-col.drag-over{outline:3px solid var(--primary)}.kanban-card{background:linear-gradient(180deg,#172642,#122037);border:1px solid var(--line);border-radius:17px;padding:13px;margin-bottom:12px;cursor:grab}.kanban-card h4{margin:0 0 8px}.kanban-card p{margin:4px 0;color:var(--muted);font-size:12px}.progress{height:9px;background:#0b1424;border-radius:999px;overflow:hidden;margin:8px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary))}
.filter-row{display:grid;grid-template-columns:1fr 230px 170px auto;gap:10px;margin-bottom:14px}.filter-row.two{grid-template-columns:1fr auto}.filter-row input,.filter-row select{margin-bottom:0}
.modal-screen{position:fixed;inset:0;background:rgba(0,0,0,.64);display:flex;align-items:center;justify-content:center;padding:20px;z-index:40}.modal-card{background:#101b2f;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);max-height:92vh;overflow:auto;width:min(960px,100%)}.big-modal{width:min(1240px,100%)}.item-modal{width:min(820px,100%)}.lgpd-card{padding:25px;max-width:730px}.modal-header{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0}.modal-header p{margin:6px 0 0;color:var(--muted)}.icon-btn{background:#22324d;border:1px solid var(--line);color:white;width:38px;height:38px;border-radius:12px;cursor:pointer;font-size:22px}
.tabs{display:flex;gap:8px;overflow:auto;padding:12px 18px;border-bottom:1px solid var(--line);background:#0e192c}.tab{background:#182844;border:1px solid var(--line);color:#cfe1f8;border-radius:999px;padding:9px 12px;cursor:pointer;font-weight:800}.tab.active{background:linear-gradient(135deg,var(--primary),#059669);color:white}.tab-content{display:none;padding:20px 22px}.tab-content.active{display:block}
.form-section{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:16px;margin-bottom:15px}.form-section h3{margin:0 0 14px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.form-grid .wide{grid-column:span 4}.form-grid input,.form-grid select,.form-grid textarea{margin-bottom:0}.user-form{grid-template-columns:repeat(6,1fr)}.align-end{display:flex;align-items:end;gap:8px}.sticky-actions{position:sticky;bottom:0;background:#101b2f;border-top:1px solid var(--line);padding:14px 22px}.check-line{display:flex;gap:10px;align-items:center}.check-line input{width:auto;margin:0}
.item-card,.dossier-card,.timeline-item,.risk-card{background:#122037;border:1px solid var(--line);border-radius:16px;padding:13px;margin-bottom:11px}.timeline-list{display:flex;flex-direction:column;gap:10px}.timeline-item{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:start}
.radar-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#122037;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px;cursor:pointer}.radar-item h4{margin:0}.radar-item p{margin:4px 0 0;color:var(--muted);font-size:13px}
.bar-row{display:grid;grid-template-columns:170px 1fr 55px;gap:10px;align-items:center;margin-bottom:10px}.bar-track{height:13px;background:#0b1424;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--secondary),var(--primary))}
.risk-matrix{display:grid;grid-template-columns:90px repeat(3,1fr);gap:8px}.risk-cell{min-height:78px;padding:10px;border-radius:14px;border:1px solid var(--line);background:#122037}.risk-cell.head{background:#20314e;font-weight:900;display:grid;place-items:center}.risk-cell.low{background:rgba(61,220,151,.12)}.risk-cell.med{background:rgba(253,203,110,.13)}.risk-cell.high{background:rgba(255,95,109,.14)}
.people-grid,.post-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px}.person-card,.post-card{background:#122037;border:1px solid var(--line);border-radius:18px;padding:14px;position:relative}.avatar{font-size:48px;text-align:center;position:relative}.float-status{position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:#0b1628;border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:18px}.active-dot{position:absolute;right:12px;top:12px}.person-card h4,.post-card h4{margin:8px 0 5px}.person-meta{color:var(--muted);font-size:12px;line-height:1.45}.cascade-preposto{border:1px solid var(--line);border-radius:20px;margin-bottom:16px;padding:14px;background:#0d182b}.cascade-posto{background:#122037;border:1px solid var(--line);border-radius:16px;padding:12px;margin:12px 0}.cascade-people{display:flex;gap:10px;flex-wrap:wrap}.mini-person{width:92px;background:#172642;border:1px solid var(--line);border-radius:14px;padding:8px;text-align:center;position:relative}
.toast{position:fixed;right:22px;bottom:22px;background:#0f172a;border:1px solid var(--line);padding:14px 18px;border-radius:14px;box-shadow:var(--shadow);z-index:90}
@media(max-width:1150px){.kpi-grid,.people-grid,.post-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .wide{grid-column:span 2}.alert-strip{grid-template-columns:repeat(2,1fr)}.login-card{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr}}
@media(max-width:760px){.app{flex-direction:column}.sidebar{position:relative;width:100%;height:auto}.topbar{flex-direction:column}.kpi-grid,.alert-strip,.form-grid,.people-grid,.post-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:span 1}}
@media print{body{background:white;color:#111}.sidebar,.topbar,.tabs,.modal-actions,.btn,.icon-btn,.toast{display:none!important}.main{padding:0}.app,.page,.modal-screen,.modal-card,.tab-content.active{display:block!important;background:white!important;color:#111!important;position:static!important;box-shadow:none!important;border:0!important}.page:not(.active){display:none!important}.panel,.kpi,.kanban-card,.kanban-col,.form-section,.item-card,.timeline-item,.dossier-card,.person-card,.post-card{break-inside:avoid;background:white!important;color:#111!important;border:1px solid #ccc!important}}


/* ===== V2.4 visual corporativa: colaboradores, mobilização e postos ===== */
.people-grid,.post-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.person-card,.post-card,.cascade-preposto,.cascade-posto{background:linear-gradient(180deg,rgba(20,35,61,.98),rgba(12,22,39,.98));border:1px solid rgba(255,255,255,.07);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.person-card,.post-card{border-radius:22px;padding:18px;position:relative;overflow:hidden}
.person-card:before,.post-card:before,.cascade-preposto:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,rgba(77,163,255,.85),rgba(0,191,166,.85));opacity:.9}
.resource-top{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.resource-avatar{width:62px;height:62px;border-radius:18px;background:linear-gradient(135deg,#20314e,#14233d);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;font-size:20px;font-weight:900;color:#eaf3ff;letter-spacing:.04em;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.resource-title{flex:1;min-width:0}.resource-title h4,.post-head h4{margin:0 0 4px;font-size:18px}.resource-sub{color:var(--muted);font-size:13px;line-height:1.45}
.resource-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.status-chip,.soft-chip,.soft-chip-ghost{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.08)}
.status-chip.active{background:rgba(61,220,151,.12);color:#a0f1cb}.status-chip.inactive{background:rgba(255,95,109,.14);color:#ffadb6}
.soft-chip{background:rgba(77,163,255,.12);color:#bfe0ff}.soft-chip-ghost{background:rgba(255,255,255,.04);color:#d8e5f8}
.signal{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(255,255,255,.03)}.signal.green{background:var(--ok)}.signal.yellow{background:var(--warning)}.signal.red{background:var(--danger)}
.resource-tags,.post-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.tag{padding:6px 10px;border-radius:999px;background:#122037;border:1px solid var(--line);color:#cfe1f8;font-size:12px;font-weight:700}
.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.metric-box{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:10px 12px}.metric-box .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.metric-box .v{font-size:18px;font-weight:900;margin-top:4px}.metric-box .s{font-size:12px;color:#bfd2ea;margin-top:4px}
.inline-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.score-line{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;color:#ccdbef;margin:4px 0}.slim-track{height:8px;background:#0a1422;border-radius:999px;overflow:hidden}.slim-fill{height:100%;background:linear-gradient(90deg,#4da3ff,#00bfa6)}
.person-actions,.post-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.mobilization-board{display:flex;flex-direction:column;gap:16px}.cascade-preposto{border-radius:22px;padding:18px;position:relative}.cascade-preposto-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.cascade-preposto-head h3{margin:0 0 6px}.cascade-summary{display:flex;gap:10px;flex-wrap:wrap}.summary-chip{padding:8px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);font-size:12px;color:#d3e1f5}.cascade-post-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.cascade-posto{border-radius:18px;padding:16px}.cascade-posto h4{margin:0 0 8px}.cascade-meta{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:12px}.cascade-people{display:flex;flex-wrap:wrap;gap:10px}
.mini-person{width:74px;padding:10px 8px 8px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;position:relative;transition:transform .15s ease,border-color .15s ease}.mini-person:hover{transform:translateY(-2px);border-color:rgba(77,163,255,.45)}.mini-person .avatar{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#20314e,#14233d);display:grid;place-items:center;font-size:14px;font-weight:900;color:#eaf3ff}.mini-person .float-status{top:-8px;left:50%;transform:translateX(-50%);font-size:12px;padding:2px 6px;border-radius:999px;background:#0c1728}.mini-person small{font-size:11px;color:#d9e7fb;text-align:center;line-height:1.2}
.post-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.post-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.headcount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 14px}.headcount-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:10px}.headcount-item .label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.headcount-item .value{font-size:20px;font-weight:900;margin-top:5px}
.coverage-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:10px 0 6px;color:#d6e4f7;font-size:13px}.subtle-note{color:var(--muted);font-size:12px;line-height:1.45}.employee-facets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
@media(max-width:900px){.metric-grid,.headcount-grid{grid-template-columns:repeat(2,1fr)}.cascade-post-list{grid-template-columns:1fr}}
@media(max-width:560px){.resource-top,.post-head,.cascade-preposto-head{flex-direction:column}.resource-side,.post-head-right{align-items:flex-start}.people-grid,.post-grid{grid-template-columns:1fr}.metric-grid,.headcount-grid{grid-template-columns:1fr}}
