:root{
  --bg:#f4f7f4;--surface:#ffffff;--surface2:#f8fbf8;--ink:#102018;--muted:#66756b;--line:#dce6de;
  --green:#16a34a;--green2:#22c55e;--orange:#f97316;--orange2:#fb923c;--red:#dc2626;--blue:#0284c7;--cyan:#06b6d4;
  --shadow:0 18px 50px rgba(16,32,24,.10);--radius:24px;--side:#0e2a1b;--side2:#123622;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,a,input,select,textarea{font:inherit}

/* v3.0.144 - Splash con testi caricamento e build più scuri */
.startup-splash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at top left,rgba(22,163,74,.18),transparent 32%),radial-gradient(circle at right 18%,rgba(21,128,61,.10),transparent 24%),linear-gradient(180deg,#eef6f0 0%,#e7f0ea 48%,#d5e5da 100%);overflow:hidden;transition:opacity .34s ease,visibility .34s ease;}
.startup-splash::before{content:"";position:absolute;inset:auto -12% -16% -12%;height:42%;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(9,61,42,.32));clip-path:ellipse(82% 100% at 50% 100%);}
.startup-splash::after{content:"";position:absolute;right:-12%;top:11%;width:42vw;max-width:260px;aspect-ratio:1;opacity:.22;background-image:radial-gradient(circle,rgba(16,32,24,.28) 0 1.4px,transparent 1.5px);background-size:14px 14px;}
.startup-splash.hide{opacity:0;visibility:hidden;pointer-events:none;}
.startup-splash-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(100%,420px);}
.startup-splash-logo{width:clamp(138px,34vw,210px);height:clamp(138px,34vw,210px);border-radius:34px;padding:22px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,252,250,.94));box-shadow:0 28px 70px rgba(16,32,24,.16), inset 0 0 0 1px rgba(16,32,24,.07);}
.startup-splash-logo img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 14px 26px rgba(16,32,24,.12));}
.startup-splash h1{margin:28px 0 8px;font-size:clamp(2.2rem,7vw,3.5rem);line-height:1.02;letter-spacing:-.06em;color:#133b2a;font-family:Georgia,"Times New Roman",serif;font-weight:700;text-wrap:balance;}
.startup-splash-subtitle{margin:0;display:flex;align-items:center;gap:14px;color:#5f7c6f;font-size:clamp(1rem,3.2vw,1.35rem);font-weight:500;}
.startup-splash-subtitle::before,.startup-splash-subtitle::after{content:"";display:block;width:clamp(34px,10vw,72px);height:1.5px;background:rgba(95,124,111,.38);border-radius:999px;}
.startup-splash-dots{display:flex;gap:10px;align-items:center;justify-content:center;margin:72px 0 14px;}
.startup-splash-dots span{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.48);box-shadow:0 0 0 1px rgba(255,255,255,.16);animation:startupPulse 1.1s infinite ease-in-out;}
.startup-splash-dots span:nth-child(2){animation-delay:.15s;background:rgba(255,255,255,.82);}
.startup-splash-dots span:nth-child(3){animation-delay:.3s;}
.startup-splash-loading{margin:0;color:#1f3f34;font-size:clamp(1rem,3.1vw,1.3rem);font-weight:700;}
.startup-splash-build{margin-top:14px;color:#365649;font-weight:800;letter-spacing:.02em;}
@keyframes startupPulse{0%,80%,100%{transform:scale(.86);opacity:.42}40%{transform:scale(1);opacity:1}}
@media(max-width:700px){.startup-splash{padding:24px 20px 36px}.startup-splash::before{height:34%}.startup-splash-dots{margin-top:58px}.startup-splash-build{font-size:.92rem}}

button,a{cursor:pointer}button{border:0}a{text-decoration:none;color:inherit}.app-bg{position:fixed;inset:0;background:radial-gradient(circle at top left,rgba(34,197,94,.18),transparent 34%),radial-gradient(circle at bottom right,rgba(249,115,22,.12),transparent 32%),linear-gradient(135deg,#f6faf6,#eef5ee 55%,#fff7ed);z-index:-1}.app-shell{display:grid;grid-template-columns:286px 1fr;gap:18px;min-height:100vh;padding:18px}.sidebar{position:sticky;top:18px;height:calc(100vh - 36px);display:flex;flex-direction:column;border-radius:32px;background:linear-gradient(180deg,var(--side),#08180f);color:#effdf3;box-shadow:var(--shadow);overflow:hidden}.brand{display:flex;align-items:center;gap:12px;padding:22px;border-bottom:1px solid rgba(255,255,255,.10)}.brand-cube{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green2),var(--green));font-weight:1000;font-size:1.4rem;color:white;box-shadow:0 10px 24px rgba(34,197,94,.32)}.brand strong{display:block;letter-spacing:.02em}.brand span{color:#86efac}.brand small{display:block;color:#bdebd0;font-weight:800;margin-top:3px}.nav-tabs{display:grid;gap:8px;padding:16px}.nav-tab{width:100%;display:flex;align-items:center;gap:12px;padding:14px 15px;border-radius:18px;background:transparent;color:#d8f5e1;text-align:left;font-weight:950}.nav-tab span{width:32px;height:32px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08)}.nav-tab.active{background:linear-gradient(90deg,var(--green),var(--green2));color:white;box-shadow:0 14px 30px rgba(22,163,74,.28)}.nav-tab.active span{background:rgba(255,255,255,.20)}.side-panel{margin:8px 16px;padding:16px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.side-panel b,.side-panel small{display:block}.side-panel small{margin-top:7px;color:#c8f2d5;font-weight:750}.side-panel i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#22c55e}.side-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:18px 18px 8px}.avatar{width:44px;height:44px;border-radius:16px;background:#fff;color:var(--green);display:grid;place-items:center;font-weight:1000}.side-user b,.side-user small{display:block}.side-user small{color:#bbe4c8}.side-foot{padding:8px 18px 20px;color:#9fd7b4;font-weight:900;font-size:.82rem}.content{min-width:0}.app-topbar{position:sticky;top:18px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:14px 16px;border:1px solid rgba(255,255,255,.75);border-radius:28px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.top-title{display:flex;align-items:center;gap:12px}.top-title h1{margin:0;font-size:1.55rem;letter-spacing:-.04em}.hamb,.icon-btn{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--line);color:var(--ink);font-weight:1000}.top-actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 16px;border-radius:16px;background:linear-gradient(90deg,var(--green),var(--green2));color:white;font-weight:1000;box-shadow:0 12px 28px rgba(22,163,74,.22)}.btn.orange{background:linear-gradient(90deg,var(--orange),var(--orange2));box-shadow:0 12px 28px rgba(249,115,22,.22)}.btn.red{background:linear-gradient(90deg,#ef4444,var(--red))}.btn.blue{background:linear-gradient(90deg,var(--cyan),var(--blue))}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.full{width:100%}.screen{display:none}.screen.active{display:block}.eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--muted);font-weight:1000}.panel,.card{border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.88);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:18px}.card{padding:16px}.muted,.stat-label,.footer-note,.hint{color:var(--muted);font-weight:780}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:stretch}.hero-card{padding:24px;border-radius:32px;background:linear-gradient(135deg,#ffffff,#f0fff4);border:1px solid #d8f3df;box-shadow:var(--shadow)}.hero-card h2{margin:0;font-size:2.2rem;letter-spacing:-.07em;line-height:1.02}.hero-card p{margin:10px 0 0;color:var(--muted);font-weight:800}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick{display:grid;place-items:center;text-align:center;min-height:136px;border-radius:26px;border:1px solid var(--line);background:#fff;padding:14px;box-shadow:0 12px 32px rgba(16,32,24,.06)}.quick:hover{transform:translateY(-1px)}.quick i{font-style:normal;width:52px;height:52px;border-radius:18px;display:grid;place-items:center;margin-bottom:10px;background:#e9fbea;color:var(--green);font-size:1.8rem;font-weight:1000}.quick.orange i{background:#fff3e8;color:var(--orange)}.quick.blue i{background:#e8f7ff;color:var(--blue)}.quick b{display:block}.quick small{display:block;color:var(--muted);font-weight:800;margin-top:4px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.kpi{padding:18px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(16,32,24,.07)}.kpi-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.kpi-icon{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;font-size:1.35rem;background:#e9fbea;color:var(--green)}.kpi.orange .kpi-icon{background:#fff3e8;color:var(--orange)}.kpi.blue .kpi-icon{background:#e8f7ff;color:var(--blue)}.kpi.red .kpi-icon{background:#fee2e2;color:var(--red)}.kpi strong{display:block;margin-top:12px;font-size:2rem;letter-spacing:-.07em}.kpi small{display:block;color:var(--muted);font-weight:900}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head h3{margin:0;font-size:1.12rem}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:580px}.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:.9rem;vertical-align:middle}.table th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.qty-badge{display:inline-flex;min-width:42px;justify-content:center;border-radius:999px;padding:5px 10px;background:#fff4e8;color:var(--orange);font-weight:1000}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;border:1px solid var(--line);background:#fff;font-size:.74rem;font-weight:1000;white-space:nowrap}.pill.ok{color:var(--green);background:#ecfdf3;border-color:#b7f0c8}.pill.warn{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.pill.danger{color:var(--red);background:#fef2f2;border-color:#fecaca}.pill.info{color:var(--blue);background:#eff6ff;border-color:#bae6fd}.movement-list{display:grid;gap:10px}.movement-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff}.movement-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#e9fbea;color:var(--green);font-weight:1000}.movement-icon.out{background:#fff3e8;color:var(--orange)}.movement-row b,.movement-row small{display:block}.movement-row small{color:var(--muted);font-weight:800}.lower-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.sections{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.section-mini{border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px}.section-mini b{font-size:.85rem}.bar{height:9px;margin-top:10px;border-radius:999px;background:#edf2ef;overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--green2))}.bar.orange span{background:linear-gradient(90deg,var(--orange),var(--orange2))}.activity{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}.activity strong{display:block;font-size:2rem;letter-spacing:-.07em}.activity div{border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px}.toolbar{display:grid;gap:12px;margin-bottom:14px}.searchbox{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:22px;background:#fff;padding:0 14px;box-shadow:0 12px 32px rgba(16,32,24,.06)}.searchbox input{width:100%;height:56px;background:transparent;border:0;outline:0;color:var(--ink);font-weight:800}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.filters select,.filters input,.filters textarea,input,textarea,select{border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);padding:12px;outline:0}.item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.item-card{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:24px;background:#fff;padding:16px;box-shadow:0 14px 34px rgba(16,32,24,.07)}.item-card:hover{border-color:#a7e9bb;box-shadow:0 18px 42px rgba(22,163,74,.12)}.item-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.item-title{font-weight:1000;font-size:1rem;line-height:1.22}.item-meta{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.code-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mini{border:1px solid var(--line);background:#f9fbfa;border-radius:16px;padding:10px}.mini small{display:block;color:var(--muted);font-weight:900;font-size:.72rem}.mini strong{display:block;margin-top:4px;font-size:.87rem;overflow:hidden;text-overflow:ellipsis}.progress,.update-progress{height:10px;border-radius:999px;background:#e9efeb;overflow:hidden}.progress span,.update-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--green2));transition:width .35s}.sync-banner{margin-bottom:14px;border-left:5px solid var(--orange)}.sheet{width:min(760px,calc(100% - 22px));border:1px solid var(--line);border-radius:28px;background:#fff;color:var(--ink);box-shadow:0 30px 120px rgba(0,0,0,.28)}.sheet::backdrop{background:rgba(16,32,24,.38);backdrop-filter:blur(3px)}.sheet-header{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.sheet-body{padding:18px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.empty-state{grid-column:1/-1;text-align:center;border:1px dashed var(--line);border-radius:22px;padding:40px;color:var(--muted)}.feature-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px}.feature{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:20px;background:#fff;padding:14px;box-shadow:0 12px 30px rgba(16,32,24,.05)}.feature i{font-style:normal;font-size:1.7rem;color:var(--green)}.feature.orange i{color:var(--orange)}.feature b,.feature small{display:block}.feature small{color:var(--muted);font-weight:800}.update-card{background:#fff}.update-progress-box{margin-top:12px;border:1px solid var(--line);border-radius:18px;padding:12px;background:#f8fbf8}.update-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.update-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.scan-status-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.scanner-control{min-height:40px;padding:0 12px}.scanner-control.active{border-color:#22c55e;background:#ecfdf3;color:#16a34a}.scanner-frame{position:relative;cursor:pointer;min-height:280px;border:1px solid var(--line);border-radius:24px;background:#0b130e;overflow:hidden;display:grid;place-items:center}.scanner-frame video{width:100%;height:100%;min-height:280px;object-fit:cover;background:#020703}.scanner-reticle{position:absolute;width:min(82%,460px);height:150px;border:3px solid var(--green2);border-radius:20px;box-shadow:0 0 0 999px rgba(0,0,0,.32),0 0 24px rgba(34,197,94,.35);pointer-events:none}.scanner-reticle:after{content:"";position:absolute;left:12px;right:12px;top:50%;height:3px;background:linear-gradient(90deg,transparent,var(--orange),transparent)}.manual-scan{margin-top:14px;border:1px solid var(--line);border-radius:20px;background:#f9fbfa;padding:14px}.manual-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:10px}.client-box{border:1px solid #fed7aa;background:#fff7ed;border-radius:18px;padding:12px}.scan-mini{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#e9fbea;color:var(--green);font-weight:1000}.right{text-align:right}.hide-mobile{display:block}
@media(max-width:1180px){.app-shell{grid-template-columns:1fr;padding:12px 12px 94px}.sidebar{position:static;height:auto;border-radius:24px}.brand,.side-panel,.side-user,.side-foot{display:none}.nav-tabs{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);padding:8px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.nav-tab{justify-content:center;flex-direction:column;font-size:.7rem;padding:9px 3px;gap:4px;color:var(--muted)}.nav-tab.active{color:white}.app-topbar{top:8px}.hero{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.item-list{grid-template-columns:1fr}.feature-strip{grid-template-columns:1fr 1fr}.content{min-width:0}}
@media(max-width:700px){.app-shell{padding:8px 8px 92px}.app-topbar{border-radius:22px;top:8px}.top-title h1{font-size:1.25rem}.top-actions .icon-btn{display:none}.scan-main{min-height:42px;padding:0 12px}.hero-card h2{font-size:1.65rem}.quick-actions{grid-template-columns:repeat(2,1fr)}.quick{min-height:112px}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{padding:12px}.kpi strong{font-size:1.45rem}.lower-grid{grid-template-columns:1fr}.sections{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.code-row{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr 1fr}.feature-strip{grid-template-columns:1fr}.panel{padding:14px}.table th:nth-child(3),.table td:nth-child(3){display:none}.hide-mobile{display:none}.manual-row,.update-actions{grid-template-columns:1fr}.scanner-frame{min-height:260px}.scanner-frame video{min-height:260px}.scan-status-row .btn{flex:1 1 120px}}
.linklike{background:transparent;border:0;padding:0;text-align:left;color:inherit}.linklike b{font-weight:1000}.no-click{cursor:default}
/* Concept 5 - Banco Operativo refinements */
:root{--bg:#f6f8f5;--ink:#111827;--green:#16833a;--green2:#22a447;--orange:#f26b16;--side:#101820;--side2:#15242c;--radius:22px;}
.app-bg{background:radial-gradient(circle at 8% 5%,rgba(34,164,71,.16),transparent 30%),radial-gradient(circle at 90% 18%,rgba(242,107,22,.10),transparent 24%),linear-gradient(135deg,#ffffff,#f3f7f2 62%,#fff7ed)}
.sidebar{background:linear-gradient(180deg,#0d171c,#121f27 62%,#0b1116);border:1px solid rgba(255,255,255,.08)}
.brand-cube{background:linear-gradient(135deg,#25a54a,#157a35)}
.nav-tab.active{background:linear-gradient(90deg,#143e23,#1f6b35);box-shadow:inset 4px 0 0 #22c55e,0 14px 30px rgba(0,0,0,.18)}
.app-topbar{background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.9)}
.hero{grid-template-columns:1fr;}
.hero-card{background:linear-gradient(135deg,#fff,#f6fff8);border-color:#d7f2dd;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero-card:after{content:'NAS connesso · Sync attiva · Scanner pronto';display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:#edfdf2;color:#11632d;font-weight:1000;white-space:nowrap;border:1px solid #c6f3d3}
.hero-card h2{font-size:2rem;max-width:820px}.hero-card p{max-width:720px}.quick-actions{grid-template-columns:repeat(4,1fr);margin-top:16px}.quick{min-height:188px;border-radius:28px;background:linear-gradient(180deg,#fff,#fbfcfb);border-color:#e3e9e2}.quick i{width:74px;height:74px;border-radius:50%;font-size:2.2rem}.quick b{font-size:1.3rem}.quick small{font-size:.9rem}.quick.orange i{background:linear-gradient(135deg,#ffedd5,#fed7aa)}.quick.blue i{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#16833a}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:linear-gradient(180deg,#fff,#fbfcfb)}.dashboard-grid{grid-template-columns:1fr 1fr}.panel,.card{background:rgba(255,255,255,.96);border-color:#e5ebe4}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.page-head h2{font-size:2rem;margin:0;letter-spacing:-.05em}.head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn.small{min-height:34px;padding:0 10px;border-radius:12px;font-size:.82rem}.desktop-table{display:block}.mobile-cards{display:none}.article-table{min-width:860px}.article-table td,.article-table th{font-size:.88rem}.scan-main{background:linear-gradient(90deg,#f26b16,#ff8a2c);box-shadow:0 12px 28px rgba(242,107,22,.24)}.feature-strip{background:#fff;border:1px solid #e5ebe4;border-radius:24px;padding:10px;box-shadow:var(--shadow)}
@media(max-width:1180px){.hero-card{display:block}.hero-card:after{margin-top:14px}.quick-actions{grid-template-columns:repeat(4,1fr)}.desktop-table{display:none}.mobile-cards{display:grid}}
@media(max-width:700px){.hero-card h2{font-size:1.48rem}.hero-card:after{font-size:.75rem;white-space:normal}.quick-actions{grid-template-columns:1fr 1fr}.quick{min-height:132px}.quick i{width:54px;height:54px}.quick b{font-size:1.05rem}.page-head{display:block}.head-actions{margin-top:12px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}

/* v1.7.1 - Mobile compatto + sezione stampa */
.mobile-launch{display:none}
.print-home{display:grid;gap:14px}.print-hero{border-radius:32px;background:linear-gradient(135deg,#111827,#1f2937);color:white;padding:24px;box-shadow:var(--shadow)}.print-hero .eyebrow{color:#a7f3d0}.print-hero h2{font-size:2.1rem;margin:0;letter-spacing:-.06em}.print-hero p{color:#d1fae5;font-weight:850;max-width:740px}.print-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.print-card{display:block;text-align:left;min-height:128px;border:1px solid var(--line);border-radius:26px;background:#fff;padding:18px;box-shadow:0 14px 34px rgba(16,32,24,.07)}.print-card b{display:block;font-size:1.15rem}.print-card small{display:block;color:var(--muted);font-weight:850;margin-top:8px}.print-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.btn.mini{min-height:36px;padding:8px 12px;border-radius:14px;font-size:.82rem}.print-card.orange{border-color:#fed7aa;background:#fff7ed}.print-card.blue{border-color:#bae6fd;background:#f0f9ff}.print-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.print-dates span{display:block;border:1px solid #dce9dd;background:#f8fbf8;border-radius:12px;padding:7px 8px;color:var(--muted);font-size:.74rem;font-weight:900;line-height:1.15}.print-dates b{display:block;color:var(--ink);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}@media(max-width:520px){.print-dates{grid-template-columns:1fr}.print-dates span{font-size:.72rem}}
.print-note{padding:18px}.print-note h3{margin:0 0 8px}.print-note p{margin:0;color:var(--muted);font-weight:800}
@media(max-width:1180px){.nav-tabs{grid-template-columns:repeat(5,1fr)}.print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .app-shell{padding:6px 6px 76px}.app-topbar{margin-bottom:8px;padding:8px 10px;border-radius:18px}.hamb{display:none}.top-title .eyebrow{display:none}.top-title h1{font-size:1.05rem}.top-actions{gap:6px}.scan-main{min-height:38px;border-radius:13px;padding:0 10px;font-size:.82rem}.nav-tabs{left:6px;right:6px;bottom:6px;border-radius:18px;padding:5px}.nav-tab{font-size:.62rem;min-height:56px;padding:5px 2px}.nav-tab span{width:24px;height:24px;border-radius:9px}.mobile-launch{display:grid;gap:8px;margin-bottom:10px}.mobile-search{display:flex;align-items:center;gap:8px;height:46px;border-radius:16px;background:#fff;border:1px solid var(--line);padding:0 12px;box-shadow:0 10px 22px rgba(16,32,24,.06)}.mobile-search span{font-weight:1000;color:var(--green)}.mobile-search input{height:42px;border:0;padding:0;width:100%;font-weight:850}.mobile-scan{min-height:54px;border-radius:18px;background:linear-gradient(90deg,var(--orange),var(--orange2));color:white;font-weight:1000;box-shadow:0 12px 26px rgba(242,107,22,.20)}.mobile-primary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.mobile-primary button{display:grid;gap:3px;place-items:center;min-height:58px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:1.05rem;font-weight:1000}.mobile-primary button b{font-size:.66rem}.hero{display:none}.kpi-grid{margin:8px 0;gap:8px}.kpi{border-radius:18px;padding:10px}.kpi .eyebrow{font-size:.56rem}.kpi-icon{display:none}.kpi strong{font-size:1.15rem;margin-top:2px}.kpi small{font-size:.68rem}.dashboard-grid{gap:8px}.panel{border-radius:18px;padding:10px}.panel-head{margin-bottom:8px}.panel-head h3{font-size:.98rem}.movement-row{padding:8px;border-radius:14px}.movement-icon{width:34px;height:34px;border-radius:12px}.movement-row small{font-size:.68rem}.lower-grid,.feature-strip,.update-card{display:none}.table{min-width:0}.table th,.table td{font-size:.76rem;padding:8px 6px}.table th:nth-child(4),.table td:nth-child(4),.table th:nth-child(5),.table td:nth-child(5){display:none}.page-head h2{font-size:1.35rem}.print-hero{border-radius:22px;padding:16px}.print-hero h2{font-size:1.45rem}.print-grid{grid-template-columns:1fr}.print-card{min-height:94px;border-radius:20px;padding:14px}.sheet{width:calc(100% - 12px);border-radius:20px}.sheet-header,.sheet-body{padding:12px}.detail-grid{grid-template-columns:1fr 1fr}.item-card{border-radius:18px;padding:12px}.item-title{font-size:.92rem}.item-meta{gap:5px}.pill{font-size:.68rem;padding:5px 8px}.scanner-frame{min-height:245px}.scanner-frame video{min-height:245px}.scan-status-row .btn{flex:1 1 120px;min-height:42px;padding:0 10px}.scanner-reticle{height:126px}
}
@media print{.app-shell,.app-bg{display:none!important}}

/* v1.8.2 - Fix visibilità pulsante Stampa */
.updates-home{display:grid;gap:14px}.updates-hero{border-radius:32px;background:linear-gradient(135deg,#ffffff,#effdf3);border:1px solid #d7f2dd;padding:24px;box-shadow:var(--shadow)}.updates-hero h2{font-size:2rem;margin:0;letter-spacing:-.06em}.updates-hero p{color:var(--muted);font-weight:850;max-width:760px}.updates-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.update-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:1180px){.nav-tabs{grid-template-columns:repeat(6,1fr)}.updates-grid{grid-template-columns:1fr}}
@media(max-width:700px){.nav-tabs{grid-template-columns:repeat(6,1fr)}.nav-tab{font-size:.56rem;min-height:54px}.updates-hero{border-radius:22px;padding:16px}.updates-hero h2{font-size:1.35rem}.updates-grid{grid-template-columns:1fr}.update-actions{grid-template-columns:1fr}.updates-home .update-card{display:block!important}}
/* v1.7.5 - Date stampe per magazzino + versioni allineate */
.print-meta-panel{margin-top:14px}.meta-table{display:grid;gap:12px;margin-top:14px}.meta-row{border:1px solid var(--line);border-radius:20px;background:#fff;padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.meta-save-row{white-space:nowrap;min-width:132px}.meta-row legend{font-weight:1000;color:var(--ink);padding:0 8px}.meta-field{display:grid;gap:6px}.meta-field span{font-size:.78rem;font-weight:900;color:var(--muted)}.meta-field input{height:42px;padding:0 10px;border-radius:14px}@media (max-width:900px){.meta-row{grid-template-columns:1fr}.meta-row legend{margin-bottom:4px}}

.brand em{display:block;font-style:normal;font-size:10px;letter-spacing:.14em;color:#16a34a;margin-top:1px}.side-foot small{display:block;margin-top:4px;color:#94a3b8;font-weight:800}.print-toolbar span{min-width:48px;text-align:center}


/* Clienti v1.7.7 */
.client-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.client-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.client-form-grid input,.client-form-grid textarea,#clientImportText{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 14px;font:inherit;color:var(--ink);outline:none;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.client-form-grid input:focus,.client-form-grid textarea:focus,#clientImportText:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12)}
.client-form-grid .wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;flex-wrap:wrap}
.client-list{display:grid;gap:10px;max-height:620px;overflow:auto;padding-right:4px}
.client-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px 14px;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.client-row:hover{border-color:rgba(22,163,74,.45);transform:translateY(-1px)}
.client-row b{display:block;color:var(--ink);font-size:.98rem}.client-row small{display:block;color:var(--muted);font-weight:750;margin-top:3px}.client-row span{color:var(--green);font-weight:900;white-space:nowrap}
.searchbox.small{max-width:320px;min-width:220px}
@media(max-width:760px){.client-form-grid{grid-template-columns:1fr}.client-editor .panel-head{align-items:flex-start}.searchbox.small{max-width:none;width:100%}.client-row{align-items:flex-start}.client-row span{font-size:.85rem}.dashboard-grid{grid-template-columns:1fr!important}}


/* v1.7.8 scarico cumulativo */
.bulk-layout{display:grid;grid-template-columns:360px 1fr;gap:12px;align-items:start}.stack-label{display:block;font-weight:900;color:var(--ink);margin:0 0 12px}.stack-label input,.stack-label select,.stack-label textarea{margin-top:7px;width:100%;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;font:inherit}.bulk-summary{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:12px 0;padding:14px;border-radius:18px;background:#f8fafc}.bulk-summary b{font-size:28px}.bulk-summary small{font-weight:900;color:var(--muted)}.bulk-results{display:grid;gap:8px;margin-top:12px}.bulk-result{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:18px;padding:12px}.bulk-result small{display:block;color:var(--muted);font-weight:800;margin-top:4px}.bulk-table input{width:96px;text-align:center}.quick.purple{border-color:#d8b4fe}.quick.purple i{background:#f3e8ff;color:#7e22ce}.client-box select{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;font:inherit}
@media(max-width:760px){.bulk-layout{grid-template-columns:1fr}.bulk-result{align-items:flex-start;flex-direction:column}.bulk-result .btn{width:100%}.bulk-table input{width:72px}.nav-tab[data-tab="bulkOut"]{display:flex}}

/* v1.7.9 - Popup ricarica dati */
.reload-popup{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.38);backdrop-filter:blur(3px);padding:18px}.reload-popup.hidden{display:none}.reload-card{width:min(520px,100%);border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 110px rgba(15,23,42,.28);padding:18px}.reload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.reload-head h3{margin:0;font-size:1.4rem;letter-spacing:-.04em}.reload-progress{height:12px;margin:10px 0 12px}.reload-details{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px}.reload-details li{display:flex;gap:8px;align-items:flex-start;color:var(--ink);font-weight:850;background:#f8fbf8;border:1px solid var(--line);border-radius:14px;padding:9px 10px}.reload-details li:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#ecfdf3;color:var(--green);font-weight:1000;flex:0 0 auto}.reload-popup.compact-done{align-items:flex-end;justify-content:flex-end;background:transparent;backdrop-filter:none;pointer-events:none}.reload-popup.compact-done .reload-card{width:min(420px,calc(100vw - 28px));pointer-events:auto}.reload-popup.compact-done .reload-head h3{font-size:1.1rem}@media(max-width:760px){.reload-popup{align-items:flex-end;padding:12px}.reload-card{border-radius:24px}.reload-details{max-height:220px;overflow:auto}}


/* v1.8.2 - il pulsante Stampa deve essere sempre leggibile */
.print-actions .print-direct-btn,
.print-actions button[data-direct-print]{
  background:linear-gradient(90deg,#f97316,#ea580c)!important;
  color:#ffffff!important;
  border:1px solid #ea580c!important;
  opacity:1!important;
  filter:none!important;
  visibility:visible!important;
  text-shadow:none!important;
}
.print-actions .print-direct-btn:disabled,
.print-actions button[data-direct-print]:disabled{
  opacity:1!important;
  color:#ffffff!important;
  background:linear-gradient(90deg,#f97316,#ea580c)!important;
}


/* v1.8.3 - pulsante Stampa uguale agli altri e testo nero */
.print-actions .print-direct-btn,
.print-actions button[data-direct-print]{
  background:#fff !important;
  color:#102018 !important;
  border:1px solid var(--line) !important;
  opacity:1 !important;
  filter:none !important;
  -webkit-text-fill-color:#102018 !important;
}
.print-actions .print-direct-btn:disabled,
.print-actions button[data-direct-print]:disabled{
  color:#102018 !important;
  opacity:1 !important;
  cursor:pointer !important;
}
.print-clean-note{font-size:11px;color:#d1d5db;font-weight:700;margin-left:auto;max-width:460px;line-height:1.25}
@media print{.print-clean-note{display:none!important}}

/* v1.8.6 - sezione Aggiorna semplificata */
.updates-single{padding:22px;border-radius:28px}
.updates-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}
.updates-info-grid h3{margin:0 0 10px}
@media(max-width:900px){.updates-info-grid{grid-template-columns:1fr}.updates-single{padding:16px}}

/* v1.8.8 - Aggiorna: pulsanti migliorati e progress bar fissa */
.updates-clean .fixed-progress{margin:16px 0 0;background:linear-gradient(135deg,#f8fff9,#ffffff);}
.update-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px;}
.update-action-card{min-height:86px;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:14px;text-align:left;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);padding:15px 16px;box-shadow:0 12px 30px rgba(16,32,24,.06);font-weight:900;}
.update-action-card:hover{transform:translateY(-1px);box-shadow:0 18px 44px rgba(16,32,24,.10);border-color:#bdebd0;}
.update-action-card i{font-style:normal;width:46px;height:46px;border-radius:17px;display:grid;place-items:center;flex:0 0 auto;font-size:1.35rem;font-weight:1000;}
.update-action-card span{display:grid;gap:4px;}
.update-action-card b{display:block;font-size:1rem;line-height:1.15;}
.update-action-card small{display:block;color:var(--muted);font-weight:780;line-height:1.25;}
.update-action-card.primary i{background:#e9fbea;color:var(--green);}
.update-action-card.data i{background:#e8f7ff;color:var(--blue);}
.update-action-card.install{grid-column:1/-1;border-color:#fed7aa;background:#fff7ed;}
.update-action-card.install i{background:#ffedd5;color:var(--orange);}
@media(max-width:900px){.update-action-grid{grid-template-columns:1fr}.update-action-card{min-height:78px}.updates-clean .panel-head{align-items:flex-start}}


/* v2.0.4 - Icone SVG stilizzate locali */
.ui-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2em;height:1.2em;line-height:1;vertical-align:-0.2em;flex:0 0 auto;color:currentColor}
.ui-icon svg{width:100%;height:100%;display:block;stroke:currentColor}
.brand-cube.ui-icon,.brand-cube .ui-icon{width:48px;height:48px;color:white}
.brand-cube svg{width:25px;height:25px}
.nav-tab .ui-icon{width:32px;height:32px;padding:7px;border-radius:12px;background:rgba(255,255,255,.08)}
.nav-tab span.ui-icon{display:inline-flex}
.nav-tab.active .ui-icon{background:rgba(255,255,255,.20);color:white}
.btn .ui-icon,.icon-btn .ui-icon,.scan-mini .ui-icon{width:20px;height:20px}
.quick i .ui-icon,.feature i .ui-icon{width:34px;height:34px}
.quick i{display:grid;place-items:center}
.mobile-primary .ui-icon{width:22px;height:22px;color:var(--green)}
.mobile-scan .ui-icon{width:28px;height:28px;color:white}
.kpi-icon .ui-icon{width:26px;height:26px}
.movement-icon .ui-icon{width:22px;height:22px}
.update-action-card i .ui-icon{width:28px;height:28px}
.searchbox>span .ui-icon,.mobile-search>span .ui-icon{width:20px;height:20px;color:var(--green)}
.print-card b .ui-icon{width:18px;height:18px;margin-right:6px;vertical-align:-3px}
@media(max-width:700px){.nav-tab .ui-icon{width:24px;height:24px;padding:5px}.quick i .ui-icon{width:28px;height:28px}.feature i .ui-icon{width:28px;height:28px}}


/* v2.0.4 - Mobile: spazio sicuro per barra inferiore */
@media(max-width:700px){
  .app-shell{padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))!important;}
  .content{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important;}
  .screen.active::after{content:"";display:block;height:calc(120px + env(safe-area-inset-bottom,0px));}
  .nav-tabs{bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;}
  .nav-tab{min-height:52px!important;}
  .reload-popup.compact-done .reload-card{margin-bottom:calc(82px + env(safe-area-inset-bottom,0px));}
}

.scan-confirm{border:1px solid var(--line);border-radius:18px;background:#f9fbfa;padding:12px;margin-top:10px}
.scan-confirm p{margin:0 0 8px}.scan-confirm code{font-size:1.05rem;font-weight:1000;color:var(--green);background:#ecfdf3;border-radius:10px;padding:3px 7px}.scan-confirm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.scan-confirm-actions .btn{min-height:42px}


/* v2.0.4 - conferma visiva salvataggio date */
.app-toast{position:fixed;right:22px;bottom:22px;z-index:9999;display:flex;align-items:flex-start;gap:12px;min-width:min(420px,calc(100vw - 32px));max-width:520px;padding:14px 16px;border-radius:20px;background:#ffffff;border:1px solid #bbf7d0;box-shadow:0 20px 55px rgba(16,32,24,.22);color:var(--ink);opacity:0;transform:translateY(18px) scale(.98);pointer-events:none;transition:opacity .22s ease,transform .22s ease;}
.app-toast.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.app-toast .toast-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#e9fbea;color:var(--green);flex:0 0 auto;}
.app-toast .toast-icon .ui-icon{width:22px;height:22px;}
.app-toast b{display:block;font-size:1rem;margin-bottom:3px;}
.app-toast small{display:block;color:var(--muted);font-weight:800;line-height:1.25;}
.app-toast button{margin-left:auto;border:0;background:#f3f7f3;border-radius:12px;width:32px;height:32px;font-size:19px;font-weight:900;color:var(--ink);cursor:pointer;}
#printMetaMsg.save-ok{display:inline-flex;align-items:center;margin-top:12px;padding:10px 14px;border-radius:16px;background:#ecfdf3;border:1px solid #bbf7d0;color:#166534;font-weight:900;}
@media(max-width:700px){.app-toast{left:14px;right:14px;bottom:calc(96px + env(safe-area-inset-bottom,0px));min-width:0;}}


/* v2.0.4 - Clienti: progress importazione e conferme */
.client-import-progress{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#f8fbf8;}
.client-import-progress.hidden{display:none;}
.client-import-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.client-import-progress-head b{font-size:.95rem;}
.client-import-progress-head span{font-weight:1000;color:var(--green);}
#clientImportStep{margin:8px 0 0;}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2);}


/* v2.2.4 - Orientamento stampe per ogni riquadro */
.print-orientation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:#f8fbf8;font-weight:900;color:var(--muted);font-size:.78rem}
.print-orientation span{white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}
.print-orientation select{min-height:34px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 10px;font-weight:900;color:var(--ink);min-width:130px}
@media(max-width:760px){.print-orientation{align-items:stretch;flex-direction:column}.print-orientation select{width:100%}}

/* v2.0.4 - Allinea pulsanti in basso nei riquadri Stampa, inclusa Etichette barcode */
.print-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
}
.print-card .print-actions{
  margin-top:auto !important;
  padding-top:14px !important;
  align-items:center !important;
}
.print-card.blue .print-actions{
  margin-top:auto !important;
}
@media(max-width:760px){
  .print-card .print-actions{padding-top:12px!important;}
}

/* v2.0.1 - Scarico cumulativo: lista, rimozione e riepilogo stampabile */
.bulk-table .bulk-remove{white-space:nowrap;min-height:34px;padding:6px 10px;border-radius:12px;}
.bulk-summary b{transition:color .18s ease;}
.receipt-card{border:1px solid var(--line);border-radius:22px;background:#fff;padding:16px;box-shadow:0 14px 34px rgba(16,32,24,.08)}
.receipt-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:12px}
.receipt-head h2{margin:0;font-size:1.7rem;letter-spacing:-.05em}.receipt-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.receipt-meta div{border:1px solid var(--line);border-radius:16px;background:#f8fbf8;padding:10px}.receipt-meta small{display:block;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:.68rem}.receipt-meta b{display:block;margin-top:4px;word-break:break-word}.receipt-note{border:1px solid #fed7aa;background:#fff7ed;border-radius:16px;padding:10px;font-weight:800}.receipt-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.bulk-receipt-sheet{max-width:min(920px,calc(100vw - 24px))}.receipt-table th:first-child,.receipt-table td:first-child{width:48px;text-align:center}.receipt-table th:last-child,.receipt-table td:last-child{text-align:right;width:90px}@media(max-width:760px){.receipt-meta{grid-template-columns:1fr 1fr}.receipt-actions .btn{width:100%}.bulk-table .bulk-remove{width:100%;}.receipt-head{flex-direction:column}.bulk-receipt-sheet{max-width:calc(100vw - 12px)}}

/* v2.0.2 - filtri movimenti */
.movement-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin-top:14px;align-items:end}
.movement-filter-grid label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.movement-filter-grid input,.movement-filter-grid select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;color:var(--ink);font-weight:800;outline:none}
.movement-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.movement-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.btn.mini{min-height:38px;padding:0 12px;border-radius:14px;font-size:.82rem}
@media(max-width:760px){.movement-filter-grid{grid-template-columns:1fr 1fr}.movement-filter-grid label:nth-child(3){grid-column:1/-1}.movement-actions .btn{flex:1;justify-content:center}}


/* v2.0.6 - barra movimenti più ordinata */
.movement-toolbar{
  display:grid;
  grid-template-columns: minmax(190px,.75fr) minmax(420px,1.7fr) minmax(230px,.9fr);
  gap:14px;
  align-items:stretch;
  margin-bottom:14px;
}
.movement-summary,.movement-filter-panel,.movement-action-panel{
  border:1px solid #dbe8dc;
  background:rgba(255,255,255,.94);
  border-radius:26px;
  box-shadow:0 14px 34px rgba(16,32,24,.06);
  padding:18px;
}
.movement-summary h2{margin:0;font-size:2rem;letter-spacing:-.06em;line-height:1.05}
.movement-summary p{margin:8px 0 0;color:var(--muted);font-weight:850}
.movement-count{display:inline-flex;margin-top:14px!important;padding:8px 12px;border-radius:999px;background:#ecfdf3;color:#166534!important;border:1px solid #bbf7d0;font-weight:1000!important}
.movement-filter-panel h3,.movement-action-panel h3{margin:0 0 10px;font-size:1rem}
.movement-filter-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-top:0}
.movement-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:0}.movement-actions .btn{width:100%;min-height:44px;justify-content:flex-start}.movement-actions .btn svg{flex:0 0 auto}
@media(max-width:1180px){
  .movement-toolbar{grid-template-columns:1fr;gap:10px}.movement-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-actions .btn{justify-content:center}.movement-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-filter-grid label:nth-child(3){grid-column:1/-1}
}
@media(max-width:700px){
  .movement-summary,.movement-filter-panel,.movement-action-panel{padding:13px;border-radius:20px}.movement-summary h2{font-size:1.45rem}.movement-filter-grid{grid-template-columns:1fr}.movement-filter-grid label:nth-child(3){grid-column:auto}.movement-actions{grid-template-columns:1fr 1fr}.movement-actions .btn{min-height:42px;padding:0 10px;font-size:.82rem}
}

/* v2.0.6 - movimenti cumulativi raggruppati */
.movement-bulk-card{border-color:rgba(249,115,22,.25);background:linear-gradient(180deg,#fff,#fffaf4)}
.bulk-preview-lines{display:grid;gap:4px;margin-top:10px;padding:10px;border-radius:14px;background:#f8faf7;border:1px solid #dce7dc}
.bulk-line{display:block;font-size:.86rem;color:#26362d;line-height:1.35}
.bulk-line.muted{color:#6b7a6b;font-weight:800}
@media(max-width:760px){.bulk-preview-lines{font-size:.88rem}.movement-card-actions{display:grid;grid-template-columns:1fr;gap:8px}.movement-card-actions .btn{width:100%;justify-content:center}}

/* v2.0.7 - annullamento movimenti */
.checkline{display:flex!important;align-items:center;justify-content:flex-start;gap:9px;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;min-height:46px}.checkline input{width:auto!important;margin:0}.cancelled-movement{opacity:.72;background:linear-gradient(180deg,#fff,#f8fafc)!important;border-style:dashed!important}.cancel-note{border:1px solid #fecaca;background:#fef2f2;color:#991b1b!important;border-radius:14px;padding:9px 10px;margin:10px 0 0!important}.movement-card-actions .btn.red{background:linear-gradient(90deg,#ef4444,#dc2626);color:#fff;border:0}.movement-card-actions .btn.red:hover{filter:brightness(.98)}
@media(max-width:760px){.checkline{grid-column:1/-1}.movement-card-actions .btn.red{width:100%;justify-content:center}}

/* v2.0.8 operatori */
.operator-top{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.operators-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:14px;align-items:start;}
.operator-current-card{margin-top:12px;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:20px;background:#fff;}
.operator-current-card i{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#e9fbea;color:var(--green);font-style:normal;}
.operator-current-card b,.operator-current-card small{display:block;}
.operator-list .client-row .pill{min-width:80px;justify-content:center;}
@media(max-width:900px){.operators-grid{grid-template-columns:1fr}.operator-top{display:none}}


/* v2.1.0 - Import clienti: area inserimento larga come il pulsante */
#clientImportText{
  display:block;
  width:100%;
  max-width:none;
  min-height:220px;
  resize:vertical;
  box-sizing:border-box;
}
.panel #clientImportText + .btn.full,
#importClientsBtn{
  width:100%;
}
@media (max-width:760px){
  #clientImportText{min-height:260px;}
}


/* v2.1.0 - Barra mobile: testo pulsanti centrato, inclusa voce Scarico cumulativo */
@media (max-width: 520px){
  .nav-tabs .nav-tab{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:3px!important;
    line-height:1.05!important;
  }
  .nav-tabs .nav-tab span{
    margin:0 auto!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 auto!important;
  }
  .nav-tabs .nav-tab b{
    display:block!important;
    width:100%!important;
    max-width:52px!important;
    margin:0 auto!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.05!important;
    font-size:.58rem!important;
    letter-spacing:-.02em!important;
  }
  .nav-tabs .nav-tab.active b{
    color:#fff!important;
  }
}


.scan-item-found{border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px;margin:8px 0 10px}
.scan-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.scan-item-grid .mini strong{font-size:.98rem}
@media(max-width:480px){.scan-item-grid{grid-template-columns:1fr 1fr}.scan-item-grid .mini{padding:8px}.scan-item-grid .mini small{font-size:.66rem}.scan-item-grid .mini strong{font-size:.86rem}}

/* v2.1.4 - scarico cumulativo: quantità uniforme PC/telefono */
.bulk-result.is-selected{border-color:#86efac;background:#f0fdf4}
.bulk-qty-controls{display:flex;align-items:center;gap:6px;justify-content:center}
.bulk-qty-controls .bulk-qty{width:76px;text-align:center;font-weight:900}
.bulk-qty-controls .btn.mini{min-width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}
@media (max-width:720px){
  .bulk-table th:nth-child(3), .bulk-table td:nth-child(3){display:none}
  .bulk-table th:nth-child(4), .bulk-table td:nth-child(4){display:none}
  .bulk-qty-controls{justify-content:flex-start}
  .bulk-qty-controls .bulk-qty{width:58px;min-height:38px}
  .bulk-qty-controls .btn.mini{min-width:38px;height:38px}
  .bulk-result{gap:10px}
  .bulk-result .btn{min-width:118px}
}


/* v2.1.5 - Sidebar non tagliata + stato online mobile */
/* v2.1.6 - Stato sidebar compatto */
.sidebar{overflow-y:auto;scrollbar-width:thin;padding-bottom:env(safe-area-inset-bottom,0px)}
.side-foot{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))!important;line-height:1.28}
.side-user{flex:0 0 auto}
.side-panel{flex:0 0 auto}
.mobile-status{display:none}
@media(max-width:1180px){
  .mobile-status{display:flex;align-items:center;gap:8px;margin:-6px 0 10px;padding:9px 12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(16,32,24,.06);font-weight:900;color:var(--ink)}
  .mobile-status .status-dot{width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12);flex:0 0 auto}
  .mobile-status.offline .status-dot{background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.13)}
  .mobile-status small{margin-left:auto;color:var(--muted);font-size:.78rem;font-weight:850}
  .app-shell{padding-bottom:calc(152px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-width:700px){
  .mobile-status{position:sticky;top:62px;z-index:19;margin:-2px 0 8px;font-size:.82rem}
  .mobile-status small{font-size:.7rem}
}

/* v2.1.6 - Stato sidebar compatto */
.side-panel.side-panel-compact{padding:10px 12px;min-height:auto;border-radius:16px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;margin-top:auto}
.side-panel.side-panel-compact small{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.86rem;white-space:nowrap;font-weight:900;color:#ecfff3}
.side-panel.side-panel-compact small i{width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.13)}
.side-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}
@media(max-height:820px){.side-panel.side-panel-compact{padding:8px 10px}.side-foot{font-size:.78rem}}
.reload-details li.action-li{padding:0;background:transparent;border:0}.reload-details li.action-li:before{display:none}.reload-detail-action{width:100%;border:1px solid var(--green);background:#ecfdf3;color:#14532d;border-radius:14px;padding:10px 12px;font-weight:950;text-align:left;display:flex;align-items:center;gap:8px;cursor:pointer}.reload-detail-action:hover{background:#d1fae5}.reload-detail-action svg{width:18px;height:18px;flex:0 0 auto}

/* v2.1.9 - Salva date su ogni magazzino */
@media (max-width:900px){.meta-row{grid-template-columns:1fr}.meta-save-row{width:100%;min-width:0}}

/* v2.1.9 operatori: editor più pulito e pulsanti per riga */
.operators-grid-clean{grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr)}
.operator-editor-panel{min-width:0}
.operator-editor-head{gap:12px;align-items:flex-start}
.operator-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.operator-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:900;color:var(--muted)}
.operator-form-grid input{width:100%;min-height:48px;border-radius:16px;border:1px solid var(--line);padding:0 14px;background:#fff;font-weight:800}
.operator-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.operator-form-actions .btn{min-height:48px}
.operator-list-v219{display:grid;gap:10px}
.operator-row-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;box-shadow:0 6px 20px rgba(15,23,42,.04)}
.operator-row-card.active{border-color:rgba(22,163,74,.45);background:#f3fff6}
.operator-row-main{display:flex;align-items:center;gap:12px;min-width:0}
.operator-row-main b,.operator-row-main small{display:block}.operator-row-main small{color:var(--muted);font-weight:800}.operator-row-main b{word-break:break-word}
.operator-avatar-mini{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#e9fbea;color:var(--green);font-weight:1000;flex:0 0 auto}
.operator-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.operator-row-actions .btn.mini{min-height:38px;padding:8px 11px}
@media(max-width:900px){.operators-grid-clean{grid-template-columns:1fr}.operator-form-grid{grid-template-columns:1fr}.operator-editor-head{flex-direction:column}.operator-editor-head .btn{width:100%}.operator-form-actions .btn{width:100%}.operator-row-card{align-items:stretch;flex-direction:column}.operator-row-actions{justify-content:flex-start}.operator-row-actions .btn{flex:1 1 120px}.operator-row-actions .pill{width:100%;justify-content:center}}

/* v2.2.4 - Scanner: lettura solo sulla riga centrale */
.scanner-reticle{height:132px;border-color:#22c55e;box-shadow:0 0 0 999px rgba(0,0,0,.38),0 0 26px rgba(34,197,94,.42)}
.scanner-reticle:after{height:5px;left:8px;right:8px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,#f97316 18%,#f97316 82%,transparent 100%);box-shadow:0 0 14px rgba(249,115,22,.65)}
.scanner-reticle:before{content:"LEGGI SULLA RIGA";position:absolute;left:50%;top:50%;transform:translate(-50%,-26px);padding:3px 8px;border-radius:999px;background:rgba(2,6,23,.76);color:#fff;font-size:.68rem;font-weight:1000;letter-spacing:.08em;white-space:nowrap}
@media(max-width:700px){.scanner-reticle{height:118px}.scanner-reticle:before{font-size:.58rem;transform:translate(-50%,-24px)}}


/* v2.2.4 - Fix visibilità pulsante Salva date */
.meta-row .meta-save-row,
#printMetaForm .meta-save-row,
button.meta-save-row{
  background:linear-gradient(135deg,#16a34a,#22c55e)!important;
  color:#ffffff!important;
  border-color:#16a34a!important;
  opacity:1!important;
  box-shadow:0 10px 24px rgba(22,163,74,.18)!important;
  min-width:150px;
  justify-content:center;
}
.meta-row .meta-save-row svg,
#printMetaForm .meta-save-row svg,
button.meta-save-row svg{
  color:currentColor!important;
  stroke:currentColor!important;
}
.meta-row .meta-save-row:disabled,
#printMetaForm .meta-save-row:disabled,
button.meta-save-row:disabled{
  opacity:1!important;
  filter:none!important;
}
@media(max-width:900px){.meta-row .meta-save-row,#printMetaForm .meta-save-row{width:100%;min-width:0}}


/* v2.2.4 - Pulsanti uniformi in tutte le sezioni */
.btn.secondary,
.btn.mini.secondary,
.print-actions .btn.secondary,
.print-actions button,
.meta-row .meta-save-row,
#printMetaForm .meta-save-row,
button.meta-save-row,
.client-row .btn.secondary,
.movement-actions .btn.secondary,
.bulk-result .btn.secondary{
  background:#ffffff!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
}
.btn.secondary svg,
.btn.mini.secondary svg,
.meta-row .meta-save-row svg,
#printMetaForm .meta-save-row svg,
button.meta-save-row svg{
  color:currentColor!important;
  stroke:currentColor!important;
}
.btn.secondary:hover,
.btn.mini.secondary:hover,
.meta-row .meta-save-row:hover,
#printMetaForm .meta-save-row:hover,
button.meta-save-row:hover{
  border-color:#bdebd0!important;
  box-shadow:0 10px 24px rgba(16,32,24,.07)!important;
}
.meta-row .meta-save-row{
  min-width:150px;
  justify-content:center;
}
button:disabled,.btn:disabled{
  color:var(--muted)!important;
  -webkit-text-fill-color:var(--muted)!important;
  background:#f8fbf8!important;
  border-color:var(--line)!important;
  opacity:1!important;
  cursor:not-allowed!important;
  filter:none!important;
}
@media(max-width:900px){
  .meta-row .meta-save-row,#printMetaForm .meta-save-row{width:100%;min-width:0}
}

/* v2.2.5 - uniforma pulsanti Clienti e Operatori */
#clients .btn,
#operators .btn,
#clients .btn.red,
#operators .btn.red,
#clients .btn.orange,
#operators .btn.orange,
#clients .btn.blue,
#operators .btn.blue {
  background:#fff !important;
  color:var(--ink) !important;
  border:1px solid var(--line) !important;
  box-shadow:none !important;
}
#clients .btn svg,
#operators .btn svg {
  color:var(--ink) !important;
  stroke:currentColor !important;
}
#clients .btn:hover,
#operators .btn:hover {
  border-color:#b7dbc2 !important;
  background:#f9fffb !important;
}
#clients .btn:disabled,
#operators .btn:disabled {
  opacity:.55;
  color:#64746c !important;
  background:#f7faf8 !important;
}
#clients .form-actions,
#operators .operator-form-actions,
#operators .operator-row-actions {
  gap:10px;
}
@media (max-width: 760px){
  #clients .form-actions .btn,
  #operators .operator-form-actions .btn,
  #operators .operator-row-actions .btn {
    width:100%;
  }
}

/* v2.2.6 - Scanner bilanciato: fascia centrale più leggibile */
.scan-frame::after{height:4px;box-shadow:0 0 0 28px rgba(249,115,22,.08),0 0 18px rgba(249,115,22,.45);}
.scan-frame::before{border-color:rgba(34,197,94,.88);}

/* v2.2.7 - rimosso doppio NAS online sul telefono */
#mobileStatus{display:none!important;}


/* v2.2.8 - scanner remoto telefono/PC */
.remote-scanner-panel{grid-column:1/-1}
.remote-scanner-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 14px}
.remote-device-list{display:grid;gap:10px}
.remote-device-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border:1px solid var(--line);border-radius:18px;background:#fff}
.remote-device-card.online{border-color:rgba(22,163,74,.35);background:#f0fdf4}
.remote-device-card.me{box-shadow:inset 4px 0 0 var(--green)}
.remote-device-card b{display:block}.remote-device-card small{display:block;color:var(--muted);font-weight:800;margin-top:3px}
.remote-device-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.remote-scanner-quick{margin:8px 0 12px}.remote-quick{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:18px;background:#f8fbf8}.remote-quick select{min-width:220px;flex:1}
@media(max-width:760px){.remote-device-card{align-items:flex-start;flex-direction:column}.remote-device-actions{justify-content:flex-start}.remote-quick select,.remote-quick button{width:100%}}
/* v2.3.2 scanner bilanciato/adattivo */
.scanner-frame[data-scan-mode="automatico"] .scanner-reticle{height:164px;border-color:#22c55e;}
.scanner-frame[data-scan-mode="automatico"] .scanner-reticle:after{height:5px;box-shadow:0 0 0 42px rgba(249,115,22,.08),0 0 22px rgba(249,115,22,.55);}
@media(max-width:480px){.scanner-frame[data-scan-mode="automatico"] .scanner-reticle{height:150px}}

/* v2.3.2 - mobile: rimuove lo status NAS duplicato in alto, lascia solo la riga sotto Home */
@media (max-width:1180px){
  .sidebar .side-panel.side-panel-compact{
    display:none!important;
  }
}


/* v2.3.3 - rende più evidente lo scanner remoto */
.remote-device-card.standby{border-color:#dfe8df;background:#fff;}

/* v2.3.5 - telefono abbinato in barra superiore e icona impostazioni più chiara */
.remote-top{max-width:240px;min-width:166px;gap:8px;align-items:center;justify-content:flex-start;padding-inline:12px!important;}
.remote-top .remote-top-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.05;}
.remote-top .remote-top-text b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:1000;color:var(--ink);}
.remote-top .remote-top-text small{font-size:.68rem;font-weight:950;color:var(--muted);white-space:nowrap;}
.remote-top.online{border-color:#bbf7d0;background:#f0fdf4;}
.remote-top.online .remote-top-text small{color:#15803d;}
.remote-top.standby{border-color:#fed7aa;background:#fff7ed;}
.remote-top.standby .remote-top-text small{color:#c2410c;}
.remote-top.no-device{opacity:.82;}
@media(max-width:980px){.remote-top{display:none!important;}}


/* v2.3.5 - scanner remoto: abbinamento visibile */
.remote-current-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 12px;padding:14px 15px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.remote-current-card.online{border-color:rgba(22,163,74,.38);background:#f0fdf4}
.remote-current-card.standby{border-color:#dfe8df;background:#fffdf5}
.remote-current-card.not-paired{border-color:#ffd8a8;background:#fff7ed}
.remote-current-main{display:flex;align-items:flex-start;gap:12px;min-width:0}
.remote-current-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#e9fbea;color:var(--green);flex:0 0 auto}
.remote-current-main b,.remote-current-main small{display:block}.remote-current-main small{color:var(--muted);font-weight:900;margin-top:3px}.remote-current-main .hint{margin:6px 0 0;font-size:.84rem;line-height:1.35}
.remote-list-title{font-size:1rem;margin:14px 0 8px}
@media(max-width:760px){.remote-current-card{align-items:flex-start;flex-direction:column}.remote-current-card .pill{width:100%;justify-content:center}.remote-current-main{width:100%}}

/* v2.3.8 - gestione articoli: aggiungi, modifica, elimina */
.item-editor-panel{margin:14px 0;}
.item-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px;align-items:end;}
.item-editor-grid label{display:flex;flex-direction:column;gap:6px;font-weight:900;color:var(--muted);font-size:.82rem;}
.item-editor-grid label.wide{grid-column:span 2;}
.item-editor-grid input{width:100%;}
.item-editor-actions{margin-top:14px;gap:10px;flex-wrap:wrap;}
.row-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.btn.danger-soft{border-color:#fecaca;color:#991b1b;background:#fff;}
.btn.danger-soft:hover{background:#fef2f2;}
.item-card{display:block;border:1px solid var(--line);border-radius:22px;background:#fff;padding:0;overflow:hidden;box-shadow:0 12px 28px rgba(15,23,42,.06);}
.item-card-main{width:100%;border:0;background:transparent;text-align:left;padding:16px;cursor:pointer;color:inherit;}
.item-card-actions{display:flex;gap:8px;padding:0 16px 16px;flex-wrap:wrap;}
.item-card-actions .btn{flex:1 1 120px;justify-content:center;}
@media(max-width:980px){.item-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.item-editor-grid label.wide{grid-column:1/-1;}.row-actions{justify-content:flex-start}.article-table .row-actions .btn{padding:8px 10px;font-size:.82rem}}
@media(max-width:560px){.item-editor-grid{grid-template-columns:1fr}.item-editor-actions .btn{width:100%}.head-actions{align-items:stretch}.head-actions .btn,.head-actions a.btn{width:100%;justify-content:center}.item-card-actions{flex-direction:column}.item-card-actions .btn{width:100%;}}

/* v2.3.8 - Articoli in finestre dedicate + gestione magazzini/categorie */
.article-sheet{width:min(920px,calc(100% - 22px));}
.manager-sheet{width:min(780px,calc(100% - 22px));}
.dialog-form.item-editor-panel{margin:0;}
.form-intro{border:1px solid var(--line);background:#f8fbf8;border-radius:18px;padding:10px 12px;margin-bottom:12px;}
.form-intro p{margin:0;}
.item-editor-grid select{width:100%;}
.manager-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.manager-add{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;border:1px solid var(--line);border-radius:20px;background:#f8fbf8;padding:12px;margin-bottom:12px;}
.manager-add label{display:flex;flex-direction:column;gap:6px;font-weight:950;color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;}
.manager-add input{width:100%;}
.manager-list{display:grid;gap:9px;margin-top:12px;max-height:52vh;overflow:auto;padding-right:3px;}
.manager-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px 13px;box-shadow:0 8px 22px rgba(15,23,42,.04);}
.manager-row b,.manager-row small{display:block;}
.manager-row small{margin-top:3px;color:var(--muted);font-weight:850;}
.manager-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.empty-state.compact{padding:22px;}
@media(max-width:680px){.manager-add{grid-template-columns:1fr}.manager-add .btn{width:100%}.manager-row{align-items:stretch;flex-direction:column}.manager-actions .btn{flex:1 1 120px}.article-sheet,.manager-sheet{width:calc(100% - 12px)}}


/* v2.3.9 - Fix movimenti annullati: titolo e badge non tagliati */
.item-card.no-click{
  padding:16px!important;
  overflow:visible!important;
}
.item-card.no-click .item-top{
  align-items:flex-start;
}
.item-card.no-click .item-top > div{
  min-width:0;
  flex:1 1 auto;
}
.item-card.no-click .item-top .pill{
  flex:0 0 auto;
  max-width:100%;
}
.item-card.no-click .eyebrow,
.item-card.no-click .item-title,
.item-card.no-click .stat-label{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  line-height:1.25;
}
@media(max-width:700px){
  .item-card.no-click{padding:12px!important;}
  .item-card.no-click .item-top{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .item-card.no-click .item-top .pill{
    justify-self:start;
    white-space:normal;
  }
}


.lower-grid-single{grid-template-columns:1fr!important;}

/* v2.4.2 - sezioni Home senza riquadro attività duplicato */
.home-sections-grid{grid-template-columns:1fr!important;}
button.section-mini,button.feature,button.activity-tile{font:inherit;text-align:left;color:inherit;cursor:pointer;}
button.section-mini{display:block;width:100%;}
button.section-mini:hover,button.feature:hover,button.activity-tile:hover{border-color:#a7e9bb;box-shadow:0 14px 30px rgba(22,163,74,.10);transform:translateY(-1px);}
.activity-tiles button{border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;text-align:center;}
.activity-tiles button strong{display:block;font-size:2rem;letter-spacing:-.07em;color:#061225;}
.activity-tiles button small{display:block;color:var(--muted);font-weight:900;}
.feature{width:100%;}
@media(max-width:700px){
  .home-sections-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px;margin-top:8px;}
  .home-sections-grid .panel{display:block!important;}
  .sections{grid-template-columns:repeat(2,1fr)!important;gap:7px;}
  .section-mini{border-radius:15px;padding:10px;}
  .section-mini b{font-size:.78rem;}
  .bar{height:7px;margin-top:8px;}
  .activity-tiles{display:grid!important;grid-template-columns:repeat(3,1fr);gap:7px;}
  .activity-tiles button{border-radius:15px;padding:10px 6px;}
  .activity-tiles button strong{font-size:1.24rem;}
  .activity-tiles button small{font-size:.68rem;}
  .feature-strip{display:grid!important;grid-template-columns:1fr!important;gap:7px;margin-top:8px;padding:8px;border-radius:18px;}
  .feature{display:flex!important;min-height:58px;border-radius:16px;padding:10px;}
  .feature i{width:40px;height:40px;font-size:1.25rem;flex:0 0 auto;margin:0;}
  .feature b{font-size:.88rem;}
  .feature small{font-size:.68rem;}
  .update-card{display:block!important;margin-top:8px!important;}
}

/* v2.4.8 - pulsante Movimenti dopo telefono e cliccabile */
/* v2.5.2 - In coda cliccabile in Home */
.top-op-viewer{
  min-height:46px;
  min-width:118px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:0 12px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--line);
  color:var(--ink);
  box-shadow:none;
  font-weight:1000;
  cursor:pointer;
  user-select:none;
}

.top-op-viewer:hover{
  border-color:#bbf7d0;
  background:#f0fdf4;
  transform:translateY(-1px);
}
.top-op-viewer:active{
  transform:translateY(0);
}

.top-op-viewer > span:first-child{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:var(--green);
  flex:0 0 auto;
}
.top-op-viewer .top-op-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.05;
  min-width:0;
}
.top-op-viewer b{
  font-size:1.05rem;
  letter-spacing:-.04em;
  color:var(--ink);
}
.top-op-viewer small{
  font-size:.68rem;
  font-weight:950;
  color:var(--muted);
  white-space:nowrap;
}
@media(max-width:1180px){
  .top-actions{gap:8px;}
  .top-op-viewer{min-width:104px;padding:0 10px;}
}
@media(max-width:700px){
  .top-actions{gap:7px;}
  .top-op-viewer{min-width:76px;min-height:42px;border-radius:14px;padding:0 9px;gap:6px;}
  
.top-op-viewer:hover{
  border-color:#bbf7d0;
  background:#f0fdf4;
  transform:translateY(-1px);
}
.top-op-viewer:active{
  transform:translateY(0);
}

.top-op-viewer > span:first-child{display:none;}
  .top-op-viewer b{font-size:1rem;}
  .top-op-viewer small{font-size:.62rem;}
}

/* v2.5.2 - tasto In coda in Home */
.home-sync-row{display:flex;justify-content:flex-end;margin:0 0 14px;}
.home-sync-card{width:min(360px,100%);min-height:72px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(16,32,24,.07);display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:12px 14px;text-align:left;color:var(--ink);font-weight:1000;}
.home-sync-card i{font-style:normal;width:46px;height:46px;border-radius:17px;display:grid;place-items:center;background:#e9fbea;color:var(--green);}
.home-sync-card span{display:flex;flex-direction:column;line-height:1;}
.home-sync-card b{font-size:1.9rem;letter-spacing:-.07em;}
.home-sync-card small{color:var(--muted);font-weight:950;margin-top:3px;}
.home-sync-card em{font-style:normal;color:var(--muted);font-size:.78rem;font-weight:900;line-height:1.2;justify-self:end;text-align:right;}
.home-sync-card.warn i{background:#fff7ed;color:var(--orange);}
.home-sync-card.warn{border-color:#fed7aa;background:#fffdf8;}
.home-sync-card:hover{border-color:#a7e9bb;box-shadow:0 18px 42px rgba(22,163,74,.12);transform:translateY(-1px);}
@media(max-width:700px){.home-sync-row{justify-content:stretch;margin-bottom:10px}.home-sync-card{width:100%;grid-template-columns:auto auto 1fr;border-radius:19px;min-height:64px;padding:10px}.home-sync-card i{width:40px;height:40px;border-radius:14px}.home-sync-card b{font-size:1.5rem}.home-sync-card em{font-size:.68rem}}

.remote-current-card.pc-device .remote-current-icon{background:#fff7ed;color:#f97316;}
.remote-device-card.standby .pill{background:#eef2f0;}

.scanner-frame:before{content:"Tocca qui per avviare la fotocamera";position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:2;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.88);color:#0f172a;font-weight:1000;font-size:.78rem;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.scanner-frame.scanning:before{display:none}
/* v2.5.1 - scorte min/max articolo */
.item-editor-grid .item-reorder-check{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;color:var(--ink)!important;}
.item-editor-grid .item-reorder-check input{width:auto!important;min-width:18px;min-height:18px;}


/* v2.5.3 - In coda anche su telefono + barra NAS online ripristinata */
.side-panel.side-panel-compact[data-status-badge]{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center;}
.side-panel.side-panel-compact[data-status-badge] .status-dot{width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.13);}
.side-panel.side-panel-compact[data-status-badge].offline .status-dot{background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.13);}
.side-panel.side-panel-compact[data-status-badge] b{font-size:.86rem;color:#ecfff3;}
.side-panel.side-panel-compact[data-status-badge] small{margin:0;color:#c8f2d5;font-size:.72rem;}
.home-sync-row{display:flex!important;}
.home-sync-card{cursor:pointer;}
@media(max-width:1180px){
  .mobile-status{display:flex!important;}
  .home-sync-row{justify-content:stretch!important;margin:0 0 10px!important;}
  .home-sync-card{width:100%!important;}
}
@media(max-width:700px){
  .mobile-status{position:sticky;top:62px;z-index:19;margin:-2px 0 8px;font-size:.82rem;}
  .home-sync-card{grid-template-columns:auto auto 1fr!important;min-height:62px;border-radius:18px;padding:9px 10px;}
  .home-sync-card em{font-size:.66rem;line-height:1.15;}
}
.app-shell:not(.home-active) .mobile-status{display:none!important;}


/* v2.5.5 - In coda vicino a Davide su PC; su telefono resta nella Home */
.queue-top{border-color:#bbf7d0;background:#f8fff9;}
.queue-top > span:first-child{color:var(--green);}
.home-sync-row{display:none!important;}
@media(max-width:1180px){
  .queue-top{display:none!important;}
  .home-sync-row{display:flex!important;justify-content:stretch!important;margin:0 0 10px!important;}
}

/* v2.5.5 - In coda evidenzia novità da NAS */
.top-op-viewer.warn{border-color:#fed7aa;background:#fff7ed;box-shadow:0 8px 24px rgba(249,115,22,.12)}
.top-op-viewer.warn [data-icon],.top-op-viewer.warn svg{color:#f97316}

/* v2.5.7 - Clienti gestiti in finestra come Articoli */
.client-sheet{width:min(900px,calc(100% - 22px));}
.client-table{min-width:980px;}
.client-row.client-card-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px 14px;text-align:left;box-shadow:0 8px 24px rgba(15,23,42,.04);}
.client-row-main{min-width:0;flex:1 1 auto;}
.client-row-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.client-row-actions .btn{min-height:38px;}
.client-detail-view .detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.client-note-view{margin-top:12px;border:1px solid var(--line);border-radius:18px;background:#f8fbf8;padding:12px;}
.client-note-view small{display:block;color:var(--muted);font-weight:950;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;}
.client-note-view p{margin:6px 0 0;font-weight:800;white-space:pre-wrap;}
.clients-toolbar{margin-bottom:14px;}
.client-import-panel{max-width:none;}
@media(max-width:980px){.client-detail-view .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.client-row.client-card-row{align-items:flex-start;flex-direction:column}.client-row-actions{width:100%;justify-content:stretch}.client-row-actions .btn{flex:1 1 120px}}
@media(max-width:560px){.client-sheet{width:calc(100% - 12px)}.client-detail-view .detail-grid{grid-template-columns:1fr}.client-row-actions{flex-direction:column}.client-row-actions .btn{width:100%}.client-form-grid .form-actions .btn{width:100%;}}


/* v2.5.8 - Clienti mobile: Apri/Modifica compatti affiancati a destra */
@media(max-width:980px){
  #clients .mobile-cards .client-row.client-card-row{
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    padding:10px 10px 10px 12px!important;
  }
  #clients .mobile-cards .client-row-main{
    min-width:0;
    flex:1 1 auto;
    padding-right:4px;
    overflow:hidden;
  }
  #clients .mobile-cards .client-row-main b{
    font-size:.90rem;
    line-height:1.14;
    word-break:break-word;
  }
  #clients .mobile-cards .client-row-main small{
    font-size:.68rem;
    line-height:1.12;
    margin-top:2px;
    display:-webkit-box;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  #clients .mobile-cards .client-row-actions{
    width:auto!important;
    flex:0 0 auto!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:5px!important;
  }
  #clients .mobile-cards .client-row-actions .btn{
    width:auto!important;
    flex:0 0 auto!important;
    min-height:30px!important;
    height:30px!important;
    padding:0 7px!important;
    border-radius:10px!important;
    font-size:.68rem!important;
    line-height:1!important;
    gap:3px!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
  #clients .mobile-cards .client-row-actions .btn svg,
  #clients .mobile-cards .client-row-actions .btn .ui-icon{
    width:14px!important;
    height:14px!important;
  }
}
@media(max-width:390px){
  #clients .mobile-cards .client-row-actions .btn{
    padding:0 6px!important;
    font-size:.64rem!important;
  }
}


/* v2.5.9 - Home più compatta + totale clienti vicino ad Articoli */
@media (min-width:1181px){
  .hero-card{
    padding:18px 20px!important;
    border-radius:26px!important;
    min-height:88px!important;
  }
  .hero-card h2{
    font-size:1.62rem!important;
    line-height:1.03!important;
    max-width:640px!important;
  }
  .hero-card p{
    font-size:.88rem!important;
    line-height:1.22!important;
    margin-top:0!important;
    max-width:560px!important;
  }
  .hero-card:after{
    min-height:38px!important;
    padding:0 14px!important;
    font-size:.86rem!important;
  }
  .quick-actions{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:12px!important;
  }
  .quick{
    min-height:118px!important;
    padding:12px 10px!important;
    border-radius:22px!important;
  }
  .quick i{
    width:52px!important;
    height:52px!important;
    margin-bottom:8px!important;
    font-size:1.55rem!important;
  }
  .quick i .ui-icon{
    width:27px!important;
    height:27px!important;
  }
  .quick b{
    font-size:1rem!important;
    line-height:1.08!important;
  }
  .quick small{
    font-size:.74rem!important;
    line-height:1.1!important;
    margin-top:3px!important;
  }
  .kpi-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
    margin:12px 0!important;
  }
  .kpi{
    padding:13px 14px!important;
    border-radius:22px!important;
    min-height:122px!important;
  }
  .kpi-icon{
    width:40px!important;
    height:40px!important;
    border-radius:15px!important;
  }
  .kpi-icon .ui-icon{
    width:22px!important;
    height:22px!important;
  }
  .kpi strong{
    margin-top:8px!important;
    font-size:1.55rem!important;
    line-height:1!important;
  }
  .kpi small{
    font-size:.74rem!important;
    line-height:1.12!important;
  }
  .kpi.green-soft .kpi-icon{
    background:#ecfdf3!important;
    color:var(--green)!important;
  }
}
@media (max-width:1180px) and (min-width:701px){
  .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
  .kpi{padding:13px!important;border-radius:20px!important;}
}
@media (max-width:700px){
  .kpi.green-soft .kpi-icon{background:#ecfdf3!important;color:var(--green)!important;}
}


/* v2.6.0 - operatori allineati + scanner remoto selezionabile */
.operators-grid-clean{align-items:stretch;}
.operator-select-panel,.operator-editor-panel{display:flex;flex-direction:column;height:100%;}
.operator-select-panel .stack-label{margin-top:2px;}
.operator-select-panel .hint{margin-top:12px;}
.operator-select-panel .operator-current-card{margin-top:auto;}
.remote-scanner-head{align-items:flex-start;gap:14px;}
.remote-panel-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.remote-panel-tools .btn{min-height:44px;}
.remote-device-card.selected{border-color:rgba(22,163,74,.42);box-shadow:inset 4px 0 0 var(--green),0 8px 22px rgba(15,23,42,.05);}
.remote-device-card.selected .remote-device-actions .pill{min-width:74px;justify-content:center;}
@media(max-width:900px){.remote-scanner-head{flex-direction:column;}.remote-panel-tools{width:100%;justify-content:flex-start;}.remote-panel-tools .btn{flex:1 1 220px;}}
@media(max-width:560px){.remote-panel-tools .btn{width:100%;}.remote-device-actions .btn.mini{flex:1 1 110px;justify-content:center;}}

/* v2.6.1 - scanner barcode più rapido e comodo su telefono */
#scanAutoBtn.active{border-color:#22c55e;background:#ecfdf3;color:#15803d;box-shadow:0 0 0 3px rgba(34,197,94,.10)}
.scanner-frame.scanning{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12),0 20px 50px rgba(0,0,0,.18)}
.scan-confirm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.scan-confirm-actions .btn{flex:1 1 140px}.scan-item-found{margin-top:10px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:16px;padding:12px}.scan-item-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.scan-item-grid .mini{border:1px solid var(--line);border-radius:14px;background:#fff;padding:9px}.scan-item-grid small,.scan-item-grid strong{display:block}
@media(max-width:700px){.scan-sheet{width:calc(100% - 8px)}.scan-status-row{gap:7px}.scan-status-row .pill{flex:1 1 100%;justify-content:center}.scan-status-row .btn{font-size:.78rem}.scanner-frame{min-height:320px;border-radius:22px}.scanner-frame video{min-height:320px}.scanner-reticle{width:92%;height:150px}.manual-scan{padding:10px}.scan-item-grid{grid-template-columns:1fr 1fr}.scan-confirm-actions .btn{min-height:44px}}
@media(max-width:420px){.scanner-frame{min-height:350px}.scanner-frame video{min-height:350px}.scanner-reticle{height:142px}.scan-status-row .btn{padding:0 8px}}


/* v2.6.2 - date stampa compatte su cellulare */
@media(max-width:700px){
  .print-card .print-dates{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
    margin-top:8px!important;
    padding-top:8px!important;
  }
  .print-card .print-dates span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    white-space:nowrap!important;
    min-width:0!important;
    padding:5px 3px!important;
    border-radius:10px!important;
    font-size:.62rem!important;
    line-height:1!important;
    text-align:center!important;
  }
  .print-card .print-dates b{
    display:inline!important;
    margin:0!important;
    font-size:.52rem!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }
  .print-meta-panel .panel-head{
    gap:8px!important;
    margin-bottom:8px!important;
  }
  .print-meta-panel .panel-head .stat-label{
    font-size:.68rem!important;
    line-height:1.18!important;
  }
  .meta-table{
    gap:8px!important;
    margin-top:8px!important;
  }
  .meta-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    padding:9px!important;
    border-radius:16px!important;
    align-items:end!important;
  }
  .meta-row legend{
    font-size:.78rem!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .meta-field{
    gap:3px!important;
    min-width:0!important;
  }
  .meta-field span{
    font-size:.58rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .meta-field input{
    height:36px!important;
    min-width:0!important;
    width:100%!important;
    padding:0 4px!important;
    border-radius:11px!important;
    font-size:.76rem!important;
  }
  .meta-row .meta-save-row,
  #printMetaForm .meta-save-row{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:36px!important;
    padding:7px 10px!important;
    border-radius:12px!important;
    font-size:.74rem!important;
  }
}
@media(max-width:380px){
  .print-card .print-dates span{font-size:.58rem!important;padding:4px 2px!important;}
  .print-card .print-dates b{font-size:.49rem!important;}
  .meta-row{gap:4px!important;padding:8px!important;}
  .meta-field span{font-size:.54rem!important;}
  .meta-field input{font-size:.70rem!important;padding:0 2px!important;}
}

/* v2.6.4 - operatori in finestra + disabbina telefoni */
.operators-grid-single{grid-template-columns:1fr!important;}
.operators-grid-single .operator-select-panel{height:auto;}
.operators-grid-single .operator-current-card{margin-top:12px;}
.operator-sheet{width:min(760px,calc(100% - 22px));}
.operator-sheet .operator-form-grid{margin-top:0;}
.remote-device-actions .btn.red{background:#fff1f2;color:#be123c;border-color:#fecdd3;}
@media(max-width:760px){.operator-sheet{width:calc(100% - 12px)}.remote-device-actions .btn.mini{flex:1 1 96px;}.remote-device-actions .btn.red{flex-basis:100%;}}

/* v2.6.4 - Articoli mobile: Modifica ed Elimina sulla stessa riga */
@media(max-width:560px){
  .item-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;flex-direction:row!important;gap:8px!important;padding:0 12px 12px!important;}
  .item-card-actions .btn{width:auto!important;min-width:0!important;min-height:34px!important;padding:0 8px!important;border-radius:12px!important;font-size:.76rem!important;gap:5px!important;white-space:nowrap!important;}
}

/* v2.6.5 - Lista riordino: pulsante Cerca articoli */
#reorder .head-actions #searchReorderItemsBtn{white-space:nowrap}
@media(max-width:720px){#reorder .head-actions{align-items:stretch}#reorder .head-actions #searchReorderItemsBtn{width:100%}}

/* v2.6.6 - Riordino mobile: una sola scheda Nessun risultato */

/* v2.6.7 - Avvisi e coda per sincronizzazione movimenti */


/* v2.6.9 - Operazioni in coda complete */
.database-backup-head{align-items:flex-start;gap:12px}
.database-backup-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.database-backup-summary{margin:10px 0 12px;padding:10px 12px;border-radius:14px;background:#f4f8f4;border:1px solid #dcebdd;color:#275334;font-weight:700}
.database-backup-list{display:grid;gap:8px}
.database-backup-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e1e8e2;border-radius:16px;background:#fff}
.database-backup-row b{display:block;color:#102018}
.database-backup-row small{display:block;margin-top:2px;color:#66756b}
.database-backup-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

.database-restore-mode{display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:900;color:var(--muted);font-size:.78rem}
.database-restore-mode select{border:0;outline:0;background:transparent;color:var(--ink);font-weight:1000;min-width:150px}
@media(max-width:760px){.database-restore-mode{width:100%;justify-content:space-between}.database-restore-mode select{min-width:0;flex:1}}
@media(max-width:760px){.database-backup-head{display:block}.database-backup-tools{margin-top:10px;justify-content:stretch}.database-backup-tools .btn{flex:1 1 100%}.database-backup-row{align-items:flex-start;flex-direction:column}.database-backup-actions{width:100%;justify-content:flex-end}.database-backup-actions .btn{flex:1}}


/* v2.7.0 - Operatore attivo più compatto */
.operator-select-compact{padding:16px 18px!important;min-height:auto!important;}
.operator-select-compact .operator-compact-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.operator-select-compact .operator-compact-head h3{margin:2px 0 0;}
.operator-select-compact .operator-compact-body{display:grid;grid-template-columns:minmax(280px,1fr) minmax(220px,340px);gap:12px;align-items:end;}
.operator-select-compact .compact-select-label{margin:0!important;gap:6px;}
.operator-select-compact .compact-select-label select{min-height:44px;height:44px;border-radius:14px;padding:0 12px;}
.operator-select-compact .operator-current-card{margin:0!important;padding:9px 12px;min-height:44px;border-radius:16px;box-shadow:none;}
.operator-select-compact .operator-current-card i{width:36px;height:36px;border-radius:13px;}
.operator-select-compact .operator-current-card b{line-height:1.05;}
.operator-select-compact .operator-current-card small{line-height:1.1;}
.operator-select-compact .operator-compact-hint{margin:8px 0 0!important;font-size:.86rem;line-height:1.25;}
@media(max-width:760px){
  .operator-select-compact{padding:14px!important;}
  .operator-select-compact .operator-compact-head{align-items:stretch;}
  .operator-select-compact .operator-compact-head .btn{min-height:42px;padding:0 12px;}
  .operator-select-compact .operator-compact-body{grid-template-columns:1fr;gap:8px;}
  .operator-select-compact .operator-current-card{padding:8px 10px;}
}

/* v2.7.2 - Backup database: progress bar ed elimina backup */
.database-archives-note{margin:0 0 12px;padding:10px 12px;border:1px dashed #cfe7d4;border-radius:14px;background:#fbfffb;color:#52675a;font-weight:850;font-size:.9rem}
.database-backup-progress{margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#f8fbf8;box-shadow:0 10px 24px rgba(16,32,24,.04)}
.database-backup-progress.hidden{display:none}
.database-backup-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.database-backup-progress-head b{color:var(--ink)}
.database-backup-progress-head span{font-weight:1000;color:var(--green)}
.database-backup-progress small{display:block;margin-top:8px;color:var(--muted);font-weight:850}
@media(max-width:760px){.database-archives-note{font-size:.78rem}.database-backup-progress{padding:10px;border-radius:16px}}

/* v2.7.3 - Operatori accorpati: niente doppioni, una sola sezione */
.operators-unified-panel{padding:16px 18px!important;}
.operators-unified-head{align-items:flex-start;margin-bottom:12px;}
.operators-unified-select{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,.7fr);gap:12px;align-items:end;border:1px solid var(--line);border-radius:18px;background:#fbfffc;padding:12px;margin-bottom:12px;}
.operators-unified-select .compact-select-label{margin:0!important;}
.operators-unified-select select{min-height:44px;height:44px;border-radius:14px;padding:0 12px;}
.operators-unified-hint{margin:0!important;font-size:.88rem;line-height:1.25;align-self:center;}
.operators-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 10px;}
.operators-unified-list{gap:8px;}
.operators-unified-list .operator-row-card{padding:10px 12px;}
@media(max-width:760px){
  .operators-unified-panel{padding:14px!important;}
  .operators-unified-head{flex-direction:column;align-items:stretch;}
  .operators-unified-head .btn{width:100%;min-height:42px;}
  .operators-unified-select{grid-template-columns:1fr;gap:8px;padding:10px;}
  .operators-unified-hint{font-size:.82rem;}
}

/* v2.7.4 - Progress bar In coda / Da aggiornare */
.queue-sync-popup{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.34);backdrop-filter:blur(3px);padding:18px;}
.queue-sync-popup.hidden{display:none;}
.queue-sync-card{width:min(560px,100%);border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 110px rgba(15,23,42,.28);padding:18px;}
.queue-sync-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.queue-sync-head h3{margin:0;font-size:1.35rem;letter-spacing:-.04em;}
.queue-sync-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.queue-sync-progress-head b{color:var(--ink);font-size:.96rem;}
.queue-sync-progress-head span{font-weight:1000;color:var(--green);}
.queue-sync-bar{height:12px;margin:8px 0 12px;}
.queue-sync-details{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px;max-height:220px;overflow:auto;}
.queue-sync-details li{display:flex;align-items:center;gap:9px;background:#f8fbf8;border:1px solid var(--line);border-radius:14px;padding:9px 10px;color:var(--ink);font-weight:850;}
.queue-sync-details li span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#ecfdf3;color:var(--green);font-weight:1000;flex:0 0 auto;}
.queue-sync-details li.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412;}
.queue-sync-details li.warn span{background:#ffedd5;color:#f97316;}
.queue-sync-popup.done{align-items:flex-end;justify-content:flex-end;background:transparent;backdrop-filter:none;pointer-events:none;}
.queue-sync-popup.done .queue-sync-card{width:min(460px,calc(100vw - 28px));pointer-events:auto;}
.queue-sync-popup.done .queue-sync-head h3{font-size:1.1rem;}
@media(max-width:760px){.queue-sync-popup{align-items:flex-end;padding:12px;}.queue-sync-card{border-radius:24px;padding:14px;}.queue-sync-head h3{font-size:1.15rem}.queue-sync-details{max-height:190px}.queue-sync-progress-head b{font-size:.86rem;}}

/* v2.7.6 - riepilogo compatto movimenti */
.movement-stats-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:12px}
.movement-stats-row span{border:1px solid #dbe8dc;background:#f8fffb;border-radius:14px;padding:8px 7px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;min-width:0}
.movement-stats-row b{font-size:1.05rem;line-height:1;color:#07162f}
.movement-stats-row small{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:900;white-space:nowrap}
.movement-edit-form textarea{resize:vertical;min-height:86px}
@media(max-width:700px){.movement-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-stats-row span:last-child{grid-column:1/-1}.movement-card-actions{grid-template-columns:1fr 1fr!important}.movement-card-actions .btn{width:100%;justify-content:center}}


/* v2.7.8 - Fix quantità annullo carico cumulativo */
.cumulative-quick{
  gap:0;
  align-content:center;
}
.cumulative-quick .cumulative-actions{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.cumulative-action{
  min-height:38px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-weight:1000;
  border:1px solid var(--line);
  background:#ecfdf3;
  color:var(--green);
  box-shadow:none;
}
.cumulative-action.orange{
  background:#fff7ed;
  color:#c2410c;
  border-color:#fed7aa;
}
.cumulative-action .ui-icon{width:17px;height:17px}
.bulk-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.bulk-mode-switch{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.bulk-mode-switch button{
  min-height:42px;
  padding:0 13px;
  border-radius:15px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-weight:1000;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.bulk-mode-switch button.active{
  background:linear-gradient(90deg,var(--green),var(--green2));
  border-color:transparent;
  color:white;
  box-shadow:0 12px 24px rgba(22,163,74,.20);
}
.bulk-mode-switch button:not(.active):first-child{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#c2410c;
}
.mobile-cumulative{
  grid-column:span 2;
  min-height:58px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--line);
  padding:7px;
  display:grid;
  gap:5px;
}
.mobile-cumulative>b{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font-size:.68rem;
  font-weight:1000;
  color:var(--ink);
}
.mobile-cumulative .ui-icon{width:18px;height:18px;color:var(--green)}
.mobile-cumulative>div{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
}
.mobile-primary .mobile-cumulative button{
  min-height:30px;
  border-radius:11px;
  font-size:.66rem;
  font-weight:1000;
  background:#f8fbf8;
  border:1px solid var(--line);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 4px;
}
.mobile-primary .mobile-cumulative button:first-child{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#c2410c;
}
@media(max-width:700px){
  .bulk-hero{display:block;padding:14px!important}
  .bulk-mode-switch{justify-content:stretch;margin-top:10px}
  .bulk-mode-switch button{flex:1 1 130px;min-height:38px;padding:0 8px;font-size:.78rem}
}


/* v2.7.9 - Movimenti: pannelli più compatti e filtri più stretti */
.movement-toolbar{
  grid-template-columns:minmax(235px,.72fr) minmax(420px,1.45fr) minmax(230px,.72fr);
  gap:11px;
}
.movement-summary,.movement-filter-panel,.movement-action-panel{
  padding:14px 16px;
  border-radius:22px;
}
.movement-summary h2{font-size:1.72rem}
.movement-summary p{font-size:.92rem;line-height:1.24;margin-top:6px}
.movement-count{margin-top:10px!important;padding:7px 11px}
.movement-stats-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:10px}
.movement-stats-row span{padding:6px 5px;border-radius:12px;align-items:center;text-align:center}
.movement-stats-row b{font-size:.98rem}
.movement-stats-row small{font-size:.57rem;letter-spacing:.015em}
.movement-filter-panel h3,.movement-action-panel h3{font-size:.95rem;margin-bottom:8px}
.movement-filter-grid{grid-template-columns:repeat(4,minmax(104px,1fr));gap:8px}
.movement-filter-grid label{gap:5px;font-size:11px}
.movement-filter-grid input,.movement-filter-grid select{padding:10px 11px;border-radius:12px;font-size:.86rem}
.movement-actions{gap:8px}
.movement-actions .btn{min-height:41px;border-radius:14px}
@media(max-width:1180px){
  .movement-toolbar{grid-template-columns:1fr;gap:10px}
  .movement-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .movement-summary,.movement-filter-panel,.movement-action-panel{padding:12px;border-radius:18px}
  .movement-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .movement-stats-row span:last-child{grid-column:1/-1}
}

/* v2.8.0 - Movimenti: filtri riorganizzati e azioni compatte */
.movement-toolbar-v280{
  grid-template-columns:minmax(350px,1.05fr) minmax(470px,1.2fr) minmax(205px,.52fr);
  gap:10px;
}
.movement-filter-grid-v280{
  display:grid;
  grid-template-columns:minmax(135px,.8fr) minmax(170px,1fr) minmax(150px,.8fr);
  grid-template-areas:
    "date client cancelled"
    "search search type";
  gap:8px;
  align-items:end;
}
.movement-date-filter{grid-area:date;}
.movement-client-filter{grid-area:client;}
.movement-cancel-filter{grid-area:cancelled;}
.movement-article-filter{grid-area:search;}
.movement-type-filter{grid-area:type;}
.movement-filter-grid-v280 .movement-cancel-filter{
  min-height:42px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  color:var(--ink);
  text-transform:none;
  letter-spacing:0;
}
.movement-filter-grid-v280 .movement-cancel-filter input{width:auto;margin:0;accent-color:var(--green);}
.movement-actions-v280{justify-items:start;}
.movement-actions-v280 .btn{
  width:min(100%,190px);
  min-height:39px;
  padding:0 13px;
  justify-content:flex-start;
  white-space:nowrap;
}
@media(max-width:1180px){
  .movement-toolbar-v280{grid-template-columns:1fr;}
  .movement-filter-grid-v280{grid-template-columns:repeat(3,minmax(0,1fr));}
  .movement-actions-v280{grid-template-columns:repeat(4,max-content);}
  .movement-actions-v280 .btn{width:auto;min-width:148px;}
}
@media(max-width:700px){
  .movement-filter-grid-v280{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "date client"
      "cancelled cancelled"
      "search search"
      "type type";
  }
  .movement-actions-v280{grid-template-columns:1fr 1fr;justify-items:stretch;}
  .movement-actions-v280 .btn{width:100%;min-width:0;justify-content:center;}
}
.movement-filter-grid-v280 > label.movement-date-filter{grid-area:date;grid-column:auto;}
.movement-filter-grid-v280 > label.movement-client-filter{grid-area:client;grid-column:auto;}
.movement-filter-grid-v280 > label.movement-cancel-filter{grid-area:cancelled;grid-column:auto;}
.movement-filter-grid-v280 > label.movement-article-filter{grid-area:search;grid-column:auto;}
.movement-filter-grid-v280 > label.movement-type-filter{grid-area:type;grid-column:auto;}


/* v2.8.4 - telefono in topbar più leggibile: evita taglio di Samsung */
/* v2.8.5 - backup database: rimosso tasto Ripristina file duplicato */
.remote-top{
  min-width:202px;
  max-width:292px;
  flex:0 0 auto;
  padding-inline:10px!important;
}
.remote-top .remote-top-text{
  flex:1 1 auto;
  min-width:0;
}
.remote-top .remote-top-text b{
  max-width:190px;
  font-size:.84rem;
  letter-spacing:-.02em;
}
.remote-top .remote-top-text small{
  font-size:.64rem;
}
@media(max-width:1280px){
  .top-actions{gap:7px;}
  .remote-top{min-width:188px;max-width:220px;}
  .remote-top .remote-top-text b{max-width:158px;font-size:.8rem;}
}
@media(max-width:1120px){
  .remote-top{min-width:172px;max-width:190px;padding-inline:8px!important;}
  .remote-top .remote-top-text b{max-width:132px;font-size:.76rem;}
}


/* v2.9.1 - scanner automatico semplificato */
.filters-described{align-items:end;}
.filter-field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.filter-field span{font-size:.72rem;font-weight:1000;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-left:2px;}
.filter-field select{width:100%;font-weight:850;}
@media(max-width:700px){
  .filters-described{grid-template-columns:1fr;}
  .filter-field span{font-size:.68rem;}
}

/* v2.9.1 scanner a doppio tocco */
.scanner-frame.camera-ready:before{content:"Posiziona il codice, poi tocca per leggere";display:block!important;background:rgba(255,247,237,.94);color:#9a3412;}
.scanner-frame.reading:before{content:"Lettura attiva: tieni fermo";display:block!important;background:rgba(22,163,74,.94);color:white;}
.scanner-frame.reading .scanner-reticle:after{animation:scanPulse .65s ease-in-out infinite alternate;}
@keyframes scanPulse{from{opacity:.55}to{opacity:1;box-shadow:0 0 18px rgba(249,115,22,.85)}}


/* v2.9.8 - scanner laser area stretta + beep rinforzato */
@media(max-width:700px){
  #movementTopBtn{
    min-width:96px;
    padding:0 8px;
    gap:5px;
  }
  #movementTopBtn > span:first-child{
    display:grid!important;
    width:20px;
    height:20px;
    flex:0 0 20px;
  }
  #movementTopBtn > span:first-child svg{
    width:18px;
    height:18px;
  }
}

/* v2.9.8 - scanner laser: fascia reale più stretta */
.scanner-frame[data-scan-mode="pistola"] .scanner-reticle{height:92px;border-color:#f97316;box-shadow:0 0 0 999px rgba(0,0,0,.42),0 0 28px rgba(249,115,22,.42)}
.scanner-frame[data-scan-mode="pistola"] .scanner-reticle:before{content:"";position:absolute;left:10px;right:10px;top:calc(50% - 10px);height:20px;border-top:1px dashed rgba(249,115,22,.70);border-bottom:1px dashed rgba(249,115,22,.70);background:rgba(249,115,22,.10);color:transparent;font-size:0;line-height:0;text-shadow:none}
.scanner-frame[data-scan-mode="pistola"] .scanner-reticle:after{height:4px;background:linear-gradient(90deg,transparent,#ff2d00,#ffb000,#ff2d00,transparent);box-shadow:0 0 18px rgba(249,115,22,.85),0 0 0 10px rgba(249,115,22,.10)}
.scanner-frame[data-scan-mode="pistola"].reading .scanner-reticle:after{animation:scanPulse .38s ease-in-out infinite alternate}
@media(max-width:700px){.scanner-frame[data-scan-mode="pistola"] .scanner-reticle{height:86px;width:94%}}


/* v2.9.9 - Banco mobile più pulito: niente sovrapposizioni e menu inferiore compatto */
@media(max-width:700px){
  .app-shell{
    padding:8px 8px calc(126px + env(safe-area-inset-bottom,0px))!important;
  }
  .content{
    padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important;
  }
  .screen.active::after{
    height:calc(92px + env(safe-area-inset-bottom,0px))!important;
  }
  .app-topbar{
    position:relative!important;
    top:auto!important;
    z-index:18!important;
    margin:0 0 8px!important;
    padding:10px 12px!important;
    border-radius:22px!important;
  }
  .mobile-status{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    margin:0 0 8px!important;
    min-height:44px!important;
    border-radius:18px!important;
  }
  .mobile-launch{
    gap:8px!important;
    margin-bottom:8px!important;
  }
  .mobile-search{
    height:48px!important;
    border-radius:18px!important;
  }
  .mobile-scan{
    min-height:56px!important;
    border-radius:19px!important;
  }
  .mobile-primary{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .mobile-primary button{
    min-height:56px!important;
    border-radius:16px!important;
    font-size:.98rem!important;
  }
  .mobile-primary button b{
    font-size:.66rem!important;
    line-height:1.05!important;
  }
  .mobile-cumulative{
    min-height:56px!important;
    padding:6px!important;
    border-radius:16px!important;
  }
  .mobile-cumulative>b{font-size:.66rem!important;}
  .mobile-cumulative>div{gap:5px!important;}
  .mobile-primary .mobile-cumulative button{
    min-height:30px!important;
    border-radius:11px!important;
    font-size:.66rem!important;
  }
  .kpi-grid{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:8px 0!important;
  }
  .kpi{
    min-height:112px!important;
    border-radius:18px!important;
    padding:12px!important;
  }
  .kpi .eyebrow{font-size:.62rem!important;}
  .kpi strong{
    font-size:1.75rem!important;
    line-height:1.05!important;
    margin-top:8px!important;
  }
  .kpi small{font-size:.82rem!important;}
  .dashboard-grid{margin-top:8px!important;}
  .nav-tabs{
    left:10px!important;
    right:10px!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
    padding:8px!important;
    border-radius:22px!important;
  }
  .nav-tab{
    min-height:46px!important;
    padding:4px 2px!important;
    border-radius:16px!important;
    font-size:.58rem!important;
    gap:2px!important;
  }
  .nav-tab span,
  .nav-tab .ui-icon{
    width:22px!important;
    height:22px!important;
    padding:4px!important;
    border-radius:8px!important;
  }
  .nav-tab.active{
    border-radius:18px!important;
    box-shadow:0 8px 20px rgba(22,163,74,.22)!important;
  }
}


/* v2.9.10 - Scanner: mirino grande + sola fascia reale centrale */
.scanner-frame[data-scan-mode="pistola"] .scanner-reticle{
  width:min(88%,520px)!important;
  height:150px!important;
  border:2px solid rgba(255,255,255,.82)!important;
  border-radius:22px!important;
  box-shadow:0 0 0 999px rgba(0,0,0,.43),0 0 28px rgba(249,115,22,.34)!important;
}
.scanner-frame[data-scan-mode="pistola"] .scanner-reticle:before{
  content:""!important;
  position:absolute!important;
  left:17%!important;
  right:17%!important;
  top:calc(50% - 10px)!important;
  height:20px!important;
  padding:0!important;
  transform:none!important;
  border-radius:999px!important;
  border-top:1px dashed rgba(249,115,22,.82)!important;
  border-bottom:1px dashed rgba(249,115,22,.82)!important;
  background:rgba(249,115,22,.12)!important;
  color:transparent!important;
  line-height:0!important;
  text-shadow:none!important;
  box-shadow:0 0 14px rgba(249,115,22,.18) inset!important;
}
.scanner-frame[data-scan-mode="pistola"] .scanner-reticle:after{
  content:""!important;
  position:absolute!important;
  left:15%!important;
  right:15%!important;
  top:calc(50% - 2px)!important;
  height:4px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,#ff2d00 18%,#ffb000 50%,#ff2d00 82%,transparent)!important;
  box-shadow:0 0 18px rgba(249,115,22,.88),0 0 0 7px rgba(249,115,22,.08)!important;
}
.scanner-frame[data-scan-mode="pistola"].reading .scanner-reticle:after{animation:scanPulse .35s ease-in-out infinite alternate!important;}

/* v2.9.10 - Cellulare: riquadri Articoli/Clienti/Home più compatti */
@media(max-width:700px){
  .app-shell{padding:6px 6px calc(112px + env(safe-area-inset-bottom,0px))!important;}
  .content{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))!important;}
  .screen.active::after{height:calc(76px + env(safe-area-inset-bottom,0px))!important;}
  .app-topbar{padding:8px 10px!important;border-radius:18px!important;margin-bottom:6px!important;}
  .top-title{gap:8px!important;}
  .top-title h1{font-size:1.08rem!important;}
  .hamb{width:38px!important;height:38px!important;border-radius:14px!important;}
  .mobile-status{min-height:36px!important;padding:7px 10px!important;border-radius:14px!important;margin-bottom:6px!important;font-size:.76rem!important;}
  .mobile-launch{gap:6px!important;margin-bottom:6px!important;}
  .mobile-search{height:42px!important;border-radius:15px!important;padding:0 10px!important;}
  .mobile-search input{font-size:.82rem!important;}
  .mobile-scan{min-height:46px!important;border-radius:15px!important;font-size:.9rem!important;gap:6px!important;}
  .mobile-scan .ui-icon{width:22px!important;height:22px!important;}
  .mobile-primary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;}
  .mobile-primary button{min-height:46px!important;border-radius:13px!important;font-size:.88rem!important;gap:2px!important;box-shadow:none!important;}
  .mobile-primary button b{font-size:.58rem!important;line-height:1.02!important;}
  .mobile-primary .ui-icon{width:18px!important;height:18px!important;}
  .mobile-cumulative{min-height:46px!important;padding:4px!important;border-radius:13px!important;gap:2px!important;}
  .mobile-cumulative>b{font-size:.58rem!important;line-height:1!important;}
  .mobile-cumulative .ui-icon{width:15px!important;height:15px!important;}
  .mobile-primary .mobile-cumulative button{min-height:24px!important;border-radius:9px!important;font-size:.58rem!important;padding:0 4px!important;}
  .kpi-grid{gap:6px!important;margin:6px 0!important;}
  .kpi{min-height:78px!important;padding:8px 9px!important;border-radius:15px!important;box-shadow:none!important;}
  .kpi .eyebrow{font-size:.54rem!important;margin-bottom:2px!important;}
  .kpi strong{font-size:1.16rem!important;line-height:1!important;margin-top:4px!important;}
  .kpi small{font-size:.66rem!important;line-height:1.1!important;}
  .panel,.card{border-radius:15px!important;box-shadow:none!important;}
  .panel{padding:9px!important;}
  .card{padding:9px!important;}
  .panel-head{margin-bottom:7px!important;gap:7px!important;}
  .panel-head h3{font-size:.92rem!important;line-height:1.08!important;}
  .eyebrow{font-size:.58rem!important;margin-bottom:3px!important;}
  .stat-label,.hint{font-size:.72rem!important;line-height:1.18!important;}
  .toolbar{gap:7px!important;margin-bottom:8px!important;}
  .searchbox{height:44px!important;min-height:44px!important;border-radius:16px!important;padding:0 10px!important;gap:7px!important;}
  .searchbox input{height:42px!important;font-size:.82rem!important;}
  .scan-mini{width:36px!important;height:36px!important;border-radius:12px!important;}
  .filters{gap:6px!important;}
  .filters select,.filters input,.filters textarea,input,textarea,select{border-radius:13px!important;padding:9px 10px!important;font-size:.82rem!important;}
  .item-list{gap:7px!important;}
  .item-card{border-radius:16px!important;padding:10px!important;box-shadow:none!important;}
  .item-top{gap:7px!important;}
  .item-title{font-size:.88rem!important;line-height:1.12!important;}
  .item-meta{gap:4px!important;margin:7px 0!important;}
  .pill{padding:4px 7px!important;font-size:.64rem!important;}
  .code-row{gap:5px!important;}
  .mini{border-radius:12px!important;padding:7px!important;}
  .mini small{font-size:.60rem!important;line-height:1.05!important;}
  .mini strong{font-size:.74rem!important;margin-top:2px!important;line-height:1.08!important;}
  .item-card-actions{gap:6px!important;padding:0 10px 10px!important;}
  .item-card-actions .btn{min-height:30px!important;border-radius:10px!important;font-size:.68rem!important;padding:0 6px!important;}
  #clients .mobile-cards{gap:7px!important;}
  #clients .mobile-cards .client-row.client-card-row{min-height:58px!important;padding:8px 9px!important;border-radius:14px!important;gap:7px!important;box-shadow:none!important;}
  #clients .mobile-cards .client-row-main b{font-size:.82rem!important;line-height:1.08!important;}
  #clients .mobile-cards .client-row-main small{font-size:.66rem!important;line-height:1.05!important;margin-top:2px!important;}
  #clients .mobile-cards .client-row-actions{gap:4px!important;}
  #clients .mobile-cards .client-row-actions .btn{height:27px!important;min-height:27px!important;border-radius:9px!important;font-size:.61rem!important;padding:0 5px!important;}
  #clients .mobile-cards .client-row-actions .btn .ui-icon{width:12px!important;height:12px!important;}
  .movement-row{padding:7px!important;border-radius:12px!important;gap:7px!important;}
  .movement-icon{width:30px!important;height:30px!important;border-radius:10px!important;}
  .movement-row b{font-size:.78rem!important;line-height:1.08!important;}
  .movement-row small{font-size:.62rem!important;line-height:1.05!important;}
  .print-grid{gap:7px!important;}
  .print-card{min-height:88px!important;border-radius:16px!important;padding:10px!important;box-shadow:none!important;}
  .print-card b{font-size:.88rem!important;line-height:1.08!important;}
  .print-card small{font-size:.66rem!important;line-height:1.1!important;margin-top:4px!important;}
  .scanner-frame[data-scan-mode="pistola"] .scanner-reticle{width:92%!important;height:132px!important;border-radius:19px!important;}
  .scanner-frame[data-scan-mode="pistola"] .scanner-reticle:before{left:14%!important;right:14%!important;height:18px!important;top:calc(50% - 9px)!important;}
  .scanner-frame[data-scan-mode="pistola"] .scanner-reticle:after{left:12%!important;right:12%!important;height:4px!important;}
}
@media(max-width:420px){
  .mobile-primary button{min-height:42px!important;}
  .mobile-primary button b{font-size:.54rem!important;}
  .kpi{min-height:72px!important;}
  .item-card{padding:8px!important;}
  #clients .mobile-cards .client-row.client-card-row{padding:7px 8px!important;}
}

/* v2.9.11 - Rimosso messaggio finale “chiudi con la X” dal riepilogo aggiornamento/ricarica. */

/* v2.9.14 - Banco cellulare: Coda in alto, Aggiorna separato, griglia su 2 righe e KPI compatti */
.mobile-home-refresh-row{display:none;}
@media(max-width:700px){
  /* Nella barra alta del telefono resta una sola scansione: quella grande nella Home. */
  #scanTopBtn{display:none!important;}

  /* La box In coda prende il posto del tasto Scansione in alto. */
  #queueTopBtn.queue-top{
    display:inline-flex!important;
    min-width:86px!important;
    min-height:42px!important;
    padding:0 9px!important;
    border-radius:14px!important;
    justify-content:center!important;
  }
  #queueTopBtn .top-op-text{align-items:center!important;}
  #queueTopBtn b{font-size:1rem!important;line-height:1!important;}
  #queueTopBtn small{font-size:.61rem!important;}

  /* Evita la seconda box In coda dentro la Home: ora è già in alto. */
  .home-sync-row{display:none!important;}

  /* Aggiorna resta in Home ma fuori dalla griglia dei pulsanti. */
  .mobile-home-refresh-row{display:block!important;margin:0 0 6px!important;}
  .mobile-home-refresh{
    width:100%!important;
    min-height:40px!important;
    border-radius:14px!important;
    border:1px solid #bbf7d0!important;
    background:#f8fff9!important;
    color:var(--ink)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    font-weight:1000!important;
    box-shadow:none!important;
  }
  .mobile-home-refresh .ui-icon{width:19px!important;height:19px!important;color:var(--green)!important;}
  .mobile-home-refresh span{display:flex!important;align-items:baseline!important;gap:7px!important;line-height:1!important;}
  .mobile-home-refresh b{font-size:.84rem!important;}
  .mobile-home-refresh small{font-size:.66rem!important;color:var(--muted)!important;font-weight:900!important;}

  /* Pulsanti principali su due file: 4 sopra e 4 sotto contando Cumulativi doppio. */
  .mobile-primary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;}
  .mobile-primary button{min-height:42px!important;}
  .mobile-cumulative{grid-column:span 2!important;min-height:42px!important;}

  /* KPI: Articoli, Clienti e Valore stock sulla prima riga; Esauriti e Sotto scorta sulla seconda. */
  .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin:6px 0!important;}
  .kpi{min-height:66px!important;padding:7px 7px!important;border-radius:14px!important;}
  .kpi .eyebrow{font-size:.48rem!important;letter-spacing:.055em!important;line-height:1.05!important;}
  .kpi strong{font-size:1.02rem!important;line-height:1!important;margin-top:3px!important;word-break:normal!important;}
  .kpi small{font-size:.59rem!important;line-height:1.05!important;}
  .kpi.blue strong{font-size:.88rem!important;letter-spacing:-.04em!important;white-space:nowrap!important;}
}
@media(max-width:380px){
  .kpi strong{font-size:.96rem!important;}
  .kpi.blue strong{font-size:.78rem!important;}
  .kpi small{font-size:.55rem!important;}
  #movementTopBtn{min-width:82px!important;}
  #queueTopBtn.queue-top{min-width:78px!important;}
}



/* v2.9.14 - Banco cellulare: KPI 2 sopra + 3 sotto
   Riga 1: Articoli | Valore stock
   Riga 2: Clienti | Esauriti | Sotto scorta */
@media(max-width:700px){
  .kpi-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:5px!important;
    margin:6px 0!important;
  }
  .kpi-grid .kpi-articoli,
  .kpi-grid .kpi-stock{
    grid-column:span 3!important;
  }
  .kpi-grid .kpi-clienti,
  .kpi-grid .kpi-esauriti,
  .kpi-grid .kpi-sotto-scorta{
    grid-column:span 2!important;
  }
  .kpi-grid .kpi-stock strong{
    font-size:.92rem!important;
    white-space:nowrap!important;
    letter-spacing:-.045em!important;
  }
}
@media(max-width:380px){
  .kpi-grid .kpi-stock strong{font-size:.80rem!important;}
}


/* v2.9.14 - Cellulare: ripristino icona sul pulsante In coda in alto */
@media(max-width:700px){
  #queueTopBtn.queue-top{
    gap:6px!important;
    min-width:96px!important;
    justify-content:center!important;
  }
  #queueTopBtn.queue-top > span:first-child{
    display:grid!important;
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
    color:var(--green)!important;
  }
  #queueTopBtn.queue-top > span:first-child svg{
    width:18px!important;
    height:18px!important;
  }
  #queueTopBtn.queue-top.warn > span:first-child{
    color:#f97316!important;
  }
}
@media(max-width:380px){
  #queueTopBtn.queue-top{min-width:88px!important;padding:0 7px!important;}
  #queueTopBtn.queue-top > span:first-child{width:18px!important;height:18px!important;flex-basis:18px!important;}
  #queueTopBtn.queue-top > span:first-child svg{width:16px!important;height:16px!important;}
}


/* v2.9.15 - Cellulare: filtri Articoli/Riordino e comandi compatti sulla stessa riga */
@media(max-width:700px){
  #items .filters-described,
  #reorder .filters-described{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }
  #items .filter-field,
  #reorder .filter-field{
    gap:3px!important;
    min-width:0!important;
  }
  #items .filter-field span,
  #reorder .filter-field span{
    font-size:.52rem!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    padding-left:1px!important;
    white-space:nowrap!important;
  }
  #items .filter-field select,
  #reorder .filter-field select{
    height:38px!important;
    min-height:38px!important;
    padding:7px 6px!important;
    border-radius:11px!important;
    font-size:.72rem!important;
    font-weight:900!important;
  }
  #clients .page-head .head-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    width:100%!important;
    margin-top:8px!important;
  }
  #clients .page-head .head-actions .btn{
    width:100%!important;
    min-height:38px!important;
    padding:0 6px!important;
    border-radius:12px!important;
    font-size:.72rem!important;
    justify-content:center!important;
    gap:5px!important;
  }
  #clients .page-head .head-actions .btn .ui-icon{
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
  }
  .bulk-summary.bulk-summary-inline{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    padding:8px!important;
    margin:8px 0!important;
    border-radius:14px!important;
  }
  .bulk-summary.bulk-summary-inline span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-width:0!important;
    padding:7px 5px!important;
    border:1px solid #dbe8dc!important;
    border-radius:12px!important;
    background:#fff!important;
    text-align:center!important;
  }
  .bulk-summary.bulk-summary-inline b{
    font-size:1.18rem!important;
    line-height:1!important;
    margin:0!important;
  }
  .bulk-summary.bulk-summary-inline small{
    font-size:.62rem!important;
    line-height:1.05!important;
    font-weight:1000!important;
    color:var(--muted)!important;
  }
}
@media(max-width:380px){
  #items .filter-field span,
  #reorder .filter-field span{font-size:.48rem!important;}
  #items .filter-field select,
  #reorder .filter-field select{font-size:.66rem!important;padding:7px 4px!important;}
  #clients .page-head .head-actions .btn{font-size:.66rem!important;gap:4px!important;}
  .bulk-summary.bulk-summary-inline span{gap:4px!important;padding:6px 4px!important;}
  .bulk-summary.bulk-summary-inline b{font-size:1.05rem!important;}
  .bulk-summary.bulk-summary-inline small{font-size:.57rem!important;}
}

/* v2.9.16 - Sincronizzazione: elenco dettagli più alto, senza scroll interno sul cellulare */
.queue-sync-card{
  max-height:calc(100dvh - 36px);
  display:flex;
  flex-direction:column;
}
.queue-sync-details{
  max-height:none!important;
  overflow:visible!important;
  flex:1 1 auto;
}
@media(max-width:760px){
  .queue-sync-popup{
    align-items:stretch!important;
    justify-content:center!important;
    padding:10px!important;
  }
  .queue-sync-card{
    width:100%!important;
    min-height:calc(100dvh - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:22px!important;
    padding:12px!important;
  }
  .queue-sync-head{
    margin-bottom:8px!important;
  }
  .queue-sync-head .eyebrow{
    font-size:.56rem!important;
  }
  .queue-sync-head h3{
    font-size:1.06rem!important;
  }
  .queue-sync-progress-head{
    margin-bottom:6px!important;
  }
  .queue-sync-progress-head b{
    font-size:.78rem!important;
    line-height:1.15!important;
  }
  .queue-sync-bar{
    height:10px!important;
    margin:6px 0 8px!important;
  }
  .queue-sync-details{
    gap:6px!important;
    margin-top:8px!important;
  }
  .queue-sync-details li{
    border-radius:12px!important;
    padding:7px 8px!important;
    gap:7px!important;
    font-size:.78rem!important;
    line-height:1.12!important;
  }
  .queue-sync-details li span{
    width:19px!important;
    height:19px!important;
    flex-basis:19px!important;
    font-size:.72rem!important;
  }
}
@media(max-width:380px){
  .queue-sync-popup{padding:8px!important;}
  .queue-sync-card{
    min-height:calc(100dvh - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    padding:10px!important;
  }
  .queue-sync-details{gap:5px!important;}
  .queue-sync-details li{font-size:.72rem!important;padding:6px 7px!important;}
}


/* v2.9.17 - Cellulare: Movimenti più compatti + niente scroll interno nelle liste */
@media(max-width:700px){
  /* In Movimenti: Tipo affiancato a Numero / articolo / codice. */
  .movement-filter-grid-v280{
    grid-template-columns:minmax(0,1.65fr) minmax(92px,.85fr)!important;
    grid-template-areas:
      "date client"
      "cancelled cancelled"
      "search type"!important;
    gap:6px!important;
  }
  .movement-filter-grid-v280 > label.movement-article-filter{grid-area:search!important;}
  .movement-filter-grid-v280 > label.movement-type-filter{grid-area:type!important;}
  .movement-filter-grid-v280 > label.movement-type-filter select,
  .movement-filter-grid-v280 > label.movement-article-filter input{
    height:38px!important;
    min-height:38px!important;
    padding:7px 8px!important;
    font-size:.72rem!important;
    border-radius:11px!important;
  }
  .movement-filter-grid-v280 > label.movement-type-filter{min-width:0!important;}
  .movement-filter-grid-v280 > label.movement-type-filter{font-size:.56rem!important;}
  .movement-filter-grid-v280 > label.movement-article-filter{font-size:.56rem!important;}

  /* Le liste non hanno più una scrollbar interna: scorre solo la pagina principale. */
  #clients .client-list,
  #clients .mobile-cards,
  #items .item-list,
  #reorder .item-list,
  #movements #movementResults,
  #movements .movement-list,
  #bulkOut .bulk-results,
  #bulkOut #bulkRowsBox,
  #print .print-grid,
  .reload-details,
  .queue-sync-details{
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
  }

  /* Evita scroll orizzontali nelle tabelle quando vengono usate anche su telefono. */
  #clients .table-wrap,
  #items .table-wrap,
  #reorder .table-wrap,
  #movements .table-wrap,
  #bulkOut .table-wrap{
    overflow:visible!important;
  }
}
@media(max-width:380px){
  .movement-filter-grid-v280{grid-template-columns:minmax(0,1.55fr) minmax(84px,.8fr)!important;}
  .movement-filter-grid-v280 > label.movement-type-filter select,
  .movement-filter-grid-v280 > label.movement-article-filter input{font-size:.66rem!important;padding:6px 5px!important;}
}


/* v2.9.18 - Cellulare: box più elastiche, nessun testo tagliato */
@media(max-width:700px){
  /* Regola generale: i riquadri sul telefono devono contenere anche la voce più lunga. */
  .panel, .card, .kpi, .quick, .section-mini, .activity-tile,
  .mobile-status, .mobile-scan, .mobile-primary button, .mobile-cumulative,
  .home-sync-card, .top-op-viewer, #queueTopBtn.queue-top, #movementTopBtn,
  .filter-field, .movement-filter-grid-v280 label, .bulk-summary.bulk-summary-inline span,
  #clients .page-head .head-actions .btn, .head-actions .btn,
  .client-row.client-card-row, .item-card, .mini, .pill, .print-card, .meta-field,
  .queue-sync-details li, .movement-stats-row span{
    min-width:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  .mobile-primary button b, .mobile-cumulative>b, .mobile-cumulative button,
  .kpi .eyebrow, .kpi small, .stat-label, .hint,
  .filter-field span, .movement-filter-grid-v280 label,
  #clients .page-head .head-actions .btn, .head-actions .btn,
  .bulk-summary.bulk-summary-inline small, .movement-stats-row small,
  .print-card .print-dates span, .print-card .print-dates b,
  .meta-row legend, .meta-field span, .pill{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.08!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:auto!important;
  }

  /* I campi selezione mantengono la stessa riga: Magazzino / Stato / Categoria, con Categoria più larga. */
  #items .filters-described,
  #reorder .filters-described{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.05fr) minmax(0,1.35fr)!important;
    gap:6px!important;
  }
  #items .filter-field select,
  #reorder .filter-field select,
  .movement-filter-grid-v280 select,
  .movement-filter-grid-v280 input,
  .meta-field input,
  .filters select,
  .filters input{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:40px!important;
    line-height:1.12!important;
    padding:8px 7px!important;
    white-space:normal!important;
    text-overflow:clip!important;
    overflow:visible!important;
  }

  /* Nei pulsanti a due colonne, il testo può andare su due righe invece di essere schiacciato. */
  #clients .page-head .head-actions .btn,
  .head-actions .btn,
  .movement-actions-v280 .btn,
  .bulk-mode-switch button,
  .client-row-actions .btn,
  .item-card-actions .btn{
    height:auto!important;
    min-height:40px!important;
    padding:7px 8px!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  /* Le due box dello scarico cumulativo devono restare leggibili anche con testo lungo. */
  .bulk-summary.bulk-summary-inline{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .bulk-summary.bulk-summary-inline span{
    min-height:46px!important;
    align-items:center!important;
  }

  /* Le box statistiche non devono tagliare descrizioni come Sotto scorta / Valore stock. */
  .kpi{
    height:auto!important;
    min-height:72px!important;
  }
  .kpi-grid .kpi-stock strong{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Clienti: nome, telefono e pulsanti visibili, senza taglio forzato. */
  #clients .mobile-cards .client-row-main{
    overflow:visible!important;
  }
  #clients .mobile-cards .client-row-main small{
    display:block!important;
    -webkit-line-clamp:unset!important;
    -webkit-box-orient:initial!important;
    overflow:visible!important;
    white-space:normal!important;
  }
}

@media(max-width:390px){
  /* Sui telefoni stretti, se tre box non bastano, meglio 2 sopra + 1 sotto che testo tagliato. */
  #items .filters-described,
  #reorder .filters-described{
    grid-template-columns:1fr 1fr!important;
  }
  #items .filters-described .filter-field:nth-child(3),
  #reorder .filters-described .filter-field:nth-child(3){
    grid-column:1/-1!important;
  }
  #items .filter-field select,
  #reorder .filter-field select{
    font-size:.68rem!important;
  }
}

/* v2.9.19 - Cellulare: Categoria spostata nell’ultima box più larga */
@media(max-width:700px){
  #items .filters-described .filter-field:nth-child(3),
  #reorder .filters-described .filter-field:nth-child(3){
    min-width:0!important;
  }
}


/* v2.9.20 - Cellulare: Movimenti filtri ricerca più ordinati */
@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.28fr)!important;
    grid-template-areas:
      "date cancelled"
      "client client"
      "search type"!important;
    gap:6px!important;
    align-items:end!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter{grid-area:date!important;}
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{grid-area:cancelled!important;}
  #movements .movement-filter-grid-v280 > label.movement-client-filter{grid-area:client!important;}
  #movements .movement-filter-grid-v280 > label.movement-article-filter{grid-area:search!important;}
  #movements .movement-filter-grid-v280 > label.movement-type-filter{grid-area:type!important;}
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    min-height:40px!important;
    padding:6px 8px!important;
    justify-content:flex-start!important;
    font-size:.68rem!important;
    line-height:1.05!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-article-filter input{
    font-size:.66rem!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-type-filter select{
    font-size:.72rem!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
}
@media(max-width:380px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{font-size:.62rem!important;padding:5px 6px!important;}
  #movements .movement-filter-grid-v280 > label.movement-article-filter input{font-size:.61rem!important;}
  #movements .movement-filter-grid-v280 > label.movement-type-filter select{font-size:.66rem!important;}
}

/* v2.9.21 - Movimenti: filtri PC riordinati e Mostra annullati compatto su mobile */
@media(min-width:701px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(130px,.85fr) minmax(165px,1fr) minmax(170px,1fr)!important;
    grid-template-areas:
      "date type cancelled"
      "search search search"
      "client client client"!important;
    gap:10px!important;
    align-items:end!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter{grid-area:date!important;}
  #movements .movement-filter-grid-v280 > label.movement-type-filter{grid-area:type!important;}
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{grid-area:cancelled!important;}
  #movements .movement-filter-grid-v280 > label.movement-article-filter{grid-area:search!important;}
  #movements .movement-filter-grid-v280 > label.movement-client-filter{grid-area:client!important;}
  #movements .movement-filter-grid-v280 > label.movement-article-filter input,
  #movements .movement-filter-grid-v280 > label.movement-client-filter select{
    min-height:44px!important;
  }
}

@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-template-areas:
      "date date date date date date cancelled cancelled cancelled cancelled cancelled cancelled"
      "client client client client client client client client client client client client"
      "search search search search search type type type type type type type"!important;
    gap:6px!important;
    align-items:end!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter{grid-area:date!important;}
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{grid-area:cancelled!important;}
  #movements .movement-filter-grid-v280 > label.movement-client-filter{grid-area:client!important;}
  #movements .movement-filter-grid-v280 > label.movement-article-filter{grid-area:search!important;}
  #movements .movement-filter-grid-v280 > label.movement-type-filter{grid-area:type!important;}
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    min-height:38px!important;
    height:38px!important;
    padding:5px 6px!important;
    border-radius:11px!important;
    font-size:.62rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    justify-content:flex-start!important;
    gap:5px!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter input{
    width:14px!important;
    height:14px!important;
    flex:0 0 auto!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-article-filter input{
    font-size:.63rem!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-type-filter select{
    font-size:.7rem!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
}
@media(max-width:380px){
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    font-size:.58rem!important;
    padding:5px 4px!important;
    gap:4px!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter input{
    width:13px!important;
    height:13px!important;
  }
}


/* v2.9.22 - Cellulare: Mostra annullati allineato dentro la box */
@media(max-width:700px){
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 8px!important;
    border-radius:12px!important;
    font-size:.66rem!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter input{
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    flex:0 0 14px!important;
    margin:0!important;
    padding:0!important;
  }
}
@media(max-width:380px){
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    font-size:.60rem!important;
    gap:4px!important;
    padding:0 5px!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter input{
    width:13px!important;
    height:13px!important;
    min-width:13px!important;
    flex-basis:13px!important;
  }
}


/* v3.0.130 - Cellulare: versione software nella barra alta vicino a In coda e Mov. oggi */
.version-top{display:none;}
@media(max-width:700px){
  #versionTopBtn.version-top{
    display:inline-flex!important;
    min-width:82px!important;
    min-height:42px!important;
    padding:0 8px!important;
    border-radius:14px!important;
    justify-content:center!important;
    flex:0 0 auto!important;
  }
  #versionTopBtn.version-top > span:first-child{display:none!important;}
  #versionTopBtn .top-op-text{align-items:center!important;}
  #versionTopBtn b{
    font-size:.78rem!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
  }
  #versionTopBtn small{font-size:.58rem!important;line-height:1.05!important;}
  .app-topbar .top-title{min-width:0!important;}
  .app-topbar .top-actions{flex:0 0 auto!important;}
}
@media(max-width:380px){
  #versionTopBtn.version-top{min-width:72px!important;padding:0 6px!important;}
  #versionTopBtn b{font-size:.70rem!important;}
  #versionTopBtn small{font-size:.54rem!important;}
}


/* v3.0.130 - PC: riepilogo cumulativo in due box separate; Mobile: versione sotto il titolo sezione */
.bulk-summary.bulk-summary-inline{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  padding:10px!important;
  margin:10px 0!important;
  border-radius:18px!important;
  background:#f8fafc!important;
}
.bulk-summary.bulk-summary-inline span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-height:54px!important;
  padding:10px 12px!important;
  border:1px solid #dbe8dc!important;
  border-radius:14px!important;
  background:#fff!important;
  text-align:center!important;
  box-shadow:0 6px 18px rgba(15,23,42,.04)!important;
}
.bulk-summary.bulk-summary-inline b{
  display:block!important;
  flex:0 0 auto!important;
  font-size:1.55rem!important;
  line-height:1!important;
  margin:0!important;
  letter-spacing:-.04em!important;
}
.bulk-summary.bulk-summary-inline small{
  display:block!important;
  flex:0 1 auto!important;
  font-size:.82rem!important;
  line-height:1.06!important;
  font-weight:1000!important;
  color:var(--muted)!important;
  text-align:left!important;
}
.version-top{display:none!important;}
.mobile-title-version{display:none;}
@media(max-width:700px){
  .app-topbar .top-title{align-items:flex-start!important;gap:8px!important;}
  .app-topbar .top-title .hamb{margin-top:1px!important;}
  .app-topbar .top-title-text{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;line-height:1!important;transform:translateY(-2px);}
  .app-topbar .top-title-text .eyebrow{margin:0 0 1px!important;font-size:.54rem!important;line-height:1!important;}
  .app-topbar .top-title-text h1{margin:0!important;line-height:1.02!important;}
  .mobile-title-version{display:block!important;margin-top:4px!important;font-size:.58rem!important;line-height:1!important;font-weight:900!important;color:var(--muted)!important;white-space:nowrap!important;}
  #queueTopBtn.queue-top{order:0!important;}
  #movementTopBtn{order:1!important;}
  .bulk-summary.bulk-summary-inline{gap:6px!important;padding:8px!important;margin:8px 0!important;border-radius:14px!important;}
  .bulk-summary.bulk-summary-inline span{min-height:46px!important;gap:6px!important;padding:7px 5px!important;border-radius:12px!important;box-shadow:none!important;}
  .bulk-summary.bulk-summary-inline b{font-size:1.18rem!important;}
  .bulk-summary.bulk-summary-inline small{font-size:.62rem!important;line-height:1.05!important;text-align:left!important;}
}
@media(max-width:380px){
  .mobile-title-version{font-size:.52rem!important;}
  .bulk-summary.bulk-summary-inline span{gap:4px!important;padding:6px 4px!important;}
  .bulk-summary.bulk-summary-inline b{font-size:1.05rem!important;}
  .bulk-summary.bulk-summary-inline small{font-size:.57rem!important;}
}


/* v3.0.130 - il salvataggio cache mobile non manda più il NAS in offline quando il telefono ha la memoria locale piena. */

/* v3.0.130 - Cellulare: finestra In coda / sincronizzazione uguale al PC */
@media(max-width:760px){
  .queue-sync-popup{
    align-items:center!important;
    justify-content:center!important;
    padding:14px!important;
    background:rgba(15,23,42,.34)!important;
    backdrop-filter:blur(3px)!important;
  }
  .queue-sync-card{
    width:min(560px,calc(100vw - 28px))!important;
    min-height:0!important;
    max-height:calc(100dvh - 40px)!important;
    border-radius:28px!important;
    padding:18px!important;
    display:flex!important;
    flex-direction:column!important;
    box-shadow:0 30px 110px rgba(15,23,42,.28)!important;
  }
  .queue-sync-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-bottom:12px!important;
  }
  .queue-sync-head .eyebrow{
    font-size:.68rem!important;
  }
  .queue-sync-head h3{
    font-size:1.15rem!important;
    line-height:1.05!important;
  }
  .queue-sync-progress-head{
    margin-bottom:8px!important;
  }
  .queue-sync-progress-head b{
    font-size:.86rem!important;
    line-height:1.18!important;
  }
  .queue-sync-bar{
    height:12px!important;
    margin:8px 0 12px!important;
  }
  .queue-sync-details{
    margin:12px 0 0!important;
    padding:0!important;
    display:grid!important;
    gap:8px!important;
    max-height:220px!important;
    overflow:auto!important;
    flex:0 1 auto!important;
    padding-right:2px!important;
  }
  .queue-sync-details li{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    border-radius:14px!important;
    padding:9px 10px!important;
    font-size:.84rem!important;
    line-height:1.18!important;
  }
  .queue-sync-details li span{
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
    font-size:.78rem!important;
  }
}
@media(max-width:380px){
  .queue-sync-popup{padding:10px!important;}
  .queue-sync-card{width:calc(100vw - 20px)!important;padding:14px!important;border-radius:24px!important;}
  .queue-sync-details{max-height:210px!important;gap:6px!important;}
  .queue-sync-details li{font-size:.78rem!important;padding:7px 8px!important;}
}

/* v3.0.130 - Cellulare: finestra In coda senza scroll interno, come PC */
@media(max-width:760px){
  .queue-sync-popup{
    align-items:center!important;
    justify-content:center!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  .queue-sync-card{
    width:min(560px,calc(100vw - 24px))!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
    padding:14px!important;
    border-radius:24px!important;
  }
  .queue-sync-head{
    margin-bottom:8px!important;
  }
  .queue-sync-head .eyebrow{
    font-size:.62rem!important;
    margin-bottom:2px!important;
  }
  .queue-sync-head h3{
    font-size:1.06rem!important;
    line-height:1.04!important;
  }
  .queue-sync-progress-head{
    margin-bottom:5px!important;
  }
  .queue-sync-progress-head b{
    font-size:.78rem!important;
    line-height:1.12!important;
  }
  .queue-sync-progress-head span{
    font-size:.82rem!important;
  }
  .queue-sync-bar{
    height:9px!important;
    margin:6px 0 7px!important;
  }
  .queue-sync-details{
    max-height:none!important;
    overflow:visible!important;
    flex:0 0 auto!important;
    margin:7px 0 0!important;
    padding:0!important;
    padding-right:0!important;
    gap:5px!important;
  }
  .queue-sync-details li{
    border-radius:11px!important;
    padding:6px 7px!important;
    gap:6px!important;
    font-size:.72rem!important;
    line-height:1.08!important;
  }
  .queue-sync-details li span{
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    font-size:.68rem!important;
  }
  .queue-sync-popup.done{
    align-items:flex-end!important;
    justify-content:flex-end!important;
    overflow:hidden!important;
  }
}
@media(max-width:380px){
  .queue-sync-popup{padding:8px!important;}
  .queue-sync-card{width:calc(100vw - 16px)!important;padding:10px!important;border-radius:20px!important;}
  .queue-sync-head{margin-bottom:6px!important;}
  .queue-sync-head .eyebrow{font-size:.56rem!important;}
  .queue-sync-head h3{font-size:.98rem!important;}
  .queue-sync-progress-head b{font-size:.70rem!important;}
  .queue-sync-bar{height:8px!important;margin:5px 0 6px!important;}
  .queue-sync-details{gap:4px!important;margin-top:6px!important;}
  .queue-sync-details li{font-size:.66rem!important;padding:5px 6px!important;}
  .queue-sync-details li span{width:16px!important;height:16px!important;flex-basis:16px!important;font-size:.62rem!important;}
}

/* v3.0.130 - Evidenziazione gialla righe articoli e navigazione con frecce */
.article-table tr.item-verified-row td{
  background:#fef3c7!important;
  border-bottom-color:#f59e0b55!important;
}
.article-table tr.item-verified-row .linklike,
.article-table tr.item-verified-row td{
  color:#3f2d00!important;
}
.item-card.item-verified-row{
  background:#fef3c7!important;
  border-color:#f59e0b!important;
  box-shadow:0 10px 26px rgba(245,158,11,.18)!important;
}
.item-card.item-verified-row .item-card-main,
.item-card.item-verified-row .mini{
  background:rgba(255,255,255,.45)!important;
}

.article-table tr.item-verified-row td:first-child{
  box-shadow:inset 4px 0 0 #f59e0b!important;
}
.item-card.item-verified-row{
  outline:2px solid rgba(245,158,11,.42)!important;
}


/* v3.0.130 - Articoli: colonna prezzo al posto di azioni, comandi compatti nella descrizione */
.article-table-price-mode .article-desc-cell{
  min-width:280px;
}
.article-table-price-mode .article-title-link{
  display:block;
  width:100%;
  text-align:left;
}
.article-table-price-mode .table-inline-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin-top:7px;
}
.article-table-price-mode .table-inline-actions .btn{
  min-height:28px;
  padding:5px 7px;
  font-size:.72rem;
  line-height:1;
}
.article-table-price-mode .article-price-cell{
  text-align:right;
  white-space:nowrap;
  font-weight:900;
  color:#0f172a;
}
.article-table-price-mode .article-price-cell small{
  display:block;
  margin-top:2px;
  color:#64748b;
  font-weight:800;
}


/* v3.0.130 - Articoli PC: descrizione completa su una riga, senza abbreviazione */
.article-table-compact-actions{
  min-width:1120px;
  table-layout:auto;
}
.article-table-compact-actions th,
.article-table-compact-actions td{
  padding:8px 6px!important;
  vertical-align:middle;
}
.article-table-actions-after-desc th:nth-child(1){width:10.5%;}
.article-table-actions-after-desc th:nth-child(2){width:32%;}
.article-table-actions-after-desc th:nth-child(3){width:20%;}
.article-table-actions-after-desc th:nth-child(4),
.article-table-actions-after-desc th:nth-child(5),
.article-table-actions-after-desc th:nth-child(6){width:4.5%;text-align:center;}
.article-table-actions-after-desc th:nth-child(7){width:7%;}
.article-table-actions-after-desc th:nth-child(8){width:13%;}
.article-table-actions-after-desc th:nth-child(9){width:8%;text-align:center;}

.article-table-actions-after-desc td:nth-child(4),
.article-table-actions-after-desc td:nth-child(5),
.article-table-actions-after-desc td:nth-child(6){text-align:center;}
.article-table-actions-after-desc td:nth-child(7){white-space:nowrap;}
.article-table-actions-after-desc td:nth-child(8){min-width:128px;white-space:nowrap;}
.article-table-actions-after-desc td:nth-child(8) .pill{margin:2px 1px;white-space:nowrap;}

.article-table-compact-actions .article-desc-cell{min-width:0!important;}
.article-table-compact-actions .article-title-link{
  display:block;
  min-width:0;
  max-width:100%;
  text-align:left;
}
.article-table-compact-actions .article-title-link b{
  display:block;
  max-width:none;
  line-height:1.08;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.article-table-compact-actions .article-title-link small{
  display:block;
  max-width:none;
  line-height:1.02;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

.article-table-compact-actions .article-price-cell{
  text-align:center!important;
  font-size:.84rem;
  line-height:1.05;
  white-space:nowrap;
}
.article-table-compact-actions .article-price-cell b{
  display:block;
  text-align:center!important;
}
.article-table-compact-actions .article-price-cell small{
  display:block;
  text-align:center!important;
  font-size:.64rem;
  line-height:1.0;
  margin-top:2px;
  white-space:nowrap;
}

.article-table-compact-actions .article-actions-cell{
  min-width:220px;
  width:220px;
  white-space:nowrap;
}
.article-table-compact-actions .article-row-actions{
  justify-content:flex-start;
  gap:6px;
  flex-wrap:nowrap;
  align-items:center;
}
.article-table-compact-actions .article-row-actions .btn{
  min-height:30px!important;
  padding:5px 8px!important;
  border-radius:11px!important;
  font-size:.72rem!important;
  gap:4px!important;
  white-space:nowrap;
}
.article-table-compact-actions tbody tr[data-verify-row-id],
.item-card[data-verify-row-id]{cursor:pointer;}
.article-table-compact-actions .article-row-actions .btn .ui-icon,
.article-table-compact-actions .article-row-actions .btn svg{width:13px!important;height:13px!important;}
@media(max-width:700px){
  .item-card{padding:0!important;}
  .item-card-main{padding:12px!important;}
  .item-card .item-meta{margin:8px 0!important;gap:5px!important;}
  .item-card .code-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;}
  .item-card .mini{padding:6px 5px!important;border-radius:10px!important;min-width:0!important;}
  .item-card .mini small{font-size:.55rem!important;line-height:1.02!important;white-space:normal!important;}
  .item-card .mini strong{font-size:.66rem!important;line-height:1.05!important;margin-top:2px!important;white-space:normal!important;word-break:break-word!important;}
  .item-card-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;padding:0 10px 10px!important;}
  .item-card-actions .btn{width:auto!important;min-width:0!important;min-height:28px!important;padding:0 5px!important;border-radius:10px!important;font-size:.64rem!important;gap:3px!important;white-space:nowrap!important;}
  .item-card-actions .btn .ui-icon,
  .item-card-actions .btn svg{width:12px!important;height:12px!important;}
}
@media(max-width:380px){
  .item-card .code-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .item-card-actions .btn{font-size:.60rem!important;padding:0 4px!important;}
}


/* v3.0.130 - Tasto Oggi nei calendari */
.date-today-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
  width:100%;
}
.date-today-row input{min-width:0;width:100%;}
.date-today-btn{
  min-height:38px!important;
  height:38px;
  padding:0 10px!important;
  border-radius:12px!important;
  font-size:.72rem!important;
  font-weight:900!important;
  white-space:nowrap;
}
.meta-field .date-today-row input{height:42px;padding:0 10px;border-radius:14px;}
@media(max-width:520px){
  .date-today-btn{min-height:36px!important;height:36px;padding:0 8px!important;font-size:.68rem!important;}
}

/* v3.0.130 - Date stampa condivise via NAS */

/* v3.0.130 - Clienti: riga gialla con click destro */
.client-table tr.client-verified-row td{
  background:#fef3c7!important;
  border-bottom-color:#f59e0b55!important;
  color:#3f2d00!important;
}
.client-table tr.client-verified-row .linklike,
.client-table tr.client-verified-row td{
  color:#3f2d00!important;
}
.client-table tr.client-verified-row td:first-child{
  box-shadow:inset 4px 0 0 #f59e0b!important;
}
.client-row.client-verified-row{
  background:#fef3c7!important;
  border-color:#f59e0b!important;
  box-shadow:0 10px 26px rgba(245,158,11,.18)!important;
  outline:2px solid rgba(245,158,11,.42)!important;
}
.client-row.client-verified-row .client-row-main,
.client-row.client-verified-row .client-row-actions{
  background:transparent!important;
}
.client-table tr[data-client-verify-row-id],
.client-row[data-client-verify-row-id]{cursor:pointer;}


/* v3.0.130 - Mobile articoli: badge Stato sempre su una riga */
@media(max-width:700px){
  #items .mobile-cards .item-card .item-top,
  #reorder .mobile-cards .item-card .item-top{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  #items .mobile-cards .item-card .item-top > div,
  #reorder .mobile-cards .item-card .item-top > div{
    min-width:0!important;
    flex:1 1 auto!important;
  }
  #items .mobile-cards .item-card .item-top > .pill,
  #reorder .mobile-cards .item-card .item-top > .pill{
    flex:0 0 auto!important;
    min-width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    line-height:1.05!important;
    text-align:center!important;
    padding:5px 10px!important;
    font-size:.68rem!important;
  }
  #items .mobile-cards .item-card .item-meta .pill,
  #reorder .mobile-cards .item-card .item-meta .pill{
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
}
@media(max-width:380px){
  #items .mobile-cards .item-card .item-top > .pill,
  #reorder .mobile-cards .item-card .item-top > .pill{
    font-size:.64rem!important;
    padding:5px 8px!important;
  }
}


/* v3.0.130 - Articoli: Codice vecchio mobile su una riga e box Valore rimossa */
@media(max-width:700px){
  #items .mobile-cards .item-card .code-row,
  #reorder .mobile-cards .item-card .code-row{
    grid-template-columns:1fr 1fr 1fr!important;
    gap:6px!important;
  }
  #items .mobile-cards .item-card .code-row .mini:nth-child(2) strong,
  #reorder .mobile-cards .item-card .code-row .mini:nth-child(2) strong{
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    font-size:.70rem!important;
    letter-spacing:-.02em!important;
  }
  #items .mobile-cards .item-card .code-row .mini strong,
  #reorder .mobile-cards .item-card .code-row .mini strong{
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}
@media(max-width:380px){
  #items .mobile-cards .item-card .code-row,
  #reorder .mobile-cards .item-card .code-row{
    grid-template-columns:1fr 1fr 1fr!important;
  }
  #items .mobile-cards .item-card .code-row .mini,
  #reorder .mobile-cards .item-card .code-row .mini{
    padding:6px 4px!important;
  }
  #items .mobile-cards .item-card .code-row .mini strong,
  #reorder .mobile-cards .item-card .code-row .mini strong{
    font-size:.62rem!important;
  }
}
.article-table-compact-actions .article-price-cell small{display:none!important;}


/* v3.0.130 - Clienti: click sinistro sulla riga apre cliente */
#clients [data-client-id]{
  cursor:pointer;
}
#clients [data-client-id] .client-row-actions,
#clients [data-client-id] button{
  cursor:pointer;
}


/* v3.0.130 - Riordino: quantità da ordinare evidenziata */
.reorder-order-cell{text-align:center!important;white-space:nowrap!important;}
.reorder-order-badge,
.reorder-order-pill,
.reorder-order-mini strong,
.qty-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:42px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  border:1px solid #fed7aa!important;
  background:#fff7ed!important;
  color:#c2410c!important;
  font-weight:1000!important;
  box-shadow:0 6px 16px rgba(242,107,22,.14)!important;
  white-space:nowrap!important;
}
.reorder-order-pill{gap:5px!important;font-size:.70rem!important;}
.reorder-order-mini{border-color:#fed7aa!important;background:#fff7ed!important;}
.article-table-reorder-mode{min-width:1180px!important;}
.article-table-reorder-mode th:nth-child(1){width:10%;}
.article-table-reorder-mode th:nth-child(2){width:28%;}
.article-table-reorder-mode th:nth-child(3){width:18%;}
.article-table-reorder-mode th:nth-child(4),
.article-table-reorder-mode th:nth-child(5),
.article-table-reorder-mode th:nth-child(6){width:4.5%;text-align:center;}
.article-table-reorder-mode th:nth-child(7){width:7%;text-align:center;}
.article-table-reorder-mode th:nth-child(8){width:7%;}
.article-table-reorder-mode th:nth-child(9){width:12%;}
.article-table-reorder-mode th:nth-child(10){width:7%;text-align:center;}
.article-table-reorder-mode td:nth-child(4),
.article-table-reorder-mode td:nth-child(5),
.article-table-reorder-mode td:nth-child(6),
.article-table-reorder-mode td:nth-child(7){text-align:center;}
.article-table-reorder-mode td:nth-child(8){white-space:nowrap;}
.article-table-reorder-mode td:nth-child(9){min-width:128px;white-space:nowrap;}
@media(max-width:700px){
  #reorder .mobile-cards .item-card .code-row.reorder-code-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  #reorder .mobile-cards .reorder-order-mini strong{font-size:.76rem!important;}
}
@media(max-width:390px){
  #reorder .mobile-cards .item-card .code-row.reorder-code-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* v3.0.130 - Riordino: esclusione sicura senza eliminare articolo */
#reorder .reorder-exclude-btn{
  border-color:#fed7aa!important;
  background:#fff7ed!important;
  color:#c2410c!important;
  white-space:nowrap!important;
}
#reorder .reorder-exclude-btn:hover{background:#ffedd5!important;}
@media(max-width:700px){
  #reorder .item-card-actions .reorder-exclude-btn{
    font-size:.60rem!important;
    padding:0 5px!important;
  }
}

/* v3.0.130 - Riordino: ricerca NAS e articoli esauriti */


/* v3.0.130 - Ricerca e gestione articoli esclusi dal riordino */
.reorder-reactivate-btn{border-color:#bbf7d0!important;background:#f0fdf4!important;color:#166534!important;white-space:nowrap!important;}
.reorder-reactivate-btn:hover{background:#dcfce7!important;}
@media(max-width:700px){
  #reorder .head-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:6px!important;}
  #reorder .head-actions .btn{width:100%!important;min-width:0!important;justify-content:center!important;}
}


/* v3.0.130 - Layout PC: margini e spaziatura più equilibrati nelle sezioni cumulativo e movimenti */
/* Modifica movimento: più aria tra Data/Ora, Oggi, Operatore e Cliente */
.movement-edit-form .item-editor-grid{
  grid-template-columns:minmax(260px,1.08fr) minmax(185px,.78fr) minmax(365px,1.72fr)!important;
  gap:16px!important;
  align-items:end!important;
  margin-top:16px!important;
}
.movement-edit-form .movement-date-edit-label,
.movement-edit-form .movement-operator-edit-label,
.movement-edit-form .movement-client-edit-label{
  grid-column:auto!important;
  min-width:0!important;
}
.movement-edit-form .movement-note-edit-label{
  grid-column:1 / -1!important;
  margin-top:2px!important;
}
.movement-edit-form .movement-date-edit-label .date-today-row{
  grid-template-columns:minmax(182px,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
}
.movement-edit-form #movementEditDate{
  min-width:182px!important;
}
.movement-edit-form .movement-date-edit-label,
.movement-edit-form .movement-operator-edit-label,
.movement-edit-form .movement-client-edit-label,
.movement-edit-form .movement-note-edit-label{
  margin-bottom:0!important;
}

/* Movimenti: Giorno più largo e filtri più ariosi */
.movement-toolbar-v280{
  grid-template-columns:minmax(345px,.98fr) minmax(635px,1.44fr) minmax(205px,.5fr)!important;
  gap:14px!important;
  align-items:end!important;
}
.movement-filter-grid-v280{
  grid-template-columns:minmax(205px,1.08fr) minmax(225px,1.12fr) minmax(182px,.92fr)!important;
  grid-template-areas:
    "date client cancelled"
    "search search type"!important;
  gap:11px!important;
  align-items:end!important;
}
.movement-filter-grid-v280 .movement-date-filter .date-today-row{
  grid-template-columns:minmax(146px,1fr) auto!important;
  gap:8px!important;
}
.movement-filter-grid-v280 #movementDateFilter{
  min-width:146px!important;
}
.movement-filter-grid-v280 .movement-cancel-filter{
  min-width:176px!important;
  white-space:nowrap!important;
}

/* Riepilogo cumulativo: più margine interno e box meglio distribuite */
.receipt-meta{
  grid-template-columns:minmax(250px,1.7fr) minmax(150px,.95fr) minmax(138px,.82fr) minmax(150px,.82fr)!important;
  gap:12px!important;
  margin:14px 0 12px!important;
}
.receipt-meta div{
  padding:12px 14px!important;
}
.receipt-meta b{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
}
.receipt-table{
  margin-top:8px!important;
}
.receipt-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:16px!important;
}
.receipt-actions .btn{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  min-height:40px!important;
  padding:0 15px!important;
}

/* Riordino: tutti i pulsanti della testata su una riga */
#reorder .page-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
}
#reorder .head-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
#reorder .head-actions .btn{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  min-height:44px!important;
  padding:0 16px!important;
}

@media(max-width:1180px){
  .movement-toolbar-v280{grid-template-columns:1fr!important;gap:12px!important;}
  .movement-filter-grid-v280{
    grid-template-columns:minmax(200px,1fr) minmax(220px,1.08fr) minmax(176px,.9fr)!important;
  }
  .receipt-meta{
    grid-template-columns:minmax(235px,1.55fr) minmax(145px,.95fr) minmax(135px,.82fr) minmax(145px,.82fr)!important;
  }
  #reorder .page-head{grid-template-columns:1fr!important;}
  #reorder .head-actions{justify-content:flex-start!important;}
}
@media(max-width:760px){
  .movement-edit-form .item-editor-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .movement-edit-form .movement-date-edit-label,
  .movement-edit-form .movement-operator-edit-label,
  .movement-edit-form .movement-client-edit-label,
  .movement-edit-form .movement-note-edit-label{
    grid-column:1 / -1!important;
  }
  .movement-filter-grid-v280{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "date type"
      "client client"
      "cancelled cancelled"
      "search search"!important;
  }
  .receipt-meta{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .receipt-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  .receipt-actions .btn{width:100%!important;justify-content:center!important;}
  #reorder .head-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
  }
  #reorder .head-actions .btn{width:100%!important;justify-content:center!important;padding:0 10px!important;}
}


/* v3.0.130 - Bozza cumulativo salvata automaticamente */
.bulk-draft-hint{
  margin:8px 0 0;
  border:1px solid #bbf7d0;
  background:#f0fdf4;
  color:#166534;
  border-radius:14px;
  padding:8px 10px;
  font-weight:850;
}
.bulk-draft-hint b{font-weight:1000;}

/* v3.0.130 - Riordino: inclusi articoli al minimo */


/* v3.0.130 - Modifica movimento: operatore in alto, cliente largo e note non tagliate */
#movementEditDialog .sheet-body{
  overflow-x:hidden!important;
}
.movement-edit-form,
.movement-edit-form *{
  box-sizing:border-box!important;
}
.movement-edit-form .movement-edit-head-grid{
  display:grid!important;
  grid-template-columns:minmax(220px,.9fr) minmax(220px,.9fr) minmax(190px,.78fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  margin-bottom:14px!important;
}
.movement-edit-form .movement-operator-head{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-width:0!important;
  color:var(--muted)!important;
}
.movement-edit-form .movement-operator-head input{
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  font-weight:1000!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.movement-edit-form .movement-edit-main-grid,
.movement-edit-form .item-editor-grid{
  grid-template-columns:minmax(285px,.85fr) minmax(0,1.85fr)!important;
  gap:16px!important;
  align-items:end!important;
  margin-top:4px!important;
}
.movement-edit-form .movement-date-edit-label,
.movement-edit-form .movement-client-edit-label{
  grid-column:auto!important;
  min-width:0!important;
}
.movement-edit-form .movement-client-edit-label input{
  min-width:0!important;
  width:100%!important;
}
.movement-edit-form .movement-note-edit-label{
  grid-column:1 / -1!important;
  min-width:0!important;
  width:100%!important;
  margin-top:4px!important;
}
.movement-edit-form .movement-note-edit-label textarea,
#movementEditNote{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:96px!important;
  resize:vertical!important;
  display:block!important;
}
.movement-edit-form .movement-date-edit-label .date-today-row{
  grid-template-columns:minmax(205px,1fr) auto!important;
  gap:10px!important;
}
.movement-edit-form #movementEditDate{
  min-width:205px!important;
}

/* v3.0.130 - Riepilogo cumulativo: Pezzi totali dentro la card */
.receipt-meta{
  grid-template-columns:minmax(0,1.65fr) minmax(0,.95fr) minmax(0,.78fr) minmax(0,.82fr)!important;
  gap:10px!important;
  width:100%!important;
}
.receipt-meta div{
  min-width:0!important;
  padding:11px 12px!important;
}
.receipt-meta small,
.receipt-meta b{
  min-width:0!important;
}
.receipt-meta b{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
}
.receipt-table{
  width:100%!important;
  table-layout:auto!important;
}
.receipt-actions{
  width:100%!important;
}

@media(max-width:1180px){
  .movement-edit-form .movement-edit-head-grid{
    grid-template-columns:minmax(200px,1fr) minmax(190px,.9fr) minmax(170px,.8fr)!important;
  }
  .movement-edit-form .movement-edit-main-grid,
  .movement-edit-form .item-editor-grid{
    grid-template-columns:minmax(275px,.9fr) minmax(0,1.65fr)!important;
  }
  .receipt-meta{
    grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr) minmax(0,.72fr) minmax(0,.78fr)!important;
  }
}
@media(max-width:760px){
  .movement-edit-form .movement-edit-head-grid,
  .movement-edit-form .movement-edit-main-grid,
  .movement-edit-form .item-editor-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .movement-edit-form .movement-date-edit-label,
  .movement-edit-form .movement-client-edit-label,
  .movement-edit-form .movement-note-edit-label{
    grid-column:1 / -1!important;
  }
  .movement-edit-form .movement-date-edit-label .date-today-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .movement-edit-form #movementEditDate{
    min-width:0!important;
  }
  .receipt-meta{
    grid-template-columns:1fr 1fr!important;
  }
}

/* v3.0.130 - Bozze movimento visibili nel registro Movimenti */
.movement-draft-panel{
  margin:14px 0;
  border-color:#fed7aa!important;
  background:linear-gradient(180deg,#fff,#fffaf4)!important;
}
.movement-draft-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.movement-draft-head h3{margin:0;font-size:1.25rem;letter-spacing:-.04em;}
.movement-draft-list{display:grid;gap:8px;}
.movement-draft-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #fde7c7;
  background:#fff;
  border-radius:18px;
  padding:10px 12px;
}
.movement-draft-main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.movement-draft-main > div{min-width:0;}
.movement-draft-main b,
.movement-draft-main small,
.movement-draft-main em{display:block;}
.movement-draft-main b{font-weight:1000;}
.movement-draft-main small{color:var(--muted);font-weight:850;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.movement-draft-main em{font-style:normal;color:#9a6a24;font-size:.72rem;font-weight:900;margin-top:3px;}
.movement-draft-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.movement-draft-actions .btn{white-space:nowrap;}
@media(max-width:760px){
  .movement-draft-row{align-items:stretch;flex-direction:column;}
  .movement-draft-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .movement-draft-actions .btn{width:100%;justify-content:center;}
  .movement-draft-main small{white-space:normal;}
}

/* v3.0.130 - Movimenti: cliente più largo nelle righe e nei cumulativi */
#movementResults .item-card .item-meta .pill.warn,
.movement-bulk-card .item-meta .pill.warn{
  min-width:230px!important;
  max-width:none!important;
  justify-content:center!important;
  padding-left:16px!important;
  padding-right:16px!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.receipt-meta div:first-child{
  min-width:260px!important;
}
.receipt-meta div:first-child b{
  max-width:none!important;
}
@media(max-width:760px){
  #movementResults .item-card .item-meta .pill.warn,
  .movement-bulk-card .item-meta .pill.warn{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    white-space:normal!important;
  }
  .receipt-meta div:first-child{min-width:0!important;}
}

/* v3.0.130 - Mobile: pulsanti bozze movimenti leggibili */
.movement-draft-actions .btn,
.movement-draft-actions .btn.mini{
  min-height:42px!important;
  height:auto!important;
  padding:0 13px!important;
  border-radius:14px!important;
  font-size:.82rem!important;
  line-height:1.1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  opacity:1!important;
  filter:none!important;
}
.movement-draft-actions [data-resume-movement-draft]{
  background:linear-gradient(90deg,var(--green),var(--green2))!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid transparent!important;
  box-shadow:0 10px 22px rgba(22,163,74,.20)!important;
}
.movement-draft-actions [data-clear-movement-draft]{
  background:#fff!important;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
}
.movement-draft-actions .btn .ui-icon,
.movement-draft-actions .btn svg{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  color:currentColor!important;
  stroke:currentColor!important;
}
@media(max-width:760px){
  .movement-draft-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .movement-draft-actions .btn,
  .movement-draft-actions .btn.mini{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:0 10px!important;
    font-size:.84rem!important;
    font-weight:1000!important;
  }
}
@media(max-width:380px){
  .movement-draft-actions .btn,
  .movement-draft-actions .btn.mini{
    font-size:.78rem!important;
    padding:0 8px!important;
    gap:5px!important;
  }
}


/* v3.0.130 - Mobile Movimenti: pulsante Oggi leggibile */
@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-template-areas:
      "date date date date date date date date date date date date"
      "cancelled cancelled cancelled cancelled cancelled cancelled cancelled cancelled cancelled cancelled cancelled cancelled"
      "client client client client client client client client client client client client"
      "search search search search search type type type type type type type"!important;
    gap:8px!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter{
    grid-area:date!important;
    min-width:0!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter .date-today-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    gap:8px!important;
    align-items:center!important;
    width:100%!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    min-width:0!important;
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 11px!important;
    border-radius:13px!important;
    font-size:.78rem!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn,
  #movements .movement-filter-grid-v280 .movement-date-filter .date-today-btn{
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    border-radius:13px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:.70rem!important;
    line-height:1!important;
    font-weight:1000!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    grid-area:cancelled!important;
    width:100%!important;
    min-height:42px!important;
    height:42px!important;
    justify-content:center!important;
    font-size:.72rem!important;
    gap:8px!important;
  }
}
@media(max-width:380px){
  #movements .movement-filter-grid-v280 > label.movement-date-filter .date-today-row{
    grid-template-columns:minmax(0,1fr) 54px!important;
    gap:6px!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn,
  #movements .movement-filter-grid-v280 .movement-date-filter .date-today-btn{
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    font-size:.66rem!important;
  }
}

/* v3.0.130 - Mobile Movimenti: Mostra annullati vicino a Oggi, più stretto */
@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-template-areas:
      "date date date date date date date date cancelled cancelled cancelled cancelled"
      "client client client client client client client client client client client client"
      "search search search search search type type type type type type type"!important;
    gap:7px!important;
    align-items:end!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter{
    grid-area:date!important;
    min-width:0!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter .date-today-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    gap:7px!important;
    align-items:center!important;
    width:100%!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    min-width:0!important;
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 10px!important;
    border-radius:13px!important;
    font-size:.74rem!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn,
  #movements .movement-filter-grid-v280 .movement-date-filter .date-today-btn{
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    border-radius:13px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:.68rem!important;
    line-height:1!important;
    font-weight:1000!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    grid-area:cancelled!important;
    min-width:0!important;
    width:100%!important;
    min-height:42px!important;
    height:42px!important;
    padding:0 6px!important;
    border-radius:13px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    font-size:.60rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter input{
    width:13px!important;
    height:13px!important;
    min-width:13px!important;
    flex:0 0 13px!important;
    margin:0!important;
    padding:0!important;
  }
}
@media(max-width:380px){
  #movements .movement-filter-grid-v280{
    grid-template-areas:
      "date date date date date date date cancelled cancelled cancelled cancelled cancelled"
      "client client client client client client client client client client client client"
      "search search search search search type type type type type type type"!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter .date-today-row{
    grid-template-columns:minmax(0,1fr) 50px!important;
    gap:5px!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn,
  #movements .movement-filter-grid-v280 .movement-date-filter .date-today-btn{
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    font-size:.64rem!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    font-size:.55rem!important;
    gap:4px!important;
    padding:0 4px!important;
  }
}

/* v3.0.130 - Bozze movimenti condivise sul NAS */

/* v3.0.130 - Fix bozza carico singolo */

/* v3.0.130 - Svuota bozze sincronizzato tra dispositivi */

/* v3.0.130 - Scanner nei cumulativi apre i risultati con Aggiungi */


/* v3.0.130 - Rimossa icona calendario a sinistra, resta solo quella nativa cliccabile a destra */
input[type="date"],
input[type="datetime-local"]{
  background-image:none!important;
  padding-left:12px!important;
}


/* v3.0.130 - Mobile: date stampe per magazzino su due righe */
@media(max-width:700px){
  #print .print-meta-panel{
    padding:14px!important;
    border-radius:24px!important;
    margin-bottom:110px!important;
  }
  #print .print-meta-panel .panel-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:start!important;
  }
  #print .print-meta-panel .panel-head .btn[type="submit"]{
    min-width:96px!important;
    max-width:118px!important;
    min-height:48px!important;
    padding:0 10px!important;
    border-radius:17px!important;
    line-height:1.05!important;
    white-space:normal!important;
  }
  #print .meta-table{
    gap:12px!important;
    margin-top:12px!important;
  }
  #print .meta-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:
      "legend legend"
      "updated inventory"
      "prices save"!important;
    gap:10px 8px!important;
    align-items:end!important;
    padding:12px 10px!important;
    border-radius:22px!important;
    overflow:visible!important;
  }
  #print .meta-row legend{
    grid-area:legend!important;
    padding:0 8px!important;
    margin:0 0 -2px!important;
    font-size:.92rem!important;
    line-height:1.1!important;
    max-width:100%!important;
    white-space:normal!important;
  }
  #print .meta-row .meta-field-updated{grid-area:updated!important;}
  #print .meta-row .meta-field-inventory{grid-area:inventory!important;}
  #print .meta-row .meta-field-prices{grid-area:prices!important;}
  #print .meta-row .meta-save-row{
    grid-area:save!important;
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 8px!important;
    border-radius:15px!important;
    font-size:.72rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    gap:5px!important;
  }
  #print .meta-row .meta-save-row .ui-icon,
  #print .meta-row .meta-save-row svg{
    width:18px!important;
    height:18px!important;
    flex:0 0 auto!important;
  }
  #print .meta-field{
    min-width:0!important;
    gap:5px!important;
  }
  #print .meta-field span{
    font-size:.64rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #print .meta-field .date-today-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 56px!important;
    gap:6px!important;
    width:100%!important;
    align-items:center!important;
  }
  #print .meta-field input[type="date"]{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    padding-left:8px!important;
    padding-right:4px!important;
    border-radius:15px!important;
    font-size:.74rem!important;
    letter-spacing:-.03em!important;
  }
  #print .meta-field .date-today-btn{
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border-radius:15px!important;
    font-size:.68rem!important;
    font-weight:1000!important;
    white-space:nowrap!important;
  }
}
@media(max-width:380px){
  #print .meta-row{
    gap:9px 7px!important;
    padding:11px 8px!important;
  }
  #print .meta-field .date-today-row{
    grid-template-columns:minmax(0,1fr) 52px!important;
    gap:5px!important;
  }
  #print .meta-field .date-today-btn{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    font-size:.64rem!important;
  }
  #print .meta-field input[type="date"]{
    font-size:.68rem!important;
    padding-left:6px!important;
    padding-right:2px!important;
  }
  #print .meta-row .meta-save-row{
    font-size:.68rem!important;
    gap:4px!important;
  }
}


/* v3.0.130 - Mobile: date stampa senza tasto Oggi per non tagliare la data */
@media(max-width:700px){
  #print .meta-field .date-today-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
  }
  #print .meta-field .date-today-btn{
    display:none!important;
  }
  #print .meta-field input[type="date"]{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    padding-left:12px!important;
    padding-right:8px!important;
    font-size:.86rem!important;
    letter-spacing:-.025em!important;
  }
  #print .meta-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:
      "legend legend"
      "updated inventory"
      "prices save"!important;
  }
  #print .meta-row .meta-save-row{
    height:46px!important;
    min-height:46px!important;
  }
}
@media(max-width:380px){
  #print .meta-field input[type="date"]{
    font-size:.78rem!important;
    padding-left:9px!important;
    padding-right:5px!important;
  }
}


