.executive-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}.executive-kpis>div{padding:20px;border-radius:18px;background:linear-gradient(135deg,#173f45,#235c61);color:#fff;box-shadow:0 10px 30px #173f4520}.executive-kpis strong{display:block;font-size:28px}.executive-kpis span{display:block;margin-top:5px;font-size:12px;color:#d4e5e5}.executive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.metric-chart{display:grid;gap:12px}.metric-row{display:grid;grid-template-columns:minmax(120px,1fr) 3fr 58px;gap:10px;align-items:center}.metric-bar{height:10px;background:#e5ebeb;border-radius:10px;overflow:hidden}.metric-bar span{display:block;height:100%;background:linear-gradient(90deg,#258d83,#f2c817);border-radius:10px}.coverage-list{display:grid;gap:8px;max-height:340px;overflow:auto}.coverage-row{display:grid;grid-template-columns:100px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e1e8e8;border-radius:12px}.coverage-row.gap{border-color:#e9aeae;background:#fff7f7}.coverage-row strong{color:#284a50}.coverage-row .coverage-badge{padding:4px 8px;border-radius:10px;background:#e5f3ef;color:#247066}.coverage-row.gap .coverage-badge{background:#f9dddd;color:#a13e3e}.incident-list{display:grid;gap:10px}.incident-card{display:grid;grid-template-columns:12px minmax(200px,1fr) auto auto;gap:14px;align-items:center;padding:14px;border:1px solid #e1e7e7;border-radius:14px;background:#fff}.severity-dot{width:10px;height:10px;border-radius:50%;background:#dfa42e}.incident-card[data-severity=critical] .severity-dot{background:#ce4545}.incident-card[data-severity=info] .severity-dot{background:#448dcc}.incident-card small{display:block;color:#718084;margin-top:3px}.incident-actions{display:flex;gap:7px}.full-panel{grid-column:1/-1}.roster-grid{overflow:auto;display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(7,minmax(120px,1fr));border:1px solid #dfe6e6;border-radius:16px;background:#fff}.roster-cell{min-height:72px;padding:10px;border-right:1px solid #e2e8e8;border-bottom:1px solid #e2e8e8}.roster-cell.head{min-height:auto;background:#eef4f3;font-weight:800;text-align:center}.roster-cell.person{position:sticky;left:0;z-index:2;background:#fff}.roster-shift{display:block;padding:6px 8px;border-radius:9px;color:#17383d;background:#e8f4f1;font-size:11px;cursor:pointer}.roster-absence{display:block;padding:6px 8px;border-radius:9px;background:#f1e8f8;color:#654279;font-size:11px}.roster-empty{display:block;color:#9aa6a8;font-size:11px;text-align:center;padding:7px}.check-label{display:flex!important;align-items:center;gap:8px}.check-label input{width:auto!important}.bank-positive{color:#24796e}.bank-negative{color:#c04a4a}.secret-result{padding:12px;border-radius:12px;background:#1c272b;color:#f4d52c;word-break:break-all;font-family:monospace}.audit-only.hidden,.hr-only.hidden{display:none!important}
@media(max-width:1100px){.executive-kpis{grid-template-columns:repeat(3,1fr)}.executive-grid{grid-template-columns:1fr}}
@media(max-width:720px){.executive-kpis{grid-template-columns:repeat(2,1fr)}.executive-kpis strong{font-size:22px}.incident-card{grid-template-columns:10px 1fr}.incident-card>.badge,.incident-actions{grid-column:2}.metric-row{grid-template-columns:100px 1fr 45px}.roster-grid{grid-template-columns:145px repeat(7,105px)}}
.planner-only.hidden{display:none!important}
