
:root{--blue:#0b5cad;--blue2:#173a57;--bg:#f5f7fb;--card:#fff;--line:#e4e9ef;--text:#17212b;--muted:#6b7280;--ok:#2f855a;--warn:#a96912;--bad:#b93a3a}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.hidden{display:none!important}
.login-view{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0b5cad,#173a57);padding:24px}.login-card{background:white;width:min(420px,100%);padding:30px;border-radius:18px}.login-logo{max-width:210px;display:block;margin:0 auto 24px}.login-card h1{margin:0 0 8px}.login-card p{color:var(--muted);margin-top:0}.login-card label,.form-grid label,.period-box label{display:block;font-size:12px;font-weight:700;color:#556270;margin:10px 0 5px}.login-card input,input,select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff}.login-card button,button{border:0;border-radius:9px;padding:10px 14px;background:var(--blue);color:white;font-weight:700;cursor:pointer}.login-card button{width:100%;margin-top:16px}.error-text{color:var(--bad);font-size:12px;margin-top:10px}
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:var(--blue2);color:white;padding:22px 16px;position:sticky;top:0;height:100vh}.side-logo{width:180px;background:white;border-radius:10px;padding:8px}.org-name{font-size:12px;opacity:.8;margin:12px 0 22px}nav{display:grid;gap:6px}.nav-btn{background:transparent;text-align:left;color:#dce7ef}.nav-btn.active,.nav-btn:hover{background:rgba(255,255,255,.12)}.logout{position:absolute;left:16px;right:16px;bottom:20px;background:rgba(255,255,255,.1);color:white}
main{padding:26px 30px}header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}header h2{margin:0}.muted{color:var(--muted);font-size:13px}.period-box{width:180px}.page{display:none}.page.active{display:block}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}.kpis .card span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.kpis .card b{display:block;font-size:27px;margin-top:7px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-head h3{margin:0}.section-head p{margin:4px 0 0}.secondary{background:#eaf3f9;color:var(--blue)}.actions{display:flex;gap:8px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.full{grid-column:1/-1}
.table-wrap{overflow:auto;margin-top:14px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}th{font-size:10px;color:var(--muted);text-transform:uppercase}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef2f6;font-size:11px}.ok{background:#eaf6ef;color:var(--ok)}.warn{background:#fff4df;color:var(--warn)}.bad{background:#fdecec;color:var(--bad)}
.statement{max-width:780px;margin:18px auto;border:1px solid var(--line);border-radius:14px;padding:26px;background:white}.statement-head{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid var(--blue);padding-bottom:12px}.statement-head img{max-width:190px;max-height:65px;object-fit:contain}.statement-total{text-align:right;font-size:32px;color:var(--blue);font-weight:800}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.summary-grid div{background:#f8fafc;border:1px solid var(--line);border-radius:9px;padding:10px}.summary-grid span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}.summary-grid b{display:block;margin-top:5px}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.35);display:grid;place-items:center;padding:20px}.modal-card{background:white;width:min(720px,100%);max-height:90vh;overflow:auto;border-radius:14px;padding:20px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#17212b;color:white;padding:10px 14px;border-radius:9px;font-size:12px;display:none;z-index:20}
hr{border:0;border-top:1px solid var(--line);margin:20px 0}
@media(max-width:900px){.app{grid-template-columns:1fr}aside{position:relative;height:auto}.logout{position:static;margin-top:20px;width:100%}.kpis,.summary-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}main{padding:18px}header{align-items:flex-start;flex-direction:column}.period-box{width:100%}}

.receipt-modal-card{max-width:820px}
.receipt-preview{margin:10px 0 16px}
.receipt-sheet{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff}
.receipt-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--blue);padding-bottom:12px;margin-bottom:18px}
.receipt-head img{max-width:190px;max-height:65px;object-fit:contain}
.receipt-head>div{text-align:right}
.receipt-head b{font-size:20px}
.receipt-client{font-size:22px;font-weight:800;margin:8px 0 16px}
.powered{text-align:right;color:var(--muted);font-size:12px;margin-top:20px}
.receipt-actions{margin-top:10px}
.receipt-note{margin-top:12px}