/* v3.0.130 - Calendario visibile a destra sui campi data, senza icona a sinistra */
input[type="date"],
input[type="datetime-local"]{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b7280" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M16 3v4M8 3v4M3 10h18"/></svg>')!important;
  background-repeat:no-repeat!important;
  background-position:right 12px center!important;
  background-size:17px 17px!important;
  padding-left:12px!important;
  padding-right:38px!important;
}
@media(max-width:700px){
  input[type="date"],
  input[type="datetime-local"]{
    background-position:right 10px center!important;
    background-size:16px 16px!important;
    padding-left:10px!important;
    padding-right:34px!important;
  }
  #print .meta-field input[type="date"]{
    background-position:right 11px center!important;
    background-size:17px 17px!important;
    padding-left:12px!important;
    padding-right:36px!important;
  }
}
@media(max-width:380px){
  #print .meta-field input[type="date"]{
    padding-left:9px!important;
    padding-right:33px!important;
    background-position:right 9px center!important;
    background-size:16px 16px!important;
  }
}


/* v3.0.130 - Mobile: calendario più distante dalla freccia e movimenti senza scroll laterale */
@media(max-width:700px){
  input[type="date"],
  input[type="datetime-local"]{
    background-position:right 30px center!important;
    background-size:16px 16px!important;
    padding-right:56px!important;
  }
  #print .meta-field input[type="date"]{
    background-position:right 30px center!important;
    padding-right:56px!important;
  }
  html, body{
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  .app-shell,
  .content,
  .screen,
  #movements,
  #movementDetailDialog,
  #movementEditDialog,
  #movementDetailDialog .sheet-body,
  #movementEditDialog .sheet-body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  #movementDetailDialog.sheet,
  #movementEditDialog.sheet{
    width:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
  }
  #movementDetailDialog .sheet-header,
  #movementEditDialog .sheet-header,
  #movementDetailDialog .sheet-body,
  #movementEditDialog .sheet-body{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  #movementDetailDialog .detail-grid,
  #movementEditDialog .detail-grid,
  .movement-edit-form .movement-edit-head-grid,
  .movement-edit-form .movement-edit-main-grid,
  .movement-edit-form .item-editor-grid{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
  }
  #movementDetailDialog .mini,
  #movementEditDialog .mini,
  #movementDetailDialog .mini strong,
  #movementEditDialog .mini strong,
  #movementDetailDialog .card,
  #movementEditDialog .card,
  .movement-edit-form label,
  .movement-edit-form input,
  .movement-edit-form textarea{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  .movement-edit-form .movement-date-edit-label .date-today-row{
    grid-template-columns:minmax(0,1fr) 54px!important;
    gap:6px!important;
    width:100%!important;
  }
  .movement-edit-form .movement-date-edit-label .date-today-btn{
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    padding:0!important;
    font-size:.66rem!important;
  }
  .movement-edit-form #movementEditDate{
    min-width:0!important;
    width:100%!important;
    background-position:right 28px center!important;
    padding-right:54px!important;
  }
  #movementDetailDialog .receipt-card,
  #movementDetailDialog .table-wrap,
  #movementEditDialog .receipt-card,
  #movementEditDialog .table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  #movementDetailDialog .receipt-table,
  #movementEditDialog .receipt-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }
  #movementDetailDialog .receipt-table th,
  #movementDetailDialog .receipt-table td,
  #movementEditDialog .receipt-table th,
  #movementEditDialog .receipt-table td{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    padding-left:5px!important;
    padding-right:5px!important;
    font-size:.66rem!important;
  }
  #movementDetailDialog .receipt-table th:first-child,
  #movementDetailDialog .receipt-table td:first-child{
    width:28px!important;
  }
  #movementDetailDialog .receipt-table th:last-child,
  #movementDetailDialog .receipt-table td:last-child{
    width:46px!important;
  }
  #movementDetailDialog .receipt-actions,
  #movementEditDialog .receipt-actions,
  #movementEditDialog .item-editor-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  #movementDetailDialog .receipt-actions .btn,
  #movementEditDialog .receipt-actions .btn,
  #movementEditDialog .item-editor-actions .btn{
    width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:380px){
  #print .meta-field input[type="date"],
  input[type="date"],
  input[type="datetime-local"]{
    background-position:right 27px center!important;
    padding-right:51px!important;
  }
}


