:root{--bg:#0d1112;--side:#0c0c27;--panel:#202628;--panel2:#181e20;--muted:#8c939a;--text:#eef1f4;--line:#30383d;--violet:#2563eb;--violet2:#3b82f6;--pink:#0f766e;--green:#42d77d;--yellow:#ffd04b;--red:#ff6b7a;--radius:18px;--shadow:0 22px 60px rgba(0,0,0,.35)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:radial-gradient(circle at 25% 20%,rgba(37,99,235,.26),transparent 32%),radial-gradient(circle at 70% 80%,rgba(15,118,110,.18),transparent 28%),#0c1012}.login-art{padding:70px;display:flex;flex-direction:column;justify-content:center}.brand-mini{width:max-content;padding:10px 14px;border-radius:999px;background:rgba(37,99,235,.16);color:#dbeafe;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.login-art h1{font-size:clamp(40px,6vw,82px);line-height:.95;margin:28px 0 18px;max-width:760px}.login-art p{color:#b2bbc4;font-size:1.1rem;max-width:560px;line-height:1.7}.login-preview{margin-top:50px;width:min(580px,100%);height:190px;background:rgba(32,38,40,.88);border:1px solid rgba(255,255,255,.08);border-radius:26px;box-shadow:var(--shadow);padding:24px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.login-preview div{border-radius:18px;background:linear-gradient(140deg,rgba(37,99,235,.85),rgba(15,118,110,.7));opacity:.9}.login-preview div:nth-child(2){background:linear-gradient(140deg,rgba(32,38,40,.6),rgba(37,99,235,.28))}.login-preview div:nth-child(3){background:linear-gradient(140deg,rgba(32,38,40,.6),rgba(255,208,75,.24))}.login-card{align-self:center;justify-self:center;width:min(430px,calc(100% - 32px));padding:34px;background:#151a1c;border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:var(--shadow)}.eyebrow{color:var(--violet2);text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800}.login-card h2{font-size:2.2rem;margin:12px 0 6px}.login-card p{color:var(--muted);line-height:1.55;margin-bottom:24px}.login-card label{display:block;color:#c8ced4;font-size:.82rem;font-weight:700;margin-bottom:8px}.login-card input{width:100%;height:50px;border:1px solid var(--line);background:#0f1416;color:var(--text);border-radius:16px;padding:0 16px;outline:none}.login-card input:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(37,99,235,.12)}.login-card small{display:block;min-height:20px;color:var(--red);margin-top:8px}.login-card button,.primary{border:0;border-radius:16px;background:linear-gradient(135deg,var(--violet),var(--violet2));color:white;padding:13px 18px;font-weight:800;cursor:pointer;box-shadow:0 10px 25px rgba(37,99,235,.25);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.login-card button{width:100%;margin-top:10px}.app{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--side);padding:28px 22px;display:flex;flex-direction:column;gap:38px;position:sticky;top:0;height:100vh}.side-brand{display:flex;flex-direction:column;gap:2px}.side-brand strong{font-size:1.9rem;line-height:1;color:#fff}.side-brand span{font-size:.94rem;color:#bfdbfe;font-weight:800}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav a{color:#8f93aa;text-decoration:none;padding:12px 14px;border-radius:10px;font-weight:800;transition:.16s}.side-nav a:hover{color:white;background:rgba(255,255,255,.05)}.side-nav a.active{background:var(--violet);color:white}.side-footer{margin-top:auto;color:#8f93aa;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);padding-top:18px}.side-footer strong{color:var(--green)}.main{padding:28px;max-width:1540px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.topbar span{color:var(--muted);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.topbar h1{margin:4px 0 0;font-size:2.2rem}.top-actions,.actions-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions-row.left{justify-content:flex-start}.ghost,.secondary,.danger-light{border:1px solid var(--line);background:#171d1f;color:#d8dde2;padding:11px 14px;border-radius:14px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex}.secondary{background:#272d31}.danger-light{background:rgba(255,107,122,.12);color:#ffb4bd;border-color:rgba(255,107,122,.25)}.ghost:disabled,.secondary:disabled,.danger-light:disabled{opacity:.45;cursor:not-allowed}.full{width:100%;margin-top:14px}.link{text-decoration:none}.page{display:none;animation:fade .18s ease}.page.active{display:block}@keyframes fade{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.metric-card,.panel,.content-card,.context-panel,.system-card{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:0 12px 30px rgba(0,0,0,.16)}.metric-card{grid-column:span 2;min-height:130px;padding:20px;overflow:hidden;position:relative}.metric-card.wide{grid-column:span 4}.metric-card span,.metric-card p,.panel-head span,.content-head p,.context-panel p,.system-card p{color:var(--muted)}.metric-card span{font-weight:800}.metric-card strong{display:block;margin:14px 0 8px;font-size:1.65rem}.metric-card canvas{position:absolute;right:0;bottom:0;width:55%;opacity:.92}.metric-card.purple{background:linear-gradient(145deg,#202628,#242652)}.metric-card.pink{background:linear-gradient(145deg,#202628,#3a2141)}.panel{padding:20px;grid-column:span 4}.panel.big{grid-column:span 6}.panel-head,.content-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel h3,.content-head h2,.context-panel h2,.system-card h2{margin:0}.progress-list{display:flex;flex-direction:column;gap:14px}.progress-item{display:grid;grid-template-columns:105px 1fr 90px;gap:12px;align-items:center;font-size:.82rem;color:#c9ced4}.bar{height:10px;border-radius:99px;background:#111719;overflow:hidden}.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--violet),var(--pink))}.workspace{display:grid;gap:20px}.two-cols{grid-template-columns:300px minmax(0,1fr)}.timeline-layout{grid-template-columns:310px minmax(0,1fr)}.context-panel{padding:22px;height:max-content;position:sticky;top:28px}.context-panel h2{font-size:1.35rem}.filter-block{margin-top:24px}.filter-block label{display:block;color:var(--muted);font-size:.8rem;font-weight:800;margin-bottom:8px}.filter-block input,.filters-line input,.filters-line select,.modal-card input,.modal-card select{width:100%;height:46px;border-radius:14px;border:1px solid var(--line);background:#111719;color:var(--text);padding:0 13px;outline:none}.mini-stat{margin-top:18px;border-radius:16px;background:var(--panel2);padding:16px;display:flex;justify-content:space-between}.mini-stat span{color:var(--muted)}.content-card{padding:22px;min-width:0}.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:.86rem;min-width:900px}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#9aa3aa;background:#171d1f;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}td{color:#e1e5e8}tr:hover td{background:rgba(255,255,255,.025)}.row-actions{display:flex;gap:8px}.tiny{border:1px solid var(--line);background:#111719;color:#dce2e7;border-radius:10px;padding:7px 10px;cursor:pointer;font-weight:800}.tiny.danger{color:#ffb4bd;border-color:rgba(255,107,122,.22)}.select-all{color:var(--muted);font-weight:700}.year-list,.month-list{display:flex;flex-direction:column;gap:8px;margin-top:22px}.month-list{margin-top:16px}.year-btn,.month-btn{width:100%;text-align:left;border:0;border-radius:12px;background:transparent;color:#9aa0ad;padding:11px 12px;font-weight:800;cursor:pointer;display:flex;justify-content:space-between}.year-btn:hover,.month-btn:hover{background:rgba(255,255,255,.04);color:white}.year-btn.active,.month-btn.active{background:var(--violet);color:white}.filters-line{display:grid;grid-template-columns:1fr 220px;gap:12px;margin-bottom:14px}.caixa-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.caixa-summary div{background:var(--panel2);border-radius:16px;padding:16px}.caixa-summary span{color:var(--muted);display:block;margin-bottom:8px}.caixa-summary strong{font-size:1.3rem}.system-page{display:grid;place-items:center;min-height:60vh}.system-card{max-width:650px;padding:42px}.system-card span{color:var(--violet2);font-weight:900;text-transform:uppercase;letter-spacing:.14em}.system-card h2{font-size:2.6rem;margin:10px 0}.modal-backdrop{position:fixed;inset:0;background:rgba(4,6,8,.72);backdrop-filter:blur(16px);display:grid;place-items:center;z-index:50;padding:20px}.modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:#1b2123;border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:var(--shadow);padding:26px;position:relative}.modal-close{position:absolute;right:16px;top:14px;background:transparent;border:0;color:white;font-size:30px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .span{grid-column:1/-1}.modal-card h2{margin-top:0}.modal-card label{display:block;margin-bottom:7px;color:#c4cbd1;font-weight:800;font-size:.82rem}.modal-card input,.modal-card select{margin-bottom:4px}.modal-card input[type=file]{padding:11px;height:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.empty{padding:22px;text-align:center;color:var(--muted)}a.pdf-link{color:#2563eb;text-decoration:none;font-weight:800}@media(max-width:1100px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;flex-direction:row;align-items:center;overflow:auto}.side-nav{flex-direction:row}.side-footer{display:none}.main{padding:18px}.dashboard-grid{grid-template-columns:1fr}.metric-card,.metric-card.wide,.panel,.panel.big{grid-column:1}.two-cols,.timeline-layout{grid-template-columns:1fr}.context-panel{position:static}.filters-line,.caixa-summary,.form-grid{grid-template-columns:1fr}.login-screen{grid-template-columns:1fr}.login-art{display:none}}@media(max-width:650px){.sidebar{padding:16px}.side-brand{display:none}.side-nav a{font-size:.82rem;padding:10px}.topbar{flex-direction:column;align-items:flex-start;gap:14px}.content-head{flex-direction:column}.metric-card{min-height:145px}}

/* Ajustes finais: layout fluido sem precisar mexer no zoom da página */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

* {
  min-width: 0;
}

.app {
  grid-template-columns: 220px minmax(0, 1fr);
  width: 100%;
  overflow-x: hidden;
}

.main {
  width: 100%;
  max-width: 1480px;
  min-width: 0;
  padding: clamp(16px, 2vw, 28px);
  overflow-x: hidden;
}

.dashboard-grid,
.workspace,
.content-card,
.context-panel,
.panel,
.metric-card,
.system-card {
  min-width: 0;
  max-width: 100%;
}

.two-cols {
  grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
}

.timeline-layout {
  grid-template-columns: minmax(250px, 310px) minmax(0, 1fr);
}

.content-head.split,
.content-head {
  align-items: center;
  flex-wrap: wrap;
}

.actions-row,
.top-actions {
  flex-wrap: wrap;
}

.table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}

.table-wrap table {
  min-width: 100%;
  table-layout: auto;
}

th,
td {
  white-space: normal;
  word-break: break-word;
  line-height: 1.35;
}

td:last-child,
th:last-child,
.row-actions {
  white-space: nowrap;
}

.filters-line {
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 220px);
}

.caixa-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.modal-card {
  width: min(620px, calc(100vw - 28px));
}

@media (max-width: 1280px) {
  .app { grid-template-columns: 205px minmax(0, 1fr); }
  .two-cols,
  .timeline-layout { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); }
  .metric-card { grid-column: span 3; }
  .metric-card.wide { grid-column: span 6; }
}

@media (max-width: 980px) {
  .app { display: block; }
  .sidebar {
    position: relative;
    height: auto;
    width: 100%;
    padding: 16px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .side-nav {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
  }
  .side-nav a {
    flex: 0 0 auto;
  }
  .main { padding: 16px; }
  .two-cols,
  .timeline-layout,
  .filters-line,
  .caixa-summary,
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .metric-card,
  .metric-card.wide,
  .panel,
  .panel.big { grid-column: auto; }
  .context-panel { position: static; }
}

@media (max-width: 560px) {
  .main { padding: 12px; }
  .topbar,
  .content-head.split,
  .content-head {
    align-items: stretch;
  }
  .top-actions,
  .actions-row {
    width: 100%;
  }
  .top-actions > *,
  .actions-row > *,
  .primary.full,
  .secondary.full {
    flex: 1 1 100%;
    justify-content: center;
  }
  .login-card { width: calc(100% - 24px); }
}


/* ===== AJUSTES FINAIS DE FLUIDEZ E ENQUADRAMENTO ===== */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body { font-size: 14px; }
.app{
  grid-template-columns: 210px minmax(0, 1fr);
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}
.sidebar{
  width: 210px;
  min-width: 210px;
  padding: 22px 18px;
}
.main{
  width: 100%;
  max-width: 1320px;
  min-width: 0;
  margin: 0 auto;
  padding: 22px 24px;
  overflow-x: hidden;
}
.topbar{ margin-bottom: 16px; }
.topbar h1{ font-size: clamp(1.45rem, 2vw, 2rem); }
.dashboard-grid{
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}
.metric-card{ grid-column: span 3; min-height: 112px; padding: 16px; }
.metric-card.wide{ grid-column: span 4; }
.metric-card strong{ font-size: clamp(1.1rem, 1.6vw, 1.55rem); margin: 10px 0 5px; }
.metric-card p{ margin: 0; font-size: .78rem; }
.metric-card canvas{
  width: 42% !important;
  max-width: 190px !important;
  height: 62px !important;
  max-height: 62px !important;
  position: absolute;
  right: 0;
  bottom: 0;
}
.panel{ padding: 16px; min-width: 0; }
.panel.big{ grid-column: span 6; }
.panel:not(.big){ grid-column: span 3; }
.panel canvas,
#chart-nfs{
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 210px !important;
  max-height: 210px !important;
}
.progress-item{
  grid-template-columns: 88px minmax(0,1fr) 74px;
  gap: 8px;
  font-size: .74rem;
}
.workspace{
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.two-cols,
.timeline-layout{
  grid-template-columns: 260px minmax(0,1fr);
  gap: 16px;
}
.context-panel{
  min-width: 0;
  padding: 18px;
  top: 18px;
  max-height: calc(100vh - 36px);
  overflow-y: auto;
  scrollbar-width: thin;
}
.content-card{
  min-width: 0;
  padding: 18px;
  overflow: hidden;
}
.content-head{
  margin-bottom: 12px;
  gap: 10px;
}
.content-head.split{ align-items: flex-start; }
.actions-row{ gap: 8px; }
.actions-row .ghost,
.actions-row .danger-light,
.ghost,.secondary,.danger-light{ padding: 9px 11px; font-size: .78rem; }
.caixa-summary{ gap: 10px; margin-bottom: 12px; }
.caixa-summary div{ padding: 13px; }
.caixa-summary strong{ font-size: 1.05rem; }
.table-wrap{
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
  border-radius: 14px;
}
table{
  width: 100%;
  min-width: 0 !important;
  table-layout: fixed;
  font-size: .76rem;
}
th,td{
  padding: 10px 9px;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.28;
}
th{ font-size: .62rem; }
.row-actions{ flex-wrap: wrap; gap: 6px; }
.tiny{ padding: 6px 8px; font-size: .72rem; }
.pdf-link{ color:#c9c6ff; font-weight:800; }
#nfs-body td:nth-child(1), #nfs-body th:nth-child(1){ width: 32px; }
#nfs-body td:nth-child(2), #nfs-body th:nth-child(2),
#protocol-body td:nth-child(1), #protocol-body th:nth-child(1),
#caixa-body td:nth-child(1), #caixa-body th:nth-child(1){ width: 74px; }
#nfs-body td:nth-child(3), #nfs-body th:nth-child(3),
#protocol-body td:nth-child(2), #protocol-body th:nth-child(2){ width: 86px; }
#nfs-body td:nth-child(5), #nfs-body th:nth-child(5),
#protocol-body td:nth-child(4), #protocol-body th:nth-child(4){ width: 70px; }
#nfs-body td:nth-child(6), #nfs-body th:nth-child(6),
#protocol-body td:nth-child(5), #protocol-body th:nth-child(5),
#caixa-body td:nth-child(3), #caixa-body th:nth-child(3){ width: 82px; }
#nfs-body td:nth-child(8), #nfs-body th:nth-child(8),
#protocol-body td:nth-child(8), #protocol-body th:nth-child(8),
#caixa-body td:nth-child(8), #caixa-body th:nth-child(8){ width: 110px; }
#protocol-body td:nth-child(7), #protocol-body th:nth-child(7){ width: 58px; }
#caixa-body td:nth-child(2), #caixa-body th:nth-child(2){ width: 74px; }
#caixa-body td:nth-child(4), #caixa-body th:nth-child(4){ width: 92px; }
#caixa-body td:nth-child(5), #caixa-body th:nth-child(5){ width: 74px; }
.modal-card{ max-width: min(620px, calc(100vw - 28px)); }
.modal-actions{ display:flex; gap:10px; justify-content:flex-end; }
.confirm-box p{ color: var(--muted); line-height:1.6; margin: 10px 0 18px; }

@media (max-width: 1200px){
  .app{ grid-template-columns: 188px minmax(0,1fr); }
  .sidebar{ width:188px; min-width:188px; }
  .main{ padding:18px; }
  .dashboard-grid{ gap:12px; }
  .metric-card,.metric-card.wide{ grid-column: span 4; }
  .panel.big{ grid-column: span 12; }
  .panel:not(.big){ grid-column: span 6; }
  .two-cols,.timeline-layout{ grid-template-columns: 230px minmax(0,1fr); }
}
@media (max-width: 900px){
  .app{ grid-template-columns: 1fr; }
  .sidebar{ position: relative; width:100%; min-width:0; height:auto; flex-direction: row; align-items:center; gap:16px; overflow-x:auto; }
  .side-nav{ flex-direction:row; min-width:max-content; }
  .side-footer{ display:none; }
  .main{ padding:14px; }
  .topbar{ flex-direction:column; align-items:flex-start; }
  .metric-card,.metric-card.wide,.panel.big,.panel:not(.big){ grid-column: span 12; }
  .two-cols,.timeline-layout{ grid-template-columns:1fr; }
  .context-panel{ position:relative; top:auto; max-height:none; }
  .filters-line{ grid-template-columns:1fr; }
  .caixa-summary{ grid-template-columns:1fr; }
}


/* ===== AJUSTE PEDIDO: dashboard maior, informações cabendo melhor ===== */
.main{
  max-width: 1640px !important;
  padding: 26px 34px !important;
}
.dashboard-grid{
  gap: 18px !important;
}
.metric-card{
  min-height: 136px !important;
  padding: 20px 22px !important;
}
.metric-card.wide{ grid-column: span 4 !important; }
.dashboard-grid > .metric-card:not(.wide){ grid-column: span 4 !important; }
.metric-card.purple,
.metric-card.pink{ grid-column: span 3 !important; min-height: 190px !important; }
.panel.big{ grid-column: span 6 !important; min-height: 190px !important; }
.panel:not(.big){ grid-column: span 6 !important; min-height: 220px !important; }
.panel canvas,
#chart-nfs{
  height: 250px !important;
  max-height: 250px !important;
}
.progress-item{
  grid-template-columns: minmax(110px, 150px) minmax(100px, 1fr) minmax(118px, 145px) !important;
  gap: 12px !important;
  font-size: .82rem !important;
}
.progress-item strong{
  text-align: right;
  white-space: nowrap;
  font-size: .78rem;
}
.content-card,
.context-panel,
.panel,
.metric-card{ overflow: hidden; }
#btn-caixa-report{
  background: linear-gradient(135deg, var(--violet), var(--violet2));
  color: #fff;
  border-color: transparent;
  box-shadow: 0 10px 25px rgba(37,99,235,.22);
}
@media(max-width: 1280px){
  .main{ padding: 20px !important; }
  .metric-card.wide,
  .dashboard-grid > .metric-card:not(.wide){ grid-column: span 4 !important; }
  .metric-card.purple,.metric-card.pink{ grid-column: span 6 !important; min-height: 160px !important; }
  .panel.big{ grid-column: span 12 !important; }
  .panel:not(.big){ grid-column: span 6 !important; }
}
@media(max-width: 900px){
  .metric-card.wide,
  .dashboard-grid > .metric-card:not(.wide),
  .metric-card.purple,.metric-card.pink,
  .panel.big,.panel:not(.big){ grid-column: span 12 !important; }
  .main{ padding: 14px !important; }
}

