/* SoPedir Financeiro Corporativo 3.0 — identidade oficial */
:root{
  --sp-bg:#f4f7f5;--sp-surface:#ffffff;--sp-surface-2:#f8fbf9;--sp-ink:#0b1712;--sp-muted:#66756e;
  --sp-line:#e2e9e5;--sp-green:#00e889;--sp-green-2:#00c875;--sp-green-3:#0a6c49;
  --sp-navy:#06130f;--sp-navy-2:#0a1e17;--sp-shadow:0 18px 50px rgba(8,35,24,.08);--sp-shadow-lg:0 30px 90px rgba(3,24,16,.18)
}
*{scrollbar-width:thin;scrollbar-color:#bad0c5 transparent}
body{background:linear-gradient(180deg,#f7faf8 0%,#f1f5f3 100%)!important;color:var(--sp-ink)!important}

/* LOGIN */
.auth{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)!important;background:#06130f!important}
.auth:before{background:radial-gradient(circle at 18% 18%,rgba(0,232,137,.22),transparent 24%),radial-gradient(circle at 56% 78%,rgba(0,232,137,.10),transparent 30%)!important}
.auth-visual{padding:54px clamp(36px,6vw,92px)!important;background:linear-gradient(150deg,rgba(0,232,137,.05),transparent 42%)!important;border-right:1px solid rgba(255,255,255,.07)!important}
.auth-brand{gap:18px!important}.auth-brand img{width:88px!important;height:88px!important;border-radius:27px!important;box-shadow:0 24px 65px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.08)!important}
.auth-brand strong{font-size:30px!important;color:#fff!important;letter-spacing:-.05em!important}.auth-brand span{font-size:10px!important;color:#7ea294!important;letter-spacing:.21em!important}
.auth-hero{max-width:800px!important}.auth-kicker{background:rgba(0,232,137,.08)!important;color:#91f7c9!important;border-color:rgba(0,232,137,.22)!important}
.auth-hero h2{font-size:clamp(48px,5.4vw,84px)!important;line-height:.95!important;margin:26px 0 22px!important;letter-spacing:-.07em!important}.auth-hero h2 em{color:var(--sp-green)!important}
.auth-hero p{max-width:700px!important;color:#9eb8ad!important;font-size:17px!important;line-height:1.7!important}
.auth-benefits{gap:14px!important;margin-top:38px!important}.auth-benefit{border-radius:20px!important;padding:18px!important;background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.075)!important}.auth-benefit b{font-size:12px!important;color:#f3fff9!important}.auth-benefit span{font-size:11px!important;color:#78998b!important}
.auth-form-side{background:linear-gradient(180deg,#f9fbfa 0%,#eef4f1 100%)!important;padding:clamp(28px,5vw,72px)!important}
.auth-card{width:min(520px,100%)!important;border-radius:30px!important;border:1px solid #dfe8e3!important;padding:42px!important;box-shadow:var(--sp-shadow-lg)!important;position:relative!important;overflow:hidden!important}
.auth-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--sp-green),#4ef1ad)}
.auth-card h1{font-size:38px!important;letter-spacing:-.055em!important;color:#0a1711!important}.auth-card .auth-copy{font-size:13.5px!important;color:#708078!important}
.auth .field label{font-size:10px!important;color:#465a51!important}.auth .field input{height:56px!important;border:1px solid #dce6e1!important;border-radius:15px!important;background:#fcfdfd!important}.auth .field input:focus{border-color:var(--sp-green-2)!important;box-shadow:0 0 0 4px rgba(0,232,137,.10)!important}
.auth .btn.primary{height:56px!important;border-radius:15px!important;background:linear-gradient(135deg,#00e889,#00c976)!important;color:#042217!important;box-shadow:0 13px 28px rgba(0,200,117,.24)!important}
.auth-meta{background:#f7faf8!important;border:1px solid #e7eeea!important;border-radius:15px!important;padding:14px!important;margin-top:20px!important}

/* ESTRUTURA */
.layout{grid-template-columns:286px minmax(0,1fr)!important;background:#f3f6f4!important}
.sidebar{width:auto!important;padding:22px 16px!important;background:linear-gradient(180deg,#061710 0%,#071c14 55%,#04120d 100%)!important;border-right:1px solid rgba(255,255,255,.04)!important;box-shadow:15px 0 50px rgba(3,23,15,.07)!important}
.sidebar .brand{margin:0 0 14px!important;padding:8px 10px 22px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;gap:12px!important}.sidebar .brand-logo{width:54px!important;height:54px!important;border-radius:17px!important;box-shadow:0 10px 30px rgba(0,0,0,.28)!important}.sidebar-brand-name{display:block;font-size:19px;color:#fff;line-height:1.05;letter-spacing:-.04em}.sidebar-brand-sub{display:block;margin-top:5px;font-size:8px;color:#6f9685;letter-spacing:.17em;font-weight:900}
.nav{gap:4px!important}.nav a{min-height:46px!important;border-radius:12px!important;padding:10px 12px!important;font-size:12.8px!important;color:#97afa5!important}.nav a:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}.nav a.active{background:linear-gradient(90deg,rgba(0,232,137,.18),rgba(0,232,137,.055))!important;color:#f2fff9!important;border-color:rgba(0,232,137,.15)!important;box-shadow:inset 3px 0 0 var(--sp-green)!important}.nav-ico{background:rgba(255,255,255,.055)!important;color:#66f2b4!important}
.side-bottom{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.065)!important;border-radius:14px!important;padding:13px!important;left:16px!important;right:16px!important;bottom:16px!important}.side-bottom .btn{background:rgba(255,255,255,.075)!important;color:#dbe8e2!important}
.main{background:linear-gradient(180deg,#f7faf8 0,#f1f5f3 100%)!important;min-height:100vh!important}.topbar{height:80px!important;padding:0 clamp(18px,3vw,36px)!important;background:rgba(255,255,255,.88)!important;border-bottom:1px solid #e2e9e5!important;box-shadow:0 8px 30px rgba(7,31,21,.035)!important}.topbar h1{font-size:20px!important;color:#122018!important}.date-pill{border:1px solid #e0e9e4!important;background:#f8fbf9!important;color:#5e7168!important}.avatar{background:linear-gradient(135deg,#0a2b20,#0d563a)!important;color:#77f5bd!important}
.content{max-width:1680px!important;margin:0 auto!important;padding:32px clamp(18px,3vw,38px) 44px!important}

/* DASHBOARD */
.page-intro{border:1px solid #dfe9e4!important;background:#fff!important;border-radius:24px!important;padding:28px 30px!important;box-shadow:var(--sp-shadow)!important}.dashboard-intro{min-height:190px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:radial-gradient(circle at 86% 20%,rgba(0,232,137,.15),transparent 29%),linear-gradient(125deg,#061710 0%,#0b2d20 100%)!important;border:1px solid rgba(0,232,137,.14)!important;color:#fff!important;box-shadow:0 24px 70px rgba(3,32,20,.17)!important;overflow:hidden!important;position:relative!important}.dashboard-intro:after{content:"S";position:absolute;right:38px;bottom:-95px;font-size:260px;font-weight:1000;color:rgba(0,232,137,.055);line-height:1}.dashboard-intro h2{color:#fff!important;font-size:42px!important;letter-spacing:-.055em!important}.dashboard-intro p{color:#9cb8ac!important;font-size:14px!important}.eyebrow{color:#0a8c5a!important}.dashboard-intro .eyebrow{color:#67f2b2!important}.live-chip{background:rgba(0,232,137,.10)!important;border-color:rgba(0,232,137,.18)!important;color:#98f7ca!important;z-index:1}
.grid.cards{gap:16px!important;margin-top:18px!important}.card.metric{min-height:142px!important;padding:22px 23px!important;border:1px solid #e1e9e5!important;border-radius:20px!important;background:linear-gradient(180deg,#fff,#fbfdfc)!important;box-shadow:0 14px 34px rgba(7,36,24,.055)!important;position:relative!important;overflow:hidden!important}.card.metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--sp-green),#79f4bd)}.card.metric small{font-size:10.5px!important;font-weight:850!important;letter-spacing:.06em!important;color:#708179!important;text-transform:uppercase}.card.metric strong{font-size:29px!important;letter-spacing:-.04em!important}.card.metric .sub{color:#87948e!important}
.section-head{margin:30px 0 13px!important}.section-head h2{font-size:17px!important;letter-spacing:-.025em!important}.projection{border:1px solid #e0e9e4!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 32px rgba(7,35,23,.045)!important}.projection h3{font-size:15px!important}.projection .final{background:#f2fbf6!important;border-color:#d9f3e5!important}

/* CONTEÚDO / FORMULÁRIOS */
.card,.modal-ish,.table-wrap{border-color:#e0e8e4!important;box-shadow:0 12px 32px rgba(7,35,23,.045)!important}.card,.modal-ish{border-radius:20px!important;background:#fff!important}.modal-ish{padding:24px!important}.field label{font-size:10.5px!important;color:#46564f!important}.field input,.field select,.field textarea{min-height:46px!important;border-radius:12px!important;border-color:#dce5e0!important;background:#fbfdfc!important}.field input:focus,.field select:focus,.field textarea:focus{border-color:#18cc82!important;box-shadow:0 0 0 4px rgba(0,232,137,.09)!important}.btn{border-radius:11px!important}.btn.primary{background:linear-gradient(135deg,#00e889,#00c976)!important;color:#052117!important}.btn.secondary{background:#eff5f2!important;color:#173a2d!important}.table-wrap{border-radius:18px!important;background:#fff!important;overflow:auto!important}.table thead th{background:#f7faf8!important;color:#62746b!important;font-size:9.5px!important;letter-spacing:.08em!important;text-transform:uppercase!important}.table tbody tr:hover{background:#fbfdfc!important}.badge{font-weight:800!important;border-radius:999px!important}.badge.ok{background:#eafaf2!important;color:#08764b!important}.badge.warn{background:#fff7e6!important;color:#9a690a!important}.badge.danger{background:#fff0f0!important;color:#b53737!important}.badge.owner{background:#09251b!important;color:#6bf2b4!important}
.permission-grid .perm{border-radius:13px!important;border-color:#e0e8e4!important;background:#fbfdfc!important}.role-card{border-left:4px solid var(--sp-green)!important}
.notice{border-radius:14px!important;box-shadow:0 10px 25px rgba(6,31,20,.05)!important}

/* MOBILE */
@media(max-width:1080px){.layout{grid-template-columns:1fr!important}.sidebar{position:fixed!important;z-index:50!important;width:min(310px,88vw)!important;transform:translateX(-105%);transition:.22s ease;box-shadow:30px 0 80px rgba(0,0,0,.28)!important}.sidebar.open{transform:translateX(0)!important}.hamb{display:inline-flex!important}.content{padding-top:22px!important}.top-actions .date-pill{display:none}.dashboard-intro{min-height:170px!important}.dashboard-intro h2{font-size:34px!important}}
@media(max-width:820px){.auth{display:block!important}.auth-visual{min-height:auto!important;padding:28px 22px 35px!important}.auth-brand img{width:68px!important;height:68px!important}.auth-hero{margin:54px 0 8px!important}.auth-hero h2{font-size:46px!important}.auth-benefits{grid-template-columns:1fr!important}.auth-foot{display:none!important}.auth-form-side{min-height:auto!important;padding:18px 14px 34px!important}.auth-card{padding:28px 22px!important;border-radius:24px!important}.auth-card h1{font-size:31px!important}.grid.cards,.grid.three,.grid.two,.permissions-layout{grid-template-columns:1fr!important}.dashboard-intro{align-items:flex-start!important;min-height:auto!important}.live-chip{display:none!important}.content{padding-left:14px!important;padding-right:14px!important}.topbar{padding:0 14px!important}.top-user span:not(.avatar){display:none!important}.form-grid{grid-template-columns:1fr!important}.span2,.span3,.span4{grid-column:auto!important}}
@media(max-width:520px){.auth-visual{padding-top:22px!important}.auth-hero h2{font-size:38px!important}.auth-card{padding:24px 18px!important}.dashboard-intro{padding:24px!important}.dashboard-intro h2{font-size:30px!important}.card.metric strong{font-size:25px!important}.table{min-width:760px!important}.page-intro{padding:22px!important}}


/* ===== UI 3.2 · CORREÇÃO DEFINITIVA DO MENU LATERAL ===== */
.sidebar{
  display:flex!important;
  flex-direction:column!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:hidden!important;
}
.sidebar .brand{
  flex:0 0 auto!important;
}
.sidebar .nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:2px 4px 18px 0!important;
  margin-right:-4px!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(98,242,178,.28) transparent;
}
.sidebar .nav::-webkit-scrollbar{width:5px}
.sidebar .nav::-webkit-scrollbar-track{background:transparent}
.sidebar .nav::-webkit-scrollbar-thumb{
  background:rgba(98,242,178,.22);
  border-radius:999px;
}
.sidebar .side-bottom{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  flex:0 0 auto!important;
  margin-top:10px!important;
  padding:13px!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.065)!important;
  border-radius:14px!important;
  box-shadow:0 -10px 30px rgba(3,15,10,.10)!important;
}
.sidebar .user-mini{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:break-word!important;
  max-height:56px!important;
}
.mobile-overlay{
  pointer-events:none;
}
.mobile-overlay.show{
  pointer-events:auto!important;
}
@media(min-width:1081px){
  .mobile-overlay,
  .mobile-overlay.show{
    display:none!important;
  }
}
@media(max-width:1080px){
  .sidebar{
    top:0!important;
    bottom:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  .sidebar .nav{
    padding-bottom:16px!important;
  }
  .sidebar .side-bottom{
    margin-bottom:max(10px, env(safe-area-inset-bottom))!important;
  }
}


/* ===== UI 3.3 · RELATÓRIOS E EXPORTAÇÕES ===== */
.report-quickbar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid #dfe8e3;border-radius:16px;padding:13px 15px;margin-bottom:18px;box-shadow:0 7px 22px rgba(8,35,24,.035)}
.report-quickbar>div:first-child{display:flex;flex-direction:column;gap:2px}.report-quickbar strong{font-size:12px}.report-quickbar span{font-size:10.5px;color:#7a8982}.report-quick-actions{display:flex;gap:8px;flex-wrap:wrap}
.report-intro{background:linear-gradient(120deg,#071d15,#0b3022)!important;color:#fff!important}.report-intro h2{color:#fff!important}.report-intro p{color:#9dc1b1!important}
.export-formats{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.export-formats span{border:1px solid rgba(91,238,172,.18);background:rgba(0,226,132,.08);color:#79f0ba;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:900;letter-spacing:.07em}
.report-builder{padding:22px!important}.report-builder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-builder-grid .span2{grid-column:span 2}.report-filter-action{align-self:end}
.report-columns{border-top:1px solid #e6ece9;margin-top:18px;padding-top:12px}.column-checks{display:flex;flex-wrap:wrap;gap:8px}.column-checks label{display:flex;align-items:center;gap:8px;background:#f7faf8;border:1px solid #e1e9e5;border-radius:10px;padding:8px 10px;font-size:10.5px;font-weight:700;cursor:pointer}.column-checks input{accent-color:#00c878}
.export-panel{margin-top:20px;background:linear-gradient(110deg,#071b14,#0a2b1f);border-radius:18px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff}.export-panel h3{font-size:22px;margin:3px 0}.export-panel p{margin:0;color:#93b7a7;font-size:11px}.export-buttons{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;min-width:min(680px,65%)}
.export-btn{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);color:#fff;border-radius:13px;padding:12px;text-align:left;cursor:pointer;transition:.18s}.export-btn:hover{transform:translateY(-2px);background:rgba(0,226,132,.10);border-color:rgba(0,226,132,.25)}.export-btn b{display:block;font-size:12px;color:#78f0b8}.export-btn span{display:block;color:#839f93;font-size:8.5px;margin-top:4px}.report-preview table{min-width:1100px}.report-preview td{white-space:normal;max-width:260px}
@media(max-width:1100px){.report-builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-panel{display:block}.export-buttons{min-width:0;width:100%;margin-top:16px;grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.report-quickbar{align-items:flex-start;display:block}.report-quick-actions{margin-top:10px}.report-builder-grid{display:block}.report-builder-grid .field{margin-bottom:11px}.export-buttons{grid-template-columns:repeat(2,1fr)}.export-panel{padding:16px}.export-formats{justify-content:flex-start;margin-top:12px}}

/* Financeiro 4.0 */
.actions{display:flex;gap:7px;flex-wrap:wrap}.btn.danger{background:#fff0f0!important;color:#b42318!important;border:1px solid #ffd4d4!important}.page-intro{background:linear-gradient(120deg,#071d15,#0b3022);color:#fff;border-radius:22px;padding:26px;margin-bottom:20px}.page-intro h2{color:#fff;margin:4px 0}.page-intro p{color:#a9c7ba;margin:0}.source-sync{font-size:9px;border-radius:999px;padding:5px 8px;background:#eff6ff;color:#1d4ed8;font-weight:800}