/* v3.0.130 - PC: evita doppia icona calendario, mobile resta invariato */
@media(min-width:701px){
  input[type="date"],
  input[type="datetime-local"]{
    background-image:none!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}


/* v3.0.130 - Icona calendario unica e cliccabile */
input[type="date"],
input[type="datetime-local"]{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b7280" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M16 3v4M8 3v4M3 10h18"/><path d="M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01M16 18h.01"/></svg>')!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
  background-size:18px 18px!important;
  padding-left:12px!important;
  padding-right:46px!important;
  cursor:pointer!important;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator{
  opacity:0!important;
  width:42px!important;
  height:100%!important;
  margin:0!important;
  cursor:pointer!important;
}
@media(max-width:700px){
  input[type="date"],
  input[type="datetime-local"]{
    background-position:right 13px center!important;
    background-size:18px 18px!important;
    padding-right:44px!important;
  }
  #print .meta-field input[type="date"]{
    background-position:right 13px center!important;
    background-size:19px 19px!important;
    padding-right:44px!important;
  }
  .movement-edit-form #movementEditDate{
    background-position:right 13px center!important;
    padding-right:44px!important;
  }
}
@media(max-width:380px){
  #print .meta-field input[type="date"],
  input[type="date"],
  input[type="datetime-local"]{
    background-position:right 11px center!important;
    padding-right:40px!important;
  }
}

