/* css/mobile.css */
/* Mobile TOP livello app v2 - solo override responsive, desktop invariato */
@media (max-width: 900px){
  :root{
    --mobile-pad: 16px;
    --mobile-card-pad: 20px;
    --mobile-header-h: 168px;
    --mobile-bottom-safe: calc(118px + env(safe-area-inset-bottom));
  }
  html, body{ min-height:100%; overflow-x:hidden; }
  body{ background: var(--gray-50); }
  .app{ display:block; min-height:100vh; height:auto; overflow:visible; }
  .sidebar{
    position: fixed; top:0; left:0; right:0; width:100%; border-right:0;
    border-bottom:1px solid var(--gray-200);
    padding: calc(10px + env(safe-area-inset-top)) 0 8px;
    background: rgba(255,255,255,.98);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    z-index:90; box-shadow:0 4px 14px rgba(17,24,39,.05);
  }
  .logo{ width:clamp(148px, 38vw, 220px); margin:0 auto 8px; }
  .menu{
    display:flex; flex-wrap:nowrap; overflow-x:auto; gap:8px;
    padding:0 var(--mobile-pad) 8px; scrollbar-width:none; -ms-overflow-style:none;
  }
  .menu::-webkit-scrollbar{ display:none; }
  .menu li{ flex:0 0 auto; min-height:44px; padding:10px 14px; white-space:nowrap; background:var(--white); border:1px solid transparent; border-radius:14px; margin-bottom:0; }
  .menu li .txt{ font-size:14px; }
  .menu li.active{ border-color:rgba(196,22,43,.14); box-shadow:0 1px 0 rgba(196,22,43,.03); }
  .sidebar-bottom{ padding:0 var(--mobile-pad); border-top:0; background:transparent; }
  .user-menu{ min-height:58px; border-radius:14px; }
  .user-dropdown{ margin-top:8px; }
  main, .content, .content > .cards-scroll{ overflow:visible; }
  .content > .cards-scroll{ padding: calc(var(--mobile-header-h) + var(--mobile-top-gap)) var(--mobile-pad) calc(12px + var(--mobile-bottom-safe)); }
  .card{ border-radius:18px; padding: var(--mobile-card-pad) 18px; box-shadow:0 2px 10px rgba(17,24,39,.05); margin-bottom:16px; }
  .card h2, .card h3{ font-size:22px; letter-spacing:-0.35px; }
  .row{ flex-direction:column; gap:0; }
  .row > *{ min-width:0; width:100%; flex:1 1 100%; }
  label, .form-group label{ text-align:left; }
  .input, input[type="text"], input[type="number"], input[type="email"], input[type="password"], input[type="date"], textarea, select.input{
    width:100%; max-width:100%; font-size:16px; min-height:44px; border-radius:12px;
  }
  input[type="date"], #FatData{ display:block; text-align:left; line-height:1.2; -webkit-appearance:none; appearance:none; }
  select.input, #FatSezione, #FatProdotto{ display:block; width:100%; text-align:left; text-align-last:left; }
  .drop{ min-height:132px; padding:12px; }
  .drop-inner{ flex-direction:column; text-align:center; gap:8px; }
  .btn-primary, .btn-outline{ min-height:46px; display:inline-flex; align-items:center; justify-content:center; text-align:center; }
  .actionbar{
    position:fixed; left:0; right:0; bottom:0; z-index:95; display:flex;
    flex-direction:column-reverse; align-items:center; justify-content:center; gap:8px;
    padding:10px var(--mobile-pad) calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.98); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    box-shadow:0 -6px 24px rgba(17,24,39,.08);
  }
  .action-left{ width:100%; align-items:center; text-align:center; gap:6px; }
  .action-progress{ width:100%; }
  .copyright{ max-width:100%; font-size:10px; line-height:1.35; color:var(--gray-400); text-align:center; }
  .actionbar .btn-primary{ width:100%; max-width:420px; min-width:0; border-radius:16px; font-size:15px; padding-inline:20px; }
  .toast{ left:16px; right:16px; bottom:calc(10px + var(--mobile-bottom-safe)); max-width:none; }
  #AuthOverlay{ align-items:flex-start; padding:calc(16px + env(safe-area-inset-top)) 14px 14px; }
  .auth-modal{ width:min(100%, 540px); max-width:calc(100vw - 28px); margin-top:0; border-radius:18px; padding:22px 18px 18px; }
  .auth-actions{ flex-direction:column; }
  .auth-actions .btn-primary, .auth-actions .btn-outline{ width:100%; min-width:0; }
  body.welcome-home .sidebar{ width:100% !important; overflow:visible !important; padding:calc(10px + env(safe-area-inset-top)) 0 8px !important; border-bottom:1px solid var(--gray-200) !important; }
  body.welcome-home main{ min-height:100vh; height:auto; overflow:visible; padding-bottom:var(--mobile-bottom-safe); }
  body.welcome-home #ActionBar{ position:fixed; }
  body.welcome-home .cards-scroll{ min-height:auto !important; display:block !important; place-items:initial !important; padding:calc(var(--mobile-header-h) + var(--mobile-top-gap)) var(--mobile-pad) calc(12px + var(--mobile-bottom-safe)) !important; }
  body.welcome-home #WelcomeCard{ width:100% !important; max-width:860px; margin:0 auto; }
  .welcome-brand{ justify-content:flex-start; margin:0 0 12px 0; }
    .welcome-brand{ display:none !important; }
