/* Paleta compartida por todas las pantallas y formularios. */
:root{color-scheme:light;--text:#172c43;--background:#f3f6fa;--surface:#fff;--muted:#63788c;--chip:#e0eafa;--border:#e1e8f0;--border-soft:#edf1f6;--input-border:#c7d3df;--secondary:#e8eef5;--success-bg:#e3f2ed;--success-text:#23745c;--warning-bg:#fff0d9;--warning-text:#8c5a14;--bar:#e5edf5;--notice:#8b3b13;--hover:#f7fafc;--link:#087e86;--focus:#087e86}
:root[data-theme="dark"]{color-scheme:dark;--text:#e5edf6;--background:#0d1724;--surface:#172638;--muted:#a7b9cb;--chip:#233d59;--border:#34485e;--border-soft:#2a3c50;--input-border:#52667c;--secondary:#2d4258;--success-bg:#163e35;--success-text:#93dfbd;--warning-bg:#4c3519;--warning-text:#ffcf83;--bar:#2a4058;--notice:#ffbd8a;--hover:#203449;--link:#73d8de;--focus:#73d8de}
:root{font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:var(--background);font-size:16px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:240px;background:#112942;color:#fff;padding:34px 22px;min-height:100vh;position:fixed;display:flex;flex-direction:column}.brand{font-size:32px;font-weight:750;letter-spacing:3px}.brand span{font-weight:350}.brand small{display:block;font-size:12px;letter-spacing:2px;margin:6px 0 40px;color:#96b3cf}nav{display:grid;gap:8px}nav button{text-align:left;background:transparent;color:#becfe0;border:0;padding:13px 14px}nav button.active{background:#234663;color:white}footer{margin-top:auto;padding-top:50px;color:#a6bdd2;font-size:14px;line-height:1.7}main{margin-left:240px;padding:35px 40px;width:calc(100% - 240px)}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}small{font-size:12px;letter-spacing:1.5px;color:var(--muted)}h1{font-size:30px;margin:8px 0}h2{font-size:20px;margin:0 0 20px}.demo{font-size:14px;background:var(--chip);padding:9px 14px;border-radius:20px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:28px}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.card strong{display:block;font-size:30px;margin:12px 0}.card small{letter-spacing:0;font-size:14px}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.toolbar{display:flex;gap:12px;justify-content:space-between;margin-bottom:20px}input,select,textarea{font:inherit;padding:11px;border:1px solid var(--input-border);border-radius:6px;width:100%;background:var(--surface)}input[type=search]{max-width:420px}button{font:inherit;cursor:pointer;background:#087e86;color:white;padding:10px 16px;border:0;border-radius:6px}button:hover{filter:brightness(.92)}.secondary{background:var(--secondary);color:var(--text)}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);font-weight:500;padding:14px 10px;border-bottom:1px solid var(--border)}td{padding:16px 10px;border-bottom:1px solid var(--border-soft)}td small{display:block;letter-spacing:0;margin-top:5px}.badge{display:inline-block;border-radius:20px;padding:5px 9px;background:var(--success-bg);color:var(--success-text);white-space:nowrap}.warn{background:var(--warning-bg);color:var(--warning-text)}.alert{padding:15px 0;border-bottom:1px solid var(--border);line-height:1.6}.alert button{float:right;font-size:14px}.bar{height:7px;background:var(--bar);border-radius:6px;margin:9px 0 20px}.bar span{display:block;height:100%;background:#087e86;border-radius:6px}.muted{color:var(--muted);font-size:14px;line-height:1.6}dialog{border:0;border-radius:12px;max-width:540px;width:95%;padding:28px}dialog::backdrop{background:#11294288}label{display:block;font-size:14px;margin:12px 0 6px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#notice{color:var(--notice);margin-bottom:15px}textarea{min-height:150px}.empty{padding:30px;color:var(--muted)}a{color:var(--link)}@media(max-width:950px){aside{width:190px}main{margin-left:190px;width:calc(100% - 190px);padding:24px}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:600px){body{display:block}aside{position:static;width:100%;min-height:0;padding:18px}.brand{font-size:24px}.brand small,footer{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap;font-size:14px}main{margin:0;width:100%;padding:18px}header{display:block}.demo{display:inline-block}.card{padding:16px}.card strong{font-size:24px}h1{font-size:25px}.toolbar{flex-wrap:wrap}}

[hidden]{display:none!important}.authmain{margin:0;width:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.authpanel{width:100%;max-width:460px}
.public-page{display:block}.public-page main{margin:0 auto;width:100%;max-width:1000px;padding:28px 24px}.public-page .panel{margin:20px 0;line-height:1.7}.public-page h1{line-height:1.25;margin:12px 0 24px}.public-page h2{margin:28px 0 10px}.public-page small{display:block}.public-nav,.public-footer{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}.public-footer{padding:16px 0;justify-content:flex-start;font-size:14px}.public-page a{overflow-wrap:anywhere}.public-action{display:inline-block;margin-top:12px;background:#087e86;color:white;text-decoration:none;padding:10px 16px;border-radius:6px}.auth-info{margin-top:22px;padding-top:16px;border-top:1px solid var(--border);font-size:14px;line-height:1.7}.auth-info a{display:inline-block;margin-right:12px}@media(max-width:600px){.public-page main{padding:18px}.public-page .panel{padding:20px}.public-nav{flex-direction:column;gap:8px}.public-footer{display:flex}}

.commission-cards{grid-template-columns:repeat(4,1fr)}.commission-cards strong{font-size:24px}@media(max-width:950px){.commission-cards{grid-template-columns:repeat(2,1fr)}}

.collection-toolbar{align-items:center;flex-wrap:wrap}.collection-toolbar select{width:auto;max-width:100%}.collection-client{margin-bottom:18px;padding:20px}.collection-client h2{margin-bottom:14px}.collection-client h2 small{display:block;letter-spacing:0;margin-top:6px;font-weight:400}.collection-policy{border-top:1px solid var(--border)}.collection-policy>summary{cursor:pointer;padding:18px 4px;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(110px,.7fr) minmax(170px,1fr) minmax(160px,1fr);gap:16px;align-items:center;list-style:none}.collection-policy>summary::before{content:none}.collection-policy-name b::before{content:'▸ ';color:var(--link)}.collection-policy[open] .collection-policy-name b::before{content:'▾ '}.collection-policy summary::-webkit-details-marker{display:none}.collection-policy>summary:hover{background:var(--hover)}.collection-policy>summary:focus-visible{outline:2px solid #087e86;outline-offset:2px}.collection-policy b{font-size:14px}.collection-policy small{display:block;letter-spacing:0;line-height:1.5;margin:5px 0}.collection-detail{padding:0 4px 18px}.collection-actions{min-width:180px}.collection-actions button{margin:3px;font-size:13px}.collection-proof{font-size:12px;margin-top:8px;max-width:260px;overflow-wrap:anywhere}.collection-proof summary{cursor:pointer;color:var(--link)}.collection-proof p{line-height:1.5}.collection-policy .badge{font-size:12px}@media(max-width:1150px){.collection-policy>summary{grid-template-columns:1fr 1fr}}@media(max-width:600px){.collection-client{padding:16px}.collection-policy>summary{gap:12px}.collection-policy>summary>span{min-width:0}.collection-policy-name{grid-column:1/-1}.collection-policy .badge{white-space:normal}.collection-toolbar select{width:100%}}

/* Historial de endosos: comparación por cuota y desplazamiento independiente. */
dialog:has(.endorsement-history){max-width:800px;max-height:92vh;overflow:hidden}dialog:has(.endorsement-history) #form{display:flex;flex-direction:column;max-height:calc(92vh - 56px)}dialog:has(.endorsement-history) #fields{min-height:0;overflow-y:auto}dialog:has(.endorsement-history) .actions{flex-shrink:0}dialog:has(.endorsement-history) #cancel{display:none}.endorsement-entry{border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:16px}.endorsement-entry h3{font-size:16px;margin:0 0 14px}.endorsement-entry p{line-height:1.5}.endorsement-entry h3:not(:first-child){margin-top:20px}.endorsement-text{white-space:pre-wrap;overflow-wrap:anywhere}.endorsement-installments{max-height:300px;overflow:auto;border:1px solid var(--border);border-radius:6px}.endorsement-installments .tablewrap{overflow:visible}.endorsement-installments table{min-width:480px}.endorsement-installments th{position:sticky;top:0;background:var(--background);z-index:1}.endorsement-installments td{white-space:nowrap;padding:12px 10px}.endorsement-installments td:nth-child(n+3),.endorsement-installments th:nth-child(n+3){text-align:right}.endorsement-installments tr:nth-child(even){background:var(--hover)}@media(max-width:600px){dialog:has(.endorsement-history){padding:18px}dialog:has(.endorsement-history) #form{max-height:calc(92vh - 36px)}.endorsement-entry{padding:12px}}

/* Indicador de avisos pendientes: pulso suave, acompañado de cantidad y texto accesible. */
.alert-led{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ffc65c;margin-left:8px;vertical-align:middle;box-shadow:0 0 0 3px rgba(255,198,92,.12);animation:alert-led-pulse 2s ease-in-out infinite}.alert-count{font-size:12px;margin-left:7px;color:#ffe0a6;font-variant-numeric:tabular-nums}
@keyframes alert-led-pulse{0%,100%{opacity:1;box-shadow:0 0 0 3px rgba(255,198,92,.12)}50%{opacity:.45;box-shadow:0 0 0 5px rgba(255,198,92,.04)}}
@media(prefers-reduced-motion:reduce){.alert-led{animation:none}}

.gmail-rule{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:end;margin:15px 0}.gmail-rule label{margin:0}#gmail-enabled{width:auto;margin:18px 8px 18px 0}@media(max-width:700px){.gmail-rule{grid-template-columns:1fr}}

/* Controles nativos y diálogos siguen la misma apariencia. */
body{background:var(--background)}input,select,textarea{color:var(--text)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}dialog{background:var(--surface);color:var(--text)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.appearance-panel{margin-top:24px}.appearance-panel select{max-width:280px}.appearance-panel p{margin-bottom:0}input[type=checkbox],input[type=radio]{accent-color:#087e86}:root[data-theme="dark"] button:hover{filter:brightness(1.12)}