/* v3.0.130 - PC solo calendario nativo, mobile icona a sinistra lontana dalla freccia */
@media(min-width:701px){
  input[type="date"],
  input[type="datetime-local"]{
    background-image:none!important;
    background:none!important;
    padding-left:12px!important;
    padding-right:12px!important;
    cursor:pointer!important;
  }
  input[type="date"]::-webkit-calendar-picker-indicator,
  input[type="datetime-local"]::-webkit-calendar-picker-indicator{
    opacity:1!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    cursor:pointer!important;
  }
}
@media(max-width:700px){
  input[type="date"],
  input[type="datetime-local"]{
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b7280" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M16 3v4M8 3v4M3 10h18"/><path d="M8 14h.01M12 14h.01M16 14h.01"/></svg>')!important;
    background-repeat:no-repeat!important;
    background-position:left 12px center!important;
    background-size:18px 18px!important;
    padding-left:42px!important;
    padding-right:14px!important;
    cursor:pointer!important;
  }
  #print .meta-field input[type="date"],
  .movement-edit-form #movementEditDate{
    background-position:left 13px center!important;
    background-size:19px 19px!important;
    padding-left:44px!important;
    padding-right:14px!important;
  }
  input[type="date"]::-webkit-calendar-picker-indicator,
  input[type="datetime-local"]::-webkit-calendar-picker-indicator{
    opacity:1!important;
    width:32px!important;
    height:100%!important;
    margin:0!important;
    cursor:pointer!important;
  }
}
@media(max-width:380px){
  #print .meta-field input[type="date"],
  input[type="date"],
  input[type="datetime-local"]{
    background-position:left 10px center!important;
    background-size:17px 17px!important;
    padding-left:38px!important;
    padding-right:10px!important;
  }
}


