:root{
  --navy-950:#061a35;
  --navy-900:#082344;
  --navy-800:#0c315b;
  --blue:#1455e5;
  --blue-2:#236cf0;
  --violet:#6b38e8;
  --cyan:#34c7c4;
  --ink:#162033;
  --muted:#667085;
  --muted-2:#8993a5;
  --canvas:#f4f6fa;
  --surface:#fff;
  --line:#e4e8f0;
  --line-strong:#d5dbe6;
  --green:#0e8a61;
  --green-bg:#eaf8f2;
  --amber:#ad6700;
  --amber-bg:#fff6df;
  --red:#bd3045;
  --red-bg:#fff0f2;
  --info:#165dca;
  --info-bg:#edf4ff;
  --sidebar:190px;
  --topbar:68px;
  --radius:9px;
  --shadow:0 2px 10px rgba(14,34,66,.045);
  --font:Arial,"Helvetica Neue",Helvetica,sans-serif;
}

*{box-sizing:border-box}
html{min-height:100%;font-family:var(--font);font-size:12px;color:var(--ink);background:var(--canvas);line-height:1.4}
body{margin:0;min-height:100vh;font-size:12px}
button,input,select,textarea{font:inherit}
a{color:inherit}
svg{display:block}

/* Estructura inspirada en AxxessTEL Central */
.sidebar{position:fixed;z-index:50;inset:var(--topbar) auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;padding:0 12px 14px;background:linear-gradient(180deg,var(--navy-950),var(--navy-900));color:#fff;box-shadow:5px 0 24px rgba(2,20,43,.09)}
.brand{height:82px;display:flex;align-items:center;gap:8px;padding:12px 10px 8px;border-bottom:1px solid rgba(255,255,255,.075);text-decoration:none}
.brand img{display:block;width:132px;height:54px;object-fit:contain;object-position:left center;filter:drop-shadow(0 3px 10px rgba(0,0,0,.1))}
.brand-module{margin-left:auto;padding:3px 6px;border:1px solid rgba(117,196,255,.24);border-radius:6px;background:rgba(58,136,230,.1);color:#b8dcff;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.nav-caption{display:block;margin:18px 12px 7px;color:#66809f;font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.nav-caption-secondary{margin-top:22px}
.main-nav{display:grid;gap:4px}
.nav-link{position:relative;display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 11px;border-radius:7px;color:#b8c5d7;text-decoration:none;font-size:12px;font-weight:700;transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-link:hover{background:rgba(255,255,255,.065);color:#fff}
.nav-link.active{color:#fff;background:linear-gradient(105deg,#135bda 0%,#6040df 100%);box-shadow:0 8px 22px rgba(36,72,210,.27)}
.nav-link.active:before{content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:3px;border-radius:0 5px 5px 0;background:#51d9e1}
.nav-icon{width:19px;height:19px;display:grid;place-items:center;color:#8ea5bf;flex:0 0 auto}
.nav-link:hover .nav-icon,.nav-link.active .nav-icon{color:#fff}
.nav-icon svg,.menu-toggle svg,.icon-button svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar-foot{margin-top:auto}
.system-card{margin:12px 2px 0;padding:13px 12px;border:1px solid rgba(112,159,211,.16);border-radius:11px;background:rgba(5,24,48,.34);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.system-card strong,.system-card span,.system-card small{display:block}
.system-card strong{display:flex;align-items:center;gap:7px;color:#5ed9ad;font-size:11px}
.system-card>span{margin:6px 0 3px;color:#d6dfec;font-size:10px;font-weight:750}
.system-card small{color:#7087a2;font-size:9px;line-height:1.4}
.status-dot{width:7px;height:7px;display:inline-block;flex:0 0 auto;border-radius:50%;background:#32cf9b;box-shadow:0 0 0 3px rgba(50,207,155,.13)}
.mobile-account{display:none}

.app-topbar{position:fixed;z-index:60;left:0;right:0;top:0;height:var(--topbar);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;background:var(--navy-950);border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 3px 14px rgba(3,18,39,.16)}
.topbar-leading,.topbar-actions,.user-chip{display:flex;align-items:center}
.topbar-leading{gap:12px;min-width:0}
.topbar-brand{display:flex;align-items:center;height:var(--topbar);text-decoration:none}
.topbar-brand img{display:block;width:126px;height:48px;object-fit:contain;object-position:left center}
.module-title{display:grid;line-height:1.2}
.module-title strong{font-size:14px;letter-spacing:-.01em}
.module-title span{margin-top:3px;color:var(--muted-2);font-size:10px}
.topbar-actions{gap:10px}
.integration-chip{display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(82,214,168,.18);border-radius:999px;background:rgba(40,174,132,.09);color:#78d9b7;font-size:10px;font-weight:800}
.user-chip{gap:9px;padding:5px 8px;border-radius:9px;text-decoration:none;transition:background .15s ease}
.user-chip:hover{background:rgba(255,255,255,.07)}
.user-chip strong,.user-chip small{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-chip strong{color:#fff;font-size:11px}
.user-chip small{margin-top:1px;color:#8ea2ba;font-size:9px}
.avatar{width:31px;height:31px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:#526a80;color:#fff;font-size:11px;font-weight:850}
.avatar.large{width:52px;height:52px;color:#194c9e;font-size:18px}
.logout-form{margin:0}
.icon-button,.menu-toggle{width:34px;height:34px;display:grid;place-items:center;padding:8px;border:1px solid transparent;border-radius:9px;background:transparent;color:#91a5bb;cursor:pointer}
.icon-button:hover,.menu-toggle:hover{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.07);color:#fff}
.menu-toggle{display:none}
.sidebar-scrim{display:none}

.main-content{min-height:100vh;margin-left:var(--sidebar);padding:calc(var(--topbar) + 17px) 18px 48px;background:var(--canvas)}
.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 12px}
.page-header h1{margin:2px 0 3px;color:#111b2d;font-size:24px;font-weight:700;letter-spacing:-.025em;line-height:1.12}
.page-header p{max-width:700px;margin:0;color:#718096;font-size:11px}
.eyebrow{display:block;color:#1f5dc5;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.header-actions{display:flex;align-items:center;gap:9px}
.header-total{color:var(--muted);font-size:10px;text-align:right}
.header-total strong{display:block;margin-top:2px;color:var(--ink);font-size:19px}

.alert{margin:-7px 0 18px;padding:11px 13px;border:1px solid transparent;border-radius:10px;font-size:12px}
.alert.error{color:var(--red);background:var(--red-bg);border-color:#f7cbd2}
.alert.success{color:var(--green);background:var(--green-bg);border-color:#c9eadf}
.alert.warning{color:var(--amber);background:var(--amber-bg);border-color:#f0dda9}
.alert.info{color:var(--info);background:var(--info-bg);border-color:#cbdcf8}

.card{padding:16px;background:var(--surface);border:1px solid #dce3ec;border-radius:var(--radius);box-shadow:var(--shadow)}
.card h2{margin:2px 0;color:#172033;font-size:16px;font-weight:700;letter-spacing:-.02em}
.card h3{margin:19px 0 11px;font-size:13px}
.card p{color:var(--muted);font-size:12px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.card-head h2{margin-top:2px}
.card hr,.identity-note+hr{height:1px;margin:20px 0;border:0;background:var(--line)}

.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.kpi{position:relative;min-height:112px;padding:14px 15px 12px;overflow:hidden;color:#fff;border:0;border-radius:6px;box-shadow:none;isolation:isolate}
.kpi:before{content:"";position:absolute;z-index:-1;right:-20px;top:-7px;width:128px;height:128px;border:0;background:url('/assets/axxesstel-network-globe.svg?v=20260925-restored') center/contain no-repeat;opacity:.76;transform:rotate(-2deg)}
.kpi:after{content:"";position:absolute;z-index:-2;right:-24px;top:4px;width:118px;height:118px;border:0;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16) 0,rgba(255,255,255,.07) 46%,transparent 72%)}
.kpi-blue{background:#3b9bd8}.kpi-green{background:#2ab63d}.kpi-slate{background:#303a46}.kpi-orange{background:#ff9f10}
.kpi span,.summary-strip span,.amount-due span{display:block;color:#778296;font-size:10px;font-weight:700}
.kpi span{position:relative;z-index:1;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase}
.kpi strong{position:relative;z-index:1;display:block;margin:5px 0 14px;color:#fff;font-size:24px;font-weight:700;letter-spacing:-.035em;line-height:1}
.kpi small{position:relative;z-index:1;display:block;padding-top:8px;border-top:2px solid rgba(255,255,255,.72);color:#fff;font-size:9px;font-weight:600}

.dashboard-insights{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(520px,1.45fr);gap:12px;margin-bottom:12px}
.dashboard-insights .card-head p{margin:4px 0 0;font-size:10px}
.recovery-progress-card,.monthly-recovery-card{min-width:0;overflow:hidden}
.recovery-rate-chip{padding:5px 9px;border-radius:999px;background:#e9f8f1;color:#08785f;font-size:9px;font-weight:850;white-space:nowrap}
.recovery-progress-content{display:grid;grid-template-columns:138px minmax(0,1fr);align-items:center;justify-content:center;gap:12px;min-height:210px}
.recovery-donut{width:138px;height:138px;justify-self:center;overflow:visible}
.recovery-donut circle{fill:none;stroke-width:18;transform:rotate(-90deg);transform-origin:80px 80px}
.recovery-donut-track{stroke:#df4659}
.recovery-donut-cash{stroke:#25b94a}
.recovery-donut-compensated{stroke:#7652df}
.recovery-donut-value{fill:#172033;font-size:25px;font-weight:800;letter-spacing:-.04em}
.recovery-donut-label{fill:#7a8699;font-size:8px;font-weight:850;letter-spacing:.1em}
.recovery-breakdown{width:100%;min-width:0;display:grid;gap:2px}
.recovery-breakdown>div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #edf0f5}
.recovery-breakdown>div:last-child{border-bottom:0}
.recovery-breakdown span,.chart-legend span{display:flex;align-items:center;gap:7px;color:#69768a;font-size:10px;font-weight:700}
.recovery-breakdown span{min-width:0;font-size:9px;white-space:nowrap}
.recovery-breakdown strong{color:#152238;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.recovery-breakdown .recovery-pending-row span,.recovery-breakdown .recovery-pending-row strong{color:#bd3045}
.legend-dot{width:8px;height:8px;display:inline-block;flex:0 0 auto;border-radius:2px}
.legend-cash{background:#25b94a}.legend-compensated{background:#7652df}.legend-pending{background:#df4659}.legend-net{background:#0057e7}.legend-recovered-brand{background:#e000c6}
.monthly-recovery-card .card-head{margin-bottom:8px}
.monthly-recovery-card .compact-form{min-width:78px}
.dashboard-period-form{display:flex;align-items:flex-end;gap:8px}
.dashboard-period-form label{min-width:78px}
.payer-chart-summary{margin:0 4px 4px;color:#69768a;font-size:9px;font-weight:700;text-align:right}
.daily-payment-chart{position:relative;width:100%;overflow:hidden}
.daily-payment-chart-svg{display:block;width:100%;min-width:0;height:246px}
.chart-grid-line{stroke:#e8edf4;stroke-width:1;shape-rendering:crispEdges}
.chart-axis-value{fill:#526176;font-size:10px;font-weight:700}
.chart-period-label{fill:#526176;font-size:8px;font-weight:700;text-transform:uppercase}
.chart-bar-total{fill:#26364d;font-size:8px;font-weight:750}
.chart-payment-bar-link{cursor:pointer;outline:none}
.chart-payment-bar-segment{stroke:rgba(255,255,255,.95);stroke-width:1;transition:filter .15s ease,opacity .15s ease;shape-rendering:geometricPrecision}
.chart-payment-bar-link:hover .chart-payment-bar-segment{filter:brightness(1.06) drop-shadow(0 3px 4px rgba(10,35,78,.28))}
.chart-payment-bar-link:focus .chart-payment-bar-segment{stroke:#071d3b;stroke-width:2}
.payment-bar-tooltip{position:absolute;z-index:4;min-width:172px;max-width:230px;padding:9px 11px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#071d3b;color:#fff;box-shadow:0 9px 24px rgba(7,29,59,.3);font-size:10px;line-height:1.35;pointer-events:none;transform:translateX(-50%)}
.payment-bar-tooltip[hidden]{display:none}
.payment-bar-tooltip strong,.payment-bar-tooltip span,.payment-bar-tooltip small{display:block}
.payment-bar-tooltip>span:first-of-type{display:flex;align-items:center;gap:6px;margin:4px 0}
.payment-bar-tooltip i{width:8px;height:8px;flex:0 0 auto;border-radius:2px;background:#3b9bd8}
.payment-bar-tooltip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.payment-bar-tooltip small{margin-top:2px;color:#b9c9df;overflow-wrap:anywhere}
.payer-chart-empty{display:grid;place-items:center;min-height:220px;color:#69768a;text-align:center}
.payer-chart-empty strong{color:#26364d}.payer-chart-empty p{margin:4px 0 0}
.dashboard-recent-card{margin-bottom:12px}
.receivable-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px;background:linear-gradient(135deg,#fff,#f6f9fe)}
.receivable-note p{max-width:720px;margin:5px 0 0}
.sync-meta{min-width:190px;padding-left:18px;border-left:1px solid var(--line);text-align:right}
.sync-meta span,.sync-meta strong,.sync-meta small{display:block}.sync-meta span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.sync-meta strong{margin:4px 0 2px;font-size:11px}.sync-meta small{color:var(--muted);font-size:9px}
.table-caption{margin:12px 4px 0!important;color:var(--muted)!important;font-size:9px!important;text-align:right}
.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 0 16px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.summary-strip>div{padding:15px 18px;border-right:1px solid var(--line)}
.summary-strip>div:last-child{border-right:0}
.summary-strip strong{display:block;margin-top:5px;font-size:17px;letter-spacing:-.02em}
.cut-hero{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;overflow:hidden;background:linear-gradient(135deg,#fff,#f7faff)}
.cut-status-line{display:flex;align-items:center;gap:10px}
.cut-status-line h2{margin:1px 0;font-size:22px}
.cut-hero p{margin:5px 0 0;line-height:1.35}
.amount-due{text-align:right}
.amount-due strong{display:block;margin:2px 0;color:#12213a;font-size:28px;letter-spacing:-.04em;line-height:1.05}
.amount-due small{color:var(--muted);font-size:10px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.72fr);gap:15px;margin:15px 0}
.catalog-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.72fr);gap:15px}
.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.action-card,.decision-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px}
.action-card p,.decision-card p{margin:5px 0 0}
.sticky-card{position:sticky;top:calc(var(--topbar) + 18px);align-self:start}
.narrow-card{max-width:650px}
.account-summary{display:flex;align-items:center;gap:13px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.account-summary h2,.account-summary p{margin:0}
.identity-note h3{margin-top:0}

.btn{appearance:none;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border:1px solid transparent;border-radius:8px;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,.nav-link:focus-visible,.icon-button:focus-visible,.menu-toggle:focus-visible{outline:3px solid rgba(35,108,240,.22);outline-offset:2px}
.btn.primary{color:#fff;background:#1758d3;box-shadow:0 7px 18px rgba(23,88,211,.18)}
.btn.primary:hover{box-shadow:0 9px 22px rgba(33,78,210,.25)}
.btn.secondary{color:#28435f;background:#fff;border-color:var(--line-strong)}
.btn.secondary:hover{background:#f7f9fc}
.btn.whatsapp{color:#fff;background:#128c4a;box-shadow:0 7px 18px rgba(18,140,74,.2)}
.btn.whatsapp:hover{background:#0f7a40;box-shadow:0 9px 22px rgba(18,140,74,.26)}
.btn.ghost{color:#245cb2;background:#edf4ff}
.btn.danger{color:var(--red);background:var(--red-bg);border-color:#f5ccd2}
.btn.small{min-height:30px;padding:6px 9px;font-size:10px}
.btn.wide{width:100%}
.button-row{display:flex;align-items:center;gap:8px}.button-row form{margin:0}
.form-stack{display:grid;gap:12px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.inline-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}
.filters{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--line)}
label{display:grid;gap:5px;color:#475569;font-size:10px;font-weight:800}
label small{color:var(--muted);font-weight:500}
input,select,textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid #d8dee9;border-radius:8px;outline:none;background:#fff;color:var(--ink);font-size:11px;font-weight:400;transition:border .15s ease,box-shadow .15s ease}
input:hover,select:hover,textarea:hover{border-color:#c6cfdd}
input:focus,select:focus,textarea:focus{border-color:#6c94e9;box-shadow:0 0 0 3px rgba(31,92,207,.09)}
textarea{resize:vertical}
.compact-form select{min-height:32px;padding:6px 27px 6px 8px}
.table-search{max-width:245px}

.table-wrap{overflow:auto;margin:0 -3px;scrollbar-color:#cfd6e1 transparent;scrollbar-width:thin}
table{width:100%;border-collapse:collapse;font-size:11px}
th{padding:9px 10px;border-bottom:1px solid var(--line);color:#8490a3;font-size:9px;font-weight:850;letter-spacing:.07em;text-align:left;text-transform:uppercase;white-space:nowrap}
td{padding:11px 10px;border-bottom:1px solid #edf0f5;vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr{transition:background .12s ease}
tbody tr:hover{background:#f8faff}
td small{display:block;margin-top:3px;color:#909bad;font-size:9px}
.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.strong{font-weight:800}
.table-link{color:#1859bf;font-weight:800;text-decoration:none}
.table-link:hover{text-decoration:underline}
.table-warning{color:var(--amber)!important}
.recovery-label{color:#08785f!important;font-weight:800}

.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}
.badge>span{width:5px;height:5px;border-radius:50%;background:currentColor}
.badge.success{color:var(--green);background:var(--green-bg)}
.badge.warning{color:var(--amber);background:var(--amber-bg)}
.badge.danger{color:var(--red);background:var(--red-bg)}
.badge.info{color:var(--info);background:var(--info-bg)}
.badge.neutral{color:#6440c2;background:#f0ecff}
.badge.muted{color:#68758a;background:#eef1f5}

.empty-state{padding:34px 18px;color:var(--muted);text-align:center}
.empty-state>span{width:40px;height:40px;display:grid;place-items:center;margin:0 auto 9px;border-radius:50%;background:#eef4ff;color:#275fbd;font-size:20px}
.empty-state h3{margin:6px 0;color:var(--ink)}
.empty-state p{margin:0}
.aging-list{display:grid;gap:14px}
.aging-row{display:grid;grid-template-columns:170px minmax(100px,1fr) 145px;gap:16px;align-items:center}
.aging-row strong{font-size:11px}.aging-row small{display:block;color:var(--muted);font-size:9px}
.account-link{color:var(--ink);font-size:11px;font-weight:800;text-decoration:none}.account-link:hover{color:#1859bf;text-decoration:underline}
progress.bar{width:100%;height:7px;overflow:hidden;border:0;border-radius:99px;appearance:none;background:#edf1f6}
progress.bar::-webkit-progress-bar{border-radius:99px;background:#edf1f6}
progress.bar::-webkit-progress-value{border-radius:99px;background:linear-gradient(90deg,#1e69df,#5d46df)}
progress.bar::-moz-progress-bar{border-radius:99px;background:linear-gradient(90deg,#1e69df,#5d46df)}
.danger-text{color:var(--red)!important}
.payment-list{display:grid;gap:8px;margin-top:10px}
.payment-record{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}
.payment-item{display:flex;align-items:stretch;flex-direction:column;gap:9px;padding:11px 12px}
.payment-item strong,.payment-item span,.payment-item small{display:block}
.payment-item span,.payment-item small{color:var(--muted);font-size:9px}
.payment-item .payment-concept{margin-top:4px;color:#344761;line-height:1.35;white-space:pre-line}
.payment-item.void{text-decoration:line-through;opacity:.55}
.payment-actions{display:flex;align-items:center;justify-content:flex-start;gap:5px;flex-wrap:wrap}.payment-actions form{margin:0}
.payment-edit-panel{padding:12px;border-top:1px solid var(--line);background:#f8fafc}
.payment-edit-panel[hidden]{display:none}
.payment-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.payment-edit-form .payment-notes,.payment-edit-actions{grid-column:1/-1}
.payment-edit-actions{display:flex;justify-content:flex-end;gap:7px}
.prior-balance-card{margin-top:12px;padding:12px 16px}.prior-balance-card .card-head{align-items:center;margin-bottom:7px}.prior-balance-card .card-head h2{margin:1px 0}.prior-balance-card .card-head p{max-width:680px;margin:2px 0 0;color:var(--muted);font-size:10px;line-height:1.35}.prior-balance-card>.muted-copy{margin:5px 0 0}.prior-balance-total{min-width:170px;padding:8px 12px;border-radius:8px;background:#eef4fc;text-align:right}.prior-balance-total span{display:block;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.prior-balance-total strong{display:block;margin-top:2px;color:#073c8e;font-size:18px;line-height:1.05}.prior-debt-table td small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px}.prior-balance-editor{margin-top:8px;padding-top:7px;border-top:1px solid var(--line)}.prior-balance-editor summary{color:#174f9f;font-size:10px;font-weight:800;cursor:pointer}.prior-balance-editor form{max-width:620px;margin-top:10px}.compact-alert{margin:8px 0 0;padding:9px 11px}
.text-link{color:#1859bf;font-size:9px;font-weight:800}
.muted-copy{font-size:11px!important}
.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.distributor-catalog-wrap{overflow:hidden;margin:0}
.distributor-catalog-table{width:100%;table-layout:fixed}
.distributor-catalog-table th,.distributor-catalog-table td{padding-right:7px;padding-left:7px}
.distributor-catalog-table th:nth-child(1),.distributor-catalog-table td:nth-child(1){width:22%}
.distributor-catalog-table th:nth-child(2),.distributor-catalog-table td:nth-child(2){width:16%;overflow-wrap:anywhere}
.distributor-catalog-table th:nth-child(3),.distributor-catalog-table td:nth-child(3){width:12%;overflow-wrap:anywhere}
.distributor-catalog-table th:nth-child(4),.distributor-catalog-table td:nth-child(4){width:11%;white-space:nowrap}
.distributor-catalog-table th:nth-child(5),.distributor-catalog-table td:nth-child(5){width:17%;white-space:nowrap}
.distributor-catalog-table th:nth-child(6),.distributor-catalog-table td:nth-child(6){width:12%;white-space:nowrap}
.distributor-catalog-table th:nth-child(7),.distributor-catalog-table td:nth-child(7){width:10%;padding-right:2px;padding-left:2px;text-align:center}
.distributor-catalog-table .row-actions{justify-content:center}
.distributor-catalog-table .btn.small{min-width:0;padding-right:7px;padding-left:7px}
.distributor-account-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px;background:linear-gradient(135deg,#fff 35%,#f1f6fd)}
.distributor-account-identity{display:flex;align-items:center;gap:14px}.distributor-account-identity h2{margin:2px 0 3px;font-size:21px}.distributor-account-identity p{margin:0}
.account-balance-block{min-width:245px;padding-left:24px;border-left:1px solid var(--line);text-align:right}.account-balance-block span,.account-balance-block small{display:block;color:var(--muted);font-size:9px}.account-balance-block span{font-weight:850;letter-spacing:.06em;text-transform:uppercase}.account-balance-block strong{display:block;margin:4px 0;color:#073c8e;font-size:26px;letter-spacing:-.035em}
.distributor-account-kpis{margin-bottom:12px}.distributor-history-card>.card-head p{margin:4px 0 0}.history-months{display:grid;gap:14px}.history-month{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.history-month>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f6f8fc}.history-month>header>div:first-child>span{display:block;color:#12213a;font-size:14px;font-weight:850}.history-month>header small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.history-month-totals{display:flex;align-items:center;gap:20px}.history-month-totals>span{color:var(--muted);font-size:10px}.history-month-totals strong{margin-left:4px;color:#203652;font-size:11px}.history-month .table-wrap{margin:0}.history-month table{font-size:11px}.history-month th{padding:9px 10px}.history-month td{padding:11px 10px}.opening-balance-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:14px;padding:13px 15px;border:1px solid #f0d49c;border-radius:9px;background:#fff9ec}.opening-balance-note p{margin:3px 0 0;font-size:10px}.opening-balance-note>strong{color:#8a5900;font-size:17px;white-space:nowrap}.distributor-payment-history{margin-top:12px}.distributor-payment-history>.card-head p{margin:4px 0 0}.distributor-payment-history .header-total strong{font-size:11px;letter-spacing:0}.distributor-payment-history .header-total{font-size:9px}
.proof-preview-trigger{font-family:inherit}
button.text-link.proof-preview-trigger{padding:0;border:0;background:transparent;text-decoration:underline;cursor:pointer}
.proof-modal[hidden]{display:none}
.proof-modal{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px;background:rgba(4,15,32,.72);backdrop-filter:blur(3px)}
.proof-modal-panel{width:min(980px,100%);height:min(90vh,820px);display:flex;overflow:hidden;flex-direction:column;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.38)}
.proof-modal-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line)}
.proof-modal-header h2{overflow:hidden;margin:2px 0 0;color:var(--ink);font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.proof-modal-close{width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:#40516a;font-size:22px;line-height:1;cursor:pointer}
.proof-modal-close:hover{background:#f2f5f9;color:#14223a}
.proof-zoom-controls{display:flex;align-items:center;gap:6px}.proof-zoom-controls[hidden]{display:none}
.proof-zoom-value{min-width:54px;height:30px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:#f7f9fc;color:#35465f;font-size:10px;font-weight:800;cursor:pointer}
.proof-viewer-body{min-height:0;flex:1;padding:12px;background:#dfe5ed}
.proof-stage{width:100%;height:100%;overflow:auto;border-radius:8px;background:#7d8998;overscroll-behavior:contain}
.proof-stage.is-image{touch-action:none;cursor:grab}.proof-stage.is-image:active{cursor:grabbing}.proof-stage.is-pdf{touch-action:auto;background:#525a64}
.proof-image-canvas{width:max-content;height:max-content;min-width:100%;min-height:100%;display:grid;place-items:center;box-sizing:border-box;padding:20px}
.proof-image-canvas[hidden]{display:none}.proof-image-canvas img{display:block;max-width:none;height:auto;border-radius:2px;background:#fff;box-shadow:0 7px 30px rgba(0,0,0,.26);user-select:none;-webkit-user-drag:none}
.proof-pdf{width:100%;height:100%;border:0;background:#fff}.proof-pdf[hidden]{display:none}
.proof-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 16px;border-top:1px solid var(--line);background:#fff}.proof-modal-footer small{color:var(--muted);font-size:9px}.proof-modal-footer>div{display:flex;gap:8px;white-space:nowrap}
body.proof-modal-open{overflow:hidden}
.danger-zone{margin-top:15px;border-color:#f0d4d9}
.danger-zone summary{color:var(--red);font-size:11px;font-weight:800;cursor:pointer}
.danger-zone>div{display:grid;gap:11px;margin-top:16px}
.timeline{display:grid}
.timeline-item{position:relative;display:grid;grid-template-columns:11px 1fr;gap:11px;padding:0 0 17px}
.timeline-item>span{z-index:1;width:8px;height:8px;margin-top:5px;border:2px solid #326dcc;border-radius:50%;background:#fff}
.timeline-item:after{content:"";position:absolute;left:3.5px;top:13px;bottom:0;width:1px;background:var(--line)}
.timeline-item:last-child:after{display:none}
.timeline-item.failed>span{border-color:var(--red)}.timeline-item.success>span{border-color:var(--green)}
.timeline-item strong{font-size:11px}.timeline-item p{margin:3px 0;font-size:10px}.timeline-item small{color:#929bad;font-size:9px}
.timeline.compact{max-height:680px;overflow:auto}
.not-found{padding:15vh 20px;text-align:center}.not-found>span{color:#dbe5f5;font-size:66px;font-weight:900}.not-found h1{margin:0;font-size:27px}.not-found p{margin-bottom:20px;color:var(--muted)}
.is-loading{position:relative;pointer-events:none;opacity:.7}.is-loading:after{content:"";width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

.period-picker{display:grid;gap:7px;min-width:0}
.period-picker-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:8px}
.period-source-field{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:36px;margin-top:5px;padding:0 11px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--text);font-size:11px;font-weight:400;line-height:1;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.period-source-field:focus-within{border-color:#82a9e9;box-shadow:0 0 0 3px rgba(20,92,210,.08)}
.period-source-field svg{flex:0 0 15px;width:15px;height:15px;fill:none;stroke:#50617a;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.period-source-field input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.period-source-field input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
.period-error{color:var(--red);font-size:9px;font-weight:700}
.period-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:27px}
.period-list[hidden]{display:none!important}
.period-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 9px;border:1px solid #ccdaf1;border-radius:999px;background:#f4f7fc;color:#294c80;font-size:10px;font-weight:800;transition:border .15s ease,background .15s ease}
.period-chip button{width:17px;height:17px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#dfe8f6;color:#456387;line-height:1;cursor:pointer}
.period-chip button:hover{background:#cfdcf0;color:#1d3f70}
.period-chip.period-required{border-color:#eab75d;background:#fff7e8}
.period-help{color:var(--muted-2);font-size:9px}
.cut-create-card{display:grid;grid-template-columns:minmax(220px,.62fr) minmax(0,1.75fr);align-items:start;gap:28px}
.cut-create-intro p{max-width:230px;margin:6px 0 0}
.new-cut-form{width:100%;display:grid;grid-template-columns:minmax(170px,.7fr) minmax(280px,1.25fr) auto;align-items:start;gap:12px}
.new-cut-form>.btn{margin-top:20px}
.bulk-draft-card,.distributor-cut-create{display:grid;grid-template-columns:minmax(230px,.62fr) minmax(0,1.45fr);align-items:start;gap:28px;margin-bottom:15px}
.bulk-draft-intro p,.distributor-cut-intro p{max-width:390px;margin:6px 0 0}
.bulk-draft-form,.distributor-cut-form{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.bulk-draft-form>.btn,.distributor-cut-form>.btn{margin-top:20px;white-space:nowrap}
.sync-card .period-picker-control{grid-template-columns:1fr}
.revision-line{display:flex;gap:13px;margin-top:6px;color:#8792a3;font-size:9px;line-height:1.25}
.whatsapp-recommendation{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:15px;border-left:4px solid #16a05d;background:linear-gradient(90deg,#f2fbf6 0,#fff 62%)}
.whatsapp-recommendation h2{margin:4px 0 3px;font-size:16px}.whatsapp-recommendation p{margin:0;color:var(--muted)}
.whatsapp-recommendation-action{display:flex;align-items:flex-end;flex-direction:column;gap:6px}.whatsapp-recommendation-action>span{color:#52705e;font-size:10px;font-weight:800}.whatsapp-recommendation-action form{margin:0}
.cut-editor{padding:0;margin-bottom:15px;overflow:hidden}
.cut-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;list-style:none;cursor:pointer;background:#fff}
.cut-editor>summary::-webkit-details-marker{display:none}
.cut-editor>summary strong{display:block;margin-top:3px;font-size:13px}
.cut-editor .when-open{display:none}.cut-editor[open] .when-closed{display:none}.cut-editor[open] .when-open{display:inline}
.summary-action{padding:5px 9px;border:1px solid #d8e0ec;border-radius:7px;color:#38639c;font-size:9px;font-weight:850}
.editor-body{padding:18px 20px 20px;border-top:1px solid var(--line);background:#fafbfd}
.editor-body>p{margin:0 0 14px}
.cut-edit-form{display:grid;grid-template-columns:minmax(320px,1.25fr) minmax(260px,.75fr);gap:14px 18px;align-items:start}
.cut-edit-form>.form-row,.cut-edit-form>label,.cut-edit-form>.editor-actions{grid-column:2}
.cut-edit-form>.period-picker{grid-row:1/5}
.editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:4px}
.editor-actions>span{color:var(--muted);font-size:9px}

/* Documento formal de corte */
body.print-document{padding:30px;background:#e9edf3;color:#172033}
.document-toolbar{width:8.5in;display:flex;justify-content:flex-end;gap:8px;margin:0 auto 12px}
.cut-document{position:relative;width:8.5in;min-height:11in;margin:0 auto;padding:11mm 12mm 14mm;background:#fff;box-shadow:0 18px 55px rgba(15,31,54,.16)}
.document-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.document-header img{width:156px;height:50px;object-fit:contain;object-position:right top}
.document-kicker{display:block;color:#0451bd;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.document-header h1{margin:5px 0 2px;color:#071f42;font-size:25px;letter-spacing:-.03em;line-height:1}
.document-header p{margin:0;color:#63738a;font-size:10px}
.document-rule{height:3px;margin:12px 0 13px;background:linear-gradient(90deg,#0046ad 0 82%,#17a2b8 82%)}
.statement-heading{display:grid;grid-template-columns:1fr 215px;align-items:stretch;border:1px solid #cfdaea;border-bottom:0}
.document-party{padding:12px 14px;background:#fff}
.document-party span,.statement-balance span,.statement-totals span,.document-note>span{display:block;color:#66768c;font-size:8.5px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.document-party strong{display:block;margin:4px 0 2px;color:#112a4e;font-size:17px}.document-party small{color:#6d7c90;font-size:9px}
.statement-balance{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:11px 14px;background:#063b85;color:#fff;text-align:center}
.statement-balance span{color:#bdd3f2}.statement-balance strong{display:block;margin:3px 0 2px;font-size:22px;letter-spacing:-.025em}.statement-balance small{color:#d9e7f8;font-size:9px}
.statement-meta{padding:9px 14px;border:1px solid #cfdaea;background:#f5f8fc}
.statement-meta dl{display:grid;grid-template-columns:1.05fr 1.85fr .8fr .45fr;gap:12px;margin:0}.statement-meta dt{color:#748197;font-size:7.8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.statement-meta dd{margin:2px 0 0;color:#192c48;font-size:9.5px;font-weight:800;line-height:1.3}
.statement-section{margin-top:11px;break-inside:avoid}
.statement-section>h2,.statement-section-title{margin:0;padding:5px 8px;border-top:2px solid #0451bd;background:#eef4fc;color:#073c8e}
.statement-section>h2,.statement-section-title h2{font-size:11px;font-weight:900}
.statement-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.statement-section-title h2{margin:0}.statement-section-title span{color:#5f7086;font-size:8.5px;font-weight:750}
.statement-totals{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #cfdaea;border-top:0}
.statement-totals>div{min-width:0;padding:9px 8px;border-right:1px solid #dbe3ed}.statement-totals>div:last-child{border-right:0}
.statement-totals strong{display:block;margin-top:4px;color:#172943;font-size:12px;letter-spacing:-.015em}.statement-totals .statement-total-due{background:#e9f1fc}.statement-totals .statement-total-due span{color:#315a8e}.statement-totals .statement-total-due strong{color:#073c8e;font-size:13px}
.period-summary-table{border:1px solid #cfdaea;border-top:0}.period-summary-table td{padding-top:5px;padding-bottom:5px}
.document-note{margin-top:10px;padding:8px 10px;border-left:3px solid #16a0b9;background:#f4f9fb}.document-note p{margin:4px 0 0;color:#4f5e72;font-size:9px;line-height:1.45}
.document-note.recovery-note{border-left-color:#10a37f;background:#f1faf7}
.document-detail{margin-top:12px;padding-top:0}
.document-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:6px 8px;border-top:2px solid #0451bd;border-bottom:1px solid #cfdaea;background:#eef4fc}.document-section-title span{color:#6b788d;font-size:7.8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.document-section-title h2{margin:2px 0 0;color:#073c8e;font-size:13px}.document-section-title>strong{color:#5e6d80;font-size:9px}
.document-table{width:100%;border-collapse:collapse;font-size:10px;line-height:1.32}
.document-table th{padding:6px 5px;color:#54647a;font-size:8.5px;font-weight:850;letter-spacing:.035em;text-transform:uppercase;background:#f7f9fc;border-bottom:1px solid #cfd9e8}
.document-table td{padding:5.5px 5px;border-bottom:1px solid #e0e6ef}.document-table tbody tr:nth-child(even){background:#fafbfd}.document-table tbody tr:hover{background:inherit}
.document-table td small{display:block;margin-top:2px;color:#728096;font-size:8.5px;line-height:1.25}.document-table tfoot td{padding:7px 5px;border-top:2px solid #0451bd;border-bottom:0;color:#073c8e;font-weight:900}.document-table.compact{font-size:10px}
.payment-document-table{table-layout:fixed}.payment-document-table th:nth-child(1),.payment-document-table td:nth-child(1){width:13%}.payment-document-table th:nth-child(2),.payment-document-table td:nth-child(2){width:15%}.payment-document-table th:nth-child(3),.payment-document-table td:nth-child(3){width:19%}.payment-document-table th:nth-child(4),.payment-document-table td:nth-child(4){width:37%;overflow-wrap:anywhere;white-space:normal}.payment-document-table th:nth-child(5),.payment-document-table td:nth-child(5){width:16%}
.prior-document-table{table-layout:fixed;border:1px solid #cfdaea;border-top:0}.prior-document-table th:nth-child(1),.prior-document-table td:nth-child(1){width:40%}.prior-document-table th:nth-child(2),.prior-document-table td:nth-child(2){width:24%}.prior-document-table th:nth-child(3),.prior-document-table td:nth-child(3){width:18%}.prior-document-table th:nth-child(4),.prior-document-table td:nth-child(4){width:18%}.account-total-row{display:grid;grid-template-columns:1.2fr auto 1.2fr auto 1.2fr auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid #cfdaea;border-top:0;background:#f3f7fc}.account-total-row span{color:#64748a;font-size:8.5px;font-weight:800}.account-total-row strong{color:#17365f;font-size:10px;text-align:right;white-space:nowrap}.account-total-row strong:last-child{color:#073c8e;font-size:12px}.prior-note{margin-top:0;border-top:0}
.invoice-document-table th:first-child,.invoice-document-table td:first-child{width:24px}.invoice-document-table th:nth-child(3),.invoice-document-table td:nth-child(3){width:150px}.invoice-document-table th:nth-child(4),.invoice-document-table td:nth-child(4){width:92px}.invoice-document-table th:last-child,.invoice-document-table td:last-child{width:86px}
.document-footer{display:flex;justify-content:space-between;gap:20px;margin-top:9px;padding-top:7px;border-top:1px solid #d6dfeb;color:#778499;font-size:7.5px;line-height:1.35}

@media(max-width:1120px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .dashboard-insights,.detail-grid,.catalog-grid{grid-template-columns:1fr}
  .activity-grid{grid-template-columns:1fr}
  .prior-balance-card .card-head{display:grid}.prior-balance-total{width:100%;text-align:left}.account-total-row{grid-template-columns:1fr auto}
  .action-card{align-items:flex-start;flex-direction:column}
  .cut-create-card{grid-template-columns:1fr;gap:16px}
  .bulk-draft-card,.distributor-cut-create{grid-template-columns:1fr;gap:16px}
  .cut-create-intro p{max-width:none}
  .bulk-draft-intro p,.distributor-cut-intro p{max-width:none}
  .new-cut-form{width:100%}
  .sticky-card{position:static}
  .aging-row{grid-template-columns:150px 1fr 135px}
  .history-month>header{align-items:flex-start;flex-direction:column}.history-month-totals{width:100%;justify-content:space-between}
}

@media(max-width:800px){
  :root{--topbar:58px}
  .sidebar{width:280px;transform:translateX(-100%);transition:transform .2s ease;box-shadow:15px 0 46px rgba(0,0,0,.22)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-scrim{position:fixed;z-index:45;inset:0;width:100%;height:100%;border:0;background:rgba(3,15,32,.48);opacity:0;pointer-events:none;transition:opacity .2s ease}
  .sidebar-scrim.open{display:block;opacity:1;pointer-events:auto}
  .app-topbar{left:0;padding:0 14px}
  .topbar-brand img{width:112px;height:44px}
  .menu-toggle{display:grid}
  .integration-chip{display:none}
  .user-copy{display:none}
  .user-chip{padding:3px}
  .main-content{margin-left:0;padding:calc(var(--topbar) + 21px) 15px 44px}
  .page-header{align-items:flex-start}
  .page-header h1{font-size:25px}
  .mobile-account{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;color:#dbe4f1;text-decoration:none}
  .mobile-account strong,.mobile-account small{display:block}.mobile-account strong{font-size:11px}.mobile-account small{color:#7890aa;font-size:9px}
  .summary-strip{grid-template-columns:1fr 1fr}
  .summary-strip>div:nth-child(2){border-right:0}.summary-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .cut-hero,.action-card,.decision-card{align-items:flex-start;flex-direction:column}
  .receivable-note{align-items:flex-start;flex-direction:column}.sync-meta{width:100%;padding:12px 0 0;border-left:0;border-top:1px solid var(--line);text-align:left}
  .whatsapp-recommendation{align-items:flex-start;flex-direction:column}.whatsapp-recommendation-action{width:100%;align-items:stretch}.whatsapp-recommendation-action .btn{width:100%}
  .new-cut-form{grid-template-columns:1fr}
  .new-cut-form>.btn{margin:0}
  .bulk-draft-form,.distributor-cut-form{grid-template-columns:1fr}
  .bulk-draft-form>.btn,.distributor-cut-form>.btn{margin:0}
  .cut-edit-form{grid-template-columns:1fr}
  .cut-edit-form>.period-picker,.cut-edit-form>.form-row,.cut-edit-form>label,.cut-edit-form>.editor-actions{grid-column:1;grid-row:auto}
  .amount-due{text-align:left}
  .aging-row{grid-template-columns:1fr}.aging-row .numeric{text-align:left}
  .recovery-progress-content{grid-template-columns:138px minmax(0,1fr)}.recovery-donut{width:138px;height:138px}
  .distributor-account-hero{align-items:flex-start;flex-direction:column}.account-balance-block{width:100%;padding:13px 0 0;border-left:0;border-top:1px solid var(--line);text-align:left}
  .inline-form>*{flex:1 1 145px}
  body.menu-open{overflow:hidden}
}

@media(max-width:520px){
  .module-title span{display:none}
  .topbar-actions{gap:4px}
  .icon-button,.menu-toggle{width:32px;height:32px}
  .page-header{display:block}.header-actions{margin-top:12px}
  .kpi-grid{grid-template-columns:1fr 1fr;gap:9px}
  .kpi{min-height:105px;padding:15px 14px}.kpi strong{font-size:19px}
  .kpi:before{right:-34px;opacity:.62}
  .summary-strip{grid-template-columns:1fr}.summary-strip>div{border-right:0;border-bottom:1px solid var(--line)}.summary-strip>div:last-child{border-bottom:0}
  .form-row{grid-template-columns:1fr}
  .card{padding:16px}
  .card-head{align-items:flex-start;flex-direction:column}
  .recovery-progress-content{grid-template-columns:1fr;justify-items:center;gap:4px}.recovery-breakdown{width:100%}.payer-chart-summary{text-align:left}
  .dashboard-period-form{width:100%}.dashboard-period-form label{min-width:0;flex:1}
  .daily-payment-chart-svg{height:222px}
  .table-search{max-width:none}
  .cut-status-line{align-items:flex-start;flex-direction:column;gap:4px}
  .amount-due strong{font-size:25px}
  .period-picker{min-width:0}
  .period-picker-control{grid-template-columns:1fr}
  .editor-actions{align-items:flex-start;flex-direction:column}
  .payment-item{align-items:flex-start;flex-direction:column}
  .payment-actions{justify-content:flex-start}
  .history-month-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.history-month-totals>span{display:grid;gap:2px}.history-month-totals strong{margin:0}.opening-balance-note{align-items:flex-start;flex-direction:column;gap:8px}.row-actions{align-items:stretch;flex-direction:column}
  .payment-edit-form{grid-template-columns:1fr}.payment-edit-form .payment-notes,.payment-edit-actions{grid-column:1}
  .proof-modal{padding:0}.proof-modal-panel{width:100%;height:100vh;max-height:none;border:0;border-radius:0}.proof-modal-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px}.proof-zoom-controls{grid-column:1/-1;grid-row:2;justify-content:center}.proof-viewer-body{padding:6px}.proof-modal-footer{align-items:stretch;flex-direction:column;padding:9px 12px}.proof-modal-footer>div{display:grid;grid-template-columns:1fr 1fr}.proof-modal-footer .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@page{size:Letter portrait;margin:10mm 10mm 12mm}

@media print{
  html,body{background:#fff}.sidebar,.sidebar-scrim,.app-topbar,.header-actions,.alert,.no-print{display:none!important}
  .main-content{margin:0;padding:0;background:#fff}.page-header{margin-bottom:16px}.page-header h1{font-size:24px}
  .card,.summary-strip,.kpi{box-shadow:none;break-inside:avoid}.detail-grid{display:block}.detail-grid .card{margin-bottom:14px}
  table{font-size:9px}th,td{padding:6px}.cut-hero{background:#fff}
  body.print-document{padding:0;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cut-document{width:auto;min-height:0;margin:0;padding:0;box-shadow:none}
  .document-header,.statement-heading,.statement-meta,.statement-summary,.statement-section,.document-note{break-inside:avoid}
  .document-detail{break-before:auto;padding-top:0}
  .document-table{font-size:10px}
  .document-table th{background:#f7f9fc;border-top:0}
  .document-table thead{display:table-header-group}.document-table tfoot{display:table-row-group}.document-table tr{break-inside:avoid}
  .document-footer{position:static;margin-top:10px;break-inside:avoid}
}
