/* Minaya AgroFresh · Fase 18 · Modo celular y tableta */
:root{--mobile-bar-height:72px;--touch-min:48px}
.mobile-bottom-nav{display:none}
.mobile-evidence-help{display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;border:1px dashed var(--border,#cbd5d1);border-radius:12px;background:#f7faf8;color:#496057;font-size:.86rem}
.mobile-evidence-help::before{content:'📷';font-size:1.15rem}
.mobile-install-hint{display:none}

@media (max-width:1024px){
  body{overflow-x:hidden}
  #app main{min-width:0}
  header{gap:12px;align-items:flex-start;flex-wrap:wrap;padding:16px 18px}
  .header-left{min-width:0;flex:1}
  .header-left h2{font-size:1.35rem;line-height:1.2}
  .header-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
  .global-search{grid-column:1/-1;width:100%;max-width:none}
  .global-search input{min-height:var(--touch-min);font-size:16px}
  .global-search-shortcut,.date-box,#backupBtn{display:none!important}
  .notification-bell,.icon-btn{min-width:var(--touch-min);min-height:var(--touch-min)}
  #content{padding:18px}
  .dashboard-grid,.role-dashboard-grid,.stats-grid,.kpi-grid,.charts-grid,.operation-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .card,.panel,.dashboard-card,.role-dashboard-card,.operation-card{min-width:0}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .modal-card{width:min(94vw,760px);max-height:90dvh;overflow:auto}
}

@media (max-width:720px){
  html{font-size:16px}
  body{padding-bottom:env(safe-area-inset-bottom)}
  #sidebar{position:fixed!important;inset:0 auto 0 0;width:min(86vw,320px)!important;z-index:1000;transform:translateX(-105%);transition:transform .24s ease;box-shadow:12px 0 32px rgba(0,0,0,.18)}
  #sidebar.open{transform:translateX(0)}
  body.menu-open::after{content:'';position:fixed;inset:0;background:rgba(9,24,17,.45);z-index:999}
  #app main{margin-left:0!important;width:100%!important;padding-bottom:calc(var(--mobile-bar-height) + env(safe-area-inset-bottom) + 14px)}
  header{position:sticky;top:0;z-index:80;padding:12px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid #e3ebe7}
  .header-left{display:flex;align-items:center;gap:10px}
  .header-left p{display:none}
  .header-left h2{font-size:1.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}
  .mobile-only{display:inline-flex!important}
  .header-actions{display:flex;width:auto;margin-left:auto;gap:8px}
  .global-search{position:static;width:auto}
  .global-search input{position:absolute;left:12px;right:12px;top:64px;width:calc(100% - 24px);opacity:0;pointer-events:none;transform:translateY(-8px);transition:.2s;background:white;box-shadow:0 12px 30px rgba(0,0,0,.14)}
  .global-search.mobile-open input{opacity:1;pointer-events:auto;transform:none}
  .global-search-icon{position:static;display:grid;place-items:center;width:48px;height:48px;border:1px solid #d8e3dd;border-radius:14px;background:white;font-size:0}
  .global-search-icon::after{content:'⌕';font-size:1.55rem;color:#174c35}
  .global-search-results{position:fixed!important;left:12px!important;right:12px!important;top:118px!important;width:auto!important;max-height:55dvh!important;z-index:1200}
  .version-banner{margin:0 12px 12px;font-size:.76rem;text-align:center}
  #content{padding:12px}
  .page-header,.dashboard-welcome,.role-dashboard-hero{flex-direction:column!important;align-items:stretch!important;gap:14px!important;padding:18px!important}
  .page-header .actions,.dashboard-welcome-actions{width:100%;display:grid!important;grid-template-columns:1fr!important}
  .dashboard-grid,.role-dashboard-grid,.stats-grid,.kpi-grid,.charts-grid,.operation-grid,.quick-grid{grid-template-columns:1fr!important;gap:12px!important}
  .role-dashboard-card,.dashboard-card,.operation-card,.card,.panel{border-radius:16px!important}
  .role-dashboard-card{min-height:104px;text-align:left}
  .form-grid{grid-template-columns:1fr!important;gap:14px!important}
  .form-grid label,.form-grid .full{grid-column:1!important}
  input,select,textarea,button,.btn{font-size:16px}
  input,select,textarea{min-height:48px;padding:12px 13px!important;border-radius:12px!important}
  textarea{min-height:110px}
  .btn,button.btn,.modal-form-actions button,.confirm-actions button{min-height:48px;padding:11px 16px!important;justify-content:center}
  .modal{padding:0!important;align-items:flex-end!important}
  .modal-card,.confirm-card{width:100%!important;max-width:none!important;max-height:92dvh!important;border-radius:22px 22px 0 0!important;padding:20px!important;overflow:auto}
  .modal-form-actions,.confirm-actions{position:sticky;bottom:-20px;background:white;padding:14px 0 calc(14px + env(safe-area-inset-bottom));display:grid!important;grid-template-columns:1fr!important;gap:10px!important;z-index:5}
  .modal-form-actions .secondary,.confirm-actions .secondary{order:1}
  .modal-form-actions .primary,.confirm-actions .danger{order:2}
  .professional-table-wrap,.table-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  table{display:block!important;width:100%!important}
  thead{display:none!important}
  tbody{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  tr{display:block!important;background:#fff!important;border:1px solid #dfe8e3!important;border-radius:16px!important;padding:14px!important;box-shadow:0 4px 14px rgba(20,61,42,.06)!important}
  td{display:grid!important;grid-template-columns:minmax(110px,42%) 1fr!important;gap:10px!important;padding:8px 0!important;border:0!important;border-bottom:1px solid #eef2ef!important;text-align:left!important;white-space:normal!important}
  td:last-child{border-bottom:0!important}
  td::before{content:attr(data-label);font-weight:700;color:#52665d;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}
  td.actions-cell,.table-actions{display:flex!important;grid-template-columns:none!important;flex-wrap:wrap;gap:8px;padding-top:12px!important}
  td.actions-cell::before,.table-actions::before{display:none!important}
  td.actions-cell .btn,.table-actions .btn{flex:1;min-width:96px;min-height:44px}
  .professional-table-toolbar,.table-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important}
  .professional-table-toolbar input,.professional-table-toolbar select{width:100%!important}
  .pagination,.pt-pagination{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .pagination-info,.pt-info,.pt-pages{grid-column:1/-1;text-align:center}
  input[type=file]{min-height:auto!important;padding:12px!important;border:2px dashed #9eb7aa!important;background:#f8fbf9!important}
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:900;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--mobile-bar-height) + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #d9e4de;box-shadow:0 -8px 25px rgba(11,49,31,.12)}
  .mobile-bottom-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#61736a;font-size:.68rem;font-weight:700;border-radius:12px;min-width:0}
  .mobile-bottom-nav button span{font-size:1.28rem;line-height:1}
  .mobile-bottom-nav button.active{color:#075b2a;background:#eaf5ee}
  body:not([data-user-role="trabajador"]) .mobile-bottom-nav{display:none!important}
  body[data-user-role="trabajador"] #content{padding-bottom:18px}
}

@media (min-width:721px) and (max-width:1024px){
  #sidebar{width:250px}
  #app main{margin-left:250px}
  .btn{min-height:44px}
}
