:root{--green:#009b59;--green-dark:#006b3d;--green-soft:#e7f6ef;--red:#e1261c;--red-soft:#fff0ef;--amber:#c46b00;--amber-soft:#fff7e7;--blue:#2385a4;--blue-soft:#edf8fb;--ink:#303a36;--muted:#68736e;--line:#dde3df;--paper:#fff;--canvas:#f6f5f2;--shadow:0 8px 26px rgba(30,53,43,.07)}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Manrope,system-ui,sans-serif}.app-header{min-height:72px;padding:0 max(24px,calc((100vw - 1440px)/2));background:var(--green-dark);color:#fff;display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:20;box-shadow:0 7px 20px rgba(9,54,34,.16)}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;white-space:nowrap}.brand-mark{width:39px;height:39px;background:#fff;color:var(--green);border-radius:10px;display:grid;place-items:center;font-size:30px;font-weight:500}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:.95rem}.brand small{font-size:.65rem;opacity:.72;letter-spacing:.05em;text-transform:uppercase}.main-nav{display:flex;align-self:stretch}.main-nav a{color:rgba(255,255,255,.72);text-decoration:none;padding:0 15px;display:grid;place-items:center;border-bottom:3px solid transparent;font-size:.84rem;font-weight:700}.main-nav a:hover,.main-nav a.is-active{color:#fff;background:rgba(255,255,255,.06);border-color:#f3bd28}.demo-user{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:.72rem;color:rgba(255,255,255,.75)}.demo-user strong{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f3bd28;color:var(--green-dark)}.demo-dot{width:7px;height:7px;border-radius:50%;background:#62d99a}.nav-toggle{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:1.5rem}.page-shell{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:38px 0 56px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:27px}.eyebrow{color:var(--green);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.page-heading h1,.event-hero h1,.checklist-hero h1{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1;margin:6px 0 8px;letter-spacing:-.04em}.page-heading p,.event-hero p,.checklist-hero p{margin:0;color:var(--muted);font-size:.9rem}.heading-actions{display:flex;gap:10px}.button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;min-height:42px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font:700 .78rem Manrope;cursor:pointer}.button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(20,70,48,.1)}.button-primary{background:var(--green);border-color:var(--green);color:#fff}.button-secondary{border-color:#bfd2c8;color:var(--green-dark)}.button-block{width:100%}.button-block span{margin-left:auto}.button-small{min-height:34px;padding:0 12px;font-size:.7rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.kpi-card{min-height:142px;padding:21px;border-radius:15px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;right:-25px;top:-30px;width:100px;height:100px;border-radius:50%;background:var(--green-soft)}.kpi-icon{position:absolute;right:18px;top:17px;z-index:1;width:34px;height:34px;border-radius:10px;background:var(--green-soft);display:grid;place-items:center;color:var(--green);font-size:.67rem;font-weight:800}.kpi-value{font-size:2rem;font-weight:800;letter-spacing:-.05em}.kpi-label{font-size:.83rem;font-weight:700}.kpi-card small{color:var(--muted);font-size:.67rem;margin-top:auto}.kpi-red:after,.kpi-red .kpi-icon{background:var(--red-soft);color:var(--red)}.kpi-amber:after,.kpi-amber .kpi-icon{background:var(--amber-soft);color:var(--amber)}.kpi-blue:after,.kpi-blue .kpi-icon{background:var(--blue-soft);color:var(--blue)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:var(--shadow)}.panel-span-2{grid-column:span 2}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.panel-head h2{margin:3px 0 0;font-size:1.05rem}.panel-head>a{font-size:.72rem;color:var(--green);font-weight:800;text-decoration:none}.event-list{display:flex;flex-direction:column}.event-row,.task-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #edf2ef;text-decoration:none;color:var(--ink)}.event-row:first-child{border-top:0}.date-tile{width:46px;height:49px;border-radius:10px;background:var(--green-soft);color:var(--green-dark);display:flex;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0}.date-tile strong{font-size:1.1rem;line-height:1}.date-tile small{font-size:.55rem;font-weight:800;margin-top:3px}.event-main,.task-row>span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}.event-main strong,.task-row strong{font-size:.78rem}.event-main small,.task-row small{font-size:.65rem;color:var(--muted);margin-top:4px}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:.61rem;font-weight:800;white-space:nowrap;background:#eff3f1;color:var(--muted)}.badge>span{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-active,.badge-ok,.badge-completed{background:var(--green-soft);color:var(--green)}.badge-planned{background:var(--blue-soft);color:var(--blue)}.badge-warning,.badge-open{background:var(--amber-soft);color:var(--amber)}.badge-expired,.badge-critical,.badge-attention{background:var(--red-soft);color:var(--red)}.row-arrow{font-size:1.35rem;color:#91a39a}.alert-panel{border-top:3px solid var(--red)}.alert-item{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;border-top:1px solid #f0e6e7;padding:13px 0}.alert-item>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column}.alert-item strong{font-size:.72rem}.alert-item small{font-size:.59rem;color:var(--muted)}.alert-symbol{width:28px;height:28px;border-radius:8px;background:var(--red-soft);color:var(--red);display:grid;place-items:center;font-weight:900}.checklist-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-checklist{border:1px solid var(--line);border-radius:11px;padding:13px;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:1fr auto;gap:11px}.mini-checklist>div:first-child{display:flex;flex-direction:column}.mini-checklist strong{font-size:.69rem}.mini-checklist small{font-size:.57rem;color:var(--muted);margin-top:4px}.mini-checklist>span{font-size:.7rem;font-weight:800;color:var(--green)}.progress{height:6px;border-radius:999px;background:#e7eeea;overflow:hidden;grid-column:1/-1}.progress i{display:block;height:100%;border-radius:inherit;background:var(--green)}.quick-panel>a{display:flex;align-items:center;gap:11px;border-top:1px solid #edf2ef;padding:13px 0;text-decoration:none;color:var(--ink);font-size:.74rem;font-weight:700}.quick-panel>a span{width:30px;height:30px;border-radius:8px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}.filter-pills{display:flex;gap:7px;flex-wrap:wrap}.filter-pills button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:8px 12px;font:700 .68rem Manrope;cursor:pointer}.filter-pills button span{margin-left:5px;background:#edf2ef;padding:2px 6px;border-radius:999px}.filter-pills button.is-active{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.filter-pills button.is-active span{background:rgba(255,255,255,.15)}.search-field{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 11px;min-width:280px}.search-field input{height:40px;border:0;outline:0;width:100%;font:500 .72rem Manrope;color:var(--ink)}.event-grid,.checklist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-card,.checklist-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:var(--shadow)}.event-card-top,.checklist-card-head{display:flex;align-items:center;justify-content:space-between}.date-tile-large{width:54px;height:58px}.event-card-top>div{display:flex;align-items:center;gap:9px}.event-time{font-size:.7rem;font-weight:800}.event-card h2,.checklist-card h2{font-size:1rem;margin:18px 0 7px}.event-card p,.checklist-card p{font-size:.68rem;color:var(--muted);min-height:32px}.event-stats{display:flex;gap:11px;margin:17px 0 10px;padding-top:14px;border-top:1px solid #edf2ef}.event-stats span{font-size:.59rem;color:var(--muted)}.event-stats strong{color:var(--ink)}.event-card .button,.checklist-card .button{margin-top:17px}.back-link{display:inline-block;color:var(--green);font-size:.72rem;font-weight:800;text-decoration:none;margin-bottom:18px}.event-hero,.checklist-hero{border-radius:17px;background:linear-gradient(125deg,var(--green-dark),#18744a);color:#fff;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.event-hero p,.checklist-hero p{color:rgba(255,255,255,.72)}.hero-meta{display:flex;align-items:center;gap:12px;font-size:.71rem}.hero-meta .badge{background:rgba(255,255,255,.13);color:#fff}.kpi-grid-compact{grid-template-columns:repeat(3,1fr)}.kpi-grid-compact .kpi-card{min-height:105px}.task-check{width:30px;height:30px;display:grid;place-items:center;border:2px solid #cbd8d1;border-radius:50%;color:transparent}.task-check.is-done{background:var(--green);border-color:var(--green);color:#fff}.muted{color:var(--muted);font-size:.75rem;line-height:1.7}.table-panel,.timeline-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 18px;box-shadow:var(--shadow)}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:13px 12px;color:var(--muted);font-size:.61rem;text-transform:uppercase;letter-spacing:.07em}td{padding:16px 12px;border-top:1px solid #edf2ef;font-size:.7rem}td strong{font-size:.72rem}td small{display:block;color:var(--muted);font-size:.58rem;margin-top:3px}code{color:var(--green-dark);background:var(--green-soft);padding:4px 7px;border-radius:6px}.scope-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:var(--green-soft);color:var(--green);font-weight:900}.checklist-card dl{border-top:1px solid #edf2ef;border-bottom:1px solid #edf2ef;padding:10px 0;display:grid;grid-template-columns:1fr 1fr}.checklist-card dl div{display:flex;flex-direction:column}.checklist-card dt{font-size:.55rem;text-transform:uppercase;color:var(--muted)}.checklist-card dd{margin:4px 0 0;font-size:.65rem;font-weight:700}.progress-label{display:flex;justify-content:space-between;font-size:.6rem;color:var(--muted);margin:13px 0 7px}.progress-label strong{color:var(--green)}.completion-ring{width:92px;height:92px;border-radius:50%;border:8px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex-direction:column}.completion-ring strong{font-size:1.2rem}.completion-ring span{font-size:.55rem;opacity:.7}.notice{padding:14px 17px;border-radius:11px;margin-bottom:16px;display:flex;flex-direction:column}.notice-success{background:var(--green-soft);border:1px solid #bde1cb;color:var(--green-dark)}.notice strong{font-size:.78rem}.notice span{font-size:.65rem;margin-top:2px}.checklist-form{max-width:980px;margin:0 auto}.check-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 20px 5px;margin:0 0 15px;box-shadow:var(--shadow)}.check-section legend{padding:10px 0;font-weight:800;font-size:.82rem}.check-section legend span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--green-soft);color:var(--green);margin-right:9px}.check-row{display:flex;align-items:center;gap:12px;border-top:1px solid #edf2ef;padding:14px 0;cursor:pointer}.check-row input{position:absolute;opacity:0}.custom-check{width:27px;height:27px;border:2px solid #c4d2ca;border-radius:7px;display:grid;place-items:center;color:transparent;flex-shrink:0}.check-row input:checked+.custom-check{background:var(--green);border-color:var(--green);color:#fff}.check-row>span:nth-of-type(2){display:flex;flex:1;flex-direction:column}.check-row strong{font-size:.72rem}.check-row small{font-size:.58rem;color:var(--muted);margin-top:2px}.anomaly-button{border:1px solid #e8b8bc;background:#fff;color:var(--red);border-radius:8px;padding:6px 9px;font:700 .58rem Manrope}.anomaly-button.is-active{background:var(--red);color:#fff}.form-notes{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column}.form-notes label{font-size:.7rem;font-weight:800;margin-bottom:8px}.form-notes textarea{border:1px solid var(--line);border-radius:9px;padding:11px;font:500 .72rem Manrope;resize:vertical}.sticky-actions{position:sticky;bottom:12px;background:rgba(11,77,48,.96);color:#fff;border-radius:13px;margin-top:18px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 30px rgba(5,49,29,.25);font-size:.7rem}.sticky-actions .button{background:#fff;color:var(--green-dark)}.expiry-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.expiry-summary-card{padding:18px;border-radius:13px;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:10px}.expiry-summary-card strong{font-size:1.8rem;grid-row:span 2}.expiry-summary-card span{font-size:.72rem;font-weight:800}.expiry-summary-card small{font-size:.59rem;color:var(--muted)}.expiry-summary-card.state-expired,.expiry-summary-card.state-critical{border-top:3px solid var(--red)}.expiry-summary-card.state-warning{border-top:3px solid var(--amber)}.expiry-summary-card.state-ok{border-top:3px solid var(--green)}.timeline-panel{padding:21px}.expiry-row{display:grid;grid-template-columns:14px 80px minmax(180px,1fr) 90px 130px 85px;align-items:center;gap:13px;border-top:1px solid #edf2ef;padding:14px 0;position:relative}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--green)}.state-expired .timeline-dot,.state-critical .timeline-dot{background:var(--red)}.state-warning .timeline-dot{background:var(--amber)}.expiry-date{display:flex;align-items:baseline;gap:5px}.expiry-date strong{font-size:1.2rem}.expiry-date span{font-size:.55rem;color:var(--muted)}.expiry-main{display:flex;flex-direction:column}.expiry-main strong{font-size:.72rem}.expiry-main small{font-size:.59rem;color:var(--muted);margin-top:3px}.expiry-qty{font-size:.67rem}.app-footer{max-width:1440px;margin:0 auto;padding:18px 24px 30px;color:#82938b;font-size:.6rem;display:flex;justify-content:space-between}[hidden]{display:none!important}
@media(max-width:1050px){.main-nav a{padding:0 9px}.demo-user span:not(.demo-dot){display:none}.kpi-grid{grid-template-columns:repeat(2,1fr)}.event-grid,.checklist-grid{grid-template-columns:repeat(2,1fr)}.expiry-row{grid-template-columns:14px 70px 1fr 110px 80px}.expiry-qty{display:none}}
@media(max-width:760px){.app-header{min-height:62px;padding:0 15px;flex-wrap:wrap}.nav-toggle{display:block}.demo-user{margin-left:0}.demo-user>span{display:none}.main-nav{display:none;order:4;width:100%;height:auto;flex-direction:column;padding-bottom:10px}.main-nav.is-open{display:flex}.main-nav a{padding:11px;border:0;border-radius:8px;display:block}.page-shell{width:min(100% - 24px,1440px);padding:25px 0 40px}.page-heading{align-items:flex-start;flex-direction:column}.kpi-grid,.dashboard-grid,.event-grid,.checklist-grid,.expiry-summary{grid-template-columns:1fr 1fr}.panel-span-2{grid-column:1/-1}.checklist-cards{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.search-field{min-width:0}.expiry-summary-card{grid-template-columns:1fr}.expiry-summary-card strong{grid-row:auto}.expiry-row{grid-template-columns:12px 56px 1fr auto}.expiry-row .badge{grid-column:3}.expiry-row .button{grid-column:4;grid-row:1/3}.timeline-panel{padding:14px}.event-hero,.checklist-hero{padding:22px;align-items:flex-start;flex-direction:column}.kpi-grid-compact{grid-template-columns:repeat(3,1fr)}.responsive-table table{min-width:780px}}
@media(max-width:520px){.brand small{display:none}.page-heading h1{font-size:1.8rem}.kpi-grid,.event-grid,.checklist-grid,.expiry-summary{grid-template-columns:1fr}.kpi-card{min-height:120px}.kpi-grid-compact{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.panel-span-2{grid-column:auto}.filter-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.filter-pills button{white-space:nowrap}.check-row{align-items:flex-start}.anomaly-button{margin-left:auto}.expiry-row{grid-template-columns:10px 48px 1fr}.expiry-row .badge{grid-column:3}.expiry-row .button{grid-column:3;grid-row:auto;justify-self:start}.expiry-date{flex-direction:column}.app-footer{flex-direction:column;gap:5px}}

/* ANPAS Piemonte brand layer */
body{font-family:"Open Sans",Arial,sans-serif;font-weight:400}
.app-header{min-height:86px;background:#fff;color:var(--ink);border-top:6px solid var(--green);border-bottom:1px solid var(--line);box-shadow:0 5px 18px rgba(30,53,43,.08)}
.brand{color:var(--ink);gap:16px}
.brand img{display:block;width:144px;height:54px;object-fit:contain}
.brand-context{display:flex;flex-direction:column;padding-left:16px;border-left:1px solid var(--line);line-height:1.25}
.brand-context strong{font-size:.78rem;color:var(--green-dark);text-transform:uppercase;letter-spacing:.04em}
.brand-context small{font-size:.62rem;color:var(--muted);margin-top:3px}
.main-nav{align-self:stretch}
.main-nav a{color:#505d57;border-bottom:4px solid transparent;font-weight:600}
.main-nav a:hover{color:var(--green-dark);background:var(--green-soft);border-color:rgba(0,155,89,.24)}
.main-nav a.is-active{color:var(--green-dark);background:var(--green-soft);border-color:var(--red)}
.demo-user{color:var(--muted)}
.demo-user strong{background:var(--green);color:#fff}
.demo-dot{background:var(--red)}
.nav-toggle{color:var(--green-dark)}
.page-heading{border-left:4px solid var(--red);padding-left:18px}
.page-heading h1,.event-hero h1,.checklist-hero h1{font-weight:700;color:inherit}
.button,.filter-pills button,.search-field input,.anomaly-button,.form-notes textarea{font-family:"Open Sans",Arial,sans-serif}
.button{border-radius:5px;text-transform:uppercase;letter-spacing:.025em}
.button-primary{background:var(--green);border-color:var(--green)}
.button-primary:hover{background:var(--green-dark);border-color:var(--green-dark)}
.panel,.event-card,.checklist-card,.table-panel,.timeline-panel,.check-section,.form-notes{border-radius:8px}
.kpi-card{border-radius:8px;border-top:4px solid var(--green)}
.kpi-card.kpi-red{border-top-color:var(--red)}
.kpi-card.kpi-amber{border-top-color:var(--amber)}
.kpi-card.kpi-blue{border-top-color:var(--blue)}
.kpi-card:after{opacity:.8}
.date-tile{border-radius:4px;border-left:3px solid var(--red)}
.event-hero,.checklist-hero{border-radius:8px;border-left:6px solid var(--red);background:linear-gradient(112deg,var(--green-dark),var(--green))}
.toolbar{padding:12px;background:#fff;border:1px solid var(--line);border-radius:7px}
.filter-pills button,.search-field{border-radius:4px}
.filter-pills button.is-active{background:var(--green);border-color:var(--green)}
.scope-icon,.check-section legend span,.quick-panel>a span{border-radius:4px}
.sticky-actions{border-radius:6px;background:rgba(0,107,61,.97)}
.app-footer{border-top:3px solid var(--green)}

@media(max-width:1050px){.brand-context{display:none}.main-nav a{padding:0 8px}}
@media(max-width:760px){.app-header{min-height:72px;padding:0 15px}.brand img{width:125px;height:47px}.main-nav{background:var(--green-dark);margin:0 -15px;padding:8px 15px}.main-nav a{color:rgba(255,255,255,.82);border-radius:3px}.main-nav a:hover,.main-nav a.is-active{color:#fff;background:rgba(255,255,255,.1);border-color:transparent}.page-heading{padding-left:13px}}

.event-grid:has(.event-card:only-child){grid-template-columns:minmax(320px,520px)}
.stadium-panel{margin-top:18px}
.panel-counter{color:var(--green-dark);font-size:.7rem;font-weight:700}
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.location-card{border:1px solid var(--line);border-left:4px solid var(--green);background:#fbfcfb;padding:13px 14px;min-height:132px;display:flex;flex-direction:column}
.location-card:nth-child(even){border-left-color:var(--red)}
.location-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.location-card strong{font-size:.78rem;color:var(--green-dark);text-transform:uppercase}
.location-card>div span{font-size:.58rem;color:var(--muted);text-align:right}
.location-card p{font-size:.65rem;font-weight:700;margin:12px 0 5px}
.location-card small{font-size:.58rem;line-height:1.45;color:var(--muted);margin-top:auto}
.operational-fields{background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);padding:16px;margin-bottom:15px;display:grid;grid-template-columns:.7fr 1.6fr 1fr 1fr;gap:12px;box-shadow:var(--shadow)}
.operational-fields label{display:flex;flex-direction:column;gap:6px}
.operational-fields label span{color:var(--green-dark);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.operational-fields input{width:100%;height:39px;border:1px solid var(--line);border-radius:4px;padding:0 10px;color:var(--ink);font:600 .7rem "Open Sans",Arial,sans-serif;background:#fff}
.operational-fields input:focus{outline:2px solid rgba(0,155,89,.2);border-color:var(--green)}

@media(max-width:900px){.location-grid{grid-template-columns:repeat(2,1fr)}.operational-fields{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.event-grid:has(.event-card:only-child){grid-template-columns:1fr}.location-grid,.operational-fields{grid-template-columns:1fr}.location-card{min-height:112px}}

/* Material loading and assignment flow */
.button-spaced{margin-top:9px}.button-on-dark{border-color:rgba(255,255,255,.65);background:transparent;color:#fff}.button-light{background:#fff;border-color:#fff;color:var(--green-dark)}.table-action{color:var(--green-dark);font-size:.64rem;font-weight:800;text-decoration:none;white-space:nowrap}.text-button{border:0;background:transparent;color:var(--green);font:700 .68rem "Open Sans",Arial,sans-serif;cursor:pointer}.process-strip{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 20px;margin-bottom:16px;box-shadow:var(--shadow)}.process-strip>div{display:grid;grid-template-columns:34px auto;column-gap:10px;align-items:center;min-width:155px}.process-strip>div>span{width:34px;height:34px;grid-row:span 2;display:grid;place-items:center;border:2px solid var(--line);border-radius:50%;color:var(--muted);font-size:.7rem;font-weight:800}.process-strip strong{font-size:.7rem}.process-strip small{font-size:.55rem;color:var(--muted)}.process-strip>i{height:2px;flex:1;background:var(--line);margin:0 10px}.process-strip .is-complete>span{background:var(--green);border-color:var(--green);color:#fff}.process-strip .is-current>span{border-color:var(--red);color:var(--red)}.process-strip .is-complete+i{background:var(--green)}.movement-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.movement-tabs button{border:1px solid var(--line);border-top:4px solid transparent;background:#fff;padding:14px 16px;display:grid;grid-template-columns:38px 1fr;text-align:left;column-gap:10px;cursor:pointer;color:var(--ink)}.movement-tabs button>span{width:38px;height:38px;grid-row:span 2;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);font-size:1.2rem}.movement-tabs strong{font-size:.75rem}.movement-tabs small{font-size:.58rem;color:var(--muted);margin-top:3px}.movement-tabs button.is-active{border-top-color:var(--red);box-shadow:var(--shadow)}.movement-tabs button.is-active>span{background:var(--green);color:#fff}.movement-layout{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(285px,.85fr);gap:18px}.movement-main{min-width:0}.document-chip{font:700 .63rem monospace;color:var(--green-dark);background:var(--green-soft);padding:7px 10px}.form-grid{display:grid;gap:12px;margin:18px 0}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-grid label,.summary-field{display:flex;flex-direction:column;gap:6px}.form-grid label>span,.summary-field>span,.compact-select>span{font-size:.57rem;color:var(--green-dark);font-weight:800;text-transform:uppercase}.form-grid input,.form-grid select,.summary-field input,.summary-field textarea,.compact-select select,.load-line input,.load-line select,.qty-input{width:100%;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);padding:0 10px;font:600 .68rem "Open Sans",Arial,sans-serif}.form-grid input,.form-grid select,.summary-field input,.compact-select select,.load-line input,.load-line select{height:39px}.form-grid input:focus,.form-grid select:focus,.load-line input:focus,.load-line select:focus{outline:2px solid rgba(0,155,89,.16);border-color:var(--green)}.subsection-head{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin:21px 0 10px}.subsection-head h3{font-size:.86rem;margin:3px 0 0}.load-lines{border:1px solid var(--line)}.load-line{display:grid;grid-template-columns:1.5fr 1fr 90px 135px 34px;gap:8px;align-items:center;padding:8px;border-top:1px solid #edf2ef}.load-line:first-child{border-top:0}.load-line-head{background:#f5f8f6;color:var(--muted);font-size:.56rem;font-weight:800;text-transform:uppercase}.icon-button{width:30px;height:30px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;font-size:1rem}.movement-summary{align-self:start;position:sticky;top:105px}.movement-summary>h2{font-size:1.05rem;margin:4px 0 17px}.movement-summary dl{margin:0 0 16px;border-top:1px solid var(--line)}.movement-summary dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf2ef;padding:10px 0}.movement-summary dt{font-size:.62rem;color:var(--muted)}.movement-summary dd{font-size:.66rem;font-weight:800;margin:0;text-align:right}.text-green{color:var(--green)}.summary-note{display:flex;gap:10px;padding:12px;background:var(--green-soft);color:var(--green-dark);margin:12px 0 16px}.summary-note>span{font-size:1rem;font-weight:800}.summary-note p{font-size:.58rem;line-height:1.45;margin:0}.summary-note strong{display:block;font-size:.64rem}.assignment-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:23px 0 12px}.assignment-heading>div{display:flex;align-items:center;gap:10px}.assignment-heading>div>span:last-child{display:flex;flex-direction:column}.assignment-heading strong{font-size:.8rem}.assignment-heading small{font-size:.6rem;color:var(--muted);margin-top:3px}.step-number{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:.7rem;font-weight:800}.compact-select{display:flex;align-items:center;gap:9px}.compact-select select{width:270px}.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.destination-card{display:grid;grid-template-columns:42px 1fr 22px;gap:10px;align-items:start;border:1px solid var(--line);border-left:4px solid var(--line);background:#fff;padding:14px;text-align:left;cursor:pointer;color:var(--ink)}.destination-card:hover,.destination-card.is-selected{border-left-color:var(--green);box-shadow:var(--shadow)}.destination-icon{width:42px;height:42px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;font-size:.55rem;font-weight:900}.destination-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.destination-card strong{font-size:.7rem}.destination-card small{font-size:.53rem;color:var(--muted);margin:3px 0 9px}.destination-card i{height:4px;background:#e6ece9}.destination-card i b{height:100%;display:block;background:var(--green)}.destination-card em{font-size:.51rem;color:var(--muted);font-style:normal;margin-top:5px}.selection-mark{width:20px;height:20px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:transparent;font-size:.6rem}.destination-card.is-selected .selection-mark{background:var(--green);border-color:var(--green);color:#fff}.assignment-second{margin-top:26px}.assignment-layout{grid-template-columns:minmax(0,2.4fr) minmax(290px,.6fr)}.assignment-table{padding:8px 14px}.assignment-table table{min-width:760px}.assignment-table tr.is-disabled{opacity:.5}.assignment-table td:first-child input{accent-color:var(--green)}.qty-input{height:32px;max-width:70px}.route-box{display:grid;grid-template-columns:1fr 25px 1fr;gap:5px;align-items:center;background:#f6f8f7;padding:11px;margin-bottom:12px}.route-box span{font-size:.64rem;font-weight:800}.route-box span:last-child{text-align:right}.route-box small{font-size:.52rem;color:var(--muted);font-weight:400}.route-box b{text-align:center;color:var(--green)}.selected-materials{border-top:1px solid var(--line);margin:12px 0}.selected-materials>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf2ef;font-size:.6rem}.selected-materials strong{background:var(--green-soft);color:var(--green-dark);padding:2px 7px}.empty-selection{font-size:.6rem;color:var(--muted)}.summary-field{margin:10px 0}.summary-field textarea{padding:9px;resize:vertical}.return-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.return-option{border:1px solid var(--line);padding:15px;display:grid;grid-template-columns:36px 1fr;column-gap:10px;cursor:pointer}.return-option input{position:absolute;opacity:0}.return-option>span{width:36px;height:36px;grid-row:span 2;display:grid;place-items:center;background:#eef2f0;color:var(--muted);font-weight:900}.return-option strong{font-size:.68rem}.return-option small{font-size:.55rem;color:var(--muted)}.return-option.is-selected{border-color:var(--green);background:var(--green-soft)}.return-option.is-selected>span{background:var(--green);color:#fff}.closing-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.closing-actions label{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:11px;font-size:.62rem}.closing-actions input{accent-color:var(--green)}.movement-history{margin-top:18px}.history-list article{display:grid;grid-template-columns:50px 32px 1fr 90px 100px 32px;align-items:center;gap:12px;border-top:1px solid #edf2ef;padding:11px 0}.history-list time{font-size:.6rem;color:var(--muted)}.movement-kind{width:30px;height:30px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);font-size:.65rem;font-weight:900}.movement-kind-rientro{background:var(--amber-soft);color:var(--amber)}.history-list article>span:nth-child(3){display:flex;flex-direction:column}.history-list article>span:nth-child(3) strong,.history-meta strong{font-size:.65rem}.history-list article>span:nth-child(3) small,.history-meta small{font-size:.55rem;color:var(--muted);margin-top:3px}.history-meta{display:flex;flex-direction:column}.demo-toast{position:fixed;right:24px;bottom:24px;z-index:100;max-width:380px;background:var(--green-dark);color:#fff;padding:14px 17px;display:flex;gap:11px;box-shadow:0 16px 40px rgba(0,40,20,.28);transform:translateY(20px);opacity:0;transition:.22s ease}.demo-toast.is-visible{transform:none;opacity:1}.demo-toast>span{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green-dark);font-weight:900}.demo-toast div{display:flex;flex-direction:column}.demo-toast strong{font-size:.7rem}.demo-toast small{font-size:.59rem;line-height:1.4;opacity:.82;margin-top:2px}
@media(max-width:1100px){.process-strip>div{min-width:120px}.destination-grid{grid-template-columns:repeat(2,1fr)}.movement-layout,.assignment-layout{grid-template-columns:1fr}.movement-summary{position:static}.form-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.process-strip{overflow-x:auto}.process-strip>div{min-width:145px}.movement-tabs{grid-template-columns:1fr}.destination-grid{grid-template-columns:1fr}.assignment-heading{align-items:flex-start;flex-direction:column}.compact-select{width:100%;align-items:flex-start;flex-direction:column}.compact-select select{width:100%}.load-lines{overflow-x:auto}.load-line{min-width:690px}.return-status-grid{grid-template-columns:1fr}.history-list article{grid-template-columns:42px 30px 1fr auto}.history-meta{display:none}.history-list article>.badge{grid-column:3}.history-list article>.icon-button{grid-column:4;grid-row:1/3}.closing-actions{grid-template-columns:1fr}}
@media(max-width:520px){.form-grid-3{grid-template-columns:1fr}.demo-toast{left:12px;right:12px;bottom:12px}.process-strip{padding:12px}.movement-tabs button{padding:11px}.heading-actions{flex-wrap:wrap}}

/* Consumption and expired lots */
.section-nav{display:flex;align-items:center;gap:2px;margin:-8px 0 22px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);overflow-x:auto;overflow-y:hidden}.section-nav a{padding:11px 15px;color:var(--muted);font-size:.66rem;font-weight:700;text-decoration:none;white-space:nowrap;border-radius:4px}.section-nav a:hover{color:var(--green-dark);background:#f3f8f5}.section-nav a.is-active{color:#fff;background:var(--green)}.movement-tabs-2{grid-template-columns:repeat(2,minmax(260px,420px));justify-content:start}
.button-danger{background:var(--red);border-color:var(--red);color:#fff}.button-danger:hover{background:#b91d16;border-color:#b91d16}.consume-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(560px,1.2fr);gap:18px}.compact-copy{margin:-4px 0 15px}.consume-form{grid-template-columns:1.4fr 1.6fr .55fr 1fr}.replenishment-check{display:flex;align-items:center;gap:10px;background:var(--green-soft);border:1px solid #bde1cb;padding:12px;margin:4px 0 16px;cursor:pointer}.replenishment-check input{accent-color:var(--green)}.replenishment-check span{display:flex;flex-direction:column}.replenishment-check strong{font-size:.65rem;color:var(--green-dark)}.replenishment-check small{font-size:.55rem;color:var(--muted);margin-top:2px}.eyebrow-red{color:var(--red)}.disposal-panel{border-top:4px solid var(--red)}.danger-counter{min-width:30px;height:30px;padding:0 9px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);font-size:.75rem;font-weight:900}.disposal-list{border-top:1px solid var(--line)}.disposal-list article{display:grid;grid-template-columns:34px minmax(0,1fr) 60px auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf2ef;transition:.2s ease}.disposal-list article.is-removing{opacity:0;transform:translateX(15px)}.disposal-alert{width:30px;height:30px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);font-weight:900}.disposal-main{display:flex;flex-direction:column;min-width:0}.disposal-main>strong{font-size:.7rem}.disposal-main>small{font-size:.55rem;color:var(--muted);margin-top:2px}.location-callout{display:flex;gap:6px;align-items:center;margin-top:7px;color:var(--ink);font-size:.59rem}.location-callout b{color:var(--red);font-size:.55rem;text-transform:uppercase}.disposal-qty{display:flex;flex-direction:column;align-items:center}.disposal-qty strong{font-size:.85rem}.disposal-qty small{font-size:.52rem;color:var(--muted)}.disposal-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px}.disposal-footer>span{max-width:470px;color:var(--muted);font-size:.56rem;line-height:1.45}.disposal-empty{padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--green-dark)}.disposal-empty>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);font-weight:900}.disposal-empty strong{font-size:.7rem;margin-top:8px}.disposal-empty small{font-size:.56rem;color:var(--muted);margin-top:3px}
@media(max-width:1100px){.consume-grid{grid-template-columns:1fr}.consume-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.movement-tabs-2{grid-template-columns:1fr}.consume-form{grid-template-columns:1fr}.disposal-list article{grid-template-columns:30px 1fr 50px}.disposal-list article .button{grid-column:2/-1;justify-self:start}.disposal-footer{align-items:flex-start;flex-direction:column}.section-nav{margin-top:-4px}.section-nav a{padding:10px 12px}}
