:root{--bg:#0b0d10;--panel:#14171d;--panel2:#1b2028;--text:#f4f5f7;--muted:#9aa3af;--line:#2a303a;--accent:#ffffff;--red:#e03a3e;--green:#20c997;--yellow:#f6c343;--blue:#58a6ff;--shadow:0 18px 50px rgba(0,0,0,.35);--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}a{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:#07080a;border-right:1px solid var(--line);padding:22px;position:fixed;left:0;top:0;bottom:0;overflow:auto}.brand{display:flex;gap:13px;align-items:center;margin-bottom:24px}.brand-mark{width:44px;height:44px;border:1px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:-1px}.brand strong{display:block;font-size:14px;letter-spacing:.08em}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.nav{display:grid;gap:5px}.nav a{display:block;text-decoration:none;color:#c9ced6;padding:11px 12px;border-radius:12px;font-weight:650;font-size:14px}.nav a:hover,.nav a.active{background:var(--panel);color:#fff}.sidebar-footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.sidebar-footer a{color:#fff;text-decoration:none}.main{margin-left:270px;width:calc(100% - 270px);padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.topbar h1{margin:0;font-size:32px;letter-spacing:-.04em}.topbar p{margin:6px 0 0;color:var(--muted)}.quick-search input{width:310px}.content{display:grid;gap:18px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.card{background:linear-gradient(180deg,var(--panel),#11141a);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.card h2{font-size:18px;margin:0}.card p{margin:5px 0 0;color:var(--muted)}.kpi{padding:20px}.kpi strong{display:block;font-size:34px;letter-spacing:-.05em}.kpi span{display:block;color:var(--muted);margin-top:6px}.flash{padding:13px 15px;border-radius:14px;border:1px solid var(--line);background:var(--panel2)}.flash.ok{border-color:rgba(32,201,151,.45)}.flash.err{border-color:rgba(224,58,62,.55)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}th{color:#fff;background:#0f1217;font-size:12px;text-transform:uppercase;letter-spacing:.07em}td{color:#e5e7eb;font-size:14px}tr:last-child td{border-bottom:0}.actions{display:flex;flex-wrap:wrap;gap:8px}.inline{display:inline}.btn,button{appearance:none;border:0;border-radius:12px;padding:10px 13px;background:#fff;color:#0b0d10;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;font-size:14px}.btn:hover,button:hover{filter:brightness(.92)}.btn.secondary{background:var(--panel2);color:#fff;border:1px solid var(--line)}.btn.ghost{background:transparent;color:#fff;border:1px solid var(--line)}.btn.danger,button.danger{color:#fff;border-color:rgba(224,58,62,.45)}.btn.red{background:var(--red);color:#fff}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.field{display:grid;gap:7px;grid-column:span 6}.field.full{grid-column:span 12}.field.third{grid-column:span 4}.field.quarter{grid-column:span 3}.field span{font-size:13px;color:var(--muted);font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);background:#090b0f;color:#fff;border-radius:12px;padding:11px 12px;font-size:14px}textarea{min-height:92px;resize:vertical}.form-actions{display:flex;gap:10px;align-items:center;margin-top:15px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#252a33;color:#e5e7eb;font-weight:800;font-size:12px}.badge.good{background:rgba(32,201,151,.15);color:#74f2cd}.badge.warn{background:rgba(246,195,67,.15);color:#ffe08a}.badge.bad{background:rgba(224,58,62,.15);color:#ff9a9d}.note{color:var(--muted);font-size:13px;line-height:1.45}.print-only{display:none}.split-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.mini-list{display:grid;gap:10px}.mini-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:#10141b}.mini-item strong{display:block}.mini-item small{display:block;color:var(--muted);margin-top:4px}@media(max-width:980px){.sidebar{position:relative;width:100%;height:auto}.app-shell{display:block}.main{margin-left:0;width:100%;padding:18px}.topbar{display:grid}.quick-search input{width:100%}.col-3,.col-4,.col-6,.col-8{grid-column:span 12}.field,.field.third,.field.quarter{grid-column:span 12}}@media print{body{background:#fff;color:#111}.sidebar,.topbar,.no-print,.flash{display:none!important}.main{margin:0;width:100%;padding:0}.card{box-shadow:none;border:0;background:#fff;color:#111}.table-wrap{border:1px solid #ddd}th{background:#f3f4f6;color:#111}td{color:#111;border-color:#ddd}.print-only{display:block}.content{display:block}input,select,textarea{border:0;background:#fff;color:#111}.badge{border:1px solid #ccc;color:#111;background:#fff}}
input[readonly]{opacity:.82;background:#121722;color:#d9dde5;cursor:not-allowed}.field.full input[name="description"]{font-size:15px;padding:13px 14px}.card .table-wrap table td strong{color:#fff}.note span{display:inline}.form-grid .field.full small.note{margin-top:-2px}

.date-cell{white-space:nowrap;min-width:118px}.date-cell strong{font-size:14px;color:#fff}.date-cell .note{font-size:12px}

/* v1.3 - Ordini cliente stile documento con righe multiple */
.document-grid{display:grid;grid-template-columns:1.05fr 1.25fr 1fr;gap:16px;margin-bottom:18px}.doc-panel{border:1px solid var(--line);border-radius:16px;background:#10141b;padding:16px}.doc-panel h3{margin:0 0 14px;font-size:16px;letter-spacing:-.02em}.form-grid.compact{gap:10px}.form-grid.compact .field{grid-column:span 6}.mini-total-box{border-top:1px solid var(--line);margin-top:12px;padding-top:13px}.mini-total-box span,.mini-total-box small{display:block;color:var(--muted)}.mini-total-box strong{display:block;font-size:27px;letter-spacing:-.04em;margin:4px 0}.order-items-section{margin-top:10px;border-top:1px solid var(--line);padding-top:18px}.order-items{display:grid;gap:12px;margin-top:14px}.order-item-row{display:grid;grid-template-columns:28px 90px 160px minmax(280px,2fr) 82px 82px 125px 92px 80px 120px;gap:10px;align-items:end;border:1px solid var(--line);border-radius:16px;background:#0c0f14;padding:13px}.order-item-row .field{grid-column:auto}.item-handle{align-self:center;color:var(--muted);font-size:22px;text-align:center}.order-item-row .field span,.item-total span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}.order-item-row input,.order-item-row textarea{border-radius:10px;padding:10px}.item-name input{min-width:100%;font-weight:750}.item-total{display:grid;gap:7px;align-self:stretch}.item-total strong{display:flex;align-items:center;justify-content:flex-end;height:41px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#111722;font-size:16px}.item-desc{grid-column:4 / span 4}.item-desc textarea{min-height:72px}.item-category{grid-column:8 / span 1}.item-add-bike{grid-column:9 / span 1}.remove-item{grid-column:10;align-self:center;justify-content:center}.order-bottom-grid{display:grid;grid-template-columns:1fr 1fr 300px;gap:16px;align-items:start;margin-top:18px}.order-bottom-grid .field{grid-column:auto}.order-summary-box{border:1px solid var(--line);border-radius:16px;background:#10141b;padding:16px;display:grid;gap:10px}.order-summary-box div{display:flex;justify-content:space-between;gap:16px;color:var(--muted)}.order-summary-box strong{color:#fff}.order-summary-box .grand{border-top:1px solid var(--line);padding-top:12px;font-size:19px;color:#fff}.order-summary-box .grand strong{font-size:25px}.document-items th.qty,.document-items td.qty{text-align:center;white-space:nowrap}.document-items th.amount,.document-items td.amount{width:95px}@media(max-width:1280px){.document-grid{grid-template-columns:1fr}.order-item-row{grid-template-columns:28px 90px 160px minmax(260px,1fr) 82px 82px 125px 92px 80px 120px}.order-bottom-grid{grid-template-columns:1fr}.order-summary-box{max-width:none}}@media(max-width:980px){.order-item-row{grid-template-columns:1fr}.item-handle{display:none}.order-item-row .field,.item-desc,.item-category,.remove-item{grid-column:auto}.item-total strong{justify-content:flex-start}.document-grid{grid-template-columns:1fr}}

/* v1.4 - loghi ufficiali e acconti ordine */
.brand-logo{width:42px;height:42px;object-fit:contain;display:block;flex:0 0 42px;background:#fff;border-radius:10px;padding:4px}
.order-payments-section{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
.order-payments{display:flex;flex-direction:column;gap:12px}
.payment-row{display:grid;grid-template-columns:140px 150px 150px 140px minmax(220px,1fr) minmax(220px,1fr) auto;gap:10px;align-items:end;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;padding:14px}
.payment-row .field{margin:0}.payment-row .remove-payment{white-space:nowrap}
@media(max-width:1100px){.payment-row{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-row .remove-payment{grid-column:1/-1}}

.money-input{text-align:right}.item-add-bike select{min-width:120px}

/* v1.6 - Corrispettivi e magazzino biciclette */
.filter-row{display:grid;grid-template-columns:1fr 220px auto auto;gap:10px;align-items:center;margin-bottom:14px}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.summary-strip div{background:#0d1117;border:1px solid var(--line);border-radius:14px;padding:12px}.summary-strip span{display:block;color:var(--muted);font-size:12px;font-weight:800}.summary-strip strong{display:block;font-size:18px;margin-top:4px}.month-form{display:flex;gap:8px;align-items:center}.month-form input{width:150px}tfoot th{border-top:1px solid var(--line);background:#111722}.card .table-wrap table tfoot th{color:#fff}.field input[name="product_name"]{font-weight:750}.field input[name="bike_color"],.field input[name="serial_number"]{min-width:0}@media(max-width:980px){.filter-row{grid-template-columns:1fr}.summary-strip{grid-template-columns:1fr 1fr}.month-form{width:100%;display:grid;grid-template-columns:1fr auto}.month-form input{width:100%}}

/* v1.7 - Contabilità separata e WhatsApp */
.btn.whatsapp{background:#25D366;color:#05150b;border:0}
.btn.disabled{opacity:.45;pointer-events:none;cursor:not-allowed}
.accounting-dashboard .private-summary strong{font-size:24px}.secondary-summary strong{font-size:19px}.nav a[href$="contabilita.php"]{border:1px solid rgba(255,255,255,.08)}
@media(max-width:980px){.accounting-dashboard .summary-strip{grid-template-columns:1fr}}

/* v1.7.1 - paginazione elenco clienti */
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;flex-wrap:wrap}.muted-small{font-size:13px;color:var(--muted)}.per-page-form label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.per-page-form select{width:auto;min-width:84px;padding:9px 11px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}.pagination span{color:var(--muted);font-weight:700;padding:0 8px}.btn.disabled{opacity:.35;pointer-events:none}

/* v1.8 - Dashboard più larga, KPI cliccabili, DDT */
.kpi-link{text-decoration:none;transition:transform .15s ease,border-color .15s ease,filter .15s ease}.kpi-link:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.28);filter:brightness(1.08)}.quick-actions-card .card-head{margin-bottom:12px}.quick-actions-row{display:flex;flex-wrap:wrap;gap:10px}.quick-actions-row .btn{white-space:nowrap}.ddt-items{display:grid;gap:12px;margin-top:12px}.ddt-item-row{display:grid;grid-template-columns:110px minmax(280px,2fr) 170px 90px 90px minmax(180px,1fr) auto;gap:10px;align-items:end;border:1px solid var(--line);border-radius:16px;background:#0c0f14;padding:13px}.ddt-item-row .field{grid-column:auto}.ddt-item-row .field span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}.ddt-item-row textarea{min-height:52px}.label-preview{border:1px dashed var(--line);border-radius:16px;padding:14px;background:#0d1117}.label-preview strong{display:block;margin-bottom:4px}.kpi-link small{display:block;color:var(--muted);font-size:12px;margin-top:2px}@media(max-width:1200px){.ddt-item-row{grid-template-columns:1fr 1fr}.ddt-item-row .field{grid-column:auto}.ddt-item-row .remove-ddt-item{grid-column:1/-1}}@media(max-width:980px){.quick-actions-row{display:grid;grid-template-columns:1fr}.ddt-item-row{grid-template-columns:1fr}}

/* v1.8.1 - Ricerca cliente DDT precisa con compilazione dati */
.customer-lookup{position:relative}.customer-results{display:none;position:absolute;left:0;right:0;top:74px;z-index:30;background:#080b10;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);max-height:360px;overflow:auto;padding:6px}.customer-results.open{display:block}.customer-result{width:100%;text-align:left;background:transparent;color:#fff;border:0;border-radius:12px;padding:11px 12px;display:block;cursor:pointer}.customer-result:hover{background:#171c24;filter:none}.customer-result strong{display:block;font-size:14px}.customer-result small{display:block;color:var(--muted);font-weight:600;margin-top:4px;line-height:1.35}.customer-result.muted{color:var(--muted);cursor:default}.customer-result.muted:hover{background:transparent}


/* v1.9 */
.badge.info{background:#e9f1ff;color:#174ea6;border:1px solid #bfd4ff}
.badge.bad{background:#ffecec;color:#b42318;border:1px solid #ffc5c5}
.badge.warn{background:#fff7db;color:#7a4c00;border:1px solid #f4d37b}
.badge.good{background:#e8f7ec;color:#116329;border:1px solid #b8e4c3}
.today-board .today-section{margin-bottom:18px}
.today-board .today-section h3{margin:0 0 10px 0}
.document-number{font-weight:700;white-space:nowrap}
.shop-bike-status{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.password-note{font-size:12px;color:var(--muted)}
.tradein-box{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}
.trade-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.compact-table table{font-size:13px}

.attachments-box { border:1px solid var(--line); border-radius:16px; padding:14px; background:rgba(255,255,255,.02); }
input[type=file] { width:100%; color:var(--text); border:1px dashed var(--line); border-radius:14px; padding:14px; background:rgba(255,255,255,.03); }
.nav a:nth-child(13) { margin-top:8px; }

/* v1.13 - creazione rapida cliente/bici da intervento */
.inline-create-box{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;background:rgba(255,255,255,.025)}
.checkline{display:flex;align-items:center;gap:10px;margin:0;font-weight:800;color:#fff;cursor:pointer}
.checkline input{width:auto;min-width:18px;height:18px}
.checkline span{color:#fff;font-size:14px}
.nested-fields{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.form-grid.compact .field.third{grid-column:span 4}
@media(max-width:980px){.form-grid.compact .field.third{grid-column:span 12}}

/* v1.14 - officina: oggetti non bici e cambio stato rapido */
.inline-status{display:inline-block;margin:0}
.status-select{min-width:170px;padding:9px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font-weight:800;cursor:pointer}
.status-select:hover{border-color:rgba(255,255,255,.35)}
#bikeFieldsBox{padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}

/* v1.15 - stati colorati per interventi/ordini e WhatsApp */
.badge.status-badge{border:1px solid transparent;font-weight:900;letter-spacing:.01em;white-space:nowrap}
.status-badge.status-red,.status-select.status-red{background:rgba(224,58,62,.18)!important;color:#ff9a9d!important;border-color:rgba(224,58,62,.55)!important}
.status-badge.status-yellow,.status-select.status-yellow{background:rgba(246,195,67,.18)!important;color:#ffe08a!important;border-color:rgba(246,195,67,.55)!important}
.status-badge.status-blue,.status-select.status-blue{background:rgba(88,166,255,.18)!important;color:#9dccff!important;border-color:rgba(88,166,255,.55)!important}
.status-badge.status-green,.status-select.status-green{background:rgba(32,201,151,.18)!important;color:#74f2cd!important;border-color:rgba(32,201,151,.55)!important}
.status-badge.status-neutral,.status-select.status-neutral{background:rgba(154,163,175,.16)!important;color:#d1d5db!important;border-color:rgba(154,163,175,.45)!important}
.status-select{font-weight:900;transition:background .15s ease,border-color .15s ease,color .15s ease;max-width:230px}
.status-select option{background:#11141a;color:#fff}
.status-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.status-legend .badge{font-size:11px}
@media print{.status-badge,.status-select{border:1px solid #bbb!important;color:#111!important;background:#fff!important}}

/* v1.16 - Schede nuovo intervento / nuovo ordine a tutta larghezza */
.workshop-editor .form-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:start;
}
.workshop-editor .customer-lookup,
.workshop-editor .inline-create-box,
.workshop-editor #bikeFieldsBox{
  grid-column:span 12;
}
.workshop-editor .field:not(.full):not(.third):not(.quarter){
  grid-column:span 4;
}
.workshop-editor .field.third{
  grid-column:span 3;
}
.workshop-editor .field.full{
  grid-column:span 12;
}
.workshop-editor textarea{
  min-height:118px;
}
.workshop-editor .nested-fields .field:not(.full):not(.third):not(.quarter){
  grid-column:span 4;
}
.workshop-editor .nested-fields .field.full{
  grid-column:span 12;
}
.workshop-editor .nested-fields .field.third{
  grid-column:span 4;
}
.order-editor{
  max-width:none;
}
.order-editor .document-grid{
  grid-template-columns:1.15fr 1.15fr .9fr;
}
.order-editor .doc-panel{
  min-width:0;
}
.order-editor .order-items-section,
.order-editor .order-payments-section,
.order-editor .order-bottom-grid{
  width:100%;
}
.order-editor .order-item-row{
  grid-template-columns:28px 100px 170px minmax(320px,2fr) 90px 85px 135px 90px 80px 130px;
}
.order-editor .payment-row{
  grid-template-columns:150px 160px 170px 140px minmax(180px,1fr) minmax(220px,1.2fr) auto;
}
.order-editor .order-bottom-grid{
  grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) minmax(300px,380px);
}
@media(max-width:1280px){
  .workshop-editor .field:not(.full):not(.third):not(.quarter),
  .workshop-editor .field.third,
  .workshop-editor .nested-fields .field:not(.full):not(.third):not(.quarter),
  .workshop-editor .nested-fields .field.third{
    grid-column:span 6;
  }
  .order-editor .document-grid,
  .order-editor .order-bottom-grid{
    grid-template-columns:1fr;
  }
  .order-editor .order-item-row{
    grid-template-columns:28px 110px 180px minmax(260px,1fr) 90px 85px 130px 90px 80px 120px;
    overflow-x:auto;
  }
  .order-editor .payment-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .order-editor .payment-row .remove-payment{
    grid-column:1/-1;
  }
}
@media(max-width:980px){
  .workshop-editor .field:not(.full):not(.third):not(.quarter),
  .workshop-editor .field.third,
  .workshop-editor .field.quarter,
  .workshop-editor .nested-fields .field:not(.full):not(.third):not(.quarter),
  .workshop-editor .nested-fields .field.third{
    grid-column:span 12;
  }
  .order-editor .document-grid,
  .order-editor .order-item-row,
  .order-editor .payment-row,
  .order-editor .order-bottom-grid{
    grid-template-columns:1fr;
  }
}


/* v1.18 - Tema chiaro/scuro selezionabile da Admin */
body.theme-dark{
  color-scheme:dark;
}
body.theme-light{
  color-scheme:light;
  --bg:#f3f5f8;
  --panel:#ffffff;
  --panel2:#f7f8fb;
  --text:#111827;
  --muted:#667085;
  --line:#d8dee8;
  --accent:#111827;
  --shadow:0 14px 34px rgba(16,24,40,.08);
}
body.theme-light{background:var(--bg);color:var(--text)}
body.theme-light .sidebar{background:#ffffff;border-right:1px solid var(--line)}
body.theme-light .brand strong,body.theme-light .topbar h1,body.theme-light .card h2,body.theme-light .card h3,body.theme-light .split-title strong,body.theme-light .mini-item strong,body.theme-light .order-summary-box strong,body.theme-light .order-summary-box .grand,body.theme-light .date-cell strong,body.theme-light .card .table-wrap table td strong,body.theme-light .card .table-wrap table tfoot th,body.theme-light .checkline,body.theme-light .checkline span{color:#111827}
body.theme-light .brand small,body.theme-light .topbar p,body.theme-light .card p,body.theme-light .note,body.theme-light .muted,body.theme-light .muted-small,body.theme-light .field span,body.theme-light .mini-item small,body.theme-light .order-summary-box div,body.theme-light .password-note{color:var(--muted)}
body.theme-light .nav a{color:#344054}
body.theme-light .nav a:hover,body.theme-light .nav a.active{background:#111827;color:#ffffff}
body.theme-light .sidebar-footer{border-top-color:var(--line);color:var(--muted)}
body.theme-light .sidebar-footer a{color:#111827}
body.theme-light .brand-logo,body.theme-light .brand-mark{background:#ffffff;border-color:#d8dee8}
body.theme-light .card,body.theme-light .doc-panel,body.theme-light .mini-item,body.theme-light .order-summary-box,body.theme-light .label-preview,body.theme-light .attachments-box,body.theme-light .inline-create-box,body.theme-light #bikeFieldsBox,body.theme-light .tradein-box{background:#ffffff;background-image:none;border-color:var(--line);box-shadow:var(--shadow)}
body.theme-light .card.soft,body.theme-light .order-item-row,body.theme-light .ddt-item-row,body.theme-light .payment-row{background:#f8fafc;border-color:var(--line)}
body.theme-light input,body.theme-light select,body.theme-light textarea{background:#ffffff;color:#111827;border-color:#cfd6e2}
body.theme-light input::placeholder,body.theme-light textarea::placeholder{color:#98a2b3}
body.theme-light input[readonly]{background:#eef2f7;color:#475467}
body.theme-light input[type=file]{background:#f8fafc;color:#111827;border-color:#cfd6e2}
body.theme-light .quick-search input{background:#ffffff;color:#111827}
body.theme-light .table-wrap{border-color:var(--line);background:#ffffff}
body.theme-light table{background:#ffffff}
body.theme-light th{background:#f2f4f7;color:#344054;border-color:var(--line)}
body.theme-light td{color:#111827;border-color:#e4e7ec}
body.theme-light tfoot th{background:#eef2f7;color:#111827}
body.theme-light .btn.secondary,body.theme-light .btn.ghost{background:#ffffff;color:#111827;border:1px solid #cfd6e2}
body.theme-light .btn.danger,body.theme-light button.danger{color:#b42318;border-color:#fda29b}
body.theme-light .flash{background:#ffffff;border-color:var(--line);color:#111827}
body.theme-light .customer-results{background:#ffffff;border-color:#cfd6e2;box-shadow:var(--shadow)}
body.theme-light .customer-result{color:#111827}
body.theme-light .customer-result:hover{background:#f2f4f7}
body.theme-light .customer-result small{color:var(--muted)}
body.theme-light .item-total strong{background:#eef2f7;color:#111827;border-color:#cfd6e2}
body.theme-light .mini-total-box,body.theme-light .order-items-section,body.theme-light .order-payments-section,body.theme-light .nested-fields{border-color:var(--line)}
body.theme-light .kpi-link:hover{border-color:#98a2b3}
body.theme-light .status-select option{background:#ffffff;color:#111827}
body.theme-light .badge{background:#eef2f7;color:#344054}
body.theme-light .status-badge.status-red,body.theme-light .status-select.status-red{background:#fff1f3!important;color:#b42318!important;border-color:#fda29b!important}
body.theme-light .status-badge.status-yellow,body.theme-light .status-select.status-yellow{background:#fffaeb!important;color:#93370d!important;border-color:#fedf89!important}
body.theme-light .status-badge.status-blue,body.theme-light .status-select.status-blue{background:#eff8ff!important;color:#175cd3!important;border-color:#b2ddff!important}
body.theme-light .status-badge.status-green,body.theme-light .status-select.status-green{background:#ecfdf3!important;color:#067647!important;border-color:#abefc6!important}
body.theme-light .status-badge.status-neutral,body.theme-light .status-select.status-neutral{background:#f2f4f7!important;color:#344054!important;border-color:#d0d5dd!important}
body.theme-light .btn.whatsapp{background:#25D366;color:#05150b}
body.theme-light .summary-strip > div{background:#ffffff;border-color:var(--line)}
body.theme-light .document-number{color:#111827}


/* v1.20 - Menu con sottovoci */
.nav-group{margin:6px 0 8px;}
.nav-group-label{padding:10px 12px 6px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;}
.nav-subitems{display:grid;gap:4px;margin-left:8px;border-left:1px solid var(--line);padding-left:8px;}
.nav a.nav-sub{font-size:14px;padding:9px 10px;border-radius:12px;}
.nav-group.open .nav-group-label{color:var(--text);}
.card-head .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.list-only-page .card-head{gap:16px;}

/* v1.24 - Nuovo ordine cliente: layout fluido senza uscire dai lati */
.order-editor .document-grid{
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(260px,.75fr);
}
.order-editor .doc-panel,
.order-editor .order-items-section,
.order-editor .order-payments-section,
.order-editor .order-bottom-grid,
.order-editor .order-items,
.order-editor .order-payments{
  min-width:0;
  max-width:100%;
}
.order-editor .order-item-row{
  grid-template-columns:28px repeat(12,minmax(0,1fr));
  align-items:end;
  overflow:visible;
}
.order-editor .order-item-row .item-handle{grid-column:1;grid-row:1 / span 2;}
.order-editor .order-item-row .item-code{grid-column:2 / span 2;}
.order-editor .order-item-row .item-serial{grid-column:4 / span 3;}
.order-editor .order-item-row .item-name{grid-column:7 / span 5;}
.order-editor .order-item-row .item-qty{grid-column:12 / span 1;}
.order-editor .order-item-row .item-unit{grid-column:13 / span 1;}
.order-editor .order-item-row .item-price{grid-column:2 / span 2;}
.order-editor .order-item-row .item-discount{grid-column:4 / span 1;}
.order-editor .order-item-row .item-vat{grid-column:5 / span 1;}
.order-editor .order-item-row .item-total{grid-column:6 / span 2;}
.order-editor .order-item-row .item-desc{grid-column:8 / span 3;}
.order-editor .order-item-row .item-category{grid-column:11 / span 1;}
.order-editor .order-item-row .item-add-bike{grid-column:12 / span 1;}
.order-editor .order-item-row .remove-item{grid-column:13 / span 1;}
.order-editor .order-item-row input,
.order-editor .order-item-row textarea,
.order-editor .order-item-row select,
.order-editor .payment-row input,
.order-editor .payment-row select{
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
.order-editor .item-add-bike select{min-width:0;}
.order-editor .nested-fields{margin-top:12px;}
.order-editor .nested-fields .form-grid.compact{grid-template-columns:repeat(12,minmax(0,1fr));}
.order-editor .nested-fields .field:not(.full):not(.third){grid-column:span 4;}
.order-editor .nested-fields .field.full{grid-column:span 12;}
.order-editor .nested-fields .field.third{grid-column:span 4;}
@media(max-width:1500px){
  .order-editor .document-grid{grid-template-columns:1fr;}
  .order-editor .order-item-row{
    grid-template-columns:28px repeat(6,minmax(0,1fr));
  }
  .order-editor .order-item-row .item-handle{grid-column:1;grid-row:1 / span 3;}
  .order-editor .order-item-row .item-code{grid-column:2 / span 1;}
  .order-editor .order-item-row .item-serial{grid-column:3 / span 2;}
  .order-editor .order-item-row .item-name{grid-column:5 / span 3;}
  .order-editor .order-item-row .item-qty{grid-column:2 / span 1;}
  .order-editor .order-item-row .item-unit{grid-column:3 / span 1;}
  .order-editor .order-item-row .item-price{grid-column:4 / span 1;}
  .order-editor .order-item-row .item-discount{grid-column:5 / span 1;}
  .order-editor .order-item-row .item-vat{grid-column:6 / span 1;}
  .order-editor .order-item-row .item-total{grid-column:7 / span 1;}
  .order-editor .order-item-row .item-desc{grid-column:2 / span 3;}
  .order-editor .order-item-row .item-category{grid-column:5 / span 1;}
  .order-editor .order-item-row .item-add-bike{grid-column:6 / span 1;}
  .order-editor .order-item-row .remove-item{grid-column:7 / span 1;}
}
@media(max-width:980px){
  .order-editor .order-item-row,
  .order-editor .payment-row,
  .order-editor .nested-fields .form-grid.compact{
    grid-template-columns:1fr;
  }
  .order-editor .order-item-row .item-handle,
  .order-editor .order-item-row .field,
  .order-editor .order-item-row .item-total,
  .order-editor .order-item-row .remove-item,
  .order-editor .nested-fields .field,
  .order-editor .nested-fields .field.full,
  .order-editor .nested-fields .field.third{
    grid-column:auto;
    grid-row:auto;
  }
  .order-editor .order-item-row .item-handle{display:none;}
}

/* v1.25 - Correzione ordine cliente: pulsanti dentro i margini e Cliente con sottovoci */
.order-editor .payment-row{
  grid-template-columns:repeat(12,minmax(0,1fr));
  max-width:100%;
  min-width:0;
  overflow:visible;
}
.order-editor .payment-row .payment-date{grid-column:1 / span 2;}
.order-editor .payment-row .payment-type{grid-column:3 / span 2;}
.order-editor .payment-row .payment-method{grid-column:5 / span 2;}
.order-editor .payment-row .payment-amount{grid-column:7 / span 2;}
.order-editor .payment-row .payment-reference{grid-column:9 / span 4;}
.order-editor .payment-row .payment-notes{grid-column:1 / span 10;}
.order-editor .payment-row .remove-payment{
  grid-column:11 / span 2;
  justify-content:center;
  width:100%;
  min-width:0;
  align-self:end;
}
.full-width-form{max-width:none;}
.wide-form-grid{grid-template-columns:repeat(12,minmax(0,1fr));}
.wide-form-grid .field.third{grid-column:span 4;}
.wide-form-grid .field.full{grid-column:1/-1;}
@media(max-width:1280px){
  .order-editor .payment-row .payment-date,
  .order-editor .payment-row .payment-type,
  .order-editor .payment-row .payment-method,
  .order-editor .payment-row .payment-amount,
  .order-editor .payment-row .payment-reference,
  .order-editor .payment-row .payment-notes,
  .order-editor .payment-row .remove-payment{
    grid-column:span 6;
  }
}
@media(max-width:760px){
  .order-editor .payment-row{grid-template-columns:1fr;}
  .order-editor .payment-row .payment-date,
  .order-editor .payment-row .payment-type,
  .order-editor .payment-row .payment-method,
  .order-editor .payment-row .payment-amount,
  .order-editor .payment-row .payment-reference,
  .order-editor .payment-row .payment-notes,
  .order-editor .payment-row .remove-payment,
  .wide-form-grid .field.third,
  .wide-form-grid .field.full{
    grid-column:auto;
  }
}

/* v1.31 - backup, log attività, scheda cliente estesa */
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 0}
.stat-card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);padding:14px;min-height:78px}
.stat-card small{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.stat-card strong{display:block;font-size:24px;letter-spacing:-.04em;margin-top:6px;color:var(--text)}
body.theme-light .stat-card{background:#fff;border-color:#e5e7eb}
@media(max-width:980px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.stats-grid{grid-template-columns:1fr}}

/* v1.32 - magazzino commerciale */
.metric-grid.compact { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:16px; }
.metric-grid.compact .metric-card { padding:14px 16px; border:1px solid var(--line); border-radius:16px; background:var(--panel); }
.metric-grid.compact .metric-card small { display:block; color:var(--muted); margin-bottom:4px; }
.metric-grid.compact .metric-card strong { font-size:1.1rem; }
.tag-sheet { max-width:1100px; margin:24px auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.bike-tag { background:#fff; color:#111; border:1px solid #ddd; border-radius:18px; padding:22px; min-height:460px; display:flex; flex-direction:column; page-break-inside:avoid; }
.tag-top { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; border-bottom:2px solid #111; padding-bottom:14px; margin-bottom:16px; }
.tag-top img { max-width:220px; max-height:70px; object-fit:contain; }
.tag-top span { border:1px solid #111; border-radius:999px; padding:6px 12px; font-weight:700; }
.bike-tag h1 { font-size:30px; line-height:1.1; margin:6px 0 12px; text-transform:uppercase; }
.tag-desc { min-height:58px; font-size:15px; color:#333; }
.tag-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; }
.tag-grid div { border:1px solid #ddd; border-radius:12px; padding:10px; }
.tag-grid small { display:block; color:#666; text-transform:uppercase; font-size:11px; margin-bottom:4px; }
.tag-price { margin-top:auto; border-top:1px solid #ddd; padding-top:18px; text-align:right; }
.tag-price small { display:block; color:#666; text-decoration:line-through; }
.tag-price strong { display:block; font-size:42px; line-height:1; }
.tag-price span { display:inline-block; margin-top:8px; background:#111; color:#fff; border-radius:999px; padding:6px 12px; font-weight:700; }
.bike-tag footer { margin-top:16px; border-top:1px solid #eee; padding-top:10px; color:#555; font-size:12px; text-align:center; }
@media (max-width: 900px) { .metric-grid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); } .tag-sheet { grid-template-columns:1fr; } }
@media print { .tag-sheet { max-width:none; margin:0; grid-template-columns:repeat(2,1fr); gap:10mm; } .bike-tag { border:1px solid #999; border-radius:0; min-height:130mm; } }

.archived-readonly-banner{margin-bottom:16px;line-height:1.45}.archived-readonly-fieldset{border:1px dashed var(--line);border-radius:16px;padding:14px;margin:0;opacity:.78}.archived-readonly-fieldset input,.archived-readonly-fieldset select,.archived-readonly-fieldset textarea{cursor:not-allowed}

/* v1.35 - Barcode */
.barcode-inline-panel,
.barcode-scan-form {
    background: rgba(148, 163, 184, .08);
    border: 1px solid rgba(148, 163, 184, .20);
    border-radius: 16px;
    padding: 14px;
    margin-bottom: 14px;
}
.barcode-inline-panel input[type="search"],
.barcode-scan-form input[type="search"] {
    font-size: 18px;
    letter-spacing: .03em;
}
.barcode-scan-status {
    margin-top: 6px;
}
code {
    background: rgba(148, 163, 184, .18);
    border-radius: 6px;
    padding: 2px 6px;
}

/* v1.35.2 - Oggi in negozio: moduli sempre a tutta larghezza per evitare scroll laterale nelle schede */
.today-board .today-section{grid-column:span 12}
.today-board .table-wrap{overflow-x:visible}
.today-board table{min-width:0}
.today-board th,.today-board td{white-space:normal}
@media(max-width:760px){.today-board .table-wrap{overflow-x:auto}.today-board table{min-width:680px}}

/* v1.37 STAMPE PRO - cartellini bici A4 */
@media print {
  @page { size: A4; margin: 10mm; }
  body.print-page { background:#fff !important; color:#111 !important; }
  .print-page .print-actions { display:none !important; }
  .tag-sheet { max-width:none !important; margin:0 !important; grid-template-columns:repeat(2,1fr) !important; gap:8mm !important; }
  .bike-tag { border:1px solid #999 !important; border-radius:0 !important; min-height:132mm !important; page-break-inside:avoid !important; break-inside:avoid !important; }
}

/* v1.39 - CRM clienti */
.crm-page .filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.crm-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.crm-tags.small{gap:5px;margin:0 0 4px}
.crm-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.35);background:rgba(148,163,184,.12);border-radius:999px;padding:5px 10px;font-weight:800;font-size:12px;color:var(--text)}
.crm-tag form{display:inline;margin:0;padding:0}
.crm-tag button{border:0;background:transparent;color:inherit;padding:0 2px;min-height:0;font-size:16px;line-height:1;cursor:pointer}
.crm-tag-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;gap:8px;margin-top:10px;align-items:end}
.crm-timeline{display:flex;flex-direction:column;gap:10px;margin-top:12px;max-height:620px;overflow:auto;padding-right:4px}
.crm-timeline-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.035)}
.crm-timeline-item strong{display:block}
.crm-timeline-item small{display:block;color:var(--muted);margin-top:3px}
.crm-timeline-item p{margin:8px 0 0;color:var(--text);line-height:1.45}
.crm-inline-form{margin-bottom:16px}
.crm-summary-card .crm-mini-list{margin-top:12px}
body.theme-light .crm-tag{background:#f8fafc;border-color:#dbe3ef}
body.theme-light .crm-timeline-item{background:#fff}
@media(max-width:900px){.crm-tag-form{grid-template-columns:1fr}.crm-page .quick-search{width:100%}}


/* v1.39.2 - Leggibilità stampe: totali e box su sfondo chiaro sempre con testo scuro */
@media print {
  .items tfoot th, .items tfoot td,
  table tfoot th, table tfoot td {
    background:#e8edf3 !important;
    color:#111827 !important;
    border-color:#bfc5ce !important;
    font-weight:900 !important;
  }
  .summary-strip > div, .totals-line > div, .bike-summary, .stat-card, .card.soft {
    color:#111827 !important;
  }
  .summary-strip > div *, .totals-line > div *, .bike-summary *, .stat-card *, .card.soft * {
    color:inherit;
  }
  .tag-price span { background:#111827 !important; color:#ffffff !important; }
}

/* v1.40 - Movimenti magazzino */
.movement-plus { color: #047857; }
.movement-minus { color: #b91c1c; }
.theme-dark .movement-plus { color: #86efac; }
.theme-dark .movement-minus { color: #fca5a5; }

/* v1.41 - Consensi privacy / marketing */
.consent-box{border:1px solid var(--line);border-radius:16px;background:rgba(148,163,184,.10);padding:14px;margin:8px 0 2px;grid-column:1/-1}
.consent-box h3{margin:0 0 4px;font-size:15px}
.consent-panel .card-head .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.consent-mini{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;gap:10px;margin-bottom:12px}
.consent-quick-form{border-top:1px solid var(--line);padding-top:12px;margin-top:10px}
.consent-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.consent-inline-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:rgba(148,163,184,.09)}
.consent-inline-box small{color:var(--muted)}
.checkbox-line{display:flex;align-items:center;gap:8px;margin:8px 0;color:var(--text);font-weight:700}
.checkbox-line input{width:auto}
.notice.compact{display:inline-flex;align-items:center;padding:7px 10px;border-radius:10px;font-size:12px;margin:0}
@media(max-width:900px){.consent-mini{grid-template-columns:1fr}.consent-panel .card-head{align-items:flex-start}}

/* v1.41.1 - Link informativa privacy sempre visibile */
.privacy-policy-link a,.consent-inline-box a:not(.btn){font-weight:800;color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.consent-privacy-url{margin-top:6px}
.consent-mini .mini-item a{word-break:break-all}

/* v1.42 Campagne CRM / Email marketing */
.campaign-page textarea[spellcheck="false"]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.45}
.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0}
.danger-text{color:#b91c1c;font-weight:700}
.notice.info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}
.campaign-page code{display:inline-block;background:rgba(148,163,184,.14);padding:2px 6px;border-radius:6px;margin:2px}


/* v1.43 - Centro attività / Scadenze operative */
.activity-center .activity-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.activity-center .activity-filters .btn{white-space:nowrap}
.activity-summary{grid-template-columns:repeat(2,1fr);margin-bottom:0}
.activity-summary a{display:block;text-decoration:none;color:inherit;background:#0d1117;border:1px solid var(--line);border-radius:14px;padding:12px}
.activity-summary a:hover{filter:brightness(1.08)}
.activity-summary span{display:block;color:var(--muted);font-size:12px;font-weight:800}
.activity-summary strong{display:block;font-size:24px;margin-top:4px}
body.theme-light .activity-summary a{background:#f8fafc;border-color:var(--line);color:#111827}
@media(max-width:980px){.activity-summary{grid-template-columns:1fr}}


/* v1.44 - Dashboard commerciale avanzata */
.commercial-dashboard{display:grid;gap:18px;min-width:0}
.commercial-dashboard>.grid{min-width:0}
.commercial-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.commercial-hero h2{font-size:24px;margin:0}
.commercial-period-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0;justify-content:flex-end}
.commercial-period-form select,.commercial-period-form input{width:auto;min-width:145px}
.commercial-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.commercial-metric{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--panel),#10141b);padding:16px 18px;min-height:128px;min-width:0}
.commercial-metric:hover{filter:brightness(1.06)}
.commercial-metric span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.commercial-metric strong{display:block;font-size:29px;letter-spacing:-.045em;margin-top:7px;line-height:1.1;overflow-wrap:anywhere}
.commercial-metric small{display:block;color:var(--muted);margin-top:6px;line-height:1.35}
.metric-delta{margin-top:10px}
.commercial-section{min-width:0}
.commercial-mini-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.commercial-mini-kpis div{border:1px solid var(--line);border-radius:14px;background:rgba(148,163,184,.08);padding:13px;min-width:0}
.commercial-mini-kpis span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.commercial-mini-kpis strong{display:block;font-size:22px;margin-top:5px;overflow-wrap:anywhere}
.commercial-bars{display:grid;gap:12px}
.commercial-bar-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,2fr);gap:18px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(148,163,184,.06);min-width:0}
.commercial-bar-row strong{display:block}.commercial-bar-row small{display:block;color:var(--muted);margin-top:3px}.commercial-bar{height:9px;background:rgba(148,163,184,.20);border-radius:999px;overflow:hidden;margin-top:8px}.commercial-bar span{display:block;height:100%;background:var(--accent);border-radius:999px}
.commercial-trend{display:grid;gap:9px}.trend-month{display:grid;grid-template-columns:92px minmax(0,1fr) 120px;gap:12px;align-items:center}.trend-month span{color:var(--muted);font-weight:800}.trend-month strong{text-align:right}
/* v1.44.1 - layout a tutta riga: nessuna scrollbar orizzontale nei moduli della dashboard commerciale */
.commercial-dashboard .table-wrap{overflow:visible;min-width:0}
.commercial-dashboard .table-wrap table{min-width:0;width:100%;table-layout:auto}
.commercial-dashboard .table-wrap th,.commercial-dashboard .table-wrap td{white-space:normal;overflow-wrap:anywhere;word-break:normal}
.commercial-dashboard .table-wrap td .btn{white-space:nowrap}
body.theme-light .commercial-metric,body.theme-light .commercial-mini-kpis div,body.theme-light .commercial-bar-row{background:#fff;color:#111827}.theme-light .commercial-bar span{background:#111827}
@media(max-width:1280px){.commercial-mini-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-hero{display:grid}.commercial-period-form{justify-content:flex-start}}
@media(max-width:780px){.commercial-metrics-grid,.commercial-mini-kpis{grid-template-columns:1fr}.commercial-bar-row,.trend-month{grid-template-columns:1fr}.trend-month strong{text-align:left}.commercial-period-form select,.commercial-period-form input{width:100%}.commercial-dashboard .table-wrap th,.commercial-dashboard .table-wrap td{padding:10px 8px;font-size:12px}}

/* v1.44.2 - Dashboard commerciale: massimo 2 colonne, sezioni principali sempre a riga intera */
.commercial-dashboard .grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:18px !important;
}
.commercial-dashboard .grid > .card{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
}
.commercial-dashboard .commercial-metrics-grid,
.commercial-dashboard .commercial-mini-kpis{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.commercial-dashboard .commercial-bars,
.commercial-dashboard .commercial-trend{
  grid-template-columns:minmax(0,1fr) !important;
}
@media(max-width:900px){
  .commercial-dashboard .commercial-metrics-grid,
  .commercial-dashboard .commercial-mini-kpis{
    grid-template-columns:minmax(0,1fr) !important;
  }
}
/* v1.45.0 · menu macro-categorie: aspetto sobrio coerente con il menu storico */
.sidebar .nav .nav-group-label{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px 6px!important;
  margin:0;
  border:0!important;
  border-radius:0!important;
  outline:0;
  box-shadow:none!important;
  background:none!important;
  background-color:transparent!important;
  color:var(--muted)!important;
  font-family:inherit;
  font-size:12px!important;
  line-height:1.25;
  font-weight:800;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
  filter:none!important;
}
.sidebar .nav .nav-group-label:hover{background:transparent!important;color:var(--text)!important;filter:none!important}
.sidebar .nav .nav-group.open>.nav-group-label{background:transparent!important;color:var(--text)!important}
.sidebar .nav .nav-group-label:focus-visible{background:transparent!important;color:var(--text)!important;box-shadow:inset 2px 0 0 var(--blue)!important}
.nav-group-label span{color:currentColor;transition:transform .18s ease}.nav-group.open>.nav-group-label span{transform:rotate(180deg)}
.nav-group>.nav-subitems{display:none}
.nav-group.open>.nav-subitems{display:grid}
body.theme-light .sidebar .nav .nav-group-label{background:transparent!important;color:#667085!important}
body.theme-light .sidebar .nav .nav-group-label:hover,body.theme-light .sidebar .nav .nav-group.open>.nav-group-label,body.theme-light .sidebar .nav .nav-group-label:focus-visible{background:transparent!important;color:#111827!important}

/* v1.45.0 · Board Officina Kanban */
.kanban-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.kanban-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;padding:2px 2px 18px;align-items:start;overflow:visible}
.kanban-column{background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);min-width:0;display:flex;flex-direction:column}
.kanban-column>header{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:inherit;z-index:2;border-radius:var(--radius) var(--radius) 0 0}
.kanban-column>header h3{font-size:14px;margin:0}.kanban-count{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:99px;background:rgba(88,166,255,.14);font-weight:700}
.kanban-dropzone{padding:10px;min-height:150px;transition:background .15s}.kanban-dropzone.over{background:rgba(88,166,255,.10)}
.kanban-card{background:linear-gradient(180deg,var(--panel),#11141a);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius);padding:12px;margin-bottom:10px;box-shadow:var(--shadow);cursor:grab}
.kanban-card.is-late{border-left-color:#ef4444}.kanban-card.dragging{opacity:.45}.kanban-card-top,.kanban-dates{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.kanban-card h4{margin:9px 0 3px}.kanban-card p{margin:4px 0}.kanban-card small{display:block;margin-top:4px;color:var(--muted,#94a3b8)}
.kanban-dates{font-size:11px;color:var(--muted,#94a3b8);margin:10px 0 4px}.kanban-amount{font-weight:800;margin:7px 0}.kanban-notes{font-size:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kanban-move-label{display:grid;gap:5px;margin-top:10px}.kanban-move-label>span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.kanban-move-select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);font:inherit;font-size:13px;font-weight:750;cursor:pointer}.kanban-move-select:disabled{opacity:.6;cursor:wait}.kanban-card[aria-busy="true"]{opacity:.72}.kanban-card .kanban-open{margin-top:8px;width:100%;text-align:center}
body.theme-light .kanban-column{background:var(--panel2);border-color:var(--line)}body.theme-light .kanban-card{background:var(--panel);border-color:var(--line);box-shadow:var(--shadow)}body.theme-light .kanban-move-select{background:#fff;color:var(--text);border-color:#cfd6e2}
@media(max-width:1500px){.kanban-board{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.kanban-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kanban-board{grid-template-columns:minmax(0,1fr)}}

/* v1.45.0 · scheda commerciale bici */
.bike-type-panel[hidden]{display:none!important}.bike-commercial-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.bike-commercial-summary>div{padding:12px;border-radius:10px;background:rgba(99,102,241,.08);border:1px solid var(--border,#334155)}
.bike-commercial-summary small,.bike-commercial-summary strong{display:block}.bike-photo-preview{width:100%;max-height:260px;object-fit:cover;border-radius:12px;border:1px solid var(--border,#334155)}
.art36-compact{padding:12px;border-left:4px solid #f59e0b;background:rgba(245,158,11,.08);border-radius:10px;margin:10px 0}
.audit-json{white-space:pre-wrap;word-break:break-word;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(15,23,42,.7);padding:10px;border-radius:8px;max-width:680px}
@media(max-width:900px){.kanban-toolbar{align-items:flex-start;flex-direction:column}.bike-commercial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.46.0 · Noleggio e moduli SaaS */
.content>*{min-width:0;max-width:100%}
.rental-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}.rental-availability-strip{display:grid;grid-template-columns:180px 220px minmax(0,1fr);gap:14px;align-items:end}.rental-availability-strip>div{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.rental-availability-strip span,.rental-availability-strip strong{display:block}.rental-availability-strip span{font-size:12px;color:var(--muted);font-weight:800}.rental-availability-strip strong{font-size:24px;margin-top:4px}.rental-availability-strip form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.rental-availability-strip label{display:grid;gap:5px}.rental-availability-strip label span{font-size:11px}.rental-fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rental-fleet-card{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--panel),#11141a);text-decoration:none;box-shadow:var(--shadow)}.rental-fleet-card:hover{border-color:var(--blue)}.rental-fleet-card img{width:90px;height:74px;object-fit:cover;border-radius:12px}.rental-fleet-card>div{min-width:0}.rental-fleet-card small{display:block;color:var(--muted);margin-top:5px}.rental-bike-photo{width:100%;max-height:260px;object-fit:cover;border-radius:14px;border:1px solid var(--line);grid-column:1/-1}.rental-bike-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rental-bike-option{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);cursor:pointer}.rental-bike-option input{width:auto;grid-row:1/3}.rental-bike-option strong,.rental-bike-option small{display:block}.rental-bike-option small{color:var(--muted);margin-top:4px}.rental-bike-option.unavailable{opacity:.45;cursor:not-allowed}.signature-canvas{display:block;width:100%;height:180px;margin:12px 0;border:1px dashed var(--line);border-radius:14px;background:#fff;touch-action:none}.rental-checklist{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.rental-checklist label{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.rental-checklist input{width:auto}.rental-payment-form{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.rental-conditions-editor{min-height:460px}.rental-conditions-preview{white-space:pre-wrap;font-size:12px;line-height:1.5}.module-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-admin-card{display:grid;gap:9px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.module-admin-card select,.module-admin-card input{width:100%}.danger-zone{border-color:rgba(224,58,62,.45)}body.theme-light .rental-fleet-card{background:#fff}body.theme-light .rental-bike-option,body.theme-light .module-admin-card,body.theme-light .rental-checklist label,body.theme-light .rental-availability-strip>div{background:var(--panel2)}
@media(max-width:1250px){.rental-bike-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.rental-fleet-grid{grid-template-columns:1fr}.rental-availability-strip{grid-template-columns:1fr 1fr}.rental-availability-strip form{grid-column:1/-1}}
@media(max-width:760px){.rental-hero{align-items:flex-start;flex-direction:column}.rental-availability-strip,.rental-availability-strip form,.rental-bike-picker,.module-admin-grid{grid-template-columns:1fr}.rental-availability-strip form{grid-column:auto}.rental-fleet-card{grid-template-columns:70px 1fr}.rental-fleet-card img{width:70px;height:62px}}

/* v1.46.1 · pagine Noleggio a riga intera e flusso WhatsApp con scheda */
.rental-single-column{grid-template-columns:minmax(0,1fr)}
.rental-single-column>.card{grid-column:1/-1;width:100%;min-width:0}
.whatsapp-sheet-flow>.card{min-width:0}
.whatsapp-sheet-flow .notice{margin-bottom:18px}
body.theme-dark .whatsapp-sheet-flow .notice.info{background:rgba(88,166,255,.12);border-color:rgba(88,166,255,.38);color:#dbeafe}
.whatsapp-sheet-flow .mini-item{display:flex;flex-direction:column;min-height:150px}
.whatsapp-sheet-flow .mini-item .form-actions{margin-top:auto;padding-top:18px}
@media(max-width:760px){.whatsapp-sheet-flow .mini-item{grid-column:span 12}}
