
:root{--bg:#060b12;--card:#0d141d;--line:#1e293b;--text:#e5e7eb;--muted:#94a3b8;--yellow:#facc15;--green:#22c55e;--red:#ef4444;--blue:#60a5fa}
*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.layout{display:flex;min-height:100vh}.sidebar{width:270px;background:linear-gradient(180deg,#07101a,#0b1730);color:#fff;padding:22px 16px;position:fixed;top:0;bottom:0;left:0;border-right:1px solid #132131}
.brand{font-size:24px;font-weight:800;color:var(--yellow);margin-bottom:6px}.brand-sub{font-size:12px;line-height:1.35;opacity:.9;margin-bottom:22px;color:#cbd5e1}
.nav a{display:block;color:#fff;text-decoration:none;padding:13px 15px;border-radius:14px;margin-bottom:8px;background:rgba(255,255,255,.06);font-weight:700}.nav a.active,.nav a:hover{background:rgba(250,204,21,.16)}
.content{margin-left:270px;width:calc(100% - 270px);padding:18px 22px 28px}.topbar,.card,.panel{background:var(--card);border-radius:18px;box-shadow:0 10px 26px rgba(0,0,0,.25);border:1px solid var(--line)}
.topbar{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.title{font-size:24px;font-weight:800}.subtitle{font-size:13px;color:var(--muted);margin-top:4px}.userbox{font-weight:700;color:var(--yellow)}
.cards,.stats-grid,.filters,.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cards,.stats-grid{margin-bottom:18px}.card,.panel{padding:18px}.card .label{font-size:13px;color:var(--muted);margin-bottom:8px}.card .value{font-size:26px;font-weight:800}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;font-size:14px;vertical-align:top}.table th{background:#0f1b2e;color:var(--yellow)}
.badge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.green{background:rgba(34,197,94,.15);color:#86efac}.red{background:rgba(239,68,68,.15);color:#fecaca}.yellow{background:rgba(250,204,21,.12);color:#fde68a}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;background:#1d4ed8;color:#fff;font-weight:700;border:none;cursor:pointer;text-decoration:none}.btn.secondary{background:var(--yellow);color:#111827}.btn.green{background:var(--green)}.btn.red{background:var(--red)}.btn.small{padding:7px 10px;border-radius:10px;font-size:12px}
input,select,textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid #223247;background:#08111c;color:#fff;outline:none}textarea{min-height:95px;resize:vertical}label{display:block;font-weight:700;margin-bottom:6px;color:#e2e8f0}
.alert{padding:12px 14px;border-radius:12px;margin-bottom:14px}.alert.success{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#bbf7d0}.alert.error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fecaca}
.small-note,.small-muted{font-size:12px;color:var(--muted)}.stat-card{background:#08111c;border:1px solid var(--line);border-radius:16px;padding:16px}.stat-card h4{margin:0 0 8px;font-size:13px;color:var(--muted);text-transform:uppercase}.stat-card strong{font-size:24px}
.actions-inline,.report-toolbar{display:flex;gap:8px;flex-wrap:wrap}.report-toolbar{justify-content:flex-end;margin-bottom:12px}
@media (max-width:1100px){.cards,.stats-grid,.filters,.form-grid{grid-template-columns:repeat(2,1fr)}.content{margin-left:0;width:100%;padding-top:85px}.sidebar{position:static;width:100%;height:auto}}@media (max-width:640px){.cards,.stats-grid,.filters,.form-grid{grid-template-columns:1fr}}

.search-select,.select-filter-wrap{position:relative}
.search-select-input,.select-filter-input{width:100%;padding:11px 12px;border-radius:12px;border:1px solid #223247;background:#08111c;color:#fff;outline:none;transition:border-color .15s, box-shadow .15s}
.search-select-input:focus,.select-filter-input:focus,input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.18)}
.search-select.open .search-select-input{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.18)}
.search-select-dropdown{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);max-height:310px;overflow:auto;background:#07111c;border:1px solid #1d3557;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.38);z-index:50;padding:6px}
.search-select-dropdown--wide{max-height:360px}
.search-select.open .search-select-dropdown{display:block}
.search-select-item{padding:11px 12px;border-radius:10px;cursor:pointer;color:#e5e7eb;border:1px solid transparent}
.search-select-item:hover,.search-select-item.active{background:rgba(37,99,235,.25);border-color:rgba(96,165,250,.35)}
.search-select-primary{font-weight:700;line-height:1.2}
.search-select-secondary{font-size:12px;color:#93a4b8;margin-top:3px}
.search-match{color:#60a5fa;font-weight:900}
.select-filter-wrap{display:flex;flex-direction:column;gap:6px}
.select-filter-wrap select{margin:0}


.bancos-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 16px}
.bancos-sum-box{position:relative;overflow:hidden;background:linear-gradient(180deg,#0b1220,#0e1727);border:1px solid #1f2c3f;border-radius:18px;padding:16px 18px;box-shadow:0 12px 26px rgba(0,0,0,.22)}
.bancos-sum-box::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:18px 0 0 18px;background:#334155}
.bancos-sum-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.bancos-sum-icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);flex:0 0 44px}
.bancos-sum-label{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#e2e8f0;margin-bottom:4px}
.bancos-sum-value{font-size:30px;line-height:1.05;font-weight:900;letter-spacing:.2px;word-break:break-word}
.bancos-sum-note{font-size:12px;line-height:1.35;color:#93a4b8;max-width:34ch}
.bancos-sum-box.is-salida::before{background:#ef4444}
.bancos-sum-box.is-salida .bancos-sum-icon,.bancos-sum-box.is-salida .bancos-sum-value{color:#fca5a5}
.bancos-sum-box.is-entrada::before{background:#22c55e}
.bancos-sum-box.is-entrada .bancos-sum-icon,.bancos-sum-box.is-entrada .bancos-sum-value{color:#86efac}
.bancos-sum-box.is-resultado::before{background:#3b82f6}
.bancos-sum-box.is-resultado .bancos-sum-icon,.bancos-sum-box.is-resultado .bancos-sum-value{color:#93c5fd}
.bancos-sum-box.is-resultado.is-positivo::before{background:#22c55e}
.bancos-sum-box.is-resultado.is-positivo .bancos-sum-icon,.bancos-sum-box.is-resultado.is-positivo .bancos-sum-value{color:#86efac}
.bancos-sum-box.is-resultado.is-negativo::before{background:#ef4444}
.bancos-sum-box.is-resultado.is-negativo .bancos-sum-icon,.bancos-sum-box.is-resultado.is-negativo .bancos-sum-value{color:#fca5a5}
@media (max-width:1100px){.bancos-summary-grid{grid-template-columns:1fr}}


/* production-alignment-pack */
body{line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{transition:all .15s ease}
.sidebar{overflow-y:auto;overflow-x:hidden}
.content{max-width:calc(100vw - 270px)}
.panel{margin-bottom:18px}
.panel h3,.panel h2{margin:0 0 14px}
.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.panel-title .title-main{font-size:20px;font-weight:800;margin:0}
.panel-title .title-sub{font-size:12px;color:var(--muted);margin-top:4px}
.panel-actions,.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#08111c}
.table{min-width:100%}
.table thead th{position:sticky;top:0;z-index:1}
.table td.wrap,.table th.wrap{white-space:normal}
.table td.actions-cell{white-space:normal;min-width:220px}
.btn{box-shadow:0 8px 20px rgba(0,0,0,.18)}
.btn:hover{transform:translateY(-1px);filter:brightness(1.03)}
.btn.outline{background:transparent;border:1px solid #32506f;color:#cfe4ff}
.btn.outline:hover{background:#0b1730}
.filters,.form-grid{align-items:end}
.filters > div,.form-grid > div{min-width:0}
.empty-state{padding:28px 18px;text-align:center;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.kpi-card{background:#08111c;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.kpi-card .kpi-label{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.kpi-card .kpi-value{font-size:28px;font-weight:900;line-height:1.05}
.section-divider{height:1px;background:linear-gradient(90deg,transparent,#1f2d40,transparent);margin:18px 0}
body.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(circle at top,#10203a 0%,#060b12 55%)}
.login-card{width:min(460px,92vw);background:rgba(13,20,29,.95);border:1px solid #223247;border-radius:24px;padding:26px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.login-accent{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#93c5fd;font-weight:800;margin-bottom:14px}
.login-logo{margin:0 0 8px;font-size:34px;line-height:1.05;color:var(--yellow)}
.login-sub{margin:0 0 18px;color:var(--muted);font-size:14px}
.login-card .btn.secondary{padding:12px 14px}
.report-toolbar{margin-top:2px}
.brand{line-height:1.05;word-break:break-word}
@media (max-width:1100px){
  .content{max-width:100%;padding:16px}
  .sidebar{position:relative;width:100%;border-right:none;border-bottom:1px solid #132131}
  .topbar{padding:16px}
  .title{font-size:22px}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .content{padding:14px}
  .topbar,.card,.panel{border-radius:16px}
  .title{font-size:20px}
  .kpi-grid{grid-template-columns:1fr}
  .report-toolbar,.actions-inline,.form-actions,.panel-actions{width:100%}
  .report-toolbar .btn,.actions-inline .btn,.form-actions .btn,.panel-actions .btn{width:100%;text-align:center}
}

.nav a.nav-principal{background:linear-gradient(90deg,#1d4ed8,#2563eb);color:#fff;border:1px solid rgba(147,197,253,.28)}
.nav a.nav-principal:hover{background:linear-gradient(90deg,#2563eb,#3b82f6)}
