/* =========================================================
   MD ERP 2026 — v4.4 UI SYSTEM
   Escala tipográfica única + acabamento mobile tipo app nativo.
   Carregado por último para neutralizar divergências legadas.
   ========================================================= */
:root{
  --ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ui-fs-2xs:9px;
  --ui-fs-xs:10px;
  --ui-fs-sm:11px;
  --ui-fs-md:12px;
  --ui-fs-base:13px;
  --ui-fs-lg:15px;
  --ui-fs-xl:18px;
  --ui-fs-2xl:24px;
  --ui-fs-hero:34px;
  --ui-lh-tight:1.18;
  --ui-lh-base:1.45;
  --ui-radius-xs:8px;
  --ui-radius-sm:10px;
  --ui-radius-md:13px;
  --ui-radius-lg:16px;
  --ui-control-h:42px;
}

html,body,button,input,select,textarea,.btn,.form-control,.custom-select,.select2-container,.table{
  font-family:var(--ui-font)!important;
}
body{font-size:var(--ui-fs-base)!important;line-height:var(--ui-lh-base)!important;color:#253247!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---------------------------
   TIPOGRAFIA GLOBAL
   --------------------------- */
h1,h2,h3,h4,h5,h6,.card-title,.modal-title{font-family:var(--ui-font)!important;color:#172033!important;letter-spacing:-.025em!important}
h1{font-size:var(--ui-fs-2xl)!important;line-height:var(--ui-lh-tight)!important;font-weight:800!important}
h2{font-size:var(--ui-fs-xl)!important;line-height:1.22!important;font-weight:800!important}
h3{font-size:var(--ui-fs-lg)!important;line-height:1.25!important;font-weight:800!important}
h4,h5,h6{font-size:var(--ui-fs-base)!important;line-height:1.3!important;font-weight:750!important}
p{font-size:var(--ui-fs-md)!important;line-height:1.55!important}
small,.small{font-size:var(--ui-fs-xs)!important;line-height:1.4!important}
label,.form-group label{font-size:var(--ui-fs-sm)!important;line-height:1.25!important;font-weight:700!important;color:#445269!important;margin-bottom:7px!important}

.v35-kicker,.erp-mini-copy span,.erp-metric-card span,.erp-list-card-grid span,.company-detail-summary span,.company-detail-list dt{
  font-size:var(--ui-fs-2xs)!important;
  line-height:1.25!important;
  letter-spacing:.09em!important;
  font-weight:800!important;
}
.v35-page-header h1{font-size:28px!important;line-height:1.1!important;font-weight:850!important;letter-spacing:-.038em!important}
.v35-page-header p{font-size:var(--ui-fs-md)!important;line-height:1.5!important}
.v35-data-head h2,.v35-panel-head h2{font-size:var(--ui-fs-lg)!important;line-height:1.22!important;font-weight:800!important}
.v35-hero h1{font-size:var(--ui-fs-hero)!important;line-height:1.02!important;font-weight:850!important;letter-spacing:-.045em!important}
.v35-hero p{font-size:var(--ui-fs-base)!important;line-height:1.55!important}
.v35-stat-copy span{font-size:var(--ui-fs-xs)!important;font-weight:700!important;line-height:1.25!important}
.v35-stat-copy strong{font-size:22px!important;line-height:1.05!important;font-weight:800!important}
.v35-stat-copy small{font-size:var(--ui-fs-2xs)!important;line-height:1.35!important}
.erp-mini-copy strong{font-size:17px!important;font-weight:800!important;line-height:1.08!important}
.erp-mini-copy small{font-size:var(--ui-fs-xs)!important;line-height:1.42!important}
.erp-metric-card strong{font-size:20px!important;line-height:1.05!important;font-weight:800!important}
.erp-metric-card small{font-size:var(--ui-fs-xs)!important;line-height:1.42!important}
.erp-card-head h3{font-size:var(--ui-fs-lg)!important;line-height:1.2!important;font-weight:800!important}
.erp-card-head p{font-size:var(--ui-fs-xs)!important;line-height:1.45!important}
.erp-radar-item strong,.erp-activity-copy strong{font-size:var(--ui-fs-md)!important;line-height:1.3!important;font-weight:750!important}
.erp-radar-item small,.erp-activity-copy p{font-size:var(--ui-fs-xs)!important;line-height:1.45!important}
.v35-company-info strong,.v35-entity strong{font-size:var(--ui-fs-md)!important;line-height:1.3!important;font-weight:750!important}
.v35-company-info span,.v35-entity small,.v35-company-phone small,.v35-company-phone strong{font-size:var(--ui-fs-xs)!important;line-height:1.35!important}
.v35-shortcut strong{font-size:var(--ui-fs-md)!important;line-height:1.28!important;font-weight:750!important}
.v35-shortcut small{font-size:var(--ui-fs-xs)!important;line-height:1.4!important}
.v35-toolbar-meta,.erp-search-note,.erp-inline-badge,.v35-view-badge,.v35-mini-pill,.v35-status,.v35-report-time,.erp-chip{font-size:var(--ui-fs-xs)!important;line-height:1.3!important}

/* ---------------------------
   CONTROLES / BOTÕES
   --------------------------- */
.v35-btn,.btn{min-height:var(--ui-control-h)!important;padding:0 14px!important;border-radius:var(--ui-radius-sm)!important;font-size:var(--ui-fs-sm)!important;line-height:1!important;font-weight:750!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
.form-control,.custom-select,.select2-container--bootstrap4 .select2-selection{height:var(--ui-control-h)!important;min-height:var(--ui-control-h)!important;border-radius:var(--ui-radius-sm)!important;font-size:var(--ui-fs-md)!important}
.form-control::placeholder{font-size:var(--ui-fs-md)!important;color:#8a96a8!important}
.v35-search-field{height:var(--ui-control-h)!important;border-radius:var(--ui-radius-sm)!important}
.v35-search-field input{font-size:var(--ui-fs-md)!important}
.v35-icon-btn{width:36px!important;height:36px!important;border-radius:var(--ui-radius-sm)!important;font-size:var(--ui-fs-sm)!important}

/* ---------------------------
   TABELAS / DADOS
   --------------------------- */
.table,.v35-table{font-size:var(--ui-fs-md)!important}
.table thead th,.v35-table thead th{font-size:var(--ui-fs-2xs)!important;line-height:1.25!important;font-weight:800!important;letter-spacing:.075em!important}
.table td,.v35-table td{font-size:var(--ui-fs-sm)!important;line-height:1.4!important}
.v35-doc,.v35-code{font-size:var(--ui-fs-xs)!important}

/* ---------------------------
   SIDEBAR + TOPBAR
   --------------------------- */
.v35-brand-copy strong{font-size:14px!important;font-weight:800!important}.v35-brand-copy small{font-size:8px!important}
.nav-sidebar .nav-link,.nav-sidebar .nav-link p{font-size:12px!important;line-height:1.2!important;font-weight:600!important}
.nav-treeview .nav-link,.nav-treeview .nav-link p{font-size:11px!important}
.v35-top-context small{font-size:8px!important}.v35-top-context strong{font-size:12px!important;font-weight:750!important}
.v35-account-chip small{font-size:8px!important}.v35-account-chip strong{font-size:10px!important}

/* ---------------------------
   SUPERFÍCIES MAIS CONSISTENTES
   --------------------------- */
.v35-toolbar,.v35-data-card,.v35-panel,.v35-report-card,.erp-card,.erp-mini-tile,.erp-metric-card,.card{border-radius:var(--ui-radius-lg)!important}
.v35-shortcut,.erp-radar-item,.erp-activity-item,.erp-list-card,.erp-list-card-grid>div{border-radius:var(--ui-radius-md)!important}
.v35-data-head,.v35-panel-head,.erp-card-head{padding:15px 17px!important;min-height:62px!important}
.card-header{padding:15px 17px!important;min-height:62px!important}.card-body{padding:17px!important}.card-footer{padding:13px 17px!important}

/* =========================================================
   MOBILE — sensação de app, não desktop empilhado
   ========================================================= */
@media(max-width:767.98px){
  :root{
    --ui-fs-base:13px;
    --ui-control-h:44px;
    --ui-radius-lg:14px;
    --ui-radius-md:12px;
  }
  html,body{font-size:13px!important;background:#f3f6fa!important}
  body.md-modern{letter-spacing:0!important}
  .content-wrapper{padding-top:8px!important;padding-bottom:18px!important;background:#f3f6fa!important}
  .content{padding-left:10px!important;padding-right:10px!important}
  .container-fluid{padding-left:0!important;padding-right:0!important}

  /* topo mais semelhante a barra nativa */
  .v35-topbar{height:58px!important;min-height:58px!important;padding:0 9px!important;border-bottom:1px solid #e8edf4!important;background:rgba(255,255,255,.98)!important;box-shadow:0 1px 0 rgba(15,23,42,.02)!important}
  .v35-menu-toggle{width:38px!important;height:38px!important;border-radius:12px!important;background:#f8fafc!important;border:1px solid #e4eaf2!important}
  .v35-top-context{margin-left:8px!important}.v35-top-context strong{font-size:14px!important}.v35-top-context small{display:none!important}
  .v35-logout{width:38px!important;height:38px!important;border-radius:12px!important}

  /* cabeçalho de tela compacto */
  .v35-page-header{gap:10px!important;margin:0 0 12px!important;padding:4px 2px 0!important}
  .v35-page-header h1{font-size:22px!important;line-height:1.08!important;letter-spacing:-.032em!important;margin:4px 0 6px!important}
  .v35-page-header p{font-size:12px!important;line-height:1.48!important;color:#69778b!important;margin:0!important;max-width:38em!important}
  .v35-kicker{font-size:9px!important}
  .v35-page-actions{gap:8px!important}
  .v35-page-actions .v35-btn,.v35-page-actions .btn{min-height:44px!important;font-size:12px!important;border-radius:12px!important}

  /* cards mais densos e táteis */
  .v35-stat-grid{gap:8px!important;margin-bottom:9px!important}
  .v35-stat-card{min-height:96px!important;padding:11px!important;border-radius:14px!important;box-shadow:0 3px 12px rgba(15,23,42,.035)!important}
  .v35-stat-card-accent{min-height:86px!important}
  .v35-stat-copy span{font-size:9px!important}.v35-stat-copy strong{font-size:18px!important}.v35-stat-copy small{font-size:9px!important}
  .v35-stat-icon{width:32px!important;height:32px!important;min-width:32px!important;border-radius:10px!important}

  .erp-mini-overview,.erp-section-metrics{gap:8px!important;margin-bottom:10px!important}
  .erp-mini-tile,.erp-metric-card{min-height:94px!important;padding:11px!important;border-radius:14px!important;box-shadow:0 3px 12px rgba(15,23,42,.03)!important}
  .erp-mini-icon{width:30px!important;height:30px!important;min-width:30px!important;border-radius:10px!important;font-size:12px!important}
  .erp-mini-copy span,.erp-metric-card span{font-size:8px!important}
  .erp-mini-copy strong{font-size:15px!important}.erp-metric-card strong{font-size:17px!important}
  .erp-mini-copy small,.erp-metric-card small{font-size:9px!important;line-height:1.35!important}

  .v35-data-card,.v35-panel,.v35-report-card,.erp-card,.card{border-radius:14px!important;box-shadow:0 3px 14px rgba(15,23,42,.035)!important}
  .v35-data-head,.v35-panel-head,.erp-card-head,.card-header{min-height:56px!important;padding:12px 14px!important}
  .v35-data-head h2,.v35-panel-head h2,.erp-card-head h3{font-size:15px!important}
  .card-body{padding:14px!important}.card-footer{padding:12px 14px!important}

  /* atalhos como tiles de app */
  .v35-shortcut-grid{gap:8px!important;padding:10px!important}
  .v35-shortcut{min-height:102px!important;padding:11px!important;border-radius:13px!important;box-shadow:none!important}
  .v35-shortcut>span{width:32px!important;height:32px!important;border-radius:10px!important;margin-bottom:9px!important}
  .v35-shortcut strong{font-size:11px!important}.v35-shortcut small{font-size:9px!important}

  /* radar/timeline menores */
  .erp-card-head p{font-size:10px!important}.erp-chip{font-size:9px!important}
  .erp-radar-list,.erp-activity-list{gap:7px!important;padding:9px!important}
  .erp-radar-item,.erp-activity-item{padding:10px!important;border-radius:12px!important}
  .erp-radar-item strong,.erp-activity-copy strong{font-size:11px!important}
  .erp-radar-item small,.erp-activity-copy p{font-size:9px!important;line-height:1.38!important}

  /* listas mobile mais naturais */
  .v35-company-list{padding:4px 8px 8px!important}
  .v35-company-row{min-height:62px!important;padding:10px 5px!important;border-radius:11px!important}
  .v35-company-avatar,.v35-entity-avatar,.v35-payment-icon{width:36px!important;height:36px!important;min-width:36px!important;border-radius:11px!important}
  .v35-company-info strong,.v35-entity strong{font-size:11px!important}.v35-company-info span,.v35-entity small{font-size:9px!important}

  /* formulários com área de toque real */
  .form-control,.custom-select,.select2-container--bootstrap4 .select2-selection,.v35-search-field{height:44px!important;min-height:44px!important;border-radius:12px!important;font-size:13px!important}
  .v35-btn,.btn{min-height:44px!important;font-size:12px!important;border-radius:12px!important}
  .v35-icon-btn{width:40px!important;height:40px!important;border-radius:12px!important}
  label,.form-group label{font-size:10px!important}

  /* tabelas e badges */
  .table td,.v35-table td{font-size:11px!important}.table thead th,.v35-table thead th{font-size:8px!important}
  .v35-view-badge,.v35-mini-pill,.v35-status,.v35-report-time,.erp-inline-badge{font-size:9px!important}

  .main-footer{font-size:9px!important;line-height:1.45!important;padding:12px 13px!important;text-align:left!important}
}

@media(max-width:390px){
  .v35-page-header h1{font-size:21px!important}
  .v35-stat-card,.erp-mini-tile,.erp-metric-card{padding:10px!important}
  .v35-stat-copy strong{font-size:17px!important}.erp-mini-copy strong{font-size:14px!important}.erp-metric-card strong{font-size:16px!important}
  .v35-shortcut{min-height:98px!important;padding:10px!important}
}

/* Standalone login / PDV inherit the same text rhythm without changing their layout logic. */
.login-page,.md-pdv-page{font-family:var(--ui-font)!important;font-size:var(--ui-fs-base)!important}
.login-logo span{font-size:22px!important;font-weight:800!important;letter-spacing:-.03em!important}
.login-box-msg{font-size:12px!important;line-height:1.45!important}
.login-page .form-control,.login-page .btn{font-size:13px!important;min-height:44px!important;border-radius:12px!important}
.md-pdv-page .md-pdv-topbar h1{font-size:26px!important}.md-pdv-page .md-pdv-topbar p{font-size:12px!important}.md-pdv-page .card-title{font-size:15px!important}