/* ===== PAINÉIS RECOLHÍVEIS DE PERÍODO ===== */
.context-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.context-panel-head h2{ margin:0; }
.panel-toggle{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:#dfe3ff;
  border-radius:12px;
  padding:8px 10px;
  font-size:.72rem;
  font-weight:900;
  cursor:pointer;
  transition:.18s ease;
}
.panel-toggle:hover{
  background:linear-gradient(135deg,var(--violet),var(--violet2));
  color:#fff;
  border-color:transparent;
}
.timeline-layout.side-collapsed{
  grid-template-columns:76px minmax(0,1fr) !important;
}
.collapsible-panel{
  transition:width .2s ease, padding .2s ease, border-color .2s ease, background .2s ease;
}
.collapsible-panel.collapsed{
  padding:14px 10px !important;
  overflow:hidden !important;
  min-height:250px;
}
.collapsible-panel.collapsed .collapsible-content{
  display:none !important;
}
.collapsible-panel.collapsed .context-panel-head{
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  height:100%;
  margin:0;
}
.collapsible-panel.collapsed .context-panel-head h2{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  text-align:center;
  font-size:1rem;
  letter-spacing:.04em;
  margin:8px 0;
  color:#fff;
}
.collapsible-panel.collapsed .panel-toggle{
  width:44px;
  height:44px;
  padding:0;
  border-radius:14px;
  font-size:0;
  background:linear-gradient(135deg,var(--violet),var(--violet2));
  border-color:transparent;
}
.collapsible-panel.collapsed .panel-toggle::before{
  content:'Abrir';
  font-size:.66rem;
  font-weight:900;
  color:white;
}
.timeline-layout.side-collapsed .content-card{
  width:100%;
}
.timeline-layout.side-collapsed table{
  font-size:.80rem;
}
.timeline-layout.side-collapsed th,
.timeline-layout.side-collapsed td{
  padding:12px 11px;
}
@media(max-width:900px){
  .timeline-layout.side-collapsed{ grid-template-columns:1fr !important; }
  .collapsible-panel.collapsed{ min-height:auto; }
  .collapsible-panel.collapsed .context-panel-head{ flex-direction:row; justify-content:space-between; }
  .collapsible-panel.collapsed .context-panel-head h2{ writing-mode:initial; transform:none; }
}


/* ===== Unificação: Contas a Pagar + sidebar travada ===== */
.sidebar {
  position: sticky !important;
  top: 0 !important;
  height: 100vh !important;
  overflow-y: auto;
  overflow-x: hidden;
}
.side-nav a {
  white-space: nowrap;
}
.fixed-side-panel {
  position: sticky;
  top: 22px;
}
.center-link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-top: 14px;
}
.contas-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.contas-cards article {
  border: 1px solid var(--line);
  background: linear-gradient(145deg, var(--panel2), rgba(37,99,235,.12));
  border-radius: 18px;
  padding: 16px;
}
.contas-cards span {
  display: block;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  margin-bottom: 10px;
}
.contas-cards strong {
  color: var(--text);
  font-size: 1.25rem;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  border: 1px solid transparent;
}
.status-pill.paid { background: rgba(44, 208, 111, .12); color: #9ff1bf; border-color: rgba(44, 208, 111, .28); }
.status-pill.open { background: rgba(37,99,235,.14); color: #2563eb; border-color: rgba(37,99,235,.28); }
.status-pill.warn { background: rgba(255,193,7,.12); color: #ffe195; border-color: rgba(255,193,7,.26); }
.status-pill.danger { background: rgba(255,107,122,.12); color: #ffb4bd; border-color: rgba(255,107,122,.3); }
.hidden { display: none !important; }

@media (max-width: 1100px) {
  .sidebar { position: relative !important; height: auto !important; }
  .contas-cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .contas-cards { grid-template-columns: 1fr; }
}

/* ===== Dropdown por ano/mês ===== */
.year-list{
  gap:10px !important;
}
#protocol-months,
#caixa-months{
  display:none !important;
}
.period-group{
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  background:rgba(255,255,255,.025);
  overflow:hidden;
  transition:.18s ease;
}
.period-group.open{
  background:rgba(37,99,235,.08);
  border-color:rgba(37,99,235,.22);
}
.period-group.has-selection:not(.open){
  border-color:rgba(37,99,235,.18);
}
.period-group .year-btn{
  margin:0 !important;
  border-radius:0 !important;
  background:transparent;
  padding:13px 14px;
}
.period-group .year-btn.active{
  background:linear-gradient(135deg,var(--violet),var(--violet2));
  color:#fff;
}
.period-group .year-btn small{
  display:flex;
  align-items:center;
  gap:8px;
  color:inherit;
  opacity:.95;
}
.period-group .chevron{
  display:inline-flex;
  width:22px;
  height:22px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  line-height:1;
  transition:.18s ease;
}
.period-group.open .chevron{
  transform:rotate(180deg);
}
.period-months{
  display:none;
  padding:8px;
  gap:7px;
  flex-direction:column;
  border-top:1px solid rgba(255,255,255,.06);
  animation:dropdownOpen .16s ease;
}
.period-group.open .period-months{
  display:flex;
}
.period-months .month-btn{
  margin:0;
  border-radius:12px;
  padding:11px 12px 11px 18px;
  background:rgba(8,12,14,.42);
  border:1px solid transparent;
}
.period-months .month-btn:hover{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.08);
}
.period-months .month-btn.active{
  background:rgba(37,99,235,.22);
  border-color:rgba(37,99,235,.34);
  color:white;
}
@keyframes dropdownOpen{
  from{opacity:0; transform:translateY(-4px)}
  to{opacity:1; transform:none}
}

/* ===== Parcelas na entrada de NF ===== */
.parcelas-box{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  border-radius:18px;
  padding:14px;
}
.parcelas-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.parcelas-head strong{ color:#fff; }
.parcelas-head span{ color:var(--violet2); font-weight:900; font-size:.82rem; }
.parcela-row{
  display:grid;
  grid-template-columns:90px 150px 130px minmax(180px,1fr);
  gap:10px;
  align-items:end;
  padding:12px;
  border:1px solid rgba(255,255,255,.065);
  background:#151b1d;
  border-radius:16px;
  margin-bottom:10px;
}
.parcela-row label{ font-size:.72rem; color:var(--muted); margin-bottom:6px; }
.parcela-row input[readonly]{ opacity:.8; }
.parcelas-box small{ color:var(--muted); line-height:1.5; display:block; }
#nota-valor-total[readonly]{
  background:rgba(37,99,235,.10);
  border-color:rgba(37,99,235,.30);
  color:#dbeafe;
}

/* ===== Dashboard: contas a pagar ===== */
.metric-card.contas-card{ background:linear-gradient(145deg,#202628,#1f2834); }
.metric-card.warn-card{ background:linear-gradient(145deg,#202628,#3a3321); }
.metric-card.warn-card b{ color:inherit; }
.dashboard-contas-panel{ grid-column:span 12 !important; }
.dash-contas-filters{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:10px;
  margin-bottom:14px;
}
.dash-contas-filters input,.dash-contas-filters select{
  width:100%;height:44px;border-radius:14px;border:1px solid var(--line);background:#111719;color:var(--text);padding:0 13px;outline:none;
}
.dash-contas-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dash-conta-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 14px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:16px;
}
.dash-conta-item strong{ display:block;font-size:.92rem;color:#fff; }
.dash-conta-item span{ display:block;color:var(--muted);font-size:.78rem;margin-top:4px; }
.dash-conta-item b{ display:block;text-align:right;font-size:.9rem;color:#fff; }
.dash-conta-item em{ display:inline-flex;margin-top:5px;font-style:normal;font-weight:900;font-size:.68rem;padding:4px 8px;border-radius:999px; }
.dash-conta-item em.danger{ background:rgba(255,107,122,.12); color:#ffb4bd; }
.dash-conta-item em.warn{ background:rgba(255,208,75,.12); color:#ffe195; }
.dash-conta-item em.open{ background:rgba(37,99,235,.12); color:#cbc8ff; }

@media(max-width:900px){
  .parcela-row{ grid-template-columns:1fr; }
  .dash-contas-filters,.dash-contas-list{ grid-template-columns:1fr; }
}


/* ===== Ajuste final: modal de NF maior + dashboard Contas maior ===== */
.modal-card{
  width: min(980px, calc(100vw - 36px)) !important;
  max-width: min(980px, calc(100vw - 36px)) !important;
  max-height: 94vh !important;
  padding: 30px !important;
}
.modal-card:has(#form-nota){
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: min(1180px, calc(100vw - 32px)) !important;
  max-height: 94vh !important;
}
.modal-card:has(#form-nota) .form-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.modal-card:has(#form-nota) .form-grid > div:not(.span){
  min-width: 0;
}
.modal-card:has(#form-nota) .form-grid .span{
  grid-column: 1 / -1 !important;
}
.modal-card:has(#form-nota) .parcelas-box{
  padding: 18px !important;
  max-height: 48vh;
  overflow-y: auto;
}
.modal-card:has(#form-nota) .parcela-row{
  grid-template-columns: 100px minmax(160px, 1fr) minmax(150px, 1fr) minmax(260px, 1.3fr) !important;
  gap: 14px !important;
}
.modal-card:has(#form-nota) input,
.modal-card:has(#form-nota) select{
  min-height: 48px;
}
.dashboard-contas-panel{
  min-height: 430px !important;
  padding: 26px !important;
}
.dashboard-contas-panel .panel-head{
  align-items: center;
  margin-bottom: 22px !important;
}
.dash-contas-filters{
  grid-template-columns: minmax(0, 1fr) 260px !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}
.dash-contas-filters input,
.dash-contas-filters select{
  height: 50px !important;
  font-size: .92rem;
}
.dash-contas-list{
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 14px !important;
}
.dash-conta-item{
  min-height: 96px;
  padding: 18px !important;
  align-items: flex-start !important;
}
.dash-conta-item strong{ font-size: 1rem !important; }
.dash-conta-item span{ font-size: .82rem !important; }
.dash-conta-item b{ font-size: 1rem !important; }

@media(max-width: 1180px){
  .modal-card:has(#form-nota) .form-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .modal-card:has(#form-nota) .parcela-row{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .dash-contas-list{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media(max-width: 760px){
  .modal-card,
  .modal-card:has(#form-nota){
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    padding: 22px !important;
  }
  .modal-card:has(#form-nota) .form-grid,
  .modal-card:has(#form-nota) .parcela-row,
  .dash-contas-filters,
  .dash-contas-list{
    grid-template-columns: 1fr !important;
  }
  .modal-card:has(#form-nota) .parcelas-box{ max-height: 52vh; }
}


/* ===== Ajustes finais solicitados: NF grande, Contas sem cadastro manual e filtros ===== */
.contas-info-box{
  margin-top:18px;
  padding:14px 15px;
  border-radius:16px;
  border:1px solid rgba(37,99,235,.22);
  background:rgba(37,99,235,.10);
  color:#dbeafe;
  line-height:1.45;
  font-size:.88rem;
  font-weight:700;
}
.filter-block select{
  width:100%;
  height:46px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#111719;
  color:var(--text);
  padding:0 13px;
  outline:none;
}
.filter-block.two-filter > div{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.filter-block.two-filter input{
  height:44px;
}
.modal-card.modal-nota-grande,
.modal-card:has(#form-nota){
  width:min(1360px, calc(100vw - 28px)) !important;
  max-width:min(1360px, calc(100vw - 28px)) !important;
  max-height:96vh !important;
  padding:34px !important;
}
.modal-card.modal-nota-grande .form-grid,
.modal-card:has(#form-nota) .form-grid{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:18px !important;
}
.modal-card.modal-nota-grande .parcelas-box,
.modal-card:has(#form-nota) .parcelas-box{
  max-height:58vh !important;
  overflow-y:auto;
  padding:20px !important;
}
.modal-card.modal-nota-grande .parcela-row,
.modal-card:has(#form-nota) .parcela-row{
  grid-template-columns:110px minmax(170px,1fr) minmax(170px,1fr) minmax(300px,1.5fr) !important;
}
.dashboard-contas-panel{
  min-height:520px !important;
}
.dash-contas-list{
  max-height:430px;
  overflow-y:auto;
  padding-right:4px;
}
@media(max-width:1180px){
  .modal-card.modal-nota-grande .form-grid,
  .modal-card:has(#form-nota) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .modal-card.modal-nota-grande .parcela-row,
  .modal-card:has(#form-nota) .parcela-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  .modal-card.modal-nota-grande,
  .modal-card:has(#form-nota){width:calc(100vw - 16px) !important;max-width:calc(100vw - 16px) !important;padding:20px !important;}
  .modal-card.modal-nota-grande .form-grid,
  .modal-card.modal-nota-grande .parcela-row,
  .modal-card:has(#form-nota) .form-grid,
  .modal-card:has(#form-nota) .parcela-row{grid-template-columns:1fr !important;}
}

/* ===== Ajuste solicitado: sidebar fixa até o final + dashboard sem rolagem interna ===== */
@media (min-width: 901px){
  html,
  body{
    min-height: 100%;
    overflow-x: hidden;
  }

  .app{
    display: block !important;
    min-height: 100vh !important;
  }

  .sidebar{
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: 230px !important;
    min-width: 230px !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    border-right: 1px solid rgba(255,255,255,.08);
    z-index: 20;
  }

  .main{
    margin-left: 230px !important;
    width: calc(100% - 230px) !important;
    min-height: 100vh !important;
  }

  .dashboard-contas-panel{
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
  }

  .dashboard-contas-panel,
  .dashboard-contas-panel *{
    scrollbar-width: auto;
  }

  .dash-contas-list{
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
    align-items: stretch;
  }

  #page-dashboard .panel,
  #page-dashboard .content-card,
  #page-dashboard .metric-card{
    overflow: visible !important;
  }

  #page-dashboard .dashboard-grid{
    align-items: stretch;
    padding-bottom: 20px;
  }
}

@media (min-width: 901px) and (max-width: 1200px){
  .sidebar{
    width: 188px !important;
    min-width: 188px !important;
  }
  .main{
    margin-left: 188px !important;
    width: calc(100% - 188px) !important;
  }
}


/* ===== Ajuste final: Contas a Pagar ocupando toda a área + layout sem rolagem interna ===== */
#page-dashboard .dashboard-contas-panel{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 560px !important;
  display: flex !important;
  flex-direction: column !important;
}
#page-dashboard .dashboard-contas-panel .panel-head{
  width: 100% !important;
}
#page-dashboard .dash-contas-filters{
  width: 100% !important;
  grid-template-columns: minmax(320px, 1fr) 280px !important;
}
#page-dashboard .dash-contas-list{
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 16px !important;
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
}
#page-dashboard .dash-conta-item{
  width: 100% !important;
  min-height: 112px !important;
  border-radius: 18px !important;
}
#page-dashboard .dash-conta-item > div:first-child{
  min-width: 0;
}
#page-dashboard .dash-conta-item strong{
  overflow-wrap: anywhere;
  line-height: 1.15;
}
#page-dashboard .dash-conta-item b{
  white-space: nowrap;
}
.email-loading-box{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid rgba(37,99,235,.26);
  border-radius:16px;
  background:rgba(37,99,235,.10);
  color:#dbeafe;
  font-weight:800;
  margin-top:14px;
}
.email-spinner{
  width:20px;
  height:20px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.18);
  border-top-color:#fff;
  animation:spinEmail .75s linear infinite;
  flex:0 0 auto;
}
@keyframes spinEmail{to{transform:rotate(360deg)}}
.modal-status-card{
  text-align:center;
  padding:10px 0 4px;
}
.modal-status-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto 16px;
  font-size:30px;
  font-weight:900;
}
.modal-status-icon.ok{background:rgba(66,215,125,.14); color:#8af0b5; border:1px solid rgba(66,215,125,.32)}
.modal-status-icon.err{background:rgba(255,107,122,.14); color:#ffb4bd; border:1px solid rgba(255,107,122,.32)}
.modal-status-card p{color:var(--muted); line-height:1.6; margin:8px auto 0; max-width:520px;}

@media(max-width:900px){
  #page-dashboard .dash-contas-filters{grid-template-columns:1fr !important;}
  #page-dashboard .dashboard-contas-panel{min-height:auto !important;}
}

/* ===== Ajuste: painéis recolhíveis com barra lateral completa ===== */
.timeline-layout{
  align-items: stretch;
}
.timeline-layout .collapsible-panel{
  position: sticky !important;
  top: 28px !important;
  min-height: calc(100vh - 56px) !important;
  height: calc(100vh - 56px) !important;
  display: flex;
  flex-direction: column;
}
.timeline-layout .collapsible-panel .collapsible-content{
  flex: 1;
  overflow-y: auto;
  padding-right: 2px;
}
.timeline-layout .collapsible-panel.collapsed{
  min-height: calc(100vh - 56px) !important;
  height: calc(100vh - 56px) !important;
  display: flex;
  align-items: center;
}
.timeline-layout .collapsible-panel.collapsed .context-panel-head{
  min-height: calc(100vh - 84px) !important;
}
#page-contas .content-card,
#page-caixa .content-card,
#page-protocolos .content-card{
  min-width: 0;
}
#page-contas .timeline-layout.side-collapsed,
#page-caixa .timeline-layout.side-collapsed,
#page-protocolos .timeline-layout.side-collapsed{
  grid-template-columns: 76px minmax(0,1fr) !important;
}

/* Dashboard: contas a pagar ocupando a área com próximos 7 dias */
.dashboard-contas-panel{
  width: 100% !important;
}
.dashboard-contas-panel .dash-contas-list{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
@media(max-width: 1280px){
  .dashboard-contas-panel .dash-contas-list{ grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}
@media(max-width: 980px){
  .timeline-layout .collapsible-panel,
  .timeline-layout .collapsible-panel.collapsed{
    position: relative !important;
    top: auto !important;
    min-height: auto !important;
    height: auto !important;
  }
  .timeline-layout .collapsible-panel.collapsed .context-panel-head{
    min-height: auto !important;
  }
  #page-contas .timeline-layout.side-collapsed,
  #page-caixa .timeline-layout.side-collapsed,
  #page-protocolos .timeline-layout.side-collapsed{
    grid-template-columns: 1fr !important;
  }
  .dashboard-contas-panel .dash-contas-list{ grid-template-columns: 1fr !important; }
}

/* ===== Ajuste final pedido: Contas a Pagar com painel lateral até o fim ===== */
@media (min-width: 981px){
  #page-contas .timeline-layout{
    min-height: calc(100vh - 112px) !important;
    align-items: stretch !important;
  }
  #page-contas #contas-sidebar{
    position: sticky !important;
    top: 28px !important;
    align-self: stretch !important;
    min-height: calc(100vh - 56px) !important;
    height: calc(100vh - 56px) !important;
    max-height: calc(100vh - 56px) !important;
  }
  #page-contas #contas-sidebar.collapsed{
    min-height: calc(100vh - 56px) !important;
    height: calc(100vh - 56px) !important;
  }
  #page-contas #contas-sidebar .collapsible-content{
    min-height: 0 !important;
    overflow-y: auto !important;
  }
  #page-contas .content-card{
    min-height: calc(100vh - 56px) !important;
  }
}

/* Link único para baixar NF e boleto juntos */
.anexos-download-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(37,99,235,.12);
  border:1px solid rgba(37,99,235,.26);
  color:#dbeafe !important;
  white-space:nowrap;
}
.anexos-download-link:hover{background:rgba(37,99,235,.20)}


/* ===== Correção final: login/logout sem resquícios do painel ===== */
body.is-login {
  overflow: hidden !important;
}
body.is-login #app {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.is-login #login {
  display: grid !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
}
body.is-authenticated {
  overflow: auto !important;
}
body.is-authenticated #login {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.is-authenticated #app {
  display: grid !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body.is-login .modal-backdrop {
  display: none !important;
}
@media(max-width:1100px){
  body.is-authenticated #app{display:block !important;}
}

/* ===== Correção: dashboard ocupando toda a área após login ===== */
html, body {
  width: 100% !important;
  min-width: 0 !important;
}
body.is-authenticated #app,
#app.app:not(.hidden) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100vh !important;
  grid-template-columns: 230px minmax(0, 1fr) !important;
}
.main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}
.dashboard-grid,
.workspace,
.content-card,
.panel,
.metric-card {
  min-width: 0 !important;
}
#page-dashboard.active,
#page-dashboard .dashboard-grid {
  width: 100% !important;
}
@media(max-width:1100px){
  body.is-authenticated #app,
  #app.app:not(.hidden){
    display: block !important;
    grid-template-columns: 1fr !important;
  }
}

