/* RC70 Mobile Ergonomic UI - solo grafica/responsive, nessuna logica modificata */
@media (max-width: 860px){
  :root{
    --rc70-bg:#f6f7f9;
    --rc70-surface:#ffffff;
    --rc70-ink:#111827;
    --rc70-muted:#667085;
    --rc70-line:#e3e7ee;
    --rc70-primary:#0f4c5c;
    --rc70-primary-dark:#24304a;
    --rc70-radius:16px;
    --rc70-shadow:0 8px 24px rgba(16,24,40,.07);
  }
  html,body{background:var(--rc70-bg)!important;overflow-x:hidden!important;}
  body{font-size:15px!important;line-height:1.35!important;padding-bottom:92px!important;}
  .main,.container,.content,.page,.page-body{max-width:100%!important;width:100%!important;margin:0!important;padding:12px 12px 104px!important;box-sizing:border-box!important;}

  /* Header più compatto e più usabile con il pollice */
  .topbar,.app-topbar,.mobile-appbar{
    position:sticky!important;top:0!important;z-index:1200!important;margin:0!important;padding:10px 12px!important;min-height:58px!important;
    border-radius:0!important;border-left:0!important;border-right:0!important;border-top:0!important;background:rgba(255,255,255,.96)!important;
    box-shadow:0 4px 18px rgba(16,24,40,.08)!important;backdrop-filter:blur(12px)!important;
  }
  .brand,.topbar .brand{font-size:19px!important;letter-spacing:.14em!important;line-height:1!important;white-space:nowrap!important;}
  .mobile-menu-btn,.topbar .btn,.app-topbar .btn{min-height:44px!important;padding:0 14px!important;border-radius:12px!important;font-size:15px!important;line-height:44px!important;}

  /* Ricerca e stato online senza effetto cartoon */
  .global-search,.search-global,.search-card,.sync-card,.offline-status,.online-status{
    margin:10px 0 12px!important;padding:10px!important;border-radius:16px!important;box-shadow:var(--rc70-shadow)!important;border:1px solid var(--rc70-line)!important;background:#fff!important;
  }
  input[type="search"], .global-search input, .search-global input{
    width:100%!important;height:48px!important;border-radius:12px!important;border:1px solid #d5dbe5!important;background:#fff!important;
    font-size:16px!important;padding:0 14px!important;box-shadow:none!important;outline:none!important;
  }

  /* Dashboard mobile: meno altezza, più informazioni visibili */
  .page-dashboard .main{padding-top:10px!important;}
  .rc67-dashboard-hero{
    display:block!important;margin:12px 0 14px!important;padding:18px!important;border-radius:18px!important;
    background:linear-gradient(135deg,#12343b 0%,#0f4c5c 100%)!important;box-shadow:0 12px 28px rgba(15,76,92,.16)!important;
  }
  .rc67-dashboard-hero:before,.rc67-dashboard-hero:after{display:none!important;}
  .rc67-eyebrow,.rc67-section-label{font-size:11px!important;padding:6px 10px!important;letter-spacing:.06em!important;}
  .rc67-hero-copy h2{font-size:30px!important;line-height:1.05!important;margin:12px 0 8px!important;letter-spacing:-.04em!important;}
  .rc67-hero-copy p{font-size:15px!important;line-height:1.4!important;margin:0 0 14px!important;color:rgba(255,255,255,.82)!important;}
  .rc67-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important;}
  .rc67-hero-actions .btn{min-height:46px!important;padding:0 10px!important;border-radius:12px!important;font-size:14px!important;width:100%!important;}
  .rc67-hero-actions .btn.gray{grid-column:1/-1!important;background:rgba(255,255,255,.10)!important;}
  .rc67-hero-metric{margin-top:14px!important;padding:14px!important;border-radius:16px!important;min-height:0!important;}
  .rc67-hero-metric b{font-size:42px!important;line-height:1!important;}

  /* Card e KPI: formato compatto, non blocchi enormi */
  .card,.panel,.box,.dash-card,.rc67-panel,.rc67-wide,.rc67-kpi-card,.rc67-hero-metric{
    border-radius:16px!important;box-shadow:var(--rc70-shadow)!important;margin:10px 0!important;padding:16px!important;min-height:0!important;
  }
  .card h1,.card h2,.card h3,.rc67-panel-head h2{font-size:24px!important;line-height:1.12!important;margin:0 0 12px!important;letter-spacing:-.035em!important;}
  .rc67-kpi-board{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:12px 0!important;}
  .rc67-kpi-card{padding:14px!important;min-height:112px!important;margin:0!important;}
  .rc67-kpi-icon{width:38px!important;height:38px!important;border-radius:11px!important;margin-bottom:12px!important;}
  .rc67-kpi-card>span:not(.rc67-kpi-icon){font-size:10px!important;line-height:1.2!important;letter-spacing:.045em!important;}
  .rc67-kpi-card b{font-size:31px!important;line-height:1.05!important;}
  .rc67-todo a,.rc67-mini-row .mini-kpi{min-height:58px!important;padding:12px 14px!important;border-radius:14px!important;}
  .rc67-todo a b{font-size:32px!important;line-height:1!important;min-width:42px!important;}
  .rc67-todo a span,.rc67-mini-row .mini-kpi span{font-size:15px!important;}

  /* Accessi rapidi: tile più piccoli e non a lista lunghissima */
  .rc67-quick-strip,.quick-grid,.module-grid,.app-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .rc67-quick-strip a,.quick-grid a,.module-grid a,.app-grid a{
    min-height:86px!important;padding:14px!important;border-radius:16px!important;margin:0!important;align-items:flex-start!important;
  }
  .rc67-quick-strip span{width:36px!important;height:36px!important;border-radius:11px!important;font-size:18px!important;}
  .rc67-quick-strip b{font-size:14px!important;line-height:1.2!important;}

  /* Tabelle: più leggibili su mobile, con scorrimento orizzontale controllato */
  .table-wrap,.responsive-table,.table-responsive,.card:has(table),.panel:has(table),.rc67-panel:has(table),.rc67-wide:has(table){overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  table{min-width:640px!important;width:max-content!important;max-width:none!important;font-size:13px!important;border-radius:14px!important;box-shadow:none!important;margin:8px 0!important;}
  th,td{padding:11px 12px!important;white-space:nowrap!important;vertical-align:middle!important;}
  th{font-size:10px!important;letter-spacing:.04em!important;}
  td{font-size:13px!important;}
  input.live-filter,input[data-live-filter],.table-filter,input[placeholder*="Filtra"]{height:44px!important;border-radius:12px!important;font-size:15px!important;margin:6px 0!important;}

  /* Form e pulsanti più pratici */
  input,select,textarea{font-size:16px!important;border-radius:12px!important;min-height:44px!important;}
  textarea{min-height:96px!important;}
  .btn,button.btn,a.btn,input[type=submit].btn,button:not(.mobile-menu-btn){min-height:44px!important;border-radius:12px!important;padding:10px 14px!important;font-size:15px!important;}

  /* Bottom navigation: meno invasiva, niente sovrapposizioni sui contenuti */
  .mobile-bottom-nav-pro,.ux-bottom-nav,.bottom-nav{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:72px!important;padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;
    border-radius:18px 18px 0 0!important;z-index:1300!important;background:rgba(255,255,255,.98)!important;box-shadow:0 -8px 24px rgba(16,24,40,.10)!important;
  }
  .mobile-bottom-item,.ux-bottom-nav a,.bottom-nav a{min-width:0!important;min-height:52px!important;border-radius:13px!important;font-size:11px!important;padding:6px 7px!important;}
  .mobile-bottom-item svg,.ux-bottom-nav svg{width:21px!important;height:21px!important;}
  .mobile-fab,.mobile-fab-main{
    width:62px!important;height:62px!important;bottom:42px!important;left:50%!important;transform:translateX(-50%)!important;border-radius:18px!important;font-size:36px!important;z-index:1350!important;
  }
  .mobile-fab:hover,.mobile-fab-main:hover{transform:translateX(-50%)!important;}

  /* Pagine secondarie: evita card altissime e testo appiccicato */
  .page-title,h1{font-size:27px!important;line-height:1.15!important;margin:18px 0 12px!important;}
  p,li{font-size:15px!important;line-height:1.45!important;}
  .badge,.pill,.status{font-size:12px!important;padding:5px 9px!important;}
}

@media (max-width: 380px){
  .brand,.topbar .brand{font-size:17px!important;letter-spacing:.11em!important;}
  .mobile-menu-btn,.topbar .btn,.app-topbar .btn{padding:0 10px!important;font-size:14px!important;}
  .rc67-hero-copy h2{font-size:27px!important;}
  .rc67-kpi-board,.rc67-quick-strip,.quick-grid,.module-grid,.app-grid{grid-template-columns:1fr!important;}
}