.welcome-brand img{ width:min(100%, 320px); max-height:56px; height:auto; object-fit:contain; }
  .welcome-head{ display:flex; flex-direction:column; align-items:stretch; gap:12px; margin-top:2px; }
  .welcome-title{ font-size:22px; line-height:1.15; margin:0; }
  .welcome-sub{ font-size:13px; line-height:1.7; margin-top:6px; }
  .welcome-help{ align-self:flex-start; min-height:42px; padding-inline:16px; }
  .welcome-grid{ grid-template-columns:1fr !important; gap:12px; margin-top:16px; }
  .welcome-card{ border-radius:16px; padding:14px; }
  .welcome-card h4{ font-size:15px; line-height:1.25; }
  .welcome-card p{ font-size:13px; }
  .welcome-help-drawer{ width:min(100vw, 460px); }
  #FatturaCard .row{ gap:0; }
  #FatturaCard .row > div{ width:100% !important; flex:1 1 100% !important; min-width:0 !important; }
  .fattura-box{ margin-top:0; }
  .fattura-divider{ margin:8px 0 14px; }
  .fattura-add-btn{ width:100%; min-width:0; margin-top:4px; margin-bottom:0; }
  .fattura-table{ margin-top:14px !important; border-radius:16px; }
  .fattura-row{ gap:10px; padding:12px; }
  .fattura-row input[type='number'], .fattura-row input[type='text'], .fattura-row select{ height:40px; font-size:14px; border-radius:10px; }
  .fat-field{ display:flex; flex-direction:column; gap:4px; }
  .fat-mini-label{ display:block; font-size:11px; line-height:1.2; font-weight:700; color:var(--gray-500); margin:0; }
  .fattura-row .fat-total{ text-align:right; font-size:16px; }
  .fattura-totals{ flex-direction:column; align-items:flex-start; gap:6px; }
  .fattura-totalval{ font-size:16px; }
  .bv-preview-head{ flex-direction:column; align-items:stretch !important; gap:10px; }
  #BvPreviewBtn, .bv3d-btn, #Bv3DZoomOut, #Bv3DZoomIn, #Bv3DReset{ display:inline-flex; align-items:center; justify-content:center; text-align:center; line-height:1; }
  #BvPreviewBtn{ width:100%; }
  .bv3d-toolbar{ flex-direction:column; align-items:stretch; }
  .bv3d-left, .bv3d-right{ justify-content:center; }
  #Bv3DCanvas{ height:300px; }
  .bv-preview-grid{ grid-template-columns:1fr !important; }
  .bv-preview-canvaswrap, .cards-scroll, .content, .welcome-help-body{ -webkit-overflow-scrolling:touch; }
}
@media (max-width: 680px){
  :root{ --mobile-pad:14px; --mobile-card-pad:18px; --mobile-header-h:174px; --mobile-top-gap:22px; --mobile-bottom-safe: calc(116px + env(safe-area-inset-bottom)); }
  .logo{ width:min(74vw, 248px); }
  .menu{ padding-inline:12px; }
  .menu li{ padding:10px 13px; border-radius:14px; }
  .content > .cards-scroll, body.welcome-home .cards-scroll{ padding-inline:14px !important; }
  .card{ border-radius:16px; padding:18px 16px; }
  .card h2, .card h3, .welcome-title{ font-size:20px; }
  .welcome-brand img{ width:min(84vw, 280px); max-height:50px; }
  .auth-modal{ padding:22px 16px 16px; }
  .copyright{ font-size:9px; }
  .fattura-row{ grid-template-columns:1fr 1fr; }
  .fattura-row .fat-prod, .fattura-row .fat-total{ grid-column:1 / -1; }
}

@media (max-width: 900px){
  :root{ --mobile-top-gap: 24px; }
}