/* ===== HOTFIX FINAL: layout do app após login sem tela preta/colunas quebradas ===== */
@media (min-width: 1101px){
  body.is-authenticated #app,
  #app.app:not(.hidden){
    display: block !important;
    width: 100% !important;
    min-height: 100vh !important;
    grid-template-columns: none !important;
    overflow: visible !important;
  }

  body.is-authenticated .sidebar,
  #app.app:not(.hidden) .sidebar{
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 230px !important;
    min-width: 230px !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    z-index: 30 !important;
  }

  body.is-authenticated .main,
  #app.app:not(.hidden) .main{
    display: block !important;
    margin-left: 230px !important;
    width: calc(100vw - 230px) !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    padding: 28px !important;
    overflow: visible !important;
  }

  body.is-authenticated .topbar,
  body.is-authenticated .page,
  body.is-authenticated .dashboard-grid,
  body.is-authenticated .workspace{
    width: 100% !important;
    max-width: 100% !important;
  }

  body.is-authenticated #page-dashboard.active{
    display: block !important;
  }

  body.is-authenticated #page-dashboard .dashboard-grid{
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

@media (max-width: 1100px){
  body.is-authenticated #app,
  #app.app:not(.hidden){
    display: block !important;
    width: 100% !important;
    min-height: 100vh !important;
  }
  body.is-authenticated .sidebar,
  #app.app:not(.hidden) .sidebar{
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
  }
  body.is-authenticated .main,
  #app.app:not(.hidden) .main{
    margin-left: 0 !important;
    width: 100% !important;
    padding: 18px !important;
  }
}

/* Formas de pagamento por parcela */
.parcela-row .span,
.modal-card:has(#form-nota) .parcela-row .span{
  grid-column: 1 / -1 !important;
}
.parcela-extra{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  align-items:end;
  padding-top:4px;
}
.parcela-extra small{
  grid-column:1/-1;
  color:var(--muted);
}
@media(max-width:1100px){
  .parcela-extra{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:650px){
  .parcela-extra{grid-template-columns:1fr;}
}


/* ===== CLOVENIX TRANSITION OVERLAY ===== */
.clovenix-transition-overlay{
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 45%, rgba(37,99,235,.20), transparent 28%),
    radial-gradient(circle at 70% 70%, rgba(15,118,110,.15), transparent 34%),
    rgba(7,10,14,.72);
  backdrop-filter: blur(20px) saturate(130%);
  -webkit-backdrop-filter: blur(20px) saturate(130%);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
}
.clovenix-transition-overlay:not(.hidden){
  opacity:1;
  pointer-events:auto;
}
.clovenix-transition-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:34px 42px;
  min-width:min(360px, calc(100vw - 40px));
  border-radius:32px;
  background:linear-gradient(145deg, rgba(32,38,40,.70), rgba(15,18,24,.72));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 90px rgba(0,0,0,.45), 0 0 60px rgba(37,99,235,.16);
  transform:translateY(12px) scale(.96);
  transition:transform .35s ease;
}
.clovenix-transition-overlay:not(.hidden) .clovenix-transition-card{
  transform:translateY(0) scale(1);
}
.clovenix-logo-wrap{
  width:126px;
  height:126px;
  border-radius:34px;
  display:grid;
  place-items:center;
  position:relative;
}
.clovenix-logo-wrap::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:38px;
  background:conic-gradient(from 0deg, rgba(37,99,235,.2), rgba(15,118,110,.75), rgba(31,143,255,.8), rgba(37,99,235,.2));
  filter:blur(12px);
  opacity:.85;
  animation:clovenixGlowSpin 1.6s linear infinite;
}
.clovenix-logo-wrap img{
  position:relative;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:30px;
  animation:clovenixLogoPulse 1.25s ease-in-out infinite;
}
.clovenix-transition-card strong{
  color:#fff;
  font-size:clamp(1.35rem, 3vw, 2rem);
  line-height:1;
  text-align:center;
  letter-spacing:-.04em;
}
.clovenix-transition-card span{
  color:#aeb4ff;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.transition-blur #login,
body.transition-blur #app{
  filter:blur(8px) brightness(.75);
  transform:scale(.995);
  transition:filter .25s ease, transform .25s ease;
}
@keyframes clovenixLogoPulse{
  0%,100%{transform:scale(1); filter:drop-shadow(0 0 8px rgba(37,99,235,.30));}
  50%{transform:scale(1.045); filter:drop-shadow(0 0 24px rgba(15,118,110,.46));}
}
@keyframes clovenixGlowSpin{to{transform:rotate(360deg)}}

/* Entrada suave do dashboard após login */
body.dashboard-enter .metric-card,
body.dashboard-enter .panel{
  animation:clovenixCardRise .62s cubic-bezier(.2,.9,.2,1) both;
}
body.dashboard-enter .metric-card:nth-child(2){animation-delay:.04s}
body.dashboard-enter .metric-card:nth-child(3){animation-delay:.08s}
body.dashboard-enter .metric-card:nth-child(4){animation-delay:.12s}
body.dashboard-enter .metric-card:nth-child(5){animation-delay:.16s}
body.dashboard-enter .metric-card:nth-child(6){animation-delay:.20s}
body.dashboard-enter .metric-card:nth-child(7){animation-delay:.24s}
body.dashboard-enter .panel:nth-of-type(1){animation-delay:.28s}
body.dashboard-enter .panel:nth-of-type(2){animation-delay:.32s}
body.dashboard-enter .panel:nth-of-type(3){animation-delay:.36s}
body.dashboard-enter .panel:nth-of-type(4){animation-delay:.40s}
@keyframes clovenixCardRise{
  from{opacity:0; transform:translateY(18px) scale(.985);}
  to{opacity:1; transform:none;}
}

/* ===== AUTENTICAÇÃO MODERNA CLOVENIX ===== */
.login-card .login-create-btn{
  width:100%;
  margin-top:12px;
  border:1px solid var(--line);
  background:#101517;
  color:#c9c6ff;
  box-shadow:none;
}
.login-card .login-create-btn:hover{border-color:var(--violet);background:rgba(37,99,235,.12)}
.login-card input + label{margin-top:14px}
.pending-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(37,99,235,.26),transparent 35%),#0d1112;padding:24px}
.pending-card{width:min(520px,100%);text-align:center;background:#151a1c;border:1px solid rgba(255,255,255,.1);border-radius:30px;box-shadow:var(--shadow);padding:42px}
.pending-card img{width:92px;height:92px;object-fit:contain;border-radius:24px;margin:0 auto 20px;box-shadow:0 18px 50px rgba(37,99,235,.28)}
.pending-card h2{font-size:2.2rem;margin:10px 0}.pending-card p{color:var(--muted);line-height:1.65;margin-bottom:24px}.register-hint{color:var(--muted)!important;min-height:auto!important;margin-top:0!important}.privacy-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.privacy-summary div{background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:16px}.privacy-summary span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.privacy-summary strong{display:block;font-size:1.65rem;margin-top:6px}.user-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:rgba(37,99,235,.14);color:#d9d6ff;font-weight:900;font-size:.75rem}.user-status.bloqueado{background:rgba(255,107,122,.13);color:#ffb4bd}.user-status.liberado,.user-status.administrador{background:rgba(66,215,125,.14);color:#9cf3bf}.user-status.pendente-de-aprovacao,.user-status.aguardando-email{background:rgba(255,208,75,.13);color:#ffe28a}.modal-status-card{text-align:center}.modal-status-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;margin:0 auto 16px;font-size:2rem;font-weight:900}.modal-status-icon.ok{background:rgba(66,215,125,.15);color:var(--green)}.modal-status-icon.err{background:rgba(255,107,122,.15);color:var(--red)}
@media(max-width:760px){.privacy-summary{grid-template-columns:1fr}.pending-card{padding:28px}.login-card input + label{margin-top:10px}}


/* Correção: permitir modal de Criar conta na tela de login */
body.is-login #modal.modal-backdrop:not(.hidden),
body.is-login .modal-backdrop:not(.hidden) {
  display: grid !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 10000 !important;
}
body.is-login #modal.modal-backdrop.hidden {
  display: none !important;
}


/* Proteção visual para ações assíncronas */
button.is-loading,
button:disabled.is-loading {
  position: relative;
  opacity: .78;
  cursor: wait !important;
  pointer-events: none;
}
button.is-loading::before {
  content: '';
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  margin-right: 8px;
  animation: clovenixSpin .8s linear infinite;
}
@keyframes clovenixSpin { to { transform: rotate(360deg); } }


/* Permissão visual robusta: usuários comuns não veem áreas administrativas */
body:not(.is-admin) .admin-only,
body:not(.is-admin) [data-admin-only="true"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.is-admin .admin-only,
body.is-admin [data-admin-only="true"] {
  visibility: visible;
}


/* ===== Refinamento visual: sidebar com cara de ERP + uploads/scrollbars personalizados ===== */
:root{
  --clovenix-glow: rgba(37,99,235,.24);
  --clovenix-glow-strong: rgba(37,99,235,.42);
}

@media (min-width: 1101px){
  .app{
    grid-template-columns: 258px minmax(0,1fr) !important;
  }
}

.sidebar{
  padding: 24px 18px !important;
  background:
    radial-gradient(circle at 30% 0%, rgba(37,99,235,.20), transparent 34%),
    linear-gradient(180deg, rgba(12,12,39,.98), rgba(9,9,28,.98)) !important;
  border-right: 1px solid rgba(255,255,255,.07) !important;
  box-shadow: 18px 0 55px rgba(0,0,0,.22) !important;
  gap: 26px !important;
}

.side-brand{
  min-height: 86px !important;
  padding: 15px 14px !important;
  border-radius: 22px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    radial-gradient(circle at 20% 15%, rgba(37,99,235,.25), transparent 42%) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.18) !important;
  display: grid !important;
  grid-template-columns: 48px 1fr !important;
  grid-template-areas:
    "icon title"
    "icon sub" !important;
  align-items: center !important;
  column-gap: 12px !important;
  position: relative !important;
  overflow: hidden !important;
}

.side-brand::before{
  content:"";
  grid-area: icon;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(37,99,235,.34), rgba(15,118,110,.20)),
    url('/assets/icon.png') center/78% no-repeat;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 0 0 6px rgba(37,99,235,.08), 0 16px 34px rgba(37,99,235,.22);
}

.side-brand::after{
  content:"Sistema ERP";
  position:absolute;
  right: 12px;
  bottom: 10px;
  font-size: .58rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(213,212,255,.58);
  font-weight: 900;
}

.side-brand strong{
  grid-area: title;
  font-size: 1.45rem !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
  color: #fff !important;
}

.side-brand span{
  grid-area: sub;
  width: max-content;
  margin-top: 5px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(37,99,235,.14);
  border: 1px solid rgba(37,99,235,.22);
  color: #bfdbfe !important;
  font-size: .66rem !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.side-nav{
  gap: 9px !important;
  padding: 4px !important;
}

.side-nav a{
  min-height: 45px;
  display:flex !important;
  align-items:center !important;
  gap: 10px;
  padding: 12px 14px 12px 16px !important;
  border-radius: 15px !important;
  color: rgba(224,226,255,.66) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  position: relative !important;
  overflow: hidden !important;
  letter-spacing: -.01em;
}

.side-nav a::before{
  content:"";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(143,147,170,.38);
  box-shadow: 0 0 0 4px rgba(255,255,255,.02);
  flex: 0 0 auto;
  transition: .18s ease;
}

.side-nav a:hover{
  color: white !important;
  border-color: rgba(255,255,255,.07) !important;
  background: rgba(255,255,255,.045) !important;
  transform: translateX(2px);
}

.side-nav a.active{
  color: #fff !important;
  background:
    linear-gradient(135deg, rgba(37,99,235,.98), rgba(59,130,246,.88)) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 14px 32px rgba(37,99,235,.28) !important;
}

.side-nav a.active::before{
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255,255,255,.16), 0 0 18px rgba(255,255,255,.55);
}

.side-footer{
  border-radius: 18px;
  padding: 15px 14px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035);
}

/* Scrollbars modernas no sistema inteiro */
*{
  scrollbar-width: thin;
  scrollbar-color: rgba(37,99,235,.55) rgba(255,255,255,.05);
}
*::-webkit-scrollbar{
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-track{
  background: rgba(255,255,255,.045);
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, var(--violet), var(--pink));
  border-radius: 999px;
  border: 2px solid rgba(20,24,27,.86);
}
*::-webkit-scrollbar-thumb:hover{
  background: linear-gradient(180deg, var(--violet2), var(--pink));
}

.table-wrap,
.modal-card,
#page-contas #contas-sidebar .collapsible-content,
.sidebar{
  scrollbar-gutter: stable;
}

/* Inputs de anexo com visual Clovenix */
input[type="file"]{
  width: 100%;
  min-height: 50px !important;
  padding: 8px !important;
  border-radius: 16px !important;
  border: 1px dashed rgba(37,99,235,.46) !important;
  background:
    linear-gradient(145deg, rgba(37,99,235,.10), rgba(15,118,110,.055)),
    #111719 !important;
  color: #cfd3ff !important;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

input[type="file"]:hover{
  border-color: rgba(59,130,246,.86) !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.10);
  background:
    linear-gradient(145deg, rgba(37,99,235,.15), rgba(15,118,110,.08)),
    #111719 !important;
}

input[type="file"]::file-selector-button{
  border: 0;
  margin-right: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--violet), var(--violet2));
  color: white;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(37,99,235,.24);
}

input[type="file"]::-webkit-file-upload-button{
  border: 0;
  margin-right: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--violet), var(--violet2));
  color: white;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(37,99,235,.24);
}

/* Campos de formulário com acabamento mais premium */
.modal-card input:not([type="file"]),
.modal-card select,
.modal-card textarea,
.filter-block input,
.filters-line input,
.filters-line select{
  border-color: rgba(255,255,255,.075) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018)), #111719 !important;
}
.modal-card input:not([type="file"]):focus,
.modal-card select:focus,
.modal-card textarea:focus,
.filter-block input:focus,
.filters-line input:focus,
.filters-line select:focus{
  border-color: rgba(37,99,235,.72) !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.12) !important;
}

@media(max-width:1100px){
  .side-brand{
    min-width: 210px !important;
    min-height: 70px !important;
  }
  .side-brand::after{ display:none; }
}

/* Ações em linhas de protocolo */
.row-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.tiny.danger{
  border-color:rgba(239,68,68,.35);
  color:#fecaca;
  background:rgba(127,29,29,.18);
}
.tiny.danger:hover{
  border-color:rgba(248,113,113,.65);
  background:rgba(127,29,29,.32);
}

