/* Fundação de tela presente nas 61 páginas. Impressão mantém seus próprios estilos. */
@media screen {
  :root { --jr-ui-gap:12px; --jr-ui-radius:12px; --jr-ui-touch:44px; }
  html { -webkit-text-size-adjust:100%; }
  body :is(button,summary,a[role="button"],.btn,.btn-p,.btn-s) { touch-action:manipulation; }
  body :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {
    outline:3px solid #e91e8c!important; outline-offset:3px;
  }
  body :is(.card,.panel,.jr-card,.jr-portal-panel,.form-grid,.formgrid,.grid2,.grid3)>* { min-width:0; }
  body :is(.table-wrap,.tablewrap) { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
  body :is(.actions,.acoes,.jr-fm-actions,.jr-upload-actions) { flex-wrap:wrap; gap:8px; }
  body :is(button,.btn)[aria-busy="true"] { cursor:progress; }
  .jr-toggle:has(input:focus-visible) { outline:3px solid #e91e8c; outline-offset:3px; border-radius:8px; }
}

@media screen and (max-width:860px) {
  html body :is(button,summary,a[role="button"],.btn,.btn-p,.btn-s,.btn-login,.nav-cta,.jr-btn-pro,.jr-glow-btn,.jr-soft-btn,.jr-danger-btn) {
    min-height:var(--jr-ui-touch)!important;
    min-width:44px;
    box-sizing:border-box;
    line-height:1.35;
  }
  html body :is(.btn,.btn-p,.btn-s,.btn-login,.jr-btn-pro,.jr-glow-btn,.jr-soft-btn,.jr-danger-btn) {
    border-radius:var(--jr-ui-radius)!important;
    white-space:normal;
    overflow-wrap:break-word;
    justify-content:center;
    padding:10px 12px;
    font-size:14px;
  }
  html body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select,textarea) {
    font-size:16px!important;
    max-width:100%; min-width:0; box-sizing:border-box;
    border-radius:10px;
  }
  html body textarea { line-height:1.5; resize:vertical; }
  html body :is(.form-grid,.formgrid,.jr147-form-grid) { grid-template-columns:minmax(0,1fr)!important; gap:12px!important; }
  body :is(.form-grid,.formgrid,.jr147-form-grid)>* { grid-column:auto!important; }
  body :is(.actions,.acoes) { display:flex; flex-wrap:wrap!important; align-items:stretch; gap:8px!important; }
  body :is(.actions,.acoes)>:is(button,a.btn) { flex:1 1 140px; max-width:100%; }
  body :is(.jr-fm-actions,.jr-portal-card-actions,.jr-project-grid) a {
    display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px;
  }
  body :is(.card,.panel,.jr-card,.jr-portal-panel,.jr147-form-section):not(#docwrap *) {
    border-radius:14px; padding:16px; background-clip:padding-box;
  }
  body :is(.hint,.field-help,label.hint):not(#docwrap *) { font-size:13px; line-height:1.5; }
  body :is(.status,.badge,.pill,.chip) { white-space:normal; max-width:100%; line-height:1.4; }
  body :is(.toolbar,.topbar) { min-width:0; gap:8px; }
  body :is(.toolbar,.topbar)>:is(input,select) { min-width:0; }
  body :is(.jr-admin-modal-body,.jr-portal-ai-body,.mbox,dialog) { overscroll-behavior:contain; }
  body :is(.jr-admin-modal-actions,.jr-portal-ai-actions) { flex-wrap:wrap; gap:8px; padding-bottom:max(12px,env(safe-area-inset-bottom)); }
  body :is(.jr-admin-modal-actions,.jr-portal-ai-actions)>button { flex:1 1 120px; }
  body :is(.jr-icone,.jr-fm-view button) { min-width:44px!important; min-height:44px!important; }
  body :is(.jr-toggle,label:has(>input[type="checkbox"]),label:has(>input[type="radio"])) { min-height:44px; align-items:center; }
  body :is(.jr-admin-modal-overlay,.jr-portal-ai-modal,.mback) { padding-inline:max(8px,env(safe-area-inset-left)); }
}

@media screen and (max-width:480px) {
  body :is(.grid2,.grid3):not(#docwrap *) { grid-template-columns:minmax(0,1fr)!important; }
  body :is(.form-title,.form-box h2):not(#docwrap *) { font-size:24px; line-height:1.2; }
}

@media screen and (max-width:360px) {
  body > #main.box .grid:has(#pacoteEsperado) { grid-template-columns:minmax(0,1fr)!important; }
  body > #main.box .grid:has(#pacoteEsperado) .metric:last-child { grid-column:auto!important; }
}

@media screen and (hover:none), screen and (pointer:coarse) {
  body :is(button,.btn,.nav-btn,.jr-btn-pro,.jr-action):hover { transform:none!important; }
  body .nav-btn[title]:hover:after,body [data-tip]:hover:after { display:none!important; }
}
