/* TECNET_MOBILE_M2: base visual para telefone; regras de negocio preservadas. */
.tn-login-intro { display:none; }
@media screen and (max-width:767.98px), screen and (max-width:1023px) and (pointer:coarse) {
  #app-shell #app-main { background:#f3f6fb; }
  #app-shell #app-content { padding:12px max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)) !important; font-size:15px; line-height:1.5; color:#1e293b; }
  #app-content > *, #app-content form > * { min-width:0; }
  #app-content > [class*="max-w-"] { width:100%; }
  #app-content h1 { font-size:23px !important; line-height:1.3 !important; overflow-wrap:anywhere; }
  #app-content .text-xs { font-size:13px !important; line-height:1.45; }
  #app-content .text-sm { font-size:14px !important; line-height:1.45; }
  #app-content .text-\[\#9ca3af\], #app-content .text-gray-400 { color:#64748b !important; }
  #app-content .text-\[\#6b7280\], #app-content .text-gray-500 { color:#475569 !important; }
  #app-content label { font-size:13px; line-height:1.4; }
  #app-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="color"]), #app-content select, #app-content textarea { min-width:0; max-width:100%; min-height:46px; font-size:16px !important; border-radius:10px; }
  #app-content input::placeholder, #app-content textarea::placeholder { color:#64748b !important; opacity:1; }
  #app-content button, #app-content a.h-9, #app-content a.h-10, #app-content a[role="button"] { min-height:44px; min-width:44px; font-size:14px; line-height:1.35; }
  #app-content button:not(:disabled), #app-content a, #menu-mobile summary { touch-action:manipulation; }
  #app-content :is(button,a,input,select,textarea,summary):focus-visible, #menu-mobile :is(a,summary):focus-visible, #menu-mobile-btn:focus-visible { outline:3px solid #0891b2; outline-offset:3px; }
  #app-content form > [class*="min-w-"] { min-width:0 !important; max-width:100%; flex-basis:100%; }
  #app-content .bg-white.rounded-2xl { border-radius:16px; box-shadow:0 3px 14px rgba(26,52,84,.055); }
  #app-shell #app-main #mobile-header { padding: max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left)) !important; min-height:60px; gap:12px; box-shadow:0 2px 10px rgba(5,5,46,.12); }
  #mobile-header > a { min-width:0; font-size:17px; line-height:1.3; }
  #app-shell #app-main #menu-mobile-btn { width:44px; height:44px; min-width:44px; border-radius:12px; background:rgba(255,255,255,.09); }
  #app-shell #app-main #menu-mobile :is(a,summary) { min-height:46px !important; font-size:14px !important; line-height:1.4 !important; }
  #menu-mobile a { display:flex; align-items:center; }
  #menu-mobile { touch-action:pan-y; scrollbar-gutter:stable; }
  body.nc-mobile-menu-open { touch-action:pan-y !important; }
  #tn-ixc-status { padding:8px 12px 0; }
  #tn-ixc-status > span { font-size:12px; line-height:1.4; padding:5px 10px; white-space:normal; }
  body.tn-login-page { min-height:100svh; padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); background:linear-gradient(155deg,#05052e,#0a0a68 60%,#145497); }
  .tn-login-page .tn-login-card { padding:24px; background:#fff; border:1px solid #dbe5f0; border-radius:22px; box-shadow:0 18px 55px rgba(0,0,0,.22); color:#1e293b; }
  .tn-login-page .tn-login-intro { display:block; margin-bottom:20px; }
  .tn-login-intro h1 { font-size:24px; font-weight:750; line-height:1.25; color:#122d4b; }
  .tn-login-intro p { margin-top:6px; font-size:14px; line-height:1.5; color:#475569; }
  .tn-login-card label { font-size:14px; font-weight:600; color:#334155; }
  .tn-login-card input { min-height:48px; font-size:16px; color:#0f172a; background:#f8fafc; border-color:#b8c8da; border-radius:10px; }
  .tn-login-card button { min-height:48px; border-radius:10px; font-size:16px; }
  .tn-login-page > div:last-child { color:#cbd5e1; }
  .opa-raiz { background:#f3f6fb; font-size:15px; line-height:1.5; }
  .opa-raiz > header { gap:8px; padding:12px; }
  .opa-raiz > header > .min-w-0 { flex-basis:calc(100% - 56px); }
  .opa-raiz > header > .min-w-0 > div { font-size:16px; }
  .opa-raiz :is(button,a.h-9) { min-height:44px; min-width:44px; }
  .opa-raiz :is(input,select,textarea) { min-height:46px; font-size:16px !important; max-width:100%; }
  .opa-raiz .text-xs, .opa-raiz .text-\[10px\], .opa-raiz .text-\[11px\] { font-size:12px !important; line-height:1.45; }
  .opa-raiz .text-\[\#9ca3af\] { color:#64748b !important; }
  .opa-raiz .text-\[\#6b7280\] { color:#475569 !important; }
  .opa-raiz :is(input,select,textarea,button,a):focus-visible { outline:3px solid #0891b2; outline-offset:3px; }
}