/* Multiempresa / Privacidade */
.empresa-admin-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:12px;
  margin:18px 0;
}
.empresa-admin-card{
  border:1px solid rgba(168,85,247,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(168,85,247,.07));
  border-radius:18px;
  padding:14px;
  display:grid;
  gap:7px;
}
.empresa-admin-card span{font-size:.72rem;color:var(--muted,#9ca3af);text-transform:uppercase;letter-spacing:.08em}
.empresa-admin-card strong{font-size:1.02rem;color:#fff}
.empresa-admin-card small{color:var(--muted,#9ca3af);line-height:1.4}
.empty-card{border:1px dashed rgba(148,163,184,.25);border-radius:18px;padding:18px;color:var(--muted,#9ca3af)}

/* Cadastros: pastas de empresa e página interna */
.cadastros-shell { min-height: calc(100vh - 64px); }
.cadastros-section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:24px 0 14px;
  padding:0 2px;
}
.cadastros-section-head span,
.config-title span,
.empresa-detail-header span {
  display:block;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted, #94a3b8);
  font-weight:800;
}
.cadastros-section-head strong,
.config-title strong {
  display:block;
  color:#fff;
  font-size:1rem;
  margin-top:4px;
}
.cadastros-section-head small { color:var(--muted, #94a3b8); }
.users-head { margin-top:30px; }
.empresa-admin-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}
.empresa-folder-card {
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border-radius:22px;
  padding:18px;
  min-height:190px;
  cursor:pointer;
  box-shadow:0 22px 60px rgba(0,0,0,.22);
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.empresa-folder-card:hover {
  transform:translateY(-3px);
  border-color:rgba(124,92,255,.72);
  background:linear-gradient(145deg, rgba(124,92,255,.18), rgba(255,255,255,.035));
  box-shadow:0 26px 70px rgba(124,92,255,.14);
}
.empresa-folder-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
}
.folder-mark {
  width:42px;
  height:32px;
  border-radius:10px 14px 14px 14px;
  display:inline-block;
  background:linear-gradient(135deg, #2563eb, #c74de8);
  position:relative;
  box-shadow:0 14px 32px rgba(124,92,255,.25);
}
.folder-mark:before {
  content:'';
  position:absolute;
  left:5px;
  top:-7px;
  width:18px;
  height:9px;
  border-radius:8px 8px 0 0;
  background:#8178ff;
}
.empresa-folder-card strong {
  display:block;
  color:#fff;
  font-size:1.08rem;
  line-height:1.15;
  margin-bottom:8px;
}
.empresa-folder-card p,
.empresa-folder-card small {
  color:var(--muted, #94a3b8);
}
.empresa-folder-meta {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0;
}
.empresa-folder-meta span {
  padding:7px 10px;
  border-radius:999px;
  background:rgba(124,92,255,.13);
  border:1px solid rgba(124,92,255,.24);
  color:#d9d6ff;
  font-size:.78rem;
  font-weight:800;
}
.empresa-folder-actions { display:flex; gap:8px; flex-wrap:wrap; }
.empresa-detail-view { animation: fadeIn .22s ease; }
.empresa-detail-header {
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(148,163,184,.16);
  background:linear-gradient(135deg, rgba(124,92,255,.14), rgba(255,255,255,.035));
  margin-bottom:16px;
}
.empresa-detail-header h2 { margin:3px 0; color:#fff; font-size:1.8rem; letter-spacing:-.04em; }
.empresa-detail-header p { color:var(--muted, #94a3b8); }
.empresa-detail-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.empresa-detail-grid article {
  border:1px solid rgba(148,163,184,.16);
  border-radius:20px;
  padding:16px;
  background:rgba(255,255,255,.045);
}
.empresa-detail-grid span { display:block; color:var(--muted, #94a3b8); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.empresa-detail-grid strong { display:block; color:#fff; font-size:1.55rem; margin-top:8px; }
.empresa-config-layout {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:16px;
  align-items:start;
}
.empresa-config-card {
  border:1px solid rgba(148,163,184,.16);
  border-radius:24px;
  padding:18px;
  background:rgba(255,255,255,.045);
  box-shadow:0 22px 60px rgba(0,0,0,.2);
}
.config-title { margin:4px 0 14px; }
.config-title:not(:first-child) { margin-top:22px; padding-top:18px; border-top:1px solid rgba(148,163,184,.14); }
.empresa-config-card label { display:grid; gap:8px; color:#e8edf7; font-weight:800; font-size:.84rem; margin-bottom:13px; }
.empresa-config-card input,
.empresa-config-card select {
  width:100%;
  border:1px solid rgba(148,163,184,.2);
  background:rgba(0,0,0,.22);
  color:#fff;
  border-radius:14px;
  padding:12px 13px;
  outline:none;
}
.empresa-config-card input:focus,
.empresa-config-card select:focus { border-color:#7c5cff; box-shadow:0 0 0 4px rgba(124,92,255,.14); }
.mini-grid { grid-template-columns:1fr 1fr; gap:12px; }
.empresa-users-list { display:grid; gap:10px; }
.empresa-user-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border-radius:16px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(148,163,184,.12);
}
.empresa-user-row strong { display:block; color:#fff; font-size:.9rem; }
.empresa-user-row small { display:block; color:var(--muted, #94a3b8); margin-top:3px; }
.empresa-user-row span {
  padding:6px 10px;
  border-radius:999px;
  background:rgba(124,92,255,.16);
  color:#d9d6ff;
  font-weight:900;
  font-size:.72rem;
}
@media (max-width: 980px){
  .empresa-detail-header { grid-template-columns:1fr; }
  .empresa-detail-grid { grid-template-columns:repeat(2,1fr); }
  .empresa-config-layout { grid-template-columns:1fr; }
}
@media (max-width: 620px){
  .empresa-detail-grid, .mini-grid { grid-template-columns:1fr; }
}

/* ===== Ponto de acesso por empresa / Admin Clovenix ===== */
.access-point-banner{
  margin: -6px 0 22px;
  padding: 16px 18px;
  border: 1px solid rgba(37,99,235,.28);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(37,99,235,.16), rgba(15,118,110,.08)), #171d1f;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  box-shadow: 0 16px 38px rgba(0,0,0,.22);
}
.access-point-banner span{
  display:block;
  color:var(--violet2);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
}
.access-point-banner strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:1.25rem;
}
.access-point-banner small{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.empresa-detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.access-point-banner{flex-direction:column;align-items:flex-start}.empresa-detail-actions{justify-content:flex-start}}

/* Acessos dentro da pasta da empresa */
.empresa-user-row-rich {
  align-items: flex-start;
  gap: 14px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(148,163,184,.12);
}
.empresa-user-info {
  min-width: 220px;
  flex: 1;
}
.empresa-user-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
  max-width: 520px;
}
@media (max-width: 980px) {
  .empresa-user-row-rich { flex-direction: column; }
  .empresa-user-actions { justify-content: flex-start; max-width: none; }
}

/* ===== Ajuste final: menu Ações e modais internos Clovenix ===== */
.actions-menu{
  position:relative;
  display:inline-block;
  min-width:138px;
  z-index:20;
}
.actions-menu summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  border:1px solid rgba(124,92,255,.35);
  border-radius:999px;
  padding:9px 14px;
  background:linear-gradient(135deg, rgba(124,92,255,.18), rgba(15,118,110,.08));
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.actions-menu summary::-webkit-details-marker{display:none;}
.actions-menu summary::after{
  content:'▾';
  font-size:.78rem;
  color:#c8c2ff;
  transition:transform .18s ease;
}
.actions-menu[open] summary::after{transform:rotate(180deg);}
.actions-menu-list{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:210px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:16px;
  padding:8px;
  background:rgba(17,24,26,.98);
  box-shadow:0 22px 54px rgba(0,0,0,.42);
  backdrop-filter:blur(14px);
  display:grid;
  gap:6px;
  animation:dropdownOpen .16s ease;
  z-index:999;
}
.actions-menu-list button{
  width:100%;
  border:0;
  border-radius:12px;
  padding:10px 11px;
  background:transparent;
  color:#e8ecf1;
  text-align:left;
  font-size:.78rem;
  font-weight:850;
  cursor:pointer;
  transition:.16s ease;
}
.actions-menu-list button:hover{
  background:rgba(124,92,255,.18);
  color:#fff;
  transform:translateX(2px);
}
.actions-menu-list button.danger-action{color:#ffb4bd;}
.actions-menu-list button.danger-action:hover{background:rgba(255,107,122,.14);}
.empresa-user-row-rich{overflow:visible; position:relative;}
.empresa-users-list{overflow:visible;}
.empresa-user-actions{display:flex; justify-content:flex-end; align-items:flex-start; min-width:150px;}
.actions-menu-table .actions-menu-list{right:0;}
@media(max-width:700px){
  .actions-menu{width:100%;}
  .actions-menu summary{width:100%;}
  .actions-menu-list{left:0; right:auto; width:100%; min-width:210px;}
}

/* ===== Filiais como cards na pasta da empresa ===== */
.empresa-folder-card.is-inactive .folder-mark{
  background: linear-gradient(135deg, #ef4444, #7f1d1d);
  box-shadow: 0 14px 32px rgba(239,68,68,.24);
}
.empresa-folder-card.is-inactive .folder-mark:before{
  background:#fb7185;
}
.empresa-folder-card.is-inactive:hover{
  border-color: rgba(239,68,68,.62);
  background: linear-gradient(145deg, rgba(239,68,68,.15), rgba(255,255,255,.028));
  box-shadow: 0 26px 70px rgba(239,68,68,.12);
}
.empresa-folder-card.is-inactive .empresa-folder-meta span{
  background: rgba(239,68,68,.12);
  border-color: rgba(239,68,68,.24);
  color:#fecaca;
}
.filiais-manager{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
  margin-top:8px;
}
.filial-card{
  border:1px solid rgba(148,163,184,.16);
  background:rgba(255,255,255,.026);
  border-radius:16px;
  padding:12px;
  display:grid;
  gap:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}
.filial-card.is-inactive{
  border-color:rgba(239,68,68,.3);
  background:linear-gradient(145deg, rgba(239,68,68,.08), rgba(255,255,255,.022));
}
.filial-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.filial-card-head strong{
  color:#fff;
  font-size:.82rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.filial-card-head span{
  padding:5px 8px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:900;
  color:#d9d6ff;
  background:rgba(124,92,255,.16);
  border:1px solid rgba(124,92,255,.24);
}
.filial-card.is-inactive .filial-card-head span{
  color:#fecaca;
  background:rgba(239,68,68,.12);
  border-color:rgba(239,68,68,.24);
}
.filial-card input{
  width:100%;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(0,0,0,.22);
  color:#fff;
  border-radius:12px;
  padding:11px 12px;
  outline:none;
}
.filial-card input:focus{border-color:#7c5cff; box-shadow:0 0 0 4px rgba(124,92,255,.14);}
.filial-card-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.filial-add-btn{margin-top:12px; width:100%; justify-content:center;}

/* Segurança / auditoria */
.security-admin-panel{margin:22px 0 10px}
.security-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.security-card{border:1px solid rgba(148,163,184,.18);background:linear-gradient(145deg,rgba(15,23,42,.92),rgba(30,18,55,.72));border-radius:22px;padding:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;box-shadow:0 18px 48px rgba(0,0,0,.18)}
.security-card span{display:block;color:#a78bfa;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-bottom:6px}
.security-card strong{display:block;color:#fff;font-size:1.6rem;line-height:1;font-weight:900}
.security-card small{display:block;color:#94a3b8;margin-top:7px;font-size:.78rem}
.modal-table{max-height:420px;overflow:auto;border:1px solid rgba(148,163,184,.16);border-radius:18px;margin-top:16px}
.security-check-list{display:grid;gap:8px;margin-top:14px}
.security-check-list p{margin:0;padding:10px 12px;border:1px solid rgba(168,85,247,.18);background:rgba(168,85,247,.08);border-radius:14px;color:#e9d5ff}
.link-button{border:0;background:transparent;cursor:pointer;font:inherit}
@media(max-width:1100px){.security-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.security-grid{grid-template-columns:1fr;}}


/* Correção visual: evita que valores monetários quebrem em duas linhas nas tabelas */
td:nth-child(3),
td.valor,
.col-valor,
.money-cell {
  white-space: nowrap;
  min-width: 112px;
}
.table-wrap td,
.data-table td {
  vertical-align: middle;
}

/* Perfil Visualizador: elementos de escrita ficam ocultos/sem ação */
body.is-readonly .write-only { display: none !important; }
body.is-readonly .nf-check { display: none !important; }
.muted { color: rgba(255,255,255,.48); font-size: .78rem; }


/* Módulo de Estoque */
.estoque-layout .content-card{min-width:0}
.estoque-cards article{background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:14px}
.estoque-cards article span{display:block;color:#94a3b8;font-size:12px;margin-bottom:6px}
.estoque-cards article strong{font-size:18px;color:#f8fafc}
.status-pill.warn{background:rgba(245,158,11,.14);color:#fbbf24;border-color:rgba(245,158,11,.35)}
.status-pill.danger{background:rgba(239,68,68,.14);color:#fca5a5;border-color:rgba(239,68,68,.35)}
.status-pill.success{background:rgba(34,197,94,.14);color:#86efac;border-color:rgba(34,197,94,.35)}


/* ===== Ajustes finais: estoque e contas a pagar ===== */
#page-estoque .estoque-table-wrap{
  overflow-x: auto !important;
}
#page-estoque .estoque-table{
  table-layout: auto !important;
  min-width: 1120px !important;
}
#page-estoque .estoque-table th:nth-child(2),
#page-estoque .estoque-table td:nth-child(2){
  min-width: 280px;
  width: 32%;
}
#page-estoque .estoque-table td:nth-child(2) strong{
  display:block;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height:1.3;
}
#page-estoque .estoque-table td:nth-child(2) small{
  display:block;
  margin-top:4px;
  white-space: normal;
  overflow-wrap: anywhere;
}
#page-dashboard .dash-contas-list,
.dashboard-contas-panel .dash-contas-list{
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  align-items: stretch;
}
#page-dashboard .dash-conta-item,
.dashboard-contas-panel .dash-conta-item{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  min-height:140px !important;
  align-content:start;
}
.dash-conta-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
}
.dash-conta-top strong{
  display:block;
  white-space:normal !important;
  overflow-wrap:anywhere;
  line-height:1.18;
}
.dash-conta-top b{
  white-space:nowrap;
  text-align:right;
  align-self:start;
}
.dash-conta-meta{
  color:var(--muted);
  font-size:.82rem;
  line-height:1.35;
}
.dash-conta-footer{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  margin-top:auto;
}
@media(max-width: 1180px){
  #page-dashboard .dash-contas-list,
  .dashboard-contas-panel .dash-contas-list{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width: 980px){
  #page-dashboard .dash-contas-list,
  .dashboard-contas-panel .dash-contas-list{grid-template-columns:1fr !important;}
  .dash-conta-top{grid-template-columns:1fr;}
  .dash-conta-top b{text-align:left;}
}

/* ===== Central de Ajuda / Chat flutuante ===== */
.support-widget{position:fixed;right:24px;bottom:24px;z-index:45}
.support-float-btn{width:62px;height:62px;border:0;border-radius:22px;background:linear-gradient(135deg,var(--violet),var(--pink));color:#fff;box-shadow:0 18px 45px rgba(37,99,235,.35);cursor:pointer;display:grid;place-items:center;position:relative;font-weight:900}
.support-float-btn span{font-size:30px;line-height:1}
.support-float-btn small{position:absolute;right:-5px;top:-5px;min-width:22px;height:22px;border-radius:999px;background:var(--red);display:grid;place-items:center;font-size:11px;border:2px solid #111719}
.support-window{position:absolute;right:0;bottom:76px;width:min(380px,calc(100vw - 34px));height:min(560px,calc(100vh - 120px));background:#171d1f;border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 25px 80px rgba(0,0,0,.45);overflow:hidden;display:flex;flex-direction:column}
.support-window-head{padding:16px 18px;background:linear-gradient(135deg,rgba(37,99,235,.24),rgba(15,118,110,.12));border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.support-window-head strong{display:block;color:#fff}.support-window-head span{display:block;color:#b7bdc7;font-size:.78rem;margin-top:3px}.support-window-head button{border:0;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.support-window-messages,.support-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:radial-gradient(circle at 20% 0%,rgba(37,99,235,.10),transparent 34%),#111719}
.support-msg{max-width:82%;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:10px 12px;background:#202628;align-self:flex-start}
.support-msg p{margin:0;color:#f4f6f8;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.support-msg small{display:block;margin-top:6px;color:#8f98a3;font-size:.68rem}.support-msg.is-admin-msg{align-self:flex-end;background:linear-gradient(135deg,rgba(37,99,235,.34),rgba(37,99,235,.16));border-color:rgba(37,99,235,.28)}.support-msg.is-user-msg{background:#202628}.support-msg.is-bot-msg{align-self:center;max-width:92%;background:rgba(255,255,255,.045);border-style:dashed;text-align:center}
.support-window-form,.support-admin-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08);background:#171d1f}
.support-window-form input,.support-admin-compose input,.support-admin-search,.support-admin-status,#support-admin-status{height:44px;border-radius:14px;border:1px solid var(--line);background:#111719;color:var(--text);padding:0 12px;outline:none}
.support-window-form button{border:0;border-radius:14px;background:var(--violet);color:#fff;font-weight:900;padding:0 14px;cursor:pointer}.support-window-actions{padding:0 12px 12px;background:#171d1f}.support-window-actions button{width:100%;border:1px solid rgba(255,107,122,.25);background:rgba(255,107,122,.10);color:#ffb4bd;border-radius:14px;padding:10px;font-weight:900;cursor:pointer}
.support-empty{display:grid;gap:10px;color:var(--muted);text-align:center;margin:auto}.support-empty strong{color:#fff;font-size:1.2rem}.support-empty button{border:1px solid rgba(37,99,235,.28);background:rgba(37,99,235,.12);color:#dbeafe;border-radius:14px;padding:10px;font-weight:900;cursor:pointer}
.support-admin-shell{min-height:calc(100vh - 130px)}.support-admin-shell .actions-row{justify-content:flex-end}.support-admin-search{min-width:280px}.support-admin-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;min-height:620px}.support-chat-list{border:1px solid var(--line);border-radius:20px;background:#151a1c;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.support-admin-item{border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);border-radius:16px;padding:12px;text-align:left;color:var(--text);cursor:pointer;display:grid;gap:6px}.support-admin-item.active{border-color:rgba(37,99,235,.55);background:rgba(37,99,235,.14)}.support-admin-item span{display:flex;align-items:center;justify-content:space-between;gap:8px}.support-admin-item b{background:var(--red);color:#fff;border-radius:999px;font-size:.68rem;min-width:20px;height:20px;display:grid;place-items:center}.support-admin-item small{color:var(--muted)}.support-admin-item em{font-style:normal;color:#cbd2dc;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}.support-admin-chat{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#151a1c;display:flex;flex-direction:column}.support-chat-header{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:4px}.support-chat-header strong{font-size:1.05rem}.support-chat-header span{color:var(--muted);font-size:.82rem}.support-admin-compose{grid-template-columns:minmax(0,1fr) auto auto}.support-admin-compose.is-closed input,.support-admin-compose.is-closed button[type="submit"]{opacity:.45;pointer-events:none}.support-admin-empty{padding:20px;color:var(--muted);text-align:center}
body.is-login .support-widget, body:not(.is-authenticated) .support-widget, body.is-admin .support-widget{display:none!important}
@media(max-width:980px){.support-admin-layout{grid-template-columns:1fr;min-height:auto}.support-chat-list{max-height:280px}.support-admin-compose{grid-template-columns:1fr}.support-admin-search{min-width:0;width:100%}.support-widget{right:14px;bottom:14px}.support-window{right:-2px}}


/* ===== Gestão ERP premium ===== */
.gestao-shell{min-width:0}
.gestao-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}
.gestao-kpis article{border:1px solid rgba(148,163,184,.18);background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(37,99,235,.10));border-radius:18px;padding:16px;min-height:112px}
.gestao-kpis span{display:block;color:var(--muted);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.gestao-kpis strong{display:block;font-size:1.35rem;color:#fff;margin-bottom:8px;white-space:normal;overflow-wrap:anywhere}
.gestao-kpis small{color:#9aa3aa;line-height:1.35}
.gestao-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gestao-panel{border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.025);border-radius:20px;padding:18px;min-width:0}
.gestao-list{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto;padding-right:4px}
.gestao-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.08);background:rgba(17,23,25,.72);border-radius:16px;padding:13px}
.gestao-list-item strong{display:block;color:#fff;line-height:1.25;overflow-wrap:anywhere}
.gestao-list-item span{display:block;color:var(--muted);font-size:.78rem;margin-top:4px;line-height:1.35}
.gestao-list-item b{display:block;color:#fff;white-space:nowrap;margin-bottom:8px;text-align:right}
.support-quick-replies{display:flex;gap:8px;flex-wrap:wrap;padding:10px;border-top:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.support-quick-replies button{border:1px solid rgba(37,99,235,.32);background:rgba(37,99,235,.12);color:#dbeafe;border-radius:999px;padding:8px 10px;font-weight:800;cursor:pointer;font-size:.78rem}
@media(max-width:1250px){.gestao-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.gestao-grid{grid-template-columns:1fr}}
@media(max-width:720px){.gestao-kpis{grid-template-columns:1fr}.gestao-list-item{flex-direction:column}.gestao-list-item b{text-align:left}}

/* ===== Dashboard comercial: operação, alertas e rotinas ===== */
.dashboard-alertas-panel,
.dashboard-operacao-panel,
.dashboard-acoes-panel{grid-column:span 4;}
.dashboard-list-panel{grid-column:span 4;}
.dashboard-alertas-list{display:flex;flex-direction:column;gap:10px;}
.dashboard-alerta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:16px;padding:14px;min-height:76px;}
.dashboard-alerta strong{display:block;color:#fff;line-height:1.25;overflow-wrap:anywhere;}
.dashboard-alerta span{display:block;color:var(--muted);font-size:.8rem;margin-top:4px;line-height:1.35;}
.dashboard-alerta.danger{border-color:rgba(255,107,122,.28);background:rgba(255,107,122,.10);}
.dashboard-alerta.warn{border-color:rgba(255,208,75,.26);background:rgba(255,208,75,.08);}
.dashboard-alerta.info{border-color:rgba(37,99,235,.28);background:rgba(37,99,235,.10);}
.dashboard-alerta.success{border-color:rgba(66,215,125,.28);background:rgba(66,215,125,.08);}
.dashboard-operacao-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.dashboard-operacao-kpis article{border:1px solid rgba(148,163,184,.18);background:rgba(17,23,25,.68);border-radius:16px;padding:13px;min-width:0;}
.dashboard-operacao-kpis span{display:block;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px;}
.dashboard-operacao-kpis strong{display:block;color:#fff;font-size:1.08rem;line-height:1.2;overflow-wrap:anywhere;}
.dashboard-operacao-kpis small{display:block;color:#9aa3aa;font-size:.74rem;margin-top:5px;line-height:1.35;}
.dashboard-actions-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.dashboard-actions-grid .primary,
.dashboard-actions-grid .secondary,
.dashboard-actions-grid .ghost{width:100%;justify-content:center;text-align:center;}
.dashboard-list-panel .gestao-list{max-height:360px;}
@media(max-width:1250px){
  .dashboard-alertas-panel,.dashboard-operacao-panel,.dashboard-acoes-panel,.dashboard-list-panel{grid-column:span 6;}
}
@media(max-width:900px){
  .dashboard-alertas-panel,.dashboard-operacao-panel,.dashboard-acoes-panel,.dashboard-list-panel{grid-column:1/-1;}
  .dashboard-operacao-kpis{grid-template-columns:1fr;}
}


/* ===== Clovenix ERP comercial premium ===== */
.side-brand strong{font-size:1.45rem;letter-spacing:.02em}.premium-nav{gap:18px}.nav-group{display:flex;flex-direction:column;gap:6px}.nav-group-title{color:#626a83;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;font-weight:900;margin:4px 8px}.premium-nav a{display:flex;align-items:center;gap:10px}.premium-nav a i{width:28px;height:24px;border-radius:8px;display:inline-grid;place-items:center;background:rgba(37,99,235,.12);color:#dbeafe;font-style:normal;font-size:.62rem;font-weight:900;flex:0 0 auto}.premium-nav a.active i{background:rgba(255,255,255,.2);color:white}.executive-dashboard,.gestao-command-center{min-width:0}.executive-hero,.gestao-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border:1px solid rgba(148,163,184,.14);background:radial-gradient(circle at 10% 0,rgba(37,99,235,.24),transparent 38%),linear-gradient(145deg,rgba(32,38,40,.98),rgba(18,24,27,.98));border-radius:26px;padding:24px;margin-bottom:18px;box-shadow:0 18px 46px rgba(0,0,0,.18)}.executive-hero span,.gestao-hero span{color:#aaa7ff;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:900}.executive-hero h2,.gestao-hero h2{margin:8px 0 6px;font-size:clamp(1.6rem,3vw,2.45rem)}.executive-hero p,.gestao-hero p{margin:0;color:var(--muted);max-width:720px;line-height:1.6}.executive-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.executive-kpis article{border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.035);border-radius:22px;padding:18px;min-height:138px;box-shadow:0 12px 30px rgba(0,0,0,.12);position:relative;overflow:hidden}.executive-kpis article:after{content:"";position:absolute;inset:auto -20px -35px auto;width:110px;height:110px;border-radius:50%;background:rgba(37,99,235,.13)}.executive-kpis span{display:block;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.executive-kpis strong{display:block;color:#fff;font-size:clamp(1.35rem,2vw,2rem);line-height:1.1;margin-bottom:8px;overflow-wrap:anywhere}.executive-kpis small{color:#9aa3aa;line-height:1.4}.executive-kpis .kpi-danger{border-color:rgba(255,107,122,.25);background:linear-gradient(145deg,rgba(255,107,122,.12),rgba(255,255,255,.025))}.executive-kpis .kpi-warn{border-color:rgba(255,208,75,.25);background:linear-gradient(145deg,rgba(255,208,75,.10),rgba(255,255,255,.025))}.executive-kpis .kpi-success{border-color:rgba(66,215,125,.22);background:linear-gradient(145deg,rgba(66,215,125,.10),rgba(255,255,255,.025))}.dashboard-main-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.dashboard-main-grid>.panel{grid-column:span 4}.dashboard-main-grid>.panel.big,.dashboard-main-grid>.dashboard-contas-panel{grid-column:span 8}.finance-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.finance-split div{border:1px solid rgba(255,255,255,.07);background:rgba(17,23,25,.72);border-radius:16px;padding:12px}.finance-split span{display:block;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;margin-bottom:6px}.finance-split strong{display:block;color:#fff;font-size:.98rem;overflow-wrap:anywhere}.gestao-command-center .gestao-kpis{grid-template-columns:repeat(6,minmax(0,1fr));}.gestao-panel.span-2{grid-column:1/-1}.table-wrap{max-height:calc(100vh - 260px);overflow:auto!important}thead th{position:sticky;top:0;z-index:5}td.valor,td:nth-child(5){text-align:right}.status-pill{font-weight:900;border:1px solid transparent}.action-menu{position:relative;display:inline-block}.action-menu summary{list-style:none;cursor:pointer;border:1px solid rgba(148,163,184,.22);background:#111719;color:#dce2e7;border-radius:12px;padding:7px 10px;font-weight:900}.action-menu summary::-webkit-details-marker{display:none}.action-menu[open] summary{background:rgba(37,99,235,.18);border-color:rgba(37,99,235,.36)}.action-menu div{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;border:1px solid rgba(148,163,184,.22);background:#111719;border-radius:16px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.32);z-index:20}.action-menu button{display:block;width:100%;border:0;background:transparent;color:#e5e7eb;text-align:left;border-radius:10px;padding:9px 10px;font-weight:800;cursor:pointer}.action-menu button:hover{background:rgba(255,255,255,.06)}.action-menu button.danger{color:#ffb4bd}.modal-title-block{margin-bottom:18px}.modal-title-block span,.form-section strong{display:block;color:#aaa7ff;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900}.modal-title-block h2{margin:6px 0 4px;font-size:1.8rem}.modal-title-block p,.form-section small{color:var(--muted);line-height:1.5}.professional-form{gap:16px}.form-section{border-top:1px solid rgba(148,163,184,.18);padding-top:16px;margin-top:4px}.sticky-actions{position:sticky;bottom:-30px;background:#1b2123;padding-top:14px;border-top:1px solid rgba(148,163,184,.14)}.support-float-btn{box-shadow:0 20px 55px rgba(37,99,235,.42)!important;animation:supportPulse 2.4s ease-in-out infinite}.support-window-head{background:linear-gradient(135deg,rgba(37,99,235,.96),rgba(15,118,110,.72))}.support-admin-layout{grid-template-columns:340px minmax(0,1fr)!important}.support-chat-list{background:rgba(17,23,25,.55);border-radius:18px;padding:10px}.support-admin-chat{border-radius:18px;overflow:hidden}.support-msg.user{align-self:flex-start;background:rgba(255,255,255,.07)}.support-msg.admin,.support-msg.bot{align-self:flex-end;background:rgba(37,99,235,.18);border-color:rgba(37,99,235,.28)}@keyframes supportPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(max-width:1250px){.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid>.panel,.dashboard-main-grid>.panel.big,.dashboard-main-grid>.dashboard-contas-panel{grid-column:1/-1}.gestao-command-center .gestao-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.executive-hero,.gestao-hero{align-items:flex-start;flex-direction:column}.executive-kpis,.finance-split,.gestao-command-center .gestao-kpis{grid-template-columns:1fr}.support-admin-layout{grid-template-columns:1fr!important}}


/* ===== Segurança visual: login sempre limpo + downloads protegidos ===== */
body.is-login #app,
body:not(.is-authenticated) #app{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
body.is-login #login{
  display:grid !important;
  visibility:visible !important;
}
body.is-authenticated #login,
body.is-authenticated #pending-access{
  display:none !important;
  visibility:hidden !important;
}
button.is-loading,
a.is-loading{
  opacity:.72 !important;
  cursor:wait !important;
  pointer-events:none !important;
  position:relative;
}
button.is-loading::after,
a.is-loading::after{
  content:"";
  width:12px;
  height:12px;
  border:2px solid rgba(255,255,255,.28);
  border-top-color:#fff;
  border-radius:50%;
  display:inline-block;
  margin-left:8px;
  vertical-align:-2px;
  animation:spinEmail .75s linear infinite;
}
.clovenix-transition-overlay:not(.hidden){
  cursor:progress;
}


/* ===== Suporte com privacidade e imagens ===== */
.support-file-btn{width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:#111719;color:#dbeafe;display:grid;place-items:center;cursor:pointer;font-size:18px;flex:0 0 auto}
.support-file-btn input{display:none!important}
.support-window-form,.support-admin-compose{grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center}
.support-attachment{display:inline-flex;align-items:center;gap:8px;max-width:100%;border:1px solid rgba(37,99,235,.28);background:rgba(37,99,235,.12);color:#dbeafe;border-radius:12px;padding:8px 10px;font-weight:900;cursor:pointer;text-align:left;overflow-wrap:anywhere}
.support-image-preview img{display:block;max-width:min(760px,calc(100vw - 72px));max-height:70vh;border-radius:18px;border:1px solid rgba(148,163,184,.25);object-fit:contain;background:#0f1416}
.support-msg small{opacity:.78}.support-msg.is-admin-msg small,.support-msg.is-bot-msg small{color:#dbeafe}.support-msg.is-user-msg small{color:#cbd5e1}
@media(max-width:760px){.support-window-form,.support-admin-compose{grid-template-columns:auto 1fr!important}.support-window-form button[type="submit"],.support-admin-compose button[type="submit"]{grid-column:1/-1}.support-admin-compose #btn-support-close{grid-column:1/-1}}

/* ===== Ajustes solicitados: admin, anexos internos e registros legíveis ===== */
/* Remove qualquer referência visual antiga da Gestão ERP se algum cache de rota tentar aparecer */
#page-gestao,
.side-nav a[data-page="gestao"]{display:none!important;}

/* Botões uniformes para não ficarem desproporcionais */
.empresa-folder-actions,
.security-grid .security-card,
.actions-row.uniform-actions,
.row-actions.equal-actions{
  gap:8px;
}
.empresa-folder-actions .tiny,
.security-grid .security-card .tiny,
.actions-row.uniform-actions button,
.row-actions.equal-actions .tiny,
.dashboard-actions-grid .link{
  min-width:112px!important;
  height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.security-grid .security-card .tiny{min-width:96px!important;}

/* Página de Anexos Internos */
.anexos-shell{
  min-height:calc(100vh - 120px);
}
.anexos-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.anexos-summary-grid article{
  border:1px solid var(--line);
  background:var(--panel2);
  border-radius:18px;
  padding:18px;
}
.anexos-summary-grid span{
  display:block;
  color:var(--muted);
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}
.anexos-summary-grid strong{
  display:block;
  color:var(--text);
  font-size:1.45rem;
}
.anexos-table-wrap table td:first-child strong{
  display:block;
  margin-bottom:4px;
}
.anexos-table-wrap table td:first-child small{
  color:var(--muted);
}
.status-pill.info{
  background:rgba(59,130,246,.12)!important;
  color:#2563eb!important;
  border-color:rgba(59,130,246,.24)!important;
}

/* Registro de ações mais apresentável */
.modal-table table td strong{
  color:var(--text);
}
body:not(.dark) .modal-table table td strong{
  color:#1f2937;
}

@media(max-width:900px){
  .anexos-summary-grid{grid-template-columns:1fr;}
  .actions-row.uniform-actions{align-items:stretch;}
  .actions-row.uniform-actions input,
  .actions-row.uniform-actions button{width:100%;}
}

/* Formulação de pedido / leitura automática de NF */
.check-line{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:14px;
  background:rgba(15,23,42,.03);
  color:var(--text, #0f172a);
  font-size:13px;
}
.check-line input{ width:auto; }
.pedidos-layout .pedido-qtd-input{
  width:86px;
  min-width:72px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(148,163,184,.35);
  background:var(--card, #fff);
}
.pedidos-historico-head{
  margin-top:24px;
  border-top:1px solid rgba(148,163,184,.18);
  padding-top:18px;
}
.success-box,
.warn-box{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(16,185,129,.22);
  background:rgba(16,185,129,.10);
  color:#047857;
  font-size:13px;
  line-height:1.45;
}
.warn-box{
  border-color:rgba(245,158,11,.28);
  background:rgba(245,158,11,.12);
  color:#92400e;
}

.searchable-select{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
}
.searchable-select input{
  width:100%;
}
.searchable-select .hidden-select{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.searchable-select small{grid-column:1/-1;}
@media(max-width:700px){
  .searchable-select{grid-template-columns:1fr;}
}

/* Alertas automáticos de compra / previsão de estoque */
.estoque-alerta-panel{border:1px solid rgba(120,130,170,.24);background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(247,248,255,.96));border-radius:18px;padding:16px;margin:14px 0;box-shadow:0 14px 35px rgba(17,24,39,.08)}
.estoque-alerta-panel.success{border-color:rgba(22,163,74,.22);background:linear-gradient(135deg,rgba(240,253,244,.92),rgba(255,255,255,.96))}
.estoque-alerta-panel.warn{border-color:rgba(245,158,11,.28);background:linear-gradient(135deg,rgba(255,251,235,.92),rgba(255,255,255,.96))}
.estoque-alerta-panel.danger{border-color:rgba(220,38,38,.28);background:linear-gradient(135deg,rgba(254,242,242,.92),rgba(255,255,255,.96))}
.estoque-alerta-panel.info{border-color:rgba(59,130,246,.24);background:linear-gradient(135deg,rgba(239,246,255,.92),rgba(255,255,255,.96))}
.estoque-alerta-panel>div:first-child{display:flex;flex-direction:column;gap:4px}.estoque-alerta-panel strong{color:var(--text);font-size:15px}.estoque-alerta-panel span{color:var(--muted);font-size:13px;line-height:1.35}
.estoque-alerta-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.estoque-alerta-head>div{display:flex;flex-direction:column;gap:4px}
.estoque-alerta-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.estoque-alerta-item{border:1px solid rgba(120,130,170,.22);background:#fff;border-radius:14px;padding:12px;text-align:left;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;cursor:pointer;transition:.18s ease}.estoque-alerta-item:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(17,24,39,.09)}.estoque-alerta-item b{display:block;color:var(--text);font-size:13px}.estoque-alerta-item span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.estoque-alerta-item em{font-style:normal;white-space:nowrap;font-weight:800;font-size:12px;border-radius:999px;padding:5px 8px;background:rgba(37,99,235,.12);color:var(--primary)}.estoque-alerta-item.danger em{background:rgba(220,38,38,.11);color:#b91c1c}.estoque-alerta-item.warn em{background:rgba(245,158,11,.13);color:#92400e}.estoque-alerta-item.info em{background:rgba(59,130,246,.12);color:#1d4ed8}
.status-pill.info{background:rgba(59,130,246,.12);color:#1d4ed8;border-color:rgba(59,130,246,.22)}
.estoque-balao-compra{position:fixed;right:22px;bottom:22px;z-index:99999;width:min(430px,calc(100vw - 32px));padding:15px 16px 15px 14px;border-radius:20px;background:rgba(255,255,255,.96);border:1px solid rgba(120,130,170,.22);box-shadow:0 24px 80px rgba(17,24,39,.28);display:grid;grid-template-columns:42px 1fr;gap:12px;opacity:0;transform:translateY(18px) scale(.98);transition:.22s ease;backdrop-filter:blur(14px);pointer-events:auto}.estoque-balao-compra.show{opacity:1;transform:translateY(0) scale(1)}.estoque-balao-compra.soft-hide{opacity:.92}.estoque-balao-compra.danger{border-color:rgba(220,38,38,.32);box-shadow:0 24px 80px rgba(127,29,29,.22)}.estoque-balao-compra.warn{border-color:rgba(245,158,11,.32);box-shadow:0 24px 80px rgba(120,53,15,.16)}.estoque-balao-compra .balao-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;font-weight:900;color:#fff;background:linear-gradient(135deg,#ef4444,#f59e0b);box-shadow:0 10px 25px rgba(239,68,68,.18)}.estoque-balao-compra .balao-content{display:flex;flex-direction:column;gap:6px;padding-right:20px}.estoque-balao-compra strong{font-size:15px;color:var(--text);line-height:1.25}.estoque-balao-compra span{font-size:13px;color:var(--muted);line-height:1.4}.estoque-balao-compra .balao-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:21px;line-height:1;color:var(--muted);cursor:pointer}.estoque-balao-compra .balao-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.estoque-balao-compra .tiny{align-self:flex-start;margin-top:0}.estoque-balao-compra .tiny.ghost{background:transparent;color:var(--muted);border-color:rgba(120,130,170,.26)}
@media(max-width:720px){.estoque-alerta-head{align-items:flex-start;flex-direction:column}.estoque-alerta-list{grid-template-columns:1fr}.estoque-balao-compra{left:16px;right:16px;bottom:16px;width:auto}}


/* ========================================================================== 
   CLOVENIX ERP — REESTILIZAÇÃO CORPORATIVA 2026
   Interface clara, profissional e sem a antiga identidade roxa.
   ========================================================================== */
:root{
  --bg:#f3f6fa;
  --side:#0f172a;
  --panel:#ffffff;
  --panel2:#f8fafc;
  --muted:#64748b;
  --text:#0f172a;
  --line:#dbe3ee;
  --violet:#2563eb;
  --violet2:#1d4ed8;
  --pink:#0f766e;
  --primary:#2563eb;
  --primary-strong:#1d4ed8;
  --primary-soft:#eff6ff;
  --green:#15803d;
  --yellow:#b45309;
  --red:#dc2626;
  --radius:14px;
  --shadow:0 10px 30px rgba(15,23,42,.07);
  --shadow-lg:0 24px 70px rgba(15,23,42,.16);
}
html{background:var(--bg)}
body{
  background:var(--bg)!important;
  color:var(--text)!important;
  font-size:14px;
  letter-spacing:-.005em;
}
body::before{display:none!important}

/* Estrutura principal */
@media(min-width:1101px){.app{grid-template-columns:264px minmax(0,1fr)!important}}
.app{background:var(--bg)!important}
.main{
  max-width:none!important;
  margin:0!important;
  padding:26px 30px 44px!important;
  min-width:0;
}
.sidebar{
  background:#0f172a!important;
  border-right:1px solid rgba(255,255,255,.07)!important;
  box-shadow:none!important;
  padding:22px 16px!important;
  gap:20px!important;
}
.side-brand{
  min-height:68px!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:none!important;
  grid-template-columns:42px 1fr!important;
}
.side-brand::before{
  width:42px!important;height:42px!important;border-radius:10px!important;
  background:#fff url('/assets/icon.png') center/80% no-repeat!important;
  border:0!important;box-shadow:none!important;
}
.side-brand::after{content:"ERP FINANCEIRO"!important;color:#64748b!important;right:12px!important;bottom:9px!important}
.side-brand strong{font-size:1.25rem!important;letter-spacing:-.025em!important}
.side-brand span{display:none!important}
.premium-nav{overflow-y:auto;padding-right:3px!important}
.nav-group{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.nav-group-title{
  padding:0 12px 7px!important;
  color:#64748b!important;
  font-size:.64rem!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.side-nav{gap:4px!important;padding:0!important}
.side-nav a{
  min-height:42px!important;
  gap:10px!important;
  padding:9px 11px!important;
  border-radius:9px!important;
  color:#cbd5e1!important;
  background:transparent!important;
  border:1px solid transparent!important;
  font-weight:600!important;
  font-size:.86rem!important;
  transform:none!important;
}
.side-nav a::before{display:none!important}
.side-nav a i{
  width:27px!important;height:27px!important;min-width:27px!important;
  display:grid!important;place-items:center!important;
  border-radius:7px!important;background:rgba(255,255,255,.065)!important;
  color:#cbd5e1!important;font-style:normal!important;font-size:.62rem!important;font-weight:800!important;
}
.side-nav a:hover{background:rgba(255,255,255,.055)!important;color:#fff!important;border-color:transparent!important}
.side-nav a.active{
  background:#1e40af!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:none!important;
}
.side-nav a.active i{background:rgba(255,255,255,.16)!important;color:#fff!important}
.side-footer{
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:10px!important;
  padding:12px!important;
  color:#94a3b8!important;
}
.side-footer strong{color:#4ade80!important}

/* Cabeçalho e navegação de página */
.topbar{
  min-height:74px;
  margin:-26px -30px 24px!important;
  padding:17px 30px!important;
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid var(--line)!important;
  position:sticky;top:0;z-index:18;
  backdrop-filter:blur(14px);
}
.topbar span{color:#64748b!important;font-size:.66rem!important;letter-spacing:.11em!important}
.topbar h1{font-size:1.65rem!important;letter-spacing:-.035em!important;color:#0f172a!important;margin-top:3px!important}
.top-actions{gap:8px!important}
.access-point-banner{border-radius:10px!important;border:1px solid #bfdbfe!important;background:#eff6ff!important;color:#1e3a8a!important;box-shadow:none!important}

/* Cartões e painéis */
.metric-card,.panel,.content-card,.context-panel,.system-card,.system-page article,
.executive-kpis article,.contas-cards article,.caixa-summary div,.anexos-summary-grid article,
.security-card,.empresa-folder-card,.support-admin-list,.support-admin-thread{
  background:#fff!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--shadow)!important;
  border-radius:var(--radius)!important;
  color:var(--text)!important;
}
.context-panel{
  padding:20px!important;
  top:98px!important;
  box-shadow:0 6px 22px rgba(15,23,42,.05)!important;
}
.content-card{padding:22px!important}
.panel{padding:20px!important}
.panel-head,.content-head{margin-bottom:18px!important}
.panel h3,.content-head h2,.context-panel h2,.system-card h2{color:#0f172a!important;letter-spacing:-.025em}
.content-head h2,.context-panel h2{font-size:1.18rem!important}
.content-head p,.context-panel p,.panel-head span,.system-card p{color:#64748b!important;line-height:1.55!important}
.workspace{gap:18px!important}
.two-cols{grid-template-columns:286px minmax(0,1fr)!important}
.timeline-layout{grid-template-columns:292px minmax(0,1fr)!important}

/* Dashboard */
.executive-dashboard{gap:18px!important}
.executive-hero{
  background:linear-gradient(120deg,#0f172a,#1e3a8a)!important;
  border:0!important;border-radius:16px!important;box-shadow:var(--shadow)!important;
  min-height:150px!important;padding:28px!important;
}
.executive-hero::after{background:radial-gradient(circle,rgba(255,255,255,.12),transparent 65%)!important}
.executive-hero h2{font-size:1.85rem!important;letter-spacing:-.04em!important}
.executive-hero p{color:#cbd5e1!important}
.executive-hero>div>span{color:#93c5fd!important}
.executive-kpis{gap:12px!important}
.executive-kpis article{padding:17px!important;min-height:116px!important}
.executive-kpis article::before{background:#2563eb!important;height:3px!important}
.executive-kpis article.kpi-danger::before{background:#dc2626!important}
.executive-kpis article.kpi-warn::before{background:#d97706!important}
.executive-kpis article.kpi-success::before{background:#15803d!important}
.executive-kpis span,.executive-kpis small{color:#64748b!important}
.executive-kpis strong{color:#0f172a!important;font-size:1.52rem!important}
.dashboard-main-grid{gap:16px!important}
.finance-split>div{background:#f8fafc!important;border:1px solid #e7edf5!important;border-radius:10px!important}
.progress-list .bar{background:#e7edf5!important}
.progress-list .bar i,.bar i{background:linear-gradient(90deg,#2563eb,#0f766e)!important}

/* Formulários */
input,select,textarea{
  color:#0f172a!important;
  caret-color:#2563eb;
}
.filter-block input,.filter-block select,.filters-line input,.filters-line select,
.modal-card input,.modal-card select,.modal-card textarea,.support-admin-search,
.pedido-qtd-input{
  background:#fff!important;
  border:1px solid #cfd9e6!important;
  color:#0f172a!important;
  border-radius:9px!important;
  min-height:42px!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:#94a3b8!important}
input:focus,select:focus,textarea:focus{
  outline:none!important;border-color:#2563eb!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.12)!important;
}
label{color:#334155!important;font-weight:650!important}
.filter-block label{color:#475569!important;font-size:.75rem!important}
.filter-block{margin-top:18px!important}
.mini-stat{
  margin-top:12px!important;padding:13px 14px!important;
  background:#f8fafc!important;border:1px solid #e7edf5!important;
  border-radius:10px!important;color:#0f172a!important;
}
.mini-stat span{color:#64748b!important}.mini-stat strong{color:#0f172a!important}
.check-line{background:#f8fafc!important;border-color:#dbe3ee!important;color:#334155!important;border-radius:10px!important}
.parcelas-box{background:#f8fafc!important;border:1px solid #dbe3ee!important;border-radius:12px!important}
.parcela-row{background:#fff!important;border:1px solid #dbe3ee!important;border-radius:10px!important;box-shadow:none!important}
.supplier-autofill-note{grid-column:1/-1;color:#166534!important;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:7px 9px}

/* Botões */
button,.primary,.secondary,.ghost,.danger-light,.tiny,.link{transition:.16s ease}
.primary,.login-card button[type="submit"]{
  background:#2563eb!important;color:#fff!important;border:1px solid #2563eb!important;
  border-radius:9px!important;box-shadow:none!important;font-weight:700!important;
}
.primary:hover,.login-card button[type="submit"]:hover{background:#1d4ed8!important;border-color:#1d4ed8!important;transform:translateY(-1px)}
.secondary,.ghost{
  background:#fff!important;color:#334155!important;border:1px solid #cfd9e6!important;
  border-radius:9px!important;box-shadow:none!important;font-weight:650!important;
}
.secondary:hover,.ghost:hover{background:#f8fafc!important;border-color:#94a3b8!important;color:#0f172a!important}
.danger-light,.tiny.danger{
  background:#fff!important;color:#b91c1c!important;border-color:#fecaca!important;
  border-radius:9px!important;box-shadow:none!important;
}
.danger-light:hover,.tiny.danger:hover{background:#fef2f2!important;border-color:#fca5a5!important}
.tiny{
  background:#fff!important;color:#334155!important;border:1px solid #cfd9e6!important;
  border-radius:8px!important;padding:7px 10px!important;font-weight:650!important;
}
.tiny:hover{background:#f8fafc!important;border-color:#94a3b8!important}
button:disabled{opacity:.5!important;transform:none!important}

/* Tabelas */
.table-wrap{
  border:1px solid var(--line)!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
}
table{font-size:.82rem!important}
th{
  background:#f8fafc!important;
  color:#475569!important;
  font-size:.65rem!important;
  letter-spacing:.075em!important;
  font-weight:800!important;
  border-bottom:1px solid #dbe3ee!important;
}
td{color:#334155!important;border-bottom:1px solid #e7edf5!important}
tbody tr:last-child td{border-bottom:0!important}
tr:hover td{background:#f8fafc!important}
td strong{color:#0f172a!important}
td small{color:#64748b!important}
.row-actions{gap:6px!important}

/* Status */
.status-pill,.badge{
  border-radius:999px!important;padding:5px 8px!important;font-size:.68rem!important;font-weight:750!important;
  border:1px solid transparent!important;
}
.status-pill.success{background:#f0fdf4!important;color:#166534!important;border-color:#bbf7d0!important}
.status-pill.info{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}
.status-pill.warning{background:#fffbeb!important;color:#92400e!important;border-color:#fde68a!important}
.status-pill.danger{background:#fef2f2!important;color:#b91c1c!important;border-color:#fecaca!important}
.muted-pill{background:#f1f5f9!important;color:#64748b!important;border:1px solid #dbe3ee!important}

/* Modais */
.modal-backdrop{background:rgba(15,23,42,.58)!important;backdrop-filter:blur(7px)!important}
.modal-card{
  width:min(720px,100%)!important;
  background:#fff!important;
  border:1px solid #dbe3ee!important;
  border-radius:15px!important;
  box-shadow:var(--shadow-lg)!important;
  color:#0f172a!important;
  padding:25px!important;
}
.modal-close{color:#64748b!important;width:34px;height:34px;border-radius:8px!important;display:grid;place-items:center;font-size:25px!important}
.modal-close:hover{background:#f1f5f9!important;color:#0f172a!important}
.modal-card h2{color:#0f172a!important;letter-spacing:-.03em!important}
.modal-card p,.modal-card small{color:#64748b!important}
.modal-title-block>span{color:#2563eb!important}
.modal-actions{padding-top:16px!important;border-top:1px solid #e7edf5!important}

/* Login */
.login-screen{
  background:#eef2f7!important;
  grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)!important;
}
.login-art{
  padding:72px!important;
  background:linear-gradient(140deg,#0f172a 0%,#172554 58%,#0f3d4c 100%)!important;
  color:#fff!important;
}
.brand-mini{background:rgba(255,255,255,.1)!important;color:#bfdbfe!important;border:1px solid rgba(255,255,255,.12)!important}
.login-art h1{font-size:clamp(42px,5vw,68px)!important;line-height:1.02!important;letter-spacing:-.055em!important}
.login-art p{color:#cbd5e1!important}
.login-preview{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important;box-shadow:none!important}
.login-preview div{background:linear-gradient(145deg,#2563eb,#1d4ed8)!important}
.login-preview div:nth-child(2){background:linear-gradient(145deg,#0f766e,#115e59)!important}
.login-preview div:nth-child(3){background:linear-gradient(145deg,#334155,#1e293b)!important}
.login-card{
  background:#fff!important;border:1px solid #dbe3ee!important;border-radius:16px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.14)!important;color:#0f172a!important;
}
.login-card h2{color:#0f172a!important;font-size:1.85rem!important;letter-spacing:-.04em!important}
.login-card p{color:#64748b!important}.login-card label{color:#334155!important}
.login-card input{background:#fff!important;color:#0f172a!important;border-color:#cfd9e6!important;border-radius:9px!important}
.login-create-btn{background:#fff!important;color:#334155!important;border:1px solid #cfd9e6!important;box-shadow:none!important}
.eyebrow{color:#2563eb!important}

/* Fornecedores */
.fornecedores-layout .content-card{min-height:calc(100vh - 130px)}
.fornecedores-cards{margin-bottom:16px!important}
.supplier-help-box{
  margin-top:16px;padding:12px 13px;border-radius:10px;
  background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;
  font-size:.76rem;line-height:1.5;
}
.supplier-form{gap:13px!important}
.supplier-section-title{
  margin-top:7px;padding:11px 12px!important;
  border-radius:9px;background:#f8fafc;border:1px solid #e7edf5;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.supplier-section-title strong{color:#0f172a}.supplier-section-title small{color:#64748b!important}
.fornecedores-table-wrap table{min-width:1050px!important}

/* Pedidos e estoque */
.estoque-alerta-panel,.estoque-alerta-item,.estoque-balao-compra{
  background:#fff!important;border-color:#dbe3ee!important;box-shadow:var(--shadow)!important;
}
.estoque-alerta-item em{background:#eff6ff!important;color:#1d4ed8!important}
.pedidos-historico-head{border-top-color:#dbe3ee!important}
.searchable-select .tiny{height:42px!important}

/* Scrollbars neutras */
*{scrollbar-color:#94a3b8 #e7edf5!important}
*::-webkit-scrollbar-track{background:#e7edf5!important}
*::-webkit-scrollbar-thumb{background:#94a3b8!important;border:2px solid #e7edf5!important}
*::-webkit-scrollbar-thumb:hover{background:#64748b!important}

/* Sistema e estados vazios */
.system-page{place-items:start!important;min-height:auto!important}
.system-card{max-width:760px!important;padding:30px!important}
.system-card>span{color:#2563eb!important}
.empty{color:#64748b!important}
.warn-box{background:#fffbeb!important;border-color:#fde68a!important;color:#92400e!important}
.success-box{background:#f0fdf4!important;border-color:#bbf7d0!important;color:#166534!important}
.toast{background:#0f172a!important;color:#fff!important;border:1px solid rgba(255,255,255,.08)!important}

@media(max-width:1100px){
  .main{padding:18px!important}
  .topbar{margin:-18px -18px 18px!important;padding:15px 18px!important}
  .sidebar{background:#0f172a!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .two-cols,.timeline-layout{grid-template-columns:1fr!important}
  .context-panel{position:static!important}
  .login-screen{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .main{padding:14px!important}.topbar{margin:-14px -14px 14px!important;padding:13px 14px!important}
  .content-card,.context-panel,.panel{padding:15px!important}
  .modal-card{padding:19px!important}.form-grid{grid-template-columns:1fr!important}.form-grid .span{grid-column:1!important}
  .supplier-section-title{align-items:flex-start;flex-direction:column}
}

/* ========================================================================== 
   CLOVENIX ERP v2.1 — CAMADA FINAL DE CONTRASTE E PADRÃO ERP
   ========================================================================== */
:root{
  --clv-navy:#0b1f3a;
  --clv-navy-2:#102b4e;
  --clv-blue:#155eef;
  --clv-blue-strong:#0b4fd7;
  --clv-canvas:#f4f7fb;
  --clv-card:#ffffff;
  --clv-text:#10213a;
  --clv-muted:#607089;
  --clv-border:#d4deea;
}
body{background:var(--clv-canvas)!important;color:var(--clv-text)!important}
@media(min-width:1101px){.app{grid-template-columns:286px minmax(0,1fr)!important}}
.sidebar{
  width:286px!important;
  background:linear-gradient(180deg,var(--clv-navy) 0%,#091a31 100%)!important;
  padding:18px 14px!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  overflow:hidden!important;
}
.side-brand{
  min-height:72px!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  padding:11px 12px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:12px!important;
}
.side-brand::before{width:46px!important;height:46px!important;background:#fff url('/assets/icon.png?v=20260715-3') center/88% no-repeat!important;border-radius:11px!important}
.side-brand::after{content:"GESTÃO EMPRESARIAL"!important;color:#7f94b2!important;font-size:.55rem!important;letter-spacing:.13em!important;right:12px!important;bottom:10px!important}
.side-brand strong{font-size:1.13rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.premium-nav{overflow-y:auto!important;overflow-x:hidden!important;padding:2px 3px 2px 0!important}
.side-nav a{width:100%!important;min-width:0!important;font-size:.84rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#d1dbea!important}
.side-nav a i{flex:0 0 30px!important;width:30px!important;height:30px!important;min-width:30px!important;background:rgba(255,255,255,.075)!important;color:#d9e3f0!important}
.side-nav a.active{background:linear-gradient(90deg,#155eef,#0b4fd7)!important;box-shadow:0 8px 20px rgba(0,71,209,.25)!important}
.nav-group-title{color:#7890ae!important;padding-left:10px!important}
.side-footer{display:flex!important;align-items:center!important;gap:10px!important;padding:11px 12px!important}
.side-footer>div{display:flex;flex-direction:column;gap:3px;min-width:0}.side-footer span{font-size:.72rem;color:#b8c6d8!important}.side-footer small{font-size:.58rem;color:#7186a3!important}.side-footer strong{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.72rem!important;color:#73e2a7!important}.side-footer strong i{width:7px;height:7px;border-radius:50%;background:#24c875;box-shadow:0 0 0 3px rgba(36,200,117,.14)}
.main{background:var(--clv-canvas)!important}
.topbar{box-shadow:0 1px 0 rgba(15,23,42,.02)!important}

/* Contraste explícito: corrige temas/caches e autofill do navegador */
.modal-card input:not([type="checkbox"]):not([type="radio"]),
.modal-card select,
.modal-card textarea,
.content-card input:not([type="checkbox"]):not([type="radio"]),
.content-card select,
.context-panel input:not([type="checkbox"]):not([type="radio"]),
.context-panel select{
  background-color:#fff!important;
  color:#10213a!important;
  border:1px solid #bfcddd!important;
  -webkit-text-fill-color:#10213a!important;
  opacity:1!important;
}
.modal-card input:-webkit-autofill,
.modal-card input:-webkit-autofill:hover,
.modal-card input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  -webkit-text-fill-color:#10213a!important;
  caret-color:#10213a!important;
}
.modal-card select option{background:#fff!important;color:#10213a!important}
.modal-card label{color:#263b57!important}
.modal-card small{color:#607089!important}
.modal-card input:disabled,.modal-card select:disabled{background:#edf2f7!important;color:#53657b!important;-webkit-text-fill-color:#53657b!important}
.modal-card input[type="file"]{
  background:#f8fbff!important;
  color:#334b68!important;
  -webkit-text-fill-color:#334b68!important;
  border:1px dashed #9eb5d0!important;
}
.modal-card input[type="file"]::file-selector-button{background:#eaf2ff!important;color:#174b9c!important;border:1px solid #bdd0ec!important;box-shadow:none!important}
.modal-card input[type="file"]::-webkit-file-upload-button{background:#eaf2ff!important;color:#174b9c!important;border:1px solid #bdd0ec!important;box-shadow:none!important}

/* Fornecedores */
.supplier-form .supplier-section-title{background:#f5f8fc!important;border-color:#d8e2ee!important}
.supplier-form input,.supplier-form select{min-height:44px!important}
.supplier-modal-actions{align-items:center!important}.modal-action-spacer{flex:1}.supplier-delete-modal{margin-right:auto!important}
.fornecedores-table-wrap .row-actions{min-width:205px;flex-wrap:nowrap}

/* Lançamento agrupado */
.context-tip{display:block;margin:9px 2px 0;color:#607089;line-height:1.45;font-size:.72rem}
.grouped-launch-btn{gap:7px!important}.grouped-launch-btn span{font-size:1.05rem;line-height:1}
.grouped-badge{display:inline-flex;margin-top:5px;padding:4px 7px;border-radius:999px;background:#edf4ff;color:#174b9c!important;border:1px solid #c8daf5;font-size:.64rem;font-weight:750;white-space:nowrap}
.modal-card.modal-nota-grande:has(.grouped-invoice-form),.modal-card:has(.grouped-invoice-form){width:min(1060px,96vw)!important}
.grouped-invoice-form{gap:15px!important}
.grouped-title{padding-right:40px}
.grouped-summary-banner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:15px 17px;border-radius:11px;background:linear-gradient(90deg,#eef5ff,#f8fbff);border:1px solid #c7daf7
}
.grouped-summary-banner div{display:flex;flex-direction:column;gap:3px}.grouped-summary-banner span{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#155eef}.grouped-summary-banner strong{font-size:1rem;color:#10213a}.grouped-summary-banner small{max-width:440px;text-align:right;color:#52677f!important}
.grouped-documents-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:4px}.grouped-documents-head>div{display:flex;align-items:center;gap:10px}.grouped-documents-head strong{font-size:1rem}.grouped-documents-head span{padding:4px 8px;border-radius:999px;background:#edf2f7;color:#53657b;font-size:.68rem;font-weight:700}
#grouped-documents-container{display:flex;flex-direction:column;gap:13px}
.grouped-doc-row{border:1px solid #d4deea;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px rgba(15,35,62,.045)}
.grouped-doc-row>header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:#f6f9fc;border-bottom:1px solid #dbe4ef}
.grouped-doc-row>header>div{display:flex;align-items:center;gap:10px}.grouped-doc-order{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#607089}.grouped-doc-row>header strong{font-size:.86rem;color:#10213a}
.grouped-doc-remove{width:30px;height:30px;border:1px solid #f0b7b7;background:#fff;color:#b42318;border-radius:8px;cursor:pointer;font-size:18px;line-height:1}
.grouped-doc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px}.grouped-doc-grid .span{grid-column:1/-1}.grouped-doc-grid label{font-size:.74rem}.grouped-doc-grid small{display:block;margin-top:4px;line-height:1.35}.grouped-doc-type-hint{min-height:32px}.existing-file-ok{color:#18794e!important;font-weight:650}
.grouped-doc-row.stock-document{border-left:4px solid #0f766e}.grouped-doc-row.stock-document>header{background:#f0fdfa}
.grouped-total-line{display:flex;justify-content:flex-end;align-items:center;gap:20px;padding:14px 17px;background:#102b4e;border-radius:10px;color:#fff}.grouped-total-line span{color:#c8d8e9;font-size:.78rem}.grouped-total-line strong{font-size:1.15rem;color:#fff}
.grouped-view-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;margin-bottom:13px;background:#eef5ff;border:1px solid #c8daf5;border-radius:10px}.grouped-view-summary span{font-weight:800;color:#155eef}.grouped-view-summary strong{color:#10213a}

@media(max-width:900px){
  .grouped-doc-grid{grid-template-columns:1fr 1fr}.grouped-summary-banner{align-items:flex-start;flex-direction:column}.grouped-summary-banner small{text-align:left}
}
@media(max-width:620px){.grouped-doc-grid{grid-template-columns:1fr}.grouped-documents-head{align-items:flex-start;flex-direction:column}.grouped-documents-head button{width:100%}}

/* ========================================================================== 
   CLOVENIX ERP v2.2 — navegação profissional e contraste reforçado
   ========================================================================== */
@media(min-width:1101px){
  .app{grid-template-columns:272px minmax(0,1fr)!important;transition:grid-template-columns .2s ease}
  .app.sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)!important}
  .app.sidebar-collapsed .sidebar{padding-inline:12px!important}
  .app.sidebar-collapsed .side-brand{grid-template-columns:1fr!important;padding:10px!important;justify-items:center!important}
  .app.sidebar-collapsed .side-brand-copy,
  .app.sidebar-collapsed .nav-group-title,
  .app.sidebar-collapsed .side-nav a>span,
  .app.sidebar-collapsed .side-footer>div{display:none!important}
  .app.sidebar-collapsed .side-nav a{justify-content:center!important;padding:7px!important;overflow:visible!important}
  .app.sidebar-collapsed .side-nav a i{margin:0!important;width:36px!important;height:36px!important;min-width:36px!important}
  .app.sidebar-collapsed .nav-group{gap:7px!important;margin-bottom:12px!important}
  .app.sidebar-collapsed .side-footer{justify-content:center!important;padding:12px 8px!important}
  .app.sidebar-collapsed .side-footer strong{font-size:0!important;margin:0!important}
  .app.sidebar-collapsed .side-footer strong i{width:9px!important;height:9px!important}
}
.side-brand{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  align-items:center!important;
  position:relative!important;
}
.side-brand::after{display:none!important}
.side-brand-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.side-brand-copy strong{display:block;color:#fff!important;line-height:1.05!important}
.side-brand-copy span{display:block!important;color:#8fa4c0!important;font-size:.58rem!important;letter-spacing:.12em!important;text-transform:uppercase;font-weight:800!important;white-space:nowrap}
.sidebar-toggle{
  position:absolute!important;
  right:-29px!important;
  top:19px!important;
  z-index:6!important;
  width:27px!important;
  height:34px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #d5dfeb!important;
  border-left:0!important;
  border-radius:0 9px 9px 0!important;
  background:#fff!important;
  color:#35506f!important;
  font-size:1.25rem!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:4px 4px 12px rgba(15,23,42,.08)!important;
}
.sidebar-toggle:hover{background:#f5f8fc!important;color:#155eef!important}
.side-nav a>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar{overflow:visible!important}
.premium-nav{overflow-y:auto!important;overflow-x:hidden!important}

/* Os controles devem permanecer claros mesmo quando o navegador está em tema escuro. */
.modal-card,.modal-card form,.modal-card input,.modal-card select,.modal-card textarea{color-scheme:light!important}
.modal-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.modal-card select,
.modal-card textarea{
  background:#ffffff!important;
  background-image:none!important;
  color:#10213a!important;
  -webkit-text-fill-color:#10213a!important;
  border:1px solid #b8c8da!important;
  box-shadow:0 1px 2px rgba(15,23,42,.025)!important;
}
.modal-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,
.modal-card select:hover,.modal-card textarea:hover{border-color:#8da5bf!important}
.modal-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.modal-card select:focus,.modal-card textarea:focus{
  border-color:#155eef!important;
  box-shadow:0 0 0 3px rgba(21,94,239,.13)!important;
}
.modal-card input::placeholder,.modal-card textarea::placeholder{color:#7c8da3!important;-webkit-text-fill-color:#7c8da3!important;opacity:1!important}
.modal-card select option{background:#fff!important;color:#10213a!important}
.supplier-section-title{color:#183b66!important}
.supplier-section-title strong{color:#183b66!important}
.supplier-section-title small{color:#64748b!important}
.grouped-doc-row{box-shadow:0 1px 3px rgba(15,23,42,.04)!important}
.grouped-summary-banner,.grouped-total-line{background:#0f2d52!important}

@media(max-width:1100px){
  .sidebar-toggle{display:none!important}
  .app.sidebar-collapsed{grid-template-columns:1fr!important}
  .app.sidebar-collapsed .side-brand-copy,.app.sidebar-collapsed .side-nav a>span{display:initial!important}
}

/* =====================================================================
   CLOVENIX ERP 2.3 — DESIGN SYSTEM CORPORATIVO
   Camada final de interface, alto contraste e padrão visual único.
   ===================================================================== */
:root{
  --bg:#f3f6fa!important;
  --side:#071a2d!important;
  --side-2:#0b223b!important;
  --panel:#ffffff!important;
  --panel2:#f7f9fc!important;
  --muted:#64748b!important;
  --text:#172033!important;
  --line:#dbe3ed!important;
  --violet:#1769e0!important;
  --violet2:#0f5bcc!important;
  --pink:#0f766e!important;
  --green:#159463!important;
  --yellow:#d97706!important;
  --red:#cf3347!important;
  --radius:12px!important;
  --shadow:0 8px 26px rgba(15,35,55,.08)!important;
  --shadow-soft:0 2px 10px rgba(15,35,55,.055);
  --focus:0 0 0 3px rgba(23,105,224,.14);
}
html{background:#f3f6fa!important;color-scheme:light!important}
body{background:#f3f6fa!important;color:#172033!important;font-size:14px!important;letter-spacing:0!important}
body:not(.is-login){overflow:hidden!important}
button,input,select,textarea{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}

/* Estrutura principal */
.app{
  display:grid!important;
  grid-template-columns:248px minmax(0,1fr)!important;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
  background:#f3f6fa!important;
}
.sidebar{
  position:relative!important;
  inset:auto!important;
  width:248px!important;
  min-width:248px!important;
  height:100vh!important;
  padding:18px 14px 14px!important;
  gap:18px!important;
  overflow:visible!important;
  background:linear-gradient(180deg,#06182b 0%,#092039 100%)!important;
  border-right:1px solid rgba(255,255,255,.06)!important;
  box-shadow:8px 0 28px rgba(8,28,49,.08)!important;
  z-index:20!important;
}
.main{
  width:100%!important;
  max-width:none!important;
  height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#f3f6fa!important;
}
.page{padding:24px 28px 34px!important}
.topbar{
  position:sticky!important;
  top:0!important;
  z-index:15!important;
  min-height:76px!important;
  margin:0!important;
  padding:17px 28px!important;
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid #dce5ef!important;
  box-shadow:0 1px 0 rgba(15,35,55,.02)!important;
  backdrop-filter:blur(14px)!important;
}
.topbar #page-kicker,.topbar>div>span{
  display:block!important;
  color:#718096!important;
  font-size:.66rem!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.topbar h1{color:#142033!important;font-size:1.62rem!important;font-weight:750!important;line-height:1.2!important;margin:3px 0 0!important;letter-spacing:-.025em!important}
.top-actions{gap:8px!important}

/* Marca e navegação */
.side-brand{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  min-height:56px!important;
  align-items:center!important;
  gap:10px!important;
  padding:7px 9px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.045)!important;
}
.side-brand::before{
  content:"C"!important;
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#1b76e8,#0d4fa9)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-size:1.1rem!important;
  font-weight:850!important;
}
.side-brand-copy{gap:3px!important}
.side-brand-copy strong{font-size:.97rem!important;font-weight:750!important;color:#fff!important;white-space:nowrap!important;letter-spacing:-.02em!important}
.side-brand-copy span{font-size:.55rem!important;color:#9fb4ca!important;letter-spacing:.1em!important}
.sidebar-toggle{
  right:-27px!important;
  top:19px!important;
  width:27px!important;
  height:34px!important;
  border-color:#d9e2ec!important;
  border-radius:0 8px 8px 0!important;
  background:#fff!important;
  color:#42617e!important;
  box-shadow:5px 3px 14px rgba(15,35,55,.08)!important;
}
.side-nav,.premium-nav{gap:0!important;padding:0 1px 8px!important;overflow-y:auto!important;scrollbar-width:thin!important;scrollbar-color:#34516e transparent!important}
.nav-group{display:flex!important;flex-direction:column!important;gap:3px!important;margin:0 0 14px!important}
.nav-group-title{
  padding:5px 10px 4px!important;
  color:#7f99b4!important;
  font-size:.57rem!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.side-nav a{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:6px 9px!important;
  color:#c3d0de!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  font-size:.76rem!important;
  font-weight:650!important;
  line-height:1.15!important;
  transition:background .16s,border-color .16s,color .16s,transform .16s!important;
}
.side-nav a i{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  min-width:28px!important;
  height:28px!important;
  margin:0!important;
  border-radius:7px!important;
  background:rgba(255,255,255,.065)!important;
  color:#dce9f6!important;
  font-size:.59rem!important;
  font-weight:800!important;
  font-style:normal!important;
  letter-spacing:0!important;
}
.side-nav a:hover{background:rgba(255,255,255,.065)!important;border-color:rgba(255,255,255,.055)!important;color:#fff!important;transform:translateX(1px)!important}
.side-nav a.active{
  background:linear-gradient(90deg,#1769e0,#0f5bc9)!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(15,91,204,.23)!important;
}
.side-nav a.active i{background:rgba(255,255,255,.18)!important;color:#fff!important}
.side-footer{
  min-height:48px!important;
  margin-top:auto!important;
  padding:10px 11px!important;
  align-items:center!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:10px!important;
  background:rgba(0,0,0,.12)!important;
  color:#9fb2c6!important;
}
.side-footer span{font-size:.62rem!important;color:#b9c7d6!important}
.side-footer small{display:block!important;margin-top:2px!important;color:#718aa3!important;font-size:.55rem!important}
.side-footer strong{font-size:.63rem!important;color:#68dfab!important}
.side-footer strong i{display:inline-block!important;width:6px!important;height:6px!important;border-radius:50%!important;background:#20cf83!important;margin-right:4px!important}
.app.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)!important}
.app.sidebar-collapsed .sidebar{width:78px!important;min-width:78px!important;padding:18px 9px 14px!important}
.app.sidebar-collapsed .side-brand{grid-template-columns:1fr!important;padding:7px!important}
.app.sidebar-collapsed .side-brand::before{margin:auto!important}
.app.sidebar-collapsed .side-brand-copy,.app.sidebar-collapsed .nav-group-title,.app.sidebar-collapsed .side-nav a>span,.app.sidebar-collapsed .side-footer>div{display:none!important}
.app.sidebar-collapsed .side-nav a{justify-content:center!important;padding:6px!important}
.app.sidebar-collapsed .side-footer{justify-content:center!important}

/* Ações e controles */
.primary,.secondary,.ghost,.danger-light,.tiny,.login-card button{
  min-height:38px!important;
  padding:9px 13px!important;
  border-radius:8px!important;
  font-size:.74rem!important;
  font-weight:700!important;
  line-height:1.15!important;
  box-shadow:none!important;
  transition:background .15s,border-color .15s,box-shadow .15s,transform .15s!important;
}
.primary,.login-card button[type="submit"]{background:#1769e0!important;color:#fff!important;border:1px solid #1769e0!important}
.primary:hover,.login-card button[type="submit"]:hover{background:#0f5bc9!important;border-color:#0f5bc9!important;box-shadow:0 5px 14px rgba(23,105,224,.18)!important}
.secondary,.ghost{background:#fff!important;color:#29435f!important;border:1px solid #cbd7e4!important}
.secondary:hover,.ghost:hover{background:#f5f8fc!important;border-color:#a9bbce!important;color:#142d49!important}
.danger-light{background:#fff5f5!important;color:#bc2f42!important;border:1px solid #f1b8bf!important}
.danger-light:hover{background:#ffecee!important;border-color:#e98f9b!important}
.tiny{min-height:30px!important;padding:6px 9px!important;background:#fff!important;color:#29435f!important;border:1px solid #cbd7e4!important}
.tiny:hover{background:#eef5ff!important;border-color:#9bbbea!important;color:#0f5bc9!important}
.tiny.danger{background:#fff5f5!important;color:#bf3245!important;border-color:#efbdc4!important}
button:disabled{opacity:.48!important;cursor:not-allowed!important}
.full{margin-top:10px!important}

/* Formulários claros e consistentes */
input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  min-height:42px!important;
  width:100%!important;
  padding:9px 12px!important;
  border:1px solid #cbd7e4!important;
  border-radius:8px!important;
  background:#fff!important;
  background-image:none!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  box-shadow:0 1px 2px rgba(15,35,55,.025)!important;
  outline:0!important;
  color-scheme:light!important;
}
input:not([type="checkbox"]):not([type="radio"]):hover,select:hover,textarea:hover{border-color:#a7b8ca!important}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{border-color:#1769e0!important;box-shadow:var(--focus)!important}
input::placeholder,textarea::placeholder{color:#8a99aa!important;-webkit-text-fill-color:#8a99aa!important;opacity:1!important}
select option{background:#fff!important;color:#172033!important}
input[type="file"]{min-height:44px!important;padding:8px 10px!important;background:#f8fafc!important;color:#334155!important}
input[type="file"]::file-selector-button{margin-right:10px!important;padding:6px 9px!important;border:1px solid #c5d2df!important;border-radius:6px!important;background:#fff!important;color:#24415e!important;font-weight:650!important;cursor:pointer!important}
input[type="checkbox"]{accent-color:#1769e0!important}
label{color:#324a63!important;font-size:.72rem!important;font-weight:700!important}
small{color:#718096!important;line-height:1.45!important}
.check-line{
  padding:12px 13px!important;
  border:1px solid #d8e2ec!important;
  border-radius:9px!important;
  background:#f8fafc!important;
  color:#2d455e!important;
}
.check-line.is-disabled{opacity:.65!important;background:#f1f5f9!important}

/* Cards e áreas de conteúdo */
.metric-card,.panel,.content-card,.context-panel,.system-card,.empresa-config-card,.cadastros-shell,.support-admin-shell{
  background:#fff!important;
  border:1px solid #dce5ef!important;
  border-radius:12px!important;
  box-shadow:var(--shadow-soft)!important;
  color:#172033!important;
}
.content-card{padding:20px!important}
.context-panel{padding:20px!important;top:100px!important;max-height:calc(100vh - 124px)!important;overflow:auto!important}
.context-panel h2,.content-head h2,.panel h3,.system-card h2{color:#172033!important;font-weight:750!important;letter-spacing:-.02em!important}
.context-panel h2{font-size:1.18rem!important;margin:4px 0 7px!important}
.context-panel p,.content-head p,.panel-head span,.system-card p{color:#66778b!important}
.context-eyebrow,.content-eyebrow{
  display:block!important;
  color:#1769e0!important;
  font-size:.61rem!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.content-head{margin-bottom:16px!important}
.content-head h2{margin:3px 0 4px!important;font-size:1.16rem!important}
.content-head p{margin:0!important;font-size:.75rem!important}
.workspace{gap:16px!important}
.two-cols{grid-template-columns:260px minmax(0,1fr)!important}
.timeline-layout{grid-template-columns:285px minmax(0,1fr)!important}
.filter-block{margin-top:20px!important}
.filter-block label{color:#51677e!important}
.mini-stat{margin-top:12px!important;padding:11px 12px!important;border:1px solid #dde6ef!important;border-radius:8px!important;background:#f7f9fc!important;color:#41566d!important}
.mini-stat strong{color:#172033!important}
.context-tip.feature-tip{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  margin-top:12px!important;
  padding:11px 12px!important;
  border:1px solid #bcd4f4!important;
  border-radius:8px!important;
  background:#eff6ff!important;
  color:#274c75!important;
}
.context-tip.feature-tip strong{font-size:.69rem!important;color:#1455a0!important}
.context-tip.feature-tip span{font-size:.67rem!important;line-height:1.45!important;color:#55718e!important}

/* Dashboard executivo */
.executive-dashboard{display:flex!important;flex-direction:column!important;gap:14px!important}
.executive-hero{
  min-height:112px!important;
  padding:21px 24px!important;
  border-radius:13px!important;
  border:1px solid #173e70!important;
  background:linear-gradient(118deg,#0b2340 0%,#123e78 100%)!important;
  box-shadow:0 8px 20px rgba(10,43,79,.14)!important;
}
.executive-hero span{color:#70b4ff!important;font-size:.61rem!important;letter-spacing:.13em!important}
.executive-hero h2{margin:7px 0 5px!important;color:#fff!important;font-size:1.4rem!important;font-weight:760!important}
.executive-hero p{margin:0!important;color:#c7d8eb!important;font-size:.76rem!important}
.executive-hero .ghost{background:#fff!important;color:#173b66!important;border-color:#fff!important}
.executive-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.executive-kpis article{
  min-height:96px!important;
  padding:14px 15px!important;
  overflow:hidden!important;
  border:1px solid #dce5ef!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(15,35,55,.04)!important;
}
.executive-kpis article::after{opacity:.55!important;background:#e7f0ff!important}
.executive-kpis span{color:#5d7085!important;font-size:.62rem!important;font-weight:800!important;letter-spacing:.05em!important}
.executive-kpis strong{margin:7px 0 4px!important;color:#12233a!important;font-size:1.25rem!important;line-height:1.15!important}
.executive-kpis small{color:#718096!important;font-size:.64rem!important}
.dashboard-main-grid{gap:12px!important}
.dashboard-main-grid .panel{padding:18px!important}
.panel-head h3{font-size:.91rem!important;color:#172033!important}
.panel-head span{font-size:.68rem!important}
.finance-split div,.caixa-summary div{background:#f7f9fc!important;border:1px solid #e0e7ef!important;border-radius:9px!important}
.finance-split span,.caixa-summary span{color:#64748b!important}
.finance-split strong,.caixa-summary strong{color:#172033!important}
.progress-item{color:#43576d!important}
.bar{background:#e8edf3!important}.bar i{background:linear-gradient(90deg,#1769e0,#55a1f4)!important}
.dash-contas-list,.gestao-list-item{color:#334155!important}

/* Banner de empresa */
.access-point-banner{
  margin:16px 28px 0!important;
  padding:13px 16px!important;
  border:1px solid #bfd6f5!important;
  border-radius:10px!important;
  background:#eff6ff!important;
  color:#274a70!important;
}
.access-point-banner strong,.access-point-banner b{color:#154e91!important}

/* Tabelas */
.table-wrap{
  width:100%!important;
  border:1px solid #dce5ef!important;
  border-radius:9px!important;
  background:#fff!important;
  overflow:auto!important;
}
table{background:#fff!important;color:#26394f!important;font-size:.73rem!important;min-width:900px!important}
th,td{padding:11px 12px!important;border-bottom:1px solid #e4eaf1!important;color:#334155!important;vertical-align:middle!important}
th{
  height:38px!important;
  background:#f7f9fc!important;
  color:#52677d!important;
  font-size:.59rem!important;
  font-weight:800!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
tbody tr:hover td{background:#f8fbff!important}
tbody tr:last-child td{border-bottom:0!important}
td strong{color:#172033!important}
td small{color:#78889a!important}
.empty{color:#7a8999!important;background:#fff!important}
.status-pill,.grouped-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:23px!important;
  padding:4px 7px!important;
  border-radius:6px!important;
  font-size:.58rem!important;
  font-weight:750!important;
  line-height:1.15!important;
  white-space:normal!important;
}
.status-pill.info,.grouped-badge{background:#eaf3ff!important;color:#1559a9!important;border:1px solid #c8def7!important}

/* Modais */
.modal-backdrop{padding:18px!important;background:rgba(8,24,42,.54)!important;backdrop-filter:blur(6px)!important}
.modal-card{
  width:min(720px,calc(100vw - 28px))!important;
  max-height:92vh!important;
  padding:25px!important;
  border:1px solid #dce5ef!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:0 28px 80px rgba(7,27,48,.24)!important;
}
.modal-card.modal-nota-grande{width:min(1040px,calc(100vw - 28px))!important}
.modal-close{
  position:sticky!important;
  float:right!important;
  top:0!important;
  right:0!important;
  width:31px!important;
  height:31px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:-6px -5px 0 10px!important;
  border:1px solid #d5dee8!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#536a81!important;
  font-size:1.25rem!important;
  z-index:4!important;
}
.modal-close:hover{background:#f1f5f9!important;color:#172033!important}
.modal-card h2{color:#142033!important;font-size:1.32rem!important;letter-spacing:-.025em!important}
.modal-card p{color:#66778b!important}
.modal-card label{color:#354b62!important;font-size:.7rem!important;font-weight:750!important}
.modal-card small{color:#728296!important}
.form-grid{gap:13px!important}
.modal-actions{padding-top:13px!important;border-top:1px solid #e4eaf1!important;margin-top:12px!important}
.modal-title-block{padding:0 38px 15px 0!important;border-bottom:1px solid #e5ebf1!important;margin-bottom:16px!important}
.modal-title-block>span,.entry-choice-head>span{color:#1769e0!important;font-size:.62rem!important;font-weight:800!important;letter-spacing:.13em!important;text-transform:uppercase!important}
.modal-title-block h2,.entry-choice-head h2{margin:5px 0!important;color:#142033!important}
.modal-title-block p,.entry-choice-head p{margin:4px 0 0!important;font-size:.76rem!important}
.nf-form-section,.supplier-section-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:5px 0 0!important;
  padding:10px 12px!important;
  border:1px solid #dce5ef!important;
  border-radius:8px!important;
  background:#f7f9fc!important;
}
.nf-form-section strong,.supplier-section-title strong{color:#213a55!important;font-size:.74rem!important}
.nf-form-section small,.supplier-section-title small{font-size:.65rem!important;text-align:right!important}
.success-box,.warn-box,.empty-box,#nota-xml-preview{
  border-radius:8px!important;
  padding:10px 12px!important;
  font-size:.7rem!important;
  text-align:left!important;
}
.success-box{background:#eefbf5!important;border:1px solid #b9e7d1!important;color:#19714e!important}
.warn-box{background:#fff8e8!important;border:1px solid #efd99c!important;color:#865a08!important}
#nota-xml-preview.empty{background:#f7f9fc!important;border:1px dashed #cbd7e4!important;color:#687a8e!important}
.parcelas-box{padding:14px!important;border:1px solid #dce5ef!important;border-radius:10px!important;background:#fafbfd!important}
.parcelas-head strong{color:#20364e!important}.parcelas-head span{color:#1769e0!important}
.parcela-row{border:1px solid #dce5ef!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important}
.parcela-row *{color:#334155!important}

/* Escolha unificada do lançamento */
.entry-choice-head{padding:0 38px 16px 0!important;border-bottom:1px solid #e4eaf1!important}
.entry-choice-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:13px!important;margin-top:18px!important}
.entry-choice-card{
  min-height:190px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:9px!important;
  padding:18px!important;
  text-align:left!important;
  border:1px solid #d7e1eb!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#172033!important;
  cursor:pointer!important;
  box-shadow:0 2px 8px rgba(15,35,55,.04)!important;
}
.entry-choice-card:hover{border-color:#8db7eb!important;background:#f8fbff!important;box-shadow:0 8px 22px rgba(23,105,224,.10)!important;transform:translateY(-1px)!important}
.entry-choice-card i{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:8px!important;background:#eaf3ff!important;color:#1769e0!important;font-size:.68rem!important;font-style:normal!important;font-weight:850!important}
.entry-choice-card strong{font-size:1rem!important;color:#162b42!important}
.entry-choice-card span{font-size:.73rem!important;color:#65778a!important;line-height:1.55!important}
.entry-choice-card em{margin-top:auto!important;color:#1769e0!important;font-size:.72rem!important;font-style:normal!important;font-weight:750!important}
.entry-choice-card.primary-choice{border-color:#a9c9f2!important;background:#f7fbff!important}
.entry-choice-note{margin-top:13px!important;padding:11px 13px!important;border:1px solid #c9dcf4!important;border-radius:8px!important;background:#eff6ff!important;color:#4e6c8d!important;font-size:.7rem!important}
.entry-choice-note strong{color:#175aa9!important}

/* Lançamento múltiplo */
.grouped-summary-banner,.grouped-total-line{
  border:1px solid #c7dcf5!important;
  border-radius:9px!important;
  background:#eff6ff!important;
  color:#234c76!important;
}
.grouped-summary-banner strong,.grouped-total-line strong{color:#123f72!important}
.grouped-summary-banner span,.grouped-summary-banner small,.grouped-total-line span{color:#5c7894!important}
.grouped-documents-head{padding:11px 0 5px!important;border-bottom:1px solid #e4eaf1!important}
.grouped-documents-head strong{color:#193550!important}
.grouped-doc-row{
  border:1px solid #d8e2ec!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(15,35,55,.04)!important;
}
.grouped-doc-row header{background:#f7f9fc!important;border-bottom:1px solid #e0e7ef!important;color:#20384f!important}
.grouped-doc-row header span{color:#1769e0!important}.grouped-doc-row header strong{color:#172033!important}
.grouped-doc-remove{background:#fff!important;color:#b72e40!important;border:1px solid #efc1c7!important;border-radius:7px!important}
.grouped-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:14px!important}
.grouped-doc-type-hint,.grouped-doc-filial-hint,.grouped-doc-xml-status{display:block!important;margin-top:3px!important;font-size:.62rem!important;color:#728397!important}
.grouped-doc-xml-status.is-loading{color:#946200!important}.grouped-doc-xml-status.is-success{color:#15704b!important}.grouped-doc-xml-status.is-warning{color:#a04b13!important}
.existing-file-ok{color:#14704b!important}

/* Filiais e cadastros */
.filiais-manager{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.filial-card{padding:12px!important;border:1px solid #dbe4ed!important;border-radius:9px!important;background:#f9fbfd!important}
.filial-card.is-inactive{opacity:.63!important;background:#f1f4f7!important}
.filial-card-head strong{color:#20384f!important}.filial-card-head span{color:#16845d!important}
.filial-card-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:9px!important}
.filial-card-actions{margin-top:9px!important}

/* Fornecedores e cartões diversos */
.fornecedores-cards,.contas-cards{gap:10px!important}
.fornecedores-cards article,.contas-cards article,.supplier-card,.empresa-admin-card,.privacy-summary article{
  background:#fff!important;
  border:1px solid #dce5ef!important;
  color:#263a50!important;
  box-shadow:0 2px 8px rgba(15,35,55,.04)!important;
}
.fornecedores-cards strong,.contas-cards strong,.supplier-card strong,.empresa-admin-card strong{color:#172033!important}

/* Login */
.login-screen{background:#eef3f8!important}
.login-art{background:linear-gradient(140deg,#071c32,#0a3764)!important}
.login-art h1{color:#fff!important}.login-art p{color:#c6d8e8!important}
.login-card{background:#fff!important;border:1px solid #dce5ef!important;color:#172033!important;box-shadow:0 24px 70px rgba(15,35,55,.16)!important}
.login-card h2{color:#172033!important}.login-card p{color:#66778b!important}.login-card label{color:#354b62!important}
.login-card input{background:#fff!important;color:#172033!important;border-color:#cbd7e4!important}
.login-create-btn{background:#fff!important;color:#29435f!important;border:1px solid #cbd7e4!important}

/* Responsividade */
@media(max-width:1250px){
  .app{grid-template-columns:220px minmax(0,1fr)!important}.sidebar{width:220px!important;min-width:220px!important}
  .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .two-cols{grid-template-columns:235px minmax(0,1fr)!important}
}
@media(max-width:980px){
  body:not(.is-login){overflow:auto!important}
  .app,.app.sidebar-collapsed{display:block!important;height:auto!important;min-height:100vh!important}
  .sidebar,.app.sidebar-collapsed .sidebar{position:relative!important;width:100%!important;min-width:100%!important;height:auto!important;padding:12px!important;gap:10px!important}
  .side-brand,.app.sidebar-collapsed .side-brand{grid-template-columns:42px minmax(0,1fr)!important}
  .app.sidebar-collapsed .side-brand-copy,.app.sidebar-collapsed .side-nav a>span{display:flex!important}
  .premium-nav{display:flex!important;flex-direction:row!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important}
  .nav-group{display:flex!important;flex-direction:row!important;margin:0!important}.nav-group-title{display:none!important}
  .side-nav a{white-space:nowrap!important;flex:0 0 auto!important}.side-footer,.sidebar-toggle{display:none!important}
  .main{height:auto!important;overflow:visible!important}.topbar{position:relative!important}
  .page{padding:18px!important}.access-point-banner{margin:14px 18px 0!important}
  .two-cols,.timeline-layout{grid-template-columns:1fr!important}.context-panel{position:relative!important;top:auto!important;max-height:none!important}
  .grouped-doc-grid,.filiais-manager{grid-template-columns:1fr!important}
}
@media(max-width:650px){
  .topbar{padding:14px 16px!important}.page{padding:14px!important}.access-point-banner{margin:12px 14px 0!important}
  .executive-kpis,.entry-choice-grid{grid-template-columns:1fr!important}
  .modal-card,.modal-card.modal-nota-grande{padding:18px!important;width:calc(100vw - 18px)!important}
  .form-grid{grid-template-columns:1fr!important}.form-grid .span{grid-column:1!important}
  .nf-form-section,.supplier-section-title{align-items:flex-start!important;flex-direction:column!important}.nf-form-section small,.supplier-section-title small{text-align:left!important}
}

/* ========================================================================== 
   CLOVENIX ERP v2.3 — LEGIBILIDADE OPERACIONAL
   Tipografia dimensionada para uso diário em financeiro, fiscal e estoque.
   ========================================================================== */
@media(min-width:981px){
  body{font-size:15px!important}
  .app{grid-template-columns:260px minmax(0,1fr)!important}
  .sidebar{width:260px!important;min-width:260px!important}
  .app.sidebar-collapsed{grid-template-columns:82px minmax(0,1fr)!important}
  .app.sidebar-collapsed .sidebar{width:82px!important;min-width:82px!important}
}
.side-brand-copy strong{font-size:1.02rem!important}
.side-brand-copy span{font-size:.63rem!important;line-height:1.35!important}
.nav-group-title{font-size:.64rem!important}
.side-nav a{min-height:44px!important;font-size:.83rem!important;line-height:1.25!important}
.side-nav a i{font-size:.64rem!important}
.side-footer span,.side-footer strong{font-size:.7rem!important}
.side-footer small{font-size:.62rem!important}
.primary,.secondary,.ghost,.danger-light,.login-card button{min-height:41px!important;font-size:.82rem!important}
.tiny{min-height:32px!important;font-size:.72rem!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:44px!important;font-size:.84rem!important;line-height:1.35!important}
label{font-size:.78rem!important;line-height:1.35!important}
small{font-size:.71rem!important}
.context-panel p,.content-head p,.system-card p,.panel-head span{font-size:.8rem!important;line-height:1.55!important}
.context-eyebrow,.content-eyebrow,.topbar #page-kicker,.topbar>div>span{font-size:.68rem!important}
.mini-stat{font-size:.78rem!important}
table{font-size:.82rem!important}
th{font-size:.66rem!important;height:42px!important}
th,td{padding:12px 13px!important}
td small{font-size:.7rem!important}
.status-pill,.grouped-badge{font-size:.66rem!important;min-height:25px!important}
.executive-kpis span{font-size:.69rem!important}
.executive-kpis small{font-size:.72rem!important}
.panel-head h3{font-size:1rem!important}
.modal-card label{font-size:.78rem!important}
.modal-title-block p,.entry-choice-head p{font-size:.82rem!important}
.nf-form-section strong,.supplier-section-title strong{font-size:.82rem!important}
.nf-form-section small,.supplier-section-title small{font-size:.72rem!important}
.entry-choice-card span{font-size:.8rem!important}
.entry-choice-card em{font-size:.78rem!important}
.grouped-doc-type-hint,.grouped-doc-filial-hint,.grouped-doc-xml-status{font-size:.69rem!important}
