/* Ottimizzazioni mobile/PWA: non cambia la logica, rende l'app più usabile da telefono. */
.mobile-install-tip{display:none;margin:0 0 14px;padding:10px 12px;border-radius:12px;background:#eef2ff;color:#1e293b;font-size:14px}
.install-app-btn{display:none}
@media (max-width: 860px){
  body{overflow-x:hidden}
  .layout{display:block}
  .side{position:sticky;top:0;z-index:20;width:auto;min-height:0;display:flex;gap:8px;overflow-x:auto;padding:10px;border-radius:0;background:#0f172a}
  .side .brand{min-width:150px;margin:0}.brand-logo{max-height:38px;width:auto}
  .side a{white-space:nowrap;padding:10px 12px;border-radius:10px;font-size:14px}.side-footer,.logout{display:none!important}
  .main{padding:14px}.topbar{display:block}.global-search{display:flex;gap:8px;margin-bottom:10px}.global-search input{min-height:44px}.btn,button,input,select,textarea{font-size:16px}.btn,button{min-height:42px}
  .page-head{display:block}.date-pill{display:inline-block;margin-top:8px}.card{padding:14px;border-radius:14px}
  table{display:block;overflow-x:auto;white-space:nowrap;border-radius:12px}td,th{padding:10px}
  .grid,.cards,.kpi-grid{grid-template-columns:1fr!important}.form .row,.row{display:block}.field{margin-bottom:12px}
  .mobile-install-tip{display:block}.install-app-btn{display:none;align-items:center;gap:6px;margin-bottom:12px}
}
@media (display-mode: standalone){.install-app-btn,.mobile-install-tip{display:none!important}}
.offline-item{border:1px solid #e5e7eb;border-radius:14px;padding:12px;margin:10px 0;background:#fff}.offline-item span{display:block;color:#64748b;font-size:12px}.timeline{display:grid;gap:10px;margin:12px 0}.timeline-item{border-left:4px solid #0f172a;background:#f8fafc;padding:10px 12px;border-radius:10px}.timeline-item span{display:block;color:#64748b;font-size:12px}.error{color:#b91c1c}.kpi-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
@media(max-width:720px){.report-form .field{min-width:100%}.sign{width:100%;height:150px}.attachment-grid{grid-template-columns:1fr}.part-row{grid-template-columns:1fr 1fr}.part-row input[name='ric_desc[]']{grid-column:1/-1}.topbar{position:sticky;top:0;z-index:10;background:#f8fafc;padding:8px;border-radius:12px}.offline-item{font-size:14px}}
@media (max-width: 780px){
  .calendar-card{padding:12px;border-radius:14px}
  .qr-img{width:86px;height:86px}
}

/* V3 - Dashboard e navigazione mobile leggibile */
.mobile-appbar,.mobile-menu-backdrop{display:none}
@media (max-width: 860px){
  body{font-size:16px;background:#f8fafc;padding-top:58px}
  .mobile-appbar{display:flex;position:fixed;top:0;left:0;right:0;height:58px;z-index:60;align-items:center;justify-content:space-between;padding:8px 12px;background:#0f172a;color:#fff;box-shadow:0 8px 24px rgba(15,23,42,.22)}
  .mobile-menu-btn,.mobile-home-btn{appearance:none;border:0;border-radius:12px;background:#1d4ed8;color:#fff!important;min-height:42px;padding:0 13px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}
  .mobile-app-title{font-weight:900;letter-spacing:.06em;font-size:15px}
  .layout{display:block;min-height:100vh}
  .side{position:fixed!important;top:0!important;left:0;bottom:0;width:min(86vw,330px)!important;z-index:80;display:block!important;overflow-y:auto;overflow-x:hidden;transform:translateX(-105%);transition:transform .22s ease;background:#fff!important;padding:14px!important;border-radius:0!important;box-shadow:18px 0 42px rgba(15,23,42,.25)}
  .mobile-menu-open .side{transform:translateX(0)}
  .mobile-menu-open .mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.48)}
  .side .brand{height:auto;min-width:0;margin:0 0 12px!important;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.brand-logo{max-height:46px;width:auto}
  .side a{display:flex!important;white-space:normal!important;color:#26364f!important;background:#f8fafc;margin:6px 0!important;padding:13px 14px!important;border-radius:14px!important;font-size:16px!important}.side a.active{color:#fff!important;background:linear-gradient(135deg,#1d4ed8,#4f46e5)!important}.side-footer,.logout{display:block!important}
  .main{margin:0!important;padding:14px!important}.topbar{position:static!important;background:transparent!important;padding:0!important;border:0!important}.global-search{width:100%!important}.global-search input{font-size:16px;height:48px}.global-search button{height:48px}.userbox{display:none}.page-head{margin:14px 0 12px}.page-head h1{font-size:24px}.page-head p,.date-pill,.legend{display:none!important}
  .hero{padding:15px;margin-bottom:14px;border-radius:18px}.hero h2{font-size:20px;line-height:1.2;margin-top:3px}
  h2{font-size:17px;margin:18px 0 10px}.dash-grid{grid-template-columns:1fr!important;gap:10px!important}.dash-card{padding:16px!important;border-radius:18px!important;min-height:82px}.dash-icon{width:50px;height:50px}.dash-card .stat,.stat{font-size:28px!important}.actions{display:grid!important;grid-template-columns:1fr;gap:10px}.actions .btn{width:100%;min-height:48px;font-size:16px}
  table{font-size:15px;white-space:normal!important}.main>table,.card+table{display:block;overflow-x:auto}.click-row td{min-width:120px}.filter-form{grid-template-columns:1fr!important}
}
@media (max-width: 520px){
  .main{padding:12px!important}.card{padding:14px!important}.btn,button,input,select,textarea{font-size:16px!important}.global-search{display:grid!important;grid-template-columns:1fr auto}.global-search input{min-width:0}.dash-card{align-items:flex-start}.mobile-install-tip{display:none!important}
}

/* V6 - Collegamenti Google */
.google-grid .card .btn{width:100%;text-align:center;margin-top:8px}
@media(max-width:700px){.google-grid{display:grid;grid-template-columns:1fr;gap:12px}.actions .btn{width:100%;margin-bottom:8px}}


/* V7 - Google Calendar direttamente nell'app */
.google-calendar-card{padding:0;overflow:hidden}
.google-calendar-iframe{width:100%;height:76vh;min-height:560px;border:0;display:block;background:#fff}
@media(max-width:700px){
  .google-calendar-iframe{height:calc(100vh - 190px);min-height:480px}
  .google-calendar-card{border-radius:16px}
}
code{background:#f1f5f9;border-radius:6px;padding:2px 5px}
