/* ============================================================
   FATURA FÁCIL — PADRÃO GLOBAL DE LAYOUT
   Unifica largura, tipografia, tabelas, formulários e navegação.
   ============================================================ */
:root{
  --ff-sidebar-width:220px;
  --ff-sidebar:#0b1930;
  --ff-sidebar-hover:#132a49;
  --ff-sidebar-active:#176b87;
  --ff-page:#f3f7fb;
  --ff-card:#fff;
  --ff-text:#172033;
  --ff-muted:#68758a;
  --ff-border:#dfe7f0;
  --ff-blue:#1268e8;
  --ff-cyan:#08a7b7;
  --ff-focus:rgba(18,104,232,.14);
  --ff-shadow:0 8px 24px rgba(27,55,90,.07);
}

html{font-size:14px!important}
*{box-sizing:border-box}
body{
  margin:0!important;
  padding-left:0!important;
  min-width:320px;
  background:var(--ff-page)!important;
  color:var(--ff-text)!important;
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.42!important;
  background-image:radial-gradient(circle at 96% 2%,rgba(8,167,183,.08),transparent 25rem)!important;
  background-attachment:fixed!important;
}
.ff-icon{width:16px!important;height:16px!important;min-width:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;vertical-align:-3px!important;margin-right:7px!important}
.ff-brand .ff-icon{width:20px!important;height:20px!important;stroke:#69a9ff!important;vertical-align:-4px!important}

/* Navegação lateral uniforme */
.ff-sidebar,.sidebar,.side{
  position:fixed!important;
  inset:0 auto 0 0!important;
  z-index:1000!important;
  width:var(--ff-sidebar-width)!important;
  min-width:var(--ff-sidebar-width)!important;
  max-width:var(--ff-sidebar-width)!important;
  height:100vh!important;
  min-height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:14px 10px!important;
  background:linear-gradient(180deg,#0d203b 0%,var(--ff-sidebar) 58%,#071426 100%)!important;
  color:#fff!important;
  border-right:1px solid rgba(117,190,220,.12)!important;
  box-shadow:8px 0 28px rgba(8,24,45,.12)!important;
}
.ff-brand,.sidebar h4,.side h4{
  margin:2px 8px 14px!important;
  padding:8px 4px 14px!important;
  border-bottom:1px solid rgba(255,255,255,.11)!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:750!important;
  letter-spacing:-.25px!important;
}
.ff-nav-link,.ff-menu-toggle,.ff-submenu a,.sidebar a,.side a{
  min-height:33px!important;
  margin:1px 0!important;
  padding:7px 9px!important;
  border-radius:9px!important;
  color:#cbd8e8!important;
  font-size:12.5px!important;
  line-height:18px!important;
  font-weight:600!important;
  text-decoration:none!important;
}
.ff-nav-link:hover,.ff-menu-toggle:hover,.ff-submenu a:hover,.sidebar a:hover,.side a:hover{
  background:var(--ff-sidebar-hover)!important;color:#fff!important;
}
.ff-nav-link.active,.ff-menu-toggle.active,.ff-submenu a.active,.sidebar a.active,.side a.active{
  background:linear-gradient(100deg,var(--ff-sidebar-active),#15547f)!important;color:#fff!important;font-weight:700!important;
  box-shadow:inset 3px 0 0 #55d4dc,0 5px 15px rgba(0,0,0,.12)!important;
}
.ff-submenu{padding-left:15px!important}.ff-submenu a{font-size:11.5px!important;min-height:30px!important;padding:6px 8px!important}
.ff-settings-toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;border:0!important;background:transparent!important;cursor:pointer!important;text-align:left!important}
.ff-settings-label{display:flex;align-items:center;min-width:0}.ff-settings-arrow{width:14px!important;height:14px!important;margin:0!important;transition:transform .16s ease!important}.ff-settings-group.open .ff-settings-arrow{transform:rotate(90deg)}
.ff-settings-submenu{display:none!important}.ff-settings-group.open .ff-settings-submenu{display:block!important}.ff-settings-submenu a{display:block!important;color:#d5e0eb!important}.ff-settings-submenu a.active{background:rgba(255,255,255,.12)!important;color:#fff!important}
.ff-separator{margin:9px 2px!important;border-color:rgba(255,255,255,.16)!important}

/* Conteúdo ocupa toda a área restante */
.container-fluid{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.container-fluid>.row,.row:has(>.ff-sidebar){margin:0!important;width:100%!important}
main,main.col-md-10,.main,.content,.page-content{
  display:block!important;
  float:none!important;
  flex:none!important;
  margin-left:var(--ff-sidebar-width)!important;
  width:calc(100% - var(--ff-sidebar-width))!important;
  max-width:none!important;
  min-width:0!important;
  padding:24px 28px!important;
}

/* Tipografia clara e proporcional */
h1{font-size:24px!important}h2{font-size:21px!important}h3{font-size:18px!important}h4{font-size:16px!important}h5{font-size:14px!important}h6{font-size:13px!important}
h1,h2,h3,h4,h5,h6{line-height:1.25!important;font-weight:700!important;letter-spacing:-.25px!important;color:#17243a!important}
p,.text-muted,.muted{font-size:12.5px!important}.text-muted,.muted{color:var(--ff-muted)!important}

/* Cards e espaços mais enxutos */
.card,.nf-card,.section-card,.filters-card,.orders-table-card{
  max-width:none!important;
  border:1px solid var(--ff-border)!important;
  border-radius:14px!important;
  background:var(--ff-card)!important;
  box-shadow:var(--ff-shadow)!important;
}
.card-body{padding:14px!important}.card-header,.card-footer{padding:10px 14px!important}

/* Tabelas legíveis sem linhas exageradas */
.table-responsive,.nf-table-wrap{width:100%!important;max-width:none!important;overflow:auto!important}
table,.table,.nf-table,.orders-table{width:100%!important;max-width:none!important;font-size:12px!important}
.table>:not(caption)>*>*,.nf-table th,.nf-table td,.orders-table th,.orders-table td{
  padding:9px 10px!important;
  vertical-align:middle!important;
  line-height:1.35!important;
}
thead th,.table thead th,.nf-table th,.orders-table th{
  font-size:11.5px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  background:#f4f8fc!important;
  color:#4a5a70!important;
  border-bottom-color:#dbe5ef!important;
}
tbody td,.table td,.nf-table td,.orders-table td{font-size:12px!important}
tbody tr,.table tbody tr{transition:background-color .15s ease!important}
tbody tr:hover,.table tbody tr:hover{background:#f2f8ff!important}

/* Botões, campos e selects compactos */
.btn,.nf-btn,.order-action-btn{
  min-height:32px!important;
  padding:6px 11px!important;
  border-radius:9px!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.btn,.nf-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;font-weight:600!important;transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .15s!important}
.btn:hover,.nf-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(30,50,70,.10)!important}
.btn-primary,.nf-btn-primary{background:linear-gradient(135deg,var(--ff-blue),#0b83d7)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 5px 13px rgba(18,104,232,.18)!important}
.btn-success{background:linear-gradient(135deg,#0c9a78,#08a7a7)!important;border-color:transparent!important}
.btn-danger{background:#fff!important;border-color:#efb8bf!important;color:#bb2d3b!important}
.btn-outline-primary{background:#fff!important;border-color:#a9c9f4!important;color:#125fca!important}
.btn-sm{min-height:29px!important;padding:5px 9px!important;font-size:11.5px!important}
input,select,textarea,.form-control,.form-select{
  font-family:inherit!important;
  font-size:12.5px!important;
}
input:not([type=checkbox]):not([type=radio]),select,.form-control,.form-select{
  min-height:34px!important;
  padding-top:6px!important;
  padding-bottom:6px!important;
  border:1px solid #cfdbe7!important;
  border-radius:9px!important;
  background-color:#fff!important;
}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{
  border-color:#5c9eef!important;
  box-shadow:0 0 0 3px var(--ff-focus)!important;
  outline:none!important;
}
.badge,[class*="status-"]{border-radius:999px!important;font-weight:700!important}
.modal-content{border:0!important;border-radius:16px!important;box-shadow:0 24px 70px rgba(12,31,55,.22)!important}
.dropdown-menu{border:1px solid var(--ff-border)!important;border-radius:12px!important;box-shadow:0 16px 38px rgba(18,38,65,.14)!important;padding:6px!important}
.dropdown-item{border-radius:8px!important;padding:8px 10px!important}
.pagination .page-link{border-radius:8px!important;margin:0 2px!important;border-color:#d9e4ef!important;color:#235a9c!important}
.form-label,label{font-size:11.5px}
.ff-datetime-range{display:grid!important;grid-template-columns:minmax(145px,1fr) 16px minmax(145px,1fr)!important;align-items:center!important;gap:4px!important}.ff-datetime-range input{width:100%!important;min-width:0!important;font-size:11px!important;padding:5px 6px!important}.ff-datetime-arrow{text-align:center;color:#89919b;font-size:12px}

/* Remove limites de largura herdados que espremem telas */
.main>.card,main>.card,.main>section,main>section,.main>.container,main>.container{max-width:none!important}

@media(max-width:900px){
  .ff-sidebar,.sidebar,.side{
    position:relative!important;width:100%!important;min-width:100%!important;max-width:none!important;height:auto!important;min-height:auto!important;
  }
  main,main.col-md-10,.main,.content,.page-content{margin-left:0!important;width:100%!important;padding:14px!important}
  .container-fluid>.row{display:block!important}
  h1{font-size:22px!important}h2{font-size:19px!important}
  .ff-datetime-range{grid-template-columns:1fr!important}.ff-datetime-arrow{transform:rotate(90deg)}
}
