/* AppBraga v1.58.459 — Mobile Unified UI
   Última camada visual exclusiva para telemóvel. Não altera desktop nem lógica. */
@media (max-width: 700px) {
  :root{
    --abm-bg:#020918;
    --abm-surface:#081a31;
    --abm-surface-2:#0b203b;
    --abm-border:rgba(88,154,240,.20);
    --abm-text:#f5f9ff;
    --abm-muted:#98afd0;
    --abm-blue:#27a9ff;
    --abm-radius:18px;
    --abm-gap:12px;
  }

  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;background:#020918!important}
  body{
    min-height:100dvh!important;
    padding-top:env(safe-area-inset-top)!important;
    background:
      radial-gradient(circle at 82% -8%,rgba(25,111,221,.16),transparent 25rem),
      linear-gradient(180deg,#041126 0%,#020918 55%,#020713 100%)!important;
    color:var(--abm-text)!important;
  }

  /* Legado desktop nunca ocupa espaço no telemóvel */
  .sidebar,.sidebar-pro-groups,.sidebar-collapsible-pro{display:none!important}
  .main,.main-content,.content,.page-content{margin-left:0!important;left:auto!important;max-width:none!important}
  #appbragaScaleContent{transform:none!important;transform-origin:initial!important;width:100%!important;max-width:100%!important}

  /* Contentores principais: um único ritmo visual */
  .ck-page,.eq-page,.imp-page,.tasks-page,.toner-page,.stock-page,.hist-page,.etq-page,.mnt-page,
  .dashboard-futurista,.gp-shell,.portal-wrap,.portal-area-wrap,.equipment-page,
  .scanner-ia-page .ck-page,.scanner-ia-page,.users-page{
    width:100%!important;max-width:100%!important;margin:0!important;padding:12px!important;
  }
  .gp-page-body{padding:0!important}
  .portal-wrap,.portal-area-wrap{padding-top:10px!important}

  /* HERO OFICIAL */
  .ab-official-hero{
    min-height:0!important;height:auto!important;margin:0 0 14px!important;padding:12px!important;
    border-radius:20px!important;border:1px solid var(--abm-border)!important;
    background:linear-gradient(145deg,rgba(11,31,59,.94),rgba(6,19,38,.94))!important;
    box-shadow:0 12px 30px rgba(0,0,0,.18)!important;
    display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;
  }
  .ab-official-hero-home,.appbraga-home-orbit-btn{
    width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;
    border-radius:15px!important;margin:0!important;position:static!important;transform:none!important;
  }
  .ab-official-hero-icon{display:none!important}
  .ab-official-hero-copy{min-width:0!important;margin:0!important;padding:0!important}
  .ab-official-hero-eyebrow{font-size:9px!important;letter-spacing:.10em!important;margin:0 0 3px!important;color:#7fa5d4!important}
  .ab-official-hero-copy h1,.ab-official-hero h1{font-size:20px!important;line-height:1.1!important;margin:0!important;letter-spacing:-.02em!important;white-space:normal!important}
  .ab-official-hero-copy p,.ab-official-hero p{font-size:11px!important;line-height:1.35!important;margin:4px 0 0!important;color:var(--abm-muted)!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .ab-official-hero-actions{grid-column:1/3!important;width:100%!important;margin:1px 0 0!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-start!important}
  .ab-official-hero-btn,.ab-official-hero-actions button,.ab-official-hero-actions a{
    min-height:38px!important;height:auto!important;padding:8px 11px!important;border-radius:12px!important;font-size:11px!important;line-height:1.15!important;flex:1 1 auto!important;
  }

  /* Gestão de Impressoras V2 — mesmo hero */
  .gp-hero{min-height:0!important;height:auto!important;margin:0 0 14px!important;padding:12px!important;border-radius:20px!important;border:1px solid var(--abm-border)!important;background:linear-gradient(145deg,rgba(11,31,59,.94),rgba(6,19,38,.94))!important;display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:10px!important;align-items:center!important}
  .gp-home{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;border-radius:15px!important;margin:0!important;position:static!important}
  .gp-page-icon{display:none!important}.gp-hero-copy{min-width:0!important}.gp-eyebrow{font-size:9px!important;margin:0 0 3px!important}.gp-hero h1{font-size:20px!important;line-height:1.1!important;margin:0!important}.gp-hero-copy p{font-size:11px!important;line-height:1.35!important;margin:4px 0 0!important;color:var(--abm-muted)!important}.gp-hero-actions{grid-column:1/3!important;display:flex!important;gap:8px!important;width:100%!important}.gp-hero-actions .gp-btn{flex:1 1 auto!important;min-height:38px!important;padding:8px 10px!important;border-radius:12px!important;font-size:11px!important}

  /* Portais */
  .portal-hero,.portal-area-hero,.portal-area-top{
    min-height:0!important;height:auto!important;margin:0 0 14px!important;padding:13px!important;border-radius:20px!important;
    border:1px solid var(--abm-border)!important;background:linear-gradient(145deg,rgba(11,31,59,.94),rgba(6,19,38,.94))!important;
  }
  .portal-hero-logo,.portal-area-logo{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;margin:0 auto 8px!important}
  .portal-hero h1,.portal-area-hero h1,.portal-area-top h1{font-size:22px!important;line-height:1.1!important;margin:5px 0!important;text-align:center!important}
  .portal-hero p,.portal-area-hero p,.portal-area-top p{font-size:12px!important;line-height:1.35!important;color:var(--abm-muted)!important;text-align:center!important;margin:0!important}
  .portal-grid,.portal-grid-home,.portal-area-grid{grid-template-columns:1fr!important;gap:10px!important}
  .portal-card,.portal-area-card{min-height:0!important;padding:15px!important;border-radius:18px!important;border-color:var(--abm-border)!important}

  /* KPI: sempre legível, nunca comprimido */
  .ck-kpis,.dash-kpis,.gp-kpis,.toner-kpis,.stock-kpis,.hist-kpis,.etq-kpis,.imp-kpis,.tasks-kpis,
  .mnt-kpis,.users-kpis{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin:0 0 14px!important;
  }
  .ck-kpi,.dash-kpi,.gp-kpi,.toner-kpi,.stock-kpi,.hist-kpi,.etq-kpi,.imp-kpi,.mnt-kpi{
    min-width:0!important;min-height:82px!important;padding:12px!important;border-radius:17px!important;border:1px solid var(--abm-border)!important;background:rgba(9,26,50,.90)!important;
  }
  .ck-kpi-label,.dash-kpi-title,.kpi-label{font-size:10px!important;line-height:1.2!important}.ck-kpi-value,.dash-kpi-value,.kpi-value{font-size:22px!important;line-height:1.05!important}

  /* Painéis e cartões */
  .ck-panel,.dash-panel,.gp-panel,.stock-panel,.hist-panel,.etq-panel,.mnt-panel,.tasks-panel,
  .scanner-panel,.scanner-card,.config-card,.info-card,.users-card,.panel,.card{
    border-radius:18px!important;border-color:var(--abm-border)!important;box-shadow:none!important;
  }
  .ck-panel,.dash-panel,.stock-panel,.hist-panel,.etq-panel,.mnt-panel,.tasks-panel{padding:12px!important}
  .ck-panel-title h2,.ck-panel-title h3,.panel-title,h2.section-title{font-size:17px!important;line-height:1.2!important}
  .ck-panel-title p,.panel-subtitle{font-size:11px!important;line-height:1.35!important}

  /* Ações e filtros — largura confortável */
  .ck-quick-grid,.scanner-workspace-actions,.scanner-redesign-actions,.filters,.filter-row,.toolbar,.actions-row,
  .stock-toolbar,.hist-toolbar,.gp-toolbar,.ck-search-row{
    grid-template-columns:1fr!important;display:grid!important;gap:9px!important;width:100%!important;
  }
  .ck-search-row>* ,.filters>* ,.filter-row>* ,.toolbar>* ,.stock-toolbar>* ,.hist-toolbar>* ,.gp-toolbar>*{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  input,select,textarea{max-width:100%!important;font-size:16px!important}
  input:not([type="checkbox"]):not([type="radio"]),select{min-height:44px!important;border-radius:13px!important}
  textarea{border-radius:13px!important}
  button,.btn,[class*="-btn"]{touch-action:manipulation}

  /* Tabelas: respeitar o renderer mobile existente e dar uma aparência única */
  table{max-width:100%!important}
  .appbraga-mobile-card,.ab-mobile-row,.mobile-table-card,[data-mobile-table-card],tbody tr.appbraga-mobile-row{
    border-radius:17px!important;border:1px solid var(--abm-border)!important;background:rgba(9,26,49,.92)!important;box-shadow:none!important;margin-bottom:9px!important;
  }
  .table-wrap,.table-wrapper,.ck-table-wrap,.stock-table-wrap,.hist-table-wrap,.gp-table-wrap{max-width:100%!important;overflow-x:auto!important;border-radius:17px!important}

  /* Modais: mesma bottom-sheet em todo o mobile */
  .modal,.modal-overlay,.appbraga-modal,.dialog-overlay,[role="dialog"]{
    max-width:100vw!important;
  }
  .modal-content,.modal-card,.modal-dialog,.appbraga-modal-content,.dialog,.ck-modal-content,.gp-modal-content{
    width:calc(100vw - 20px)!important;max-width:520px!important;max-height:84dvh!important;margin:auto 10px 10px!important;border-radius:22px!important;border:1px solid rgba(92,158,244,.28)!important;
  }

  /* Scanner / documentos */
  .scanner-workspace-actions,.scanner-redesign-actions{grid-template-columns:1fr 1fr!important}
  .scanner-workspace-card{min-height:100px!important;padding:13px!important;border-radius:17px!important}

  /* Configurações: impedir colunas desktop */
  .config-grid,.settings-grid,.config-sections,.health-grid,.rules-grid{grid-template-columns:1fr!important;gap:10px!important}

  /* Zonas / Assistente legado com .main */
  .main{width:100%!important;padding:12px!important}

  /* Botões flutuantes nunca fora da safe area */
  [style*="position: fixed"],.floating-btn,.fab{max-width:calc(100vw - 24px)}
}

@media (max-width: 390px){
  .ck-kpis,.dash-kpis,.gp-kpis,.toner-kpis,.stock-kpis,.hist-kpis,.etq-kpis,.imp-kpis,.tasks-kpis,.mnt-kpis{gap:7px!important}
  .ab-official-hero,.gp-hero{grid-template-columns:46px minmax(0,1fr)!important;padding:10px!important}
  .ab-official-hero-home,.appbraga-home-orbit-btn,.gp-home{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  .ab-official-hero-copy h1,.ab-official-hero h1,.gp-hero h1{font-size:18px!important}
  .scanner-workspace-actions,.scanner-redesign-actions{grid-template-columns:1fr!important}
}
