:root{color-scheme:dark;font-family:Inter,Segoe UI,sans-serif;--bg:#0b0b0f;--panel:#14141b;--border:#2b2b35;--muted:#9ca3b3;--red:#d71920;--text:#f7f7f9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 78% 12%,#2a0d11 0,#0b0b0f 42%);color:var(--text);min-height:100vh}.shell{width:min(1440px,calc(100% - 40px));margin:0 auto;padding:40px 0 80px}.login-card{width:min(460px,100%);margin:10vh auto;padding:32px;border:1px solid var(--border);border-radius:18px;background:rgba(20,20,27,.96);box-shadow:0 30px 80px rgba(0,0,0,.35)}h1,h2,h3,p{margin-top:0}.eyebrow{margin-bottom:8px;color:#ff4b50;font-size:12px;font-weight:800;letter-spacing:.16em}.topbar,.panel-heading,.actions,.tabs{display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar{margin-bottom:24px}.topbar p{color:var(--muted)}.tabs{justify-content:flex-start;margin-bottom:16px;border-bottom:1px solid var(--border)}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent}.tabs button.active{border-color:var(--red);color:#fff}.panel{padding:24px;border:1px solid var(--border);border-radius:16px;background:rgba(20,20,27,.92)}.panel-heading p{color:var(--muted)}button{min-height:42px;padding:0 17px;border:1px solid #f3474c;border-radius:9px;background:linear-gradient(135deg,#e01a22,#b80e15);color:#fff;font-weight:750;cursor:pointer}button:hover{filter:brightness(1.12)}button.secondary{border-color:var(--border);background:#1d1d26}.table-wrap{overflow:auto;margin:20px 0}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}td .row-actions{display:flex;gap:7px}.row-actions button{min-height:32px;padding:0 9px;font-size:11px}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#30303a;font-size:11px;font-weight:800}.badge.activa,.badge.active{background:#153d2b;color:#7ce4ad}.badge.suspendida,.badge.blocked{background:#472a12;color:#ffc879}.badge.vencida{background:#48191c;color:#ff979b}.forms-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.editor{display:grid;gap:13px;padding:20px;border:1px solid var(--border);border-radius:13px;background:#101016}.editor.narrow{max-width:900px}.editor label{display:grid;gap:6px;color:#d7dae2;font-size:12px;font-weight:700}.editor input,.editor select,.editor textarea,.panel-heading select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #353541;border-radius:8px;background:#191920;color:#fff}.editor textarea{min-height:80px;resize:vertical}.editor .checkbox{display:flex;align-items:center}.editor .checkbox input{width:18px;min-height:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.message{min-height:20px;margin:0;color:#ff8589;font-size:12px}.message.success{color:#7ce4ad}[hidden]{display:none!important}@media(max-width:900px){.forms-grid,.two{grid-template-columns:1fr}.topbar,.panel-heading{align-items:flex-start;flex-direction:column}.shell{width:min(100% - 22px,1440px);padding-top:20px}}

/* Configuración de líneas de crédito y comités */
.configuration-heading{align-items:flex-end}.configuration-company-picker{display:grid;grid-template-columns:auto minmax(220px,320px) auto;align-items:center;gap:10px}.configuration-company-picker label{color:var(--muted);font-size:12px;font-weight:800}.configuration-company-picker select{min-height:42px;padding:9px 11px;border:1px solid #353541;border-radius:8px;background:#191920;color:#fff}.configuration-notice{margin:18px 0;padding:13px 15px;border:1px solid #4b3134;border-radius:10px;background:#241417;color:#ffc9cb;font-size:13px}.configuration-section{margin-top:22px;padding:20px;border:1px solid var(--border);border-radius:14px;background:#101016}.configuration-section-heading,.configuration-save-row,.config-card-header,.committee-members-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.configuration-section-heading p,.config-card-header p,.committee-members-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.configuration-editor-list{display:grid;gap:16px;margin-top:18px}.credit-line-card,.committee-card{padding:18px;border:1px solid #33333f;border-radius:12px;background:#15151d}.config-card-header{margin-bottom:16px}.config-card-header h4{margin:3px 0 0;font-size:17px}.config-card-kicker{color:#ff696e;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.config-card-controls{display:flex;align-items:center;gap:10px}.config-card-controls .inline-checkbox{display:flex;align-items:center;gap:7px;color:#d7dae2;font-size:12px}.config-card-controls input{width:17px;min-height:17px}.danger-button{border-color:#66363a;background:#281519;color:#ff9ca0}.config-group{margin-top:16px;padding-top:16px;border-top:1px solid #2c2c36}.config-group h5{margin:0 0 12px;font-size:13px}.config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.config-grid label,.committee-member-row label{display:grid;gap:6px;color:#d7dae2;font-size:12px;font-weight:700}.config-grid input,.config-grid select,.config-grid textarea,.committee-member-row input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #353541;border-radius:8px;background:#191920;color:#fff}.config-grid textarea{min-height:76px;resize:vertical}.config-grid .span-2{grid-column:span 2}.config-grid .span-4{grid-column:1/-1}.config-grid .inline-checkbox{display:flex;align-items:center;align-self:end;min-height:40px;padding:8px 10px;border:1px solid #353541;border-radius:8px;background:#191920}.config-grid .inline-checkbox input{width:17px;min-height:17px}.field-help{color:var(--muted);font-size:10px;font-weight:500}.config-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.config-action-field{display:grid;gap:5px;color:var(--muted);font-size:11px}.config-action-field select{min-height:36px;padding:6px 8px;border:1px solid #353541;border-radius:7px;background:#191920;color:#fff}.advanced-config{margin-top:14px;padding:13px;border:1px solid #30303a;border-radius:9px}.advanced-config summary{cursor:pointer;font-size:12px;font-weight:800}.advanced-config textarea{width:100%;min-height:120px;margin-top:12px;padding:10px;border:1px solid #353541;border-radius:8px;background:#0e0e14;color:#d8dae2;font-family:Consolas,monospace;font-size:11px}.committee-members-heading{margin:16px 0 10px}.committee-member-list{display:grid;gap:9px}.committee-member-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;padding:11px;border:1px solid #2e2e38;border-radius:9px;background:#111118}.committee-member-row button{min-height:40px}.configuration-save-row{justify-content:flex-start;margin-top:18px}.configuration-save-row .message{min-height:auto}.configuration-loading{padding:24px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.config-grid,.config-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-grid .span-4{grid-column:1/-1}}
@media(max-width:700px){.configuration-company-picker,.config-grid,.config-actions-grid,.committee-member-row{grid-template-columns:1fr}.config-grid .span-2,.config-grid .span-4{grid-column:auto}.configuration-section-heading,.configuration-save-row,.config-card-header,.committee-members-heading{align-items:flex-start;flex-direction:column}.config-card-controls{flex-wrap:wrap}}


/* Acceso administrativo */
.login-card{width:min(460px,100%);display:grid;gap:24px;margin:12px auto;padding:30px;border:1px solid var(--border);border-radius:16px;background:rgba(20,20,27,.97);box-shadow:0 30px 80px rgba(0,0,0,.38)}
.login-brand{display:flex;align-items:center;gap:14px}
.login-brand-mark{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:10px;box-shadow:0 0 28px rgba(215,25,32,.25)}
.login-brand .eyebrow{margin:0 0 4px}
.login-brand h1{margin:0;font-size:30px;line-height:1.08;letter-spacing:-.02em}
.login-intro{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.login-form{display:grid;gap:16px}
.login-field{display:grid;gap:8px;color:#f2f2f5;font-size:12px;font-weight:750}
.login-field input{width:100%;min-height:46px;padding:10px 13px;border:1px solid #353541;border-radius:9px;outline:0;background:#1a1a22;color:#fff;font-family:inherit;font-size:14px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.login-field input:hover{border-color:#464652}
.login-field input:focus{border-color:#ef3d44;background:#1d1d25;box-shadow:0 0 0 3px rgba(215,25,32,.14)}
.login-password-entry{position:relative;display:block}
.login-password-entry #login-password{padding-right:92px}
.login-password-toggle{position:absolute;top:5px;right:5px;min-height:36px;padding:0 12px;border-color:#3b3b47;background:#24242d;color:#d9dbe2;font-size:11px}
.login-password-help{color:var(--muted);font-size:10px;font-weight:500;line-height:1.45}
.login-submit{width:100%;min-height:46px;margin-top:2px;font-size:14px}
.login-form .message{min-height:18px;line-height:1.45}
@media(min-height:560px){.login-card{margin:12px auto}.shell:has(#login-view:not([hidden])){display:grid;min-height:100vh;align-items:center;padding-top:32px;padding-bottom:32px}}
@media(max-width:520px){.login-card{gap:20px;padding:24px}.login-brand h1{font-size:25px}.login-intro{font-size:13px}}