/* v3.0.130 - Modifica movimento: cliente selezionabile con freccia */
.movement-edit-form .movement-client-select-label{
  position:relative;
}
.movement-edit-form .movement-client-select-label select{
  width:100%;
  min-height:46px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  padding:0 42px 0 12px;
  font:inherit;
  font-weight:850;
  outline:none;
  cursor:pointer;
  appearance:auto;
  -webkit-appearance:menulist;
}
.movement-edit-form .movement-client-select-label::after{
  content:'⌄';
  position:absolute;
  right:14px;
  bottom:12px;
  font-size:1.05rem;
  font-weight:1000;
  color:var(--green);
  pointer-events:none;
  line-height:1;
}
@media(max-width:700px){
  .movement-edit-form .movement-client-select-label select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:46px!important;
    min-height:46px!important;
    padding-left:10px!important;
    padding-right:42px!important;
    font-size:.82rem!important;
  }
  .movement-edit-form .movement-client-select-label::after{
    right:13px!important;
    bottom:13px!important;
  }
}


/* v3.0.130 - Movimenti modifica cliente: una sola freccia */
.movement-edit-form .movement-client-select-label::after{content:none!important;display:none!important;}
.movement-edit-form .movement-client-select-label select{padding-right:12px!important;appearance:auto!important;-webkit-appearance:menulist!important;}
@media(max-width:700px){.movement-edit-form .movement-client-select-label select{padding-right:12px!important;}}


