/* SIRIUS DATABASE 1.0.46 - Compatibilidade mobile / iPhone 16 */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (max-width: 480px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  body {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
  }

  header {
    width: 100%;
    min-width: 0;
    gap: 8px;
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }

  header img {
    width: auto;
    height: 32px;
    max-width: 74px;
    flex: 0 0 auto;
  }

  header .app-title {
    min-width: 0;
    font-size: 14px;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .menu-btn,
  .pwa-install-btn,
  .task-bell-btn {
    flex: 0 0 auto;
  }

  .container,
  #appContainer,
  #mainContent {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .container {
    padding-left: max(10px, env(safe-area-inset-left, 0px));
    padding-right: max(10px, env(safe-area-inset-right, 0px));
  }

  #mainContent > *,
  .section,
  details,
  .card-btn,
  .login-card,
  form {
    max-width: 100%;
    min-width: 0;
  }

  img,
  canvas,
  video {
    max-width: 100%;
  }

  /* Financeiro */
  .financeiro-page,
  .financeiro-shell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .financeiro-shell {
    padding: 16px 10px calc(36px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .financeiro-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 18px 16px !important;
    border-radius: 18px !important;
  }

  .financeiro-head-copy,
  .financeiro-head-copy p {
    width: 100%;
    max-width: 100% !important;
  }

  .financeiro-head-copy h2 {
    font-size: 24px !important;
    overflow-wrap: anywhere;
  }

  .financeiro-version {
    align-self: flex-start;
  }

  .financeiro-selector {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .financeiro-field,
  .financeiro-custom-period {
    width: 100%;
    min-width: 0 !important;
  }

  .financeiro-custom-period {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .financeiro-refresh-btn {
    width: 100%;
  }

  .financeiro-period-preview,
  .financeiro-period-preview span,
  .financeiro-period-preview strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .financeiro-export-bar {
    flex-direction: column;
    align-items: stretch !important;
  }

  .financeiro-export-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
  }

  .financeiro-export-btn {
    min-width: 0;
    padding-left: 8px !important;
    padding-right: 8px !important;
    white-space: normal !important;
  }

  .financeiro-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .financeiro-decision {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  .financeiro-decision em {
    grid-column: 1 / -1;
    justify-self: start;
    max-width: 100%;
    white-space: normal !important;
  }

  /* Relatórios */
  #reportFormPanel,
  #reportFormPanel > *,
  .dynamic-report-form,
  .dynamic-report-section,
  .dynamic-unified-model-group {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #reportFormPanel .report-floating-actions {
    width: calc(100vw - 16px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) !important;
    max-width: calc(100vw - 16px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) !important;
  }
}

/* PWA instalado no iPhone: login mais compacto e proporcional. */
@media (max-width: 480px) {
  html.sirius-pwa-standalone #loginScreen {
    padding-top: 24px !important;
  }

  html.sirius-pwa-standalone #loginScreen .login-card {
    width: min(330px, calc(100vw - 44px)) !important;
    max-width: 330px !important;
    padding: 22px 18px 20px !important;
    border-radius: 20px !important;
  }

  html.sirius-pwa-standalone #loginScreen .login-card h2 {
    font-size: 22px !important;
    letter-spacing: .02em !important;
  }

  html.sirius-pwa-standalone #loginScreen .login-card p {
    margin: 6px 0 14px !important;
    font-size: 13px !important;
  }

  html.sirius-pwa-standalone #loginScreen .login-card input {
    min-height: 48px !important;
    margin: 7px 0 !important;
    padding: 0 14px !important;
    border-radius: 13px !important;
  }

  html.sirius-pwa-standalone #loginScreen .login-card button {
    min-height: 48px !important;
    margin-top: 10px !important;
    border-radius: 13px !important;
  }
}

/* Safari/iOS aumenta automaticamente a página ao focar controles com fonte <16px.
   Mantemos 16px somente em WebKit touch para impedir esse zoom involuntário. */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 480px) {
    input:not([type='checkbox']):not([type='radio']):not([type='range']),
    select,
    textarea {
      font-size: 16px !important;
    }
  }
}
