.alerts-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0 18px}
.alerts-list{display:grid;gap:10px}
.alert-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:5px solid #8aa094;border-radius:9px;padding:14px;box-shadow:var(--shadow)}
.alert-card>span{font-size:10px;text-transform:uppercase;font-weight:800;border-radius:999px;padding:5px 8px;background:#edf1ee;color:#59665f}
.alert-card b{display:block}
.alert-card p{font-size:13px;color:#34463d;margin-top:4px}
.alert-card small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.alert-critical{border-left-color:#a4473a}.alert-critical>span{background:#fae7e4;color:#96392e}
.alert-warning{border-left-color:#caa44b}.alert-warning>span{background:#fff4ca;color:#80610a}
.alert-info{border-left-color:#4a8b86}.alert-info>span{background:#def4e8;color:#27704d}
.planning-layout{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:16px}
.planning-layout>article{min-width:0}
.planning-layout h3{font:500 20px Georgia,serif;margin:0 0 10px}
.planning-list{display:grid;gap:10px}
.planning-resource,.planning-service{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;box-shadow:var(--shadow)}
.planning-resource header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.planning-resource header span{font-size:10px;color:var(--muted);background:#f1f3f0;border-radius:999px;padding:5px 8px}
.planning-empty{font-size:12px;color:var(--muted);padding:8px 0}
.planning-item,.planning-service{width:100%;display:block;text-align:left;cursor:pointer;border-left:4px solid #cbd4ce;margin-top:7px}
.planning-item{border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfa;border-radius:8px;padding:10px}
.planning-item b,.planning-item small,.planning-item span,.planning-service b,.planning-service small,.planning-service span,.planning-service em{display:block}
.planning-item small,.planning-service small,.planning-service em{color:var(--muted);font-size:11px;margin-top:4px}
.planning-item span,.planning-service span{font-size:12px;margin-top:4px}
.planning-service{border-left-color:#4a8b86}
.planning-matrix-head{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0 18px}
.planning-matrix{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:auto;box-shadow:var(--shadow)}
.planning-matrix table{min-width:980px}
.cell-warning{background:#fff8d9;color:#80610a;font-weight:700}
.planning-compare{margin-top:18px}
.planning-compare>header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:10px}
.planning-compare h3{font:500 21px Georgia,serif;margin:0}
.planning-compare p{font-size:12px;color:var(--muted);margin-top:4px}
.planning-compare>header>span{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff}
.planning-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.planning-toolbar>span{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff}
.planning-mode{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.planning-mode button{border:0;border-right:1px solid var(--line);background:#fff;color:#59665f;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}
.planning-mode button:last-child{border-right:0}
.planning-mode button.active{background:#0d4d3d;color:#fff}
.gantt-horizon{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.gantt-horizon button{border:0;border-right:1px solid var(--line);background:#fff;color:#59665f;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.gantt-horizon button:last-child{border-right:0}
.gantt-horizon button.active{background:#0d4d3d;color:#fff}
.gantt-resource-switch{display:inline-flex;width:100%;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.gantt-resource-switch button{flex:1;border:0;border-right:1px solid var(--line);background:#fff;color:#59665f;padding:7px 8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;cursor:pointer}
.gantt-resource-switch button:last-child{border-right:0}
.gantt-resource-switch button.active{background:#0d4d3d;color:#fff}
.gantt-board{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:auto;box-shadow:var(--shadow)}
.gantt-head,.gantt-row{display:grid;grid-template-columns:300px minmax(calc(var(--slots) * 58px),1fr);min-width:920px}
.gantt-head{position:sticky;top:0;z-index:1;background:#f7f8f5;border-bottom:1px solid var(--line)}
.gantt-left{border-right:1px solid var(--line);padding:11px 14px}
.gantt-head .gantt-left{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#718078;font-weight:800}
.gantt-days,.gantt-track{display:grid;grid-template-columns:repeat(var(--slots),minmax(58px,1fr))}
.gantt-days span{border-right:1px solid var(--line);padding:8px 5px;text-align:center;font-size:10px;color:#718078;font-weight:800;min-height:46px}
.gantt-days span b,.gantt-days span small{display:block}
.gantt-days span small{font-size:8px;color:#4f6159;margin-top:3px;min-height:10px}
.gantt-days span.day-start{background:#eef4f1;color:#0d4d3d}
.gantt-row{border-bottom:1px solid var(--line);min-height:calc((var(--bars,1) * 48px) + 18px)}
.gantt-row:last-child{border-bottom:0}
.gantt-row .gantt-left b,.gantt-row .gantt-left small,.gantt-row .gantt-left em{display:block}
.gantt-row .gantt-left b{font-size:12px}
.gantt-row .gantt-left small{font-size:11px;color:var(--muted);margin-top:3px}
.gantt-row .gantt-left em{font-style:normal;font-size:10px;color:#718078;margin-top:4px}
.gantt-row.has-warning .gantt-left{background:#fff8d9}
.gantt-track{position:relative;grid-auto-rows:42px;row-gap:6px;padding:9px 0}
.gantt-track>span{height:100%;border-right:1px solid #edf1ee;grid-row:1 / -1}
.gantt-track>span:nth-child(24n+1){background:#f8faf8;border-left:1px solid #d9e2dd}
.gantt-bar{min-height:42px;margin:0 5px;border:1px solid #a884cb;background:#eadcf6;color:#68428b;border-radius:6px;text-align:left;padding:5px 9px;cursor:pointer;box-shadow:0 2px 5px rgba(35,62,78,.12);overflow:hidden;align-self:stretch}
.gantt-bar b,.gantt-bar small,.gantt-bar em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gantt-bar b{font-size:11px}
.gantt-bar small{font-size:9px;opacity:.78;margin-top:2px}
.gantt-bar em{font-style:normal;font-size:9px;opacity:.72;margin-top:2px}
.gantt-bar.state-left-in_transit{background:#dff3e8;border-color:#6fb78e;color:#185f3e}
.gantt-bar.state-left-delivered,.gantt-bar.state-left-paid{background:#d7eadf;border-color:#4d9671;color:#155d3b}
.gantt-bar.state-left-invoiced{background:#eadcf6;border-color:#a884cb;color:#68428b}
.gantt-bar.state-left-incident{background:#fae1dc;border-color:#cc8074;color:#96392e}
.gantt-bar.state-left-cancelled{background:#eceeed;border-color:#cbd4ce;color:#59665f}
@media(max-width:1100px){.planning-layout{grid-template-columns:1fr}.alerts-summary{grid-template-columns:1fr 1fr}}
@media(max-width:1100px){.planning-matrix-head{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.alerts-summary{grid-template-columns:1fr}}
@media(max-width:520px){.planning-matrix-head{grid-template-columns:1fr}}