/* v3.0.130 - Mobile: campo data interamente cliccabile per aprire il calendario */
@media(max-width:700px){
  input[type="date"],
  input[type="datetime-local"]{
    position:relative!important;
    cursor:pointer!important;
  }
  input[type="date"]::-webkit-calendar-picker-indicator,
  input[type="datetime-local"]::-webkit-calendar-picker-indicator{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    cursor:pointer!important;
  }
}


/* v3.0.130 - Stampa: date dentro i riquadri e griglia a 2 colonne */
#print .print-grid.print-grid-merged-dates{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
#print .print-card{
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
#print .print-card > small{
  margin-top:0!important;
}
#print .print-date-editor{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;
  grid-template-areas:
    "title title title title"
    "updated inventory prices save"!important;
  gap:8px!important;
  align-items:end!important;
  padding-top:10px!important;
  margin-top:2px!important;
  border-top:1px solid var(--line)!important;
}
#print .print-date-editor-title{grid-area:title!important;}
#print .print-date-editor-title span{
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  padding:4px 8px!important;
  background:#f1f8f2!important;
  border:1px solid #dbe8dc!important;
  color:var(--muted)!important;
  font-size:.68rem!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
#print .print-date-editor .meta-field-updated{grid-area:updated!important;}
#print .print-date-editor .meta-field-inventory{grid-area:inventory!important;}
#print .print-date-editor .meta-field-prices{grid-area:prices!important;}
#print .print-date-editor .meta-save-row{grid-area:save!important;}
#print .print-date-editor .meta-field{
  min-width:0!important;
  gap:5px!important;
}
#print .print-date-editor .meta-field span{
  font-size:.68rem!important;
  line-height:1!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  color:var(--muted)!important;
}
#print .print-date-editor .date-today-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 50px!important;
  gap:6px!important;
  align-items:center!important;
}
#print .print-date-editor input[type="date"]{
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  border-radius:13px!important;
  font-size:.80rem!important;
  padding-left:10px!important;
}
#print .print-date-editor .date-today-btn{
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  font-size:.64rem!important;
  border-radius:13px!important;
  white-space:nowrap!important;
}
#print .print-date-editor .meta-save-row{
  min-width:120px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 10px!important;
  border-radius:13px!important;
  white-space:nowrap!important;
}
#print .print-meta-inline-msg{
  margin:0!important;
}
#print .print-meta-panel{display:none!important;}
@media(max-width:1180px){
  #print .print-date-editor{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:
      "title title"
      "updated inventory"
      "prices save"!important;
  }
}
@media(max-width:900px){
  #print .print-grid.print-grid-merged-dates{grid-template-columns:1fr!important;}
}
@media(max-width:700px){
  #print .print-date-editor{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:
      "title title"
      "updated inventory"
      "prices save"!important;
    gap:9px 8px!important;
    padding-top:9px!important;
  }
  #print .print-date-editor .date-today-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
  }
  #print .print-date-editor .date-today-btn{display:none!important;}
  #print .print-date-editor input[type="date"]{
    height:46px!important;
    min-height:46px!important;
    font-size:.86rem!important;
  }
  #print .print-date-editor .meta-save-row{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    font-size:.72rem!important;
    gap:5px!important;
  }
}
@media(max-width:380px){
  #print .print-date-editor input[type="date"]{font-size:.76rem!important;}
  #print .print-date-editor .meta-save-row{font-size:.66rem!important;}
}


/* v3.0.130 - Mobile Stampa: icona calendario non copre più la data */
@media(max-width:700px){
  #print .print-date-editor input[type="date"]{
    background-position:left 16px center!important;
    background-size:18px 18px!important;
    padding-left:52px!important;
    padding-right:12px!important;
    text-indent:0!important;
  }
}
@media(max-width:380px){
  #print .print-date-editor input[type="date"]{
    background-position:left 13px center!important;
    background-size:17px 17px!important;
    padding-left:47px!important;
    padding-right:8px!important;
  }
}


/* v3.0.130 - Mobile Movimenti: icona calendario non copre la data */
@media(max-width:700px){
  #movements .movement-filter-grid-v280 #movementDateFilter,
  .movement-edit-form #movementEditDate{
    background-position:left 16px center!important;
    background-size:18px 18px!important;
    padding-left:52px!important;
    padding-right:12px!important;
    text-indent:0!important;
  }
}
@media(max-width:380px){
  #movements .movement-filter-grid-v280 #movementDateFilter,
  .movement-edit-form #movementEditDate{
    background-position:left 13px center!important;
    background-size:17px 17px!important;
    padding-left:47px!important;
    padding-right:8px!important;
  }
}


/* v3.0.130 - Clienti PC: evita doppia visualizzazione tabella + schede */
#clients #clientCardWrap.mobile-cards{
  display:none!important;
}
#clients #clientTableWrap .desktop-table{
  display:block!important;
}
@media(max-width:1180px){
  #clients #clientTableWrap .desktop-table{
    display:none!important;
  }
  #clients #clientCardWrap.mobile-cards{
    display:grid!important;
  }
}
@media(min-width:1181px){
  #clients #clientCardWrap.mobile-cards{
    display:none!important;
  }
  #clients #clientTableWrap .desktop-table{
    display:block!important;
  }
}


/* v3.0.130 - Impostazioni: percorsi database e copia */
.database-paths-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:end;
}
.database-paths-grid .stack-label input{
  width:100%;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:0 12px;
  background:#fff;
  color:var(--ink);
  font-weight:850;
}
.database-paths-grid .stack-label input[readonly]{
  background:#f8fbf8;
  color:#475569;
}
.database-paths-actions{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.database-paths-actions .btn{
  min-height:42px;
}
@media(max-width:760px){
  .database-paths-grid{grid-template-columns:1fr;}
  .database-paths-actions{display:grid;grid-template-columns:1fr;}
  .database-paths-actions .btn{width:100%;}
}


/* v3.0.130 - Pulsante cartella vicino ai percorsi database */
.database-path-label{min-width:0;}
.database-path-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}
.database-path-input-row input{min-width:0;}
.database-folder-btn{min-height:44px!important;height:44px!important;padding:0 12px!important;border-radius:14px!important;white-space:nowrap!important;}
.database-folder-btn .ui-icon,.database-folder-btn svg{width:18px!important;height:18px!important;}
@media(max-width:760px){.database-path-input-row{grid-template-columns:1fr;}.database-folder-btn{width:100%;}}


/* v3.0.130 - Samsung mobile: data Movimenti sempre leggibile */
@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,1.25fr) minmax(74px,.42fr) minmax(0,1fr)!important;
    gap:8px!important;
  }
  #movements .movement-filter-grid-v280 .movement-date-field{
    grid-column:1 / 2!important;
    min-width:0!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn{
    grid-column:2 / 3!important;
    min-width:70px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  #movements .movement-filter-grid-v280 .movement-cancelled-field{
    grid-column:3 / 4!important;
    min-width:0!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    min-width:0!important;
    width:100%!important;
    font-size:1.02rem!important;
    letter-spacing:-.04em!important;
    background-position:left 12px center!important;
    background-size:16px 16px!important;
    padding-left:42px!important;
    padding-right:6px!important;
    text-align:left!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter::-webkit-calendar-picker-indicator{
    opacity:0!important;
    width:100%!important;
    height:100%!important;
    inset:0!important;
    position:absolute!important;
  }
}
@media(max-width:380px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,1.35fr) minmax(64px,.35fr) minmax(0,.9fr)!important;
    gap:6px!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    font-size:.90rem!important;
    letter-spacing:-.055em!important;
    background-position:left 10px center!important;
    background-size:15px 15px!important;
    padding-left:36px!important;
    padding-right:4px!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn{
    min-width:62px!important;
    font-size:.78rem!important;
  }
}


/* v3.0.130 - Accesso fuori ufficio / VPN */
.vpn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
.vpn-grid .stack-label input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:14px;padding:0 12px;background:#fff;color:var(--ink);font-weight:850}
.vpn-grid .stack-label input[readonly]{background:#f8fbf8;color:#475569}
.vpn-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.vpn-actions .btn{min-height:42px}.sync-banner-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:760px){.vpn-grid{grid-template-columns:1fr}.vpn-actions{display:grid;grid-template-columns:1fr}.vpn-actions .btn{width:100%}.sync-banner-actions{display:grid;grid-template-columns:1fr 1fr}.sync-banner-actions .btn{width:100%;min-width:0;padding-left:8px;padding-right:8px}}


/* v3.0.130 - VPN: apertura diretta Tailscale */
.vpn-panel #openVpnBtn{
  font-weight:950;
}


/* v3.0.130 - Mobile Movimenti: Oggi e Mostra annullati non si accavallano */
@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:end!important;
  }
  #movements .movement-filter-grid-v280 .movement-date-field{
    grid-column:1 / 2!important;
    min-width:0!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn{
    grid-column:2 / 3!important;
    width:100%!important;
    min-width:0!important;
    max-width:82px!important;
    padding-left:6px!important;
    padding-right:6px!important;
    justify-self:stretch!important;
  }
  #movements .movement-filter-grid-v280 .movement-cancelled-field{
    grid-column:3 / 4!important;
    min-width:0!important;
    width:100%!important;
  }
  #movements .movement-filter-grid-v280 .movement-cancelled-field label,
  #movements .movement-filter-grid-v280 .movement-cancelled-field .check-pill,
  #movements .movement-filter-grid-v280 [for="movementShowCancelled"]{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
    white-space:nowrap!important;
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:.82rem!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    min-width:0!important;
    width:100%!important;
    font-size:.98rem!important;
    letter-spacing:-.045em!important;
    background-position:left 11px center!important;
    background-size:16px 16px!important;
    padding-left:40px!important;
    padding-right:4px!important;
  }
}
@media(max-width:390px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,1fr) 76px!important;
    grid-template-areas:
      "giorno oggi"
      "annullati annullati"
      "ricerca tipo"!important;
    gap:8px!important;
  }
  #movements .movement-filter-grid-v280 .movement-date-field{
    grid-area:giorno!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn{
    grid-area:oggi!important;
    max-width:none!important;
    min-width:0!important;
  }
  #movements .movement-filter-grid-v280 .movement-cancelled-field{
    grid-area:annullati!important;
  }
  #movements .movement-filter-grid-v280 .movement-cancelled-field label,
  #movements .movement-filter-grid-v280 .movement-cancelled-field .check-pill,
  #movements .movement-filter-grid-v280 [for="movementShowCancelled"]{
    justify-content:flex-start!important;
    height:44px!important;
    min-height:44px!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    font-size:.92rem!important;
    letter-spacing:-.055em!important;
    background-position:left 10px center!important;
    background-size:15px 15px!important;
    padding-left:36px!important;
  }
}


/* v3.0.130 - Mobile Impostazioni: badge VPN/Attivo su una riga */
@media(max-width:700px){
  .vpn-panel .panel-head,
  .database-paths-panel .panel-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:10px!important;
  }
  .vpn-panel .panel-head > div,
  .database-paths-panel .panel-head > div{
    min-width:0!important;
  }
  .vpn-panel .panel-head .pill,
  .database-paths-panel .panel-head .pill{
    justify-self:end!important;
    align-self:start!important;
    width:auto!important;
    min-width:74px!important;
    max-width:none!important;
    height:auto!important;
    min-height:38px!important;
    padding:7px 12px!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    line-height:1.05!important;
    text-align:center!important;
    font-size:.82rem!important;
    border-radius:999px!important;
  }
}
@media(max-width:380px){
  .vpn-panel .panel-head,
  .database-paths-panel .panel-head{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  .vpn-panel .panel-head .pill,
  .database-paths-panel .panel-head .pill{
    min-width:66px!important;
    padding-left:9px!important;
    padding-right:9px!important;
    font-size:.76rem!important;
  }
}


/* v3.0.130 - Movimenti mobile: filtri ricerca riallineati */
@media(max-width:700px){
  #movements .movement-filter-panel{
    overflow:visible!important;
  }
  #movements .movement-filter-grid-v280{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:
      "date date"
      "client client"
      "search type"
      "cancelled cancelled"!important;
    gap:10px!important;
    align-items:stretch!important;
    justify-items:stretch!important;
  }
  #movements .movement-filter-grid-v280 > label{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    position:relative!important;
    grid-column:auto!important;
    white-space:normal!important;
    text-align:left!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter{
    grid-area:date!important;
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-client-filter{
    grid-area:client!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-article-filter{
    grid-area:search!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-type-filter{
    grid-area:type!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    grid-area:cancelled!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 14px!important;
    font-size:.92rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter .date-today-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 82px!important;
    gap:8px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    font-size:1.02rem!important;
    letter-spacing:-.04em!important;
    background-position:left 13px center!important;
    background-size:16px 16px!important;
    padding-left:42px!important;
    padding-right:8px!important;
    text-align:left!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn,
  #movements .movement-filter-grid-v280 .movement-date-filter .date-today-btn{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    justify-content:center!important;
    font-size:.82rem!important;
    white-space:nowrap!important;
  }
  #movements .movement-filter-grid-v280 #movementClientFilter,
  #movements .movement-filter-grid-v280 #movementArticleFilter,
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
  }
}
@media(max-width:390px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "date"
      "client"
      "search"
      "type"
      "cancelled"!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-date-filter .date-today-row{
    grid-template-columns:minmax(0,1fr) 74px!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    font-size:.92rem!important;
    letter-spacing:-.055em!important;
    background-position:left 11px center!important;
    background-size:15px 15px!important;
    padding-left:38px!important;
    padding-right:6px!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn,
  #movements .movement-filter-grid-v280 .movement-date-filter .date-today-btn{
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    font-size:.78rem!important;
  }
}


/* v3.0.130 - Movimenti mobile: filtri ricerca riallineati */
@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr)!important;
    grid-template-areas:
      "date today cancelled"
      "client client client"
      "search search type"!important;
    gap:10px!important;
    align-items:end!important;
  }
  #movements .movement-filter-grid-v280 > .movement-date-filter{grid-area:date!important; min-width:0!important;}
  #movements .movement-filter-grid-v280 > .movement-client-filter{grid-area:client!important; min-width:0!important;}
  #movements .movement-filter-grid-v280 > .movement-cancel-filter{grid-area:cancelled!important; min-width:0!important;}
  #movements .movement-filter-grid-v280 > .movement-article-filter{grid-area:search!important; min-width:0!important;}
  #movements .movement-filter-grid-v280 > .movement-type-filter{grid-area:type!important; min-width:0!important;}
  #movements .movement-filter-grid-v280 > #movementTodayBtn{
    grid-area:today!important;
    width:100%!important;
    min-width:0!important;
    max-width:82px!important;
    padding-left:6px!important;
    padding-right:6px!important;
    justify-self:stretch!important;
    align-self:end!important;
  }

  #movements .movement-filter-grid-v280 label{
    display:grid!important;
    gap:6px!important;
    min-width:0!important;
  }
  #movements .movement-filter-grid-v280 .movement-cancel-filter label,
  #movements .movement-filter-grid-v280 .movement-cancel-filter .check-pill,
  #movements .movement-filter-grid-v280 .movement-cancel-filter [for="movementShowCancelled"]{
    width:100%!important;
    justify-content:center!important;
    white-space:nowrap!important;
    font-size:.82rem!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    width:100%!important;
    min-width:0!important;
    font-size:.98rem!important;
    letter-spacing:-.04em!important;
    padding-left:40px!important;
    padding-right:8px!important;
    background-position:left 11px center!important;
    background-size:16px 16px!important;
  }
  #movements .movement-filter-grid-v280 #movementArticleFilter,
  #movements .movement-filter-grid-v280 #movementClientFilter,
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:390px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,1fr) 74px!important;
    grid-template-areas:
      "date today"
      "cancelled cancelled"
      "client client"
      "search type"!important;
    gap:10px!important;
  }
  #movements .movement-filter-grid-v280 > #movementTodayBtn{
    max-width:none!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter label,
  #movements .movement-filter-grid-v280 > .movement-cancel-filter .check-pill,
  #movements .movement-filter-grid-v280 > .movement-cancel-filter [for="movementShowCancelled"]{
    justify-content:flex-start!important;
    min-height:44px!important;
    height:44px!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    font-size:.92rem!important;
    letter-spacing:-.05em!important;
    padding-left:36px!important;
    background-position:left 10px center!important;
    background-size:15px 15px!important;
  }
}


/* v3.0.130 - VPN: niente intent Android / niente Google Play */
.vpn-panel #openVpnBtn{font-weight:950;}


/* v3.0.130 - Movimenti mobile: filtri su righe corrette */
@media(max-width:700px){
  #movements .movement-filter-panel{
    overflow:visible!important;
  }

  #movements .movement-filter-grid-v280{
    display:grid!important;
    grid-template-columns:minmax(0,1.62fr) minmax(0,1fr)!important;
    grid-template-areas:
      "date cancelled"
      "client client"
      "search type"!important;
    gap:10px!important;
    align-items:end!important;
  }

  #movements .movement-filter-grid-v280 > .movement-date-filter{
    grid-area:date!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-date-filter .date-today-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 76px!important;
    gap:8px!important;
    align-items:center!important;
    width:100%!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    border-radius:16px!important;
    font-size:.96rem!important;
    letter-spacing:-.045em!important;
    padding-left:39px!important;
    padding-right:5px!important;
    background-position:left 11px center!important;
    background-size:16px 16px!important;
    text-align:left!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn{
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    border-radius:16px!important;
    align-self:end!important;
    justify-self:stretch!important;
    font-size:.86rem!important;
    font-weight:1000!important;
    white-space:nowrap!important;
  }

  #movements .movement-filter-grid-v280 > .movement-cancel-filter{
    grid-area:cancelled!important;
    min-width:0!important;
    width:100%!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 10px!important;
    border-radius:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    white-space:nowrap!important;
    font-size:.80rem!important;
    line-height:1!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter input{
    flex:0 0 auto!important;
    width:18px!important;
    height:18px!important;
  }

  #movements .movement-filter-grid-v280 > .movement-client-filter{
    grid-area:client!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 #movementClientFilter{
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
  }

  #movements .movement-filter-grid-v280 > .movement-article-filter{
    grid-area:search!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 #movementArticleFilter{
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
    font-size:.78rem!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }

  #movements .movement-filter-grid-v280 > .movement-type-filter{
    grid-area:type!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
    font-size:.86rem!important;
    padding-left:10px!important;
    padding-right:30px!important;
    white-space:normal!important;
    line-height:1.05!important;
  }
}

@media(max-width:390px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,1.54fr) minmax(118px,.82fr)!important;
    grid-template-areas:
      "date cancelled"
      "client client"
      "search type"!important;
    gap:9px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-date-filter .date-today-row{
    grid-template-columns:minmax(0,1fr) 68px!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 #movementTodayBtn{
    width:68px!important;
    min-width:68px!important;
    max-width:68px!important;
    font-size:.80rem!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    font-size:.86rem!important;
    letter-spacing:-.055em!important;
    padding-left:34px!important;
    padding-right:3px!important;
    background-position:left 9px center!important;
    background-size:15px 15px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter{
    font-size:.70rem!important;
    padding-left:8px!important;
    padding-right:7px!important;
    gap:6px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter input{
    width:16px!important;
    height:16px!important;
  }
}


/* v3.0.130 - Movimenti mobile: Data + Oggi + Mostra annullati sulla prima riga */
@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    display:grid!important;
    grid-template-columns:minmax(0,1.12fr) 74px minmax(0,1.08fr)!important;
    grid-template-areas:
      "date today cancelled"
      "client client client"
      "search search type"!important;
    gap:9px!important;
    align-items:end!important;
  }

  #movements .movement-filter-grid-v280 > .movement-date-filter{
    grid-area:date!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-today-filter,
  #movements .movement-filter-grid-v280 > #movementTodayBtn{
    grid-area:today!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 4px!important;
    border-radius:16px!important;
    align-self:end!important;
    justify-self:stretch!important;
    font-size:.84rem!important;
    font-weight:1000!important;
    white-space:nowrap!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter{
    grid-area:cancelled!important;
    min-width:0!important;
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    padding:0 8px!important;
    border-radius:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    white-space:nowrap!important;
    font-size:.76rem!important;
    line-height:1!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter input{
    flex:0 0 auto!important;
    width:17px!important;
    height:17px!important;
    margin:0!important;
  }

  #movements .movement-filter-grid-v280 > .movement-client-filter{
    grid-area:client!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-article-filter{
    grid-area:search!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-type-filter{
    grid-area:type!important;
    min-width:118px!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }

  #movements .movement-filter-grid-v280 #movementDateFilter,
  #movements .movement-filter-grid-v280 #movementClientFilter,
  #movements .movement-filter-grid-v280 #movementArticleFilter,
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    font-size:.90rem!important;
    letter-spacing:-.055em!important;
    padding-left:34px!important;
    padding-right:3px!important;
    background-position:left 9px center!important;
    background-size:15px 15px!important;
    text-align:left!important;
  }
  #movements .movement-filter-grid-v280 #movementArticleFilter{
    font-size:.78rem!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    font-size:.82rem!important;
    line-height:1.05!important;
    padding-left:10px!important;
    padding-right:28px!important;
    white-space:normal!important;
  }
}

@media(max-width:390px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,1.04fr) 62px minmax(118px,.96fr)!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-today-filter,
  #movements .movement-filter-grid-v280 > #movementTodayBtn{
    font-size:.76rem!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter{
    font-size:.66rem!important;
    padding-left:6px!important;
    padding-right:5px!important;
    gap:5px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter input{
    width:15px!important;
    height:15px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-type-filter{
    min-width:122px!important;
  }
}


/* v3.0.130 - Movimenti: PC ripristinato, mobile con Data+Oggi+Mostra annullati */
#movements .movement-today-mobile{
  display:none!important;
}

@media(min-width:701px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(130px,.85fr) minmax(165px,1fr) minmax(170px,1fr)!important;
    grid-template-areas:
      "date type cancelled"
      "search search search"
      "client client client"!important;
    gap:10px!important;
    align-items:end!important;
  }
  #movements .movement-filter-grid-v280 > .movement-date-filter{grid-area:date!important;}
  #movements .movement-filter-grid-v280 > .movement-type-filter{grid-area:type!important;}
  #movements .movement-filter-grid-v280 > .movement-cancel-filter{grid-area:cancelled!important;}
  #movements .movement-filter-grid-v280 > .movement-article-filter{grid-area:search!important;}
  #movements .movement-filter-grid-v280 > .movement-client-filter{grid-area:client!important;}
  #movements .movement-filter-grid-v280 > .movement-today-mobile{display:none!important;}
  #movements .movement-filter-grid-v280 .movement-today-desktop{display:inline-flex!important;}
}

