*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7fa;color:#14202b}aside{position:fixed;left:0;top:0;width:245px;height:100vh;height:100dvh;background:#102736;color:white;padding:24px 16px;display:flex;flex-direction:column;overflow:hidden}.brand{font-size:22px;letter-spacing:.5px;padding:4px 10px 24px}.brand b{color:#61c9ff}.brand small,.user small{display:block;font-size:11px;opacity:.65;margin-top:5px}aside>nav{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-height:0;height:auto;overflow-y:scroll;overflow-x:hidden;padding-right:8px;scrollbar-width:auto;scrollbar-color:#5f8092 #173343;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}nav a{color:#d9e8ef;text-decoration:none;padding:10px 12px;border-radius:8px;font-size:14px}nav a:hover{background:#1b3c50}.disabled{opacity:.38;cursor:default}.user{margin-top:auto;border-top:1px solid #284555;padding:16px 10px 0;font-size:13px}.user a{display:block;color:#61c9ff;margin-top:8px;text-decoration:none}main{margin-left:245px;padding:34px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{margin:0 0 4px;font-size:30px}h2{margin-top:0;font-size:18px}p{color:#667786}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.card,.panel{background:white;border:1px solid #e2e9ee;border-radius:14px;box-shadow:0 4px 18px rgba(16,39,54,.05)}.card{padding:20px}.card span{display:block;color:#70818d;font-size:13px}.card b{display:block;font-size:28px;margin-top:8px}.card small{color:#70818d}.panel{padding:22px;margin-bottom:18px}.flow{padding:18px;background:#f7fafc;border-radius:10px;line-height:2;color:#43525c}.split{display:grid;grid-template-columns:340px 1fr;gap:18px}form{display:flex;flex-direction:column;gap:8px}label{font-size:12px;font-weight:700;color:#53636e;margin-top:4px}input,select,textarea{width:100%;border:1px solid #ccd8df;border-radius:8px;padding:10px 11px;font:inherit;background:white}button{border:0;background:#1378aa;color:white;font-weight:700;padding:11px 14px;border-radius:9px;margin-top:8px;cursor:pointer}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;border-bottom:1px solid #edf1f3;padding:11px 9px}th{color:#71808a;font-size:11px;text-transform:uppercase}.badge{display:inline-block;background:#fff0d8;color:#9a5900;border-radius:999px;padding:3px 7px;font-size:10px;margin-left:5px}.neutral{background:#eef3f6;color:#53636e}.hint{font-size:12px}.loginbody{min-height:100vh;display:grid;place-items:center;background:#102736}.loginbox{width:390px;background:white;border-radius:18px;padding:34px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.loginbox h1{letter-spacing:1px}.loginbox h1 b{color:#1378aa}.loginbox small{display:block;margin-top:20px;color:#88959e}.alert{background:#ffe8e8;color:#a52727;padding:10px;border-radius:8px;margin:12px 0}.security{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){aside{position:static;width:100%;height:auto;max-height:none;overflow:visible}aside>nav{display:grid;grid-template-columns:repeat(2,1fr);height:auto;overflow:visible;flex:none;padding-right:0}main{margin-left:0;padding:18px}.cards,.security,.split{grid-template-columns:1fr}.user{display:none}}
.linkbtn{display:inline-block;text-decoration:none;background:#eaf4f9;color:#126b97;padding:7px 10px;border-radius:8px;font-weight:700}.subpanel{border:1px solid #e6edf1;border-radius:11px;padding:15px;margin:12px 0;background:#fbfdfe}.subpanel h3{margin:0 0 10px}.gridform{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.gridform textarea,.gridform button{grid-column:1/-1}.rowform{display:grid;grid-template-columns:2fr 1fr 1fr 2fr 2fr auto;gap:8px;align-items:end}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.filecard{border:1px solid #e0e8ed;border-radius:10px;padding:12px;background:#fbfdfe}.filecard a{font-weight:700;color:#1378aa;text-decoration:none}.filecard small{display:block;color:#758690;margin-top:6px}.checkrow{display:grid;grid-template-columns:1.5fr 1fr 1.5fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1f3}.contractdoc{font-size:15px;line-height:1.65}.contractdoc p{color:#263640}@media(max-width:900px){.gridform,.rowform,.gallery,.checkrow,.twocol{grid-template-columns:1fr}.gridform textarea,.gridform button{grid-column:auto}}@media print{aside,.linkbtn,header button,header form{display:none!important}main{margin:0;padding:0}.panel{box-shadow:none;border:0}.contractdoc{font-size:13pt}}
.global-search{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:700px;margin:0 0 22px auto}.global-search button{margin:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.search-inline{display:grid;grid-template-columns:minmax(260px,520px) auto;gap:8px;flex:1;max-width:650px}.search-inline button{margin:0}.primary{background:#1378aa;color:white}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions form{margin:0}.actions button{margin:0}.danger{background:#a82c2c}.secondary{background:#e8eff3;color:#304a59}.narrow{max-width:820px}.threecol{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.detailgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.detailgrid>div{background:#f7fafc;border:1px solid #e5edf1;padding:12px;border-radius:9px}.detailgrid b,.detailgrid span{display:block}.detailgrid b{font-size:11px;text-transform:uppercase;color:#6c7c86;margin-bottom:5px}.detailgrid.compact{grid-template-columns:repeat(3,1fr)}.note-box{margin-top:15px;background:#f7fafc;border-left:4px solid #1378aa;padding:13px 15px;border-radius:6px}.note-box p{white-space:pre-wrap;margin-bottom:0}.plant-card{border:1px solid #dfe8ed;border-radius:12px;padding:16px;margin:12px 0;background:#fff}.plant-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.plant-head span{font-size:12px;color:#6d7c86}.full{grid-column:1/-1}.terminals{margin-top:14px;padding-top:12px;border-top:1px solid #edf1f3}.chip{display:inline-block;padding:5px 8px;border-radius:999px;background:#edf5f8;margin:4px;font-size:12px}.rowform.simple{grid-template-columns:1fr 1fr 1fr 2fr auto;margin-top:8px}details summary{cursor:pointer;color:#1378aa;font-weight:700;padding:8px 0}dialog{border:0;border-radius:16px;padding:24px;width:min(620px,90vw);box-shadow:0 25px 80px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(10,28,39,.5)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.filelist{display:grid;gap:8px;margin-top:12px}
@media(max-width:900px){.toolbar,.plant-head{align-items:stretch;flex-direction:column}.search-inline,.global-search{grid-template-columns:1fr}.threecol,.detailgrid,.detailgrid.compact,.rowform.simple{grid-template-columns:1fr}.actions{align-items:stretch}.actions>*{width:100%}.actions .linkbtn{text-align:center}}
nav a.active{background:#1f526d;color:#fff;box-shadow:inset 3px 0 0 #61c9ff}.breadcrumb{font-size:12px;color:#71808a;margin-bottom:14px}.breadcrumb a{color:#1378aa;text-decoration:none;font-weight:700}.site-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.summary-box{background:#fff;border:1px solid #e2e9ee;border-radius:14px;overflow:hidden}.summary-box summary{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;cursor:pointer;list-style:none}.summary-box summary::-webkit-details-marker{display:none}.summary-box summary span{min-width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#edf5f8;color:#126b97}.summary-box.open{border-left:4px solid #16824f}.summary-box.closed{border-left:4px solid #73818a}.summary-list{border-top:1px solid #edf1f3;padding:8px 16px 16px}.summary-list a{display:block;text-decoration:none;color:#1b2d38;border-bottom:1px solid #edf1f3;padding:12px 4px}.summary-list a:hover{background:#f7fafc}.summary-list small{display:block;color:#6f7e87;margin-top:4px}.doc-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.doc-tile{border:1px solid #e0e8ed;border-radius:10px;padding:14px;background:#fbfdfe}.doc-tile span{display:block;font-size:11px;text-transform:uppercase;color:#71808a;font-weight:700;margin-bottom:6px}.doc-tile a{color:#1378aa;font-weight:700;text-decoration:none}.doc-tile small{color:#8a969e}.row-file{display:flex;justify-content:space-between;align-items:center;gap:12px}.row-file form{margin:0}.smallbtn{padding:6px 9px;margin:0;font-size:11px}@media(max-width:900px){.site-summary-grid,.doc-links{grid-template-columns:1fr}.row-file{align-items:stretch;flex-direction:column}}
.customer-main-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.customer-action-card{display:flex;min-height:145px;flex-direction:column;justify-content:center;align-items:center;text-align:center;text-decoration:none;background:var(--panel,#fff);border:1px solid var(--border,#dfe5ea);border-radius:16px;padding:22px;box-shadow:0 4px 18px rgba(0,0,0,.04);transition:.15s ease}.customer-action-card:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(0,0,0,.08)}.customer-action-title{font-size:1.05rem;font-weight:700;color:var(--text,#1d2730)}.customer-action-card>strong{font-size:2rem;margin:8px 0;color:var(--primary,#146c94)}.plant-types{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.plant-types em{font-style:normal;font-size:.78rem;padding:4px 8px;border-radius:99px;background:#eef3f6;color:#42515c}.modal{border:0;border-radius:16px;padding:24px;max-width:680px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal::backdrop{background:rgba(20,30,40,.45)}@media(max-width:800px){.customer-main-actions{grid-template-columns:1fr}.customer-action-card{min-height:110px}}
.card-link{text-decoration:none;color:inherit;transition:.15s ease}.card-link:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(16,39,54,.09)}.card-link.approved{border-left:4px solid #16824f}.quote-actions{margin-top:16px}.quote-actions form{margin:0}.table-note{display:block;color:#71808a;margin-top:4px}
.checklist{display:flex;flex-direction:column;gap:7px;margin:8px 0 14px}.checkrow{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:var(--panel)}.checkrow input{width:auto;margin-top:3px}.checkrow span{font-weight:400}details.filecard summary{cursor:pointer;margin-bottom:8px}iframe{background:white}
.agenda-nav{display:flex;gap:8px;margin-bottom:16px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;align-items:start;overflow-x:auto}.day-col{background:#fff;border:1px solid #e2e9ee;border-radius:12px;min-height:430px;padding:8px}.day-head{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid #edf1f3;margin-bottom:8px}.event-card{border-left:4px solid #1378aa;background:#f7fafc;border-radius:8px;padding:9px;margin:8px 0;font-size:12px}.event-card b,.event-card span,.event-card small{display:block;margin-bottom:4px}.event-card.maintenance{border-left-color:#d18a13;background:#fff9ed}@media(max-width:1100px){.week-grid{grid-template-columns:repeat(7,190px)}}

aside>nav::-webkit-scrollbar{width:10px}aside>nav::-webkit-scrollbar-track{background:#173343;border-radius:8px}aside>nav::-webkit-scrollbar-thumb{background:#5f8092;border-radius:8px;border:2px solid #173343}aside>nav::-webkit-scrollbar-thumb:hover{background:#7aa0b4}.brand{flex:0 0 auto}.user{flex:0 0 auto} .warehouse-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef5f8;font-size:11px;color:#456}.stock-low{color:#a82c2c;font-weight:700}.site-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.site-tabs a{text-decoration:none;background:#eaf4f9;color:#126b97;padding:9px 12px;border-radius:8px;font-weight:700}.note-card{border:1px solid #dfe8ed;border-radius:10px;padding:14px;margin:10px 0;background:#fff}.note-card.pinned{border-left:5px solid #1378aa}.scan-reader{background:#0d1720;border-radius:14px;overflow:hidden;min-height:220px;display:grid;place-items:center;color:white}.scan-reader video{width:100%;max-height:420px;object-fit:cover}.scan-cart td input{max-width:90px}.big-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.big-actions button,.big-actions a{min-height:48px}
/* Listino materiali: vista compatta */
.material-list-panel{padding:12px 14px 14px}.material-list-meta{display:flex;align-items:center;gap:10px;margin:0 0 8px;color:#71808a;font-size:11px}.material-list-meta b{color:#314550;font-size:12px}.table-scroll{width:100%;overflow-x:auto}.compact-table{font-size:12px}.compact-table th,.compact-table td{padding:5px 6px;line-height:1.15;vertical-align:middle}.compact-table th{font-size:10px;position:sticky;top:0;background:#fff;z-index:1}.compact-table tbody tr:hover{background:#f8fbfc}.compact-table td small{display:block;margin-top:2px;color:#7a8992;font-size:9px}.material-name{min-width:170px;max-width:310px}.material-code{font-family:Consolas,monospace;font-size:11px}.material-sale{font-size:12px}.nowrap{white-space:nowrap}.material-actions{display:flex;align-items:center;gap:4px}.material-actions form{display:inline-flex;margin:0}.compact-action{padding:4px 6px!important;margin:0!important;border-radius:6px!important;font-size:10px!important;line-height:1.1}.price-list-panel table{margin:0}
@media(max-width:900px){.material-list-meta span{display:none}.material-list-panel{padding:10px}.compact-table th,.compact-table td{padding:5px}.material-name{min-width:150px}.material-actions{min-width:180px}}

/* 0.5.10 - selettore azienda */
.company-switch{margin:0 0 10px 0}.company-switch label{display:block;font-size:11px;opacity:.72;margin-bottom:4px}.company-switch select{width:100%;padding:7px 8px;border-radius:7px;border:1px solid rgba(255,255,255,.2);background:#fff;color:#1f2937;font-size:12px;font-weight:700}.loginbox select{width:100%;box-sizing:border-box;margin-bottom:12px;padding:10px;border:1px solid #d1d5db;border-radius:7px;background:white}
/* 0.5.12 - sito web e pubblicità/social */
.section-head{margin-top:24px}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #edf1f3;padding-bottom:10px}.section-title-row small{display:block;color:#7b8992;margin-top:3px}.inline-check{display:flex!important;align-items:center;gap:8px;font-weight:700}.inline-check input{width:auto!important;margin:0}.inline-form{display:flex;gap:6px;align-items:center;margin:0}.inline-form select{min-width:130px}.status-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef5f8;font-size:11px;font-weight:700;color:#405866}.website-section textarea{min-height:92px}@media(max-width:800px){.section-title-row,.inline-form{align-items:stretch;flex-direction:column}}

/* 0.5.13 - assistente IDRO SYSTEM */
.help-main{background:#0f6f9f;color:#fff!important;font-weight:800}.assistant-hero{border-left:5px solid #1378aa}.assistant-search{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.assistant-search input{font-size:16px;min-height:46px}.assistant-hints{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.assistant-hints span{background:#eef5f8;border-radius:999px;padding:5px 9px;font-size:11px;color:#42606f}.assistant-results{display:grid;gap:8px;margin-top:14px}.assistant-result{display:grid;grid-template-columns:100px 1fr;gap:4px 12px;text-decoration:none;color:inherit;border:1px solid #e2e9ee;border-radius:10px;padding:12px;background:#fff}.assistant-result:hover{background:#f7fbfd}.assistant-result>b{grid-row:1/3;color:#1378aa;font-size:11px;text-transform:uppercase}.assistant-result>strong{font-size:14px}.assistant-result>small{color:#71808a}.empty-help{padding:16px;background:#f8fafb;border-radius:10px}.help-fab{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:8px;text-decoration:none;background:#1378aa;color:#fff;border-radius:999px;padding:12px 15px;font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.22)}.help-fab>span{font-size:12px}@media(max-width:800px){.assistant-search{grid-template-columns:1fr}.assistant-result{grid-template-columns:1fr}.assistant-result>b{grid-row:auto}.help-fab{right:14px;bottom:14px;width:54px;height:54px;padding:0;justify-content:center;font-size:22px}.help-fab>span{display:none}header .actions{width:100%}.help-main{text-align:center}}

/* 0.5.14 - PWA e interfaccia smartphone */
.mobile-topbar,.mobile-bottom-nav,.nav-backdrop{display:none}.install-pwa{width:100%;margin:0 0 10px;font-size:12px}.offline-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:#102736}.offline-card{width:min(440px,100%);background:white;border-radius:18px;padding:30px;text-align:center;box-shadow:0 20px 70px rgba(0,0,0,.25)}.offline-card img{width:82px;height:82px;border-radius:18px}.offline-card p{line-height:1.5}.mobile-admin-panel{display:none}.admin-mobile-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.admin-mobile-actions a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:90px;border:1px solid #e0e8ed;border-radius:12px;background:#f8fbfc;text-decoration:none;color:#263640;font-size:12px;font-weight:700;text-align:center}.admin-mobile-actions a b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#1378aa;color:#fff;font-size:17px}
@media(max-width:900px){
 body{padding-top:62px;padding-bottom:74px;background:#f4f7fa}.mobile-topbar{display:flex;position:fixed;z-index:75;top:0;left:0;right:0;height:62px;background:#102736;color:#fff;align-items:center;justify-content:space-between;padding:8px 12px calc(8px + env(safe-area-inset-top))}.mobile-topbar>div{min-width:0;text-align:center}.mobile-topbar b{display:block;font-size:14px}.mobile-topbar small{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;opacity:.7}.menu-toggle,.mobile-help{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:11px;background:#1c4258;color:white;text-decoration:none;font-weight:800;font-size:19px;margin:0;padding:0}
 aside{position:fixed;z-index:90;left:0;top:0;bottom:0;width:min(320px,88vw);height:100dvh;max-height:none;transform:translateX(-105%);transition:transform .2s ease;padding:18px 14px;box-shadow:8px 0 30px rgba(0,0,0,.25)}aside.open{transform:translateX(0)}aside>nav{display:flex;flex-direction:column;overflow-y:auto;flex:1}.user{display:block}.brand{font-size:17px;padding:2px 8px 14px}.nav-backdrop.show{display:block;position:fixed;z-index:85;inset:0;background:rgba(5,20,30,.48)}
 main{margin:0;padding:14px 12px 24px;max-width:none}.breadcrumb{margin-bottom:10px}header{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:16px}h1{font-size:24px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card{padding:14px;min-height:92px}.card span{font-size:11px}.card b{font-size:23px}.panel{padding:15px;border-radius:12px}.split{grid-template-columns:1fr}.mobile-admin-panel{display:block}.admin-mobile-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.admin-mobile-actions a{min-height:76px;padding:7px 3px;font-size:10px}.admin-mobile-actions a b{width:31px;height:31px}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:70;left:0;right:0;bottom:0;padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dfe7ec;box-shadow:0 -4px 18px rgba(0,0,0,.08)}.mobile-bottom-nav a,.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:3px 2px;margin:0;border:0;border-radius:8px;background:transparent;color:#60717d;text-decoration:none;font-size:9px;font-weight:700}.mobile-bottom-nav a span,.mobile-bottom-nav button span{font-size:19px;line-height:1}.mobile-bottom-nav a.active{color:#1378aa;background:#edf6fa;box-shadow:none}.help-fab{right:14px;bottom:84px}.global-search{margin:0 0 14px}.table-scroll,table{max-width:100%}dialog{max-height:88dvh;overflow:auto}.loginbody{padding:14px}.loginbox{width:min(390px,100%);padding:24px}
}
@media(max-width:420px){.cards{grid-template-columns:1fr 1fr}.admin-mobile-actions{grid-template-columns:repeat(4,1fr)}.mobile-topbar small{max-width:175px}.card{min-height:86px}.actions>*{width:100%}}
.password-wrap{display:flex;gap:6px;align-items:center}.password-wrap input{flex:1;min-width:150px}.password-wrap button{white-space:nowrap}
.codebox{padding:14px;border:1px solid #ccd6df;border-radius:10px;background:#f7f9fb;margin:12px 0;font-size:1.1rem;letter-spacing:.12em;word-break:break-all}.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.recovery-grid code{padding:12px;border:1px solid #ccd6df;border-radius:8px;text-align:center;font-size:1.1rem;letter-spacing:.1em}.okbox{padding:14px;border:1px solid #aacdb0;border-radius:10px;background:#f5fbf6;margin:12px 0}@media(max-width:640px){.recovery-grid{grid-template-columns:1fr}}
