
:root{--f2-bg:#f4f6f8;--f2-panel:#fff;--f2-panel-soft:#f8fafc;--f2-text:#17212b;--f2-muted:#6b7785;--f2-border:#e5e9ef;--f2-primary:#0b7a53;--f2-primary-2:#096444;--f2-primary-soft:#eaf7f1;--f2-navy:#10243e;--f2-danger:#d94242;--f2-warning:#d99016;--f2-info:#2374c6;--f2-shadow:0 10px 30px rgba(16,36,62,.07);--f2-shadow-lg:0 24px 70px rgba(16,36,62,.18);--f2-radius:16px;--f2-sidebar:268px;--f2-topbar:72px}
*{box-sizing:border-box}html,body{background:var(--f2-bg)!important;color:var(--f2-text);font-family:Inter,"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif!important}body{overflow-x:hidden}.wrapper,.main-panel{background:var(--f2-bg)!important}.main-panel{min-height:100vh}.main-header{box-shadow:none!important;background:transparent!important}.container,.container-fluid,.page-inner{max-width:100%}.page-inner{padding:28px 30px 44px!important}
/* sidebar */
.sidebar.f2-sidebar{width:var(--f2-sidebar)!important;background:linear-gradient(180deg,#0e2036 0%,#102b2b 100%)!important;border:0!important;box-shadow:12px 0 32px rgba(10,24,40,.12)!important}.f2-sidebar .sidebar-logo,.f2-sidebar .logo-header{background:transparent!important;border:0!important}.f2-sidebar .logo-header{height:88px!important;padding:14px 18px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.f2-sidebar .logo{display:flex!important;align-items:center!important;gap:12px!important;min-width:0}.f2-sidebar .logo img{width:156px!important;max-width:156px!important;height:52px!important;max-height:52px!important;object-fit:contain!important;margin:0!important}.f2-sidebar .sidebar-wrapper{height:calc(100vh - 88px)!important}.f2-sidebar .sidebar-content{padding:14px 10px 24px}.f2-sidebar .f2-menu-label{padding:17px 14px 7px;color:#72908f;font-size:.69rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.f2-sidebar .nav>.nav-item>a{margin:3px 4px!important;padding:11px 13px!important;border-radius:12px!important;color:#c8d5df!important;display:flex!important;align-items:center!important;gap:10px!important;transition:.18s ease}.f2-sidebar .nav>.nav-item>a i{width:22px!important;text-align:center;color:#8eb1aa!important;font-size:1rem!important}.f2-sidebar .nav>.nav-item>a p{font-size:.88rem!important;font-weight:600!important;color:inherit!important;margin:0!important;flex:1}.f2-sidebar .nav>.nav-item>a:hover,.f2-sidebar .nav>.nav-item.active>a{background:rgba(255,255,255,.09)!important;color:#fff!important;transform:none!important}.f2-sidebar .nav>.nav-item.active>a{box-shadow:inset 3px 0 0 #35c58a}.f2-sidebar .nav>.nav-item.active>a i,.f2-sidebar .nav>.nav-item>a:hover i{color:#4dd69d!important}.f2-sidebar .nav-collapse{padding:2px 0 7px!important}.f2-sidebar .nav-collapse li a{margin:2px 4px 2px 35px!important;padding:8px 12px!important;border-radius:9px!important;color:#9fb1bd!important;font-size:.82rem!important}.f2-sidebar .nav-collapse li a:hover,.f2-sidebar .nav-collapse li.active>a{background:rgba(255,255,255,.065)!important;color:#fff!important}.f2-sidebar .badge{font-size:.65rem!important}.f2-sidebar .f2-sidebar-footer{margin:14px 8px 0;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.045);color:#a9bcc5;font-size:.76rem}
/* navbar */
.f2-navbar{min-height:var(--f2-topbar)!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(16px);border-bottom:1px solid var(--f2-border)!important;padding:0 24px!important}.f2-navbar .container-fluid{min-height:var(--f2-topbar);gap:14px}.f2-search{position:relative;max-width:460px;width:100%}.f2-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8b96a3}.f2-search input{width:100%;height:42px;border:1px solid var(--f2-border);border-radius:12px;background:#f7f9fb;padding:0 15px 0 40px;color:var(--f2-text);outline:none}.f2-search input:focus{background:#fff;border-color:#9ad3bd;box-shadow:0 0 0 4px rgba(11,122,83,.09)}.f2-top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.f2-icon-btn{width:40px;height:40px;border:1px solid var(--f2-border);border-radius:12px;background:#fff;color:#536170;display:grid;place-items:center;text-decoration:none;position:relative}.f2-icon-btn:hover{background:var(--f2-panel-soft);color:var(--f2-primary)}.f2-notification-dot{position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:#e55050;border:2px solid #fff}.f2-new-btn{height:40px;border-radius:12px!important;display:inline-flex!important;align-items:center!important;gap:8px!important}.f2-user{display:flex!important;align-items:center!important;gap:10px!important;padding:5px 7px 5px 5px!important;border:1px solid var(--f2-border)!important;border-radius:13px!important;background:#fff!important;text-decoration:none!important;color:var(--f2-text)!important}.f2-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--f2-primary),#20a979);color:#fff;display:grid;place-items:center;font-size:.78rem;font-weight:800}.f2-user-meta{line-height:1.1}.f2-user-name{font-size:.82rem;font-weight:700}.f2-user-role{font-size:.68rem;color:var(--f2-muted);margin-top:3px}
/* shared components */
.f2-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.f2-page-head h1{font-size:1.65rem!important;line-height:1.2;margin:0!important;font-weight:800!important;letter-spacing:-.025em}.f2-page-head p{margin:6px 0 0;color:var(--f2-muted);font-size:.9rem}.f2-actions{display:flex;gap:9px;flex-wrap:wrap}.card,.f2-card{border:1px solid var(--f2-border)!important;border-radius:var(--f2-radius)!important;background:var(--f2-panel)!important;box-shadow:var(--f2-shadow)!important;overflow:hidden}.card-header{background:#fff!important;border-bottom:1px solid var(--f2-border)!important;padding:18px 20px!important}.card-body{padding:20px!important}.card-title{font-weight:800!important;color:var(--f2-text)!important}.btn{border-radius:11px!important;font-weight:700!important;box-shadow:none!important}.btn-primary,.btn-success{background:var(--f2-primary)!important;border-color:var(--f2-primary)!important}.btn-primary:hover,.btn-success:hover{background:var(--f2-primary-2)!important;border-color:var(--f2-primary-2)!important}.btn-light{background:#fff!important;border-color:var(--f2-border)!important}.form-control,.form-select{border:1px solid #d9e0e7!important;border-radius:11px!important;min-height:43px!important;background:#fff!important;color:var(--f2-text)!important;box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:#7ec4aa!important;box-shadow:0 0 0 4px rgba(11,122,83,.09)!important}.form-label,label{font-size:.79rem;font-weight:750;color:#405061;margin-bottom:7px}.table-responsive{border:1px solid var(--f2-border);border-radius:14px}.table{margin:0!important}.table thead th{background:#f7f9fb!important;color:#667383!important;font-size:.7rem!important;text-transform:uppercase;letter-spacing:.055em;padding:13px 14px!important;border-color:var(--f2-border)!important;white-space:nowrap}.table tbody td{padding:14px!important;border-color:#edf0f3!important;vertical-align:middle}.table tbody tr:hover{background:#fbfcfd}.badge{border-radius:999px!important;padding:.42rem .66rem!important;font-weight:800!important}.dropdown-menu{border:1px solid var(--f2-border)!important;border-radius:14px!important;box-shadow:var(--f2-shadow-lg)!important;padding:8px!important}.dropdown-item{border-radius:9px!important;padding:9px 11px!important}.alert{border:0!important;border-radius:13px!important}.f2-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.f2-kpi{padding:18px;background:#fff;border:1px solid var(--f2-border);border-radius:16px;box-shadow:var(--f2-shadow);display:flex;align-items:center;gap:13px}.f2-kpi-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--f2-primary-soft);color:var(--f2-primary);font-size:1.05rem}.f2-kpi-value{font-size:1.38rem;font-weight:850;letter-spacing:-.025em}.f2-kpi-label{font-size:.75rem;color:var(--f2-muted);margin-top:3px}.f2-section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#718090;margin:0 0 12px}.f2-filter{padding:17px;background:#fff;border:1px solid var(--f2-border);border-radius:16px;box-shadow:var(--f2-shadow);margin-bottom:20px}.f2-empty{padding:46px 20px;text-align:center;color:var(--f2-muted)}
/* modals */
.modal-backdrop.show{opacity:.38!important;backdrop-filter:blur(3px)}.modal-dialog{margin:1.3rem auto}.modal-content{border:0!important;border-radius:20px!important;box-shadow:0 28px 90px rgba(16,36,62,.26)!important;overflow:hidden!important}.modal-header{padding:18px 21px!important;background:#fff!important;border-bottom:1px solid var(--f2-border)!important}.modal-title{font-size:1.05rem!important;font-weight:850!important;letter-spacing:-.01em}.modal-body{padding:20px!important;background:#f8fafc!important}.modal-footer{padding:14px 20px!important;background:#fff!important;border-top:1px solid var(--f2-border)!important}.modal-xl{max-width:min(1180px,95vw)!important}.modal iframe{width:100%;min-height:72vh;border:0;border-radius:13px;background:#fff}.swal2-popup{border-radius:20px!important;box-shadow:var(--f2-shadow-lg)!important}.swal2-confirm{background:var(--f2-primary)!important;border-radius:11px!important}
/* purchase */
.f2-purchase-list{display:grid;gap:10px}.f2-purchase-row{display:grid;grid-template-columns:125px 130px minmax(170px,1.2fr) minmax(170px,1fr) 130px 110px 130px;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--f2-border);border-radius:14px;background:#fff;transition:.16s}.f2-purchase-row:hover{border-color:#b8d9cc;box-shadow:0 10px 24px rgba(16,36,62,.07);transform:translateY(-1px)}.f2-purchase-code{font-weight:850;color:var(--f2-navy)}.f2-purchase-muted{font-size:.74rem;color:var(--f2-muted);margin-top:3px}.f2-money{font-weight:850;text-align:right}.f2-row-actions{display:flex;justify-content:flex-end;gap:5px}.f2-row-actions .btn{width:36px;height:36px;padding:0!important;display:grid;place-items:center}
/* wizard / purchase form */
.f2-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.f2-form-card{padding:22px;background:#fff;border:1px solid var(--f2-border);border-radius:18px;box-shadow:var(--f2-shadow);margin-bottom:16px}.f2-form-card-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.f2-step-icon{width:40px;height:40px;border-radius:12px;background:var(--f2-primary-soft);color:var(--f2-primary);display:grid;place-items:center}.f2-form-card h2{font-size:1rem;margin:0;font-weight:850}.f2-form-card p{font-size:.78rem;color:var(--f2-muted);margin:3px 0 0}.f2-item{border:1px solid var(--f2-border);border-radius:14px;padding:15px;background:#fbfcfd;margin-bottom:10px}.f2-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.f2-item-index{font-size:.72rem;font-weight:850;color:var(--f2-muted);text-transform:uppercase;letter-spacing:.06em}.f2-sticky-summary{position:sticky;top:92px;padding:20px;background:linear-gradient(160deg,#10243e,#123f3b);color:#fff;border-radius:18px;box-shadow:0 18px 45px rgba(16,36,62,.18)}.f2-sticky-summary h3{color:#fff!important;font-size:1rem;margin:0 0 18px}.f2-summary-line{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.82rem}.f2-summary-total{font-size:1.65rem;font-weight:900;margin-top:18px}.f2-progress{display:flex;gap:6px;margin-bottom:18px}.f2-progress span{height:5px;flex:1;border-radius:99px;background:#dfe5ea}.f2-progress span.active{background:var(--f2-primary)}
/* generic legacy uplift */
.bg-dark{background:var(--f2-navy)!important}.bg-verde-escuro{background:var(--f2-primary)!important}.content,.page-content{background:transparent!important}.footer{background:transparent!important;border:0!important;color:var(--f2-muted)}
@media(max-width:1199px){.f2-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.f2-form-layout{grid-template-columns:1fr}.f2-sticky-summary{position:static}.f2-purchase-row{grid-template-columns:120px 120px 1fr 1fr 110px 125px}.f2-purchase-row .f2-hide-lg{display:none}}
@media(max-width:991.98px){:root{--f2-topbar:64px}.page-inner{padding:20px 14px 34px!important}.f2-navbar{padding:0 12px!important}.f2-search{display:none}.f2-new-btn span,.f2-user-meta{display:none}.f2-page-head{flex-direction:column}.f2-actions{width:100%}.f2-actions .btn{flex:1}.f2-purchase-row{grid-template-columns:1fr auto;gap:8px}.f2-purchase-row>div:not(.f2-purchase-main):not(.f2-row-actions){display:none}.f2-row-actions{align-self:center}}
@media(max-width:575.98px){.f2-kpi-grid{grid-template-columns:1fr}.card-body,.modal-body{padding:15px!important}.f2-form-card{padding:16px}.f2-navbar .f2-icon-btn{display:none}}

/* ==========================================================
   FISCCO ERP 2.0.1 — correções estruturais de rolagem/cliques
   ========================================================== */
html{
  min-height:100%;
  height:auto!important;
  overflow-x:hidden;
  overflow-y:auto!important;
  scroll-behavior:smooth;
}
body{
  min-height:100vh;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
.wrapper{
  min-height:100vh!important;
  height:auto!important;
  overflow:visible!important;
  position:relative;
}
.main-panel{
  min-height:100vh!important;
  height:auto!important;
  overflow:visible!important;
}
.main-panel>.container,
.main-panel>.container-fluid,
.main-panel>.container-full{
  min-height:calc(100vh - var(--f2-topbar))!important;
  height:auto!important;
  overflow:visible!important;
}
.page-inner{
  min-height:calc(100vh - var(--f2-topbar));
  overflow:visible!important;
}
.main-header{
  pointer-events:none;
}
.main-header .navbar,
.main-header .navbar *{
  pointer-events:auto;
}
.card,
.f2-card,
.f2-kpi,
.f2-purchase-row{
  position:relative;
  isolation:isolate;
}
.card a,
.card button,
.f2-card a,
.f2-card button,
.f2-kpi a,
.f2-kpi button,
.f2-purchase-row a,
.f2-purchase-row button{
  position:relative;
  z-index:2;
  pointer-events:auto!important;
}
.f2-link-card{
  display:flex;
  align-items:center;
  gap:13px;
  width:100%;
  min-height:100%;
  color:inherit!important;
  text-decoration:none!important;
  border-radius:inherit;
  outline:none;
}
.f2-link-card:focus-visible{
  box-shadow:0 0 0 4px rgba(11,122,83,.16);
}
.f2-kpi.is-clickable{
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.f2-kpi.is-clickable:hover{
  transform:translateY(-2px);
  border-color:#acd4c5;
  box-shadow:0 15px 34px rgba(16,36,62,.11);
}
.f2-kpi-arrow{
  margin-left:auto;
  color:#9ba7b3;
  transition:transform .18s ease,color .18s ease;
}
.f2-kpi:hover .f2-kpi-arrow{
  color:var(--f2-primary);
  transform:translateX(3px);
}
body.modal-open{
  overflow:hidden!important;
  padding-right:0!important;
}
.modal{
  overflow-y:auto!important;
}
.modal-dialog-scrollable .modal-content{
  max-height:calc(100vh - 2rem);
}
.table-responsive{
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch;
}
@media(max-width:991.98px){
  .main-panel,
  .main-header{
    width:100%!important;
  }
  .main-panel>.container,
  .main-panel>.container-fluid,
  .main-panel>.container-full{
    overflow:visible!important;
  }
}