@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    display:grid!important;
    grid-template-columns:minmax(0,1.05fr) 62px minmax(112px,.98fr)!important;
    grid-template-areas:
      "date today cancelled"
      "client client client"
      "search search type"!important;
    gap:8px!important;
    align-items:end!important;
  }

  #movements .movement-filter-grid-v280 > .movement-date-filter{
    grid-area:date!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-date-filter .date-today-row{
    display:block!important;
    width:100%!important;
  }
  #movements .movement-filter-grid-v280 .movement-today-desktop{
    display:none!important;
  }
  #movements .movement-filter-grid-v280 > .movement-today-mobile,
  #movements .movement-filter-grid-v280 > #movementTodayBtn{
    display:inline-flex!important;
    grid-area:today!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 4px!important;
    border-radius:16px!important;
    align-self:end!important;
    justify-self:stretch!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:.78rem!important;
    font-weight:1000!important;
    white-space:nowrap!important;
  }

  #movements .movement-filter-grid-v280 > .movement-cancel-filter{
    grid-area:cancelled!important;
    min-width:0!important;
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    padding:0 7px!important;
    border-radius:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    white-space:nowrap!important;
    font-size:.68rem!important;
    line-height:1!important;
    overflow:hidden!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter input{
    flex:0 0 auto!important;
    width:15px!important;
    height:15px!important;
    margin:0!important;
  }

  #movements .movement-filter-grid-v280 > .movement-client-filter{
    grid-area:client!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-article-filter{
    grid-area:search!important;
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-type-filter{
    grid-area:type!important;
    min-width:118px!important;
    width:100%!important;
    display:grid!important;
    gap:7px!important;
  }

  #movements .movement-filter-grid-v280 #movementDateFilter,
  #movements .movement-filter-grid-v280 #movementClientFilter,
  #movements .movement-filter-grid-v280 #movementArticleFilter,
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    font-size:.82rem!important;
    letter-spacing:-.055em!important;
    padding-left:32px!important;
    padding-right:2px!important;
    background-position:left 9px center!important;
    background-size:15px 15px!important;
    text-align:left!important;
  }
  #movements .movement-filter-grid-v280 #movementArticleFilter{
    font-size:.78rem!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    font-size:.82rem!important;
    line-height:1.05!important;
    padding-left:10px!important;
    padding-right:28px!important;
    white-space:normal!important;
  }
}

@media(max-width:390px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:minmax(0,1fr) 58px minmax(112px,.92fr)!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-today-mobile,
  #movements .movement-filter-grid-v280 > #movementTodayBtn{
    font-size:.72rem!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter{
    font-size:.62rem!important;
    padding-left:5px!important;
    padding-right:4px!important;
    gap:4px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-cancel-filter input{
    width:14px!important;
    height:14px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-type-filter{
    min-width:118px!important;
  }
}


/* v3.0.130 - Movimenti mobile: elimina Oggi doppio e mostra testo annullati */
@media(max-width:700px){
  #movements .movement-filter-grid-v280 label.movement-date-filter .date-today-row > button#movementTodayBtnDesktop.date-today-btn.movement-today-desktop,
  #movements .movement-filter-grid-v280 .movement-date-filter .date-today-row button#movementTodayBtnDesktop,
  #movements button#movementTodayBtnDesktop.movement-today-desktop{
    display:none!important;
    visibility:hidden!important;
    position:absolute!important;
    left:-9999px!important;
    top:auto!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  #movements .movement-filter-grid-v280 .movement-date-filter .date-today-row{
    display:block!important;
    grid-template-columns:none!important;
    width:100%!important;
    min-width:0!important;
  }
  #movements .movement-filter-grid-v280{
    display:grid!important;
    grid-template-columns:92px 58px minmax(145px,1fr)!important;
    grid-template-areas:
      "date today cancelled"
      "client client client"
      "search search type"!important;
    gap:7px!important;
    align-items:end!important;
  }
  #movements .movement-filter-grid-v280 > .movement-date-filter{grid-area:date!important;width:92px!important;max-width:92px!important;min-width:0!important;}
  #movements .movement-filter-grid-v280 > button#movementTodayBtn.movement-today-mobile{
    display:inline-flex!important;
    grid-area:today!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    height:50px!important;
    min-height:50px!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:16px!important;
    font-size:.72rem!important;
    font-weight:1000!important;
    white-space:nowrap!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    grid-area:cancelled!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 7px!important;
    margin:0!important;
    border-radius:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:.66rem!important;
    line-height:1!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter input{
    flex:0 0 14px!important;
    width:14px!important;
    height:14px!important;
    margin:0!important;
  }
  #movements .movement-filter-grid-v280 > .movement-client-filter{grid-area:client!important;min-width:0!important;width:100%!important;}
  #movements .movement-filter-grid-v280 > .movement-article-filter{grid-area:search!important;min-width:0!important;width:100%!important;}
  #movements .movement-filter-grid-v280 > .movement-type-filter{grid-area:type!important;min-width:124px!important;width:100%!important;}
  #movements .movement-filter-grid-v280 #movementDateFilter{
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    height:50px!important;
    min-height:50px!important;
    font-size:.72rem!important;
    letter-spacing:-.055em!important;
    padding-left:29px!important;
    padding-right:1px!important;
    background-position:left 8px center!important;
    background-size:14px 14px!important;
    text-align:left!important;
  }
  #movements .movement-filter-grid-v280 #movementClientFilter,
  #movements .movement-filter-grid-v280 #movementArticleFilter,
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
  }
  #movements .movement-filter-grid-v280 #movementTypeFilter{font-size:.82rem!important;line-height:1.05!important;padding-left:10px!important;padding-right:28px!important;}
}
@media(max-width:380px){
  #movements .movement-filter-grid-v280{grid-template-columns:86px 54px minmax(140px,1fr)!important;gap:6px!important;}
  #movements .movement-filter-grid-v280 > .movement-date-filter{width:86px!important;max-width:86px!important;}
  #movements .movement-filter-grid-v280 #movementDateFilter{width:86px!important;min-width:86px!important;max-width:86px!important;font-size:.68rem!important;padding-left:27px!important;}
  #movements .movement-filter-grid-v280 > button#movementTodayBtn.movement-today-mobile{width:54px!important;min-width:54px!important;max-width:54px!important;font-size:.68rem!important;}
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{font-size:.62rem!important;padding-left:5px!important;padding-right:4px!important;gap:4px!important;}
}


/* v3.0.130 - Movimenti mobile: calendario più largo, mostra annullati più compatto */
@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:118px 66px 170px!important;
    grid-template-areas:
      "date today cancelled"
      "client client client"
      "search search type"!important;
    justify-content:start!important;
    justify-items:stretch!important;
    gap:8px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-date-filter{
    width:118px!important;
    max-width:118px!important;
    min-width:118px!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    font-size:.84rem!important;
    padding-left:31px!important;
    padding-right:22px!important;
    background-position:left 9px center!important;
    background-size:15px 15px!important;
  }
  #movements .movement-filter-grid-v280 > button#movementTodayBtn.movement-today-mobile{
    width:66px!important;
    min-width:66px!important;
    max-width:66px!important;
    font-size:.76rem!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
    justify-content:flex-start!important;
    font-size:.68rem!important;
    padding:0 8px!important;
    gap:6px!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter input{
    width:15px!important;
    height:15px!important;
    flex:0 0 15px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-article-filter{min-width:0!important;}
  #movements .movement-filter-grid-v280 > .movement-type-filter{min-width:128px!important;}
}
@media(max-width:380px){
  #movements .movement-filter-grid-v280{
    grid-template-columns:106px 58px 152px!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-date-filter{
    width:106px!important;min-width:106px!important;max-width:106px!important;
  }
  #movements .movement-filter-grid-v280 #movementDateFilter{
    width:106px!important;min-width:106px!important;max-width:106px!important;font-size:.76rem!important;
  }
  #movements .movement-filter-grid-v280 > button#movementTodayBtn.movement-today-mobile{
    width:58px!important;min-width:58px!important;max-width:58px!important;font-size:.72rem!important;
  }
  #movements .movement-filter-grid-v280 > label.movement-cancel-filter{
    width:152px!important;min-width:152px!important;max-width:152px!important;font-size:.64rem!important;gap:5px!important;
  }
}


/* v3.0.130 - Movimenti: prima riga mobile ricostruita davvero */
#movements .movement-today-mobile{
  display:none!important;
}

@media(min-width:701px){
  #movements .movement-filter-grid-v280{
    display:grid!important;
    grid-template-columns:minmax(130px,.85fr) minmax(165px,1fr) minmax(170px,1fr)!important;
    grid-template-areas:
      "date type cancelled"
      "search search search"
      "client client client"!important;
    gap:10px!important;
    align-items:end!important;
  }
  #movements .movement-mobile-date-row{
    display:contents!important;
  }
  #movements .movement-filter-grid-v280 .movement-date-filter{grid-area:date!important;}
  #movements .movement-filter-grid-v280 .movement-type-filter{grid-area:type!important;}
  #movements .movement-filter-grid-v280 .movement-cancel-filter{grid-area:cancelled!important;}
  #movements .movement-filter-grid-v280 .movement-article-filter{grid-area:search!important;}
  #movements .movement-filter-grid-v280 .movement-client-filter{grid-area:client!important;}
  #movements .movement-filter-grid-v280 .movement-today-mobile{display:none!important;}
  #movements .movement-filter-grid-v280 .movement-today-desktop{display:inline-flex!important;}
}

@media(max-width:700px){
  #movements .movement-filter-grid-v280{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:
      "mobiletop"
      "client"
      "bottom"!important;
    gap:10px!important;
    align-items:stretch!important;
  }

  #movements .movement-mobile-date-row{
    grid-area:mobiletop!important;
    display:grid!important;
    grid-template-columns:126px 64px 154px!important;
    gap:8px!important;
    align-items:end!important;
    justify-content:start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  #movements .movement-mobile-date-row .movement-date-filter{
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-mobile-date-row .date-today-row{
    display:block!important;
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
  }
  #movements .movement-mobile-date-row .movement-today-desktop{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  #movements .movement-mobile-date-row #movementDateFilter{
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
    height:50px!important;
    min-height:50px!important;
    border-radius:16px!important;
    font-size:.88rem!important;
    letter-spacing:-.045em!important;
    padding-left:33px!important;
    padding-right:21px!important;
    background-position:left 10px center!important;
    background-size:15px 15px!important;
    text-align:left!important;
  }

  #movements .movement-mobile-date-row .movement-today-mobile{
    display:inline-flex!important;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    height:50px!important;
    min-height:50px!important;
    padding:0!important;
    border-radius:16px!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:.76rem!important;
    font-weight:1000!important;
    white-space:nowrap!important;
  }

  #movements .movement-mobile-date-row .movement-cancel-filter{
    width:154px!important;
    min-width:154px!important;
    max-width:154px!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    padding:0 7px!important;
    border-radius:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    font-size:.63rem!important;
    line-height:1!important;
  }
  #movements .movement-mobile-date-row .movement-cancel-filter input{
    width:14px!important;
    height:14px!important;
    flex:0 0 14px!important;
    margin:0!important;
  }

  #movements .movement-filter-grid-v280 > .movement-client-filter{
    grid-area:client!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    gap:7px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-article-filter{
    grid-area:bottom!important;
    width:calc(100% - 132px)!important;
    min-width:0!important;
    display:grid!important;
    gap:7px!important;
    align-self:end!important;
  }
  #movements .movement-filter-grid-v280 > .movement-type-filter{
    grid-area:bottom!important;
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
    justify-self:end!important;
    display:grid!important;
    gap:7px!important;
    align-self:end!important;
  }

  #movements .movement-filter-grid-v280 #movementClientFilter,
  #movements .movement-filter-grid-v280 #movementArticleFilter,
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    height:50px!important;
    min-height:50px!important;
  }
  #movements .movement-filter-grid-v280 #movementArticleFilter{
    font-size:.78rem!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  #movements .movement-filter-grid-v280 #movementTypeFilter{
    font-size:.82rem!important;
    line-height:1.05!important;
    padding-left:10px!important;
    padding-right:28px!important;
    white-space:normal!important;
  }
}

@media(max-width:380px){
  #movements .movement-mobile-date-row{
    grid-template-columns:116px 58px 142px!important;
    gap:6px!important;
  }
  #movements .movement-mobile-date-row .movement-date-filter,
  #movements .movement-mobile-date-row .date-today-row,
  #movements .movement-mobile-date-row #movementDateFilter{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
  }
  #movements .movement-mobile-date-row .movement-today-mobile{
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    font-size:.70rem!important;
  }
  #movements .movement-mobile-date-row .movement-cancel-filter{
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
    font-size:.59rem!important;
    padding-left:5px!important;
    padding-right:4px!important;
    gap:4px!important;
  }
  #movements .movement-filter-grid-v280 > .movement-article-filter{
    width:calc(100% - 126px)!important;
  }
  #movements .movement-filter-grid-v280 > .movement-type-filter{
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
  }
}


/* v3.0.130 - Movimenti: filtri ricerca rifatti con griglia isolata */
#movements .movement-filter-grid-v376{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
#movements .movement-filter-grid-v376 .mov-field{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
  width:100%!important;
  color:var(--muted)!important;
  font-size:.72rem!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
#movements .movement-filter-grid-v376 input,
#movements .movement-filter-grid-v376 select{
  width:100%!important;
  min-width:0!important;
  height:50px!important;
  min-height:50px!important;
  border-radius:16px!important;
  font-size:1rem!important;
  font-weight:900!important;
  color:var(--ink)!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
#movements .movement-filter-grid-v376 .mov-filter-toprow{
  display:grid!important;
  grid-template-columns:minmax(130px,1fr) 66px minmax(150px,1fr)!important;
  gap:8px!important;
  align-items:end!important;
  width:100%!important;
  min-width:0!important;
}
#movements .movement-filter-grid-v376 .mov-date-field{
  min-width:0!important;
}
#movements .movement-filter-grid-v376 #movementDateFilter{
  font-size:.88rem!important;
  letter-spacing:-.045em!important;
  padding-left:34px!important;
  padding-right:22px!important;
  background-position:left 10px center!important;
  background-size:15px 15px!important;
  text-align:left!important;
}
#movements .movement-filter-grid-v376 .mov-today-btn{
  width:66px!important;
  min-width:66px!important;
  max-width:66px!important;
  height:50px!important;
  min-height:50px!important;
  padding:0!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.78rem!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}
#movements .movement-filter-grid-v376 .mov-cancel-field{
  width:100%!important;
  min-width:0!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 9px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  color:var(--ink)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
#movements .movement-filter-grid-v376 .mov-cancel-field input{
  width:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  height:16px!important;
  min-height:16px!important;
  margin:0!important;
  flex:0 0 16px!important;
}
#movements .movement-filter-grid-v376 .mov-cancel-field span{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
#movements .movement-filter-grid-v376 .mov-filter-bottomrow{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 132px!important;
  gap:8px!important;
  align-items:end!important;
  width:100%!important;
  min-width:0!important;
}
#movements .movement-filter-grid-v376 #movementArticleFilter{
  font-size:.82rem!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
#movements .movement-filter-grid-v376 #movementTypeFilter{
  font-size:.88rem!important;
  line-height:1.05!important;
  padding-left:10px!important;
  padding-right:28px!important;
  white-space:normal!important;
}
@media(min-width:701px){
  #movements .movement-filter-grid-v376{
    grid-template-columns:1fr!important;
  }
  #movements .movement-filter-grid-v376 .mov-filter-toprow{
    grid-template-columns:minmax(160px,.8fr) minmax(120px,.45fr) minmax(210px,.8fr)!important;
  }
  #movements .movement-filter-grid-v376 .mov-filter-bottomrow{
    grid-template-columns:minmax(0,1fr) 180px!important;
  }
}
@media(max-width:390px){
  #movements .movement-filter-grid-v376 .mov-filter-toprow{
    grid-template-columns:minmax(118px,1fr) 58px minmax(142px,1fr)!important;
    gap:6px!important;
  }
  #movements .movement-filter-grid-v376 #movementDateFilter{
    font-size:.78rem!important;
    padding-left:31px!important;
    padding-right:18px!important;
  }
  #movements .movement-filter-grid-v376 .mov-today-btn{
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    font-size:.70rem!important;
  }
  #movements .movement-filter-grid-v376 .mov-cancel-field{
    padding-left:6px!important;
    padding-right:5px!important;
    gap:5px!important;
    font-size:.64rem!important;
  }
  #movements .movement-filter-grid-v376 .mov-cancel-field input{
    width:14px!important;
    min-width:14px!important;
    height:14px!important;
    min-height:14px!important;
    flex-basis:14px!important;
  }
  #movements .movement-filter-grid-v376 .mov-filter-bottomrow{
    grid-template-columns:minmax(0,1fr) 124px!important;
    gap:8px!important;
  }
}


/* v3.0.130 - Movimenti mobile: data intera e mostra annullati compatto/centrato */
@media(max-width:700px){
  #movements .movement-filter-grid-v376 .mov-filter-toprow{
    grid-template-columns:156px 58px 124px!important;
    gap:7px!important;
    justify-content:start!important;
    align-items:end!important;
  }
  #movements .movement-filter-grid-v376 #movementDateFilter{
    width:156px!important;
    min-width:156px!important;
    max-width:156px!important;
    font-size:.82rem!important;
    letter-spacing:-.045em!important;
    padding-left:32px!important;
    padding-right:20px!important;
    background-position:left 9px center!important;
    background-size:15px 15px!important;
  }
  #movements .movement-filter-grid-v376 .mov-date-field,
  #movements .movement-filter-grid-v376 .mov-date-field input{
    min-width:156px!important;
    max-width:156px!important;
  }
  #movements .movement-filter-grid-v376 .mov-today-btn{
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    font-size:.72rem!important;
  }
  #movements .movement-filter-grid-v376 .mov-cancel-field{
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
    padding:0 6px!important;
    gap:5px!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:.60rem!important;
  }
  #movements .movement-filter-grid-v376 .mov-cancel-field input{
    width:14px!important;
    min-width:14px!important;
    max-width:14px!important;
    height:14px!important;
    min-height:14px!important;
    flex:0 0 14px!important;
  }
  #movements .movement-filter-grid-v376 .mov-cancel-field span{
    text-align:center!important;
    flex:0 1 auto!important;
  }
}
@media(max-width:390px){
  #movements .movement-filter-grid-v376 .mov-filter-toprow{
    grid-template-columns:148px 54px 116px!important;
    gap:6px!important;
  }
  #movements .movement-filter-grid-v376 #movementDateFilter{
    width:148px!important;
    min-width:148px!important;
    max-width:148px!important;
    font-size:.78rem!important;
    padding-left:31px!important;
    padding-right:18px!important;
  }
  #movements .movement-filter-grid-v376 .mov-date-field,
  #movements .movement-filter-grid-v376 .mov-date-field input{
    min-width:148px!important;
    max-width:148px!important;
  }
  #movements .movement-filter-grid-v376 .mov-today-btn{
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    font-size:.68rem!important;
  }
  #movements .movement-filter-grid-v376 .mov-cancel-field{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
    padding-left:4px!important;
    padding-right:4px!important;
    gap:4px!important;
    font-size:.56rem!important;
  }
  #movements .movement-filter-grid-v376 .mov-cancel-field input{
    width:13px!important;
    min-width:13px!important;
    max-width:13px!important;
    height:13px!important;
    min-height:13px!important;
    flex-basis:13px!important;
  }
}


/* v3.0.130 - Movimenti PC: filtro ricerca ripristinato */
@media(min-width:701px){
  #movements .movement-filter-grid-v376{
    display:grid!important;
    grid-template-columns:minmax(170px,.9fr) minmax(180px,.9fr) minmax(190px,.9fr)!important;
    grid-template-areas:
      "date type cancelled"
      "search search search"
      "client client client"!important;
    gap:10px!important;
    align-items:end!important;
  }

  #movements .movement-filter-grid-v376 .mov-mobile-date-row,
  #movements .movement-filter-grid-v376 .movement-mobile-date-row,
  #movements .movement-filter-grid-v376 .mov-filter-toprow{
    display:contents!important;
  }

  #movements .movement-filter-grid-v376 .mov-date-field{
    grid-area:date!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  #movements .movement-filter-grid-v376 .mov-type-field{
    grid-area:type!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  #movements .movement-filter-grid-v376 .mov-cancel-field{
    grid-area:cancelled!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 12px!important;
    border-radius:14px!important;
    justify-content:center!important;
    gap:8px!important;
    font-size:.78rem!important;
    text-align:center!important;
  }
  #movements .movement-filter-grid-v376 .mov-search-field{
    grid-area:search!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  #movements .movement-filter-grid-v376 .mov-client-field{
    grid-area:client!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  #movements .movement-filter-grid-v376 .mov-today-btn{
    display:none!important;
  }

  #movements .movement-filter-grid-v376 .date-today-row{
    display:block!important;
    width:100%!important;
  }

  #movements .movement-filter-grid-v376 input,
  #movements .movement-filter-grid-v376 select{
    height:46px!important;
    min-height:46px!important;
    border-radius:14px!important;
    font-size:.90rem!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  #movements .movement-filter-grid-v376 #movementDateFilter{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    font-size:.90rem!important;
    padding-left:36px!important;
    padding-right:28px!important;
    background-position:left 12px center!important;
    background-size:16px 16px!important;
  }

  #movements .movement-filter-grid-v376 #movementArticleFilter{
    font-size:.86rem!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  #movements .movement-filter-grid-v376 #movementTypeFilter{
    font-size:.90rem!important;
    line-height:1!important;
    padding-left:12px!important;
    padding-right:32px!important;
  }
}


/* v3.0.130 - Movimenti PC: correzione definitiva griglia filtri */
@media(min-width:701px){
  #movements .movement-filter-grid-v376{
    display:grid!important;
    grid-template-columns:minmax(170px,.85fr) minmax(180px,.85fr) minmax(220px,1fr)!important;
    grid-template-areas:
      "date type cancelled"
      "search search search"
      "client client client"!important;
    gap:10px!important;
    align-items:end!important;
  }

  /* i wrapper usati per il mobile non devono occupare celle proprie sul PC */
  #movements .movement-filter-grid-v376 .mov-filter-toprow,
  #movements .movement-filter-grid-v376 .mov-filter-bottomrow{
    display:contents!important;
  }

  #movements .movement-filter-grid-v376 .mov-date-field{
    grid-area:date!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  #movements .movement-filter-grid-v376 .mov-type-field{
    grid-area:type!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  #movements .movement-filter-grid-v376 .mov-cancel-field{
    grid-area:cancelled!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 12px!important;
    border:1px solid var(--line)!important;
    border-radius:14px!important;
    background:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    white-space:nowrap!important;
    font-size:.78rem!important;
    font-weight:900!important;
    color:var(--ink)!important;
    text-transform:none!important;
    letter-spacing:0!important;
    overflow:visible!important;
  }

  #movements .movement-filter-grid-v376 .mov-cancel-field input{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    min-height:16px!important;
    margin:0!important;
    flex:0 0 16px!important;
  }

  #movements .movement-filter-grid-v376 .mov-search-field{
    grid-area:search!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  #movements .movement-filter-grid-v376 .mov-client-field{
    grid-area:client!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  #movements .movement-filter-grid-v376 .mov-today-btn{
    display:none!important;
  }

  #movements .movement-filter-grid-v376 .date-today-row{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  #movements .movement-filter-grid-v376 .mov-field{
    display:grid!important;
    gap:7px!important;
    min-width:0!important;
    width:100%!important;
  }

  #movements .movement-filter-grid-v376 input,
  #movements .movement-filter-grid-v376 select{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    border-radius:14px!important;
    font-size:.90rem!important;
    line-height:1!important;
  }

  #movements .movement-filter-grid-v376 #movementDateFilter{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    font-size:.90rem!important;
    letter-spacing:0!important;
    padding-left:36px!important;
    padding-right:28px!important;
    background-position:left 12px center!important;
    background-size:16px 16px!important;
  }

  #movements .movement-filter-grid-v376 #movementArticleFilter{
    width:100%!important;
    font-size:.86rem!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  #movements .movement-filter-grid-v376 #movementTypeFilter{
    width:100%!important;
    font-size:.90rem!important;
    line-height:1!important;
    padding-left:12px!important;
    padding-right:32px!important;
    white-space:nowrap!important;
  }
}


/* v3.0.130 - Dettaglio movimento cumulativo: cliente non tagliato su mobile */
@media(max-width:700px){
  dialog .receipt-meta,
  .dialog .receipt-meta,
  #movementDetailDialog .receipt-meta,
  #movementDetailDialog .receipt-card .receipt-meta,
  .movement-detail-dialog .receipt-meta{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }

  dialog .receipt-meta div:first-child,
  .dialog .receipt-meta div:first-child,
  #movementDetailDialog .receipt-meta div:first-child,
  #movementDetailDialog .receipt-card .receipt-meta div:first-child,
  .movement-detail-dialog .receipt-meta div:first-child{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  dialog .receipt-meta div,
  .dialog .receipt-meta div,
  #movementDetailDialog .receipt-meta div,
  #movementDetailDialog .receipt-card .receipt-meta div,
  .movement-detail-dialog .receipt-meta div{
    min-width:0!important;
    max-width:none!important;
    padding:12px 14px!important;
  }

  dialog .receipt-meta div:first-child b,
  .dialog .receipt-meta div:first-child b,
  #movementDetailDialog .receipt-meta div:first-child b,
  #movementDetailDialog .receipt-card .receipt-meta div:first-child b,
  .movement-detail-dialog .receipt-meta div:first-child b{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:break-word!important;
    overflow-wrap:anywhere!important;
    line-height:1.12!important;
  }

  dialog .receipt-meta div:first-child small,
  .dialog .receipt-meta div:first-child small,
  #movementDetailDialog .receipt-meta div:first-child small,
  #movementDetailDialog .receipt-card .receipt-meta div:first-child small,
  .movement-detail-dialog .receipt-meta div:first-child small{
    white-space:normal!important;
  }
}


/* v3.0.130 - VPN/Tailscale e percorsi database non visibili */
.vpn-panel,
.database-paths-panel{
  display:none!important;
}


/* v3.0.130 - Icona ufficiale D2 anche dentro il programma */
.brand-logo{
  background:#fff!important;
  padding:3px!important;
  overflow:hidden!important;
  box-shadow:0 10px 26px rgba(0,0,0,.20)!important;
}
.brand-logo img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:15px!important;
}
@media(max-width:700px){
  .brand-logo{
    width:44px!important;
    height:44px!important;
    border-radius:16px!important;
  }
  .brand-logo img{
    border-radius:13px!important;
  }
}


/* v3.0.130 - Scanner remoto: invio automatico e reinvio */
.scan-confirm code{
  font-size:1rem;
  font-weight:1000;
}
#retryRemoteSendBtn{
  min-width:150px;
}


/* v3.0.130 - Riepiloghi mobile: Codice + Descrizione + Quantità */
@media(max-width:760px){
  #bulkReceiptDialog .receipt-table,
  #movementDetailDialog .receipt-table,
  .bulk-receipt-sheet .receipt-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }

  /* Nascondo solo numero riga e ubicazione. */
  #bulkReceiptDialog .receipt-table th:nth-child(1),
  #bulkReceiptDialog .receipt-table td:nth-child(1),
  #bulkReceiptDialog .receipt-table th:nth-child(4),
  #bulkReceiptDialog .receipt-table td:nth-child(4),
  #movementDetailDialog .receipt-table th:nth-child(1),
  #movementDetailDialog .receipt-table td:nth-child(1),
  #movementDetailDialog .receipt-table th:nth-child(4),
  #movementDetailDialog .receipt-table td:nth-child(4),
  .bulk-receipt-sheet .receipt-table th:nth-child(1),
  .bulk-receipt-sheet .receipt-table td:nth-child(1),
  .bulk-receipt-sheet .receipt-table th:nth-child(4),
  .bulk-receipt-sheet .receipt-table td:nth-child(4){
    display:none!important;
  }

  /* Ripristino esplicitamente Codice, Descrizione e Q.tà. */
  #bulkReceiptDialog .receipt-table th:nth-child(2),
  #bulkReceiptDialog .receipt-table td:nth-child(2),
  #bulkReceiptDialog .receipt-table th:nth-child(3),
  #bulkReceiptDialog .receipt-table td:nth-child(3),
  #bulkReceiptDialog .receipt-table th:nth-child(5),
  #bulkReceiptDialog .receipt-table td:nth-child(5),
  #movementDetailDialog .receipt-table th:nth-child(2),
  #movementDetailDialog .receipt-table td:nth-child(2),
  #movementDetailDialog .receipt-table th:nth-child(3),
  #movementDetailDialog .receipt-table td:nth-child(3),
  #movementDetailDialog .receipt-table th:nth-child(5),
  #movementDetailDialog .receipt-table td:nth-child(5),
  .bulk-receipt-sheet .receipt-table th:nth-child(2),
  .bulk-receipt-sheet .receipt-table td:nth-child(2),
  .bulk-receipt-sheet .receipt-table th:nth-child(3),
  .bulk-receipt-sheet .receipt-table td:nth-child(3),
  .bulk-receipt-sheet .receipt-table th:nth-child(5),
  .bulk-receipt-sheet .receipt-table td:nth-child(5){
    display:table-cell!important;
  }

  #bulkReceiptDialog .receipt-table th:nth-child(2),
  #bulkReceiptDialog .receipt-table td:nth-child(2),
  #movementDetailDialog .receipt-table th:nth-child(2),
  #movementDetailDialog .receipt-table td:nth-child(2),
  .bulk-receipt-sheet .receipt-table th:nth-child(2),
  .bulk-receipt-sheet .receipt-table td:nth-child(2){
    width:29%!important;
  }

  #bulkReceiptDialog .receipt-table th:nth-child(3),
  #bulkReceiptDialog .receipt-table td:nth-child(3),
  #movementDetailDialog .receipt-table th:nth-child(3),
  #movementDetailDialog .receipt-table td:nth-child(3),
  .bulk-receipt-sheet .receipt-table th:nth-child(3),
  .bulk-receipt-sheet .receipt-table td:nth-child(3){
    width:auto!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  #bulkReceiptDialog .receipt-table th:nth-child(5),
  #bulkReceiptDialog .receipt-table td:nth-child(5),
  #movementDetailDialog .receipt-table th:nth-child(5),
  #movementDetailDialog .receipt-table td:nth-child(5),
  .bulk-receipt-sheet .receipt-table th:nth-child(5),
  .bulk-receipt-sheet .receipt-table td:nth-child(5){
    width:52px!important;
    text-align:center!important;
    font-weight:1000!important;
  }

  #bulkReceiptDialog .receipt-table th,
  #bulkReceiptDialog .receipt-table td,
  #movementDetailDialog .receipt-table th,
  #movementDetailDialog .receipt-table td,
  .bulk-receipt-sheet .receipt-table th,
  .bulk-receipt-sheet .receipt-table td{
    padding:7px 5px!important;
    font-size:.72rem!important;
    line-height:1.16!important;
    vertical-align:top!important;
  }
}


/* v3.0.130 - Riprendi movimento salvato */
.movement-resume-dialog{
  width:min(980px,calc(100% - 22px))!important;
  max-width:980px!important;
}
.movement-resume-editor{
  margin-top:16px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#f8fbf8;
}
.movement-resume-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.movement-resume-head h3{margin:2px 0 0;font-size:1.05rem}
.movement-resume-head > span{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid #bbf7d0;
  border-radius:999px;
  background:#ecfdf3;
  color:#166534;
  font-weight:900;
  white-space:nowrap;
}
.movement-resume-search{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.movement-resume-search input{
  width:100%;
  min-height:46px;
  text-transform:none;
  letter-spacing:normal;
  font-size:.92rem;
}
.movement-resume-results{
  display:grid;
  gap:7px;
  margin-top:8px;
}
.movement-resume-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.movement-resume-result div{min-width:0}
.movement-resume-result b,
.movement-resume-result span,
.movement-resume-result small{display:block}
.movement-resume-result b{font-size:.88rem}
.movement-resume-result span{font-weight:850;line-height:1.18}
.movement-resume-result small{margin-top:3px;color:var(--muted);font-weight:750}
.movement-resume-search-hint{margin:8px 2px 0}
.movement-resume-rows{
  display:grid;
  gap:9px;
  margin-top:14px;
}
.movement-resume-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid #dbe8dc;
  border-radius:17px;
  background:#fff;
}
.movement-resume-article{min-width:0}
.movement-resume-article b,
.movement-resume-article span,
.movement-resume-article small{display:block}
.movement-resume-article b{font-size:.9rem}
.movement-resume-article span{
  margin-top:2px;
  font-weight:900;
  line-height:1.2;
  white-space:normal;
  overflow-wrap:anywhere;
}
.movement-resume-article small{
  margin-top:4px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  line-height:1.2;
}
.movement-resume-qty{
  display:grid;
  grid-template-columns:38px 68px 38px;
  align-items:center;
  gap:5px;
}
.movement-resume-qty .btn{
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  padding:0!important;
  justify-content:center;
  font-size:1.05rem;
}
.movement-resume-qty input{
  width:68px;
  min-width:0;
  height:38px;
  padding:6px;
  text-align:center;
  font-weight:1000;
}
.movement-resume-remove{white-space:nowrap}
.movement-resume-empty{
  padding:15px;
  border:1px dashed #f59e0b;
  border-radius:15px;
  background:#fff7ed;
  color:#9a3412;
  font-weight:850;
  text-align:center;
}

