:root{--nw-ink:#0f172a;--nw-slate:#1e293b;--nw-line:#e2e8f0;--nw-muted:#64748b;--nw-accent:#0d6efd;}
body{background:#f4f6f9;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;font-size:14px;color:var(--nw-ink)}
.layout{display:flex;min-height:100vh}
.sidebar{width:238px;flex:0 0 238px;background:var(--nw-slate);color:#cbd5e1;padding:0 0 24px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{padding:18px 18px 14px;border-bottom:1px solid #334155;margin-bottom:10px}
.brand-mark{display:block;font-weight:700;letter-spacing:.16em;color:#fff;font-size:17px}
.brand-sub{display:block;font-size:10.5px;color:#94a3b8;letter-spacing:.06em;margin-top:2px}
.nav-section{font-size:10px;letter-spacing:.12em;color:#64748b;padding:14px 18px 5px;font-weight:600}
.nav-item{display:flex;align-items:center;gap:9px;padding:7px 18px;color:#cbd5e1;text-decoration:none;font-size:13.2px}
.nav-item:hover{background:#334155;color:#fff}
.nav-item.active{background:#0b1220;color:#fff;box-shadow:inset 3px 0 0 var(--nw-accent)}
.nav-item i{width:16px;font-size:14px;opacity:.85}
.content{flex:1;padding:20px 26px 40px;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--nw-line);padding-bottom:12px;margin-bottom:18px}
.topbar h1{font-size:21px;font-weight:600;margin:0}
.topbar .subtitle{color:var(--nw-muted);font-size:12.5px}
.topbar-right{display:flex;align-items:center;gap:12px}
.user{font-size:12.5px;color:var(--nw-muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}
.kpi{background:#fff;border:1px solid var(--nw-line);border-radius:7px;padding:12px 14px;text-decoration:none;color:inherit;display:block}
.kpi:hover{border-color:#94a3b8}
.kpi .label{font-size:11px;color:var(--nw-muted);text-transform:uppercase;letter-spacing:.04em}
.kpi .value{font-size:25px;font-weight:600;line-height:1.25}
.kpi.alarm .value{color:#dc3545}
.card{border:1px solid var(--nw-line);border-radius:7px}
.card-header{background:#fff;border-bottom:1px solid var(--nw-line);font-weight:600;font-size:13px}
table.table{font-size:13px;margin-bottom:0}
table.table thead th{background:#f1f5f9;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:#475569;border-bottom:1px solid var(--nw-line);white-space:nowrap}
table.table td{vertical-align:middle}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:12px}
.board-col{background:#fff;border:1px solid var(--nw-line);border-radius:7px;width:290px;flex:0 0 290px;max-height:74vh;display:flex;flex-direction:column}
.board-col .head{padding:9px 11px;border-bottom:1px solid var(--nw-line)}
.board-list{padding:9px;min-height:120px;overflow-y:auto;flex:1}
.dcard{border:1px solid var(--nw-line);border-left:3px solid var(--nw-accent);border-radius:5px;padding:7px 9px;margin-bottom:7px;background:#fff;cursor:grab}
.dcard.overdue{border-left-color:#dc3545}
.dcard .t{font-weight:600;font-size:13px}
.dcard .m{font-size:11.5px;color:var(--nw-muted)}
.sortable-ghost{opacity:.35}
.capacity{font-size:11.5px}
.capacity.over{color:#dc3545;font-weight:600}
.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--nw-muted);margin:22px 0 8px;font-weight:600}
.pill{font-size:11px;padding:2px 7px;border-radius:20px;background:#e2e8f0;color:#334155}

.table-export{border-bottom:1px solid #eef1f5;background:#fbfcfe}
.table-export .btn{font-size:.78rem;color:#475569}
.table-export .btn:hover{color:var(--bs-primary)}
@media print{.table-export{display:none!important}}
/* piede del menu: il nome utente apre «Il mio account» */
a.nw-side-user{text-decoration:none;border-radius:6px}
a.nw-side-user:hover{color:var(--nw-label);background:var(--nw-fill-2)}