.statement-notice{margin-top:18px;padding:12px 14px;border:1px solid var(--line);background:#f8fafc;border-radius:10px;font-size:12px;line-height:1.5;color:#475569}

.payment-actions{display:flex;align-items:center;gap:7px}
.danger-icon{background:#fff0f0;color:#b93a3a;border:1px solid #f0cccc;padding:7px 9px;min-width:36px}
.danger-icon:hover{background:#fde2e2}

.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.kpi-card span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:700}
.kpi-card b{display:block;font-size:27px;margin-top:7px}
.kpi-card small{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.alert-kpi{border-color:#f0caca;background:#fffafa}
.alert-kpi b{color:#b93a3a}
.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}
.aging-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.aging-grid>div{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px}
.aging-grid span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}
.aging-grid b{display:block;font-size:22px;margin-top:5px}
.control-list{display:grid;gap:10px}
.control-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.control-item span{font-size:13px}
.control-item b{font-size:20px}
.warn-text{color:#a96912}.ok-text{color:#2f855a}
@media(max-width:1200px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:700px){.dashboard-kpis,.aging-grid{grid-template-columns:1fr}}

.dashboard-charts-safe{margin-top:16px}.safe-chart{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;min-height:210px}
.donut-chart{--paid-pct:0%;width:170px;height:170px;border-radius:50%;background:conic-gradient(#356f9f 0 var(--paid-pct),#e4ebf1 var(--paid-pct) 100%);position:relative;margin:auto}
.donut-chart:after{content:"";position:absolute;inset:34px;border-radius:50%;background:white}.chart-legend{display:grid;gap:14px}
.chart-legend>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.legend-dot{width:10px;height:10px;border-radius:50%;display:block}.paid-dot{background:#356f9f}.pending-dot{background:#e4ebf1;border:1px solid #cbd6df}
.aging-bars-safe{display:grid;gap:16px;padding:12px 4px}.aging-bar-row{display:grid;grid-template-columns:80px 1fr 30px;gap:10px;align-items:center;font-size:12px}
.aging-bar-row b{text-align:right;font-size:14px}.aging-bar-track{height:12px;background:#eef2f6;border-radius:999px;overflow:hidden}.aging-bar-track i{display:block;height:100%;background:#356f9f;border-radius:999px}
@media(max-width:700px){.safe-chart{grid-template-columns:1fr}.donut-chart{width:145px;height:145px}}

.send-log-card{margin-top:16px}
.send-log-actions{align-items:center}
#sendLogPeriod{width:auto;min-width:150px}
#sendLogStatus{width:auto;min-width:125px}
.send-log-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.send-log-kpis>div{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px}
.send-log-kpis span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}
.send-log-kpis b{display:block;font-size:19px;margin-top:5px}
@media(max-width:900px){.send-log-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.send-log-kpis{grid-template-columns:1fr}}

/* URUBRAVA identity layer - visual only */
.urubrava-login-brand{
  text-align:center;
  margin:4px 0 26px;
}
.urubrava-wordmark{
  font-size:34px;
  font-weight:800;
  letter-spacing:.08em;
  color:#17324d;
  line-height:1;
}
.urubrava-tagline{
  margin-top:9px;
  font-size:14px;
  color:#6b7a89;
  letter-spacing:.02em;
}
.urubrava-developed-by{
  text-align:center;
  font-size:11px;
  color:#8b98a5;
  margin:18px auto 10px;
}

/* URUBRAVA clean login refinement */
.login-card{
  width:min(400px,100%);
  padding:36px 32px 28px;
}
.urubrava-login-brand{
  margin:0 0 30px;
}
.urubrava-wordmark{
  font-size:38px;
  letter-spacing:.10em;
}
.urubrava-tagline{
  margin-top:10px;
  font-size:14px;
}
.urubrava-developed-by{
  margin-top:22px;
  margin-bottom:0;
  line-height:1.4;
}

/* Historical statements */
.history-context{margin:10px 0 18px;line-height:1.45}
#statementPreview table th:last-child,#statementPreview table td:last-child{white-space:nowrap}
#statementHistoryLimit:disabled{opacity:.55;background:#f3f5f7}

/* Manual charges */
.danger-soft{background:#fff0f0;color:#a83232;border:1px solid #efcaca}
.danger-soft:hover{background:#fde2e2}
#chargesBody td:nth-child(4){white-space:nowrap;font-weight:700}

.liquidation-extras-panel{margin-top:16px}
.liquidation-extras-list{display:grid;gap:8px}
.extra-draft-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.payment-methods-block{margin-top:18px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}
.payment-methods-block h4{margin:0 0 6px}

.extra-draft-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:6px;
  padding:10px 12px;
  border-top:1px solid var(--line);
}
.liquidation-extras-panel .section-head{align-items:flex-start}
