/* Design system v2 (Claude Design): IBM Plex locale (SIL OFL 1.1, fonts/OFL-IBM-Plex.txt) e token di colore. */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/IBMPlexSans-Regular.woff2) format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(./fonts/IBMPlexSans-Medium.woff2) format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(./fonts/IBMPlexSans-SemiBold.woff2) format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/IBMPlexSans-Bold.woff2) format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/IBMPlexMono-Regular.woff2) format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(./fonts/IBMPlexMono-Medium.woff2) format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(./fonts/IBMPlexMono-SemiBold.woff2) format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/IBMPlexMono-Bold.woff2) format("woff2")}
:root{--font-sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;--navy:#10263a;--navy-2:#1f4560;--navy-3:#1b3a52;--accent:#0e6266;--accent-dark:#0a4d50;--accent-light:#d7e9e8;--accent-soft:#f2f7f7;--accent-mid:#8cc3c0;--accent-on-navy:#5fb3ae;--ink:#13212c;--muted:#4b5b67;--muted-2:#6b7a85;--faint:#a6b1b8;--line:#d9dfe3;--line-strong:#c9d1d6;--line-soft:#e8ecee;--line-grid:#e1e6e9;--bg:#f2f4f5;--bg-2:#f6f8f9;--chip:#edf0f2;--weekend:#eef1f2;--ok:#1e7a46;--ok-ink:#17663a;--ok-bg:#e4f3ea;--ok-line:#b9dec7;--ok-bar:#9fcdb1;--red:#b42318;--red-bg:#fbe9e7;--red-line:#f2c1bb;--red-soft:#e0a39b;--amber:#d9a441;--amber-ink:#8a5300;--amber-bg:#fdf1dc;--amber-line:#f1d39e;--note-bg:#fdf6e7;--note-ink:#5c3b00;--grey-ink:#3a4a56;--grey-line:#d2d8dc;font-family:var(--font-sans);color:var(--ink);background:var(--bg);font-synthesis:none;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.3}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.55}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:700;line-height:1.15;color:var(--navy)}h2{font-size:16px;color:var(--navy)}h3{font-size:1rem}button{color:inherit}.fresh{color:var(--ok)}.stale,.syncing{color:var(--amber-ink)}.error{color:var(--red)}main{max-width:1248px;margin:auto;padding:40px 24px 64px;min-height:calc(100vh - 215px)}main:focus{outline:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.intro{color:var(--muted);margin-top:10px}.date-stamp{text-align:right;color:var(--muted);font-size:.875rem;min-width:150px}.date-stamp strong{display:block;font-size:1.1rem;color:var(--ink)}.department-tabs{display:flex;border-bottom:1px solid var(--line-strong);margin-bottom:28px;gap:28px}.department-tabs a{padding:14px 0;min-height:48px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent}.department-tabs a.active{border-color:var(--accent);color:var(--accent)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading p{font-size:.875rem;color:var(--muted);margin-top:3px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:10px 17px;min-height:46px;background:white;border:1px solid var(--line-strong);border-radius:6px;font-size:.875rem;font-weight:600}.button.primary{background:var(--accent);color:white;border-color:var(--accent)}.button:hover{filter:brightness(.97)}.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.resource-tile{background:white;border:1px solid var(--line);border-radius:8px;padding:18px 20px;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s;min-width:0}.resource-tile:hover,.overview-card:hover{border-color:var(--accent);box-shadow:0 3px 10px #10263a0a}.tile-top{display:flex;justify-content:space-between;color:var(--muted-2);margin-bottom:16px}.resource-symbol{font-size:1.2rem}.resource-tile>strong{font-size:1.3rem}.resource-code{font-size:.75rem;letter-spacing:0;color:var(--muted);margin-top:1px}.tile-bottom{display:flex;align-items:center;gap:7px;margin-top:20px;font-size:.8125rem;color:var(--accent)}.tiny-dot{width:6px;height:6px;background:var(--ok);border-radius:50%;flex-shrink:0}.empty-tile .tile-bottom{color:var(--muted)}.attention-mark{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-size:.75rem;font-weight:700;border:1px solid var(--amber-ink);color:var(--amber-ink);border-radius:50%;width:19px;height:19px;margin-left:auto}.accessory-title{font-size:.875rem;color:var(--muted);margin:26px 0 12px}.accessory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.accessory-grid .resource-tile{padding:15px 18px}.accessory-grid .resource-tile>strong{font-size:1rem}.accessory-grid .tile-top,.accessory-grid .resource-code{display:none}.accessory-grid .tile-bottom{margin-top:8px}.demo-settings{margin-top:34px;border-top:1px solid var(--line);padding-top:20px;font-size:.875rem;color:var(--muted);max-width:600px}.demo-settings summary,.legend summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}.demo-settings summary:before,.legend summary:before{content:'+';font-size:1.2rem}.demo-settings[open] summary:before,.legend[open] summary:before{content:'−'}.demo-settings p{margin-bottom:12px}.demo-settings label{display:block;margin-bottom:6px}.demo-settings select{margin:0 6px 12px 0;max-width:100%}select{min-height:46px;border:1px solid var(--line-strong);background:white;color:var(--ink);padding:8px 30px 8px 12px;border-radius:6px;max-width:100%;font-size:.875rem}.compact{margin-bottom:26px}.separator{padding:0 6px;color:var(--faint)}.day-orders{display:grid;gap:12px}.order-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line-soft);font-size:.875rem}.period{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-weight:600}.multiday{font-size:.75rem;padding:2px 6px;background:var(--chip);color:var(--muted);border-radius:3px;font-weight:400}.open-detail{font-size:.8125rem;color:var(--accent);white-space:nowrap}.badge{display:inline-flex;align-items:center;line-height:1.4;padding:4px 7px;border-radius:4px;font-size:.75rem;font-weight:600;max-width:100%}.confirmed{background:var(--ok-bg);color:var(--ok-ink)}.warning{background:var(--amber-bg);color:var(--amber-ink)}.mandatory{background:var(--chip);color:var(--grey-ink)}.urgent{background:var(--amber-bg);color:var(--amber-ink)}.blocked{background:var(--red-bg);color:var(--red)}.changed{color:var(--muted);font-size:.75rem;white-space:nowrap}.pending-panel{border:1px solid var(--amber-line);border-radius:6px;padding:16px;margin-top:28px;background:var(--note-bg)}.pending-panel h3{font-size:.875rem;color:var(--amber-ink);display:flex;gap:6px}.count{margin-left:auto}.pending-panel>p{font-size:.8125rem;color:var(--note-ink);margin:9px 0 12px}.pending-order{display:flex;align-items:flex-start;gap:8px;flex-direction:column;background:transparent;border:0;border-top:1px solid var(--amber-line);text-align:left;padding:13px 0 0;width:100%;font-size:.8125rem}.pending-order>strong{font-size:.95rem}.pending-order>span:last-child{color:var(--amber-ink)}.legend{margin-top:20px;color:var(--muted);font-size:.8125rem}.legend>div{margin:6px 0}.empty-state{text-align:center;padding:65px 24px;background:white;border:1px dashed var(--line-strong);border-radius:8px;margin-top:18px}.empty-state>span{font-size:2rem;color:var(--muted-2)}.empty-state h2{margin:12px 0 8px}.empty-state p{color:var(--muted);max-width:390px;margin:auto;font-size:.875rem}.empty-state button{margin-top:20px}.overview-explainer{font-size:.875rem;color:var(--muted);margin:20px 0}.overview-explainer span{color:var(--muted-2)}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.overview-card{background:white;border:1px solid var(--line);border-radius:8px;padding:18px 20px;display:flex;flex-direction:column;min-width:0}.overview-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:17px}.overview-top h2{font-size:1.1rem}.overview-top>span{color:var(--muted-2)}.overview-caption{font-size:.75rem;color:var(--muted);margin-bottom:5px}.overview-op{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.overview-op strong{font-size:1.1rem}.overview-card h3{font-size:.875rem;font-weight:500;margin-top:9px;margin-bottom:18px;overflow-wrap:anywhere}.overview-facts{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.8125rem;margin-top:auto}.overview-facts strong{font-size:.9375rem}.next-order{border-top:1px solid var(--line);padding-top:12px;margin-top:15px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.75rem}.next-order strong{font-weight:600;color:var(--ink)}.no-work{background:var(--bg-2);min-height:235px}.no-work>p{font-size:.9375rem;margin-top:17px;color:var(--muted)}.no-work>span{font-size:.8125rem;color:var(--muted);margin-top:5px}footer{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;color:var(--muted);padding:18px 24px 24px;font-size:.75rem}dialog{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:min(550px,100%);max-width:100%;border:0;padding:0;color:var(--ink);background:white;box-shadow:-10px 0 45px #10263a29}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#10263a73}.modal-open{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:12px;background:white;padding:12px;z-index:10}.skip-link:focus{top:10px}
@media(min-width:1500px){main{padding-top:48px}.resource-tile{padding:23px}}
@media(max-width:1000px){.resource-grid,.accessory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){main{padding:27px 18px 40px}.page-heading{align-items:flex-start;gap:14px}.date-stamp{display:none}.resource-grid,.accessory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pending-panel{margin-top:0}.section-heading{align-items:flex-start;flex-direction:column;gap:14px}.section-heading .button{width:100%}.compact{flex-direction:column}.department-tabs{gap:22px}.overview-grid{gap:12px}.overview-card{padding:16px}}
@media(max-width:480px){main{padding:25px 16px 35px}.page-heading{margin-bottom:23px}h1{font-size:28px}.intro{font-size:.875rem}.resource-tile{padding:14px}.resource-tile>strong{font-size:1.2rem}.resource-grid,.accessory-grid{gap:10px}.tile-top{margin-bottom:13px}.tile-bottom{font-size:.75rem;flex-wrap:wrap;margin-top:15px}.resource-code{font-size:.7rem}.accessory-grid .resource-tile{padding:13px}.accessory-grid .resource-tile>strong{font-size:.875rem}.department-tabs{gap:20px}.department-tabs a{font-size:.875rem}.section-heading h2{font-size:1.2rem}.order-bottom{align-items:flex-start;font-size:.8125rem;gap:6px}.period{gap:5px}.open-detail{font-size:.75rem;padding-top:1px}.overview-grid{grid-template-columns:1fr}.overview-card{padding:18px}.overview-facts{font-size:.875rem}.no-work{min-height:165px}dialog{inset:auto 0 0;height:94dvh;max-height:94dvh;border-radius:16px 16px 0 0;width:100%}footer{font-size:.6875rem}.demo-settings select{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Operational readability and touch targets. */
.resource-code,footer{font-size:max(.75rem,12px)}.tile-bottom,.open-detail,.overview-caption,.next-order,.pending-panel>p,.legend{font-size:.875rem}
/* Navigazione, ricerca, capacità e dashboard */
.home-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}.home-actions{display:flex;gap:10px;flex-wrap:wrap}.people-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:4px;background:var(--chip);color:var(--navy);font-size:.75rem;font-weight:700}.search-page{max-width:920px}.search-count{margin:25px 0 12px;color:var(--muted);font-weight:600}.search-results{display:grid;gap:9px}.search-result{background:white;border:1px solid var(--line);border-radius:8px;text-align:left;padding:15px 17px;display:grid;gap:4px}.search-result:hover{border-color:var(--accent)}.search-result span{font-size:.9rem}.search-result small{color:var(--muted)}.capacity-kpis,.dashboard-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}.capacity-kpis>div,.dashboard-kpis article{background:white;border:1px solid var(--line);border-radius:8px;padding:17px}.capacity-kpis strong,.dashboard-kpis strong{display:block;font-size:1.7rem;color:var(--navy);font-variant-numeric:tabular-nums}.capacity-kpis span,.dashboard-kpis span{display:block;color:var(--muted);font-size:.8125rem;margin-top:3px}.gantt-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white}.gantt{min-width:1050px}.gantt-row{display:grid;grid-template-columns:170px repeat(14,minmax(48px,1fr));min-height:42px;border-bottom:1px solid var(--line-soft)}.gantt-row:last-child{border-bottom:0}.gantt-row>*{display:flex;align-items:center;justify-content:center;padding:5px;border-right:1px solid var(--line-soft);font-size:.75rem}.gantt-row>*:first-child{justify-content:flex-start;padding-left:12px;font-size:.8125rem}.gantt-row.gantt-head{background:var(--chip);position:sticky;top:0}.gantt-cell.occupied{background:var(--accent-light);color:var(--navy)}.gantt-cell b{font-size:.875rem}.gantt-note{color:var(--muted);font-size:.8125rem;margin-top:10px}.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-panel{background:white;border:1px solid var(--line);border-radius:8px;padding:20px}.dashboard-panel.wide{grid-column:1/-1}.dashboard-panel h2{font-size:1rem;margin-bottom:17px}.horizon{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.horizon div{padding:13px;background:var(--bg-2);border-radius:6px}.horizon strong,.panel-number{display:block;font-size:1.6rem;color:var(--accent)}.horizon span,.dashboard-panel p{font-size:.8125rem;color:var(--muted)}.attention-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.attention-list a{padding:12px;border:1px solid var(--amber-line);background:var(--note-bg);border-radius:6px}.attention-list strong,.attention-list span{display:block}.attention-list span{font-size:.75rem;color:var(--note-ink);margin-top:3px}@media(max-width:900px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.attention-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.home-hero{align-items:flex-start;flex-direction:column}.capacity-kpis{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.dashboard-panel.wide{grid-column:auto}.attention-list{grid-template-columns:1fr}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Pianificazione per intervallo, carichi e capacità */
.completed{background:var(--ok-bg);color:var(--ok-ink)}.range-picker{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:13px 15px;background:var(--bg-2);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap}.range-fields,.range-shortcuts{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.range-fields label{display:grid;gap:4px;color:var(--muted);font-weight:600;font-size:.75rem}.range-fields input{height:39px;border:1px solid var(--line-strong);border-radius:5px;padding:0 8px;background:white;color:var(--ink);font:inherit}.range-shortcuts button{border:0;border-radius:5px;padding:9px 10px;background:var(--chip);color:var(--navy);font:inherit;font-size:.8125rem;font-weight:600}.empty-inline{padding:18px;background:var(--bg-2);color:var(--muted);border-radius:6px}.metric-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.metric-cards article,.capacity-summary article{padding:15px;background:white;border:1px solid var(--line);border-radius:8px}.metric-cards strong,.capacity-summary strong{display:block;font-size:1.5rem;color:var(--navy);font-variant-numeric:tabular-nums}.metric-cards span,.capacity-summary span{display:block;margin-top:4px;color:var(--muted);font-size:.75rem}.department-dashboard{padding:24px;margin-top:20px;background:var(--bg-2);border:1px solid var(--line);border-radius:9px}.department-dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.department-dashboard-heading h2{font-size:1.35rem}.department-dashboard-heading p,.dashboard-panel>p,.dashboard-period-note{color:var(--muted);font-size:.875rem;margin-top:6px}.dashboard-period-note{margin:14px 0}.bar-chart{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.bar-chart h3{font-size:.9375rem;margin-bottom:14px}.bars{display:grid;gap:9px}.bar-row{display:grid;grid-template-columns:76px minmax(80px,1fr) 120px;gap:10px;align-items:center;font-size:.75rem}.bar-row>span{color:var(--muted)}.bar-row>div{height:10px;background:var(--line-soft);border-radius:10px;overflow:hidden}.bar-row i{display:block;height:100%;background:var(--navy-2);border-radius:10px}.bar-row strong{text-align:right;font-variant-numeric:tabular-nums}.capacity-summary,.capacity-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.capacity-summary h2{font-size:1rem;margin-bottom:10px}.capacity-summary p{margin-top:12px;color:var(--muted);font-size:.8125rem}.gantt{min-width:max-content}.gantt-row{grid-template-columns:170px repeat(var(--days),minmax(48px,1fr))}.gantt-row>*{min-width:48px}.gantt-row>*:first-child{min-width:170px}.dashboard-panel{margin-top:20px}
@media(max-width:760px){.range-picker{align-items:stretch}.range-fields{display:grid;grid-template-columns:1fr 1fr;flex:1}.range-fields .button{grid-column:1/-1}.range-shortcuts{width:100%}.range-shortcuts button{flex:1}.metric-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-cards article:last-child{grid-column:1/-1}.department-dashboard{padding:17px}.department-dashboard-heading{flex-direction:column}.department-dashboard-heading .button{width:100%}.capacity-summary,.capacity-charts{grid-template-columns:1fr}.bar-row{grid-template-columns:68px minmax(50px,1fr) 98px}}
/* Layout compatto: priorità ai dati senza ridurre la leggibilità. */
main{padding-top:24px;padding-bottom:44px;min-height:calc(100vh - 175px)}.page-heading{margin-bottom:20px}.home-hero{gap:16px;margin-bottom:16px}.home-hero .intro{margin-top:5px}.department-tabs{margin-bottom:18px}.department-tabs a{padding:9px 0;min-height:42px}.section-heading{margin-bottom:14px}.resource-grid{gap:12px}.resource-tile{padding:14px 16px}.tile-top{margin-bottom:10px}.resource-tile>strong{font-size:1.15rem}.tile-bottom{margin-top:12px}.compact{margin-bottom:18px}.range-picker{padding:10px 12px}.department-dashboard{margin-top:14px;padding:18px}.dashboard-panel{margin-top:14px;padding:17px}.capacity-summary,.capacity-charts{margin:14px 0}.metric-cards{margin:13px 0}.bar-chart{margin-top:16px;padding-top:14px}
@media(min-width:1500px){main{padding-top:28px}.resource-tile{padding:16px 18px}}
@media(max-width:760px){main{padding-top:20px;padding-bottom:32px}.home-hero{margin-bottom:13px}.department-tabs{margin-bottom:14px}.section-heading{margin-bottom:12px}}
.overdue{background:var(--red-bg);color:var(--red)}

.gantt-subtotal{background:var(--bg-2);color:var(--navy);font-weight:700;border-top:2px solid var(--navy)}.gantt-subtotal>*:first-child{font-weight:700}.gantt-subtotal span{font-variant-numeric:tabular-nums}
.urgent-op{background:var(--red-bg);color:var(--red)}.resource-context{display:inline-flex;margin-top:9px;padding:3px 7px;background:var(--chip);border-radius:4px;color:var(--navy);font-size:.75rem;font-weight:700}.quality-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.quality-summary article{padding:15px;background:white;border:1px solid var(--line);border-radius:8px}.quality-summary strong{display:block;font-size:1.5rem;color:var(--navy);font-variant-numeric:tabular-nums}.quality-summary span{display:block;margin-top:4px;color:var(--muted);font-size:.75rem}.quality-note{margin:8px 0;color:var(--muted);font-size:.875rem}.warning-note{color:var(--amber-ink)}.quality-list{margin-top:18px}.quality-list>h2{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:14px}.quality-list>h2 span{font-size:.875rem;color:var(--muted);font-weight:400}
@media(max-width:760px){.quality-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{@page{size:A4;margin:10mm}body{background:#fff;font-size:10pt}footer,.range-picker,.page-heading .button,.home-actions{display:none!important}main{max-width:none;padding:0;margin:0;min-height:0}.page-heading{display:block;margin:0 0 10px}.page-heading .intro{margin-top:3px}.quality-summary{gap:6px;margin:8px 0}.quality-summary article{padding:8px}.quality-list{margin-top:10px}.quality-list>h2{font-size:12pt;margin-bottom:8px}.day-orders{gap:6px}}
.quality-end{display:block;margin-top:7px;color:var(--navy);font-size:.8125rem;font-weight:700}
.quality-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 12px;background:var(--chip);border:1px solid var(--line);border-radius:7px}.quality-controls label{display:flex;align-items:center;gap:9px;font-size:.8125rem;font-weight:700;color:var(--navy)}.quality-controls select{min-height:36px;padding-top:5px;padding-bottom:5px}.quality-controls>span{font-size:.8125rem;color:var(--muted)}
@media(max-width:760px){.quality-controls{align-items:stretch}.quality-controls label{justify-content:space-between}.quality-controls select{min-width:100px}}
@media print{.quality-controls{border:0;background:none;padding:0;margin:0 0 6px}.quality-controls select{border:0;padding:0;min-height:0}.quality-controls>span{display:none}}
.quality-actions{display:flex;gap:9px;flex-wrap:wrap}.quality-controls{align-items:flex-start}.sender-filter,.supplier-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap;width:100%}.sender-filter>span,.supplier-filter>span{font-size:.75rem;color:var(--muted);font-weight:700;min-width:58px}.filter-button{border:1px solid var(--line-strong);background:#fff;color:var(--navy);border-radius:5px;padding:7px 9px;font:inherit;font-size:.8125rem;font-weight:600}.filter-button.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.supplier-filter{padding-top:8px;border-top:1px solid var(--line-soft)}
@media(max-width:760px){.quality-actions{width:100%}.quality-actions .button{flex:1}.sender-filter,.supplier-filter{align-items:flex-start}.sender-filter>span,.supplier-filter>span{width:100%}}
@media print{.quality-actions{display:none!important}.sender-filter,.supplier-filter{display:none!important}}
/* Navigazione persistente e menu rapido */

/* Riduzione dell'ingombro della barra fissa su schermi piccoli. */

/* Schermata Grafici */
.analysis-filters{display:flex;align-items:center;gap:10px;margin:14px 0}.analysis-filters>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.analysis-filters span{font-size:.8125rem;font-weight:700;color:var(--navy);margin-right:2px}.analysis-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.analysis-kpis article{padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#fff}.analysis-kpis strong{display:block;color:var(--navy);font-size:1.65rem;font-variant-numeric:tabular-nums}.analysis-kpis span{display:block;margin-top:3px;color:var(--muted);font-size:.8125rem}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.analysis-card{min-width:0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px}.analysis-card-heading{margin-bottom:15px}.analysis-card-heading h2{font-size:1.05rem}.analysis-card-heading p,.supplier-chart>p,.analysis-note{margin-top:5px;color:var(--muted);font-size:.8125rem}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;color:var(--muted);font-size:.75rem;font-weight:600}.chart-legend span{display:flex;align-items:center;gap:5px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--navy-2)}.legend-dot.fill,.series-fill.fill{background:var(--accent)}.legend-dot.external,.series-fill.external{background:var(--accent-mid)}.legend-dot.risk,.series-fill.risk{background:var(--red)}.grouped-bars{display:grid;gap:14px}.grouped-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:start}.grouped-label{padding-top:4px;color:var(--muted);font-size:.75rem;line-height:1.2}.grouped-values{display:grid;gap:5px}.series-bar{display:grid;grid-template-columns:42px minmax(40px,1fr) 86px;gap:7px;align-items:center;font-size:.7rem}.series-bar>span{color:var(--muted)}.series-bar>div{height:9px;overflow:hidden;border-radius:9px;background:var(--line-soft)}.series-fill{display:block;height:100%;border-radius:9px;background:var(--navy-2)}.series-bar strong{text-align:right;font-size:.7rem;font-variant-numeric:tabular-nums}.progress-card{display:grid;gap:16px}.progress-row{display:grid;grid-template-columns:150px minmax(90px,1fr);gap:8px 12px;align-items:center}.progress-row>div:first-child{display:grid}.progress-row>div:first-child span{color:var(--muted);font-size:.75rem}.progress-track{height:12px;border-radius:10px;overflow:hidden;background:var(--line-soft)}.progress-track i{display:block;height:100%;background:var(--ok);border-radius:10px}.progress-row p{grid-column:2;margin:0;color:var(--muted);font-size:.75rem}.progress-row p b{color:var(--ink)}.empty-analysis{display:grid;align-content:center;min-height:180px;background:var(--bg-2)}.empty-analysis p{margin-top:8px;color:var(--muted);font-size:.875rem}.supplier-chart{margin-top:16px}.supplier-chart .bar-chart{margin-top:0;padding-top:0;border:0}.analysis-note{margin:16px 0 0}
@media(max-width:820px){.analysis-grid{grid-template-columns:1fr}.analysis-kpis{grid-template-columns:1fr 1fr}.analysis-kpis article:last-child{grid-column:1/-1}}
@media(max-width:520px){.analysis-filters{align-items:flex-start}.analysis-filters>div{align-items:flex-start}.analysis-filters span{width:100%}.analysis-kpis{gap:8px}.analysis-kpis article{padding:13px}.analysis-kpis strong{font-size:1.4rem}.analysis-card{padding:15px}.grouped-row{grid-template-columns:64px minmax(0,1fr);gap:7px}.series-bar{grid-template-columns:36px minmax(30px,1fr) 74px;gap:5px}.progress-row{grid-template-columns:1fr}.progress-row p{grid-column:auto}.progress-track{grid-column:1/-1}}
/* Design system v2 — tipografia: codici in IBM Plex Mono; focus visibile sull'header blu notte. */
.resource-code,#detail-title,.search-result>strong,.overview-op>strong{font-family:var(--font-mono)}
/* Fase 2 — header, navigazione e barre (prototipo Claude Design). */
.app-chrome{position:sticky;top:0;z-index:100}.pv-topbar{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;background:var(--navy);color:#fff}.pv-topbar :focus-visible{outline-color:var(--accent-on-navy)}.pv-brand{display:flex;align-items:center;gap:10px;flex:none;min-height:44px;color:#fff}.pv-logo{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:5px;background:var(--accent);font:700 13px var(--font-mono);color:#fff}.pv-brand-name{font-size:16px;font-weight:600;white-space:nowrap}.pv-nav{display:flex;align-items:center;gap:2px}.pv-nav-item{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 12px;border:0;border-radius:5px;background:transparent;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;list-style:none}.pv-nav-item:hover,.pv-menu[open]>.pv-nav-item{background:var(--navy-2)}.pv-nav-item.active{background:var(--navy-2);box-shadow:inset 0 -2px 0 var(--accent-on-navy)}.pv-menu{position:relative}.pv-menu summary::-webkit-details-marker{display:none}.pv-menu-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:110;display:grid;gap:2px;min-width:220px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px #10263a2e}.pv-menu-panel span{padding:6px 10px 2px;font:600 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.pv-menu-panel a{display:flex;align-items:center;min-height:40px;padding:0 10px;border-radius:5px;color:var(--ink);font-size:14px;font-weight:600}.pv-menu-panel a:hover,.pv-menu-panel a.active{background:var(--accent-soft);color:var(--accent)}.pv-tools{display:flex;flex:1;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.pv-search{display:flex;flex:1;align-items:center;gap:4px;max-width:420px;height:38px;padding:0 10px 0 4px;background:#fff;border-radius:5px}.pv-search:focus-within{box-shadow:0 0 0 2px var(--accent-on-navy)}.pv-search button{display:flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;background:none;color:var(--muted)}.pv-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:14px;color:var(--ink)}.pv-search input::placeholder{color:var(--muted);opacity:1}.pv-icon-btn{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:7px;min-width:38px;height:38px;padding:0 10px;border:0;border-radius:6px;background:var(--navy-3);color:#fff;font:inherit;font-size:14px;font-weight:600}.pv-icon-btn:hover{background:var(--navy-2)}.pv-print span,.pv-search-open{display:none}
.pv-subbar{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;background:#fff;border-bottom:1px solid var(--line)}.pv-crumbs{display:flex;flex:1;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;font-size:13px;color:var(--muted)}.pv-back{position:relative;display:flex;flex:none;align-items:center;gap:6px;height:36px;margin-right:4px;padding:0 12px 0 8px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;color:var(--navy);font:inherit;font-size:14px;font-weight:600}.pv-back:hover{border-color:var(--accent)}.pv-crumbs a{min-width:0;overflow:hidden;padding:4px 2px;color:var(--accent);font-weight:500;text-overflow:ellipsis}.pv-crumbs a:hover{text-decoration:underline}.pv-crumbs a:first-of-type{flex:none}.pv-crumbs .sep{flex:none;color:var(--faint)}.pv-crumbs .current{flex:none;max-width:100%;overflow:hidden;padding:4px 2px;color:var(--ink);font-weight:600;text-overflow:ellipsis}.pv-sync{position:relative;display:flex;flex:none;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}.pv-source{font:500 11px var(--font-mono);letter-spacing:.06em;color:var(--muted)}.pv-status summary{position:relative;display:flex;align-items:center;gap:6px;min-height:32px;padding:0 6px;border-radius:5px;cursor:pointer;list-style:none}.pv-status summary::-webkit-details-marker{display:none}.pv-status summary:hover,.pv-status[open] summary{background:var(--bg)}.pv-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--ok)}.pv-dot.syncing,.pv-dot.stale{background:var(--amber)}.pv-dot.error{background:var(--red)}.pv-status-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:120;display:grid;gap:6px;width:max-content;max-width:min(360px,calc(100vw - 24px));padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px #10263a2e;font-size:13px;line-height:1.4;color:var(--ink);white-space:normal}.pv-status-panel small{font:600 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.pv-status-panel b{font-weight:600}.pv-status-panel .pv-login{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--accent)}.pv-stale{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:6px 12px;background:var(--amber-bg);border-bottom:1px solid var(--amber-line);color:var(--amber-ink);font-size:13px;line-height:1.35}.pv-stale[hidden]{display:none}.pv-has-stale .ln-filters{position:static}.pv-stale b{grid-column:1;font-weight:700}.pv-stale span{grid-column:1}.pv-stale .button{grid-column:2;grid-row:1/3;width:auto;min-height:44px;padding:6px 14px}.pair-form{display:grid;gap:14px;max-width:420px;margin-top:20px}.pair-form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.pair-form input{flex:none;height:44px;padding:0 10px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;font:500 16px var(--font-mono);letter-spacing:.04em;color:var(--ink)}.pair-form input[name=name]{font-family:var(--font-sans);letter-spacing:0}.pair-message{min-height:1.4em;margin-top:12px;color:var(--ink)}.pv-refresh{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--line-strong);border-radius:5px;background:#fff;color:var(--navy)}.pv-refresh:hover{border-color:var(--accent)}.pv-bottom-nav{display:none}.pv-bn-item{display:flex;flex:1;align-items:center;justify-content:center;min-height:56px;padding:0 4px;color:var(--muted);font-size:13px;font-weight:600;text-align:center}.pv-bn-item.active{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.pv-bn-short{display:none}
@media(max-width:1023px){.pv-nav{display:none}.pv-icon-btn{min-width:44px;height:44px}.pv-back,.pv-refresh{height:44px;border-color:transparent;background:transparent;isolation:isolate}.pv-refresh{width:44px}.pv-back::before,.pv-refresh::before{content:"";position:absolute;inset:4px 0;z-index:-1;border:1px solid var(--line-strong);border-radius:5px;background:#fff}.pv-refresh::before{inset:4px}.pv-back:hover::before,.pv-refresh:hover::before{border-color:var(--accent)}.pv-status summary::after{content:"";position:absolute;inset:-4px}.pv-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:90;display:flex;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line)}body{padding-bottom:calc(57px + env(safe-area-inset-bottom))}}
@media(max-width:639px){.pv-brand-name,.pv-search,.pv-sync-title,.pv-sync-short,.pv-source,.pv-bn-charts,.pv-bn-long{display:none}.pv-status summary{justify-content:center;width:36px;height:36px;padding:0}.pv-tools{display:contents}.pv-search-open{display:inline-flex;margin-left:auto}.pv-topbar.is-search{flex-wrap:wrap;height:auto;min-height:56px;padding-top:6px;padding-bottom:10px;row-gap:8px}.pv-topbar.is-search .pv-search{display:flex;order:9;flex:1 0 100%;max-width:none;height:44px}.pv-bn-short{display:inline}.pv-bn-gantt{order:2}.pv-bn-dashboard{order:3}.pv-bn-quality{order:4}}
@media print{.app-chrome,.pv-bottom-nav{display:none!important}body{padding-bottom:0!important}}
/* Fase 2b — contenitori, interlinea e gerarchie del prototipo (larghezze misurate per schermata). */
main#main{max-width:1480px;padding:16px 16px 40px;min-height:calc(100vh - 160px)}main#main[data-view=home]{padding-top:20px}main#main[data-view=search]{max-width:1100px}main#main[data-view=gantt],main#main[data-view=dashboard],main#main[data-view=charts]{max-width:1600px}main#main[data-view=quality]{max-width:1300px}main .eyebrow{margin-bottom:2px}main .intro{margin-top:4px;font-size:13px}main .page-heading,main .home-hero{margin-bottom:14px}main .section-heading h2,main .quality-list>h2,main .department-dashboard-heading h2,main .overview-top h2{font-size:16px}main .intro,main .section-heading p,main .empty-state p,main .quality-note,main .analysis-note,main .analysis-card-heading p,main .department-dashboard-heading p,main .capacity-summary p,main .dashboard-panel p,main .gantt-note,main .dashboard-period-note{line-height:1.45}
@media print{main#main,main#main[data-view]{max-width:none;padding:0;margin:0;min-height:0}}
/* Fase 3 — card OP (variante A del prototipo) e badge. Toni badge: 4 famiglie del design system + indaco dedicato a Tassativo. */
:root{--indigo:#33467f;--indigo-bg:#e9eefb;--indigo-line:#c9d3f2}
main .day-orders{gap:8px}
.opc{display:flex;width:100%;padding:0;overflow:hidden;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.opc.is-urgent{border-left-color:var(--red)}.opc.is-overdue{border-left-color:var(--red-soft)}.opc:hover{border-color:var(--accent)}
.opc-seq{display:flex;flex:none;flex-direction:column;align-items:center;width:58px;padding:10px 0;background:var(--bg);border-right:1px solid var(--line-grid)}.opc-seq small{font:600 10px var(--font-mono);letter-spacing:.06em;color:var(--muted)}.opc-seq b{font:700 24px/1.1 var(--font-sans);color:var(--navy)}
.opc-body{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0;padding:10px 12px 12px}.opc-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}.opc-op{font:700 17px var(--font-mono);color:var(--navy)}.opc-badges{display:flex;flex-wrap:wrap;gap:4px}
.opc-title{display:flex;flex-direction:column;gap:2px}.opc-art{font:600 15px/1.3 var(--font-sans);color:var(--ink);overflow-wrap:anywhere}.opc-sub{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.opc-sub code{font:400 12px var(--font-mono)}
.opc-qty{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;background:var(--line-grid);border:1px solid var(--line-grid);border-radius:5px}.opc-qty>span{display:flex;flex-direction:column;min-width:0;padding:6px 8px;background:#fff}.opc-qty small{font-size:11px;color:var(--muted);white-space:nowrap}.opc-qty strong{overflow:hidden;font:600 15px var(--font-sans);color:var(--ink);white-space:nowrap;text-overflow:ellipsis}.opc-qty .is-miss{background:var(--accent-soft)}.opc-qty .is-miss small{font-weight:600;color:var(--accent)}.opc-qty .is-miss strong{font-size:17px;font-weight:700;color:var(--navy)}.opc-qty .is-zero strong{color:var(--ok-ink)}
.opc-progress{display:flex;align-items:center;gap:8px}.opc-progress>span{display:flex;flex:1;height:6px;overflow:hidden;background:var(--line-soft);border-radius:3px}.opc-progress i{background:var(--ok)}.opc-progress b{width:36px;font:600 12px var(--font-sans);color:var(--ink);text-align:right}
.opc-facts{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink)}.opc-facts>span{display:flex;flex-direction:column}.opc-facts small{font-size:11px;color:var(--muted)}.opc-facts strong{font-weight:600}.opc-facts em{font-style:normal;font-weight:400;color:var(--muted)}.opc-facts .is-overdue{margin:0 -4px;padding:0 4px;background:var(--red-bg);border-radius:3px}.opc-facts .is-overdue strong{color:var(--red)}
.opc-note{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;background:var(--note-bg);border:1px solid var(--amber-line);border-radius:5px;font-size:13px;line-height:1.35;color:var(--note-ink);overflow-wrap:anywhere}.opc-note b{flex:none;padding-top:1px;font:700 11px var(--font-mono);color:var(--amber-ink)}
.opc-body>.resource-context{align-self:flex-start;margin:0}.opc-body>.quality-end{margin:-2px 0 0}
.badge{display:inline-flex;align-items:center;height:22px;max-width:100%;padding:0 7px;border:1px solid transparent;border-radius:4px;font:600 12px/1 var(--font-sans);white-space:nowrap}.badge.confirmed,.badge.completed{background:var(--ok-bg);color:var(--ok-ink);border-color:var(--ok-line)}.badge.overdue,.badge.blocked{background:var(--red-bg);color:var(--red);border-color:var(--red-line)}.badge.urgent-op{background:var(--red);color:#fff;border-color:var(--red)}.badge.warning,.badge.urgent{background:var(--amber-bg);color:var(--amber-ink);border-color:var(--amber-line)}.badge.neutral{background:var(--chip);color:var(--grey-ink);border-color:var(--grey-line)}.badge.mandatory{background:var(--indigo-bg);color:var(--indigo);border-color:var(--indigo-line)}
.people-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;background:#fff;border:1px solid var(--line-strong);border-radius:4px;font:400 12px/1 var(--font-sans);color:var(--muted)}.people-badge b{font-weight:600;color:var(--ink)}
@media print{.opc{break-inside:avoid;page-break-inside:avoid}.opc-body{padding:8px 10px}}
@media(max-width:639px){.opc .opc-unit{display:none}}
/* Fase 4 — dettaglio OP (pannello del prototipo: 480 px laterale, dal basso su smartphone). */
dialog#detail{inset:0 0 0 auto;width:480px;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;overflow:hidden;border:0;background:var(--bg);color:var(--ink);box-shadow:-8px 0 30px #00000033}dialog#detail[open]{display:flex;flex-direction:column}dialog#detail::backdrop{background:#10263a73}
.dt-head{display:flex;flex:none;flex-direction:column;gap:8px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line)}.dt-handle{display:none;align-self:center;width:44px;height:5px;border-radius:3px;background:var(--line-strong)}.dt-headrow{display:flex;align-items:flex-start;gap:10px}.dt-headrow>div{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.dt-head .eyebrow{margin:0}#detail-title{margin:0;font:700 22px var(--font-mono);color:var(--navy)}.dt-close{flex:none;width:44px;height:44px;padding:0;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--navy);font:400 22px/1 var(--font-sans);cursor:pointer}.dt-close:hover{border-color:var(--accent)}.dt-art{margin:0;font:600 16px/1.3 var(--font-sans);color:var(--ink);overflow-wrap:anywhere}.dt-sub{margin:0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.dt-sub code{font:400 13px var(--font-mono)}.dt-badges{display:flex;flex-wrap:wrap;gap:4px}
.dt-scroll{display:flex;flex:1;flex-direction:column;gap:16px;min-height:0;padding:12px 16px 20px;overflow-y:auto;overscroll-behavior:contain}.dt-alert{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 12px;border-radius:6px;background:var(--red);color:#fff;font-size:13px}.dt-alert strong{font-weight:700;letter-spacing:.04em;text-transform:uppercase}.dt-scroll section{display:flex;flex-direction:column;gap:6px}.dt-scroll h3{margin:0;font:700 12px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;background:var(--line-grid);border:1px solid var(--line-grid);border-radius:6px}.dt-grid>div{display:flex;flex-direction:column;gap:1px;min-width:0;padding:7px 10px;background:#fff}.dt-grid dt{font-size:11px;color:var(--muted)}.dt-grid dd{margin:0;font:600 14px var(--font-sans);color:var(--ink);overflow-wrap:anywhere}.dt-grid .is-overdue{background:var(--red-bg)}.dt-grid .is-overdue dd{color:var(--red)}
.dt-qty .opc-qty{border-radius:6px 6px 0 0}.dt-qty .opc-qty:last-child{border-radius:6px}.dt-qty .opc-qty>span{padding:8px}.dt-qty .opc-qty strong{font-size:17px;font-weight:700}.dt-qty .opc-qty .is-miss strong{font-size:19px}.dt-bar{display:flex;height:6px;overflow:hidden;background:var(--line-soft);border-radius:0 0 3px 3px}.dt-bar i{background:var(--ok)}
.dt-note{padding:10px 12px;background:var(--note-bg);border:1px solid var(--amber-line);border-radius:6px;font-size:14px;line-height:1.45;color:var(--note-ink);overflow-wrap:anywhere}.dt-empty{margin:0;font-size:13px;color:var(--muted)}
.dt-foot{display:flex;flex:none;gap:8px;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.dt-btn{flex:1;min-width:0;height:48px;padding:0 10px;overflow:hidden;border:1px solid var(--navy);border-radius:6px;background:#fff;color:var(--navy);font:600 14px var(--font-sans);white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.dt-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.dt-btn:hover{filter:brightness(.95)}
@media(max-width:639px){dialog#detail{inset:auto 0 0 0;width:100%;height:88dvh;max-height:88dvh;border-radius:14px 14px 0 0;box-shadow:0 -8px 30px #00000040}.dt-handle{display:block}}
/* Fase 6 — vista linea (prototipo): intestazione, riepilogo, barra filtri fissa con chip, gruppi a tutta larghezza. */
.ln-page{display:flex;flex-direction:column;gap:14px}.ln-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.ln-title{display:flex;flex-direction:column;gap:2px;min-width:0}main .ln-title .eyebrow{margin:0}.ln-controls{display:flex;flex-wrap:wrap;gap:8px}.ln-controls select{min-width:200px;height:44px;min-height:44px;padding:0 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--navy);font:600 14px var(--font-sans)}.ln-controls .button{min-height:44px;border-radius:6px}
.ln-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:6px}.ln-stats>div{display:flex;flex-direction:column;gap:1px;padding:8px 12px;background:#fff}.ln-stats span{font-size:11px;color:var(--muted)}.ln-stats strong{font:700 18px var(--font-sans);color:var(--navy)}.ln-stats .is-red{color:var(--red)}
.ln-filters{position:sticky;top:104px;z-index:5;display:flex;flex-direction:column;gap:8px;padding:6px 0;background:var(--bg)}.ln-chips{display:flex;gap:6px;padding-bottom:2px;overflow-x:auto;scrollbar-width:thin}.ln-chip{display:flex;flex:none;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);font:600 14px var(--font-sans);white-space:nowrap;cursor:pointer}.ln-chip small{font-size:12px;font-weight:400;opacity:.8}.ln-chip.is-main{font-weight:700}.ln-chip.selected{background:var(--navy);border-color:var(--navy);color:#fff}.ln-chip.is-main.selected{background:var(--accent);border-color:var(--accent)}.ln-chip:not(.selected):hover{border-color:var(--accent)}.ln-note{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}
.ln-filters .range-picker{align-items:flex-end;gap:8px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:6px}.ln-filters .range-fields label{gap:2px;font-size:11px;font-weight:400;color:var(--muted)}.ln-filters .range-fields input{height:40px;padding:0 8px;border:1px solid var(--line-strong);border-radius:5px;font-size:14px}.ln-filters .range-fields .button{min-height:40px;padding:0 14px}.ln-filters .range-shortcuts button{height:40px;padding:0 12px;background:var(--chip);border:1px solid var(--line-strong);border-radius:5px;color:var(--navy);font:600 13px var(--font-sans)}
.ln-group{display:flex;flex-direction:column;gap:8px}.ln-group-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.ln-group-head h2{margin:0;font:700 16px var(--font-sans);color:var(--navy)}.ln-group-head span{font-size:12px;color:var(--muted)}.ln-group.is-history{margin-top:6px}.ln-empty{margin:0;padding:14px;background:#fff;border:1px dashed var(--line-strong);border-radius:6px;font-size:13px;color:var(--muted)}.ln-more{align-self:flex-start;height:44px;padding:0 16px;border:1px solid var(--accent);border-radius:6px;background:#fff;color:var(--accent);font:600 14px var(--font-sans);cursor:pointer}
@media(max-width:639px){.ln-controls{width:100%}.ln-controls select{flex:1;min-width:0}.ln-filters .range-fields{display:grid;grid-template-columns:1fr 1fr;width:100%}.ln-filters .range-fields .button{grid-column:1/-1}.ln-filters .range-shortcuts{display:flex;width:100%}.ln-filters .range-shortcuts button{flex:1}}
@media print{.ln-filters,.ln-more,.ln-controls{display:none!important}.ln-page{gap:8px}}
