*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#eef2f6;color:#172033}.app-shell{display:flex;min-height:100vh}.sidebar{width:292px;background:#111827;color:#dbeafe;padding:18px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}.brand-logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#38bdf8,#1d4ed8);display:flex;align-items:center;justify-content:center;font-weight:900;color:white}.brand small{display:block;color:#93a4bd}.navtitle{font-size:11px;text-transform:uppercase;color:#94a3b8;letter-spacing:.12em;margin:18px 8px 7px}.navitem{display:block;color:#dbeafe;text-decoration:none;padding:10px 12px;border-radius:12px;margin:2px 0}.navitem:hover,.navitem.active{background:#1f2937;color:#fff}.main{margin-left:292px;width:calc(100% - 292px)}.topbar{background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid #dbe3ef;padding:18px 26px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar h1{margin:0;font-size:28px}.topbar p{margin:4px 0 0;color:#64748b}.content{padding:24px}.card{background:#fff;border:1px solid #dfe7f1;border-radius:18px;box-shadow:0 8px 30px rgba(15,23,42,.06);padding:20px;margin-bottom:18px}.cards{grid-template-columns:repeat(5,minmax(0,1fr))}.stat{padding:18px;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0}.stat strong{font-size:28px;display:block}.stat span{color:#64748b}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:14px}.toolbar h2,.card h2{margin:0 0 4px}.toolbar p,.muted{color:#64748b}.table-wrap{overflow:auto;border:1px solid #e5edf6;border-radius:14px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid #edf2f7;padding:10px 12px;text-align:left;vertical-align:top}th{background:#f8fafc;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#475569}tr:hover td{background:#fcfdff}.search{max-width:420px;margin:10px 0 16px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid label{font-size:13px;font-weight:700;color:#334155}.form-grid .form-control{margin-top:5px}.comp-row{display:grid;grid-template-columns:180px 1fr 150px 44px;gap:10px;align-items:end;margin-bottom:10px;padding:10px;border:1px solid #e8eef6;border-radius:12px}.skeleton{min-height:90px}.alert{border-radius:12px;padding:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}#toast{position:fixed;right:20px;bottom:20px;background:#111827;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 15px 40px rgba(0,0,0,.28);opacity:0;transform:translateY(20px);transition:.2s;z-index:2000}#toast.show{opacity:1;transform:translateY(0)}@media(max-width:1050px){.sidebar{position:static;width:100%;max-height:360px}.app-shell{display:block}.main{margin-left:0;width:100%}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.comp-row{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.btn,.search{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card{box-shadow:none;border:0}}
.btn.danger,.btn-sm.danger{border-color:#dc3545;color:#dc3545}.btn.danger:hover,.btn-sm.danger:hover{background:#dc3545;color:#fff}.badge.danger{background:#fee2e2;color:#991b1b}.badge.ok{background:#dcfce7;color:#166534}.doc-row{grid-template-columns:1fr 2fr .7fr .8fr .8fr .8fr auto;align-items:end}.line-total{padding:10px 0;white-space:nowrap}.btn-block{display:block;margin:7px 0;text-align:left}.top-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
@media(max-width:900px){.doc-row{grid-template-columns:1fr}}
.modal-dialog.extra-large{max-width:1180px}.print-actions{display:flex;gap:8px;flex-wrap:wrap}.badge.ok{background:#dcfce7;color:#166534}.badge.danger{background:#fee2e2;color:#991b1b}.report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.report-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}.report-box b{display:block;font-size:18px}@media(max-width:900px){.report-grid{grid-template-columns:1fr}}

.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#111827,#1d4ed8)}.login-card{width:min(460px,92vw);background:#fff;border-radius:22px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.login-brand{color:#172033}.login-card h1{margin:12px 0}.login-card label{display:block;margin:12px 0;font-weight:700}.mt-3{margin-top:1rem}.modal{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1000;align-items:flex-start;justify-content:center;overflow:auto;padding:40px 16px}.modal.show{display:flex}.modal-dialog{background:#fff;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.32);width:min(760px,96vw);padding:18px}.modal-dialog.large{width:min(960px,96vw)}.modal-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;margin:-4px 0 16px;padding-bottom:10px}.modal-head button{border:0;background:#f1f5f9;border-radius:10px;padding:7px 11px}.modal-actions{margin-top:16px;display:flex;gap:8px;justify-content:flex-end}.btn{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:9px 12px;text-decoration:none;color:#172033;cursor:pointer}.btn-sm{font-size:12px;padding:6px 9px}.btn-primary{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.btn-outline{background:transparent}.form-control{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;background:#fff}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}code{white-space:pre-wrap}@media(max-width:1050px){.grid.two{grid-template-columns:1fr}}
.preview-dialog{width:min(1180px,98vw);height:min(92vh,900px);display:flex;flex-direction:column}.preview-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.print-preview-frame{width:100%;flex:1;min-height:620px;border:1px solid #dbe3ef;border-radius:12px;background:#fff}.modal.show .preview-dialog{animation:previewIn .12s ease-out}@keyframes previewIn{from{transform:translateY(10px);opacity:.8}to{transform:none;opacity:1}}
@media(max-width:900px){.preview-dialog{height:94vh}.print-preview-frame{min-height:520px}}

/* ======================================================================
   CLSfacilePHP Beta 1.6.0 - Tema Desktop/Ribbon original-like
   ====================================================================== */
:root{
  --cls-blue:#2f6fb4;
  --cls-blue-dark:#1f4e86;
  --cls-blue-soft:#dbeaf8;
  --cls-border:#aebed1;
  --cls-border-soft:#d8e1ea;
  --cls-surface:#f7f9fc;
  --cls-panel:#ffffff;
  --cls-text:#1e2b3a;
  --cls-muted:#5e7289;
  --cls-accent:#f4c542;
  --cls-row:#f5f9ff;
}
body.desktop-ui{font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:linear-gradient(180deg,#dfeaf6 0,#f5f7fb 230px,#e9edf3 100%);color:var(--cls-text);font-size:13px;overflow-x:hidden}.window-frame{min-height:100vh;border-top:1px solid #fff}.cls-titlebar{height:50px;background:linear-gradient(#f9fcff,#d9e7f6 52%,#c5d9ef);border-bottom:1px solid #8aa9ca;box-shadow:inset 0 1px #fff,0 1px 2px rgba(32,64,96,.22);display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 14px}.titlebar-left,.titlebar-right{display:flex;align-items:center;gap:10px}.titlebar-left strong{display:block;font-size:16px;color:#14365c;text-shadow:0 1px #fff}.titlebar-left small{display:block;color:#45637f;font-size:11px}.app-orb{width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff 0,#89c5ff 24%,#2e73b8 58%,#194f8c 100%);color:#fff;font-weight:900;display:grid;place-items:center;border:1px solid #13518f;box-shadow:inset 0 2px 4px rgba(255,255,255,.9),0 2px 5px rgba(0,0,0,.22);font-size:12px}.titlebar-right{font-size:12px;color:#244563}.window-btn{border:1px solid #7da1c6;border-radius:3px;padding:5px 10px;background:linear-gradient(#ffffff,#dbe9f7);color:#163c66;box-shadow:inset 0 1px #fff;cursor:pointer}.window-btn:hover{background:linear-gradient(#fff,#cfe3f6)}.window-btn.danger{border-color:#b96262;color:#7f1d1d;background:linear-gradient(#fff,#f3dddd)}.ribbonbar{min-height:112px;background:linear-gradient(#edf6ff,#d6e7f7 45%,#c0d8f1 46%,#e7f1fb);border-bottom:1px solid #8aa9ca;box-shadow:inset 0 1px #fff,0 2px 4px rgba(30,58,90,.15);display:flex;align-items:stretch;padding:8px 10px 7px;gap:8px;overflow:auto}.ribbon-group{min-width:176px;border:1px solid #a9c2dc;background:linear-gradient(#ffffff,#eef6ff);border-radius:4px;box-shadow:inset 0 1px #fff;display:flex;flex-direction:column;justify-content:space-between}.ribbon-buttons{display:flex;gap:3px;padding:6px;align-items:stretch}.ribbon-btn{width:72px;min-height:72px;border:1px solid transparent;border-radius:4px;text-decoration:none;color:#1f3b57;text-align:center;padding:6px 4px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center}.ribbon-btn:hover,.ribbon-btn.active{border-color:#f0c45a;background:linear-gradient(#fff8d7,#ffd76d 49%,#f7bf35 50%,#fff1b5);box-shadow:inset 0 1px rgba(255,255,255,.9)}.ribbon-icon{width:34px;height:34px;border-radius:8px;background:linear-gradient(#ffffff,#d3e8ff);border:1px solid #8bb2d8;display:grid;place-items:center;font-size:20px;color:#1e5d9f;margin-bottom:4px;box-shadow:inset 0 1px #fff,0 1px 2px rgba(0,0,0,.12)}.ribbon-btn span:last-child{font-size:11px;line-height:1.05;font-weight:600}.ribbon-label{text-align:center;color:#496a8a;font-size:11px;border-top:1px solid #c4d7e9;background:#edf5fc;padding:2px 4px}.desktop-ui .app-shell{display:flex;min-height:calc(100vh - 163px)}.desktop-ui .sidebar{position:static;inset:auto;width:268px;background:linear-gradient(180deg,#f7fbff,#e5eef8);color:#173a5d;border-right:1px solid #9fb9d5;padding:10px;overflow:auto;max-height:none;box-shadow:inset -1px 0 #fff}.explorer-pane .brand{padding:8px 8px 10px;margin:0 0 8px;border:1px solid #b8cbe0;border-radius:4px;background:linear-gradient(#fff,#eaf3fd)}.desktop-ui .brand-logo{width:34px;height:34px;border-radius:6px;background:linear-gradient(#60a5fa,#2563eb);font-size:11px}.desktop-ui .brand strong{color:#183c62}.desktop-ui .brand small{color:#5c748d}.desktop-ui .navtitle{margin:12px 4px 5px;padding:4px 8px;border:1px solid #b6cce3;background:linear-gradient(#f9fcff,#dbeafa);border-radius:3px;color:#294c70;font-size:10px;font-weight:700;text-shadow:0 1px #fff}.desktop-ui .navitem{color:#1c3f63;border:1px solid transparent;border-radius:3px;margin:1px 0;padding:7px 8px;background:transparent;display:flex;gap:7px;align-items:center}.desktop-ui .navitem span{width:22px;height:22px;border-radius:4px;border:1px solid #b4c7dc;background:linear-gradient(#fff,#dcebf9);display:inline-grid;place-items:center;color:#1e5c9e}.desktop-ui .navitem:hover,.desktop-ui .navitem.active{color:#142d47;border-color:#f2ca61;background:linear-gradient(#fff8d6,#ffe08a);box-shadow:inset 0 1px #fff}.desktop-ui .main{margin-left:0;width:calc(100% - 268px);background:#eef3f8}.module-header{position:sticky;top:0;z-index:20;padding:10px 14px;background:linear-gradient(#ffffff,#edf4fb);border-bottom:1px solid #b8cada;box-shadow:0 1px 3px rgba(46,85,124,.16);min-height:72px}.module-title-wrap{display:flex;align-items:center;gap:12px}.module-icon{width:48px;height:48px;border-radius:9px;background:linear-gradient(#ffffff,#d5e9fd 49%,#afd2f3 50%,#e9f5ff);border:1px solid #88abd0;display:grid;place-items:center;font-size:24px;color:#1e609e;box-shadow:inset 0 1px #fff,0 2px 5px rgba(35,73,110,.14)}.desktop-ui .topbar h1{font-size:23px;letter-spacing:.1px;color:#173d64;text-shadow:0 1px #fff}.desktop-ui .topbar p{font-size:12px;color:#637b92}.module-header-actions{display:flex;gap:7px;align-items:center}.workspace{padding:13px;background:linear-gradient(135deg,#edf3fa,#f8fbff)}.desktop-ui .card{border-radius:4px;border:1px solid #b9cadd;background:linear-gradient(#ffffff,#f8fbff);box-shadow:0 1px 2px rgba(36,65,95,.15);padding:12px;margin-bottom:12px}.desktop-ui .card h2,.desktop-ui .toolbar h2{font-size:18px;color:#173d64}.desktop-ui .toolbar{border:1px solid #c1d0df;border-radius:4px;background:linear-gradient(#f9fcff,#e6f0fb);padding:9px 10px;margin-bottom:10px;box-shadow:inset 0 1px #fff}.desktop-ui .toolbar p{font-size:12px;margin:0;color:#5a7188}.desktop-ui .btn{border-radius:3px;border:1px solid #8aa8c8;background:linear-gradient(#fff,#e1edf8);color:#153a60;padding:7px 11px;box-shadow:inset 0 1px #fff;font-size:13px}.desktop-ui .btn:hover{background:linear-gradient(#fff,#d3e6f8);border-color:#5f8dbc}.desktop-ui .btn-primary{border-color:#2c68a5;background:linear-gradient(#5fa8ee,#2c6fb5);color:#fff;text-shadow:0 -1px rgba(0,0,0,.25)}.desktop-ui .btn.danger,.desktop-ui .btn-sm.danger{background:linear-gradient(#fff,#f5e2e2);border-color:#bd7676;color:#7f1d1d}.desktop-ui .form-control{border-radius:3px;border:1px solid #9fb6cf;background:#fff;padding:6px 8px;font-size:13px;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}.desktop-ui .search{max-width:360px;margin:6px 0 10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='%2366829e' d='M8.5 3a5.5 5.5 0 0 1 4.383 8.823l3.647 3.647l-1.06 1.06l-3.647-3.647A5.5 5.5 0 1 1 8.5 3m0 1.5a4 4 0 1 0 0 8a4 4 0 0 0 0-8'/%3E%3C/svg%3E") no-repeat 8px center;padding-left:28px}.desktop-ui .table-wrap{border-radius:3px;border:1px solid #aebfd1;background:#fff;box-shadow:inset 0 1px #fff}.desktop-ui table{font-size:12.5px}.desktop-ui th{background:linear-gradient(#f8fbff,#dbe8f5);border-bottom:1px solid #a9bdcf;color:#244b72;padding:7px 8px;text-transform:none;letter-spacing:0;font-weight:700}.desktop-ui td{padding:6px 8px;border-bottom:1px solid #e2eaf2;color:#1f3347}.desktop-ui tbody tr:nth-child(even) td{background:#f6faff}.desktop-ui tbody tr:hover td{background:#fff4c4!important}.desktop-ui .badge{border-radius:3px;border:1px solid #9fb7d2;background:linear-gradient(#fff,#e8f2fd);color:#23435f;font-size:11px;padding:3px 6px}.desktop-ui .badge.ok{border-color:#79aa80;background:linear-gradient(#f5fff6,#d7f3db);color:#14532d}.desktop-ui .badge.danger{border-color:#d08d8d;background:linear-gradient(#fff6f6,#f7dcdc);color:#7f1d1d}.desktop-ui .stat{border-radius:4px;border:1px solid #b8c9dc;background:linear-gradient(#fff,#edf6ff);padding:12px;box-shadow:inset 0 1px #fff}.desktop-ui .stat strong{font-size:24px;color:#164a7e}.desktop-ui .stat span{font-size:12px;color:#5b7085}.grid{display:grid;gap:12px}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.desktop-command-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:8px;margin:0 0 12px}.command-tile{border:1px solid #a8bdd3;border-radius:4px;background:linear-gradient(#fff,#e7f2fd);text-decoration:none;color:#173d64;padding:10px;display:flex;gap:8px;align-items:center;box-shadow:inset 0 1px #fff}.command-tile:hover{border-color:#e6b948;background:linear-gradient(#fff8d8,#ffd96e);color:#1a3b5d}.command-tile b{display:block;font-size:13px}.command-tile small{display:block;color:#5f7388;font-size:11px}.command-icon{width:34px;height:34px;border-radius:7px;background:linear-gradient(#fff,#cfe6fb);border:1px solid #85a9cd;display:grid;place-items:center;font-size:19px;color:#1e5f9e}.desktop-ui .modal{background:rgba(28,58,88,.38);padding-top:28px}.desktop-ui .modal-dialog{border-radius:5px;border:1px solid #779bbb;background:linear-gradient(#ffffff,#f5f9fd);box-shadow:0 24px 70px rgba(18,51,82,.35);padding:12px}.desktop-ui .modal-head,.desktop-ui .modal-header{background:linear-gradient(#f9fcff,#dcecfb);border:1px solid #b7cadd;border-radius:4px;padding:9px 10px;margin:0 0 12px;display:flex;align-items:center;justify-content:space-between}.desktop-ui .modal-body{padding:4px}.desktop-ui .modal-footer,.desktop-ui .modal-actions{border-top:1px solid #d1deea;padding-top:10px;margin-top:10px}.desktop-ui .form-grid label,.desktop-ui .comp-row label{font-size:12px;color:#23445f;font-weight:700}.desktop-ui .comp-row{border-radius:4px;background:linear-gradient(#fff,#f8fbff);border:1px solid #c7d5e3;padding:8px}.desktop-ui #toast{border-radius:4px;background:linear-gradient(#224d75,#12385c);border:1px solid #092a48;color:#fff}.desktop-ui .alert{border-radius:4px;background:#fff8da;border-color:#d4b65f;color:#624b08}.desktop-ui code{border:1px solid #c3d1df;background:#f6faff;border-radius:3px;padding:2px 4px;color:#173d64}.print-preview-frame{border-radius:3px;border:1px solid #96aabd}.preview-dialog{width:min(1240px,98vw);height:min(94vh,940px)}
@media(max-width:1200px){.desktop-command-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.ribbon-group{min-width:150px}.ribbon-btn{width:64px}.desktop-ui .sidebar{width:238px}.desktop-ui .main{width:calc(100% - 238px)}}
@media(max-width:900px){.ribbonbar{min-height:auto}.ribbon-group{min-width:120px}.ribbon-buttons{flex-wrap:wrap}.desktop-ui .app-shell{display:block}.desktop-ui .sidebar{width:100%;max-height:260px}.desktop-ui .main{width:100%}.desktop-command-grid,.cards,.grid.two{grid-template-columns:1fr}.titlebar-right span{display:none}.module-header{position:static}.form-grid{grid-template-columns:1fr}.comp-row{grid-template-columns:1fr}}
@media print{.cls-titlebar,.ribbonbar,.explorer-pane,.module-header,.desktop-command-grid,.topbar,.sidebar,.btn,.search{display:none!important}.desktop-ui .main{width:100%;margin:0}.workspace{padding:0;background:#fff}.desktop-ui .card{border:0;box-shadow:none;background:#fff}}


/* ======================================================================
   CLSfacilePHP Beta 1.6.1 - Taratura colori originale CLSfacile 2026
   Riferimento visivo: titlebar azzurro Windows, ribbon chiarissimo,
   fascia brand grigio/lavanda e area lavoro grigio CLS.
   ====================================================================== */
:root{
  --cls13-title-top:#bfd6ec;
  --cls13-title-bottom:#9fbad5;
  --cls13-ribbon-top:#fbfdff;
  --cls13-ribbon-mid:#eef4fa;
  --cls13-ribbon-bottom:#dbe8f5;
  --cls13-ribbon-line:#b8cce0;
  --cls13-tab-active:#ffffff;
  --cls13-tab-text:#111827;
  --cls13-brand:#7b7b8a;
  --cls13-brand-dark:#6f6f7d;
  --cls13-workspace:#7b7b8a;
  --cls13-left:#e6eff2;
  --cls13-panel:#f7f8f9;
  --cls13-panel2:#eef3f6;
  --cls13-blue-text:#5f7891;
  --cls13-grid-blue:#d9edf9;
  --cls13-green:#008a10;
  --cls13-orange:#e66c00;
  --cls13-yellow-line:#f0bf31;
}
body.desktop-ui{
  background:var(--cls13-workspace);
  color:#222;
  font-family:"Segoe UI",Tahoma,Arial,sans-serif;
  font-size:13px;
}
.window-frame{background:var(--cls13-workspace);border-top:0;}
.cls-titlebar{
  height:26px;
  padding:0 4px;
  background:linear-gradient(90deg,var(--cls13-title-bottom),var(--cls13-title-top) 38%,#b7cfe6 100%);
  border-bottom:1px solid #8ea9c3;
  box-shadow:none;
}
.app-orb{
  width:18px;height:18px;border-radius:3px;font-size:0;
  background:linear-gradient(135deg,#d3322d 0 22%,#ebeef3 22% 48%,#3b79bd 48% 74%,#c6cbd1 74%);
  border:1px solid rgba(65,82,100,.45);
  box-shadow:inset 0 1px rgba(255,255,255,.7);
}
.titlebar-left{gap:6px}.titlebar-left strong{font-size:12px;font-weight:400;color:#1a2a3a;text-shadow:none}.titlebar-left small{display:none}.titlebar-right span{display:none}.window-btn{height:20px;min-width:42px;padding:0 8px;border-radius:0;border:1px solid #879cb2;background:linear-gradient(#f8f8f8,#d8d8d8);color:#111;box-shadow:none;font-size:11px}.window-btn.danger{background:linear-gradient(#f8f8f8,#d8d8d8);border-color:#879cb2;color:#111}.window-btn:hover,.window-btn.danger:hover{background:linear-gradient(#fff,#e5edf5)}
.ribbonbar{
  min-height:118px;
  padding:0 0 8px 0;
  gap:0;
  background:linear-gradient(var(--cls13-ribbon-top),var(--cls13-ribbon-mid) 48%,var(--cls13-ribbon-bottom));
  border-bottom:1px solid #9db5cd;
  box-shadow:inset 0 1px #fff;
  position:relative;
}
.ribbonbar:before{
  content:"Home     Business     Opzioni";
  position:absolute;left:0;top:0;height:27px;line-height:27px;
  padding-left:8px;white-space:pre;color:#111;font-size:12px;
  border-bottom:1px solid #c5d4e3;width:100%;
  background:linear-gradient(#f9fcff,#e6f0fa);
}
.ribbon-group{margin-top:28px;min-width:142px;border:0;border-right:1px solid #b8c8d8;border-radius:0;background:transparent;box-shadow:none;}
.ribbon-buttons{padding:4px 6px 0;gap:2px;justify-content:center}.ribbon-btn{width:64px;min-height:68px;border-radius:2px;color:#111;padding:3px 2px}.ribbon-icon{width:34px;height:34px;border:0;background:transparent;box-shadow:none;font-size:22px;color:#4f6f8f;margin-bottom:2px}.ribbon-btn span:last-child{font-size:11px;font-weight:400;line-height:1.05}.ribbon-btn:hover,.ribbon-btn.active{border-color:#e2ad2f;background:linear-gradient(#fff9e2,#ffe08a);box-shadow:inset 0 1px rgba(255,255,255,.9)}.ribbon-label{border-top:0;background:transparent;color:#8b9097;font-size:11px;padding:0 4px 2px;text-align:center}
.cls-original-brand-strip{height:74px;background:var(--cls13-brand);border-top:1px solid #6e6e7d;border-bottom:1px solid #5f5f6e;display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 14px;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.cls-original-brand{display:flex;align-items:center;gap:12px}.cls-original-brand .cls-mark{width:48px;height:48px;border-radius:4px;background:linear-gradient(135deg,#c72528 0 23%,#eceff3 23% 50%,#2d74b9 50% 76%,#d5d7dc 76%);font-size:0;border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 1px rgba(255,255,255,.55)}.cls-original-brand strong{font-size:32px;line-height:1;font-weight:700;letter-spacing:-1px}.cls-original-brand span:not(.cls-mark){font-size:31px;line-height:1;font-weight:300;color:#f3f3f6}.cls-original-brand b{font-size:18px;align-self:flex-end;margin-bottom:5px}.cls-change-bg{font-size:16px;color:#fafafa;opacity:.95}
.desktop-ui .app-shell{min-height:calc(100vh - 218px);background:var(--cls13-workspace)}.desktop-ui .sidebar{width:245px;background:var(--cls13-left);border-right:2px solid #a8b7bd;box-shadow:inset -1px 0 #d4dde1;color:#666;padding:10px}.explorer-pane .brand{background:transparent;border:0;border-radius:0;border-bottom:1px solid #c9d5d9;padding:10px 6px 14px}.desktop-ui .brand-logo{background:linear-gradient(135deg,#c72528 0 23%,#eceff3 23% 50%,#2d74b9 50% 76%,#d5d7dc 76%);font-size:0;border-radius:4px}.desktop-ui .brand strong{color:#5d5d66}.desktop-ui .brand small{color:#777}.desktop-ui .navtitle{background:#f0f2f4;border:0;border-radius:5px;color:#5f6570;font-weight:700;text-shadow:none;text-transform:uppercase;letter-spacing:0;font-size:11px}.desktop-ui .navitem{color:#666;border:0;border-radius:4px;padding:6px 7px}.desktop-ui .navitem span{border:0;background:transparent;color:#5f7891;font-size:17px}.desktop-ui .navitem:hover,.desktop-ui .navitem.active{background:#fff;border-color:transparent;color:#444;box-shadow:0 1px 3px rgba(0,0,0,.12)}.desktop-ui .main{background:var(--cls13-workspace);width:calc(100% - 245px)}.module-header{position:sticky;top:0;min-height:48px;padding:6px 14px;background:linear-gradient(#fff,#f3f3f3);border-top:2px solid var(--cls13-yellow-line);border-bottom:1px solid #bfc7cf;box-shadow:none}.module-icon{width:42px;height:42px;border-radius:2px;border:0;background:transparent;box-shadow:none;font-size:26px;color:#6b8094}.desktop-ui .topbar h1{font-size:22px;color:#3f3f43;text-shadow:none;font-weight:700}.desktop-ui .topbar p{display:none}.workspace{background:var(--cls13-workspace);padding:15px;min-height:calc(100vh - 266px)}
.desktop-ui .card{border-radius:0;border:1px solid #c7d2db;background:linear-gradient(#fff,#f5f7f8);box-shadow:none;padding:12px}.desktop-ui .toolbar{border:0;border-radius:0;background:#ededed;border-bottom:1px solid #d6d6d6;box-shadow:none;margin:-12px -12px 10px;padding:8px 12px}.desktop-ui .card h2,.desktop-ui .toolbar h2{font-size:24px;font-weight:300;color:#67676b}.desktop-ui .toolbar p{color:#777;font-size:12px}.desktop-ui .btn{border-radius:2px;border:1px solid #b7bdc2;background:linear-gradient(#fff,#e6e6e6);color:#333;box-shadow:none;padding:6px 10px}.desktop-ui .btn-primary{border-color:#aeb7c0;background:linear-gradient(#f9f9f9,#dcdcdc);color:#333;text-shadow:none}.desktop-ui .btn:hover,.desktop-ui .btn-primary:hover{border-color:#e0ad2d;background:linear-gradient(#fff7d7,#ffd872);color:#222}.desktop-ui .form-control{border-radius:1px;border:1px solid #aeb7c0;background:linear-gradient(#fff,#f8f8f8);box-shadow:inset 0 1px 2px rgba(0,0,0,.05);padding:5px 7px}.desktop-ui .table-wrap{border-radius:0;border:1px solid #bccbd6;box-shadow:none}.desktop-ui th{background:linear-gradient(#f5f8fa,#e2ebf2);color:#3e4d5b;border-bottom:1px solid #b2c1cc;font-size:12px}.desktop-ui td{border-bottom:1px solid #e5e9ec;color:#333}.desktop-ui tbody tr:nth-child(even) td{background:#f6f9fb}.desktop-ui tbody tr:hover td{background:#fff2bf!important}.desktop-ui .stat{border-radius:0;background:linear-gradient(#fff,#f2f5f8);border-color:#c4d0dc}.desktop-ui .stat strong{color:var(--cls13-green);font-weight:400}.desktop-ui .stat span{color:#777}.desktop-command-grid{grid-template-columns:repeat(5,minmax(120px,1fr));gap:7px}.command-tile{border-radius:0;border:1px solid transparent;background:transparent;box-shadow:none;color:#707074}.command-tile:hover{border-color:#e0ad2d;background:linear-gradient(#fff7d7,#ffd872)}.command-icon{border:0;background:transparent;box-shadow:none;color:#5f7891;font-size:24px}.cards{gap:10px}.desktop-ui .badge{border-radius:1px;background:#edf3f7;border-color:#c3ced8;color:#555}.desktop-ui .badge.ok{color:var(--cls13-green)}.desktop-ui .badge.danger{color:#b00000}.desktop-ui .modal-dialog{border-radius:0;border-color:#8e9aa7}.desktop-ui .modal-head,.desktop-ui .modal-header{border-radius:0;background:linear-gradient(#fff,#e9eef3)}
.login-body{background:linear-gradient(180deg,var(--cls13-title-top),var(--cls13-workspace))}.login-card{border-radius:0;border:1px solid #8e9aa7}.login-card h1{color:#4f4f5b}.login-card .brand-logo{background:linear-gradient(135deg,#c72528 0 23%,#eceff3 23% 50%,#2d74b9 50% 76%,#d5d7dc 76%);font-size:0;border-radius:4px}
@media(max-width:1200px){.desktop-ui .sidebar{width:230px}.desktop-ui .main{width:calc(100% - 230px)}}
@media(max-width:900px){.cls-original-brand-strip{height:auto;padding:12px}.cls-original-brand strong,.cls-original-brand span:not(.cls-mark){font-size:24px}.ribbonbar:before{content:"Home  Business  Opzioni"}.desktop-ui .main{width:100%}.workspace{min-height:auto}.desktop-ui .sidebar{width:100%}}
@media print{.cls-original-brand-strip{display:none!important}}

/* ======================================================================
   CLSfacilePHP Beta 1.6.2 - Hotfix contrasto dashboard su sfondo scuro
   I pulsanti rapidi della dashboard erano trasparenti e quindi poco leggibili
   sull'area lavoro grigio/lavanda dell'originale. Li rendiamo visibili anche
   a riposo, mantenendo hover giallo stile CLSfacile 2026.
   ====================================================================== */
.desktop-ui .desktop-command-grid{
  margin-bottom:12px;
}
.desktop-ui .command-tile{
  min-height:58px;
  border:1px solid #c4ccd2;
  background:linear-gradient(#ffffff 0%, #f5f7f8 54%, #eceff2 100%);
  color:#4f4f55 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.9);
  text-shadow:none;
}
.desktop-ui .command-tile b{
  color:#3f3f43 !important;
  font-weight:600;
}
.desktop-ui .command-tile small{
  color:#73777d !important;
}
.desktop-ui .command-tile .command-icon{
  width:34px;
  height:34px;
  border:1px solid #cbd3da;
  background:linear-gradient(#ffffff,#e6ebef);
  color:#60788f !important;
  box-shadow:inset 0 1px #fff;
}
.desktop-ui .command-tile:hover,
.desktop-ui .command-tile:focus{
  border-color:#e0ad2d;
  background:linear-gradient(#fff7d7,#ffd872);
  color:#222 !important;
  box-shadow:0 1px 3px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.9);
}
.desktop-ui .command-tile:hover b,
.desktop-ui .command-tile:focus b{
  color:#222 !important;
}
.desktop-ui .command-tile:hover small,
.desktop-ui .command-tile:focus small{
  color:#5d5226 !important;
}
.desktop-ui .command-tile:hover .command-icon,
.desktop-ui .command-tile:focus .command-icon{
  border-color:#d1a72d;
  background:linear-gradient(#fffdf0,#ffe8a6);
  color:#444 !important;
}

/* ======================================================================
   CLSfacilePHP Beta 1.6.3 - Icone originali + cambio sfondo operativo
   ====================================================================== */
body.desktop-ui{
  background:var(--cls13-workspace) var(--workspace-bg) center center / cover fixed no-repeat !important;
}
body.desktop-ui:before{
  content:"";
  position:fixed;inset:0;
  background:rgba(126,128,144,.84);
  pointer-events:none;
  z-index:-1;
}
.desktop-ui .app-shell,
.desktop-ui .main,
.workspace{
  background:transparent !important;
}
.desktop-ui .sidebar{
  background:linear-gradient(180deg,rgba(236,245,247,.96),rgba(224,236,241,.96)) !important;
}
.cls-change-bg{
  border:0;background:transparent;color:#fff;font:inherit;font-size:16px;cursor:pointer;padding:8px 10px;border-radius:2px;
}
.cls-change-bg:hover{background:rgba(255,255,255,.12);text-decoration:underline;}
.cls-real-icon{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto;}
.ribbon-icon .cls-real-icon{width:34px;height:34px;margin:auto;}
.desktop-ui .ribbon-icon{background:transparent!important;border:0!important;box-shadow:none!important;}
.desktop-ui .module-icon .cls-real-icon{width:42px;height:42px;}
.desktop-ui .navitem span{width:22px;height:22px;display:inline-flex!important;align-items:center;justify-content:center;vertical-align:middle;margin-right:6px;}
.desktop-ui .navitem span .cls-real-icon{width:22px;height:22px;}
.command-icon{display:flex!important;align-items:center;justify-content:center;}
.command-icon .cls-real-icon{width:34px;height:34px;}
.desktop-ui .command-tile .command-icon{background:transparent!important;border:0!important;box-shadow:none!important;}
.desktop-ui .command-tile:hover .command-icon{background:transparent!important;border:0!important;}
.cls-fallback-icon{display:inline-grid;place-items:center;width:100%;height:100%;font-weight:700;color:#60788f;}
.bg-dialog{width:min(620px,96vw);}
.bg-preview{height:190px;border:1px solid #9ca9b4;background-size:cover;background-position:center;border-radius:2px;margin-bottom:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);}
.bg-file-label{font-weight:700;color:#3f4a56;display:block;}
.bg-file-label input{margin-top:6px;}
.desktop-ui .modal .bg-dialog{border-radius:0;}


/* ======================================================================
   CLSfacilePHP Beta 1.6.4 - Menu principale Home / Business / Opzioni
   Le categorie ora sono vere tab selezionabili come nel software originale.
   ====================================================================== */
.desktop-ui .ribbon-tabs{
  height:27px;
  display:flex;
  align-items:flex-end;
  gap:0;
  padding-left:4px;
  background:linear-gradient(#f9fcff,#e6f0fa);
  border-bottom:1px solid #c5d4e3;
  box-shadow:inset 0 1px rgba(255,255,255,.9);
}
.desktop-ui .ribbon-tab{
  height:26px;
  min-width:66px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  color:#111;
  text-decoration:none;
  font-size:12px;
  border:1px solid transparent;
  border-bottom:0;
  border-radius:3px 3px 0 0;
  margin-right:1px;
}
.desktop-ui .ribbon-tab:hover{
  background:linear-gradient(#fffbe8,#fff1bd);
  border-color:#e2ad2f;
}
.desktop-ui .ribbon-tab.active{
  background:var(--cls13-tab-active,#fff);
  border-color:#b8cce0;
  border-bottom-color:#fff;
  font-weight:400;
  position:relative;
  z-index:2;
}
.desktop-ui .ribbonbar:before{content:none!important;display:none!important;}
.desktop-ui .ribbonbar{
  min-height:91px;
  padding:0 0 8px 0;
}
.desktop-ui .ribbon-group{margin-top:0;}
.desktop-ui .ribbon-btn.active{
  border-color:#d79c1a;
  background:linear-gradient(#fff9e2,#ffe08a);
}
.desktop-ui .ribbonbar[data-active-ribbon="business"] .ribbon-tab-business,
.desktop-ui .ribbonbar[data-active-ribbon="opzioni"] .ribbon-tab-opzioni{font-weight:700;}
@media(max-width:900px){.ribbonbar:before{content:none!important}.desktop-ui .ribbon-tabs{overflow:auto;white-space:nowrap}.desktop-ui .ribbonbar{min-height:94px}}
@media print{.ribbon-tabs{display:none!important}}


/* Beta 1.6.5 - Ribbon ad altezza fissa: evita salti tra Home / Business / Opzioni */
.desktop-ui nav.ribbonbar{
  height:104px!important;
  min-height:104px!important;
  max-height:104px!important;
  box-sizing:border-box;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  padding:0 0 8px 0!important;
}
.desktop-ui nav.ribbonbar .ribbon-group{
  height:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  flex:0 0 auto;
  overflow:hidden;
}
.desktop-ui nav.ribbonbar .ribbon-buttons{
  height:73px!important;
  min-height:73px!important;
  max-height:73px!important;
  overflow:hidden;
  flex-wrap:nowrap;
}
.desktop-ui nav.ribbonbar .ribbon-btn{
  height:66px!important;
  min-height:66px!important;
  max-height:66px!important;
}
.desktop-ui nav.ribbonbar .ribbon-label{
  height:20px!important;
  line-height:16px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
@media(max-width:900px){
  .desktop-ui nav.ribbonbar{height:104px!important;min-height:104px!important;max-height:104px!important;overflow-x:auto!important;overflow-y:hidden!important;}
}

/* Beta 1.6.6 - Ribbon tab client-side: niente ricarica/salto pagina tra Home, Business, Opzioni */
.desktop-ui nav.ribbonbar{position:relative;display:block!important;}
.desktop-ui nav.ribbonbar .ribbon-panel{
  height:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  display:none;
  align-items:stretch;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
}
.desktop-ui nav.ribbonbar .ribbon-panel.active{display:flex;}
.desktop-ui nav.ribbonbar .ribbon-panel .ribbon-group{display:flex;flex-direction:column;}
.desktop-ui .ribbon-tab{cursor:default;user-select:none;}
.desktop-ui .ribbon-tab:focus{outline:1px dotted #5f8dbc;outline-offset:-3px;}

/* Beta 1.6.7 - Ribbon: icone ricontrollate + titoli lunghi su più righe come CLSfacile originale */
.desktop-ui nav.ribbonbar{
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
}
.desktop-ui nav.ribbonbar .ribbon-panel{
  height:104px!important;
  min-height:104px!important;
  max-height:104px!important;
}
.desktop-ui nav.ribbonbar .ribbon-group{
  height:104px!important;
  min-height:104px!important;
  max-height:104px!important;
  min-width:152px;
  overflow:hidden;
}
.desktop-ui nav.ribbonbar .ribbon-buttons{
  height:78px!important;
  min-height:78px!important;
  max-height:78px!important;
  align-items:flex-start;
}
.desktop-ui nav.ribbonbar .ribbon-btn{
  width:68px!important;
  height:76px!important;
  min-height:76px!important;
  max-height:76px!important;
  padding:3px 3px 2px!important;
  justify-content:flex-start!important;
  white-space:normal!important;
  overflow:hidden;
}
.desktop-ui nav.ribbonbar .ribbon-btn span:last-child{
  display:block;
  width:100%;
  min-height:24px;
  max-height:28px;
  line-height:12px!important;
  white-space:normal!important;
  overflow:hidden;
  text-overflow:clip;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:auto;
}
.desktop-ui nav.ribbonbar .ribbon-icon{
  flex:0 0 36px;
  height:36px;
  margin-bottom:2px!important;
}
.desktop-ui nav.ribbonbar .ribbon-icon .cls-real-icon,
.ribbon-icon .cls-real-icon{
  width:34px!important;
  height:34px!important;
  object-fit:contain;
}
.desktop-ui nav.ribbonbar .ribbon-label{
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  line-height:11px!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  overflow-wrap:break-word;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 5px 2px!important;
}
@media(max-width:900px){
  .desktop-ui nav.ribbonbar{height:112px!important;min-height:112px!important;max-height:112px!important;}
}

/* Beta 1.6.8 - Ribbon labels: niente parole spezzate, niente singole lettere, niente taglio overflow */
.desktop-ui nav.ribbonbar{
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 0 8px 0!important;
}
.desktop-ui nav.ribbonbar .ribbon-panel{
  height:124px!important;
  min-height:124px!important;
  max-height:124px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  align-items:stretch!important;
}
.desktop-ui nav.ribbonbar .ribbon-group{
  height:124px!important;
  min-height:124px!important;
  max-height:124px!important;
  min-width:auto!important;
  overflow:hidden!important;
}
.desktop-ui nav.ribbonbar .ribbon-buttons{
  height:99px!important;
  min-height:99px!important;
  max-height:99px!important;
  align-items:flex-start!important;
  gap:2px!important;
  overflow:visible!important;
}
.desktop-ui nav.ribbonbar .ribbon-btn{
  width:86px!important;
  height:94px!important;
  min-height:94px!important;
  max-height:94px!important;
  padding:4px 4px 3px!important;
  overflow:hidden!important;
  white-space:normal!important;
}
.desktop-ui nav.ribbonbar .ribbon-btn span:last-child{
  display:block!important;
  width:100%!important;
  min-height:34px!important;
  max-height:42px!important;
  line-height:13px!important;
  font-size:11px!important;
  font-weight:400!important;
  white-space:normal!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.desktop-ui nav.ribbonbar .ribbon-icon{
  flex:0 0 38px!important;
  height:38px!important;
  margin-bottom:3px!important;
}
.desktop-ui nav.ribbonbar .ribbon-icon .cls-real-icon,
.ribbon-icon .cls-real-icon{
  width:36px!important;
  height:36px!important;
  object-fit:contain!important;
}
.desktop-ui nav.ribbonbar .ribbon-label{
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  line-height:11px!important;
  padding:0 5px 2px!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
@media(max-width:900px){
  .desktop-ui nav.ribbonbar{height:132px!important;min-height:132px!important;max-height:132px!important;}
}

/* Beta 1.7.0 - Nuovo DDT stile CLSfacile 2026 originale */
.ddt-dialog{width:min(1320px,98vw)!important;max-width:1320px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.ddt-original-form{background:#7f808d;border:1px solid #5f606b;box-shadow:0 24px 70px rgba(0,0,0,.32);min-height:720px;}
.ddt-form-topbar{height:62px;max-width:100%;background:#fff;border-bottom:3px solid #d9b63d;display:grid;grid-template-columns:minmax(0,1fr) 200px 260px 220px 136px;align-items:center;gap:10px;padding:0 12px;color:#333;box-sizing:border-box;overflow:hidden;}
.ddt-form-title{display:flex;align-items:center;gap:12px;font-size:22px;color:#3a3a3a;white-space:nowrap;min-width:0;overflow:hidden;}
.ddt-form-title strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ddt-title-icon{width:50px;height:50px;display:grid;place-items:center;background:#fff4df;border-right:1px solid #e1cc9b;}
.ddt-title-icon .cls-real-icon{width:42px!important;height:42px!important;object-fit:contain;}
.ddt-top-actions{height:42px;width:200px;display:flex;border:1px solid #aaa;border-radius:3px;overflow:hidden;background:linear-gradient(#fff,#e4e4e4);justify-content:center;justify-self:start;min-width:0;}
.ddt-action-btn{flex:1 1 0;min-width:0;border:0;border-right:1px solid #b4b4b4;background:transparent;color:#555;font-size:14px;cursor:pointer}.ddt-action-btn:last-child{border-right:0}.ddt-action-btn:hover{background:linear-gradient(#fff8d6,#ffd86d);}
.ddt-top-field{font-size:13px;display:flex;align-items:center;gap:8px;min-width:0;background:linear-gradient(#fefefe,#e9e9e9);border:1px solid #b6b6b6;border-radius:3px;padding:8px 10px;color:#333;white-space:nowrap;box-sizing:border-box;overflow:hidden;}
.ddt-top-field input{width:128px!important;max-width:100%!important;height:26px!important;padding:3px 6px!important;background:#fff!important;border:1px solid #aaa!important;border-radius:0!important;min-width:0;}
.ddt-number-field input{width:96px!important}.ddt-date-field input{width:120px!important}.ddt-close-btn{border:0;background:#f4f4f4;color:#444;height:38px;font-weight:600;cursor:pointer;min-width:0;width:136px;justify-self:end}.ddt-close-btn:hover{background:#ffe08a;color:#111;}
.ddt-stage{background:#7f808d;padding:28px 0 46px;display:flex;justify-content:center;align-items:flex-start;}
.ddt-paper{width:1040px;min-height:540px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:16px 48px;padding:26px 18px 12px 68px;position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.55);}
.ddt-panel{position:relative;min-height:235px;border:1px solid #cfd8df;background:linear-gradient(180deg,#fbfdff 0%,#eff5f8 52%,#e2eaee 100%);overflow:visible;}
.ddt-panel-1,.ddt-panel-2{min-height:210px}.ddt-panel-3,.ddt-panel-4{min-height:250px}.ddt-big-number{position:absolute;left:-50px;top:-20px;font-size:118px;line-height:1;color:rgba(130,130,130,.32);font-weight:300;font-family:Segoe UI,Tahoma,sans-serif;z-index:0;}
.ddt-panel-content{position:relative;z-index:1;padding:14px 16px 12px 20px;height:100%;}.ddt-panel h3{margin:0 0 10px;color:#607b96;font-weight:300;font-size:25px;line-height:1;}
.ddt-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ddt-subblock h3{display:flex;justify-content:space-between;align-items:center}.mini-btn{border:1px solid #b6bec5;background:linear-gradient(#fff,#e5e5e5);font-size:12px;padding:4px 8px;border-radius:2px;color:#555;cursor:pointer}.mini-btn:hover{background:linear-gradient(#fff8d6,#ffd86d)}
.ddt-original-form label{font-size:13px;color:#1f1f1f;font-weight:400;}.ddt-original-form .form-control{height:26px!important;min-height:26px!important;border-radius:0!important;border:1px solid #aab3bc!important;padding:3px 6px!important;font-size:13px!important;background:#fff!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)!important;}
.ddt-original-form textarea.form-control{height:64px!important;resize:vertical;}.ddt-material-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;align-items:start}.ddt-material-grid label,.ddt-transport-grid label{display:block}.inline-control{display:flex;align-items:center;gap:5px}.inline-control input{flex:1}.inline-control b{font-weight:400;color:#333}.ddt-full-row{grid-column:1/3}.qta-lettere{color:#b20f0f!important;font-weight:600!important}.ddt-radio-line{display:flex!important;align-items:center;gap:12px;color:#333}.ddt-radio-line span{display:inline-flex;align-items:center;gap:4px}.note-area{grid-column:2/3;grid-row:5/7}.recipe-line{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-bottom:10px}.ddt-tech-table{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d7e0e6;margin-top:8px}.ddt-tech-table>div{min-height:26px;padding:5px 6px;background:#e8f0f4;border-bottom:1px solid #d7e0e6;display:flex;gap:8px;align-items:center}.ddt-tech-table>div:nth-child(4n+1),.ddt-tech-table>div:nth-child(4n+2){background:#cfe4f6}.ddt-tech-table b{font-weight:400;color:#18384f}.ddt-tech-table span{color:#333}.ddt-report-cta{display:flex;justify-content:flex-end;margin-top:28px}.report-load-btn{border:0;background:linear-gradient(#f9f9f9,#e5e5e5);padding:7px 12px;color:#222;cursor:pointer}.report-load-btn:hover{background:linear-gradient(#fff8d6,#ffd86d)}.percent-icon{font-size:25px;color:#7693a2;margin-right:4px}.ddt-report-details{margin-top:8px;font-size:12px}.ddt-report-details summary{color:#607b96;cursor:pointer}.ddt-transport-grid{display:grid;grid-template-columns:1fr;gap:8px}.ddt-transport-grid>label:nth-child(1),.ddt-transport-grid>label:nth-child(3),.ddt-transport-grid>label:nth-child(4){display:grid;grid-template-columns:86px 1fr;align-items:center}.pump-check{margin-top:24px;color:#24749d!important}.ddt-pompa-panel{display:none;grid-template-columns:1fr;gap:7px;padding:8px;border:1px solid #d3dce3;background:rgba(255,255,255,.5)}.ddt-pompa-panel.show{display:grid}.start-time{margin-top:18px!important;justify-self:end;width:270px}.start-time .clock{white-space:nowrap}.transport-times,.cycle-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cycle-fields{grid-template-columns:repeat(4,1fr);border-top:1px solid #d5dde4;padding-top:7px;margin-top:4px}.note-transport textarea{height:45px!important}.row-actions{white-space:normal;min-width:560px}.ddt-archive-card .table-wrap{overflow:auto}
@media(max-width:1280px){.ddt-form-topbar{grid-template-columns:minmax(0,1fr) 200px 240px 200px 126px;gap:8px}.ddt-form-title{font-size:20px}}
@media(max-width:1120px){.ddt-form-topbar{grid-template-columns:1fr;min-height:220px;height:auto;padding:10px}.ddt-top-actions,.ddt-close-btn{width:100%;justify-self:stretch}.ddt-stage{padding:12px}.ddt-paper{width:100%;grid-template-columns:1fr;padding-left:56px}.ddt-panel{min-height:auto}.cycle-fields,.transport-times{grid-template-columns:1fr 1fr}.ddt-split,.ddt-material-grid,.recipe-line{grid-template-columns:1fr}.ddt-full-row,.note-area{grid-column:auto;grid-row:auto}.row-actions{min-width:360px}}


/* Beta 1.7.1 - DDT a pagina piena, non modale */
.ddt-page-shell{margin:-18px -18px 0;background:#7f808d;min-height:calc(100vh - 245px);border-top:1px solid #6c6d78;}
.ddt-page-shell .ddt-original-form{box-shadow:none;border-left:0;border-right:0;border-bottom:0;min-height:calc(100vh - 245px);}
.ddt-page-shell .ddt-stage{min-height:calc(100vh - 310px);}
.ddt-page-shell .ddt-paper{margin:0 auto;}
.ddt-page-shell .ddt-close-btn{text-decoration:none;display:flex;align-items:center;justify-content:center;}
@media(max-width:1120px){.ddt-page-shell{margin:-12px -12px 0;}.ddt-page-shell .ddt-original-form{min-height:auto;}}

/* Beta 1.7.2: Nuovo DDT come vera pagina operativa, senza doppio titolo. */
.workspace-ddt-form{padding:0!important;background:#7f808d!important;min-height:calc(100vh - 218px)!important;overflow:auto;}
.workspace-ddt-form .ddt-page-shell{margin:0!important;border-top:0!important;min-height:calc(100vh - 218px)!important;}
.workspace-ddt-form .ddt-original-form{min-height:calc(100vh - 218px)!important;}
.workspace-ddt-form .ddt-stage{min-height:calc(100vh - 284px)!important;padding-top:36px;}
.workspace-ddt-form .ddt-form-topbar{position:sticky;top:0;z-index:35;}

/* === Beta 1.8.0 - Ricette CLS pagina operativa stile originale === */
.ricetta-page-shell{margin:0!important;background:#7f808d;min-height:calc(100vh - 218px);border-top:0;}
.ricetta-original-form{background:#7f808d;border:0;box-shadow:none;min-height:calc(100vh - 218px);color:#222;}
.ricetta-form-topbar{height:62px;max-width:100%;background:#fff;border-bottom:3px solid #d9b63d;display:grid;grid-template-columns:minmax(0,1fr) 200px 220px 270px 136px;align-items:center;gap:10px;padding:0 12px;color:#333;box-sizing:border-box;overflow:hidden;}
.ricetta-form-title{display:flex;align-items:center;gap:12px;font-size:22px;color:#3a3a3a;white-space:nowrap;min-width:0;overflow:hidden;}
.ricetta-form-title strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ricetta-title-icon{width:50px;height:50px;display:grid;place-items:center;background:#fff4df;border-right:1px solid #e1cc9b;flex:0 0 auto;}
.ricetta-title-icon .cls-real-icon{width:42px!important;height:42px!important;object-fit:contain;}
.ricetta-top-actions{height:42px;width:200px;display:flex;border:1px solid #aaa;border-radius:3px;overflow:hidden;background:linear-gradient(#fff,#e4e4e4);justify-content:center;justify-self:start;min-width:0;}
.ricetta-action-btn{flex:1 1 0;min-width:0;border:0;border-right:1px solid #b4b4b4;background:transparent;color:#555;font-size:14px;cursor:pointer}
.ricetta-action-btn:last-child{border-right:0}.ricetta-action-btn:hover{background:linear-gradient(#fff8d6,#ffd86d);}
.ricetta-top-field{font-size:13px;display:flex;align-items:center;gap:8px;min-width:0;background:linear-gradient(#fefefe,#e9e9e9);border:1px solid #b6b6b6;border-radius:3px;padding:8px 10px;color:#333;white-space:nowrap;box-sizing:border-box;overflow:hidden;}
.ricetta-top-field input,.ricetta-top-field select{height:26px!important;padding:3px 6px!important;background:#fff!important;border:1px solid #aaa!important;border-radius:0!important;min-width:0;font-size:13px!important;}
.ricetta-code-field input{width:118px!important}.ricetta-type-field select{width:160px!important}
.ricetta-close-btn{border:0;background:#f4f4f4;color:#444;height:38px;font-weight:600;cursor:pointer;min-width:0;width:136px;justify-self:end}
.ricetta-close-btn:hover{background:#ffe08a;color:#111;}
.ricetta-stage{background:#7f808d;padding:32px 0 46px;display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 284px);}
.ricetta-paper{width:1160px;min-height:650px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:18px 54px;padding:28px 22px 24px 74px;position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.55);}
.ricetta-panel{position:relative;min-height:285px;border:1px solid #cfd8df;background:linear-gradient(180deg,#fbfdff 0%,#eff5f8 52%,#e2eaee 100%);overflow:visible;}
.ricetta-panel-1,.ricetta-panel-2{min-height:285px}.ricetta-panel-3,.ricetta-panel-4{min-height:310px}
.ricetta-big-number{position:absolute;left:-56px;top:-22px;font-size:118px;line-height:1;color:rgba(130,130,130,.32);font-weight:300;font-family:Segoe UI,Tahoma,sans-serif;z-index:0;}
.ricetta-panel-content{position:relative;z-index:1;padding:16px 18px 14px 24px;height:100%;}
.ricetta-panel h3{margin:0 0 12px;color:#607b96;font-weight:300;font-size:27px;line-height:1;}
.ricetta-grid{display:grid;gap:10px 18px;align-items:start}.ricetta-grid-2{grid-template-columns:1fr 1fr;}
.ricetta-original-form label{font-size:13px;color:#1f1f1f;font-weight:400;display:block;}
.ricetta-original-form .form-control{height:27px!important;min-height:27px!important;border-radius:0!important;border:1px solid #aab3bc!important;padding:3px 6px!important;font-size:13px!important;background:#fff!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)!important;}
.ricetta-original-form textarea.form-control{height:auto!important;min-height:96px!important;resize:vertical;}
.ricetta-components-head,.ricetta-comp-rows .comp-row{display:grid;grid-template-columns:1fr 1.55fr .8fr 42px;gap:8px;align-items:end}
.ricetta-components-head{font-size:12px;font-weight:700;text-transform:uppercase;color:#5f6870;background:#eef2f4;border:1px solid #d8e0e6;padding:6px 8px;margin-bottom:8px;}
.ricetta-comp-rows{display:grid;gap:7px;max-height:176px;overflow:auto;padding-right:4px;}
.ricetta-comp-rows .comp-row{background:rgba(255,255,255,.62);border:1px solid #d7e0e6;padding:7px 8px;}
.ricetta-comp-rows .comp-row label{margin:0}
.ricetta-comp-rows .comp-row .btn{height:27px;min-width:32px;padding:0;border:1px solid #b6bec5;background:linear-gradient(#fff,#e5e5e5);color:#555;}
.ricetta-add-comp{margin-top:10px;border:1px solid #b6bec5;background:linear-gradient(#fff,#e5e5e5);font-size:13px;padding:6px 10px;border-radius:2px;color:#555;cursor:pointer}
.ricetta-add-comp:hover{background:linear-gradient(#fff8d6,#ffd86d)}
.ricetta-help{font-size:12px;color:#667;margin:9px 0 0}
.ricetta-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d7e0e6;margin-bottom:12px}
.ricetta-summary>div{min-height:27px;padding:5px 7px;background:#e8f0f4;border-bottom:1px solid #d7e0e6;display:flex;gap:8px;align-items:center}
.ricetta-summary>div:nth-child(4n+1),.ricetta-summary>div:nth-child(4n+2){background:#cfe4f6}
.ricetta-summary b{font-weight:400;color:#18384f}.ricetta-summary span{color:#333}
.ricetta-side-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.workspace-ricetta-form{padding:0!important;background:#7f808d!important;min-height:calc(100vh - 218px)!important;overflow:auto;}
.workspace-ricetta-form .ricetta-form-topbar{position:sticky;top:0;z-index:35;}
.workspace-ricetta-form .bg-preview{display:none}
@media(max-width:1280px){.ricetta-form-topbar{grid-template-columns:minmax(0,1fr) 190px 190px 230px 126px;gap:8px}.ricetta-form-title{font-size:20px}.ricetta-paper{width:1060px;gap:16px 42px}}
@media(max-width:1120px){.ricetta-form-topbar{grid-template-columns:1fr;min-height:240px;height:auto;padding:10px}.ricetta-top-actions,.ricetta-close-btn{width:100%;justify-self:stretch}.ricetta-stage{padding:12px}.ricetta-paper{width:100%;grid-template-columns:1fr;padding-left:58px}.ricetta-panel{min-height:auto}.ricetta-grid-2,.ricetta-summary{grid-template-columns:1fr}.ricetta-components-head{display:none}.ricetta-comp-rows .comp-row{grid-template-columns:1fr}.row-actions{min-width:360px}}

/* === Beta 1.9.0 - Rapporto di carico completo === */
.rapporto-page{padding:0 0 28px}
.rapporto-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(#fff,#f2f2f2);border-bottom:3px solid #d9b63d;margin:-18px -18px 18px;padding:12px 16px}
.rapporto-title{display:flex;align-items:center;gap:12px;min-width:0}
.rapporto-title-icon{width:54px;height:54px;display:grid;place-items:center;background:#fff4df;border:1px solid #e1cc9b}
.rapporto-title-icon .cls-real-icon{width:44px!important;height:44px!important;object-fit:contain}
.rapporto-title h2{margin:0;font-size:27px;color:#333}
.rapporto-title p{margin:2px 0 0;color:#606975}
.rapporto-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rapporto-status{margin:0 0 18px;border:1px solid #cfd8df;background:linear-gradient(#fefefe,#edf3f6);display:flex;justify-content:space-between;gap:16px;padding:14px 16px;align-items:center}
.rapporto-status strong{display:block;font-size:24px;letter-spacing:.02em}
.rapporto-status.ok strong{color:#158033}.rapporto-status.ko strong{color:#b01818}
.rapporto-status span{color:#555}
.rapporto-status-small{font-size:12px;color:#5f6870;text-align:right}
.rapporto-kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}
.rapporto-kpi>div{background:linear-gradient(#fff,#e8eef2);border:1px solid #cbd6df;padding:10px 12px;min-height:72px}
.rapporto-kpi b{display:block;color:#607080;font-size:12px;text-transform:uppercase}
.rapporto-kpi strong{display:block;color:#178333;font-size:22px;margin-top:6px}
.rapporto-meta .card h3,.rapporto-table-card h3{margin-top:0}
.info-table{width:100%;border-collapse:collapse;background:#fff}
.info-table th{width:180px;text-align:left;background:#e8f0f4;color:#18384f;font-weight:600;border:1px solid #d7e0e6;padding:7px}
.info-table td{border:1px solid #d7e0e6;padding:7px}
.rapporto-table-card{margin-top:18px}
.rapporto-table{min-width:1180px}
.rapporto-table th{white-space:nowrap}
.rapporto-table td small{display:block;color:#68727c;font-size:11px;text-transform:uppercase}
.rapporto-table .num{text-align:right;font-variant-numeric:tabular-nums}
.rapporto-table tbody tr.ok{background:#f7fff8}
.rapporto-table tbody tr.warn{background:#fff9df}
.rapporto-table tbody tr.nc{background:#fff0f0}
.rpt-badge{display:inline-block;min-width:52px;text-align:center;padding:5px 8px;border-radius:3px;font-size:12px;font-weight:700}
.rpt-badge.ok{background:#dff4e5;color:#12762d;border:1px solid #a7d9b5}
.rpt-badge.warn{background:#fff0bd;color:#8a6200;border:1px solid #e1bf4b}
.rpt-badge.ko{background:#ffd9d9;color:#a00000;border:1px solid #e19b9b}
@media(max-width:1280px){.rapporto-kpi{grid-template-columns:repeat(3,1fr)}.rapporto-topbar{align-items:flex-start;flex-direction:column}.rapporto-status{flex-direction:column;align-items:flex-start}.rapporto-status-small{text-align:left}}
@media(max-width:760px){.rapporto-kpi{grid-template-columns:1fr}.rapporto-title h2{font-size:22px}.info-table th{width:120px}}

/* === Beta 2.1.0 - Dashboard Original Layout === */
.home-original-shell{position:relative;z-index:1;padding:0;color:#26313c}
.home-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(180deg,#878897,#6f707e);border:1px solid rgba(0,0,0,.25);box-shadow:inset 0 1px rgba(255,255,255,.22);padding:18px 22px;margin:-18px -18px 18px;color:#fff}
.home-hero h1{margin:0;font-weight:300;font-size:34px;letter-spacing:.02em}.home-hero h1 span{font-size:.72em;color:#ffd95a;font-weight:600}.home-hero p{margin:5px 0 0;color:#eef1f4}
.home-date-box{min-width:180px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);padding:10px 14px;text-align:right}.home-date-box b{display:block;text-transform:uppercase;font-size:12px;color:#dfe7f2}.home-date-box strong{display:block;font-size:23px}.home-date-box span{font-size:14px}
.home-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;gap:14px;align-items:start}
.home-widget{background:linear-gradient(180deg,#fdfefe,#e7eef3);border:1px solid #c6d1da;box-shadow:0 1px 0 rgba(255,255,255,.85),0 8px 18px rgba(0,0,0,.08);padding:14px;margin-bottom:14px}
.home-widget h2{margin:0 0 10px;color:#697a8e;font-weight:300;text-transform:lowercase;font-size:25px}.home-widget p{color:#5c6875;margin:4px 0 10px}
.today-widget{background:linear-gradient(180deg,#eff8ff,#d6e8f6)}.today-big{font-size:74px;line-height:.92;color:#197b33;font-weight:300}.today-widget p{text-transform:uppercase;font-size:12px}.today-mc{font-size:28px;color:#394753;margin-bottom:12px}.today-mc span{font-size:14px}
.home-action,.home-small-link{display:block;text-decoration:none;background:linear-gradient(#fff,#e6e6e6);border:1px solid #aeb8c1;color:#333;padding:8px 10px;text-align:center;border-radius:2px}.home-action:hover,.home-small-link:hover{background:linear-gradient(#fff8d6,#ffd86d);color:#111}
.humidity-line,.deadline-line{display:grid;grid-template-columns:54px 1fr 82px;gap:6px;align-items:center;border:1px solid #d8e1e8;background:#fff;margin-bottom:6px;padding:6px;font-size:12px}.humidity-line b{color:#254c68}.humidity-line span{text-align:right;font-weight:700;color:#247a37}.humidity-line small{color:#68727d;text-align:right}.humidity-line.alert{background:#fff2d8;border-color:#efc05a}
.sub-ok{display:inline-block;background:#dff4e5;color:#16712e;border:1px solid #a9d5b3;font-weight:700;padding:5px 12px;margin-bottom:8px}
.home-widget-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}.home-widget-title h2{margin-bottom:2px}.home-widget-title p{margin:0;font-size:13px}
.common-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.common-actions-grid a{display:flex;align-items:center;gap:10px;min-height:74px;background:linear-gradient(#fff,#e9eef2);border:1px solid #c2ccd5;padding:10px;text-decoration:none;color:#2d3540}.common-actions-grid a:hover{background:linear-gradient(#fff8d6,#ffd86d)}.common-actions-grid .cls-real-icon{width:38px!important;height:38px!important;object-fit:contain}.common-actions-grid b{display:block}.common-actions-grid small{display:block;color:#69717b}
.home-table-wrap{overflow:auto}.home-table{width:100%;border-collapse:collapse;background:#fff}.home-table th{background:#d5e8f6;color:#28465c;border:1px solid #b8cbd7;padding:7px;font-size:12px;text-transform:uppercase}.home-table td{border:1px solid #d8e0e6;padding:7px;font-size:13px}.home-table tbody tr:nth-child(even){background:#f7fafc}.home-table tbody tr:hover{background:#fff6d6}.home-table a{color:#1d5f91;font-weight:700}
.home-badge{display:inline-block;background:#e9eef3;border:1px solid #c8d2dc;border-radius:2px;padding:3px 7px;font-size:12px}
.introiti-widget{background:linear-gradient(180deg,#fff,#eaf5e9)}.money-value{font-size:31px;color:#197b33;font-weight:300;margin:8px 0}.mini-stat{display:flex;justify-content:space-between;border-top:1px solid #cfd8df;padding:8px 0}.mini-stat b{font-size:22px;color:#197b33}.mini-stat span{color:#64717e}
.deadline-line{display:block}.deadline-line b{display:block;color:#34495e}.deadline-line span{display:block}.deadline-line small{display:block;color:#667}.deadline-line.expired{background:#fff0f0;border-color:#e2a5a5}
.archive-counts{display:grid;grid-template-columns:1fr;gap:7px}.archive-counts div{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #d5dde4;padding:7px 8px}.archive-counts b{font-size:22px;color:#2f7fbd}.archive-counts span{font-size:12px;color:#667;text-transform:uppercase}
@media(max-width:1280px){.home-layout{grid-template-columns:260px minmax(0,1fr)}.home-right-column{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.home-right-column .home-widget{margin-bottom:0}}
@media(max-width:900px){.home-hero{flex-direction:column;align-items:flex-start}.home-layout{grid-template-columns:1fr}.home-right-column{grid-column:auto;display:block}.common-actions-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.common-actions-grid{grid-template-columns:1fr}.home-hero h1{font-size:27px}}

/* === Beta 2.2.0 - Business Original Layout === */
.business-page-shell{margin:0!important;background:#7f808d;min-height:calc(100vh - 218px);border-top:0}
.business-original-form{background:#7f808d;border:0;box-shadow:none;min-height:calc(100vh - 218px);color:#222}
.business-form-topbar{height:62px;max-width:100%;background:#fff;border-bottom:3px solid #d9b63d;display:grid;grid-template-columns:minmax(0,1fr) 200px 260px 170px 136px;align-items:center;gap:10px;padding:0 12px;color:#333;box-sizing:border-box;overflow:hidden;position:sticky;top:0;z-index:35}
.business-form-title{display:flex;align-items:center;gap:12px;font-size:22px;color:#3a3a3a;white-space:nowrap;min-width:0;overflow:hidden}.business-form-title strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.business-title-icon{width:50px;height:50px;display:grid;place-items:center;background:#fff4df;border-right:1px solid #e1cc9b;flex:0 0 auto}.business-title-icon .cls-real-icon{width:42px!important;height:42px!important;object-fit:contain}
.business-top-actions{height:42px;width:200px;display:flex;border:1px solid #aaa;border-radius:3px;overflow:hidden;background:linear-gradient(#fff,#e4e4e4);justify-content:center;justify-self:start;min-width:0}
.business-action-btn{flex:1 1 0;min-width:0;border:0;border-right:1px solid #b4b4b4;background:transparent;color:#555;font-size:14px;cursor:pointer}.business-action-btn:last-child{border-right:0}.business-action-btn:hover{background:linear-gradient(#fff8d6,#ffd86d)}
.business-top-field{font-size:13px;display:flex;align-items:center;gap:8px;min-width:0;background:linear-gradient(#fefefe,#e9e9e9);border:1px solid #b6b6b6;border-radius:3px;padding:8px 10px;color:#333;white-space:nowrap;box-sizing:border-box;overflow:hidden}
.business-top-field input,.business-top-field select{height:26px!important;padding:3px 6px!important;background:#fff!important;border:1px solid #aaa!important;border-radius:0!important;min-width:0;font-size:13px!important}.business-top-field input{width:150px}.business-top-field.small-field input,.business-top-field.small-field select{width:78px!important}.business-top-field.number-field input{width:95px!important}
.business-close-btn{border:0;background:#f4f4f4;color:#444;height:38px;font-weight:600;cursor:pointer;min-width:0;width:136px;justify-self:end}.business-close-btn:hover{background:#ffe08a;color:#111}
.business-stage{background:#7f808d;padding:32px 0 46px;display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 284px)}
.business-paper{width:1180px;min-height:680px;background:#fff;display:grid;grid-template-columns:1fr 1.35fr;gap:18px 54px;padding:28px 22px 24px 74px;position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.business-panel{position:relative;min-height:285px;border:1px solid #cfd8df;background:linear-gradient(180deg,#fbfdff 0%,#eff5f8 52%,#e2eaee 100%);overflow:visible}.business-panel-2{min-height:360px}.business-panel-4{min-height:285px}.business-panel-wide{grid-column:1/3}
.business-big-number{position:absolute;left:-56px;top:-22px;font-size:118px;line-height:1;color:rgba(130,130,130,.32);font-weight:300;font-family:Segoe UI,Tahoma,sans-serif;z-index:0}.business-panel-content{position:relative;z-index:1;padding:16px 18px 14px 24px;height:100%}.business-panel h3{margin:0 0 12px;color:#607b96;font-weight:300;font-size:27px;line-height:1}
.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;align-items:start}.business-grid .wide{grid-column:1/3}
.business-original-form label{font-size:13px;color:#1f1f1f;font-weight:400;display:block}.business-original-form .form-control{height:27px!important;min-height:27px!important;border-radius:0!important;border:1px solid #aab3bc!important;padding:3px 6px!important;font-size:13px!important;background:#fff!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)!important}.business-original-form textarea.form-control{height:auto!important;min-height:76px!important;resize:vertical}
.business-row-tools{display:flex;gap:8px;margin-bottom:8px}.business-rows-head,.business-doc-rows .doc-row{display:grid;grid-template-columns:.8fr 2fr .55fr .65fr .75fr .8fr 38px;gap:6px;align-items:end}.business-rows-head.list-mode,.business-doc-rows.list-mode .doc-row{grid-template-columns:.7fr 1.7fr .5fr .65fr .65fr .6fr .6fr .6fr .7fr 38px}
.business-rows-head,.business-pay-head{font-size:12px;font-weight:700;text-transform:uppercase;color:#5f6870;background:#eef2f4;border:1px solid #d8e0e6;padding:6px 8px;margin-bottom:8px}.business-doc-rows,.business-pay-rows{display:grid;gap:7px;max-height:230px;overflow:auto;padding-right:4px}.business-doc-rows .doc-row,.business-pay-rows .doc-row{background:rgba(255,255,255,.62);border:1px solid #d7e0e6;padding:7px 8px}.business-doc-rows .doc-row label,.business-pay-rows .doc-row label{margin:0}.business-doc-rows .doc-row .btn,.business-pay-rows .doc-row .btn{height:27px;min-width:32px;padding:0;border:1px solid #b6bec5;background:linear-gradient(#fff,#e5e5e5);color:#555}
.business-pay-head,.business-pay-rows .doc-row{display:grid;grid-template-columns:.55fr .85fr 1fr .75fr 1fr 38px;gap:6px;align-items:end}.line-total{height:27px;display:flex;align-items:center;justify-content:flex-end;font-size:12px;color:#197b33;white-space:nowrap}
.business-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d7e0e6;margin-bottom:12px}.business-summary>div{min-height:32px;padding:7px;background:#e8f0f4;border-bottom:1px solid #d7e0e6;display:flex;justify-content:space-between;gap:8px;align-items:center}.business-summary>div:nth-child(4n+1),.business-summary>div:nth-child(4n+2){background:#cfe4f6}.business-summary b{font-weight:400;color:#18384f}.business-summary span{font-weight:700;color:#197b33}
.business-side-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}
.business-archive-card .row-actions{min-width:560px}
@media(max-width:1280px){.business-form-topbar{grid-template-columns:minmax(0,1fr) 190px 220px 140px 126px;gap:8px}.business-form-title{font-size:20px}.business-paper{width:1060px;gap:16px 42px}}
@media(max-width:1120px){.business-form-topbar{grid-template-columns:1fr;min-height:240px;height:auto;padding:10px}.business-top-actions,.business-close-btn{width:100%;justify-self:stretch}.business-stage{padding:12px}.business-paper{width:100%;grid-template-columns:1fr;padding-left:58px}.business-panel,.business-panel-wide{grid-column:auto;min-height:auto}.business-grid{grid-template-columns:1fr}.business-grid .wide{grid-column:auto}.business-rows-head,.business-pay-head{display:none}.business-doc-rows .doc-row,.business-pay-rows .doc-row{grid-template-columns:1fr}.line-total{justify-content:flex-start}}

/* === Beta 2.3.0 - Fatture e Scadenziario Original Layout === */
.scad-page-shell{position:relative;z-index:1;color:#26313c}
.scad-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(#fff,#f2f2f2);border-bottom:3px solid #d9b63d;margin:-18px -18px 18px;padding:12px 16px}
.scad-title{display:flex;align-items:center;gap:12px;min-width:0}.scad-title-icon{width:54px;height:54px;display:grid;place-items:center;background:#fff4df;border:1px solid #e1cc9b}.scad-title-icon .cls-real-icon{width:44px!important;height:44px!important;object-fit:contain}.scad-title h2{margin:0;font-size:28px;color:#333}.scad-title p{margin:2px 0 0;color:#606975}.scad-actions{display:flex;gap:8px;flex-wrap:wrap}
.scad-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.scad-kpi>div{background:linear-gradient(#fff,#e8eef2);border:1px solid #cbd6df;padding:12px;min-height:78px}.scad-kpi b{display:block;color:#607080;font-size:12px;text-transform:uppercase}.scad-kpi strong{display:block;color:#2f7fbd;font-size:30px;line-height:1;margin-top:5px}.scad-kpi span{display:block;color:#5a6672;font-size:13px;margin-top:4px}.scad-kpi .kpi-open strong{color:#2f7fbd}.scad-kpi .kpi-expired strong{color:#ad2020}.scad-kpi .kpi-paid strong{color:#197b33}
.scad-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}.scad-widget{background:linear-gradient(180deg,#fdfefe,#e7eef3);border:1px solid #c6d1da;box-shadow:0 1px 0 rgba(255,255,255,.85),0 8px 18px rgba(0,0,0,.08);padding:14px;margin-bottom:14px}.scad-widget h3{margin:0 0 10px;color:#697a8e;font-weight:300;text-transform:lowercase;font-size:24px}
.scad-action-link{display:block;text-decoration:none;background:linear-gradient(#fff,#e6e6e6);border:1px solid #aeb8c1;color:#333;padding:8px 10px;text-align:center;border-radius:2px;margin-bottom:7px}.scad-action-link:hover{background:linear-gradient(#fff8d6,#ffd86d);color:#111}
.legend-line{display:flex;align-items:center;gap:8px;margin:7px 0}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #999}.dot.open{background:#dfeeff}.dot.expired{background:#ffd0d0}.dot.paid{background:#d9f3df}
.scad-card{margin:0}.scad-table{min-width:980px}.scad-table th{background:#d5e8f6;color:#28465c;border:1px solid #b8cbd7;padding:7px;font-size:12px;text-transform:uppercase}.scad-table td{border:1px solid #d8e0e6;padding:7px;font-size:13px}.scad-table tbody tr.open{background:#f8fbff}.scad-table tbody tr.expired{background:#fff0f0}.scad-table tbody tr.paid{background:#f2fff4}.scad-table tbody tr:hover{background:#fff6d6}.scad-table .num{text-align:right;font-variant-numeric:tabular-nums}
.scad-badge{display:inline-block;min-width:68px;text-align:center;padding:4px 7px;border-radius:2px;font-size:12px;font-weight:700}.scad-badge.open{background:#dfeeff;color:#1e5d91;border:1px solid #accde8}.scad-badge.expired{background:#ffd9d9;color:#a00000;border:1px solid #e19b9b}.scad-badge.paid{background:#dff4e5;color:#12762d;border:1px solid #a7d9b5}
@media(max-width:1050px){.scad-layout{grid-template-columns:1fr}.scad-kpi{grid-template-columns:repeat(2,1fr)}.scad-topbar{flex-direction:column;align-items:flex-start}}
@media(max-width:620px){.scad-kpi{grid-template-columns:1fr}.scad-title h2{font-size:23px}}

/* === Beta 2.4.0 - Release Candidate Precheck === */
.system-page-shell{position:relative;z-index:1;color:#26313c}
.system-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(#fff,#f2f2f2);border-bottom:3px solid #d9b63d;margin:-18px -18px 18px;padding:12px 16px}
.system-title{display:flex;align-items:center;gap:12px;min-width:0}.system-title-icon{width:54px;height:54px;display:grid;place-items:center;background:#fff4df;border:1px solid #e1cc9b}.system-title-icon .cls-real-icon{width:44px!important;height:44px!important;object-fit:contain}.system-title h2{margin:0;font-size:28px;color:#333}.system-title p{margin:2px 0 0;color:#606975}
.system-status{min-width:190px;text-align:center;border:1px solid #cbd6df;background:linear-gradient(#fff,#e8eef2);padding:9px 12px}.system-status strong{display:block;font-size:22px}.system-status.ok strong{color:#197b33}.system-status.warn strong{color:#ad2020}.system-status span{font-size:12px;color:#5b6570}
.system-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.system-kpi>div{background:linear-gradient(#fff,#e8eef2);border:1px solid #cbd6df;padding:12px;min-height:78px}.system-kpi b{display:block;color:#607080;font-size:12px;text-transform:uppercase}.system-kpi strong{display:block;color:#2f7fbd;font-size:22px;line-height:1.1;margin-top:5px}.system-kpi span{display:block;color:#5a6672;font-size:13px;margin-top:4px}
.system-card{margin-bottom:14px}.system-table{width:100%;border-collapse:collapse;background:#fff}.system-table th{background:#d5e8f6;color:#28465c;border:1px solid #b8cbd7;padding:7px;font-size:12px;text-transform:uppercase}.system-table td{border:1px solid #d8e0e6;padding:7px;font-size:13px}.system-table tr.ok{background:#f8fff9}.system-table tr.warn{background:#fff3f3}
.sys-badge{display:inline-block;min-width:70px;text-align:center;padding:4px 7px;border-radius:2px;font-size:12px;font-weight:700}.sys-badge.ok{background:#dff4e5;color:#12762d;border:1px solid #a7d9b5}.sys-badge.warn{background:#ffd9d9;color:#a00000;border:1px solid #e19b9b}
.system-actions-list{margin:0 0 16px;padding-left:20px}.system-actions-list li{margin:6px 0}.sys-ok-text{background:#eef9ef;border:1px solid #a7d9b5;color:#126c2a;padding:10px}
@media(max-width:1050px){.system-kpi{grid-template-columns:repeat(2,1fr)}.system-topbar{flex-direction:column;align-items:flex-start}.system-status{text-align:left;width:100%}}
@media(max-width:620px){.system-kpi{grid-template-columns:1fr}.system-title h2{font-size:23px}}

/* === Beta 2.5.0 RC1 refinements === */
.rc-health-box{border:1px solid #d8e0e6;background:#fff;padding:10px;min-height:54px}
.rc-health-status{display:flex;justify-content:space-between;align-items:center;border:1px solid #cbd6df;padding:9px 10px;margin-bottom:10px;background:#f7fbff}
.rc-health-status.ok{background:#eef9ef;color:#126c2a;border-color:#a7d9b5}
.rc-health-status.warn{background:#fff3f3;color:#900;border-color:#e19b9b}
.rc-health-status b{font-size:18px}
body.rc1 .badge, .sys-badge, .scad-badge, .rpt-badge{letter-spacing:.01em}
.form-control:invalid{border-color:#d36b6b!important;background:#fff8f8!important}
.btn[disabled],button[disabled]{opacity:.55;cursor:not-allowed}


/* =========================================================
   Beta 2.6.0 - Responsive Tablet / Mobile Professional UI
   ========================================================= */

/* Base responsive safety */
*{box-sizing:border-box}
html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.desktop-ui{min-width:0;overflow-x:hidden}
img,svg,video,canvas,iframe{max-width:100%}
button,.btn,a,input,select,textarea{touch-action:manipulation}
.form-control,select,input,textarea,button,.btn{max-width:100%}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:760px}
.content.workspace{min-width:0}
.main.desktop-main{min-width:0}
.mobile-menu-toggle,.mobile-sidebar-backdrop{display:none}

/* Tablet landscape / small notebook */
@media (max-width: 1180px){
  .window-frame{width:100%;min-width:0}
  .cls-titlebar{height:auto;min-height:52px;gap:10px;padding:8px 10px}
  .titlebar-left{min-width:0}
  .titlebar-left strong{display:block;max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .titlebar-left small{display:block;max-width:54vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .titlebar-right{gap:6px;min-width:0}
  .titlebar-right span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .window-btn{height:34px;padding:5px 10px}
  .ribbonbar{height:auto;min-height:96px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .ribbon-panel.active{display:flex;flex-wrap:nowrap;min-width:max-content}
  .ribbon-group{min-width:140px;max-width:260px}
  .ribbon-buttons{display:flex;gap:4px;flex-wrap:nowrap}
  .ribbon-btn{min-width:70px;max-width:86px;height:74px;padding:5px 4px}
  .ribbon-btn span:last-child{font-size:10.5px;line-height:1.05}
  .ribbon-icon{width:34px;height:34px}
  .ribbon-icon .cls-real-icon{width:34px!important;height:34px!important}
  .app-shell{grid-template-columns:220px minmax(0,1fr)}
  .sidebar.explorer-pane{width:220px}
  .module-header{gap:10px;align-items:flex-start}
  .module-title-wrap{min-width:0}
  .module-title-wrap h1{font-size:22px}
  .module-title-wrap p{font-size:12px}
  .module-header-actions{flex-wrap:wrap;justify-content:flex-end}
  .grid.two,.grid.three{grid-template-columns:1fr 1fr!important}
  .dashboard-grid,.home-original-grid{grid-template-columns:1fr!important}
  .home-original-shell{gap:12px}
}

/* Tablet portrait */
@media (max-width: 900px){
  body.desktop-ui{background:#eef2f5}
  .mobile-menu-toggle{display:inline-grid;place-items:center;width:42px;height:40px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;border-radius:6px;font-size:22px;flex:0 0 auto}
  .cls-titlebar{position:sticky;top:0;z-index:1200;display:flex}
  .titlebar-left{flex:1 1 auto}
  .titlebar-left .app-orb{width:36px;height:36px;font-size:13px}
  .titlebar-left strong{font-size:14px;max-width:58vw}
  .titlebar-left small{font-size:11px;max-width:58vw}
  .titlebar-right span{display:none}
  .titlebar-right .window-btn:not(.danger){display:none}
  .titlebar-right .window-btn.danger{height:36px;padding:5px 11px}
  .ribbon-tabs{position:sticky;top:56px;z-index:1100;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .ribbon-tabs::-webkit-scrollbar{display:none}
  .ribbon-tab{min-width:104px;text-align:center;padding:9px 13px}
  .ribbonbar{position:sticky;top:96px;z-index:1050;background:#f7f7f7;border-bottom:1px solid #bfc7cf;min-height:86px}
  .ribbon-panel.active{gap:6px;padding:6px 8px}
  .ribbon-group{min-width:auto;border-right:0;padding-right:6px}
  .ribbon-label{display:none}
  .ribbon-btn{height:68px;min-width:66px;max-width:72px;border-radius:6px}
  .ribbon-icon{width:30px;height:30px}
  .ribbon-icon .cls-real-icon{width:30px!important;height:30px!important}
  .cls-original-brand-strip{height:auto;min-height:44px;padding:7px 10px;gap:8px;position:relative;z-index:20}
  .cls-original-brand{font-size:13px;gap:5px;min-width:0;overflow:hidden}
  .cls-original-brand .cls-mark{width:30px;height:28px;font-size:12px}
  .cls-change-bg{height:32px;padding:4px 8px;white-space:nowrap}
  .app-shell{display:block;min-height:0}
  .mobile-sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(20,25,30,.45);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:1290}
  body.mobile-sidebar-open .mobile-sidebar-backdrop{opacity:1;pointer-events:auto}
  .sidebar.explorer-pane{position:fixed!important;left:0;top:0;bottom:0;width:min(84vw,330px)!important;max-width:330px;z-index:1300;transform:translateX(-104%);transition:transform .22s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;border-right:1px solid #99a7b4;box-shadow:12px 0 35px rgba(0,0,0,.25);padding-bottom:24px}
  body.mobile-sidebar-open .sidebar.explorer-pane{transform:translateX(0)}
  .sidebar .brand{position:sticky;top:0;z-index:2;background:inherit;padding-top:10px}
  .sidebar nav{padding-bottom:28px}
  .navitem{min-height:42px;padding:9px 10px;font-size:14px}
  .navitem span:first-child{width:30px}
  .main.desktop-main{width:100%;padding:0}
  .module-header{position:relative;margin:0;padding:12px 12px;display:flex;align-items:flex-start;border-radius:0}
  .module-title-wrap{gap:10px}
  .module-icon{width:42px;height:42px;flex:0 0 42px}
  .module-icon .cls-real-icon{width:34px!important;height:34px!important}
  .module-title-wrap h1{font-size:20px;line-height:1.1}
  .module-title-wrap p{font-size:12px;margin-top:3px}
  .module-header-actions{display:none}
  .content.workspace{padding:10px!important;margin:0!important;border-radius:0;min-height:calc(100vh - 190px)}
  .card{border-radius:8px;margin-bottom:12px}
  .toolbar{display:flex;flex-direction:column;align-items:stretch!important;gap:10px}
  .toolbar h2{font-size:20px;margin-bottom:2px}
  .toolbar p{font-size:12px;margin-bottom:0}
  .top-actions,.toolbar .top-actions{display:flex;gap:7px;flex-wrap:wrap}
  .btn,.btn.btn-primary,.btn-sm,.window-btn{min-height:38px}
  .btn-sm{padding:6px 8px!important}
  .search{height:40px}
  .grid.two,.grid.three,.form-grid,.dashboard-grid,.home-original-grid,.scad-layout,.system-layout{grid-template-columns:1fr!important}
  .table-wrap{border-radius:6px}
  .data-table th,.data-table td,table th,table td{font-size:12px;padding:7px 8px}
  .row-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:180px}
  .modal{align-items:flex-start!important;padding:10px}
  .modal-dialog{width:100%!important;max-width:100%!important;margin:0!important;max-height:calc(100vh - 20px);overflow:auto;border-radius:10px}
  .modal-content{max-height:none}
  .modal-body{padding:12px}
  .modal-header,.modal-footer,.modal-head{gap:8px;padding:10px 12px}
  .preview-dialog{height:calc(100vh - 20px)!important}
  .print-preview-frame{height:calc(100vh - 160px)!important}
}

/* Mobile */
@media (max-width: 640px){
  .cls-titlebar{min-height:54px;padding:7px 8px}
  .mobile-menu-toggle{width:38px;height:38px;font-size:20px}
  .titlebar-left .app-orb{display:none}
  .titlebar-left strong{font-size:13px;max-width:50vw}
  .titlebar-left small{font-size:10.5px;max-width:50vw}
  .ribbon-tabs{top:54px}
  .ribbon-tab{min-width:94px;padding:8px 10px;font-size:13px}
  .ribbonbar{top:91px;min-height:78px}
  .ribbon-panel.active{padding:5px 6px}
  .ribbon-btn{height:62px;min-width:60px;max-width:64px;padding:4px 3px}
  .ribbon-btn span:last-child{font-size:9.5px}
  .ribbon-icon,.ribbon-icon .cls-real-icon{width:26px!important;height:26px!important}
  .cls-original-brand-strip{padding:6px 8px}
  .cls-original-brand strong{font-size:13px}
  .cls-original-brand span:not(.cls-mark),.cls-original-brand b{font-size:11px}
  .cls-change-bg{font-size:11px;padding:4px 7px}
  .content.workspace{padding:8px!important}
  .module-header{padding:10px}
  .module-icon{display:none}
  .module-title-wrap h1{font-size:18px}
  .card{padding:10px!important}
  .toolbar h2{font-size:18px}
  .toolbar p{display:none}
  .btn{width:auto;min-height:40px}
  .top-actions .btn,.toolbar .btn{flex:1 1 auto}
  .form-grid{gap:9px!important}
  label{font-size:12.5px}
  .form-control{min-height:38px!important;font-size:14px!important}
  textarea.form-control{min-height:90px!important}
  .table-wrap table{min-width:680px}
  .modal{padding:6px}
  .modal-dialog{max-height:calc(100vh - 12px);border-radius:8px}
  .modal-header h3,.modal-head h3{font-size:17px}
  .preview-actions{display:flex;flex-direction:column}
  .preview-actions .btn,.preview-actions a{width:100%}
}

/* DDT original page responsive */
@media (max-width: 1180px){
  .ddt-page-form .ddt-topbar,.ddt-form-topbar{grid-template-columns:1fr auto auto;gap:8px;height:auto;min-height:58px;align-items:center}
  .ddt-form-topbar label,.ddt-topbar label{min-width:0}
  .ddt-stage,.ddt-form-stage{padding:18px 10px}
  .ddt-paper,.ddt-form-paper{width:100%;max-width:1080px}
}
@media (max-width: 900px){
  .workspace-ddt-form{padding:0!important}
  .ddt-page-shell,.ddt-original-form{min-height:0}
  .ddt-page-form .ddt-topbar,.ddt-form-topbar{position:sticky;top:178px;z-index:900;display:grid;grid-template-columns:1fr;gap:8px;padding:8px;height:auto}
  .ddt-form-title{font-size:18px}
  .ddt-top-actions,.ddt-form-actions{width:100%;display:flex}
  .ddt-top-actions button,.ddt-form-actions button{flex:1}
  .ddt-stage,.ddt-form-stage{padding:10px;background:#7f808d}
  .ddt-paper,.ddt-form-paper{display:grid!important;grid-template-columns:1fr!important;width:100%!important;padding:18px 12px 16px 54px!important;gap:14px!important;min-height:0}
  .ddt-panel{min-height:auto!important}
  .ddt-big-number{font-size:80px;left:-42px;top:-12px}
  .ddt-panel-content{padding:14px!important}
  .ddt-panel h3{font-size:23px}
  .ddt-grid,.ddt-form-grid{grid-template-columns:1fr!important}
  .ddt-grid .wide,.ddt-form-grid .wide{grid-column:auto!important}
}
@media (max-width: 640px){
  .ddt-page-form .ddt-topbar,.ddt-form-topbar{top:169px}
  .ddt-form-title{font-size:16px}
  .ddt-paper,.ddt-form-paper{padding-left:42px!important}
  .ddt-big-number{font-size:64px;left:-34px}
  .ddt-panel h3{font-size:20px}
}

/* Ricette original page responsive */
@media (max-width: 1180px){
  .ricetta-form-topbar{grid-template-columns:1fr auto auto;gap:8px;height:auto;min-height:58px}
  .ricetta-form-stage{padding:18px 10px}
  .ricetta-form-paper{width:100%;max-width:1080px}
}
@media (max-width: 900px){
  .workspace-ricetta-form{padding:0!important}
  .ricetta-form-topbar{position:sticky;top:178px;z-index:900;display:grid;grid-template-columns:1fr;gap:8px;padding:8px;height:auto}
  .ricetta-form-title{font-size:18px}
  .ricetta-form-actions{width:100%;display:flex}
  .ricetta-form-actions button{flex:1}
  .ricetta-form-stage{padding:10px;background:#7f808d}
  .ricetta-form-paper{display:grid!important;grid-template-columns:1fr!important;width:100%!important;padding:18px 12px 16px 54px!important;gap:14px!important;min-height:0}
  .ricetta-panel{min-height:auto!important}
  .ricetta-big-number{font-size:80px;left:-42px;top:-12px}
  .ricetta-panel-content{padding:14px!important}
  .ricetta-panel h3{font-size:23px}
  .ricetta-grid{grid-template-columns:1fr!important}
  .ricetta-grid .wide{grid-column:auto!important}
  .ricetta-summary{grid-template-columns:1fr 1fr!important}
  .comp-row{grid-template-columns:1fr!important}
}
@media (max-width: 640px){
  .ricetta-form-topbar{top:169px}
  .ricetta-form-title{font-size:16px}
  .ricetta-form-paper{padding-left:42px!important}
  .ricetta-big-number{font-size:64px;left:-34px}
  .ricetta-panel h3{font-size:20px}
  .ricetta-summary{grid-template-columns:1fr!important}
}

/* Business original page responsive */
@media (max-width: 1180px){
  .business-form-topbar{grid-template-columns:1fr auto minmax(180px,260px) minmax(120px,170px) auto;gap:8px}
  .business-stage{padding:18px 10px}
  .business-paper{width:100%;max-width:1080px}
}
@media (max-width: 900px){
  .business-page-shell{margin:0!important}
  .business-form-topbar{position:sticky;top:178px;z-index:900;display:grid;grid-template-columns:1fr;gap:8px;height:auto;min-height:0;padding:8px}
  .business-form-title{font-size:18px}
  .business-top-actions{width:100%;justify-self:stretch}
  .business-top-field{width:100%;display:grid;grid-template-columns:82px minmax(0,1fr)}
  .business-top-field input,.business-top-field select{width:100%!important;height:34px!important}
  .business-close-btn{width:100%;justify-self:stretch}
  .business-stage{padding:10px}
  .business-paper{display:grid!important;grid-template-columns:1fr!important;width:100%!important;padding:18px 12px 16px 54px!important;gap:14px!important;min-height:0}
  .business-panel{min-height:auto!important;grid-column:auto!important}
  .business-big-number{font-size:80px;left:-42px;top:-12px}
  .business-panel-content{padding:14px!important}
  .business-panel h3{font-size:23px}
  .business-grid{grid-template-columns:1fr!important}
  .business-grid .wide{grid-column:auto!important}
  .business-rows-head,.business-pay-head{display:none}
  .business-doc-rows .doc-row,.business-pay-rows .doc-row{display:grid!important;grid-template-columns:1fr!important}
  .business-summary{grid-template-columns:1fr!important}
  .business-side-actions .report-load-btn{width:100%}
  .business-archive-card .row-actions{min-width:0}
}
@media (max-width: 640px){
  .business-form-topbar{top:169px}
  .business-form-title{font-size:16px}
  .business-title-icon{display:none}
  .business-paper{padding-left:42px!important}
  .business-big-number{font-size:64px;left:-34px}
  .business-panel h3{font-size:20px}
}

/* Scadenziario / System check responsive */
@media (max-width: 900px){
  .scad-topbar,.system-topbar{margin:-10px -10px 12px!important;padding:10px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .scad-title h2,.system-title h2{font-size:21px!important}
  .scad-title p,.system-title p{font-size:12px}
  .scad-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}
  .scad-kpi,.system-kpi{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .scad-kpi>div,.system-kpi>div{min-height:70px;padding:10px!important}
  .scad-layout{display:grid!important;grid-template-columns:1fr!important}
  .scad-side{order:2}
  .scad-main{order:1}
  .system-card .toolbar{align-items:stretch!important}
}
@media (max-width: 640px){
  .scad-title-icon,.system-title-icon{display:none}
  .scad-kpi,.system-kpi{grid-template-columns:1fr!important}
  .scad-actions{grid-template-columns:1fr!important}
  .scad-widget h3{font-size:20px}
}

/* Dashboard/home responsive cleanup */
@media (max-width: 900px){
  .home-original-shell,.dashboard-shell{padding:0!important}
  .home-hero,.home-original-hero{display:grid!important;grid-template-columns:1fr!important;gap:10px}
  .home-hero h1,.home-original-hero h1{font-size:24px!important}
  .home-stat-grid,.dash-kpi,.dashboard-kpi,.home-kpi-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .home-card,.dash-card,.dashboard-card{min-width:0}
}
@media (max-width: 640px){
  .home-stat-grid,.dash-kpi,.dashboard-kpi,.home-kpi-grid{grid-template-columns:1fr!important}
  .home-hero h1,.home-original-hero h1{font-size:21px!important}
}

/* Print remains desktop-like */
@media print{
  .mobile-menu-toggle,.mobile-sidebar-backdrop{display:none!important}
  .sidebar.explorer-pane{position:static!important;transform:none!important}
}


/* =========================================================
   Beta 2.6.1 - Mobile Ribbon / Main Menu Hotfix
   Obiettivo: eliminare spazio grigio, voci schiacciate e gestione desktop su mobile
   ========================================================= */

@media (max-width: 900px){
  /* La catena titlebar > tabs > ribbon deve essere compatta e continua */
  .cls-titlebar{
    min-height:52px!important;
    height:52px!important;
    padding:6px 8px!important;
  }

  .ribbon-tabs{
    top:52px!important;
    height:38px!important;
    min-height:38px!important;
    display:flex!important;
    align-items:stretch!important;
    background:linear-gradient(#edf1f4,#d9e0e6)!important;
    border-bottom:1px solid #aeb8c3!important;
    padding:0 6px!important;
    gap:4px!important;
  }

  .ribbon-tab{
    height:38px!important;
    min-height:38px!important;
    line-height:38px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:6px 6px 0 0!important;
    font-size:13px!important;
    font-weight:600!important;
    flex:0 0 auto!important;
    min-width:auto!important;
  }

  .ribbon-tab.active{
    background:#fff!important;
    border:1px solid #aeb8c3!important;
    border-bottom-color:#fff!important;
    color:#1e3548!important;
  }

  .ribbonbar{
    top:90px!important;
    min-height:78px!important;
    height:auto!important;
    padding:0!important;
    background:#fff!important;
    border-top:0!important;
    border-bottom:1px solid #b9c3cc!important;
    box-shadow:0 3px 9px rgba(0,0,0,.08)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
  }

  .ribbon-panel{
    min-height:78px!important;
  }

  .ribbon-panel.active{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:4px!important;
    min-width:max-content!important;
    padding:5px 7px!important;
  }

  .ribbon-group{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    border-right:1px solid #d7dee5!important;
    padding:0 6px 0 0!important;
    margin:0!important;
    min-width:auto!important;
    max-width:none!important;
  }

  .ribbon-group:last-child{
    border-right:0!important;
  }

  .ribbon-buttons{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    align-items:stretch!important;
    min-height:68px!important;
  }

  .ribbon-label{
    display:none!important;
  }

  .ribbon-btn{
    flex:0 0 82px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
    padding:5px 4px 4px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:3px!important;
    border:1px solid transparent!important;
    border-radius:7px!important;
    overflow:hidden!important;
    white-space:normal!important;
    background:transparent!important;
  }

  .ribbon-btn.active,
  .ribbon-btn:hover{
    background:linear-gradient(#fff8d6,#ffd86d)!important;
    border-color:#d5a717!important;
  }

  .ribbon-btn .ribbon-icon{
    flex:0 0 30px!important;
    width:30px!important;
    height:30px!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
  }

  .ribbon-btn .ribbon-icon .cls-real-icon{
    width:30px!important;
    height:30px!important;
    object-fit:contain!important;
  }

  .ribbon-btn > span:last-child{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    width:100%!important;
    max-width:76px!important;
    min-height:26px!important;
    line-height:1.08!important;
    font-size:10.2px!important;
    font-weight:600!important;
    text-align:center!important;
    color:#26313c!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Elimina lo spazio grigio tra ribbon e categorie/brand */
  .cls-original-brand-strip{
    margin-top:0!important;
    min-height:38px!important;
    height:auto!important;
    padding:5px 8px!important;
    background:linear-gradient(#f8f8f8,#e3e3e3)!important;
    border-top:0!important;
    border-bottom:1px solid #c4ccd4!important;
  }

  .app-shell{
    margin-top:0!important;
  }

  .main.desktop-main,
  .content.workspace{
    margin-top:0!important;
  }

  /* I top sticky interni devono partire sotto una barra mobile più compatta */
  .ddt-page-form .ddt-topbar,
  .ddt-form-topbar,
  .ricetta-form-topbar,
  .business-form-topbar{
    top:166px!important;
  }
}

@media (max-width: 640px){
  .cls-titlebar{
    min-height:50px!important;
    height:50px!important;
  }

  .ribbon-tabs{
    top:50px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 5px!important;
  }

  .ribbon-tab{
    height:36px!important;
    line-height:36px!important;
    padding:0 12px!important;
    font-size:12.5px!important;
  }

  .ribbonbar{
    top:86px!important;
    min-height:74px!important;
  }

  .ribbon-panel.active{
    min-height:74px!important;
    padding:4px 6px!important;
    gap:3px!important;
  }

  .ribbon-group{
    padding-right:5px!important;
  }

  .ribbon-buttons{
    min-height:66px!important;
    gap:4px!important;
  }

  .ribbon-btn{
    flex-basis:78px!important;
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
    height:66px!important;
    min-height:66px!important;
    padding:4px 3px!important;
  }

  .ribbon-btn .ribbon-icon,
  .ribbon-btn .ribbon-icon .cls-real-icon{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }

  .ribbon-btn > span:last-child{
    max-width:72px!important;
    min-height:25px!important;
    font-size:9.8px!important;
    line-height:1.08!important;
  }

  .cls-original-brand-strip{
    min-height:34px!important;
    padding:4px 7px!important;
  }

  .ddt-page-form .ddt-topbar,
  .ddt-form-topbar,
  .ricetta-form-topbar,
  .business-form-topbar{
    top:156px!important;
  }
}

@media (max-width: 420px){
  .ribbon-btn{
    flex-basis:74px!important;
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
  }

  .ribbon-btn > span:last-child{
    max-width:68px!important;
    font-size:9.4px!important;
  }

  .ribbon-tab{
    padding:0 10px!important;
  }
}


/* =========================================================
   Beta 2.6.2 - Mobile Ribbon Rebuild definitivo
   Fix screenshot: rimuove fascia grigia, elimina layout desktop, compatta ribbon
   ========================================================= */

@media (max-width: 900px){
  /* Variabili altezza reali mobile */
  body.desktop-ui{
    --m-titlebar-h:52px;
    --m-tabs-h:38px;
    --m-ribbon-h:86px;
    --m-brand-h:42px;
  }

  .window-frame{
    min-width:0!important;
    width:100%!important;
  }

  .cls-titlebar{
    height:var(--m-titlebar-h)!important;
    min-height:var(--m-titlebar-h)!important;
    max-height:var(--m-titlebar-h)!important;
    padding:6px 8px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  /* Tab categorie immediatamente sotto la titlebar */
  .ribbon-tabs{
    position:sticky!important;
    top:var(--m-titlebar-h)!important;
    z-index:1180!important;
    height:var(--m-tabs-h)!important;
    min-height:var(--m-tabs-h)!important;
    max-height:var(--m-tabs-h)!important;
    display:flex!important;
    align-items:flex-end!important;
    gap:0!important;
    padding:0 8px!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    background:#e6edf3!important;
    border-top:1px solid #c5d0da!important;
    border-bottom:1px solid #b2bec9!important;
    box-sizing:border-box!important;
  }

  .ribbon-tab{
    height:var(--m-tabs-h)!important;
    min-height:var(--m-tabs-h)!important;
    max-height:var(--m-tabs-h)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 16px!important;
    margin:0!important;
    border-radius:7px 7px 0 0!important;
    border:1px solid transparent!important;
    border-bottom:0!important;
    line-height:1!important;
    font-size:13px!important;
    color:#26313c!important;
    flex:0 0 auto!important;
    background:transparent!important;
  }

  .ribbon-tab.active{
    background:#fff!important;
    border-color:#aeb8c3!important;
    color:#18384f!important;
    box-shadow:none!important;
  }

  /* Ribbon: niente più altezza desktop e niente allineamento basso */
  nav.ribbonbar,
  .ribbonbar{
    position:sticky!important;
    top:calc(var(--m-titlebar-h) + var(--m-tabs-h))!important;
    z-index:1170!important;
    height:var(--m-ribbon-h)!important;
    min-height:var(--m-ribbon-h)!important;
    max-height:var(--m-ribbon-h)!important;
    display:block!important;
    align-items:initial!important;
    padding:0!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    background:#fff!important;
    border-top:0!important;
    border-bottom:1px solid #b8c3cc!important;
    box-shadow:0 2px 7px rgba(0,0,0,.12)!important;
    box-sizing:border-box!important;
    -webkit-overflow-scrolling:touch!important;
  }

  nav.ribbonbar::before,
  nav.ribbonbar::after,
  .ribbonbar::before,
  .ribbonbar::after{
    display:none!important;
    content:none!important;
  }

  .ribbon-panel{
    height:var(--m-ribbon-h)!important;
    min-height:var(--m-ribbon-h)!important;
    max-height:var(--m-ribbon-h)!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }

  .ribbon-panel:not(.active){
    display:none!important;
  }

  .ribbon-panel.active{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:0!important;
    height:var(--m-ribbon-h)!important;
    min-height:var(--m-ribbon-h)!important;
    max-height:var(--m-ribbon-h)!important;
    padding:5px 8px!important;
    margin:0!important;
    background:#fff!important;
    box-sizing:border-box!important;
    min-width:max-content!important;
  }

  .ribbon-group{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    padding:0 8px 0 0!important;
    margin:0 8px 0 0!important;
    border:0!important;
    border-right:1px solid #d7dde3!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    min-width:auto!important;
    max-width:none!important;
    overflow:visible!important;
  }

  .ribbon-group:last-child{
    border-right:0!important;
    margin-right:0!important;
  }

  .ribbon-buttons{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:6px!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    overflow:visible!important;
  }

  .ribbon-label{
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }

  .ribbon-btn{
    position:relative!important;
    flex:0 0 92px!important;
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    padding:6px 5px!important;
    margin:0!important;
    border:1px solid transparent!important;
    border-radius:8px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    background:transparent!important;
    color:#283746!important;
    text-decoration:none!important;
    white-space:normal!important;
  }

  .ribbon-btn.active,
  .ribbon-btn:hover{
    background:linear-gradient(#fff9da,#ffdc75)!important;
    border-color:#d2a51a!important;
    color:#1d2b38!important;
  }

  .ribbon-btn .ribbon-icon{
    flex:0 0 32px!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }

  .ribbon-btn .ribbon-icon img,
  .ribbon-btn .ribbon-icon svg,
  .ribbon-btn .ribbon-icon .cls-real-icon{
    width:32px!important;
    height:32px!important;
    max-width:32px!important;
    max-height:32px!important;
    object-fit:contain!important;
    display:block!important;
  }

  .ribbon-btn > span:last-child{
    flex:0 0 auto!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    width:100%!important;
    max-width:82px!important;
    min-height:24px!important;
    max-height:25px!important;
    margin:0!important;
    padding:0!important;
    line-height:1.08!important;
    font-size:10.8px!important;
    font-weight:600!important;
    text-align:center!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  /* Brand strip subito dopo ribbon: nessun blocco grigio intermedio */
  .cls-original-brand-strip{
    margin:0!important;
    height:auto!important;
    min-height:var(--m-brand-h)!important;
    padding:7px 10px!important;
    background:linear-gradient(#f9f9f9,#e5e5e5)!important;
    border-top:0!important;
    border-bottom:1px solid #c5cdd5!important;
    box-sizing:border-box!important;
  }

  .app-shell,
  .main.desktop-main,
  .content.workspace{
    margin-top:0!important;
  }

  /* Sticky interni riallineati al nuovo header mobile: 52+38+86+42 = 218 */
  .ddt-page-form .ddt-topbar,
  .ddt-form-topbar,
  .ricetta-form-topbar,
  .business-form-topbar{
    top:218px!important;
  }
}

@media (max-width: 640px){
  body.desktop-ui{
    --m-titlebar-h:50px;
    --m-tabs-h:36px;
    --m-ribbon-h:82px;
    --m-brand-h:38px;
  }

  .ribbon-tabs{
    padding:0 6px!important;
  }

  .ribbon-tab{
    padding:0 13px!important;
    font-size:12.5px!important;
  }

  .ribbon-panel.active{
    padding:5px 6px!important;
  }

  .ribbon-group{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    padding-right:6px!important;
    margin-right:6px!important;
  }

  .ribbon-buttons{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    gap:5px!important;
  }

  .ribbon-btn{
    flex-basis:86px!important;
    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    padding:5px 4px!important;
  }

  .ribbon-btn .ribbon-icon,
  .ribbon-btn .ribbon-icon img,
  .ribbon-btn .ribbon-icon svg,
  .ribbon-btn .ribbon-icon .cls-real-icon{
    width:30px!important;
    height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
    flex-basis:30px!important;
  }

  .ribbon-btn > span:last-child{
    max-width:78px!important;
    font-size:10.2px!important;
    max-height:24px!important;
  }

  .cls-original-brand-strip{
    padding:5px 8px!important;
  }

  /* 50+36+82+38 = 206 */
  .ddt-page-form .ddt-topbar,
  .ddt-form-topbar,
  .ricetta-form-topbar,
  .business-form-topbar{
    top:206px!important;
  }
}

@media (max-width: 420px){
  .ribbon-btn{
    flex-basis:82px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }

  .ribbon-btn > span:last-child{
    max-width:74px!important;
    font-size:9.8px!important;
  }

  .ribbon-tab{
    padding:0 11px!important;
  }
}


/* =========================================================
   Beta 2.6.3 - Mobile Toggle + Modal Layer Hotfix
   Fix screenshot: hamburger full-height e modal sopra ribbon/menu
   ========================================================= */

@media (max-width: 900px){
  /* Hamburger: non più piccolo bottone, ma blocco alto quanto la titlebar */
  .cls-titlebar{
    padding:0 8px 0 0!important;
    align-items:stretch!important;
  }

  .mobile-menu-toggle{
    display:grid!important;
    place-items:center!important;
    align-self:stretch!important;
    flex:0 0 60px!important;
    width:60px!important;
    min-width:60px!important;
    height:var(--m-titlebar-h,52px)!important;
    min-height:var(--m-titlebar-h,52px)!important;
    max-height:var(--m-titlebar-h,52px)!important;
    margin:0 10px 0 0!important;
    border:0!important;
    border-right:1px solid rgba(255,255,255,.34)!important;
    border-radius:0!important;
    background:rgba(255,255,255,.16)!important;
    color:#fff!important;
    font-size:25px!important;
    line-height:1!important;
    box-shadow:inset -1px 0 rgba(0,0,0,.08)!important;
  }

  .mobile-menu-toggle:hover,
  .mobile-menu-toggle:active{
    background:rgba(255,255,255,.25)!important;
  }

  .titlebar-left{
    align-self:center!important;
  }

  .titlebar-right{
    align-self:center!important;
  }

  /* Sidebar mobile: parte subito sotto la titlebar web, non a metà pagina */
  .sidebar.explorer-pane{
    top:var(--m-titlebar-h,52px)!important;
    bottom:0!important;
    height:calc(100vh - var(--m-titlebar-h,52px))!important;
    z-index:5200!important;
  }

  .mobile-sidebar-backdrop{
    top:var(--m-titlebar-h,52px)!important;
    height:calc(100vh - var(--m-titlebar-h,52px))!important;
    z-index:5100!important;
  }

  /* Modal: sempre sopra titlebar/ribbon/sidebar, mai sotto il menu principale */
  .modal{
    position:fixed!important;
    inset:0!important;
    z-index:7000!important;
    padding:12px!important;
    margin:0!important;
    align-items:flex-start!important;
    justify-content:center!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:rgba(33,43,54,.62)!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .modal.show{
    display:flex!important;
  }

  .modal-dialog{
    position:relative!important;
    z-index:7010!important;
    width:min(100%, 720px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:none!important;
    margin:12px auto 28px!important;
    border-radius:14px!important;
    overflow:visible!important;
    box-shadow:0 22px 55px rgba(0,0,0,.36)!important;
  }

  .modal-dialog.extra-large,
  .modal-dialog.preview-dialog,
  .modal-dialog.bg-dialog{
    width:min(100%, 980px)!important;
  }

  .modal-content{
    position:relative!important;
    z-index:7020!important;
    max-height:none!important;
    overflow:visible!important;
    border-radius:14px!important;
  }

  .modal-header,
  .modal-head{
    position:sticky!important;
    top:0!important;
    z-index:7030!important;
    background:#fff!important;
    border-radius:14px 14px 0 0!important;
  }

  .modal-footer{
    position:sticky!important;
    bottom:0!important;
    z-index:7030!important;
    background:#fff!important;
    border-radius:0 0 14px 14px!important;
  }

  /* Se si apre un modal, il drawer mobile non deve visivamente competere */
  body.mobile-sidebar-open .modal{
    z-index:8000!important;
  }

  /* Form dentro modal: più respiro su touch */
  .modal .form-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .modal .form-control{
    min-height:40px!important;
  }

  .modal textarea.form-control{
    min-height:112px!important;
  }
}

@media (max-width: 640px){
  .mobile-menu-toggle{
    flex-basis:56px!important;
    width:56px!important;
    min-width:56px!important;
    height:var(--m-titlebar-h,50px)!important;
    min-height:var(--m-titlebar-h,50px)!important;
    max-height:var(--m-titlebar-h,50px)!important;
    margin-right:8px!important;
    font-size:23px!important;
  }

  .modal{
    padding:8px!important;
  }

  .modal-dialog{
    width:100%!important;
    max-width:calc(100vw - 16px)!important;
    margin:8px auto 22px!important;
    border-radius:12px!important;
  }

  .modal-content{
    border-radius:12px!important;
  }

  .modal-header,
  .modal-head{
    border-radius:12px 12px 0 0!important;
  }

  .modal-footer{
    border-radius:0 0 12px 12px!important;
    display:flex!important;
    gap:8px!important;
  }

  .modal-footer .btn,
  .modal-footer button{
    flex:1 1 auto!important;
  }
}


/* =========================================================
   Beta 2.6.4 - Mobile Drawer Full Height Hotfix
   Fix screenshot: menu "Archivio moduli" alto fino al fondo viewport
   ========================================================= */

@media (max-width: 900px){
  body.mobile-sidebar-open{
    overflow:hidden!important;
  }

  .sidebar.explorer-pane{
    position:fixed!important;
    left:0!important;
    top:var(--m-titlebar-h,52px)!important;
    bottom:0!important;
    height:calc(100dvh - var(--m-titlebar-h,52px))!important;
    min-height:calc(100dvh - var(--m-titlebar-h,52px))!important;
    max-height:calc(100dvh - var(--m-titlebar-h,52px))!important;
    width:min(84vw,412px)!important;
    max-width:412px!important;
    transform:translateX(-104%)!important;
    z-index:5200!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    background:linear-gradient(180deg,#edf8fb 0%,#e8f4f7 45%,#dfeef3 100%)!important;
    border-right:1px solid #98a8b7!important;
    box-shadow:16px 0 40px rgba(0,0,0,.30)!important;
  }

  body.mobile-sidebar-open .sidebar.explorer-pane{
    transform:translateX(0)!important;
  }

  .sidebar.explorer-pane .brand{
    flex:0 0 auto!important;
    position:relative!important;
    top:auto!important;
    z-index:2!important;
    margin:0!important;
    padding:14px 18px 12px!important;
    background:rgba(239,249,252,.96)!important;
    border-bottom:1px solid #c9d7df!important;
  }

  .sidebar.explorer-pane nav{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px 14px 28px!important;
    background:transparent!important;
  }

  .sidebar.explorer-pane .navtitle{
    position:relative!important;
    top:auto!important;
    margin:12px 0 7px!important;
    padding:6px 10px!important;
    background:rgba(255,255,255,.68)!important;
    border-radius:6px!important;
  }

  .sidebar.explorer-pane .navitem{
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    padding:9px 10px!important;
    border-radius:8px!important;
    margin-bottom:4px!important;
  }

  .sidebar.explorer-pane .navitem span:first-child{
    flex:0 0 34px!important;
    width:34px!important;
    display:grid!important;
    place-items:center!important;
  }

  .mobile-sidebar-backdrop{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:var(--m-titlebar-h,52px)!important;
    bottom:0!important;
    height:calc(100dvh - var(--m-titlebar-h,52px))!important;
    z-index:5100!important;
  }
}

/* fallback per WebView che non supportano dvh */
@supports not (height: 100dvh){
  @media (max-width: 900px){
    .sidebar.explorer-pane{
      height:calc(100vh - var(--m-titlebar-h,52px))!important;
      min-height:calc(100vh - var(--m-titlebar-h,52px))!important;
      max-height:calc(100vh - var(--m-titlebar-h,52px))!important;
    }
    .mobile-sidebar-backdrop{
      height:calc(100vh - var(--m-titlebar-h,52px))!important;
    }
  }
}

@media (max-width: 640px){
  .sidebar.explorer-pane{
    width:min(88vw,390px)!important;
    max-width:390px!important;
    top:var(--m-titlebar-h,50px)!important;
    height:calc(100dvh - var(--m-titlebar-h,50px))!important;
    min-height:calc(100dvh - var(--m-titlebar-h,50px))!important;
    max-height:calc(100dvh - var(--m-titlebar-h,50px))!important;
  }

  .mobile-sidebar-backdrop{
    top:var(--m-titlebar-h,50px)!important;
    height:calc(100dvh - var(--m-titlebar-h,50px))!important;
  }

  .sidebar.explorer-pane .brand{
    padding:12px 16px 10px!important;
  }

  .sidebar.explorer-pane nav{
    padding:9px 12px 24px!important;
  }
}

@supports not (height: 100dvh){
  @media (max-width: 640px){
    .sidebar.explorer-pane{
      height:calc(100vh - var(--m-titlebar-h,50px))!important;
      min-height:calc(100vh - var(--m-titlebar-h,50px))!important;
      max-height:calc(100vh - var(--m-titlebar-h,50px))!important;
    }
    .mobile-sidebar-backdrop{
      height:calc(100vh - var(--m-titlebar-h,50px))!important;
    }
  }
}


/* =========================================================
   Beta 2.6.5 - Mobile Form Gap Hotfix
   Fix screenshot: elimina spazio grigio eccessivo sopra Nuovo DDT
   ========================================================= */

@media (max-width: 900px){
  /* Nei form originali mobile il contenuto deve partire subito sotto la brand strip */
  .content.workspace.workspace-ddt-form,
  .content.workspace.workspace-ricetta-form,
  .content.workspace:has(.business-page-shell){
    padding:0!important;
    margin:0!important;
    min-height:auto!important;
  }

  .ddt-page-shell,
  .ddt-original-form,
  .ricetta-page-shell,
  .ricetta-original-form,
  .business-page-shell,
  .business-original-form{
    margin:0!important;
    padding:0!important;
    min-height:0!important;
    background:#7f808d!important;
  }

  .ddt-stage,
  .ddt-form-stage,
  .ricetta-form-stage,
  .business-stage{
    padding:10px 10px 18px!important;
    margin:0!important;
    min-height:0!important;
    align-items:flex-start!important;
  }

  /* Topbar DDT/Ricette/Business: non deve staccarsi e lasciare vuoto sopra */
  .ddt-page-form .ddt-topbar,
  .ddt-form-topbar,
  .ricetta-form-topbar,
  .business-form-topbar{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    margin:0!important;
    z-index:40!important;
    box-shadow:0 2px 8px rgba(0,0,0,.16)!important;
  }

  /* Il foglio deve iniziare subito, senza padding verticale desktop */
  .ddt-paper,
  .ddt-form-paper,
  .ricetta-form-paper,
  .business-paper{
    margin:0!important;
  }

  /* Riduce l'altezza visiva del brand strip quando precede un form */
  .cls-original-brand-strip{
    margin-bottom:0!important;
  }

  /* Evita che il contenuto form venga spinto in basso da vecchi min-height */
  .workspace-ddt-form .ddt-stage,
  .workspace-ricetta-form .ricetta-form-stage{
    min-height:0!important;
  }
}

@media (max-width: 640px){
  .ddt-stage,
  .ddt-form-stage,
  .ricetta-form-stage,
  .business-stage{
    padding:8px 8px 16px!important;
  }

  .ddt-page-form .ddt-topbar,
  .ddt-form-topbar,
  .ricetta-form-topbar,
  .business-form-topbar{
    margin:0!important;
  }
}


/* =========================================================
   Beta 2.6.6 - Mobile Horizontal Overflow Hotfix
   Fix: elimina micro overflow destra/sinistra su dashboard e pagine principali
   ========================================================= */

@media (max-width: 900px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body.desktop-ui,
  .window-frame,
  .app-shell,
  .main.desktop-main,
  .content.workspace{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  .main.desktop-main,
  .content.workspace{
    position:relative!important;
    box-sizing:border-box!important;
  }

  /* Contenitori principali: mai più larghi del viewport */
  .card,
  .toolbar,
  .topbar,
  .module-header,
  .home-original-shell,
  .home-original-grid,
  .home-original-hero,
  .dashboard-shell,
  .dashboard-grid,
  .home-hero,
  .home-stat-grid,
  .dash-kpi,
  .dashboard-kpi,
  .home-kpi-grid,
  .scad-page-shell,
  .system-page-shell,
  .business-page-shell,
  .ddt-page-shell,
  .ricetta-page-shell{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  /* Grid e flex devono potersi restringere */
  .grid,
  .grid.two,
  .grid.three,
  .form-grid,
  .business-grid,
  .ddt-grid,
  .ricetta-grid,
  .scad-layout,
  .system-layout,
  .home-original-grid,
  .dashboard-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .grid > *,
  .form-grid > *,
  .business-grid > *,
  .ddt-grid > *,
  .ricetta-grid > *,
  .home-original-grid > *,
  .dashboard-grid > *,
  .scad-layout > *,
  .system-layout > *{
    min-width:0!important;
    max-width:100%!important;
  }

  /* Testi lunghi: non devono allargare la pagina */
  h1,h2,h3,h4,p,span,strong,b,small,label,
  .module-title-wrap,
  .module-title-wrap > div,
  .toolbar > div,
  .brand,
  .cls-original-brand,
  .titlebar-left,
  .business-form-title,
  .ddt-form-title,
  .ricetta-form-title{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  /* Ribbon e tabelle possono scrollare solo internamente, non spostare tutta pagina */
  .ribbonbar,
  .ribbon-tabs,
  .table-wrap{
    max-width:100vw!important;
    overflow-x:auto!important;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
  }

  .ribbon-panel.active{
    max-width:none!important;
  }

  .table-wrap{
    width:100%!important;
    box-sizing:border-box!important;
  }

  .table-wrap table{
    width:max-content!important;
    max-width:none!important;
  }

  /* Evita che bottoni/actions generino overflow */
  .module-header-actions,
  .top-actions,
  .toolbar .top-actions,
  .row-actions,
  .business-side-actions,
  .scad-actions{
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  .btn,
  button,
  input,
  select,
  textarea,
  .form-control{
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* Dashboard mobile: padding controllato e nessun elemento oltre viewport */
  .home-original-shell,
  .dashboard-shell{
    margin:0!important;
    padding:0!important;
  }

  .home-original-hero,
  .home-hero{
    margin-left:0!important;
    margin-right:0!important;
  }

  .home-original-card,
  .home-card,
  .dash-card,
  .dashboard-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Brand strip: evitare overflow per testo lungo/immagine */
  .cls-original-brand-strip{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .cls-original-brand{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .cls-original-brand strong,
  .cls-original-brand span,
  .cls-original-brand b{
    white-space:nowrap!important;
  }

  .cls-change-bg{
    flex:0 0 auto!important;
    max-width:118px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media (max-width: 640px){
  .content.workspace{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .card{
    margin-left:0!important;
    margin-right:0!important;
  }

  .toolbar,
  .module-header{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .table-wrap{
    margin-left:0!important;
    margin-right:0!important;
  }

  .cls-change-bg{
    max-width:96px!important;
  }
}