@media(max-width:700px){
  .movement-resume-dialog{
    width:calc(100% - 8px)!important;
    max-width:calc(100% - 8px)!important;
  }
  .movement-resume-editor{padding:11px;border-radius:18px}
  .movement-resume-head{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .movement-resume-head > span{
    justify-self:start;
    white-space:normal;
  }
  .movement-resume-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:10px;
  }
  .movement-resume-article{grid-column:1 / -1}
  .movement-resume-qty{
    grid-template-columns:36px 62px 36px;
  }
  .movement-resume-qty .btn{
    width:36px;
    min-width:36px;
    height:36px;
    min-height:36px;
  }
  .movement-resume-qty input{
    width:62px;
    height:36px;
  }
  .movement-resume-remove{
    min-height:36px!important;
    justify-content:center;
  }
  .movement-resume-result{
    grid-template-columns:minmax(0,1fr) auto;
    padding:9px;
  }
}


/* v3.0.130 - "+N altri articoli" cliccabile */
.bulk-extra-items{
  display:grid;
  gap:4px;
}
.bulk-extra-items[hidden]{
  display:none!important;
}
.bulk-more-toggle{
  width:max-content;
  max-width:100%;
  margin:5px 0 0 auto;
  padding:5px 9px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#516256;
  font:inherit;
  font-size:.82rem;
  font-weight:1000;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  text-align:right;
}
.bulk-more-toggle:hover,
.bulk-more-toggle:focus-visible{
  background:#eef5ef;
  color:#166534;
  outline:none;
}
.bulk-more-toggle small{
  color:#16833a;
  font-size:.68rem;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.bulk-more-toggle[aria-expanded="true"]{
  color:#9a3412;
  background:#fff7ed;
}
.bulk-more-toggle[aria-expanded="true"] small{
  color:#c2410c;
}

@media(max-width:700px){
  .bulk-more-toggle{
    width:100%;
    margin-left:0;
    justify-content:space-between;
    padding:7px 9px;
    border-top:1px solid #dce7dc;
    border-radius:0 0 9px 9px;
    text-align:left;
  }
}


/* v3.0.130 - Mostra automaticamente gli articoli che entrano nella scheda */
.bulk-extra-line[hidden]{
  display:none!important;
}
.bulk-more-toggle[hidden]{
  display:none!important;
}
@media(min-width:761px){
  #movementResults > .item-card{
    min-height:0;
  }
  .bulk-extra-items{
    display:grid;
    gap:4px;
  }
}




/* v3.0.130 - Cumulativi mobile: rimuovi sopra quantità e dettagli semplificati */
.bulk-mobile-label,
.bulk-mobile-remove{
  display:none;
}

.bulk-qty{
  appearance:textfield;
  -moz-appearance:textfield;
}

.bulk-qty::-webkit-outer-spin-button,
.bulk-qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

@media(max-width:720px){
  .bulk-result small .bulk-mobile-extra{
    display:none!important;
  }

  #bulkRowsBox .table-wrap{
    overflow:visible!important;
  }

  #bulkRowsBox .bulk-table,
  #bulkRowsBox .bulk-table tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  #bulkRowsBox .bulk-table thead{
    display:none!important;
  }

  #bulkRowsBox .bulk-table .bulk-selected-row{
    display:grid!important;
    grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr);
    grid-template-areas:
      "code description"
      "quantity quantity";
    gap:9px 10px;
    width:100%!important;
    padding:11px 0!important;
    border-bottom:1px solid var(--line)!important;
    align-items:start;
  }

  #bulkRowsBox .bulk-table .bulk-selected-row:last-child{
    border-bottom:0!important;
  }

  #bulkRowsBox .bulk-table .bulk-selected-row > td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:0!important;
    border:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  #bulkRowsBox .bulk-selected-code{
    grid-area:code;
    align-self:start;
  }

  #bulkRowsBox .bulk-selected-code b{
    font-size:.88rem;
    line-height:1.12;
  }

  #bulkRowsBox .bulk-selected-code small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:.70rem;
    line-height:1.1;
  }

  #bulkRowsBox .bulk-selected-description{
    grid-area:description;
    align-self:start;
    font-size:.84rem!important;
    font-weight:850;
    line-height:1.18;
    overflow-wrap:anywhere!important;
  }

  #bulkRowsBox .bulk-selected-stock,
  #bulkRowsBox .bulk-selected-location,
  #bulkRowsBox .bulk-selected-actions{
    display:none!important;
  }

  #bulkRowsBox .bulk-selected-quantity{
    grid-area:quantity;
    display:flex!important;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  #bulkRowsBox .bulk-mobile-label{
    display:block;
    color:var(--muted);
    font-size:.62rem;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.05em;
  }

  #bulkRowsBox .bulk-mobile-remove-wrap{
    display:block!important;
    width:100%;
  }

  #bulkRowsBox .bulk-mobile-remove{
    display:inline-flex!important;
    min-height:36px!important;
    height:36px!important;
    padding:0 12px!important;
    border-radius:12px!important;
    font-size:.78rem!important;
    justify-content:center!important;
  }

  #bulkRowsBox .bulk-qty-controls{
    display:grid!important;
    grid-template-columns:38px 58px 38px;
    gap:6px;
    align-items:center;
    justify-content:start!important;
  }

  #bulkRowsBox .bulk-qty-controls .btn.mini{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border-radius:12px!important;
    justify-content:center!important;
    font-size:1.05rem!important;
  }

  #bulkRowsBox .bulk-qty-controls .bulk-qty{
    width:58px!important;
    min-width:58px!important;
    height:38px!important;
    min-height:38px!important;
    padding:4px 6px!important;
    border-radius:12px!important;
    text-align:center!important;
    font-size:.92rem!important;
    font-weight:1000!important;
    line-height:1!important;
  }
}

@media(max-width:380px){
  #bulkRowsBox .bulk-table .bulk-selected-row{
    grid-template-columns:minmax(80px,.68fr) minmax(0,1.32fr);
    gap:8px;
  }

  #bulkRowsBox .bulk-qty-controls{
    grid-template-columns:36px 52px 36px;
    gap:5px;
  }

  #bulkRowsBox .bulk-qty-controls .btn.mini{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }

  #bulkRowsBox .bulk-qty-controls .bulk-qty{
    width:52px!important;
    min-width:52px!important;
    height:36px!important;
    min-height:36px!important;
    padding:4px!important;
  }
}


/* v3.0.130 - Rimuove ovunque le frecce native dei campi numerici */
input[type="number"]{
  appearance:textfield!important;
  -moz-appearance:textfield!important;
  background-image:none!important;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:none!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* v3.0.130 - Sezione Articoli selezionati mobile dedicata e senza duplicati */
.bulk-selected-mobile-list{
  display:none;
}

@media(max-width:720px){
  #bulkRowsBox .bulk-selected-desktop{
    display:none!important;
  }

  #bulkRowsBox .bulk-selected-mobile-list{
    display:grid!important;
    gap:0;
    width:100%;
  }

  #bulkRowsBox .bulk-selected-mobile-card{
    display:grid;
    gap:12px;
    padding:13px 0;
    border-bottom:1px solid var(--line);
  }

  #bulkRowsBox .bulk-selected-mobile-card:first-child{
    padding-top:4px;
  }

  #bulkRowsBox .bulk-selected-mobile-card:last-child{
    border-bottom:0;
    padding-bottom:4px;
  }

  #bulkRowsBox .bulk-selected-mobile-head{
    display:grid;
    grid-template-columns:minmax(92px,.72fr) minmax(0,1.28fr);
    gap:10px;
    align-items:start;
  }

  #bulkRowsBox .bulk-selected-mobile-code,
  #bulkRowsBox .bulk-selected-mobile-description{
    min-width:0;
  }

  #bulkRowsBox .bulk-selected-mobile-code b{
    display:block;
    font-size:.9rem;
    line-height:1.12;
  }

  #bulkRowsBox .bulk-selected-mobile-code small{
    display:block;
    margin-top:4px;
    color:var(--muted);
    font-size:.72rem;
    line-height:1.1;
  }

  #bulkRowsBox .bulk-selected-mobile-description{
    font-size:.88rem;
    font-weight:900;
    line-height:1.18;
    overflow-wrap:anywhere;
  }

  #bulkRowsBox .bulk-selected-mobile-controls{
    display:grid;
    grid-template-columns:44px 64px 44px;
    grid-template-rows:auto 44px;
    grid-template-areas:
      "label remove remove"
      "minus qty plus";
    gap:7px 7px;
    align-items:center;
    justify-content:start;
  }

  #bulkRowsBox .bulk-selected-mobile-label{
    grid-area:label;
    color:var(--muted);
    font-size:.64rem;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.05em;
    align-self:center;
  }

  #bulkRowsBox .bulk-selected-mobile-remove{
    grid-area:remove;
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    height:38px!important;
    padding:0 12px!important;
    border-radius:12px!important;
    justify-content:center!important;
    font-size:.8rem!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls .bulk-minus{
    grid-area:minus;
  }

  #bulkRowsBox .bulk-selected-mobile-controls .bulk-qty{
    grid-area:qty;
  }

  #bulkRowsBox .bulk-selected-mobile-controls .bulk-plus{
    grid-area:plus;
  }

  #bulkRowsBox .bulk-selected-mobile-controls .bulk-minus,
  #bulkRowsBox .bulk-selected-mobile-controls .bulk-plus{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border-radius:13px!important;
    justify-content:center!important;
    font-size:1.1rem!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls .bulk-qty{
    width:64px!important;
    min-width:64px!important;
    height:44px!important;
    min-height:44px!important;
    padding:4px 6px!important;
    border-radius:13px!important;
    text-align:center!important;
    font-size:1rem!important;
    font-weight:1000!important;
    line-height:1!important;
    appearance:textfield!important;
    -moz-appearance:textfield!important;
    background-image:none!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls .bulk-qty::-webkit-inner-spin-button,
  #bulkRowsBox .bulk-selected-mobile-controls .bulk-qty::-webkit-outer-spin-button{
    -webkit-appearance:none!important;
    display:none!important;
    margin:0!important;
  }
}

@media(max-width:380px){
  #bulkRowsBox .bulk-selected-mobile-head{
    grid-template-columns:minmax(82px,.67fr) minmax(0,1.33fr);
    gap:8px;
  }

  #bulkRowsBox .bulk-selected-mobile-controls{
    grid-template-columns:40px 58px 40px;
    grid-template-rows:auto 40px;
    gap:6px;
  }

  #bulkRowsBox .bulk-selected-mobile-controls .bulk-minus,
  #bulkRowsBox .bulk-selected-mobile-controls .bulk-plus{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls .bulk-qty{
    width:58px!important;
    min-width:58px!important;
    height:40px!important;
    min-height:40px!important;
  }
}


/* v3.0.130 - Articoli selezionati mobile ordinati */
@media(max-width:720px){
  #bulkRowsBox .bulk-selected-mobile-card{gap:10px!important;}
  #bulkRowsBox .bulk-selected-mobile-remove-row{display:flex!important;justify-content:flex-end!important;align-items:center!important;width:100%!important;}
  #bulkRowsBox .bulk-selected-mobile-remove{width:auto!important;min-width:138px!important;min-height:40px!important;height:40px!important;padding:0 14px!important;border-radius:13px!important;justify-content:center!important;font-size:.82rem!important;}
  #bulkRowsBox .bulk-selected-mobile-quantity-block{display:grid!important;gap:6px!important;justify-items:start!important;width:100%!important;}
  #bulkRowsBox .bulk-selected-mobile-label{display:block!important;margin:0!important;color:var(--muted)!important;font-size:.64rem!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.05em!important;}
  #bulkRowsBox .bulk-selected-mobile-controls{display:grid!important;grid-template-columns:44px 64px 44px!important;grid-template-rows:44px!important;grid-template-areas:"minus qty plus"!important;gap:7px!important;align-items:center!important;justify-content:start!important;width:auto!important;}
  #bulkRowsBox .bulk-selected-mobile-controls .bulk-minus{grid-area:minus!important;}
  #bulkRowsBox .bulk-selected-mobile-controls .bulk-qty{grid-area:qty!important;}
  #bulkRowsBox .bulk-selected-mobile-controls .bulk-plus{grid-area:plus!important;}
}
@media(max-width:380px){
  #bulkRowsBox .bulk-selected-mobile-remove{min-width:128px!important;height:38px!important;min-height:38px!important;}
  #bulkRowsBox .bulk-selected-mobile-controls{grid-template-columns:40px 58px 40px!important;grid-template-rows:40px!important;gap:6px!important;}
}


/* v3.0.130 - Articoli selezionati mobile: esattamente due righe */
@media(max-width:720px){
  #bulkRowsBox .bulk-selected-mobile-card-v3132{
    display:grid!important;
    grid-template-rows:auto auto!important;
    gap:10px!important;
    padding:12px 0!important;
  }

  #bulkRowsBox .bulk-selected-mobile-head-v3132{
    display:grid!important;
    grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr)!important;
    gap:10px!important;
    align-items:start!important;
  }

  #bulkRowsBox .bulk-selected-mobile-actions-v3132{
    display:grid!important;
    grid-template-columns:auto auto minmax(92px,1fr)!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
  }

  #bulkRowsBox .bulk-selected-mobile-label-v3132{
    display:block!important;
    margin:0!important;
    color:var(--muted)!important;
    font-size:.62rem!important;
    font-weight:1000!important;
    text-transform:uppercase!important;
    letter-spacing:.05em!important;
    white-space:nowrap!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls-v3132{
    display:grid!important;
    grid-template-columns:40px 56px 40px!important;
    grid-template-rows:40px!important;
    grid-template-areas:"minus qty plus"!important;
    gap:5px!important;
    align-items:center!important;
    justify-content:start!important;
    width:auto!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls-v3132 .bulk-minus{
    grid-area:minus!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls-v3132 .bulk-qty{
    grid-area:qty!important;
    width:56px!important;
    min-width:56px!important;
    height:40px!important;
    min-height:40px!important;
    padding:4px 6px!important;
    text-align:center!important;
    font-weight:1000!important;
    line-height:1!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls-v3132 .bulk-plus{
    grid-area:plus!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls-v3132 .bulk-minus,
  #bulkRowsBox .bulk-selected-mobile-controls-v3132 .bulk-plus{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    justify-content:center!important;
    font-size:1.05rem!important;
  }

  #bulkRowsBox .bulk-selected-mobile-remove-v3132{
    display:inline-flex!important;
    width:100%!important;
    min-width:92px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 10px!important;
    border-radius:12px!important;
    justify-content:center!important;
    font-size:.78rem!important;
    white-space:nowrap!important;
  }

  /* Disattiva completamente il vecchio layout a tre/quattro righe. */
  #bulkRowsBox .bulk-selected-mobile-remove-row,
  #bulkRowsBox .bulk-selected-mobile-quantity-block{
    display:none!important;
  }
}

@media(max-width:380px){
  #bulkRowsBox .bulk-selected-mobile-head-v3132{
    grid-template-columns:minmax(80px,.68fr) minmax(0,1.32fr)!important;
    gap:8px!important;
  }

  #bulkRowsBox .bulk-selected-mobile-actions-v3132{
    grid-template-columns:auto auto minmax(82px,1fr)!important;
    gap:5px!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls-v3132{
    grid-template-columns:36px 50px 36px!important;
    grid-template-rows:38px!important;
    gap:4px!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls-v3132 .bulk-minus,
  #bulkRowsBox .bulk-selected-mobile-controls-v3132 .bulk-plus{
    width:36px!important;
    min-width:36px!important;
    height:38px!important;
    min-height:38px!important;
  }

  #bulkRowsBox .bulk-selected-mobile-controls-v3132 .bulk-qty{
    width:50px!important;
    min-width:50px!important;
    height:38px!important;
    min-height:38px!important;
  }

  #bulkRowsBox .bulk-selected-mobile-remove-v3132{
    min-width:82px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 8px!important;
    font-size:.72rem!important;
  }
}


/* v3.0.130 - Totale movimento in euro */
.movement-value-pill{
  font-weight:1000;
}
.receipt-meta.receipt-meta-money{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
@media(max-width:760px){
  .receipt-meta.receipt-meta-money{
    grid-template-columns:1fr 1fr;
  }
}


/* v3.0.130 - Riepilogo cumulativo mobile: ogni articolo in una box leggibile */
@media(max-width:760px){
  #bulkReceiptDialog .receipt-table,
  #movementDetailDialog .receipt-table,
  .bulk-receipt-sheet .receipt-table,
  #bulkReceiptDialog .receipt-table tbody,
  #movementDetailDialog .receipt-table tbody,
  .bulk-receipt-sheet .receipt-table tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  #bulkReceiptDialog .receipt-table thead,
  #movementDetailDialog .receipt-table thead,
  .bulk-receipt-sheet .receipt-table thead{
    display:none!important;
  }

  #bulkReceiptDialog .receipt-table tbody,
  #movementDetailDialog .receipt-table tbody,
  .bulk-receipt-sheet .receipt-table tbody{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  #bulkReceiptDialog .receipt-table tbody tr,
  #movementDetailDialog .receipt-table tbody tr,
  .bulk-receipt-sheet .receipt-table tbody tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(108px,.72fr)!important;
    grid-template-areas:
      "code quantity"
      "description description"
      "price total"!important;
    column-gap:14px!important;
    row-gap:0!important;
    width:100%!important;
    min-width:0!important;
    padding:12px 14px!important;
    border:1px solid var(--line)!important;
    border-radius:17px!important;
    background:#fff!important;
    box-shadow:0 7px 18px rgba(16,32,24,.06)!important;
  }

  #bulkReceiptDialog .receipt-table td,
  #movementDetailDialog .receipt-table td,
  .bulk-receipt-sheet .receipt-table td{
    min-width:0!important;
    width:auto!important;
    border:0!important;
    background:transparent!important;
    padding:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  #bulkReceiptDialog .receipt-table td:nth-child(1),
  #bulkReceiptDialog .receipt-table td:nth-child(4),
  #movementDetailDialog .receipt-table td:nth-child(1),
  #movementDetailDialog .receipt-table td:nth-child(4),
  .bulk-receipt-sheet .receipt-table td:nth-child(1),
  .bulk-receipt-sheet .receipt-table td:nth-child(4){
    display:none!important;
  }

  #bulkReceiptDialog .receipt-table td:nth-child(2),
  #movementDetailDialog .receipt-table td:nth-child(2),
  .bulk-receipt-sheet .receipt-table td:nth-child(2){
    grid-area:code!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    text-align:left!important;
  }

  #bulkReceiptDialog .receipt-table td:nth-child(3),
  #movementDetailDialog .receipt-table td:nth-child(3),
  .bulk-receipt-sheet .receipt-table td:nth-child(3){
    grid-area:description!important;
    display:block!important;
    margin:10px 0!important;
    padding:10px 0!important;
    border-top:1px solid var(--line)!important;
    border-bottom:1px solid var(--line)!important;
    text-align:left!important;
    font-size:.91rem!important;
    line-height:1.28!important;
  }

  #bulkReceiptDialog .receipt-table td:nth-child(5),
  #movementDetailDialog .receipt-table td:nth-child(5),
  .bulk-receipt-sheet .receipt-table td:nth-child(5){
    grid-area:quantity!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    text-align:right!important;
    font-weight:1000!important;
  }

  #bulkReceiptDialog .receipt-table td:nth-child(6),
  #movementDetailDialog .receipt-table td:nth-child(6),
  .bulk-receipt-sheet .receipt-table td:nth-child(6){
    grid-area:price!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    text-align:left!important;
    font-size:.91rem!important;
    line-height:1.2!important;
  }

  #bulkReceiptDialog .receipt-table td:nth-child(7),
  #movementDetailDialog .receipt-table td:nth-child(7),
  .bulk-receipt-sheet .receipt-table td:nth-child(7){
    grid-area:total!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    text-align:right!important;
    font-size:.94rem!important;
    line-height:1.2!important;
    font-weight:1000!important;
  }

  #bulkReceiptDialog .receipt-table td:nth-child(2)::before,
  #movementDetailDialog .receipt-table td:nth-child(2)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(2)::before{content:"Codice";}
  #bulkReceiptDialog .receipt-table td:nth-child(3)::before,
  #movementDetailDialog .receipt-table td:nth-child(3)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(3)::before{content:"Descrizione";}
  #bulkReceiptDialog .receipt-table td:nth-child(5)::before,
  #movementDetailDialog .receipt-table td:nth-child(5)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(5)::before{content:"Q.tà";}
  #bulkReceiptDialog .receipt-table td:nth-child(6)::before,
  #movementDetailDialog .receipt-table td:nth-child(6)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(6)::before{content:"Prezzo";}
  #bulkReceiptDialog .receipt-table td:nth-child(7)::before,
  #movementDetailDialog .receipt-table td:nth-child(7)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(7)::before{content:"Totale";}

  #bulkReceiptDialog .receipt-table td:nth-child(2)::before,
  #bulkReceiptDialog .receipt-table td:nth-child(3)::before,
  #bulkReceiptDialog .receipt-table td:nth-child(5)::before,
  #bulkReceiptDialog .receipt-table td:nth-child(6)::before,
  #bulkReceiptDialog .receipt-table td:nth-child(7)::before,
  #movementDetailDialog .receipt-table td:nth-child(2)::before,
  #movementDetailDialog .receipt-table td:nth-child(3)::before,
  #movementDetailDialog .receipt-table td:nth-child(5)::before,
  #movementDetailDialog .receipt-table td:nth-child(6)::before,
  #movementDetailDialog .receipt-table td:nth-child(7)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(2)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(3)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(5)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(6)::before,
  .bulk-receipt-sheet .receipt-table td:nth-child(7)::before{
    display:block!important;
    margin-bottom:4px!important;
    color:var(--muted)!important;
    font-size:.63rem!important;
    line-height:1!important;
    font-weight:1000!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
  }

  #bulkReceiptDialog .receipt-table td:nth-child(2) b,
  #movementDetailDialog .receipt-table td:nth-child(2) b,
  .bulk-receipt-sheet .receipt-table td:nth-child(2) b{
    font-size:.93rem!important;
    line-height:1.12!important;
  }

  #bulkReceiptDialog .receipt-table td:nth-child(2) small,
  #movementDetailDialog .receipt-table td:nth-child(2) small,
  .bulk-receipt-sheet .receipt-table td:nth-child(2) small{
    margin-top:3px!important;
    color:var(--muted)!important;
    font-size:.70rem!important;
    line-height:1.1!important;
  }
}


/* v3.0.144 - Cellulare: box più evidenti e visibili */
@media(max-width:700px){
  main .panel,
  main .card,
  main .hero-card,
  main .kpi,
  main .quick,
  main .section-mini,
  main .activity > div,
  main .item-card,
  main .movement-row,
  main .bulk-result,
  main .receipt-card,
  main .print-card,
  main .client-row.client-card-row,
  main .update-action-card,
  main .client-import-progress,
  main .bulk-summary,
  .sheet,
  .reload-card,
  .scanner-frame{
    border:1.6px solid #c2d9c9 !important;
    background:#ffffff !important;
    box-shadow:0 0 0 1px rgba(22,163,74,.10),0 12px 28px rgba(16,32,24,.08) !important;
  }
  main .panel-head,
  .sheet-header{
    border-bottom:1px solid rgba(194,217,201,.85);
  }
}


/* v3.0.144 - Cellulare: box ancora più marcate */
@media(max-width:700px){
  main .panel,
  main .card,
  main .hero-card,
  main .kpi,
  main .quick,
  main .section-mini,
  main .activity > div,
  main .item-card,
  main .movement-row,
  main .bulk-result,
  main .receipt-card,
  main .print-card,
  main .client-row.client-card-row,
  main .update-action-card,
  main .client-import-progress,
  main .bulk-summary,
  main .searchbox,
  main .manual-scan,
  main .meta-field,
  main .mini,
  .sheet,
  .reload-card,
  .scanner-frame{
    border:2px solid #9fc6aa !important;
    background:linear-gradient(180deg,#ffffff 0%,#fbfefc 100%) !important;
    box-shadow:
      0 0 0 1px rgba(22,163,74,.16),
      0 14px 32px rgba(16,32,24,.13) !important;
  }

  main .panel,
  main .hero-card,
  main .receipt-card,
  main .bulk-summary,
  .sheet,
  .reload-card{
    border-color:#8fbc9c !important;
    box-shadow:
      0 0 0 1px rgba(22,163,74,.20),
      0 16px 36px rgba(16,32,24,.15) !important;
  }

  main .item-card,
  main .movement-row,
  main .client-row.client-card-row,
  main .bulk-result,
  main .print-card,
  main .update-action-card{
    margin-bottom:10px;
  }

  main .panel-head,
  .sheet-header{
    border-bottom:2px solid rgba(143,188,156,.78) !important;
  }

  main .kpi,
  main .quick,
  main .item-card,
  main .movement-row,
  main .client-row.client-card-row{
    outline:1px solid rgba(255,255,255,.96);
    outline-offset:-3px;
  }
}


/* v3.0.144 - Scarico singolo come cumulativo e tasto Elimina sempre visibile su mobile */
.movement-single-out-card{
  border-color:rgba(249,115,22,.25);
  background:linear-gradient(180deg,#fff,#fffaf4);
}
@media(max-width:700px){
  #movementResults .movement-card-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
    margin-top:12px!important;
    padding:0!important;
    overflow:visible!important;
  }
  #movementResults .movement-card-actions .btn{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:42px!important;
    height:auto!important;
    margin:0!important;
    padding:8px 7px!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:normal!important;
    line-height:1.1!important;
    position:relative!important;
    z-index:2!important;
  }
  #movementResults .movement-card-actions [data-cancel-movement],
  #movementResults .movement-card-actions .movement-delete-action{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    background:linear-gradient(90deg,#ef4444,#dc2626)!important;
    color:#fff!important;
    border:0!important;
  }
  #movementResults .item-card.no-click,
  #movementResults .movement-bulk-card,
  #movementResults .movement-single-out-card{
    overflow:visible!important;
    padding-bottom:12px!important;
  }
  #movementDetailDialog .receipt-actions{
    overflow:visible!important;
  }
  #movementDetailDialog .receipt-actions .btn.red,
  #movementDetailDialog #cancelSingleMovementBtn{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-height:44px!important;
  }
}


/* v3.0.144 - Date stampa: evidenzia solo il campo data e usa un solo calendario */
#print .print-date-editor .meta-field{
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
#print .print-date-editor .meta-field .date-today-row{
  display:block!important;
}
#print .print-date-editor .meta-field input[type="date"]{
  width:100%!important;
  border:1.6px solid #b7cfbd!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:0 0 0 1px rgba(22,163,74,.06)!important;
  padding-left:12px!important;
  padding-right:38px!important;
}
#print .print-date-editor .meta-field-updated input[type="date"],
#print .print-date-editor .meta-field-inventory input[type="date"],
#print .print-date-editor .meta-field-prices input[type="date"]{
  border-color:#a8d5b7!important;
}
#print .print-date-editor .meta-field input[type="date"]:focus{
  border-color:#16a34a!important;
  box-shadow:0 0 0 3px rgba(22,163,74,.14)!important;
}
#print .print-date-editor .meta-field .date-today-btn{
  display:none!important;
}
#print .print-date-editor input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:1!important;
  width:20px!important;
  height:20px!important;
  margin:0 8px 0 0!important;
  cursor:pointer!important;
}
@media(max-width:700px){
  #print .print-date-editor .meta-field input[type="date"]{
    background:none!important;
    background-image:none!important;
    padding-left:12px!important;
    padding-right:36px!important;
  }
}


/* v3.0.144 - Pulsanti e box evidenziati come i campi data */
:root{
  --mp-highlight-border:#b7cfbd;
  --mp-highlight-shadow:0 0 0 1px rgba(22,163,74,.06),0 10px 24px rgba(16,32,24,.05);
}
.btn,
.btn.secondary,
.btn.orange,
.btn.red,
.btn.blue,
.panel,
.card,
.hero-card,
.kpi,
.quick,
.section-mini,
.activity div,
.movement-row,
.item-card,
.bulk-result,
.bulk-summary,
.client-row,
.searchbox,
.filters input,
.filters select,
.filters textarea,
input,
select,
textarea,
.sheet,
.reload-card,
.scan-item-found,
.scan-item-grid .mini,
.mini,
.print-card,
.meta-row,
.database-backup-row,
.remote-device-card,
.operator-row-card,
.manager-row,
.client-detail-view .detail-tile,
.movement-card-v280,
.movement-card-shell-v280,
.movement-card{
  border-color:var(--mp-highlight-border)!important;
  box-shadow:var(--mp-highlight-shadow)!important;
}
.btn.secondary,
.filters input,
.filters select,
.filters textarea,
input,
select,
textarea,
.searchbox,
.sheet,
.meta-row,
.reload-card,
.scan-item-found,
.scan-item-grid .mini,
.mini:not(.btn){
  background:#fff!important;
}
.btn:hover,
.btn.secondary:hover{
  filter:brightness(.99);
}


/* v3.0.144 - Ripristina Elimina nei movimenti su PC e mobile */
#movementResults .movement-card-actions .btn.mini.red.movement-delete-action,
#movementResults .movement-card-actions button[data-cancel-movement]{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  background:linear-gradient(90deg,#ef4444,#dc2626)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid #dc2626!important;
  box-shadow:0 8px 18px rgba(220,38,38,.18)!important;
}
#movementResults .movement-card-actions .btn.mini.red.movement-delete-action svg,
#movementResults .movement-card-actions button[data-cancel-movement] svg{
  color:#fff!important;
  stroke:#fff!important;
}


/* v3.0.144 - Mobile Movimenti: un solo calendario nel filtro Data */
@media(max-width:700px){
  #movements .movement-filter-grid-v376 #movementDateFilter,
  #movements .movement-filter-grid-v280 #movementDateFilter{
    position:relative!important;
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b7280" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M16 3v4M8 3v4M3 10h18"/></svg>')!important;
    background-repeat:no-repeat!important;
  }
  #movements .movement-filter-grid-v376 #movementDateFilter::-webkit-calendar-picker-indicator,
  #movements .movement-filter-grid-v280 #movementDateFilter::-webkit-calendar-picker-indicator{
    opacity:0!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    cursor:pointer!important;
  }
}


/* v3.0.144 - Mobile Movimenti: rimuove icona aggiunta e mantiene solo calendario nativo */
@media(max-width:700px){
  #movements .movement-filter-grid-v376 #movementDateFilter,
  #movements .movement-filter-grid-v280 #movementDateFilter,
  #movements .movement-mobile-date-row #movementDateFilter{
    background:none!important;
    background-image:none!important;
    padding-left:12px!important;
    padding-right:8px!important;
    text-indent:0!important;
  }
  #movements .movement-filter-grid-v376 #movementDateFilter::-webkit-calendar-picker-indicator,
  #movements .movement-filter-grid-v280 #movementDateFilter::-webkit-calendar-picker-indicator,
  #movements .movement-mobile-date-row #movementDateFilter::-webkit-calendar-picker-indicator{
    opacity:1!important;
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    cursor:pointer!important;
  }
}


/* v3.0.144 - Banco mobile: box Vedi tutti più compatta */
@media(max-width:700px){
  #dashboard .dashboard-grid .panel .panel-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:center!important;
    margin-bottom:8px!important;
  }
  #dashboard .dashboard-grid .panel .panel-head .btn.secondary[data-go]{
    min-height:34px!important;
    height:34px!important;
    padding:0 10px!important;
    min-width:0!important;
    border-radius:14px!important;
    font-size:.74rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    box-shadow:0 0 0 1px rgba(22,163,74,.08),0 6px 14px rgba(16,32,24,.05)!important;
  }
}
@media(max-width:380px){
  #dashboard .dashboard-grid .panel .panel-head .btn.secondary[data-go]{
    min-height:32px!important;
    height:32px!important;
    padding:0 9px!important;
    border-radius:13px!important;
    font-size:.70rem!important;
  }
}
