/* Tokens de diseño · Liderex v2 */
:root{
  --n-0:#ffffff;
  --n-25:#fafbfc;
  --n-50:#f5f6f8;
  --n-100:#eef0f3;
  --n-150:#e6e9ee;
  --n-200:#dde1e7;
  --n-300:#c9ced7;
  --n-400:#9aa1ad;
  --n-500:#737a87;
  --n-600:#5a616e;
  --n-700:#3e4450;
  --n-800:#262b33;
  --n-900:#14171c;
  --b-50:#eef5ff;
  --b-100:#dcebff;
  --b-200:#bad7ff;
  --b-300:#8cbcff;
  --b-400:#4d97fb;
  --b-500:#1677f2;
  --b-600:#0f63d6;
  --b-700:#0c4fac;
  --b-800:#0d3d80;
  --b-900:#0c2b57;
  --g-50:#ecf8f1;
  --g-100:#d3f0df;
  --g-200:#a9e0c2;
  --g-500:#1f9d62;
  --g-700:#16774a;
  --a-50:#fff7e8;
  --a-100:#ffecc7;
  --a-200:#fbd78e;
  --a-300:#f5c451;
  --a-500:#d98a0b;
  --a-700:#9a620a;
  --r-50:#fef0f1;
  --r-100:#fcdde0;
  --r-200:#f5b8bf;
  --r-500:#e0424f;
  --r-700:#b02a37;
  --v-50:#f3effd;
  --v-100:#e6ddfb;
  --v-500:#7a5af0;
  --v-700:#5b3fc4;
}

:root{
  --lx-blue:var(--b-600);
  --lx-blue-dark:var(--n-700);
  --lx-navy:var(--n-800);
  --lx-yellow:var(--a-300);
  --lx-bg:var(--n-50);
  --lx-surface:var(--n-0);
  --lx-text:var(--n-800);
  --lx-muted:var(--n-500);
  --lx-border:var(--n-150);
  --lx-success:var(--g-500);
  --lx-danger:var(--r-500);
  --lx-warning:var(--a-500);
  --lx-radius:20px;
  --lx-shadow:0 18px 60px rgba(20,23,28,.08);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;font-family:var(--font);color:var(--lx-text);background:var(--lx-bg)}
button,input,select,textarea{font:inherit}
.brand-word{font-size:1.5rem;font-weight:650;letter-spacing:-.025em;color:var(--lx-navy)}
.brand-word span{color:var(--lx-yellow)}
.brand-word-light{color:var(--n-0)}
.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(140deg,var(--lx-blue),var(--b-300));display:grid;place-items:center;color:var(--n-0);font-weight:650;box-shadow:0 10px 24px rgba(15,99,214,.25)}
.brand-mark-light{background:rgba(255,255,255,.14);box-shadow:none;border:1px solid rgba(255,255,255,.14)}
.eyebrow,.modal-kicker{font-size:0.75rem;font-weight:650;letter-spacing:.06em;margin-bottom:.65rem}
.text-primary{color:var(--lx-blue)!important}
.btn{border-radius:12px;font-weight:700;border-width:1px;padding:.68rem 1rem}
.btn-lg{padding:.86rem 1.2rem;font-size:0.9375rem}
.btn-primary{background:var(--lx-blue);border-color:var(--lx-blue);box-shadow:0 10px 22px rgba(15,99,214,.16)}
.btn-primary:hover,.btn-primary:focus{background:var(--b-700);border-color:var(--b-700)}
.btn-light{background:var(--n-50);border-color:var(--n-100);color:var(--n-600)}
.icon-button{width:40px;height:40px;border:0;border-radius:12px;background:var(--n-50);color:var(--n-500);display:grid;place-items:center;position:relative}
.icon-button:hover{background:var(--b-50);color:var(--lx-blue)}
.form-label{font-size:0.8125rem;font-weight:700;color:var(--n-600);margin-bottom:.45rem}
.form-control,.form-select,.input-group-text{border-color:var(--n-150);border-radius:12px;min-height:46px;padding:.68rem .85rem;color:var(--lx-text);box-shadow:none}
.form-control:focus,.form-select:focus{border-color:var(--b-300);box-shadow:0 0 0 .2rem rgba(15,99,214,.09)}
.input-group>.input-group-text{border-radius:12px 0 0 12px;background:var(--n-50);color:var(--n-500)}
.input-group>.form-control{border-radius:0 12px 12px 0}
.modal-content{border:0;border-radius:20px;box-shadow:0 30px 100px rgba(20,23,28,.2)}
.modal-header,.modal-footer{border-color:var(--lx-border);padding:1.3rem 1.5rem}
.modal-body{padding:1.5rem}
.modal-title{font-weight:650;letter-spacing:-.03em}
.modal-kicker{color:var(--lx-blue);margin:0 0 .25rem}

/* Login */
.login-body{background:var(--n-100)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,46%) 1fr}
.login-brand-panel{background:radial-gradient(circle at 80% 10%,rgba(77,151,251,.45),transparent 35%),linear-gradient(145deg,var(--n-700),var(--b-600));padding:7vh 8vw;color:var(--n-0);flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}
.login-brand-panel:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-170px;bottom:-160px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}
.login-brand-panel h1{font-size:clamp(2.3rem,4.2vw,4.6rem);line-height:1.04;letter-spacing:-.025em;max-width:760px;font-weight:650}
.login-brand-panel .lead-copy{font-size:1rem;line-height:1.8;max-width:590px;color:rgba(255,255,255,.72)}
.brand-footer{font-size:2rem;font-weight:650;letter-spacing:-.025em;position:relative;z-index:1}.brand-footer span{color:var(--lx-yellow)}
.login-form-panel{display:grid;place-items:center;padding:2rem;background:var(--n-0)}
.login-card{width:min(100%,430px)}
.login-card h2{font-size:2rem;font-weight:650;letter-spacing:-.025em}
.input-icon{position:relative}.input-icon i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--n-400)}.input-icon .form-control{padding-left:44px}
.login-card .btn{display:flex;align-items:center;justify-content:space-between}

/* Admin shell */
.admin-body{overflow:hidden}
.admin-shell{display:grid;grid-template-columns:255px 1fr;height:100vh}
.sidebar{background:var(--n-0);border-right:1px solid var(--lx-border);padding:24px 16px 16px;display:flex;flex-direction:column;z-index:1040}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}
.sidebar-label{font-size:0.6875rem;font-weight:650;letter-spacing:.06em;color:var(--n-400);padding:16px 12px 8px}
.sidebar-nav{display:flex;flex-direction:column;gap:5px}.sidebar-nav a{text-decoration:none;color:var(--n-500);display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;font-size:0.875rem;font-weight:600;position:relative}.sidebar-nav a i{width:19px;text-align:center}.sidebar-nav a:hover{background:var(--n-50);color:var(--n-700)}.sidebar-nav a.active{background:var(--b-50);color:var(--lx-blue);font-weight:650}.nav-badge{margin-left:auto;background:var(--r-50);color:var(--r-500);min-width:20px;height:20px;border-radius:20px;display:none;place-items:center;font-size:0.6875rem}
.sidebar-profile{margin-top:auto;border-top:1px solid var(--lx-border);padding:16px 6px 0;display:flex;align-items:center;gap:10px}.sidebar-profile strong,.sidebar-profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile strong{font-size:0.8125rem}.sidebar-profile small{font-size:0.6875rem;color:var(--n-400);margin-top:2px}
.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--n-700),var(--b-500));display:grid;place-items:center;color:var(--n-0);font-size:0.8125rem;font-weight:650;flex:0 0 auto}.avatar-soft{background:var(--b-50);color:var(--lx-blue)}
.main-area{min-width:0;overflow:auto;background:var(--lx-bg)}
.topbar{height:91px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--lx-border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:1000}.topbar h2{font-size:1.25rem;font-weight:650;letter-spacing:-.03em;margin:0}.topbar-kicker{font-size:0.6875rem;color:var(--n-400);margin:0 0 3px;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:10px}.notification-dot{position:absolute;width:7px;height:7px;background:var(--r-500);border-radius:50%;right:8px;top:7px;border:2px solid var(--n-50)}
.content-area{padding:28px 30px 50px;max-width:1700px;margin:auto}.page-loader{height:50vh;display:grid;place-items:center}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{font-size:1.75rem;font-weight:650;letter-spacing:-.025em;margin:0}.page-head p{color:var(--lx-muted);font-size:0.875rem;margin:.35rem 0 0}.page-actions{display:flex;gap:10px;flex-wrap:wrap}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat-card{background:var(--n-0);border:1px solid var(--lx-border);border-radius:var(--lx-radius);padding:21px;box-shadow:0 8px 26px rgba(20,23,28,.035);display:flex;gap:15px;align-items:center}.stat-icon{width:50px;height:50px;border-radius:16px;background:var(--b-50);color:var(--lx-blue);display:grid;place-items:center;font-size:1.125rem}.stat-card:nth-child(2) .stat-icon{background:var(--g-50);color:var(--g-500)}.stat-card:nth-child(3) .stat-icon{background:var(--a-50);color:var(--a-500)}.stat-card:nth-child(4) .stat-icon{background:var(--v-50);color:var(--v-700)}.stat-card span{font-size:0.75rem;color:var(--n-400);font-weight:700}.stat-card strong{display:block;font-size:1.5rem;letter-spacing:-.025em;margin-top:3px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:20px}.surface-card{background:var(--n-0);border:1px solid var(--lx-border);border-radius:var(--lx-radius);box-shadow:0 8px 26px rgba(20,23,28,.035);overflow:hidden}.surface-head{padding:19px 21px;border-bottom:1px solid var(--lx-border);display:flex;align-items:center;justify-content:space-between}.surface-head h3{font-size:1rem;font-weight:650;margin:0}.surface-head span{font-size:0.75rem;color:var(--n-400)}.surface-body{padding:18px 21px}.surface-body.flush{padding:0}
.generation-row{display:grid;grid-template-columns:70px 1fr 70px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--n-100)}.generation-row:last-child{border-bottom:0}.generation-code{font-weight:650;color:var(--lx-navy)}.mini-progress{height:8px;background:var(--n-100);border-radius:10px;overflow:hidden}.mini-progress span{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--lx-blue),var(--b-400))}.generation-row small{color:var(--n-400);font-size:0.6875rem}.generation-row>strong{text-align:right;font-size:0.8125rem}
.upcoming-item{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--n-100)}.upcoming-item:last-child{border-bottom:0}.date-box{width:48px;height:52px;border-radius:12px;background:var(--b-50);color:var(--lx-blue);display:grid;place-items:center;line-height:1;text-align:center}.date-box strong{font-size:1rem}.date-box span{font-size:0.6875rem;text-transform:uppercase;font-weight:650}.upcoming-item h4{font-size:0.8125rem;font-weight:650;margin:2px 0 5px}.upcoming-item p{font-size:0.6875rem;color:var(--n-400);margin:0}.upcoming-item .count{margin-left:auto;font-size:0.6875rem;color:var(--n-600);white-space:nowrap}
.data-card{background:var(--n-0);border:1px solid var(--lx-border);border-radius:var(--lx-radius);padding:18px;box-shadow:0 8px 26px rgba(20,23,28,.035)}
.table{--bs-table-bg:transparent}.table thead th{font-size:0.6875rem;text-transform:uppercase;letter-spacing:.07em;color:var(--n-400);border-bottom-color:var(--n-150);padding:.9rem .7rem;white-space:nowrap}.table tbody td{font-size:0.8125rem;color:var(--n-600);padding:.85rem .7rem;border-bottom-color:var(--n-100);vertical-align:middle}.table tbody tr:hover{background:var(--n-25)}.table strong{color:var(--n-800)}
.dt-container .dt-search input,.dt-container .dt-length select{border:1px solid var(--n-150);border-radius:10px;padding:.45rem .65rem}.dt-container .dt-paging .dt-paging-button{border-radius:10px!important;border:0!important}.dt-container .dt-paging .dt-paging-button.current{background:var(--b-50)!important;color:var(--lx-blue)!important}.dt-info,.dt-length,.dt-search{font-size:0.75rem;color:var(--n-500)}
.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:5px 9px;font-size:0.6875rem;font-weight:650;background:var(--n-100);color:var(--n-500)}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-active,.status-confirmed,.status-paid,.status-attended{background:var(--g-50);color:var(--g-700)}.status-submitted,.status-receipt_review{background:var(--b-50);color:var(--b-500)}.status-duplicate_pending,.status-pending,.status-partial{background:var(--a-50);color:var(--a-500)}.status-cancelled,.status-rejected,.status-inactive,.status-overdue{background:var(--r-50);color:var(--r-500)}.status-scholarship,.status-courtesy{background:var(--v-50);color:var(--v-700)}
.progress-cell{min-width:130px}.progress-cell small{font-size:0.6875rem;color:var(--n-400)}.progress-cell .mini-progress{margin-top:6px}
.generation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.generation-card{background:var(--n-0);border:1px solid var(--lx-border);border-radius:20px;padding:20px;box-shadow:0 8px 26px rgba(20,23,28,.035)}.generation-card-head{display:flex;align-items:flex-start;justify-content:space-between}.generation-card h3{font-weight:650;letter-spacing:-.025em}.generation-card p{font-size:0.75rem;color:var(--n-400)}.generation-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.generation-metrics div{background:var(--n-50);border-radius:12px;padding:12px}.generation-metrics span{display:block;color:var(--n-400);font-size:0.6875rem}.generation-metrics strong{font-size:1rem}.copy-link-row{display:flex;gap:8px}.copy-link-row input{font-size:0.6875rem;min-width:0}
.context-menu{position:fixed;z-index:2000;background:var(--n-0);border:1px solid var(--lx-border);border-radius:12px;box-shadow:0 20px 55px rgba(20,23,28,.18);padding:7px;min-width:210px;display:none}.context-menu button{width:100%;border:0;background:transparent;border-radius:10px;padding:9px 10px;text-align:left;font-size:0.75rem;color:var(--n-600);display:flex;gap:10px;align-items:center}.context-menu button:hover{background:var(--n-50)}.context-menu hr{margin:5px;border-color:var(--n-150)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-section{border:1px solid var(--lx-border);border-radius:16px;padding:18px}.detail-section h4{font-size:0.875rem;font-weight:650;margin:0 0 14px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-list div span{display:block;font-size:0.6875rem;color:var(--n-400);text-transform:uppercase;letter-spacing:.05em}.detail-list div strong{font-size:0.75rem}.detail-list .full{grid-column:1/-1}.signature-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.signature-detail-head h4{margin-bottom:3px}.signature-detail-head p{margin:0;color:var(--n-400);font-size:0.6875rem}.signature-preview-link{display:block;border:1px dashed var(--n-200);border-radius:12px;background:var(--n-25);padding:12px;text-align:center}.signature-preview{display:block;width:100%;height:150px;object-fit:contain;background:var(--n-0);border-radius:10px}.signature-empty{min-height:120px;border:1px dashed var(--n-200);border-radius:12px;background:var(--n-25);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:var(--n-400);font-size:0.75rem}.signature-empty i{font-size:1.5rem;color:var(--n-400)}.finance-box{background:var(--n-25);border-radius:16px;padding:18px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.setting-card{background:var(--n-0);border:1px solid var(--lx-border);border-radius:16px;padding:18px}.setting-card h4{font-size:0.8125rem;font-weight:650}.setting-card p{font-size:0.6875rem;color:var(--n-400)}
.sidebar-backdrop{display:none}

/* Public form */
.public-body{background:var(--n-50);min-height:100vh}.public-header{height:76px;background:var(--n-0);border-bottom:1px solid var(--lx-border);display:flex;align-items:center}.public-header .container{height:100%}.secure-label{font-size:0.75rem;color:var(--n-500);font-weight:700;display:flex;align-items:center;gap:7px}.secure-label i{color:var(--lx-success)}.public-container{max-width:1080px;padding-top:46px;padding-bottom:60px}.registration-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.registration-heading h1{font-size:2.5rem;font-weight:650;letter-spacing:-.025em}.registration-heading p{color:var(--n-500)}.inviter-card{background:var(--n-0);border:1px solid var(--lx-border);border-radius:16px;padding:14px 18px;min-width:230px}.inviter-card span,.inviter-card small{display:block;font-size:0.6875rem;color:var(--n-400)}.inviter-card strong{display:block;font-size:0.875rem;margin:3px 0}.stepper{display:flex;align-items:center;max-width:700px;margin:0 auto 24px}.step{display:flex;align-items:center;gap:8px;color:var(--n-400);white-space:nowrap}.step span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--n-150);font-size:0.75rem;font-weight:650}.step em{font-style:normal;font-size:0.75rem;font-weight:650}.step.active,.step.done{color:var(--lx-blue)}.step.active span,.step.done span{background:var(--lx-blue);color:var(--n-0)}.line{height:2px;background:var(--n-150);flex:1;margin:0 10px}.public-form-card{background:var(--n-0);border:1px solid var(--lx-border);border-radius:20px;box-shadow:var(--lx-shadow);padding:28px}.form-step{display:none}.form-step.active{display:block}.section-title{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--lx-border);padding-bottom:18px;margin-bottom:22px}.section-title>span{width:44px;height:44px;border-radius:12px;background:var(--b-50);color:var(--lx-blue);display:grid;place-items:center;font-size:0.75rem;font-weight:650}.section-title h3{font-size:1rem;font-weight:650;margin:0}.section-title p{font-size:0.75rem;color:var(--n-400);margin:4px 0 0}.locked-input{background:var(--n-50)!important}.form-navigation{display:flex;align-items:center;border-top:1px solid var(--lx-border);margin-top:26px;padding-top:20px}.upload-zone{border:1.5px dashed var(--n-300);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;position:relative;background:var(--n-25)}.upload-zone i{font-size:1.5rem;color:var(--lx-blue)}.upload-zone strong{font-size:0.8125rem}.upload-zone p{font-size:0.6875rem;color:var(--n-400);margin:3px 0 0}.upload-zone input{margin-left:auto;max-width:290px;font-size:0.75rem}.terms-box{background:var(--n-50);border-radius:12px;padding:16px;color:var(--n-500);font-size:0.75rem;line-height:1.65}.signature-wrap{border:1px solid var(--n-200);border-radius:16px;background:var(--n-0);overflow:hidden;position:relative}.signature-wrap.is-invalid{border-color:var(--r-500);box-shadow:0 0 0 .2rem rgba(224,66,79,.12)}.signature-wrap canvas{width:100%;height:180px;display:block;touch-action:none}.signature-wrap button{position:absolute;right:10px;top:10px}.public-footer{padding:28px 0;text-align:center;color:var(--n-400);font-size:0.6875rem}.empty-public-state{background:var(--n-0);border:1px solid var(--lx-border);border-radius:20px;padding:70px 30px;text-align:center}.empty-public-state i{font-size:2.5rem;color:var(--n-400)}.empty-public-state h3{font-weight:650;margin-top:20px}.success-page{display:grid;place-items:center;padding:30px}.success-card{width:min(100%,650px);background:var(--n-0);border:1px solid var(--lx-border);border-radius:20px;padding:55px;text-align:center;box-shadow:var(--lx-shadow)}.success-icon{width:78px;height:78px;border-radius:50%;background:var(--g-50);color:var(--lx-success);display:grid;place-items:center;font-size:1.75rem;margin:0 auto 24px}.success-card h1{font-weight:650;letter-spacing:-.025em}.success-card>p:not(.eyebrow){color:var(--n-500);line-height:1.7}.success-inviter{display:inline-flex;flex-direction:column;background:var(--n-50);border-radius:12px;padding:11px 22px;margin-top:12px}.success-inviter span{font-size:0.6875rem;color:var(--n-400)}.success-inviter strong{font-size:0.8125rem}

/* Public progress */
.progress-body{min-height:100vh;background:radial-gradient(circle at 80% 5%,rgba(77,151,251,.28),transparent 30%),linear-gradient(145deg,var(--n-700),var(--b-600));color:var(--n-0)}.progress-body main{max-width:980px}.progress-header{text-align:center;padding:20px 0 30px}.progress-header p{letter-spacing:.06em;font-size:0.6875rem;font-weight:650;color:rgba(255,255,255,.6);margin:30px 0 8px}.progress-header h1{font-size:2.5rem;font-weight:650;letter-spacing:-.025em}.generation-pill{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:8px 18px;font-size:0.8125rem;font-weight:650;margin-top:8px}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.progress-summary div{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:18px}.progress-summary span{display:block;font-size:0.6875rem;color:rgba(255,255,255,.6)}.progress-summary strong{font-size:1.5rem}.public-progress-list{background:var(--n-0);color:var(--lx-text);border-radius:20px;padding:12px 22px;box-shadow:0 25px 80px rgba(0,0,0,.18)}.public-progress-list article{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) 55px;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--lx-border)}.public-progress-list article:last-child{border-bottom:0}.progress-person{display:flex;align-items:center;gap:12px}.progress-person strong,.progress-person span{display:block}.progress-person strong{font-size:0.8125rem}.progress-person span{font-size:0.6875rem;color:var(--n-400)}.progress-track{height:9px;background:var(--n-100);border-radius:10px;overflow:hidden}.progress-track span{height:100%;display:block;background:linear-gradient(90deg,var(--lx-blue),var(--b-400));border-radius:10px}.progress-percent{text-align:right;font-size:0.75rem}.privacy-note{text-align:center;color:rgba(255,255,255,.6);font-size:0.6875rem;margin-top:18px}

@media(max-width:1199px){.stats-grid{grid-template-columns:repeat(2,1fr)}.generation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991px){.login-shell{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;transform:translateX(-105%);transition:.25s ease}.sidebar.open{transform:translateX(0)}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(20,23,28,.45);z-index:1030}.content-area{padding:22px}.topbar{padding:0 20px}.dashboard-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}}
@media(max-width:767px){.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:16px}.stat-card strong{font-size:1.25rem}.page-head{align-items:flex-start;flex-direction:column}.generation-grid,.settings-grid{grid-template-columns:1fr}.registration-heading{align-items:flex-start;flex-direction:column}.registration-heading h1{font-size:2rem}.inviter-card{width:100%}.public-container{padding-top:28px}.public-form-card{padding:18px;border-radius:20px}.step em{display:none}.stepper{padding:0 15px}.upload-zone{align-items:flex-start;flex-wrap:wrap}.upload-zone input{margin-left:0;width:100%;max-width:none}.progress-summary{grid-template-columns:1fr}.public-progress-list article{grid-template-columns:1fr 50px}.public-progress-list .progress-track{grid-column:1/-1;grid-row:2}.success-card{padding:35px 22px}.detail-list{grid-template-columns:1fr}}
@media(max-width:520px){.stats-grid{grid-template-columns:1fr}.topbar-kicker{display:none}.content-area{padding:16px}.topbar{height:72px}.public-progress-list{padding:8px 16px}.public-progress-list article{gap:10px}.form-navigation .btn{font-size:0.75rem;padding:.75rem}.brand-word{font-size:1.25rem}}

/* Tablas responsivas sin desplazamiento horizontal
   En móvil cada registro se presenta como una tarjeta con sus etiquetas. */
@media(max-width:767px){
  .table-responsive{
    overflow:visible!important;
  }

  .mobile-card-table,
  .mobile-card-table tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  .mobile-card-table{
    border-collapse:separate!important;
    border-spacing:0!important;
    table-layout:fixed!important;
  }

  .mobile-card-table colgroup,
  .mobile-card-table thead{
    display:none!important;
  }

  .mobile-card-table tbody{
    padding:0;
  }

  .surface-body.flush .mobile-card-table tbody{
    padding:12px;
  }

  .mobile-card-table tbody tr{
    display:block!important;
    width:100%!important;
    margin:0 0 12px!important;
    padding:7px 12px!important;
    background:var(--n-0)!important;
    border:1px solid var(--lx-border)!important;
    border-radius:16px!important;
    box-shadow:0 8px 24px rgba(20,23,28,.045)!important;
    overflow:hidden!important;
  }

  .mobile-card-table tbody tr:last-child{
    margin-bottom:0!important;
  }

  .mobile-card-table tbody tr:hover{
    background:var(--n-0)!important;
  }

  .mobile-card-table tbody td{
    display:grid!important;
    grid-template-columns:minmax(105px,38%) minmax(0,1fr)!important;
    align-items:start!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:.72rem .15rem!important;
    border:0!important;
    border-bottom:1px solid var(--n-100)!important;
    white-space:normal!important;
    text-align:right!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .mobile-card-table tbody td:last-child{
    border-bottom:0!important;
  }

  .mobile-card-table tbody td::before{
    content:attr(data-label);
    color:var(--n-400);
    font-size:0.6875rem;
    font-weight:650;
    letter-spacing:.055em;
    line-height:1.35;
    text-align:left;
    text-transform:uppercase;
  }

  .mobile-card-table tbody td > *{
    min-width:0;
  }

  .mobile-card-table .progress-cell,
  .mobile-card-table .mini-progress{
    width:100%;
    min-width:0;
  }

  .mobile-card-table .table-actions-cell{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:7px!important;
    padding-top:.8rem!important;
  }

  .mobile-card-table .table-actions-cell::before,
  .mobile-card-table .table-empty-cell::before{
    display:none!important;
  }

  .mobile-card-table .table-empty-cell{
    display:block!important;
    padding:1.25rem .5rem!important;
    text-align:center!important;
    border-bottom:0!important;
  }

  .data-card{
    padding:14px;
  }

  .dt-container .dt-layout-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    width:100%!important;
    margin:.45rem 0!important;
  }

  .dt-container .dt-layout-cell{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  .dt-container .dt-search,
  .dt-container .dt-length,
  .dt-container .dt-info{
    width:100%!important;
    text-align:left!important;
  }

  .dt-container .dt-search label,
  .dt-container .dt-length label{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    width:100%!important;
  }

  .dt-container .dt-search input,
  .dt-container .dt-length select{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  .dt-container .dt-info{
    text-align:center!important;
  }

  .dt-container .dt-paging{
    display:flex!important;
    justify-content:center!important;
    width:100%!important;
    overflow:hidden!important;
  }

  .dt-container .dt-paging nav{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
  }
}

@media(max-width:420px){
  .mobile-card-table tbody td{
    grid-template-columns:minmax(88px,35%) minmax(0,1fr)!important;
    gap:9px!important;
  }

  .mobile-card-table tbody tr{
    padding-left:10px!important;
    padding-right:10px!important;
  }
}

/* Seguimiento de llamadas de confirmación */
.confirmation-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.15rem;
    margin-bottom: 1rem;
    padding: .8rem 1rem;
    border: 1px solid var(--border-color, var(--n-100));
    border-radius: 12px;
    background: var(--n-25);
    font-size:0.75rem;
    color: var(--n-500);
}
.confirmation-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.confirmation-indicator {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    min-width: 190px;
}
.confirmation-indicator > i {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    background: var(--b-50);
    color: var(--b-400);
}
.confirmation-indicator div { display: flex; flex-direction: column; line-height: 1.25; }
.confirmation-indicator strong { font-size:0.75rem; font-weight:650; color: var(--n-800); }
.confirmation-indicator span,
.confirmation-indicator small { font-size:0.6875rem; color: var(--n-500); }
.confirmation-success > i { background: var(--g-50); color: var(--g-700); }
.confirmation-warning > i { background: var(--a-50); color: var(--a-700); }
.confirmation-danger > i { background: var(--r-50); color: var(--r-500); }
.confirmation-muted > i { background: var(--n-100); color: var(--n-500); }
.confirmation-row-warning td:first-child { box-shadow: inset 4px 0 0 var(--a-500); }
.confirmation-row-danger td:first-child { box-shadow: inset 4px 0 0 var(--r-500); }
.confirmation-row-warning { background: rgba(217,138,11,.035); }
.confirmation-row-danger { background: rgba(224,66,79,.035); }
.stat-card-alert { cursor: pointer; }
.stat-card-alert .stat-icon { background: var(--r-50); color: var(--r-500); }

.confirmation-panel { overflow: hidden; }
.confirmation-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.confirmation-panel-head h4 { margin-bottom: .2rem; }
.confirmation-panel-head p { margin: 0; color: var(--n-500); font-size:0.75rem; }
.call-timeline { display: grid; gap: .7rem; margin-bottom: 1rem; }
.call-timeline-item {
    display: flex;
    gap: .75rem;
    padding: .8rem;
    border: 1px solid var(--n-150);
    border-radius: 12px;
    background: var(--n-25);
}
.call-number {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    font-weight:650;
    background: var(--b-50);
    color: var(--b-400);
}
.call-content { flex: 1; min-width: 0; }
.call-content > div { display: flex; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.call-item-head { align-items: flex-start; }
.call-item-head > div:first-child { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.edit-confirmation-call { display: inline-flex; align-items: center; gap: .35rem; flex: 0 0 auto; }
.edit-confirmation-call span { color: inherit; font-size:0.75rem; }
.call-content strong { font-size:0.8125rem; }
.call-content span,
.call-content small { color: var(--n-500); font-size:0.75rem; }
.call-content p { margin: .3rem 0; color: var(--n-600); font-size:0.75rem; white-space: pre-wrap; }
.call-confirmed { border-color: var(--n-200); background: var(--n-25); }
.call-confirmed .call-number { background: var(--g-50); color: var(--g-700); }
.call-no_answer { border-color: var(--a-200); background: var(--n-25); }
.call-no_answer .call-number { background: var(--a-50); color: var(--a-700); }
.call-not_attending { border-color: var(--r-200); background: var(--n-25); }
.call-not_attending .call-number { background: var(--r-50); color: var(--r-500); }
.call-invitation_sent { border-color: var(--b-200); background: var(--n-25); }
.call-invitation_sent .call-number { background: var(--b-50); color: var(--b-500); }
.call-invitation_rejected { border-color: var(--r-200); background: var(--n-25); }
.call-invitation_rejected .call-number { background: var(--r-50); color: var(--r-500); }
.empty-call-state {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: 1rem;
    border: 1px dashed var(--n-200);
    border-radius: 12px;
    color: var(--n-500);
    font-size:0.75rem;
}
.confirmation-call-form {
    padding-top: 1rem;
    border-top: 1px solid var(--n-100);
}
.workshop-history { display: grid; gap: .7rem; }
.workshop-history > div { display: flex; gap: .7rem; align-items: flex-start; }
.workshop-history i {
    margin-top: .15rem;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--b-50);
    color: var(--b-400);
}
.workshop-history p { display: flex; flex-direction: column; margin: 0; font-size:0.75rem; }
.workshop-history span { color: var(--n-600); }
.workshop-history small { color: var(--n-500); margin-top: .2rem; }

@media (max-width: 767.98px) {
    .confirmation-panel-head { flex-direction: column; }
    .confirmation-panel-head .confirmation-indicator { width: 100%; }
    .confirmation-indicator { min-width: 0; }
    .confirmation-legend { display: grid; grid-template-columns: 1fr 1fr; }
    .edit-confirmation-call span { display: none; }
}

/* Filtros avanzados reutilizables */
.filter-trigger {
    white-space: nowrap;
    border: 1px solid var(--n-150);
    background: var(--n-0);
    color: var(--n-600);
}
.filter-trigger:hover {
    border-color: var(--n-300);
    background: var(--n-25);
}
.filter-trigger.has-filters {
    border-color: var(--r-100);
    background: var(--r-50);
    color: var(--r-700);
}
.filter-count {
    display: inline-grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    margin-left: 5px;
    border-radius: 999px;
    background: var(--n-600);
    color: var(--n-0);
    font-size:0.6875rem;
    font-weight:650;
}
.filter-trigger.has-filters .filter-count { background: var(--r-500); }
.active-filter-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--n-100);
}
.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    max-width: 100%;
    border: 1px solid var(--b-100);
    border-radius: 999px;
    padding: .42rem .7rem;
    background: var(--b-50);
    color: var(--n-600);
    font-size:0.75rem;
    font-weight: 700;
    line-height: 1.2;
}
.filter-chip span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.filter-chip i { color: var(--n-400); }
.filter-chip:hover {
    border-color: var(--r-200);
    background: var(--r-50);
    color: var(--r-700);
}
.advanced-filter-intro {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--n-150);
    border-radius: 16px;
    background: var(--n-25);
}
.advanced-filter-intro > div:first-child {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--b-50);
    color: var(--b-500);
}
.advanced-filter-intro strong { display: block; font-size:0.875rem; color: var(--n-800); }
.advanced-filter-intro p { margin: .2rem 0 0; color: var(--n-500); font-size:0.75rem; }
.advanced-filter-rows { display: grid; gap: .75rem; }
.filter-rule {
    display: grid;
    grid-template-columns: minmax(180px,1fr) minmax(170px,.85fr) minmax(220px,1.2fr) 38px;
    align-items: end;
    gap: .75rem;
    padding: .9rem;
    border: 1px solid var(--n-150);
    border-radius: 12px;
    background: var(--n-0);
}
.filter-rule .form-label {
    margin-bottom: .35rem;
    color: var(--n-500);
    font-size:0.6875rem;
    font-weight:650;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.filter-remove {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 10px;
    background: var(--n-25);
    color: var(--n-400);
}
.filter-remove:hover { background: var(--r-50); color: var(--r-700); }
.filter-value-placeholder {
    min-height: 38px;
    display: flex;
    align-items: center;
    padding: 0 .8rem;
    border: 1px dashed var(--n-200);
    border-radius: 10px;
    color: var(--n-400);
    font-size:0.75rem;
    background: var(--n-25);
}
.filter-between-values {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: .5rem;
}
.filter-between-values > span { color: var(--n-400); font-size:0.75rem; }
.filter-empty-state {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: 2rem;
    border: 1px dashed var(--n-200);
    border-radius: 16px;
    background: var(--n-25);
    color: var(--n-500);
    text-align: center;
}
.filter-empty-state i { margin-bottom: .3rem; color: var(--n-400); font-size:1.75rem; }
.filter-empty-state strong { color: var(--n-700); font-size:0.875rem; }
.filter-empty-state span { font-size:0.75rem; }
.advanced-filter-footer { background: var(--n-25); }
.dt-container .dt-search input {
    min-width: 240px;
    padding-left: .85rem;
}

@media (max-width: 767.98px) {
    .page-actions .filter-trigger,
    .page-actions #registrationStatusFilter {
        flex: 1 1 auto;
    }
    .advanced-filter-intro {
        grid-template-columns: auto minmax(0,1fr);
    }
    .advanced-filter-intro > button {
        grid-column: 1 / -1;
        width: 100%;
    }
    .filter-rule {
        grid-template-columns: 1fr;
        gap: .65rem;
        padding: .8rem;
    }
    .filter-remove {
        width: 100%;
        height: 36px;
    }
    .filter-between-values { grid-template-columns: 1fr; }
    .filter-between-values > span { display: none; }
    .advanced-filter-footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .5rem;
    }
    .advanced-filter-footer .btn-link {
        grid-column: 1 / -1;
        margin: 0!important;
        order: 3;
    }
    .dt-container .dt-search input { min-width: 0; }
}

/* Participant autocomplete (Select2) */
.select2-container { width: 100% !important; }
.select2-container .select2-selection--single {
    min-height: 46px;
    display: flex;
    align-items: center;
    border: 1px solid var(--n-150);
    border-radius: 12px;
    background: var(--n-0);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    width: 100%;
    padding: .68rem 2.4rem .68rem .85rem;
    color: var(--lx-text);
    line-height: 1.25;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--n-400); }
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    right: .6rem;
    transform: translateY(-50%);
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--b-300);
    box-shadow: 0 0 0 .2rem rgba(15,99,214,.09);
}
.select2-dropdown {
    overflow: hidden;
    border: 1px solid var(--n-150);
    border-radius: 12px;
    box-shadow: 0 16px 45px rgba(20,23,28,.16);
}
.select2-search--dropdown { padding: .65rem; }
.select2-search--dropdown .select2-search__field {
    min-height: 42px;
    padding: .55rem .75rem;
    border: 1px solid var(--n-150) !important;
    border-radius: 10px;
    outline: none;
}
.select2-results__option { padding: .7rem .85rem; font-size:0.875rem; }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--b-600); }

/* Generation identity and leadership */
.generation-form-note{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;margin-bottom:20px;border:1px solid var(--b-100);background:var(--b-50);border-radius:16px;color:var(--b-700)}.generation-form-note>i{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--b-100);color:var(--b-500);flex:0 0 auto}.generation-form-note strong{display:block;color:var(--n-700)}.generation-form-note p{margin:3px 0 0;font-size:0.875rem}.form-section-title{display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid var(--n-100);color:var(--n-700);font-weight:650}.form-section-title i{color:var(--b-500)}.pl-date-card{height:100%;padding:16px;border:1px solid var(--n-150);background:var(--n-0);border-radius:16px}.pl-date-card>strong{display:inline-flex;margin-bottom:12px;padding:5px 10px;border-radius:999px;background:var(--b-50);color:var(--b-600);font-size:0.8125rem;letter-spacing:.05em}.generation-workshop-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.generation-workshop-summary span{padding:9px 10px;border-radius:12px;background:var(--n-25);color:var(--n-500);font-size:0.75rem;line-height:1.35}.generation-workshop-summary strong{display:block;color:var(--b-600);font-size:0.75rem;margin-bottom:2px}.generation-metrics .metric-name{font-size:0.8125rem;line-height:1.25;overflow-wrap:anywhere}.detail-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border-radius:20px;background:linear-gradient(135deg,var(--b-50),var(--b-50));border:1px solid var(--b-100)}.detail-hero h3{margin:4px 0;font-weight:650;color:var(--n-700)}.detail-hero p{margin:0;color:var(--n-500)}.detail-eyebrow{font-size:0.75rem;font-weight:650;letter-spacing:.06em;color:var(--b-500)}.vision-statement{display:flex;gap:18px;margin-top:22px;padding:22px;border-radius:20px;background:var(--n-800);color:var(--n-0)}.vision-statement>i{font-size:1.25rem;color:var(--b-300)}.vision-statement span{font-size:0.75rem;font-weight:650;letter-spacing:.06em;color:var(--n-300)}.vision-statement p{margin:6px 0 0;font-size:1rem;line-height:1.7}.generation-date-grid,.leadership-count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.generation-date-grid>div,.leadership-count-grid>div{padding:18px;border:1px solid var(--n-150);border-radius:16px;background:var(--n-0)}.generation-date-grid span,.leadership-count-grid span{display:block;color:var(--n-500);font-size:0.75rem;font-weight:650;letter-spacing:.08em}.generation-date-grid strong{display:block;margin-top:7px;color:var(--n-700);font-size:0.875rem}.leadership-count-grid{grid-template-columns:repeat(2,minmax(0,220px));margin-top:18px}.leadership-count-grid>div{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px}.leadership-count-grid i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--b-50);color:var(--b-600)}.leadership-count-grid strong{font-size:1.25rem;color:var(--n-700)}.person-chip-list{display:flex;flex-wrap:wrap;gap:10px}.person-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--n-150);border-radius:12px;background:var(--n-0)}.person-chip>i{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--b-50);color:var(--b-500)}.person-chip span{display:flex;flex-direction:column}.person-chip strong{font-size:0.875rem;color:var(--n-700)}.person-chip small{font-size:0.6875rem;color:var(--n-500)}.person-chip-featured{border-color:var(--n-300);background:var(--a-50)}.person-chip-featured>i{background:var(--a-100);color:var(--a-700)}.text-preline{white-space:pre-line}.detail-long-text{line-height:1.75;color:var(--n-600)}.leadership-history{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.leadership-history-item{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--n-150);border-radius:12px}.leadership-history-item>div{display:flex;flex-direction:column}.leadership-history-item strong{color:var(--n-700)}.leadership-history-item small{color:var(--n-500)}.role-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;font-size:0.6875rem;font-weight:650;white-space:nowrap;background:var(--b-50);color:var(--b-600)}.role-pill.role-archangel{background:var(--a-100);color:var(--a-700)}
.select2-container--default .select2-selection--multiple{min-height:42px;border-color:var(--n-200);border-radius:.65rem;padding:3px 5px}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:var(--b-300);box-shadow:0 0 0 .2rem rgba(22,119,242,.12)}
@media (max-width:767.98px){.generation-workshop-summary,.generation-date-grid{grid-template-columns:1fr}.leadership-count-grid{grid-template-columns:1fr}.detail-hero{align-items:flex-start;flex-direction:column}.detail-hero .btn{width:100%}.vision-statement{padding:18px}.generation-form-note{padding:14px}.person-chip{width:100%}.leadership-history{grid-template-columns:1fr}}
.leadership-history-inactive{opacity:.58;background:var(--n-25)}.leadership-history-inactive .role-pill{filter:grayscale(.7)}

/* Catálogo de estiramientos */
.settings-catalog-card{grid-column:1/-1}.catalog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.catalog-head h4{margin-bottom:5px}.catalog-head p{margin:0;max-width:700px}.catalog-add{display:flex;gap:10px;min-width:min(100%,460px)}.catalog-add .form-control{min-width:220px}.catalog-list{display:grid;gap:9px}.catalog-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--lx-border);border-radius:12px;padding:12px 14px;background:var(--n-25)}.catalog-row-inactive{opacity:.68;background:var(--n-50)}.catalog-row-main,.catalog-row-actions{display:flex;align-items:center;gap:11px}.catalog-row-main strong,.catalog-row-main small{display:block}.catalog-row-main strong{font-size:0.75rem}.catalog-row-main small{color:var(--n-400);font-size:0.6875rem;margin-top:2px}.catalog-grip{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:var(--n-100);color:var(--n-400)}.catalog-row-actions .btn{width:34px;height:34px;padding:0;display:grid;place-items:center}.catalog-empty{min-height:110px;border:1px dashed var(--n-200);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--n-400)}.catalog-empty i{font-size:1.25rem}
@media (max-width:767.98px){.catalog-head{flex-direction:column}.catalog-add{width:100%;min-width:0;flex-direction:column}.catalog-add .form-control{min-width:0}.catalog-row{align-items:flex-start}.catalog-row-actions{flex-wrap:wrap;justify-content:flex-end}.settings-catalog-card{padding:15px}}

/* Fusión -> PL conversion and PL collection */
.profile-incomplete-badge,
.converted-pl-badge {
  display:inline-flex; align-items:center; gap:5px; margin-left:8px; padding:3px 8px;
  border-radius:999px; font-size:0.6875rem; font-weight:650; vertical-align:middle;
}
.profile-incomplete-badge { background:var(--a-100); color:var(--a-700); }
.converted-pl-badge { background:var(--g-50); color:var(--g-700); }
.conversion-callout {
  display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px;
  margin-bottom:18px; border:1px solid var(--b-100); border-radius:16px; background:linear-gradient(135deg,var(--b-50),var(--b-50));
}
.conversion-callout>div { display:flex; align-items:center; gap:14px; }
.conversion-callout>div>i { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--n-0); color:var(--lx-blue); box-shadow:0 8px 20px rgba(15,99,214,.12); }
.conversion-callout strong,.conversion-callout span { display:block; }
.conversion-callout span { margin-top:3px; color:var(--lx-muted); font-size:0.875rem; }
.conversion-source-card { padding:17px 18px; border:1px solid var(--lx-border); border-radius:16px; background:var(--n-25); }
.conversion-source-card>div { display:flex; gap:14px; align-items:center; }
.conversion-source-card small { color:var(--lx-blue); letter-spacing:.06em; font-weight:650; }
.conversion-source-card h4 { margin:2px 0 3px; font-size:1rem; }
.conversion-source-card p { margin:0; color:var(--lx-muted); font-size:0.875rem; line-height:1.55; }
.conversion-icon { min-width:46px; height:46px; display:grid; place-items:center; border-radius:12px; color:var(--n-0); background:linear-gradient(135deg,var(--lx-blue),var(--b-400)); }
.profile-pending-note { height:42px; display:flex; align-items:center; gap:9px; padding:0 12px; border-radius:12px; background:var(--a-50); color:var(--a-700); font-size:0.8125rem; font-weight:700; }
.pl-balance-preview { min-height:42px; display:flex; align-items:center; padding:0 14px; border-radius:12px; background:var(--b-50); color:var(--b-700); font-size:1rem; font-weight:650; }
.pl-commitment { display:flex; align-items:center; gap:9px; min-width:150px; }
.pl-commitment>i { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; }
.pl-commitment strong,.pl-commitment small { display:block; }
.pl-commitment strong { font-size:0.75rem; }
.pl-commitment small { margin-top:2px; color:var(--lx-muted); font-size:0.6875rem; }
.pl-commitment-success>i { background:var(--g-50); color:var(--g-700); }
.pl-commitment-warning>i { background:var(--a-100); color:var(--a-700); }
.pl-commitment-danger>i { background:var(--r-50); color:var(--r-700); }
.pl-commitment-info>i { background:var(--b-50); color:var(--b-600); }
.pl-commitment-muted>i { background:var(--n-100); color:var(--n-500); }
.pl-overdue-row td { background:rgba(254,240,241,.45) !important; }
.fusion-origin-card { border-color:var(--b-100); background:linear-gradient(180deg,var(--n-0),var(--n-25)); }
.stat-card small { display:block; margin-top:4px; color:var(--lx-muted); font-size:0.75rem; font-weight:600; }

@media (max-width:767.98px){
  .conversion-callout { align-items:flex-start; flex-direction:column; }
  .conversion-callout .btn { width:100%; }
  .profile-incomplete-badge,.converted-pl-badge { margin-left:0; margin-top:5px; }
  .pl-commitment { min-width:0; }
}
.stat-card[data-go]{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.stat-card[data-go]:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,23,28,.09)}


/* Historial de generaciones del participante */
.generation-change-note{display:flex;align-items:flex-start;gap:13px;padding:14px 16px;border:1px solid var(--n-300);border-radius:12px;background:var(--a-50);color:var(--a-700)}.generation-change-note>i{display:grid;place-items:center;min-width:36px;height:36px;border-radius:10px;background:var(--a-100);color:var(--a-700)}.generation-change-note strong{display:block;color:var(--a-700)}.generation-change-note p{margin:3px 0 0;font-size:0.8125rem;line-height:1.5}.participant-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}.participant-metric-grid>div{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:15px;border:1px solid var(--n-150);border-radius:12px;background:var(--n-0)}.participant-metric-grid i{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--b-50);color:var(--b-600)}.participant-metric-grid span{color:var(--n-500);font-size:0.6875rem;font-weight:650;line-height:1.25}.participant-metric-grid strong{font-size:1.25rem;color:var(--n-700)}.detail-section-heading p{margin:4px 0 0;color:var(--n-500);font-size:0.8125rem}.generation-history-timeline{position:relative;display:grid;gap:12px;margin-top:16px}.generation-history-timeline:before{content:'';position:absolute;left:18px;top:18px;bottom:18px;width:2px;background:var(--n-150)}.generation-history-item{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px}.generation-history-marker{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border:4px solid var(--n-0);border-radius:50%;background:var(--b-100);color:var(--b-600);box-shadow:0 0 0 1px var(--n-150)}.generation-history-current .generation-history-marker{background:var(--g-50);color:var(--g-700);box-shadow:0 0 0 1px var(--n-300)}.generation-history-content{padding:13px 15px;border:1px solid var(--n-150);border-radius:12px;background:var(--n-0)}.generation-history-current .generation-history-content{border-color:var(--n-200);background:var(--n-0)}.generation-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.generation-history-head>div{display:flex;flex-direction:column;gap:3px}.generation-history-type{color:var(--b-500);font-size:0.6875rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.generation-history-head strong{color:var(--n-700)}.generation-history-content>small{display:block;margin-top:4px;color:var(--n-500);font-size:0.75rem}.generation-history-content p{margin:9px 0 0;padding:9px 11px;border-radius:10px;background:var(--n-25);color:var(--n-600);font-size:0.75rem}.generation-history-content em{display:block;margin-top:7px;color:var(--n-400);font-size:0.6875rem;font-style:normal}
@media (max-width:1199.98px){.participant-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767.98px){.participant-metric-grid{grid-template-columns:1fr}.participant-metric-grid>div{grid-template-columns:36px 1fr auto}.generation-history-head{align-items:flex-start}.generation-change-note{padding:13px}}

/* Enlace público: invitados abreviados y llamadas de confirmación */
.generation-public-options{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  height:100%;
  justify-content:center;
  padding:.55rem .8rem;
  border:1px solid var(--lx-border);
  border-radius:12px;
  background:var(--n-25);
}
.generation-public-options small{color:var(--n-500);line-height:1.45}
.generation-public-options #publicInviteesProgressOption{transition:opacity .2s ease}
.generation-public-options #publicInviteesProgressOption.is-disabled{opacity:.48}
.public-progress-help{
  margin:0 0 14px;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.82);
  font-size:0.75rem;
  text-align:center;
}
.public-progress-list{overflow:hidden}
.public-progress-item{display:block;border-bottom:1px solid var(--lx-border)}
.public-progress-item:last-child{border-bottom:0}
.public-progress-list .public-progress-item{display:block;padding:0}
.progress-overview{
  width:100%;
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) 55px;
  gap:20px;
  align-items:center;
  padding:16px 0;
  color:inherit;
}
button.progress-overview{
  border:0;
  background:transparent;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.public-progress-item.is-expandable .progress-overview{
  grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) 55px 28px;
  border-radius:12px;
  transition:background-color .18s ease;
}
.public-progress-item.is-expandable .progress-overview:hover,
.public-progress-item.is-expandable .progress-overview:focus-visible{background:var(--n-25)}
.public-progress-item.is-expandable .progress-overview:focus-visible{
  outline:3px solid rgba(22,119,242,.22);
  outline-offset:-3px;
}
.progress-person small{
  display:block;
  margin-top:3px;
  color:var(--n-400);
  font-size:0.6875rem;
}
.progress-chevron{
  width:10px;
  height:10px;
  border-right:2px solid var(--n-400);
  border-bottom:2px solid var(--n-400);
  transform:rotate(45deg);
  transition:transform .2s ease;
  justify-self:center;
  margin-top:-5px;
}
.progress-overview[aria-expanded="true"] .progress-chevron{
  transform:rotate(225deg);
  margin-top:5px;
}
.public-invitee-panel{
  margin:0 -10px 10px;
  padding:16px 18px 18px;
  border-top:1px dashed var(--n-200);
  border-radius:0 0 16px 16px;
  background:var(--n-25);
}
.public-invitee-panel[hidden]{display:none!important}
.public-invitee-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.public-invitee-heading strong,
.public-invitee-heading span{display:block}
.public-invitee-heading strong{font-size:0.75rem}
.public-invitee-heading span{color:var(--n-400);font-size:0.6875rem}
.public-invitee-count{
  min-width:30px;
  padding:5px 9px;
  border-radius:999px;
  background:var(--b-50);
  color:var(--lx-blue)!important;
  font-weight:650;
  text-align:center;
}
.public-invitee-list{display:grid;gap:8px}
.public-invitee-row{
  display:grid;
  grid-template-columns:minmax(120px,180px) 1fr;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--n-150);
  border-radius:12px;
  background:var(--n-0);
}
.public-invitee-row>strong{font-size:0.75rem}
.public-call-list{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
}
.public-call-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:28px;
  padding:4px 8px;
  border:1px solid var(--n-150);
  border-radius:999px;
  background:var(--n-50);
  color:var(--n-500);
  font-size:0.6875rem;
  line-height:1.15;
}
.public-call-status i{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--n-400);
}
.public-call-status>span{font-weight:650}
.public-call-status>strong{font-weight:600}
.call-status-confirmed{border-color:var(--g-100);background:var(--g-50);color:var(--g-700)}
.call-status-confirmed i{background:var(--g-500)}
.call-status-no_answer{border-color:var(--n-300);background:var(--a-50);color:var(--a-700)}
.call-status-no_answer i{background:var(--a-500)}
.call-status-not_attending{border-color:var(--r-200);background:var(--r-50);color:var(--r-700)}
.call-status-not_attending i{background:var(--r-500)}
.call-status-invitation_sent{border-color:var(--b-200);background:var(--b-50);color:var(--b-600)}
.call-status-invitation_sent i{background:var(--b-500)}
.call-status-invitation_rejected{border-color:var(--r-200);background:var(--r-50);color:var(--r-700)}
.call-status-invitation_rejected i{background:var(--r-500)}
.call-status-pending{border-color:var(--n-200);background:var(--n-50);color:var(--n-500)}
.public-invitee-empty{
  padding:16px;
  border:1px dashed var(--n-200);
  border-radius:12px;
  color:var(--n-400);
  font-size:0.6875rem;
  text-align:center;
}
@media(max-width:767px){
  .progress-overview,
  .public-progress-item.is-expandable .progress-overview{
    grid-template-columns:1fr 42px;
    gap:10px;
    padding:15px 0;
  }
  .progress-overview .progress-track{grid-column:1/-1;grid-row:2}
  .public-progress-item.is-expandable .progress-overview .progress-track{grid-column:1/-1}
  .public-progress-item.is-expandable .progress-percent{
    grid-column:2;
    grid-row:1;
    padding-right:18px;
  }
  .public-progress-item.is-expandable .progress-chevron{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    margin-right:2px;
  }
  .public-invitee-row{grid-template-columns:1fr}
  .public-call-list{justify-content:flex-start}
}
@media(max-width:520px){
  .public-invitee-panel{margin:0 -8px 8px;padding:14px 10px}
  .public-call-status{flex:1 1 calc(50% - 6px);border-radius:10px}
  .public-call-status>strong{white-space:normal}
}



/* Participantes inactivos: se conservan visibles para administración y reactivación. */
#participantsTable tbody tr.participant-row-inactive td{background:var(--n-25);color:var(--n-500)}
#participantsTable tbody tr.participant-row-inactive strong{color:var(--n-500)}
#participantsTable tbody tr.participant-row-inactive .mini-progress{opacity:.55}
#participantsTable tbody tr.participant-row-inactive:hover td{background:var(--n-50)}

/* Exportación y personalización de reportes */
.page-actions .dropdown-menu{min-width:190px;border:1px solid rgba(20,23,28,.10);border-radius:12px;padding:.45rem;box-shadow:0 16px 40px rgba(20,23,28,.14)}
.page-actions .dropdown-item{border-radius:10px;padding:.65rem .8rem;font-weight:600}
.page-actions .dropdown-item:hover{background:var(--n-50)}
.report-branding-card{min-height:100%}
.branding-preview{min-height:112px;border:1px dashed var(--n-200);border-radius:16px;background:var(--n-25);display:flex;align-items:center;justify-content:center;gap:.65rem;overflow:hidden;color:var(--n-500);padding:1rem;text-align:center}
.branding-preview i{font-size:1.5rem}
.branding-preview img{display:block;max-width:180px;max-height:82px;object-fit:contain}
.branding-preview-watermark{min-height:150px;background-image:linear-gradient(45deg,var(--n-50) 25%,transparent 25%),linear-gradient(-45deg,var(--n-50) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--n-50) 75%),linear-gradient(-45deg,transparent 75%,var(--n-50) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
.branding-preview-watermark img{max-width:220px;max-height:115px;opacity:.45}
@media (max-width:767.98px){.page-actions .dropdown{width:100%}.page-actions .dropdown>.btn{width:100%}.branding-preview img{max-width:150px}}

/* Barra compacta para módulos con tabla, selector de vista, filtros y exportación. */
.module-page-head{
  align-items:center;
}
.module-page-head>div:first-child{
  min-width:0;
  flex:1 1 auto;
}
.module-table-toolbar{
  display:grid;
  grid-template-columns:auto minmax(210px,240px) auto;
  align-items:center;
  justify-content:end;
  gap:10px;
  flex:0 0 auto;
  flex-wrap:nowrap;
}
.module-table-toolbar .dropdown{
  width:auto;
}
.module-table-toolbar .dropdown>.btn,
.module-table-toolbar>.btn{
  width:auto;
  min-height:42px;
  white-space:nowrap;
}
.module-table-toolbar .module-toolbar-select{
  width:100%;
  min-width:210px;
  max-width:240px;
  min-height:42px;
  margin:0;
}

@media(max-width:1100px){
  .module-page-head{
    align-items:flex-start;
  }
  .module-table-toolbar{
    grid-template-columns:auto minmax(190px,220px) auto;
  }
  .module-table-toolbar .module-toolbar-select{
    min-width:190px;
    max-width:220px;
  }
}

@media(max-width:767.98px){
  .module-page-head{
    gap:14px;
  }
  .module-table-toolbar{
    width:100%;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    justify-content:stretch;
    gap:8px;
  }
  .module-table-toolbar .module-toolbar-select{
    grid-column:1 / -1;
    grid-row:1;
    width:100%;
    min-width:0;
    max-width:none;
  }
  .module-table-toolbar .dropdown{
    grid-column:1;
    grid-row:2;
    width:100%;
  }
  .module-table-toolbar .dropdown>.btn{
    width:100%;
  }
  .module-table-toolbar>.filter-trigger{
    grid-column:2;
    grid-row:2;
    width:100%;
  }
}

@media(max-width:420px){
  .module-table-toolbar{
    grid-template-columns:1fr;
  }
  .module-table-toolbar .module-toolbar-select,
  .module-table-toolbar .dropdown,
  .module-table-toolbar>.filter-trigger{
    grid-column:1;
  }
  .module-table-toolbar .module-toolbar-select{grid-row:1}
  .module-table-toolbar .dropdown{grid-row:2}
  .module-table-toolbar>.filter-trigger{grid-row:3}
}

/* Ángel enrolador unificado: participantes PL + otras personas/orígenes */
.enroller-option{display:flex;align-items:center;gap:10px;padding:3px 0}.enroller-option-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:var(--b-50);color:var(--b-500)}.enroller-option strong,.enroller-option small{display:block}.enroller-option strong{font-size:0.8125rem;color:var(--n-700)}.enroller-option small{margin-top:2px;color:var(--n-400);font-size:0.6875rem}.other-person-add-grid{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(170px,1fr) minmax(170px,1fr) auto;gap:10px;align-items:center}.other-person-add-grid .btn{white-space:nowrap}
@media (max-width:1199.98px){.other-person-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.other-person-add-grid .btn{grid-column:1/-1}}
@media (max-width:767.98px){.other-person-add-grid{grid-template-columns:1fr}.other-person-add-grid .btn{grid-column:auto}}
.catalog-role-counts{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:5px}.catalog-role-counts span{display:inline-flex;align-items:center;gap:5px;font-size:0.6875rem;color:var(--n-500)}.catalog-role-counts i{font-size:0.6875rem;color:var(--b-600)}

/* Conversión Fusión -> PL: solo después de registrar asistencia */
.conversion-callout.conversion-pending{border-color:var(--n-150);background:var(--n-25)}.conversion-callout.conversion-pending>div>i{background:var(--n-100);color:var(--n-500)}.conversion-callout.conversion-pending strong{color:var(--n-600)}.conversion-callout.conversion-pending span{color:var(--n-500)}

/* Roles internos de generación */
.generation-role-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.generation-role-card{display:flex;gap:11px;align-items:center;padding:14px;border:1px solid var(--border,var(--n-150));border-radius:12px;background:var(--n-0);min-width:0}
.generation-role-card.has-person{background:var(--n-25)}
.generation-role-icon{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--b-50);color:var(--b-400);flex:0 0 auto}
.generation-role-card>div{min-width:0;display:flex;flex-direction:column}
.generation-role-card small{font-size:0.6875rem;letter-spacing:.045em;color:var(--n-500);font-weight:700}
.generation-role-card strong{font-size:0.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.generation-role-card span:not(.generation-role-icon){font-size:0.75rem;color:var(--n-400)}
@media (max-width:1199px){.generation-role-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.generation-role-detail-grid{grid-template-columns:1fr 1fr}.generation-role-card{padding:12px}.generation-role-help{font-size:0.8125rem}}
@media (max-width:430px){.generation-role-detail-grid{grid-template-columns:1fr}}

/* Usuarios y perfiles: editor visual de accesos */
.access-profiles-section{
  margin-bottom:24px;
  padding:20px;
  background:var(--n-0);
  border:1px solid var(--lx-border);
  border-radius:var(--lx-radius);
  box-shadow:0 8px 26px rgba(20,23,28,.035);
}
.access-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.access-section-head>div:first-child>span,.users-section-head span{
  display:block;
  margin-bottom:4px;
  color:var(--lx-blue);
  font-size:0.6875rem;
  font-weight:650;
  letter-spacing:.06em;
}
.access-section-head h3,.users-section-head h3{
  margin:0;
  font-size:1rem;
  font-weight:650;
  letter-spacing:-.025em;
}
.access-section-head p{
  max-width:720px;
  margin:5px 0 0;
  color:var(--lx-muted);
  font-size:0.75rem;
}
.access-section-tip{
  max-width:360px;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px 12px;
  border-radius:12px;
  background:var(--n-50);
  color:var(--n-500);
  font-size:0.6875rem;
  line-height:1.45;
}
.access-section-tip i{color:var(--lx-blue);margin-top:2px}
.access-role-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.access-role-card{
  min-width:0;
  padding:16px;
  border:1px solid var(--lx-border);
  border-radius:16px;
  background:var(--n-25);
}
.access-role-card-protected{background:var(--b-50);border-color:var(--b-100)}
.access-role-card-head{display:flex;align-items:flex-start;gap:12px;min-height:73px}
.access-role-icon{
  width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:12px;background:var(--b-50);color:var(--lx-blue)
}
.access-role-heading{min-width:0;flex:1}
.access-role-name-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.access-role-name-row>strong{font-size:0.8125rem;color:var(--n-800)}
.access-role-type{
  padding:3px 7px;border-radius:20px;background:var(--n-100);color:var(--n-500);
  font-size:0.6875rem;font-weight:650;text-transform:uppercase;letter-spacing:.045em
}
.access-role-card-protected .access-role-type{background:var(--b-100);color:var(--lx-blue)}
.access-role-heading p{margin:5px 0 0;color:var(--n-400);font-size:0.6875rem;line-height:1.45}
.access-role-metrics{
  display:flex;gap:14px;margin:13px 0;padding:10px 0;
  border-top:1px solid var(--n-100);border-bottom:1px solid var(--n-100);
  color:var(--n-400);font-size:0.6875rem
}
.access-role-metrics span{flex:1}
.access-role-metrics strong{color:var(--n-600);font-size:0.8125rem}
.users-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:4px 0 12px}
.role-empty-state{padding:28px;text-align:center;color:var(--n-400)}
.role-empty-state i{display:block;margin-bottom:8px;font-size:1.5rem;color:var(--n-400)}
.role-empty-state strong{font-size:0.75rem}
.role-modal-subtitle{color:var(--lx-muted);font-size:0.75rem}
.role-basic-fields{padding-bottom:18px;border-bottom:1px solid var(--lx-border)}
.role-permissions-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 0 14px
}
.role-permissions-kicker{display:block;color:var(--lx-blue);font-size:0.6875rem;font-weight:650;letter-spacing:.06em;margin-bottom:4px}
.role-permissions-head h6{margin:0;font-size:1rem;font-weight:650}
.role-permissions-head p{margin:4px 0 0;color:var(--lx-muted);font-size:0.75rem}
.role-permission-counter{
  min-width:105px;padding:9px 12px;border:1px solid var(--lx-border);border-radius:12px;
  background:var(--n-25);text-align:center
}
.role-permission-counter strong{display:block;color:var(--lx-blue);font-size:1.125rem;line-height:1.1}
.role-permission-counter span{display:block;margin-top:3px;color:var(--n-400);font-size:0.6875rem}
.role-permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.permission-module{
  overflow:hidden;border:1px solid var(--lx-border);border-radius:16px;background:var(--n-25);
  transition:border-color .18s ease,background .18s ease
}
.permission-module-active{border-color:var(--b-100);background:var(--n-25)}
.permission-module-head{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;
  padding:13px 14px
}
.permission-module-icon{
  width:37px;height:37px;display:grid;place-items:center;border-radius:10px;
  background:var(--n-100);color:var(--n-500)
}
.permission-module-active .permission-module-icon{background:var(--b-50);color:var(--lx-blue)}
.permission-module-copy strong{display:block;color:var(--n-700);font-size:0.75rem}
.permission-module-copy p{margin:3px 0 0;color:var(--n-400);font-size:0.6875rem;line-height:1.4}
.permission-module-switch{display:flex;align-items:center;gap:7px;margin:0;cursor:pointer;color:var(--n-500);font-size:0.6875rem;font-weight:650}
.permission-module-switch input{width:32px;height:18px;accent-color:var(--lx-blue)}
.permission-actions{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
  padding:0 14px 14px;transition:opacity .18s ease
}
.permission-actions-disabled{opacity:.42;pointer-events:none}
.permission-action{position:relative;margin:0;cursor:pointer}
.permission-action input{position:absolute;opacity:0;pointer-events:none}
.permission-action span{
  min-height:36px;display:flex;align-items:center;gap:7px;padding:8px 9px;
  border:1px solid var(--n-150);border-radius:10px;background:var(--n-0);color:var(--n-500);
  font-size:0.6875rem;font-weight:700;line-height:1.25
}
.permission-action span i{
  width:16px;height:16px;display:grid;place-items:center;border-radius:6px;
  background:var(--n-100);color:transparent;font-size:0.6875rem;flex:0 0 auto
}
.permission-action input:checked+span{border-color:var(--b-200);background:var(--b-50);color:var(--b-700)}
.permission-action input:checked+span i{background:var(--lx-blue);color:var(--n-0)}
.permission-readonly-note{
  grid-column:1/-1;display:flex;align-items:center;gap:7px;padding:7px 9px;
  border-radius:10px;background:var(--n-50);color:var(--n-400);font-size:0.6875rem
}
.role-protected-note{margin-top:14px;font-size:0.75rem;color:var(--n-600)}

@media(max-width:1199px){
  .access-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .access-section-head,.role-permissions-head{flex-direction:column;align-items:stretch}
  .access-section-tip{max-width:none}
  .access-role-grid,.role-permissions-grid{grid-template-columns:1fr}
  .role-permission-counter{display:flex;align-items:baseline;justify-content:center;gap:6px}
  .role-permission-counter strong,.role-permission-counter span{display:inline;margin:0}
  .permission-actions{grid-template-columns:1fr}
}

/* Recepción Fusión --------------------------------------------------------- */
.attendance-page-head{align-items:flex-end}
.attendance-kicker{
  margin:0 0 5px;color:var(--lx-blue);font-size:0.6875rem;font-weight:650;
  letter-spacing:.06em;text-transform:uppercase
}
.attendance-workshop-select{width:min(360px,100%);min-width:260px}
.attendance-workshop-card{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin-bottom:15px;padding:16px 18px;border:1px solid var(--b-100);border-radius:16px;
  background:var(--n-25)
}
.attendance-workshop-card>div:first-child{display:flex;align-items:flex-start;gap:12px;min-width:0}
.attendance-live-dot{
  width:10px;height:10px;margin-top:8px;border-radius:50%;background:var(--g-500);flex:0 0 auto;
  box-shadow:0 0 0 5px rgba(31,157,98,.11)
}
.attendance-workshop-card small{display:block;color:var(--n-500);font-size:0.6875rem;font-weight:650;letter-spacing:.06em}
.attendance-workshop-card h3{margin:2px 0 3px;color:var(--n-800);font-size:1rem;font-weight:650}
.attendance-workshop-card p{margin:0;color:var(--n-500);font-size:0.6875rem}
.attendance-workshop-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.attendance-workshop-meta span{
  display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:10px;
  background:var(--n-0);border:1px solid var(--n-150);color:var(--n-500);font-size:0.6875rem;font-weight:700
}
.attendance-workshop-meta i{color:var(--lx-blue)}
.attendance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px}
.attendance-stat{
  padding:13px 14px;border:1px solid var(--lx-border);border-radius:12px;background:var(--n-0)
}
.attendance-stat span{display:block;color:var(--n-400);font-size:0.6875rem;font-weight:650;letter-spacing:.08em}
.attendance-stat strong{display:block;margin-top:4px;color:var(--n-700);font-size:1.25rem;line-height:1}
.attendance-stat-success{background:var(--n-25);border-color:var(--n-200)}
.attendance-stat-success strong{color:var(--g-700)}
.attendance-stat-danger{background:var(--n-25);border-color:var(--n-150)}
.attendance-stat-danger strong{color:var(--r-500)}
.attendance-stat-pending{background:var(--n-25);border-color:var(--a-100)}
.attendance-stat-pending strong{color:var(--a-700)}
.attendance-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:10px;padding:10px 12px;border:1px solid var(--lx-border);border-radius:12px;background:var(--n-0)
}
.attendance-search{position:relative;flex:1;max-width:620px}
.attendance-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--n-400);font-size:0.75rem;z-index:1}
.attendance-search .form-control{padding-left:34px;border-color:transparent;background:var(--n-50)}
.attendance-count{white-space:nowrap;color:var(--n-400);font-size:0.6875rem}
.attendance-count strong{color:var(--n-600)}
.attendance-list{display:flex;flex-direction:column;gap:8px}
.attendance-row{
  display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(190px,.9fr) minmax(110px,.48fr) auto;
  align-items:center;gap:14px;padding:12px 13px;border:1px solid var(--lx-border);border-radius:12px;background:var(--n-0);
  transition:opacity .15s ease,border-color .15s ease,background .15s ease
}
.attendance-row-saving{opacity:.55;pointer-events:none}
.attendance-person{display:flex;align-items:center;gap:10px;min-width:0}
.attendance-avatar{
  width:37px;height:37px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;
  background:var(--b-50);color:var(--lx-blue);font-size:0.75rem;font-weight:650
}
.attendance-person>div:last-child{min-width:0}
.attendance-person strong{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--n-700);font-size:0.75rem;white-space:nowrap}
.attendance-person a{display:inline-flex;align-items:center;gap:5px;margin-top:3px;color:var(--n-500);font-size:0.6875rem;text-decoration:none}
.attendance-person a:hover{color:var(--lx-blue)}
.attendance-enroller{min-width:0}
.attendance-enroller small{display:block;color:var(--n-400);font-size:0.6875rem;font-weight:650;letter-spacing:.07em}
.attendance-enroller strong{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;color:var(--n-600);font-size:0.6875rem;white-space:nowrap}
.attendance-current{display:flex;justify-content:flex-start}
.attendance-state{
  display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;
  font-size:0.6875rem;font-weight:650;white-space:nowrap
}
.attendance-state-attended{background:var(--g-50);color:var(--g-700)}
.attendance-state-no-show{background:var(--r-50);color:var(--r-700)}
.attendance-state-pending{background:var(--n-50);color:var(--n-500)}
.attendance-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.attendance-action{
  min-width:84px;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:7px 10px;border:1px solid var(--n-150);border-radius:10px;background:var(--n-0);color:var(--n-500);
  font-size:0.6875rem;font-weight:650
}
.attendance-action:hover{background:var(--n-25);border-color:var(--n-200);color:var(--n-600)}
.attendance-action-arrived.active{border-color:var(--n-300);background:var(--g-50);color:var(--g-700)}
.attendance-action-no-show.active{border-color:var(--r-200);background:var(--r-50);color:var(--r-700)}
.attendance-action:disabled{opacity:.65}
.attendance-help{
  display:flex;align-items:flex-start;gap:8px;margin:13px 2px 0;color:var(--n-400);font-size:0.6875rem;line-height:1.45
}
.attendance-help i{margin-top:2px;color:var(--n-500)}
.attendance-empty,.attendance-no-results,.attendance-no-workshop{
  padding:36px 18px;text-align:center;color:var(--n-400)
}
.attendance-empty{border:1px dashed var(--n-200);border-radius:12px;background:var(--n-25)}
.attendance-empty i,.attendance-no-results i{display:block;margin-bottom:9px;color:var(--n-400);font-size:1.5rem}
.attendance-empty strong{display:block;color:var(--n-600);font-size:0.75rem}
.attendance-empty span,.attendance-no-results span{display:block;margin-top:4px;font-size:0.6875rem}
.attendance-no-workshop{
  max-width:620px;margin:40px auto;padding:44px 30px;border:1px solid var(--lx-border);border-radius:20px;background:var(--n-0)
}
.attendance-no-workshop-icon{
  width:58px;height:58px;display:grid;place-items:center;margin:0 auto 14px;border-radius:16px;
  background:var(--n-50);color:var(--n-400);font-size:1.25rem
}
.attendance-no-workshop h3{margin:0 0 7px;color:var(--n-700);font-size:1rem;font-weight:650}
.attendance-no-workshop p{margin:0 auto;max-width:470px;color:var(--n-500);font-size:0.75rem;line-height:1.55}
.attendance-no-workshop small{display:block;margin-top:12px;color:var(--n-400);font-size:0.6875rem}

@media(max-width:991px){
  .attendance-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) auto}
  .attendance-current{display:none}
  .attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .attendance-page-head{align-items:stretch}
  .attendance-workshop-select{width:100%;min-width:0}
  .attendance-workshop-card{align-items:flex-start;flex-direction:column}
  .attendance-workshop-meta{justify-content:flex-start}
  .attendance-toolbar{align-items:stretch;flex-direction:column}
  .attendance-search{max-width:none;width:100%}
  .attendance-count{align-self:flex-end}
  .attendance-row{grid-template-columns:1fr;gap:9px;padding:13px}
  .attendance-enroller{padding-left:47px}
  .attendance-enroller strong{white-space:normal}
  .attendance-actions{justify-content:stretch;padding-left:47px}
  .attendance-action{flex:1}
}
@media(max-width:420px){
  .attendance-stats{grid-template-columns:1fr 1fr}
  .attendance-actions,.attendance-enroller{padding-left:0}
}

/* Página pública de próximas fechas de Fusión */
.public-dates-body{min-height:100vh;display:flex;flex-direction:column;background:var(--n-50);color:var(--lx-text);font-family:var(--font)}.public-dates-body>main{flex:1 0 auto}.public-dates-footer{flex-shrink:0}.public-dates-nav{background:var(--n-0);border-bottom:1px solid var(--lx-border)}.public-dates-nav-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.public-dates-nav-inner>span{font-size:0.6875rem;letter-spacing:.06em;font-weight:650;color:var(--n-400)}.public-dates-brand{font-size:1.5rem;font-weight:650;letter-spacing:-.025em;text-decoration:none;color:var(--n-900)}.public-dates-brand span{color:var(--lx-blue)}.public-dates-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--n-800) 0%,var(--n-700) 58%,var(--b-500) 100%);color:var(--n-0);padding:82px 0 98px}.public-dates-hero:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;right:-90px;top:-190px;background:rgba(255,255,255,.08)}.public-dates-hero:after{content:"";position:absolute;width:310px;height:310px;border-radius:50%;right:16%;bottom:-230px;border:1px solid rgba(255,255,255,.16)}.public-dates-hero .container{position:relative;z-index:1}.public-dates-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:0.6875rem;letter-spacing:.06em;font-weight:650;color:rgba(255,255,255,.68);margin-bottom:18px}.public-dates-eyebrow:before{content:"";width:28px;height:2px;background:var(--n-0);border-radius:6px}.public-dates-hero h1{max-width:760px;margin:0;font-size:clamp(2.7rem,6vw,5.1rem);line-height:.98;font-weight:650;letter-spacing:-.025em}.public-dates-hero p{max-width:690px;margin:26px 0 0;color:rgba(255,255,255,.74);font-size:1rem;line-height:1.75}.public-dates-section{padding:56px 0 72px;margin-top:-34px;position:relative;z-index:2}.public-dates-grid{display:grid;gap:18px}.public-date-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:24px;align-items:center;background:var(--n-0);border:1px solid var(--n-150);border-radius:20px;padding:22px 26px;box-shadow:0 12px 38px rgba(20,23,28,.065)}.public-date-card.is-featured{border-color:var(--b-100);box-shadow:0 20px 52px rgba(12,79,172,.12)}.public-date-calendar{height:112px;border-radius:16px;background:var(--b-50);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--n-700)}.public-date-card.is-featured .public-date-calendar{background:var(--b-600);color:var(--n-0)}.public-date-calendar span{font-size:0.6875rem;font-weight:650;letter-spacing:.06em}.public-date-calendar strong{font-size:2rem;line-height:1;font-weight:650;margin:6px 0 4px}.public-date-calendar small{font-size:0.6875rem;font-weight:700;opacity:.7}.public-date-card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.public-date-status,.public-date-generation{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:0.6875rem;font-weight:650;letter-spacing:.02em}.public-date-status.is-upcoming{background:var(--b-50);color:var(--b-700)}.public-date-status.is-current{background:var(--g-50);color:var(--g-700)}.public-date-status.is-closed{background:var(--n-100);color:var(--n-500)}.public-date-generation{background:var(--n-50);color:var(--n-500)}.public-date-card h2{margin:0;font-size:1.25rem;font-weight:650;letter-spacing:-.025em}.public-date-range{margin:5px 0 15px;color:var(--n-600);font-size:0.9375rem;font-weight:600}.public-date-meta{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--n-500);font-size:0.75rem}.public-date-meta span{display:inline-flex;align-items:center;gap:7px}.public-date-meta svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}.public-dates-empty{background:var(--n-0);border:1px solid var(--lx-border);border-radius:20px;padding:70px 32px;text-align:center;box-shadow:0 12px 38px rgba(20,23,28,.06)}.public-dates-empty>span{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--b-50);color:var(--b-700);font-size:0.6875rem;font-weight:650;letter-spacing:.06em}.public-dates-empty h2{margin:18px 0 8px;font-weight:650;letter-spacing:-.025em}.public-dates-empty p{max-width:600px;margin:0 auto;color:var(--n-500);line-height:1.7}.public-dates-note{text-align:center;margin-top:24px;color:var(--n-400);font-size:0.6875rem}.public-dates-footer{background:var(--n-0);border-top:1px solid var(--lx-border);padding:28px 0}.public-dates-footer .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.public-dates-footer p{margin:0;color:var(--n-400);font-size:0.6875rem}
@media(max-width:767.98px){.public-dates-nav-inner{min-height:66px}.public-dates-hero{padding:60px 0 78px}.public-dates-hero p{font-size:0.875rem}.public-dates-section{padding:48px 0 58px}.public-date-card{grid-template-columns:86px minmax(0,1fr);gap:16px;padding:18px;border-radius:20px}.public-date-calendar{height:96px}.public-date-calendar strong{font-size:1.75rem}.public-date-card-topline{align-items:flex-start;flex-direction:column;gap:7px}.public-date-card h2{font-size:1.125rem}.public-date-range{font-size:0.8125rem}.public-date-meta{display:grid;gap:8px}.public-dates-footer .container{flex-direction:column;text-align:center;gap:5px}}
@media(max-width:430px){.public-date-card{grid-template-columns:1fr}.public-date-calendar{height:auto;min-height:76px;display:grid;grid-template-columns:auto auto auto;justify-content:start;gap:8px;padding:16px 18px}.public-date-calendar strong{font-size:1.5rem;margin:0}.public-date-calendar span,.public-date-calendar small{align-self:center}.public-dates-hero h1{font-size:2.5rem}}

/* Catálogo de canciones */
.song-catalog-add-grid{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(180px,1fr) minmax(150px,.7fr) auto;gap:10px;align-items:center}.song-catalog-meta{display:flex;gap:7px;margin-top:6px;flex-wrap:wrap}.song-type-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:0.6875rem;font-weight:650;background:var(--b-50);color:var(--b-600)}.song-type-stretching{background:var(--n-100);color:var(--g-700)}.song-type-lullaby{background:var(--v-50);color:var(--v-700)}.song-type-third_weekend{background:var(--a-50);color:var(--a-700)}.song-option strong,.song-option small{display:block}.song-option small{color:var(--n-400);font-size:0.75rem;margin-top:2px}
@media(max-width:991.98px){.song-catalog-add-grid{grid-template-columns:1fr 1fr}.song-catalog-add-grid .btn{width:100%}}
@media(max-width:575.98px){.song-catalog-add-grid{grid-template-columns:1fr}}

/* Editor administrativo de invitados Fusión */
.registration-editor-note{display:flex;gap:.85rem;align-items:flex-start;padding:1rem 1.1rem;border:1px solid var(--b-100);border-radius:12px;background:var(--n-25);color:var(--n-700)}
.registration-editor-note>i{margin-top:.15rem;color:var(--b-500)}
.registration-editor-note strong{display:block;margin-bottom:.2rem;color:var(--n-800)}
.registration-editor-note p{font-size:0.875rem;color:var(--n-500)}
#registrationEditorModal .select2-container{width:100%!important}

.registrations-toolbar .select2-container{min-width:190px;width:auto!important}
.registrations-toolbar .select2-container--default .select2-selection--single{height:46px;border:1px solid var(--n-200);border-radius:12px;background:var(--n-0);box-shadow:0 8px 20px rgba(20,23,28,.035)}
.registrations-toolbar .select2-container--default .select2-selection--single .select2-selection__rendered{height:44px;line-height:normal;display:flex;align-items:center;padding-left:13px;padding-right:36px;color:var(--n-700);font-size:0.875rem;font-weight:700}
.registrations-toolbar .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px;right:8px}
#registrationEditorModal .select2-container--default .select2-selection--single{height:42px;border:1px solid var(--n-200);border-radius:.65rem;background:var(--n-0)}
#registrationEditorModal .select2-container--default .select2-selection--single .select2-selection__rendered{height:40px;line-height:normal;display:flex;align-items:center;padding-left:.75rem;padding-right:34px}
#registrationEditorModal .select2-container--default .select2-selection--single .select2-selection__arrow{height:40px;right:6px}
@media(max-width:767.98px){.registration-editor-note{padding:.85rem}.registration-editor-note p{font-size:0.8125rem}}

/* Enrolados Fusión: alinea sus acciones sin saltos accidentales. */
.registrations-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:8px;
}
.registrations-toolbar>.btn,
.registrations-toolbar .dropdown>.btn,
.registrations-toolbar .module-toolbar-select{
  min-height:46px;
  margin:0;
}
.registrations-toolbar .module-toolbar-select{
  flex:0 0 210px;
  width:210px;
  min-width:210px;
  max-width:210px;
}
.registrations-toolbar>.filter-trigger{
  min-width:118px;
}

@media(max-width:1180px){
  .registrations-toolbar{
    width:min(100%,440px);
    flex-wrap:wrap;
  }
  .registrations-toolbar>#newRegistration,
  .registrations-toolbar>.dropdown,
  .registrations-toolbar>.module-toolbar-select,
  .registrations-toolbar>.filter-trigger{
    flex:1 1 calc(50% - 4px);
    width:auto;
    min-width:0;
    max-width:none;
  }
  .registrations-toolbar>.dropdown>.btn,
  .registrations-toolbar>#newRegistration,
  .registrations-toolbar>.filter-trigger{
    width:100%;
  }
}

@media(max-width:767.98px){
  .registrations-toolbar{
    width:100%;
  }
}

@media(max-width:460px){
  .registrations-toolbar{
    flex-direction:column;
    flex-wrap:nowrap;
  }
  .registrations-toolbar>#newRegistration,
  .registrations-toolbar>.dropdown,
  .registrations-toolbar>.module-toolbar-select,
  .registrations-toolbar>.filter-trigger{
    flex:0 0 auto;
    width:100%;
  }
}


/* Detalle de participante: invitados enrolados a Fusión */
.participant-invite-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.participant-invite-total{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;background:var(--b-50);color:var(--b-600);font-size:0.75rem;font-weight:650;white-space:nowrap}.participant-invite-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.participant-invite-summary>div{padding:12px 14px;border:1px solid var(--n-150);border-radius:12px;background:var(--n-25)}.participant-invite-summary span{display:block;color:var(--n-500);font-size:0.6875rem;font-weight:650}.participant-invite-summary strong{display:block;margin-top:2px;color:var(--n-700);font-size:1.125rem}.participant-invite-list{display:grid;gap:9px}.participant-invite-row{width:100%;display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(220px,1fr) auto 16px;align-items:center;gap:14px;padding:13px 14px;border:1px solid var(--n-150);border-radius:12px;background:var(--n-0);text-align:left;color:inherit;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.participant-invite-row:hover{border-color:var(--b-200);box-shadow:0 8px 22px rgba(20,23,28,.08);transform:translateY(-1px)}.participant-invite-main,.participant-invite-workshop{display:flex;min-width:0;flex-direction:column;gap:3px}.participant-invite-main strong,.participant-invite-workshop>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-invite-main small,.participant-invite-workshop small{color:var(--n-500);font-size:0.6875rem}.participant-invite-workshop small{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.participant-invite-destination{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:var(--b-50);color:var(--b-600);font-weight:650}.participant-invite-status{display:flex;align-items:flex-end;gap:5px;flex-direction:column}.participant-invite-status .converted-pl-badge{margin:0}.participant-invite-arrow{color:var(--n-400);font-size:0.75rem}.participant-invite-empty{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px dashed var(--n-200);border-radius:12px;background:var(--n-25);color:var(--n-500)}.participant-invite-empty>i{display:grid;place-items:center;min-width:38px;height:38px;border-radius:10px;background:var(--b-50);color:var(--b-500)}.participant-invite-empty strong{display:block;color:var(--b-700)}.participant-invite-empty p{margin:3px 0 0;font-size:0.75rem;line-height:1.5}
@media(max-width:991.98px){.participant-invite-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.participant-invite-row{grid-template-columns:1fr auto 14px}.participant-invite-workshop{grid-column:1/2}.participant-invite-status{grid-column:2;grid-row:1/3}.participant-invite-arrow{grid-column:3;grid-row:1/3}}
@media(max-width:575.98px){.participant-invite-heading{flex-direction:column}.participant-invite-summary{grid-template-columns:1fr 1fr}.participant-invite-row{grid-template-columns:1fr 14px;gap:9px}.participant-invite-status{grid-column:1;grid-row:auto;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.participant-invite-arrow{grid-column:2;grid-row:1/4}.participant-invite-main small{white-space:normal}.participant-invite-workshop>span{white-space:normal}.participant-invite-total{align-self:flex-start}}

/* Workspace dedicado para llamadas de confirmación */
.confirmation-workspace-head{align-items:center}.confirmation-workspace-kicker{font-size:0.6875rem!important;font-weight:650;letter-spacing:.06em;color:var(--lx-blue)!important;margin-bottom:.35rem!important}.confirmation-workspace-summary{display:flex;align-items:center;gap:12px;background:var(--n-0);border:1px solid var(--lx-border);border-radius:16px;padding:13px 16px;box-shadow:0 8px 24px rgba(20,23,28,.04)}.confirmation-workspace-summary>i{width:38px;height:38px;border-radius:12px;background:var(--b-50);color:var(--lx-blue);display:grid;place-items:center}.confirmation-workspace-summary span,.confirmation-workspace-summary strong{display:block}.confirmation-workspace-summary span{font-size:0.6875rem;font-weight:650;letter-spacing:.08em;color:var(--n-400)}.confirmation-workspace-summary strong{font-size:0.8125rem;margin-top:2px}.confirmation-filter-bar{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(220px,.9fr) minmax(220px,.9fr) auto;gap:12px;align-items:end;background:var(--n-0);border:1px solid var(--lx-border);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:0 8px 24px rgba(20,23,28,.035)}.confirmation-filter-bar label{display:block;font-size:0.6875rem;font-weight:650;color:var(--n-400);margin:0 0 5px}.confirmation-search-box{position:relative}.confirmation-search-box i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--n-400);z-index:1}.confirmation-search-box input{padding-left:42px}.confirmation-clear-filters{height:46px;white-space:nowrap}.confirmation-state-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.confirmation-state-filter{border:1px solid var(--lx-border);background:var(--n-0);color:var(--n-500);border-radius:12px;padding:8px 11px;display:inline-flex;align-items:center;gap:7px;font-size:0.75rem;font-weight:700}.confirmation-state-filter strong{min-width:22px;height:22px;padding:0 6px;border-radius:10px;background:var(--n-50);display:grid;place-items:center;font-size:0.6875rem}.confirmation-state-filter.active{border-color:var(--b-300);background:var(--b-50);color:var(--lx-blue)}.confirmation-state-filter.active strong{background:var(--b-100)}.confirmation-split-screen{display:grid;grid-template-columns:minmax(330px,38%) minmax(0,62%);grid-template-rows:minmax(0,1fr);height:calc(100vh - 335px);min-height:560px;background:var(--n-0);border:1px solid var(--lx-border);border-radius:20px;overflow:hidden;box-shadow:0 12px 38px rgba(20,23,28,.055)}.confirmation-list-pane{min-width:0;min-height:0;overflow:hidden;border-right:1px solid var(--lx-border);display:flex;flex-direction:column;background:var(--n-25)}.confirmation-list-heading{padding:16px 17px 12px;border-bottom:1px solid var(--lx-border);display:flex;align-items:center;justify-content:space-between;gap:10px}.confirmation-list-heading span,.confirmation-list-heading strong{display:block}.confirmation-list-heading span{font-size:0.6875rem;font-weight:650;letter-spacing:.06em;color:var(--n-400)}.confirmation-list-heading strong{font-size:0.8125rem;margin-top:2px}.confirmation-list-heading small{font-size:0.6875rem;color:var(--n-400)}.confirmation-call-list{padding:10px;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0;max-height:100%;overscroll-behavior:contain;scrollbar-width:thin}.confirmation-call-list.is-loading{opacity:.55;pointer-events:none}.confirmation-person-card{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:16px;padding:13px;margin:0 0 8px;color:inherit;transition:.16s ease}.confirmation-person-card:hover{background:var(--n-0);border-color:var(--n-150)}.confirmation-person-card.active{background:var(--n-0);border-color:var(--b-200);box-shadow:0 10px 28px rgba(15,99,214,.08)}.confirmation-person-card-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}.confirmation-person-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--b-500),var(--b-300));color:var(--n-0);display:grid;place-items:center;font-weight:650}.confirmation-person-main strong,.confirmation-person-main span{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confirmation-person-main strong{font-size:0.8125rem;color:var(--n-800)}.confirmation-person-main span{font-size:0.6875rem;color:var(--n-400);margin-top:3px}.confirmation-person-main span i{font-size:0.6875rem;margin-right:5px}.confirmation-work-state{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:5px 8px;font-size:0.6875rem;font-weight:650;white-space:nowrap}.confirmation-work-state-pending{background:var(--b-50);color:var(--b-500)}.confirmation-work-state-urgent{background:var(--a-50);color:var(--a-500)}.confirmation-work-state-confirmed{background:var(--g-50);color:var(--g-700)}.confirmation-work-state-negative{background:var(--r-50);color:var(--r-700)}.confirmation-work-state-completed,.confirmation-work-state-closed{background:var(--n-100);color:var(--n-500)}.confirmation-person-context{display:grid;gap:5px;margin:10px 0;color:var(--n-500);font-size:0.6875rem}.confirmation-person-context span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confirmation-person-context i{width:14px;margin-right:5px;color:var(--n-400)}.confirmation-person-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.confirmation-person-footer>strong{font-size:0.6875rem;color:var(--n-500);background:var(--n-100);border-radius:12px;padding:4px 7px}.confirmation-last-outcome{display:inline-flex;align-items:center;border-radius:10px;padding:4px 7px;font-size:0.6875rem;font-weight:700;background:var(--b-50);color:var(--n-500);max-width:235px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confirmation-last-outcome.muted{background:var(--n-100);color:var(--n-400)}.confirmation-last-outcome.outcome-confirmed{background:var(--g-50);color:var(--g-700)}.confirmation-last-outcome.outcome-not_attending,.confirmation-last-outcome.outcome-invitation_rejected{background:var(--r-50);color:var(--r-700)}.confirmation-last-outcome.outcome-invitation_sent{background:var(--b-50);color:var(--b-500)}.confirmation-detail-pane{min-width:0;min-height:0;overflow:auto;background:var(--n-0)}.confirmation-detail-placeholder,.confirmation-detail-loading,.confirmation-call-empty{height:100%;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--n-400);padding:28px}.confirmation-detail-placeholder i,.confirmation-call-empty i{width:58px;height:58px;border-radius:16px;background:var(--b-50);color:var(--b-400);display:grid;place-items:center;font-size:1.125rem;margin-bottom:14px}.confirmation-detail-placeholder strong,.confirmation-call-empty strong{font-size:0.875rem;color:var(--n-600)}.confirmation-detail-placeholder span,.confirmation-call-empty span,.confirmation-detail-loading span{font-size:0.6875rem;margin-top:5px}.confirmation-detail-loading{gap:11px}.confirmation-detail-shell{padding:20px}.confirmation-detail-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--lx-border)}.confirmation-detail-person{display:flex;align-items:center;gap:13px;min-width:0}.confirmation-detail-avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,var(--b-600),var(--b-300));color:var(--n-0);display:grid;place-items:center;font-weight:650;font-size:1.125rem;flex:0 0 auto}.confirmation-detail-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.confirmation-detail-title h2{font-size:1.125rem;font-weight:650;letter-spacing:-.025em;margin:0}.confirmation-contact-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.confirmation-contact-links a{font-size:0.6875rem;color:var(--n-500);text-decoration:none}.confirmation-contact-links a:hover{color:var(--lx-blue)}.confirmation-contact-links i{margin-right:5px}.confirmation-detail-progress{text-align:right;flex:0 0 auto}.confirmation-detail-progress span{display:block;font-size:0.6875rem;font-weight:650;color:var(--n-400);letter-spacing:.08em}.confirmation-detail-progress strong{font-size:1.25rem;color:var(--lx-navy)}.confirmation-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.confirmation-info-card{border:1px solid var(--lx-border);border-radius:12px;padding:12px;background:var(--n-25);min-width:0}.confirmation-info-card span,.confirmation-info-card strong,.confirmation-info-card small{display:block}.confirmation-info-card span{font-size:0.6875rem;font-weight:650;letter-spacing:.07em;color:var(--n-400)}.confirmation-info-card strong{font-size:0.75rem;margin:4px 0;color:var(--n-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confirmation-info-card small{font-size:0.6875rem;color:var(--n-500);line-height:1.4}.confirmation-detail-tools{display:flex;justify-content:flex-end;margin:-4px 0 10px}.confirmation-detail-section{border-top:1px solid var(--lx-border);padding-top:16px;margin-top:16px}.confirmation-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.confirmation-section-heading span:first-child{font-size:0.6875rem;font-weight:650;letter-spacing:.06em;color:var(--n-400)}.confirmation-section-heading h3{font-size:0.875rem;font-weight:650;margin:2px 0 0}.confirmation-history-list{display:grid;gap:8px}.confirmation-history-item{display:grid;grid-template-columns:32px minmax(0,1fr) 34px;gap:10px;align-items:start;border:1px solid var(--lx-border);border-radius:12px;padding:11px;background:var(--n-0)}.confirmation-history-number{width:32px;height:32px;border-radius:10px;background:var(--b-50);color:var(--lx-blue);display:grid;place-items:center;font-size:0.75rem;font-weight:650}.confirmation-history-head{display:flex;justify-content:space-between;gap:10px}.confirmation-history-head strong{font-size:0.75rem}.confirmation-history-head span{font-size:0.6875rem;color:var(--n-400)}.confirmation-history-item p{font-size:0.6875rem;color:var(--n-500);margin:5px 0;line-height:1.5}.confirmation-history-item small{font-size:0.6875rem;color:var(--n-400)}.confirmation-edit-call{border:0;width:32px;height:32px;border-radius:10px;background:var(--n-50);color:var(--n-500)}.confirmation-edit-call:hover{background:var(--b-50);color:var(--lx-blue)}.confirmation-history-empty{border:1px dashed var(--n-200);border-radius:12px;padding:18px;text-align:center;color:var(--n-400);font-size:0.6875rem}.confirmation-history-empty i{margin-right:6px}.confirmation-form-section{margin-top:18px}.confirmation-work-form{background:var(--n-25);border:1px solid var(--n-100);border-radius:16px;padding:15px}.confirmation-form-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.confirmation-form-title span,.confirmation-form-title strong{display:block}.confirmation-form-title span{font-size:0.6875rem;font-weight:650;color:var(--n-400);letter-spacing:.06em}.confirmation-form-title strong{font-size:0.8125rem;margin-top:2px}.confirmation-form-title i{width:35px;height:35px;border-radius:10px;background:var(--b-50);color:var(--lx-blue);display:grid;place-items:center}.confirmation-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.confirmation-work-form.is-saving{opacity:.65;pointer-events:none}.confirmation-call-locked{display:flex;gap:11px;align-items:center;background:var(--n-50);border:1px solid var(--lx-border);border-radius:12px;padding:14px;color:var(--n-500)}.confirmation-call-locked>i{width:34px;height:34px;border-radius:10px;background:var(--n-100);display:grid;place-items:center}.confirmation-call-locked strong,.confirmation-call-locked span{display:block}.confirmation-call-locked strong{font-size:0.75rem;color:var(--n-600)}.confirmation-call-locked span{font-size:0.6875rem;margin-top:2px}.confirmation-history-item.outcome-confirmed{border-left:3px solid var(--lx-success)}.confirmation-history-item.outcome-not_attending,.confirmation-history-item.outcome-invitation_rejected{border-left:3px solid var(--lx-danger)}.confirmation-history-item.outcome-invitation_sent{border-left:3px solid var(--b-500)}

@media(max-width:1200px){.confirmation-filter-bar{grid-template-columns:1fr 1fr}.confirmation-search-box{grid-column:1/-1}.confirmation-clear-filters{width:100%}.confirmation-split-screen{grid-template-columns:minmax(300px,42%) minmax(0,58%);height:calc(100vh - 395px)}}
@media(max-width:991px){.confirmation-workspace-head{align-items:flex-start}.confirmation-filter-bar{grid-template-columns:1fr 1fr}.confirmation-split-screen{grid-template-columns:1fr;height:auto;overflow:visible}.confirmation-list-pane{border-right:0;border-bottom:1px solid var(--lx-border);max-height:46vh;min-height:360px}.confirmation-detail-pane{min-height:540px;overflow:visible}.confirmation-info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.confirmation-filter-bar{grid-template-columns:1fr}.confirmation-search-box{grid-column:auto}.confirmation-state-filters{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.confirmation-state-filter{white-space:nowrap}.confirmation-workspace-summary{width:100%}.confirmation-detail-header{align-items:flex-start}.confirmation-detail-person{align-items:flex-start}.confirmation-detail-progress{margin-left:auto}.confirmation-info-grid{grid-template-columns:1fr}.confirmation-detail-shell{padding:15px}.confirmation-history-head{flex-direction:column;gap:2px}.confirmation-form-actions{flex-direction:column-reverse}.confirmation-form-actions .btn{width:100%}}

/* Resumen financiero */
.finance-page-kicker{display:block;font-size:0.6875rem;font-weight:650;letter-spacing:.06em;color:var(--lx-blue);margin-bottom:.4rem}.finance-filter-card{margin-bottom:20px}.finance-attribution-banner{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:13px 15px;border:1px solid var(--b-100);border-radius:12px;background:var(--b-50);color:var(--b-700)}.finance-attribution-banner>i{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:var(--b-100);color:var(--lx-blue)}.finance-attribution-banner strong,.finance-attribution-banner span{display:block}.finance-attribution-banner strong{font-size:0.75rem;color:var(--n-700)}.finance-attribution-banner span{margin-top:2px;font-size:0.6875rem;color:var(--n-500)}.finance-quick-ranges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.finance-range{border:1px solid var(--lx-border);background:var(--n-25);color:var(--n-500);border-radius:999px;padding:7px 12px;font-size:0.6875rem;font-weight:650}.finance-range:hover{border-color:var(--b-200);color:var(--lx-blue)}.finance-range.active{background:var(--b-50);border-color:var(--b-200);color:var(--lx-blue)}.finance-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.finance-filter-action{min-width:0}.finance-filter-action .btn{height:46px}.finance-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px}.finance-stat{background:var(--n-0);border:1px solid var(--lx-border);border-radius:16px;padding:17px;box-shadow:0 8px 26px rgba(20,23,28,.035);display:flex;align-items:center;gap:12px;min-width:0}.finance-stat-icon{width:44px;height:44px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;background:var(--b-50);color:var(--lx-blue)}.finance-stat-icon.net{background:var(--g-50);color:var(--g-700)}.finance-stat-icon.pending{background:var(--a-50);color:var(--a-500)}.finance-stat-icon.ticket{background:var(--v-50);color:var(--v-700)}.finance-stat-icon.fusion{background:var(--b-50);color:var(--b-500)}.finance-stat-icon.pl{background:var(--a-50);color:var(--a-700)}.finance-stat span,.finance-stat strong,.finance-stat small{display:block}.finance-stat span{font-size:0.6875rem;letter-spacing:.06em;font-weight:650;color:var(--n-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-stat strong{font-size:1rem;color:var(--n-800);margin:3px 0;white-space:nowrap}.finance-stat small{font-size:0.6875rem;color:var(--n-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-chart-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.6fr);gap:20px}.finance-chart-card .surface-body{min-height:295px}.finance-chart-total{font-weight:650!important;color:var(--lx-navy)!important}.finance-line-svg{display:block;width:100%;height:auto;min-height:245px;overflow:visible}.finance-chart-gridline{stroke:var(--n-100);stroke-width:1}.finance-chart-axis{fill:var(--n-400);font-size:11px;font-weight:700}.finance-chart-area{fill:rgba(15,99,214,.08)}.finance-chart-line{fill:none;stroke:var(--lx-blue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.finance-chart-dot{fill:var(--n-0);stroke:var(--lx-blue);stroke-width:3}.finance-chart-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--n-400);text-align:center;font-size:0.75rem}.finance-chart-empty.compact{min-height:165px}.finance-chart-empty i{width:48px;height:48px;border-radius:12px;background:var(--b-50);color:var(--n-400);display:grid;place-items:center}.finance-method-list{display:grid;gap:17px}.finance-method-row{display:grid;gap:6px}.finance-method-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.finance-method-head span{font-size:0.6875rem;font-weight:650;color:var(--n-600)}.finance-method-head strong{font-size:0.75rem;color:var(--n-800)}.finance-method-track{height:9px;border-radius:999px;background:var(--n-100);overflow:hidden}.finance-method-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--lx-blue),var(--b-300))}.finance-method-row:nth-child(2n) .finance-method-track span{background:linear-gradient(90deg,var(--a-300),var(--lx-yellow))}.finance-method-row small{font-size:0.6875rem;color:var(--n-400)}.finance-lower-grid{display:grid;grid-template-columns:minmax(360px,.6fr) minmax(0,1.4fr);gap:20px}.finance-scope-wrap{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;align-items:center}.finance-donut{width:160px;height:160px;border-radius:50%;background:conic-gradient(var(--lx-blue) 0 var(--fusion-share),var(--lx-yellow) var(--fusion-share) 100%);display:grid;place-items:center;position:relative}.finance-donut:after{content:"";position:absolute;inset:24px;border-radius:50%;background:var(--n-0);box-shadow:inset 0 0 0 1px var(--n-100)}.finance-donut>div{position:relative;z-index:1;text-align:center}.finance-donut strong,.finance-donut span{display:block}.finance-donut strong{font-size:1.5rem;color:var(--lx-navy)}.finance-donut span{font-size:0.6875rem;color:var(--n-400)}.finance-scope-legend{display:grid;gap:10px}.finance-scope-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:center}.finance-scope-legend i{width:9px;height:9px;border-radius:50%;background:var(--lx-blue)}.finance-scope-legend i.pl{background:var(--lx-yellow)}.finance-scope-legend i.pending{background:var(--a-300)}.finance-scope-legend i.pending-pl{background:var(--n-400)}.finance-scope-legend span{font-size:0.6875rem;color:var(--n-500)}.finance-scope-legend strong{font-size:0.6875rem;color:var(--n-700)}.finance-scope-legend hr{margin:2px 0;border-color:var(--n-150)}.finance-generation-list{display:grid;gap:11px}.finance-generation-row{display:grid;grid-template-columns:minmax(145px,.7fr) minmax(150px,1.3fr) 110px;gap:12px;align-items:center}.finance-generation-row>div:first-child{min-width:0}.finance-generation-row>div:first-child strong,.finance-generation-row>div:first-child span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-generation-row>div:first-child strong{font-size:0.75rem;color:var(--n-700)}.finance-generation-row>div:first-child span{font-size:0.6875rem;color:var(--n-400);margin-top:2px}.finance-generation-track{height:8px;background:var(--n-100);border-radius:999px;overflow:hidden}.finance-generation-track span{height:100%;display:block;background:linear-gradient(90deg,var(--lx-blue),var(--b-300));border-radius:999px}.finance-generation-row>strong{font-size:0.6875rem;color:var(--n-700);text-align:right}.finance-movements-table td small{color:var(--n-400);font-size:0.6875rem}.finance-movement-person strong,.finance-movement-person span{display:block}.finance-movement-person span{font-size:0.6875rem;color:var(--n-400);margin-top:3px}.finance-positive{color:var(--g-700)!important}.finance-negative{color:var(--r-700)!important}.finance-adjustment-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border:1px solid var(--a-100);background:var(--a-50);border-radius:12px;color:var(--a-700);font-size:0.6875rem}.finance-adjustment-note i{margin-top:2px}
@media(max-width:1500px){.finance-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-filter-action{min-width:0}.finance-filter-action .btn{height:46px}}
@media(max-width:1100px){.finance-chart-grid,.finance-lower-grid{grid-template-columns:1fr}.finance-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.finance-page-head{align-items:flex-start}.finance-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filter-grid{grid-template-columns:1fr 1fr}.finance-filter-action{grid-column:1/-1}.finance-scope-wrap{grid-template-columns:1fr}.finance-donut{margin:auto}.finance-generation-row{grid-template-columns:minmax(110px,.8fr) minmax(100px,1fr) 90px}.finance-stat{padding:14px}.finance-stat-icon{width:40px;height:40px}.finance-stat strong{font-size:0.875rem}}
@media(max-width:480px){.finance-stats-grid,.finance-filter-grid{grid-template-columns:1fr}.finance-quick-ranges{overflow:auto;flex-wrap:nowrap;padding-bottom:3px}.finance-range{white-space:nowrap}.finance-generation-row{grid-template-columns:1fr auto}.finance-generation-track{grid-column:1/-1;grid-row:2}.finance-generation-row>strong{grid-column:2;grid-row:1}.finance-stat strong{font-size:1rem}}

/* Pagos divididos / abonos por múltiples métodos */
.payment-finance-top-grid .form-label{min-height:2.15em;display:flex;align-items:flex-end}.payment-finance-top-grid{align-items:start}
.payment-readonly-value{min-height:46px;border:1px solid var(--lx-border);border-radius:12px;background:var(--n-25);padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.payment-readonly-value strong{font-size:0.875rem;color:var(--lx-navy)}.payment-readonly-value span{font-size:0.6875rem;color:var(--n-400);text-align:right}.payment-method-summary{min-height:46px;border:1px solid var(--b-100);border-radius:12px;background:var(--b-50);padding:11px 12px;display:flex;align-items:center;font-size:0.75rem;font-weight:650;color:var(--b-700)}.payment-split-composer{border:1px solid var(--n-200);background:var(--n-25);border-radius:16px;padding:14px}.payment-split-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.payment-split-head strong,.payment-split-head span{display:block}.payment-split-head strong{font-size:0.75rem;color:var(--n-700)}.payment-split-head span{font-size:0.6875rem;color:var(--n-400);margin-top:2px}.payment-split-total{text-align:right;min-width:112px}.payment-split-total small{display:block;font-size:0.6875rem;letter-spacing:.08em;font-weight:650;color:var(--n-400)}.payment-split-total strong{font-size:0.875rem;color:var(--lx-blue);margin-top:2px}.payment-split-rows{display:grid;gap:8px}.payment-split-row{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(125px,.65fr) minmax(105px,.55fr) minmax(180px,1.25fr) 36px;gap:8px;align-items:end;padding:10px;border:1px solid var(--n-150);background:var(--n-0);border-radius:12px}.payment-split-row[data-scope="fusion"]{grid-template-columns:minmax(150px,.9fr) minmax(130px,.65fr) minmax(210px,1.35fr) 36px}.payment-split-field{min-width:0}.payment-split-field label{display:block;font-size:0.6875rem;font-weight:650;color:var(--n-500);margin-bottom:4px}.payment-split-field label span{font-weight:600;color:var(--n-400)}.payment-split-remove{width:34px;height:34px;border:0;border-radius:10px;background:var(--n-50);color:var(--n-500);display:grid;place-items:center;transition:.18s ease}.payment-split-remove:hover{background:var(--r-50);color:var(--r-500)}.payment-split-composer>.add-payment-split{margin-top:10px}.payment-history-wrap{border:1px solid var(--n-150);border-radius:16px;background:var(--n-0);overflow:hidden}.payment-history-title{padding:12px 14px;border-bottom:1px solid var(--n-100);background:var(--n-25)}.payment-history-title strong,.payment-history-title span{display:block}.payment-history-title strong{font-size:0.6875rem;color:var(--n-700)}.payment-history-title span{font-size:0.6875rem;color:var(--n-400);margin-top:2px}.payment-history-list{max-height:260px;overflow:auto}.payment-history-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 13px;border-bottom:1px solid var(--n-100)}.payment-history-item:last-child{border-bottom:0}.payment-history-icon{width:30px;height:30px;border-radius:10px;background:var(--n-100);color:var(--g-700);display:grid;place-items:center;font-size:0.6875rem}.payment-history-icon.negative{background:var(--r-50);color:var(--r-500)}.payment-history-main{min-width:0}.payment-history-main strong,.payment-history-main span,.payment-history-main small{display:block}.payment-history-main strong{font-size:0.6875rem;color:var(--n-700)}.payment-history-main span{font-size:0.6875rem;color:var(--n-400);margin-top:2px}.payment-history-main small{font-size:0.6875rem;color:var(--n-400);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-history-amount{font-size:0.6875rem;font-weight:650;color:var(--g-700);white-space:nowrap}.payment-history-amount.negative{color:var(--r-700)}.payment-history-empty{min-height:84px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--n-400);font-size:0.6875rem}.payment-history-empty i{color:var(--n-400)}.pl-finance-fields .payment-split-row{grid-template-columns:minmax(140px,.9fr) minmax(125px,.65fr) minmax(105px,.55fr) minmax(180px,1.25fr) 36px}
@media(max-width:991px){.payment-split-row,.payment-split-row[data-scope="fusion"],.pl-finance-fields .payment-split-row{grid-template-columns:1fr 1fr}.payment-split-field.reference{grid-column:1/-1}.payment-split-remove{grid-column:2;justify-self:end}.payment-split-field.installments.d-none{display:none!important}}
@media(max-width:575.98px){.payment-split-head{align-items:flex-start;flex-direction:column}.payment-split-total{text-align:left}.payment-split-row,.payment-split-row[data-scope="fusion"],.pl-finance-fields .payment-split-row{grid-template-columns:1fr}.payment-split-field.reference,.payment-split-remove{grid-column:1}.payment-split-remove{justify-self:end}.payment-finance-top-grid .form-label{min-height:2.15em;display:flex;align-items:flex-end}.payment-finance-top-grid{align-items:start}
.payment-readonly-value{align-items:flex-start;flex-direction:column}.payment-readonly-value span{text-align:left}.payment-history-item{grid-template-columns:30px minmax(0,1fr)}.payment-history-amount{grid-column:2}}

/* Modal financiera más amplia: Fusión y Cobranza PL */
@media (min-width: 992px){
  .modal-dialog.modal-finance-wide{
    width:calc(100vw - 48px);
    max-width:1380px;
    margin-left:auto;
    margin-right:auto;
  }
}
@media (min-width: 1600px){
  .modal-dialog.modal-finance-wide{max-width:1460px}
}

/* === Comisiones de tarjeta / terminal / link · 2026-09-18 === */
.payment-split-row,.payment-split-row[data-scope="fusion"],.pl-finance-fields .payment-split-row{
  grid-template-columns:minmax(145px,.72fr) minmax(145px,.62fr) minmax(230px,1.2fr) 36px;
  align-items:end;
}
.payment-split-card-fields{grid-column:1/-2;display:grid;grid-template-columns:minmax(210px,1.15fr) minmax(120px,.55fr) minmax(190px,.9fr);gap:8px;align-items:end;padding:9px 10px;border:1px solid var(--b-100);border-radius:12px;background:var(--n-25)}
.payment-split-card-fields.d-none{display:none!important}.payment-commission-preview{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px;border-radius:12px;background:var(--b-50);border:1px solid var(--b-100)}.payment-commission-preview.d-none{display:none!important}.payment-commission-preview>div{min-width:0}.payment-commission-preview span,.payment-commission-preview strong{display:block}.payment-commission-preview span{font-size:0.6875rem;font-weight:650;letter-spacing:.04em;color:var(--n-400);text-transform:uppercase}.payment-commission-preview strong{font-size:0.75rem;color:var(--n-700);margin-top:2px}.payment-commission-preview>small{grid-column:1/-1;font-size:0.6875rem;color:var(--n-500)}.payment-split-totals{display:grid;grid-template-columns:repeat(3,minmax(105px,auto));gap:16px;text-align:right}.payment-split-totals small,.payment-split-totals strong{display:block}.payment-split-totals small{font-size:0.6875rem;letter-spacing:.08em;font-weight:650;color:var(--n-400)}.payment-split-totals strong{font-size:0.8125rem;color:var(--lx-blue);margin-top:2px}.payment-split-totals>div:last-child strong{color:var(--g-700)}.payment-history-financial{display:flex!important;flex-wrap:wrap;gap:5px 10px;margin-top:5px}.payment-history-financial span{font-size:0.6875rem!important;color:var(--n-500)!important}.payment-history-financial strong{display:inline!important;font-size:0.6875rem!important;color:var(--n-700)!important}.payment-history-main small.text-warning-emphasis{white-space:normal;color:var(--a-700)!important}.payment-finance-top-grid{align-items:start}

.commission-settings-card{grid-column:1/-1}.commission-settings-note{display:flex;gap:12px;align-items:flex-start;margin:4px 0 16px;padding:12px 14px;border:1px solid var(--b-100);border-radius:12px;background:var(--b-50);color:var(--n-500)}.commission-settings-note>i{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--b-50);color:var(--lx-blue)}.commission-settings-note strong,.commission-settings-note span{display:block}.commission-settings-note strong{font-size:0.6875rem;color:var(--n-700)}.commission-settings-note span{font-size:0.6875rem;line-height:1.5;margin-top:2px}.commission-rate-table-wrap{overflow:auto;border:1px solid var(--n-150);border-radius:12px}.commission-rate-table{min-width:1080px}.commission-rate-table th{white-space:nowrap;font-size:0.6875rem}.commission-rate-table td{vertical-align:middle;font-size:0.6875rem;white-space:nowrap}.commission-rate-table td small{font-size:0.6875rem;line-height:1.45;color:var(--n-500)}.commission-rate-inactive{opacity:.62;background:var(--n-25)}.commission-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.commission-editor-grid .full{grid-column:1/-1}.commission-editor-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;border:1px solid var(--b-100);border-radius:12px;background:var(--b-50)}.commission-editor-preview span,.commission-editor-preview strong{display:block}.commission-editor-preview span{font-size:0.6875rem;color:var(--n-500)}.commission-editor-preview strong{font-size:0.75rem;color:var(--n-700);margin-top:2px}

.finance-stats-grid.finance-stats-grid-commission{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-stat-icon.applied{background:var(--b-50);color:var(--b-500)}.finance-stat-icon.fees{background:var(--a-50);color:var(--a-500)}.finance-stat-icon.absorbed{background:var(--r-50);color:var(--r-500)}.finance-stat-icon.participant-fee{background:var(--g-50);color:var(--g-500)}.finance-legacy-warning{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;padding:13px 15px;border:1px solid var(--n-300);border-radius:12px;background:var(--a-50);color:var(--a-700)}.finance-legacy-warning>i{margin-top:2px}.finance-legacy-warning strong,.finance-legacy-warning span{display:block}.finance-legacy-warning strong{font-size:0.6875rem}.finance-legacy-warning span{font-size:0.6875rem;margin-top:3px;line-height:1.45}.finance-commission-table{min-width:950px}.finance-commission-table th{font-size:0.6875rem;white-space:nowrap}.finance-commission-table td{font-size:0.6875rem;vertical-align:middle}.finance-commission-table td small{color:var(--n-400);font-size:0.6875rem}.finance-movement-amounts{display:grid;gap:2px;min-width:145px}.finance-movement-amounts span{display:flex;justify-content:space-between;gap:12px;font-size:0.6875rem;color:var(--n-400)}.finance-movement-amounts strong{font-size:0.6875rem;color:var(--n-700)}

@media(max-width:1199.98px){.finance-stats-grid.finance-stats-grid-commission{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-split-row,.payment-split-row[data-scope="fusion"],.pl-finance-fields .payment-split-row{grid-template-columns:1fr 1fr}.payment-split-card-fields{grid-column:1/-1}.payment-split-field.reference{grid-column:1/-1}.payment-split-remove{grid-column:2;justify-self:end}.payment-commission-preview{grid-column:1/-1}}
@media(max-width:767.98px){.payment-split-card-fields{grid-template-columns:1fr 1fr}.payment-split-card-fields .bearer{grid-column:1/-1}.payment-split-totals{width:100%;grid-template-columns:repeat(3,1fr);text-align:left}.commission-editor-preview{grid-template-columns:1fr}.commission-editor-grid{grid-template-columns:1fr}.commission-editor-grid .full{grid-column:1}.finance-stats-grid.finance-stats-grid-commission{grid-template-columns:1fr 1fr}}
@media(max-width:575.98px){.payment-split-card-fields,.payment-commission-preview,.payment-split-totals,.finance-stats-grid.finance-stats-grid-commission{grid-template-columns:1fr}.payment-split-card-fields .bearer{grid-column:1}.payment-split-totals{text-align:left;gap:7px}}


/* === Ficha digital · Información de pago a ancho completo · 2026-09-22 === */
.detail-grid>.detail-grid-full{grid-column:1/-1;min-width:0}
.finance-box.finance-box-wide{margin-top:0;padding:22px;border:1px solid var(--n-200);background:var(--n-25);border-radius:16px;box-shadow:0 10px 30px rgba(20,23,28,.05)}
.finance-box-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--n-150)}
.finance-box-header h4{margin:2px 0 4px;font-size:1.125rem;color:var(--n-800)}
.finance-box-header p{margin:0;max-width:760px;font-size:0.75rem;line-height:1.55;color:var(--n-500)}
.finance-box-kicker{display:block;font-size:0.6875rem;font-weight:650;letter-spacing:.06em;color:var(--lx-blue)}
.finance-box-status{flex:0 0 auto;padding-top:2px}
.finance-panel{padding:16px 0;border-bottom:1px solid var(--n-150)}
.finance-panel:first-of-type{padding-top:0}
.finance-panel-history{border-bottom:0;padding-bottom:4px}
.finance-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.finance-panel-heading>div{display:flex;align-items:center;gap:10px;min-width:0}
.finance-panel-heading i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:var(--b-50);color:var(--lx-blue);font-size:0.75rem}
.finance-panel-heading span,.finance-panel-heading strong,.finance-panel-heading small{display:block}
.finance-panel-heading strong{font-size:0.75rem;color:var(--n-700)}
.finance-panel-heading small{margin-top:1px;font-size:0.6875rem;color:var(--n-400);font-weight:500}
.finance-pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.finance-account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.finance-notes-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:14px;margin-top:14px}
.finance-field{min-width:0}
.finance-field .form-label{min-height:auto!important;margin-bottom:6px;font-size:0.6875rem;font-weight:650;color:var(--n-600)}
.finance-box-wide .form-control,.finance-box-wide .form-select,.finance-box-wide .input-group-text{min-height:44px;font-size:0.75rem}
.finance-box-wide textarea.form-control{min-height:82px;resize:vertical;line-height:1.45}
.finance-box-wide .input-group-text{min-width:38px;justify-content:center;color:var(--n-500);background:var(--n-25)}
.finance-summary-card{min-width:0;min-height:72px;padding:12px 14px;border:1px solid var(--n-150);border-radius:12px;background:var(--n-0);display:flex;flex-direction:column;justify-content:center}
.finance-summary-card span{display:block;font-size:0.6875rem;font-weight:650;letter-spacing:.025em;text-transform:uppercase;color:var(--n-400)}
.finance-summary-card strong{display:block;margin-top:4px;font-size:0.9375rem;color:var(--n-700);overflow-wrap:anywhere}
.finance-summary-balance{background:var(--b-50);border-color:var(--b-100)}
.finance-summary-balance strong{color:var(--lx-blue)}
.finance-payment-date{padding:10px 12px;border:1px solid var(--n-150);border-radius:12px;background:var(--n-0)}
.finance-payment-date .form-label{margin-bottom:4px}
.finance-panel-payment{padding-top:18px}
.finance-box-wide .payment-split-composer{padding:16px;background:var(--n-0);border-color:var(--n-200)}
.finance-box-wide .payment-split-head{align-items:flex-start;margin-bottom:14px}
.finance-box-wide .payment-split-head>div:first-child{max-width:620px}
.finance-box-wide .payment-split-head strong{font-size:0.75rem}
.finance-box-wide .payment-split-head span{font-size:0.6875rem;line-height:1.5}
.finance-box-wide .payment-split-totals{gap:10px}
.finance-box-wide .payment-split-totals>div{min-width:118px;padding:8px 10px;border:1px solid var(--n-150);border-radius:10px;background:var(--n-25);text-align:right}
.finance-box-wide .payment-split-totals small{font-size:0.6875rem}
.finance-box-wide .payment-split-totals strong{font-size:0.8125rem}
.finance-box-wide .payment-split-row[data-scope="fusion"]{grid-template-columns:minmax(210px,.85fr) minmax(170px,.62fr) minmax(300px,1.45fr) 42px;grid-template-areas:"method amount reference remove" "card card card card" "preview preview preview preview";gap:10px 12px;padding:14px;border-radius:12px}
.finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-field.method{grid-area:method}
.finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-field.amount{grid-area:amount}
.finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-field.reference{grid-area:reference}
.finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-remove{grid-area:remove;align-self:end;width:40px;height:40px}
.finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields{grid-area:card;grid-column:auto;display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,.55fr) minmax(240px,1fr);gap:12px;padding:12px;background:var(--b-50)}
.finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields.d-none{display:none!important}
.finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-commission-preview{grid-area:preview;grid-column:auto}
.finance-box-wide .payment-split-field label{font-size:0.6875rem;margin-bottom:5px}
.finance-box-wide .payment-split-row .form-control-sm,.finance-box-wide .payment-split-row .form-select-sm,.finance-box-wide .payment-split-row .input-group-sm>.form-control,.finance-box-wide .payment-split-row .input-group-sm>.input-group-text{min-height:40px;font-size:0.75rem}
.finance-box-wide .add-payment-split{min-height:38px;padding-left:14px;padding-right:14px}
.finance-box-wide .payment-history-wrap{background:var(--n-0)}
.finance-box-wide .payment-history-title{padding:13px 15px}
.finance-box-wide .payment-history-list{max-height:320px}
.finance-box-wide .payment-history-item{padding:12px 15px}
.finance-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}
.finance-form-actions>span{max-width:760px;font-size:0.6875rem;line-height:1.5;color:var(--n-500)}
.finance-form-actions>span i{margin-right:5px;color:var(--n-400)}
.finance-form-actions .btn{flex:0 0 auto;min-width:260px;min-height:44px}

@media(max-width:1199.98px){
  .finance-pricing-grid,.finance-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-box-wide .payment-split-row[data-scope="fusion"]{grid-template-columns:1fr 1fr 42px;grid-template-areas:"method amount remove" "reference reference reference" "card card card" "preview preview preview"}
  .finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields{grid-template-columns:1fr 1fr}
  .finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields .bearer{grid-column:1/-1}
}
@media(max-width:767.98px){
  .detail-grid>.detail-grid-full{grid-column:1}
  .finance-box.finance-box-wide{padding:16px}
  .finance-box-header{flex-direction:column;gap:10px}
  .finance-pricing-grid,.finance-account-grid,.finance-notes-grid{grid-template-columns:1fr}
  .finance-box-wide .payment-split-head{flex-direction:column}
  .finance-box-wide .payment-split-totals{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
  .finance-box-wide .payment-split-totals>div{min-width:0;text-align:left}
  .finance-box-wide .payment-split-row[data-scope="fusion"]{grid-template-columns:1fr;grid-template-areas:"method" "amount" "reference" "card" "preview" "remove"}
  .finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields{grid-template-columns:1fr}
  .finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields .bearer{grid-column:1}
  .finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-remove{justify-self:end}
  .finance-form-actions{align-items:stretch;flex-direction:column}
  .finance-form-actions .btn{width:100%;min-width:0}
}
@media(max-width:575.98px){
  .finance-box-wide .payment-split-totals{grid-template-columns:1fr}
  .finance-box-wide .payment-split-totals>div{text-align:left}
}

/* === Ficha digital · Flujo financiero condicional + selects custom · 2026-09-22 === */
.finance-box-wide .finance-pricing-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  align-items:end;
}
.finance-authorization-box{
  margin-top:14px;
  padding:14px;
  border:1px solid var(--n-150);
  border-radius:12px;
  background:var(--n-0);
}
.finance-authorization-box .form-label{margin-bottom:6px}
.finance-authorization-box textarea.form-control{min-height:78px}
.finance-panel-heading-payment{align-items:flex-end}
.finance-payment-date-inline{width:220px;flex:0 0 220px}
.finance-payment-date-inline .form-label{margin-bottom:5px!important}
.finance-payment-blocked{padding-top:18px;padding-bottom:18px}
.finance-payment-blocked-content{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:15px 16px;
  border:1px solid var(--n-200);
  border-radius:12px;
  background:var(--g-50);
  color:var(--g-700);
}
.finance-payment-blocked-content>i{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:10px;
  background:var(--g-50);
  color:var(--g-700);
}
.finance-payment-blocked-content strong,
.finance-payment-blocked-content span{display:block}
.finance-payment-blocked-content strong{font-size:0.75rem;color:var(--g-700)}
.finance-payment-blocked-content span{margin-top:3px;font-size:0.6875rem;line-height:1.5;color:var(--n-500)}

/* Select2 consistente con los controles financieros. */
.finance-box-wide .select2-container{width:100%!important;max-width:100%;min-width:0}
.finance-box-wide .select2-container .select2-selection--single{
  height:44px;
  min-height:44px;
  border:1px solid var(--n-200);
  border-radius:10px;
  background:var(--n-0);
  box-shadow:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.finance-box-wide .select2-container--default .select2-selection--single .select2-selection__rendered{
  height:42px;
  line-height:42px;
  padding-left:13px;
  padding-right:38px;
  color:var(--n-700);
  font-size:0.75rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.finance-box-wide .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:42px;
  right:7px;
}
.finance-box-wide .select2-container--default.select2-container--open .select2-selection--single,
.finance-box-wide .select2-container--default.select2-container--focus .select2-selection--single{
  border-color:var(--n-300);
  box-shadow:0 0 0 .2rem rgba(15,99,214,.10);
  background:var(--n-0);
}
#registrationModal .select2-dropdown{
  border-color:var(--n-200);
  border-radius:10px;
  box-shadow:0 14px 36px rgba(20,23,28,.13);
  overflow:hidden;
}
#registrationModal .select2-results__option{
  padding:10px 12px;
  font-size:0.75rem;
}
#registrationModal .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background:var(--b-50);
  color:var(--b-600);
}
#registrationModal .select2-container--default .select2-results__option--selected{
  background:var(--b-100);
  color:var(--b-700);
  font-weight:700;
}

/* La tarjeta de datos de tarjeta/MSI siempre ocupa el ancho real de la línea. */
.finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields{
  grid-area:card;
  grid-column:auto!important;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid var(--b-100);
  border-radius:12px;
  background:var(--b-50);
  overflow:visible;
}
.finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields.d-none{display:none!important}
.payment-split-card-caption{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding-bottom:10px;
  margin-bottom:1px;
  border-bottom:1px solid var(--b-100);
}
.payment-split-card-caption>i{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:10px;
  background:var(--b-50);
  color:var(--b-600);
  font-size:0.6875rem;
}
.payment-split-card-caption span,
.payment-split-card-caption strong,
.payment-split-card-caption small{display:block;min-width:0}
.payment-split-card-caption strong{font-size:0.6875rem;color:var(--b-700)}
.payment-split-card-caption small{margin-top:1px;font-size:0.6875rem;line-height:1.4;color:var(--n-400)}
.finance-box-wide .payment-split-card-fields>.payment-split-field{min-width:0;width:100%}
.finance-box-wide .payment-split-card-fields .select2-container{width:100%!important;max-width:100%}
.finance-box-wide .payment-split-row .select2-container .select2-selection--single{
  height:40px;
  min-height:40px;
  border-radius:10px;
}
.finance-box-wide .payment-split-row .select2-container--default .select2-selection--single .select2-selection__rendered{
  height:38px;
  line-height:38px;
  padding-left:11px;
  padding-right:34px;
  font-size:0.6875rem;
}
.finance-box-wide .payment-split-row .select2-container--default .select2-selection--single .select2-selection__arrow{height:38px}
.finance-box-wide .payment-split-field.reference input{width:100%;min-width:0}
.finance-box-wide .payment-split-row[data-scope="fusion"]{overflow:visible}

@media(max-width:991.98px){
  .finance-panel-heading-payment{align-items:flex-start;flex-direction:column}
  .finance-payment-date-inline{width:100%;flex-basis:auto}
  .finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields{grid-template-columns:1fr 1fr}
  .finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields .bearer{grid-column:1/-1}
}
@media(max-width:575.98px){
  .finance-box-wide .finance-pricing-grid{grid-template-columns:1fr}
  .finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields{grid-template-columns:1fr}
  .finance-box-wide .payment-split-row[data-scope="fusion"]>.payment-split-card-fields .bearer{grid-column:1}
  .finance-payment-blocked-content{padding:13px}
}

/* Ajustes 2026-09-23 v5: Select2 centrado y DataTables con viewport estable. */
.select2-container--default .select2-selection--single{
  display:flex;
  align-items:center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  display:flex!important;
  align-items:center;
  width:100%;
  min-width:0;
  height:100%!important;
  line-height:1.2!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder{
  display:flex;
  align-items:center;
  min-height:100%;
}
.finance-box-wide .select2-container--default .select2-selection--single .select2-selection__rendered,
.finance-box-wide .payment-split-row .select2-container--default .select2-selection--single .select2-selection__rendered{
  height:100%!important;
  line-height:1.2!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.finance-box-wide .select2-container--default .select2-selection--single .select2-selection__arrow,
.finance-box-wide .payment-split-row .select2-container--default .select2-selection--single .select2-selection__arrow{
  top:50%;
  transform:translateY(-50%);
  height:24px!important;
}

@media(min-width:768px){
  /*
   * La tarjeta completa recibe un alto calculado por JS.
   * El wrapper de DataTables se vuelve un flex vertical:
   * controles superiores / tabla flexible / info+paginado.
   * Solo .dt-scroll-body puede desplazarse.
   */
  .data-card.data-card-viewport{
    display:flex;
    flex-direction:column;
    min-height:330px;
    overflow:hidden;
  }

  .data-card.data-card-viewport>.confirmation-legend,
  .data-card.data-card-viewport>.active-filter-list,
  .data-card.data-card-viewport>p{
    flex:0 0 auto;
  }

  .data-card.data-card-viewport>.table-responsive{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden!important;
  }

  .data-card.data-card-viewport .dt-container{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .data-card.data-card-viewport .dt-container>.dt-layout-row{
    flex:0 0 auto;
    min-height:0;
  }

  .data-card.data-card-viewport .dt-container>.dt-layout-row.dt-layout-table{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .data-card.data-card-viewport .dt-layout-table>.dt-layout-cell,
  .data-card.data-card-viewport .dt-layout-table .dt-layout-full{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .data-card.data-card-viewport .dt-scroll{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .data-card.data-card-viewport .dt-scroll-head{
    flex:0 0 auto;
    overflow:hidden!important;
  }

  .data-card.data-card-viewport .dt-scroll-body{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  .data-card.data-card-viewport .dt-scroll-body table.dataTable{
    width:100%!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .data-card.data-card-viewport .dt-info,
  .data-card.data-card-viewport .dt-paging{
    position:static!important;
  }

  .data-card.data-card-viewport .dt-scroll-body::-webkit-scrollbar{
    width:10px;
    height:10px;
  }
  .data-card.data-card-viewport .dt-scroll-body::-webkit-scrollbar-thumb{
    background:var(--n-200);
    border:3px solid transparent;
    background-clip:padding-box;
    border-radius:999px;
  }
  .data-card.data-card-viewport .dt-scroll-body::-webkit-scrollbar-track{
    background:transparent;
  }
}

@media(max-width:767.98px){
  .data-card.data-card-viewport{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .dt-container .dt-scroll-head{
    display:none!important;
  }
  .dt-container .dt-scroll-body{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}





/* Ajustes 2026-09-23 v6: scroll nativo real de DataTables.
   No se fija el alto de la card ni del wrapper. Solo .dt-scroll-body recibe
   altura dinámica desde JS; footer/info/paginado permanecen en flujo normal. */
@media(min-width:768px){
  .data-card,
  .data-card.data-card-viewport{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .data-card>.table-responsive{
    min-height:0;
    overflow-x:auto!important;
    overflow-y:visible!important;
  }

  .data-card .dt-container,
  .data-card.data-card-viewport .dt-container{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .data-card .dt-container>.dt-layout-row,
  .data-card.data-card-viewport .dt-container>.dt-layout-row,
  .data-card .dt-layout-table>.dt-layout-cell,
  .data-card .dt-layout-table .dt-layout-full,
  .data-card .dt-scroll,
  .data-card.data-card-viewport .dt-scroll{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .data-card .dt-scroll-head{
    overflow:hidden!important;
  }

  .data-card .dt-scroll-body,
  .data-card.data-card-viewport .dt-scroll-body{
    min-height:180px!important;
    overflow-y:auto!important;
    overflow-x:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  .data-card .dt-layout-row:last-child{
    position:relative!important;
    z-index:1;
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    background:var(--n-0);
    margin-top:10px!important;
  }

  .data-card .dt-info,
  .data-card .dt-paging{
    position:static!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .data-card .dt-paging{
    display:flex!important;
    justify-content:flex-end!important;
    overflow:visible!important;
  }

  .data-card .dt-scroll-body::-webkit-scrollbar{
    width:10px;
    height:10px;
  }
  .data-card .dt-scroll-body::-webkit-scrollbar-thumb{
    background:var(--n-200);
    border:3px solid transparent;
    background-clip:padding-box;
    border-radius:999px;
  }
}

/* ================================================================
   2026-09-23 v7 · Breadcrumb general + acciones contextuales
   Estandariza la cabecera de módulos y concentra acciones de página
   en un único menú "Opciones".
   ================================================================ */
.app-pagebar{
  min-height:94px;
  height:auto;
  padding:15px 30px;
  gap:22px;
}
.pagebar-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
}
.pagebar-heading{
  min-width:0;
}
.pagebar-heading h2{
  font-size:1.5rem;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-.025em;
  color:var(--n-700);
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.app-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:6px;
  min-height:18px;
  color:var(--n-400);
  font-size:0.75rem;
  font-weight:500;
}
.breadcrumb-home{
  border:0;
  background:transparent;
  padding:0;
  color:var(--n-500);
  display:inline-flex;
  align-items:center;
  gap:6px;
  font:inherit;
  cursor:pointer;
}
.breadcrumb-home:hover{color:var(--lx-blue)}
.breadcrumb-home i{font-size:0.6875rem}
.breadcrumb-separator{
  font-size:0.6875rem;
  color:var(--n-300);
}
.breadcrumb-current{
  color:var(--n-500);
  font-weight:600;
}
.breadcrumb-group-home{
  color:var(--n-500);
}
.global-page-actions .global-options-button{
  min-width:112px;
  min-height:38px;
  padding:.52rem .82rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid var(--n-200);
  background:var(--n-0);
  color:var(--n-500);
  border-radius:10px;
  font-size:0.75rem;
  font-weight:600;
  box-shadow:none;
}
.global-page-actions .global-options-button:hover,
.global-page-actions .global-options-button:focus,
.global-page-actions .global-options-button.show{
  border-color:var(--n-300);
  background:var(--n-25);
  color:var(--n-700);
}
.global-page-actions .dropdown-menu{
  min-width:235px;
  max-width:310px;
  border:1px solid rgba(20,23,28,.11);
  border-radius:12px;
  padding:.45rem;
  box-shadow:0 18px 46px rgba(20,23,28,.16);
}
.global-page-actions .dropdown-header{
  color:var(--n-400);
  font-size:0.6875rem;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.45rem .65rem .3rem;
}
.global-page-actions .dropdown-divider{
  margin:.35rem .4rem;
  border-color:var(--n-100);
}
.global-page-actions .global-page-action{
  width:100%;
  border:0;
  border-radius:10px;
  padding:.66rem .72rem;
  display:flex;
  align-items:center;
  gap:.55rem;
  text-align:left;
  color:var(--n-600);
  background:transparent;
  font-size:0.8125rem;
  font-weight:650;
  white-space:normal;
}
.global-page-actions .global-page-action:hover,
.global-page-actions .global-page-action:focus{
  background:var(--b-50);
  color:var(--b-600);
}
.global-page-actions .global-page-action i{
  width:18px;
  text-align:center;
}
.global-page-actions .global-page-action .filter-count{
  margin-left:auto;
}

/* El título ya vive en la cabecera general. Conservamos en el contenido
   únicamente controles realmente contextuales (ej. selector de taller). */
.page-head.page-head-standardized{
  margin-bottom:16px;
}
.page-head.page-head-standardized>.page-head-copy,
.page-head.page-head-standardized>.page-actions{
  display:none!important;
}
.page-head.page-head-standardized.page-head-empty{
  display:none!important;
  margin:0!important;
}
.page-head.page-head-standardized:not(.page-head-empty){
  justify-content:flex-end;
  align-items:center;
}

.page-context-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:-2px 0 14px;
}
.page-context-controls-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--n-400);
  font-size:0.6875rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.065em;
}
.page-context-controls .page-context-control{
  width:auto!important;
  min-width:210px;
  max-width:310px;
  min-height:38px;
}

/* Ajuste fino v7: se reserva un poco más de aire en la parte inferior del
   viewport para que la pantalla completa no genere un scroll de pocos píxeles. */
@media(min-width:768px){
  .content-area{
    padding-bottom:42px;
  }
  .data-card .dt-layout-row:last-child{
    margin-bottom:0!important;
  }
}

@media(max-width:991.98px){
  .app-pagebar{padding:14px 20px}
  .global-page-actions .global-options-button{min-width:auto}
}

@media(max-width:767.98px){
  .app-pagebar{
    min-height:78px;
    padding:12px 16px;
    align-items:center;
  }
  .pagebar-heading h2{font-size:1.125rem}
  .app-breadcrumb{font-size:0.6875rem;gap:5px;margin-top:4px}
  .app-breadcrumb #pageBreadcrumbGroup,
  .app-breadcrumb .breadcrumb-separator:first-of-type{display:none}
  .topbar-actions{gap:6px}
  .global-page-actions .global-options-button{
    min-width:42px;
    width:42px;
    height:38px;
    padding:0;
    font-size:0;
  }
  .global-page-actions .global-options-button:before{
    content:'\f142';
    font-family:'Font Awesome 6 Free';
    font-weight:650;
    font-size:0.9375rem;
  }
  .global-page-actions .global-options-button:after{display:none}
  .page-context-controls{
    justify-content:stretch;
    align-items:stretch;
    flex-direction:column;
  }
  .page-context-controls-label{display:none}
  .page-context-controls .page-context-control{
    width:100%!important;
    min-width:0;
    max-width:none;
  }
}


/* =========================================================
   Toast global de actividad AJAX
   ========================================================= */
.ajax-activity-toast{
  position:fixed;
  top:18px;
  right:22px;
  z-index:1095;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:250px;
  max-width:min(360px,calc(100vw - 32px));
  padding:12px 15px;
  border:1px solid rgba(12,79,172,.14);
  border-radius:12px;
  background:rgba(255,255,255,.97);
  box-shadow:0 12px 34px rgba(20,23,28,.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transform:translateY(-10px) scale(.985);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  pointer-events:none;
}
.ajax-activity-toast.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.ajax-activity-spinner{
  width:21px;
  height:21px;
  flex:0 0 21px;
  border:2.5px solid rgba(22,119,242,.18);
  border-top-color:var(--b-500);
  border-right-color:var(--b-500);
  border-radius:50%;
  animation:liderexAjaxSpin .7s linear infinite;
}
.ajax-activity-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.2;
}
.ajax-activity-copy strong{
  color:var(--n-800);
  font-size:0.75rem;
  font-weight:600;
  letter-spacing:.01em;
}
.ajax-activity-message{
  margin-top:3px;
  color:var(--n-500);
  font-size:0.75rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@keyframes liderexAjaxSpin{to{transform:rotate(360deg)}}
@media(max-width:767.98px){
  .ajax-activity-toast{
    top:12px;
    right:12px;
    left:12px;
    min-width:0;
    max-width:none;
  }
}
@media(prefers-reduced-motion:reduce){
  .ajax-activity-toast{transition:none}
  .ajax-activity-spinner{animation-duration:1.4s}
}

/* === Liderex v10 · Anulación de pagos y reembolsos === */
.payment-history-main-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.payment-history-main-title>strong{display:inline-block!important}.payment-movement-state{display:inline-flex!important;align-items:center;gap:4px;border-radius:999px;padding:3px 7px;font-size:0.6875rem!important;font-weight:650;line-height:1;color:var(--n-600)!important;background:var(--n-100);margin:0!important}.payment-movement-state-annulled{background:var(--r-50);color:var(--r-700)!important}.payment-movement-state-refund{background:var(--a-50);color:var(--a-700)!important}.payment-history-side{display:flex;align-items:center;gap:7px;justify-content:flex-end}.payment-history-actions{flex:0 0 auto;display:flex;align-items:center;gap:5px}.payment-history-actions .btn{width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:10px}.payment-history-item-annulled{background:var(--n-25)}.payment-history-item-annulled .payment-history-main>span,.payment-history-item-annulled .payment-history-amount{opacity:.65}.payment-history-reason{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:var(--n-500)!important}.payment-history-refund-financial{background:var(--a-50);border-radius:10px;padding:5px 7px}.payment-reversal-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--n-150);background:var(--n-25);border-radius:12px;padding:10px 12px;text-align:left}.payment-reversal-summary span{font-size:0.75rem;color:var(--n-500)}.payment-reversal-summary strong{font-size:0.875rem;color:var(--n-700)}.payment-refund-dialog .form-label{font-size:0.75rem;font-weight:700;color:var(--n-600)}.payment-refund-dialog .form-text{font-size:0.6875rem}.payment-refund-dialog .form-control,.payment-refund-dialog .form-select{min-height:42px;font-size:0.75rem}.payment-refund-dialog textarea.form-control{min-height:86px}
@media(max-width:767.98px){.payment-history-item{grid-template-columns:30px minmax(0,1fr)}.payment-history-side{grid-column:2;justify-content:space-between;margin-top:3px}.payment-history-main-title{align-items:flex-start}.payment-reversal-summary{align-items:flex-start;flex-direction:column;gap:3px}}

/* Página pública de avance: animaciones sutiles */
.progress-page-enhanced{
  overflow-x:hidden;
}
.progress-page-enhanced .progress-header,
.progress-page-enhanced .progress-summary>div,
.progress-page-enhanced .public-progress-help,
.progress-page-enhanced .public-progress-list,
.progress-page-enhanced .privacy-note{
  opacity:0;
  transform:translateY(14px);
}
.progress-page-enhanced.public-progress-ready .progress-header,
.progress-page-enhanced.public-progress-ready .public-progress-help,
.progress-page-enhanced.public-progress-ready .public-progress-list,
.progress-page-enhanced.public-progress-ready .privacy-note{
  animation:publicFadeUp .58s cubic-bezier(.22,1,.36,1) forwards;
}
.progress-page-enhanced.public-progress-ready .progress-summary>div{
  animation:publicFadeUp .5s cubic-bezier(.22,1,.36,1) forwards;
  animation-delay:var(--progress-delay,0ms);
}
.progress-page-enhanced.public-progress-ready .public-progress-item{
  animation:publicRowIn .46s cubic-bezier(.22,1,.36,1) both;
  animation-delay:var(--progress-delay,0ms);
}
.progress-page-enhanced .progress-header{position:relative}
.progress-page-enhanced .progress-header:before{
  content:'';
  position:absolute;
  left:50%;
  top:10px;
  width:120px;
  height:120px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  filter:blur(22px);
  transform:translateX(-50%);
  pointer-events:none;
}
.progress-page-enhanced .progress-summary>div,
.progress-page-enhanced .public-progress-list{
  backdrop-filter:blur(10px);
}
.progress-page-enhanced .progress-summary>div{
  transition:transform .2s ease, border-color .2s ease, background-color .2s ease;
}
.progress-page-enhanced .progress-summary>div:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.26);
  background:rgba(255,255,255,.15);
}
.progress-page-enhanced .progress-overview{
  position:relative;
  transition:background-color .2s ease, transform .2s ease;
}
.progress-page-enhanced .public-progress-item.is-expandable .progress-overview:hover{
  transform:translateX(2px);
}
.progress-page-enhanced .avatar{
  transition:transform .22s ease, box-shadow .22s ease;
}
.progress-page-enhanced .progress-overview:hover .avatar,
.progress-page-enhanced .progress-overview[aria-expanded="true"] .avatar{
  transform:scale(1.04);
  box-shadow:0 10px 24px rgba(22,119,242,.16);
}
.progress-page-enhanced .progress-track{
  position:relative;
  overflow:hidden;
}
.progress-page-enhanced .progress-track:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  transform:translateX(-110%);
  opacity:.65;
  pointer-events:none;
}
.progress-page-enhanced.public-progress-ready .progress-track:after{
  animation:publicTrackShine 1.45s ease .55s both;
}
.progress-page-enhanced .progress-track span{
  transform-origin:left center;
  transform:scaleX(0);
  will-change:transform;
}
.progress-page-enhanced.public-progress-ready .progress-track span{
  animation:publicProgressFill .9s cubic-bezier(.22,1,.36,1) forwards;
  animation-delay:calc(var(--progress-delay,0ms) + 260ms);
}
.progress-page-enhanced .progress-percent{
  transition:color .2s ease, transform .2s ease;
}
.progress-page-enhanced .progress-overview:hover .progress-percent,
.progress-page-enhanced .progress-overview[aria-expanded="true"] .progress-percent{
  color:var(--lx-blue);
  transform:translateY(-1px);
}
.progress-page-enhanced .progress-chevron{
  border-color:var(--n-400);
}
.progress-page-enhanced .progress-overview[aria-expanded="true"] .progress-chevron{
  border-color:var(--lx-blue);
}
.progress-page-enhanced .public-invitee-panel{
  overflow:hidden;
  will-change:height,opacity,transform;
  transition:
    height .26s cubic-bezier(.4,0,.2,1),
    opacity .18s ease,
    transform .24s cubic-bezier(.4,0,.2,1);
}
.progress-page-enhanced .public-invitee-panel.is-expanding,
.progress-page-enhanced .public-invitee-panel.is-open{
  display:block;
}
.progress-page-enhanced .public-invitee-panel.is-collapsing{
  pointer-events:none;
}
.progress-page-enhanced .public-invitee-panel.is-open .public-invitee-row{
  animation:publicInviteeIn .24s ease both;
}
.progress-page-enhanced .public-invitee-panel.is-open .public-invitee-row:nth-child(1){animation-delay:40ms}
.progress-page-enhanced .public-invitee-panel.is-open .public-invitee-row:nth-child(2){animation-delay:75ms}
.progress-page-enhanced .public-invitee-panel.is-open .public-invitee-row:nth-child(3){animation-delay:110ms}
.progress-page-enhanced .public-invitee-panel.is-open .public-invitee-row:nth-child(4){animation-delay:145ms}
.progress-page-enhanced .public-invitee-panel.is-open .public-invitee-row:nth-child(n+5){animation-delay:180ms}
.progress-page-enhanced .public-call-status{
  transition:transform .18s ease, box-shadow .18s ease;
}
.progress-page-enhanced .public-call-status:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(20,23,28,.08);
}
@keyframes publicFadeUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes publicRowIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes publicProgressFill{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
@keyframes publicTrackShine{
  0%{transform:translateX(-110%)}
  100%{transform:translateX(110%)}
}
@keyframes publicInviteeIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce){
  .progress-page-enhanced .progress-header,
  .progress-page-enhanced .progress-summary>div,
  .progress-page-enhanced .public-progress-help,
  .progress-page-enhanced .public-progress-list,
  .progress-page-enhanced .privacy-note,
  .progress-page-enhanced .public-progress-item,
  .progress-page-enhanced .public-invitee-row{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }
  .progress-page-enhanced .progress-track span{transform:none!important;animation:none!important}
  .progress-page-enhanced .progress-track:after{display:none}
  .progress-page-enhanced .public-invitee-panel{transition:none!important}
}


/* Página pública de fechas: animaciones sutiles */
.public-dates-animated{
  overflow-x:hidden;
}
.public-dates-animated .public-dates-nav,
.public-dates-animated .public-dates-eyebrow,
.public-dates-animated .public-dates-hero h1,
.public-dates-animated .public-dates-hero p,
.public-dates-animated .public-date-card,
.public-dates-animated .public-dates-empty,
.public-dates-animated .public-dates-note,
.public-dates-animated .public-dates-footer{
  opacity:0;
  transform:translateY(14px);
}
.public-dates-animated.public-dates-ready .public-dates-nav{
  animation:publicDatesFadeDown .48s cubic-bezier(.22,1,.36,1) forwards;
}
.public-dates-animated.public-dates-ready .public-dates-eyebrow{
  animation:publicFadeUp .5s cubic-bezier(.22,1,.36,1) .08s forwards;
}
.public-dates-animated.public-dates-ready .public-dates-hero h1{
  animation:publicFadeUp .64s cubic-bezier(.22,1,.36,1) .14s forwards;
}
.public-dates-animated.public-dates-ready .public-dates-hero p{
  animation:publicFadeUp .56s cubic-bezier(.22,1,.36,1) .22s forwards;
}
.public-dates-animated.public-dates-ready .public-date-card{
  animation:publicDateCardIn .52s cubic-bezier(.22,1,.36,1) both;
  animation-delay:var(--date-delay,160ms);
}
.public-dates-animated.public-dates-ready .public-dates-empty,
.public-dates-animated.public-dates-ready .public-dates-note,
.public-dates-animated.public-dates-ready .public-dates-footer{
  animation:publicFadeUp .48s cubic-bezier(.22,1,.36,1) .28s forwards;
}
.public-dates-animated .public-dates-hero:before{
  animation:publicDatesFloat 7s ease-in-out infinite;
}
.public-dates-animated .public-dates-hero:after{
  animation:publicDatesFloat 8.5s ease-in-out infinite reverse;
}
.public-dates-animated .public-date-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.public-dates-animated .public-date-card:hover{
  transform:translateY(-3px);
  border-color:var(--b-100);
  box-shadow:0 22px 58px rgba(12,79,172,.12);
}
.public-dates-animated .public-date-calendar{
  position:relative;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}
.public-dates-animated .public-date-calendar:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.45) 45%,transparent 72%);
  transform:translateX(-115%);
  pointer-events:none;
}
.public-dates-animated.public-dates-ready .public-date-card.is-featured .public-date-calendar:after{
  animation:publicDatesShine 1.35s ease .6s both;
}
.public-dates-animated .public-date-card:hover .public-date-calendar{
  transform:scale(1.025);
  box-shadow:0 14px 30px rgba(12,79,172,.14);
}
.public-dates-animated .public-date-status,
.public-dates-animated .public-date-generation{
  transition:transform .18s ease, box-shadow .18s ease;
}
.public-dates-animated .public-date-card:hover .public-date-status,
.public-dates-animated .public-date-card:hover .public-date-generation{
  transform:translateY(-1px);
}
@keyframes publicDatesFadeDown{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes publicDateCardIn{
  from{opacity:0;transform:translateY(18px) scale(.988)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes publicDatesFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-12px,10px,0)}
}
@keyframes publicDatesShine{
  0%{transform:translateX(-115%)}
  100%{transform:translateX(115%)}
}
@media (prefers-reduced-motion:reduce){
  .public-dates-animated .public-dates-nav,
  .public-dates-animated .public-dates-eyebrow,
  .public-dates-animated .public-dates-hero h1,
  .public-dates-animated .public-dates-hero p,
  .public-dates-animated .public-date-card,
  .public-dates-animated .public-dates-empty,
  .public-dates-animated .public-dates-note,
  .public-dates-animated .public-dates-footer{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
  }
  .public-dates-animated .public-dates-hero:before,
  .public-dates-animated .public-dates-hero:after,
  .public-dates-animated .public-date-calendar:after{
    animation:none!important;
  }
}

/* Calendario administrativo de talleres */
.calendar-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:1.25rem;
  align-items:start;
}
.calendar-card,.calendar-side-card{
  background:var(--n-0);
  border:1px solid var(--n-100);
  border-radius:20px;
  box-shadow:0 22px 60px rgba(20,23,28,.08);
}
.calendar-card{padding:1.15rem;overflow:hidden;}
.calendar-side-card{padding:1rem;position:sticky;top:1rem;}
.calendar-shell{animation:calendarShellIn .38s cubic-bezier(.2,.78,.25,1) both;}
.calendar-card,.calendar-side-card{animation:calendarPanelIn .42s cubic-bezier(.2,.78,.25,1) both;}
.calendar-side-card{animation-delay:.05s;}
.calendar-toolbar,.calendar-weekday-row,.calendar-week,.calendar-side-section{animation:calendarSoftRise .42s cubic-bezier(.2,.78,.25,1) both;}
.calendar-week:nth-child(1){animation-delay:.03s}.calendar-week:nth-child(2){animation-delay:.06s}.calendar-week:nth-child(3){animation-delay:.09s}.calendar-week:nth-child(4){animation-delay:.12s}.calendar-week:nth-child(5){animation-delay:.15s}.calendar-week:nth-child(6){animation-delay:.18s}
.calendar-side-section:nth-child(1){animation-delay:.08s}.calendar-side-section:nth-child(2){animation-delay:.13s}.calendar-side-section:nth-child(3){animation-delay:.18s}
@keyframes calendarShellIn{from{opacity:0}to{opacity:1}}
@keyframes calendarPanelIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes calendarSoftRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes calendarEventIn{from{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.calendar-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.calendar-month-nav{display:flex;align-items:center;gap:.85rem;}
.calendar-month-nav .btn{width:42px;height:42px;border-radius:12px;padding:0;display:inline-flex;align-items:center;justify-content:center;}
.calendar-month-nav span{display:block;font-size:0.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--n-400);margin-bottom:.1rem;}
.calendar-month-nav h3{margin:0;font-size:1.5rem;font-weight:650;color:var(--n-800);text-transform:capitalize;}
.calendar-weekday-row{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:1px;
  background:var(--n-100);
  border:1px solid var(--n-150);
  border-bottom:0;
  border-radius:16px 16px 0 0;
  overflow:hidden;
}
.calendar-weekday-row span{
  background:var(--n-25);
  padding:.75rem .65rem;
  font-size:0.75rem;
  font-weight:650;
  color:var(--n-600);
  text-align:center;
}
.calendar-month-grid{border:1px solid var(--n-150);border-radius:0 0 20px 20px;overflow:hidden;background:var(--n-100);}
.calendar-week{background:var(--n-100);border-top:1px solid var(--n-150);}
.calendar-week:first-child{border-top:0;}
.calendar-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;}
.calendar-day-cell{
  min-height:42px;
  background:var(--n-0);
  padding:.55rem .6rem;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  color:var(--n-700);
  font-weight:650;
  font-size:0.8125rem;
}
.calendar-day-cell.is-muted{background:var(--n-25);color:var(--n-300);}
.calendar-day-cell.is-today span{
  min-width:28px;height:28px;border-radius:50%;background:var(--b-500);color:var(--n-0);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(22,119,242,.24);
}
.calendar-week-events{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  grid-auto-rows:minmax(42px,auto);
  gap:6px 1px;
  padding:7px 0 11px;
  background:var(--n-0);
  min-height:calc(var(--calendar-lanes, 1) * 48px + 18px);
}
.calendar-week-empty{grid-column:1/-1;align-self:center;text-align:center;color:var(--n-400);font-size:0.75rem;padding:.65rem 0;}
.calendar-event-bar{
  animation:calendarEventIn .32s cubic-bezier(.2,.78,.25,1) both;
  border:0;
  min-width:0;
  margin:0 4px;
  padding:.48rem .62rem;
  border-radius:12px;
  background:linear-gradient(135deg,var(--calendar-event-color),color-mix(in srgb,var(--calendar-event-color) 76%,var(--n-0)));
  color:var(--n-0);
  box-shadow:0 10px 22px color-mix(in srgb,var(--calendar-event-color) 22%, transparent);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:.12rem;
  text-align:left;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
  position:relative;
  overflow:hidden;
}
.calendar-event-bar:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.18) 46%,transparent 72%);transform:translateX(-130%);transition:transform .55s ease;}
.calendar-event-bar:hover{transform:translateY(-2px);filter:saturate(1.05);box-shadow:0 16px 30px color-mix(in srgb,var(--calendar-event-color) 28%, transparent);}
.calendar-event-bar:hover:after{transform:translateX(130%);}
.calendar-event-bar strong,.calendar-event-bar span{position:relative;z-index:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.calendar-event-bar strong{font-size:0.75rem;font-weight:650;}
.calendar-event-bar span{font-size:0.6875rem;opacity:.9;}
.calendar-event-bar.continues-left{border-top-left-radius:4px;border-bottom-left-radius:4px;margin-left:0;}
.calendar-event-bar.continues-right{border-top-right-radius:4px;border-bottom-right-radius:4px;margin-right:0;}
.calendar-filter-panel .select2-container{width:100%!important;}
.calendar-filter-panel .select2-container--default .select2-selection--single{height:44px;border:1px solid var(--n-150);border-radius:12px;background:linear-gradient(180deg,var(--n-0),var(--n-25));box-shadow:0 8px 20px rgba(20,23,28,.04);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.calendar-filter-panel .select2-container--default .select2-selection--single .select2-selection__rendered{height:42px;line-height:normal;display:flex;align-items:center;padding-left:13px;padding-right:36px;color:var(--n-700);font-size:0.875rem;font-weight:700;}
.calendar-filter-panel .select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--n-400);font-weight:700;}
.calendar-filter-panel .select2-container--default .select2-selection--single .select2-selection__arrow{height:42px;right:9px;}
.calendar-filter-panel .select2-container--default.select2-container--focus .select2-selection--single,
.calendar-filter-panel .select2-container--default.select2-container--open .select2-selection--single{border-color:var(--n-300);box-shadow:0 0 0 .18rem rgba(22,119,242,.12),0 10px 24px rgba(20,23,28,.06);background:var(--n-0);}
.calendar-filter-panel .select2-container--default .select2-selection--single:hover{border-color:var(--b-200);}
.calendar-side-section{border-bottom:1px dashed var(--n-150);padding-bottom:1rem;margin-bottom:1rem;}
.calendar-side-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.calendar-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;}
.calendar-mini-stats div{background:var(--n-25);border:1px solid var(--n-100);border-radius:16px;padding:.75rem;text-align:center;}
.calendar-mini-stats span{display:block;font-size:0.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--n-400);font-weight:650;}
.calendar-mini-stats strong{display:block;font-size:1.25rem;color:var(--n-800);font-weight:650;}
.calendar-upcoming-list{display:flex;flex-direction:column;gap:.55rem;}
.calendar-upcoming-item{
  animation:calendarSoftRise .32s cubic-bezier(.2,.78,.25,1) both;
  border:1px solid var(--n-100);
  background:var(--n-0);
  border-radius:16px;
  padding:.7rem;
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  text-align:left;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.calendar-upcoming-item:hover{transform:translateY(-2px);border-color:var(--b-200);box-shadow:0 12px 28px rgba(20,23,28,.08);}
.calendar-upcoming-dot{width:.72rem;height:.72rem;border-radius:50%;flex:0 0 auto;margin-top:.22rem;box-shadow:0 0 0 4px rgba(22,119,242,.08);}
.calendar-upcoming-item strong{display:block;color:var(--n-800);font-size:0.875rem;line-height:1.2;}
.calendar-upcoming-item small{display:block;color:var(--n-500);font-size:0.75rem;line-height:1.3;margin-top:.15rem;}
.calendar-empty-side{background:var(--n-25);border:1px dashed var(--n-200);color:var(--n-500);border-radius:16px;padding:.9rem;font-size:0.8125rem;}
.calendar-detail-dialog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;text-align:left;margin-top:.8rem;}
.calendar-detail-dialog div{background:var(--n-25);border:1px solid var(--n-100);border-radius:16px;padding:.78rem;}
.calendar-detail-dialog span{display:block;font-size:0.6875rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--n-400);margin-bottom:.2rem;}
.calendar-detail-dialog strong{display:block;color:var(--n-800);font-size:0.9375rem;line-height:1.25;}
@media (max-width:1199.98px){.calendar-shell{grid-template-columns:1fr}.calendar-side-card{position:static}.calendar-side-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.calendar-side-section{margin:0;padding:0;border:0}.calendar-side-section:last-child{grid-column:1/-1}}
@media (max-width:767.98px){.calendar-card{padding:.85rem;border-radius:20px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-weekday-row{display:none}.calendar-month-grid{border-radius:16px}.calendar-week-days{display:none}.calendar-week-events{display:flex;flex-direction:column;min-height:0;padding:.8rem;gap:.5rem}.calendar-event-bar{margin:0;border-radius:12px}.calendar-event-bar.continues-left,.calendar-event-bar.continues-right{border-radius:12px;margin:0}.calendar-side-card{display:block}.calendar-side-section{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px dashed var(--n-150)}.calendar-detail-dialog{grid-template-columns:1fr}.calendar-month-nav h3{font-size:1.125rem}}
@media (prefers-reduced-motion:reduce){.calendar-shell,.calendar-card,.calendar-side-card,.calendar-toolbar,.calendar-weekday-row,.calendar-week,.calendar-side-section,.calendar-event-bar,.calendar-upcoming-item{animation:none!important;transform:none!important}.calendar-event-bar,.calendar-upcoming-item{transition:none!important}.calendar-event-bar:after{display:none!important}}

/* Calendario: eventos PL */
.calendar-event-bar.is-pl-event{
  border-left:4px solid rgba(255,255,255,.72);
}
.calendar-event-bar.is-pl-event strong:before{
  content:'PL';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:16px;
  margin-right:6px;
  border-radius:999px;
  background:rgba(255,255,255,.24);
  font-size:0.6875rem;
  letter-spacing:.05em;
  font-weight:650;
  vertical-align:1px;
}
.calendar-upcoming-item.is-pl-event{
  background:linear-gradient(135deg,var(--v-50),var(--n-0));
  border-color:var(--v-100);
}

/* Llamadas: filtros Select2/AJAX */
.confirmation-filter-bar .select2-container{width:100%!important;min-width:0;}
.confirmation-filter-bar .select2-container--default .select2-selection--single{height:46px;border:1px solid var(--n-200);border-radius:12px;background:linear-gradient(180deg,var(--n-0),var(--n-25));box-shadow:0 8px 20px rgba(20,23,28,.035);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.confirmation-filter-bar .select2-container--default .select2-selection--single .select2-selection__rendered{height:44px;line-height:normal;display:flex;align-items:center;padding-left:13px;padding-right:36px;color:var(--n-700);font-size:0.875rem;font-weight:700;}
.confirmation-filter-bar .select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--n-400);font-weight:700;}
.confirmation-filter-bar .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px;right:8px;}
.confirmation-filter-bar .select2-container--default.select2-container--focus .select2-selection--single,
.confirmation-filter-bar .select2-container--default.select2-container--open .select2-selection--single{border-color:var(--n-300);box-shadow:0 0 0 .18rem rgba(22,119,242,.12),0 10px 24px rgba(20,23,28,.06);background:var(--n-0);}
.confirmation-filter-option{display:flex;flex-direction:column;gap:2px;min-width:0;}
.confirmation-filter-option strong{font-size:0.75rem;color:var(--n-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.confirmation-filter-option span{font-size:0.6875rem;color:var(--n-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.confirmation-work-form .select2-container--default .select2-selection--single{height:38px;border:1px solid var(--n-200);border-radius:.5rem;background:var(--n-0);}
.confirmation-work-form .select2-container--default .select2-selection--single .select2-selection__rendered{height:36px;line-height:normal;display:flex;align-items:center;padding-left:.75rem;padding-right:34px;font-size:0.875rem;}
.confirmation-work-form .select2-container--default .select2-selection--single .select2-selection__arrow{height:36px;right:6px;}
.swal2-container .select2-container{z-index:1065;width:100%!important;}
.swal2-container .select2-container--default .select2-selection--single{height:42px;border:1px solid var(--n-200);border-radius:.65rem;}
.swal2-container .select2-container--default .select2-selection--single .select2-selection__rendered{height:40px;line-height:normal;display:flex;align-items:center;padding-left:.75rem;padding-right:34px;}
.swal2-container .select2-container--default .select2-selection--single .select2-selection__arrow{height:40px;}


/* v23 · Llamadas: teléfono del invitado y WhatsApp */
.confirmation-contact-links .confirmation-guest-phone{font-size:0.875rem;font-weight:650;color:var(--lx-navy);background:var(--b-50);border:1px solid var(--b-100);border-radius:12px;padding:6px 9px;display:inline-flex;align-items:center;gap:3px}
.confirmation-contact-links .confirmation-guest-phone:hover{background:var(--b-100);color:var(--lx-blue);text-decoration:none}
.confirmation-detail-tools{gap:8px;flex-wrap:wrap}
.confirmation-detail-tools .btn-success{background:var(--g-500);border-color:var(--g-500);box-shadow:0 8px 20px rgba(31,157,98,.16)}
.confirmation-detail-tools .btn-success:hover{background:var(--g-700);border-color:var(--g-700)}


.confirmation-workshop-history-status{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--lx-border);border-radius:16px;padding:13px 14px;background:var(--n-25);margin:-3px 0 14px;box-shadow:0 8px 24px rgba(20,23,28,.035)}
.confirmation-workshop-history-status>i{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}
.confirmation-workshop-history-status span,.confirmation-workshop-history-status strong,.confirmation-workshop-history-status small{display:block}
.confirmation-workshop-history-status span{font-size:0.6875rem;font-weight:650;letter-spacing:.08em;color:var(--n-400)}
.confirmation-workshop-history-status strong{font-size:0.8125rem;color:var(--n-700);margin-top:3px}
.confirmation-workshop-history-status small{font-size:0.6875rem;color:var(--n-500);line-height:1.45;margin-top:3px}
.confirmation-workshop-history-status.has-history{border-color:var(--a-200);background:linear-gradient(180deg,var(--a-50),var(--n-0))}
.confirmation-workshop-history-status.has-history>i{background:var(--a-50);color:var(--a-500)}
.confirmation-workshop-history-status.no-history{border-color:var(--n-200);background:linear-gradient(180deg,var(--g-50),var(--n-0))}
.confirmation-workshop-history-status.no-history>i{background:var(--g-50);color:var(--g-700)}
.confirmation-change-count{min-width:28px;height:28px;border-radius:12px;background:var(--a-50);color:var(--a-500);display:grid;place-items:center;font-size:0.75rem}
.confirmation-change-list{display:grid;gap:8px}
.confirmation-change-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--n-100);border-radius:12px;padding:11px;background:var(--n-0)}
.confirmation-change-item>i{width:34px;height:34px;border-radius:10px;background:var(--a-50);color:var(--a-500);display:grid;place-items:center;font-size:0.75rem}
.confirmation-change-item strong,.confirmation-change-item span,.confirmation-change-item small{display:block;min-width:0}
.confirmation-change-item strong{font-size:0.75rem;color:var(--n-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.confirmation-change-item span{font-size:0.6875rem;color:var(--n-600);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.confirmation-change-item small{font-size:0.6875rem;color:var(--n-400);line-height:1.45;margin-top:5px}
@media(max-width:767px){.confirmation-change-item strong,.confirmation-change-item span{white-space:normal}.confirmation-workshop-history-status{margin-top:0}}

/* Llamadas de confirmación · rediseño plano v25
   Estilo más limpio, sin degradados dentro del módulo, conservando funcionalidad. */
.confirmation-workspace-head{
  align-items:flex-start;
  padding:0 2px;
  animation:confirmationSoftIn .28s ease both;
}
.confirmation-workspace-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--n-500)!important;
  letter-spacing:.06em!important;
}
.confirmation-workspace-kicker:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:99px;
  background:var(--b-500);
  box-shadow:0 0 0 4px var(--b-50);
}
.confirmation-workspace-head h1{
  letter-spacing:-.025em;
  color:var(--n-800);
}
.confirmation-workspace-head p{
  max-width:680px;
  color:var(--n-500);
}
.confirmation-workspace-summary{
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:16px;
  box-shadow:0 10px 26px rgba(20,23,28,.045);
  padding:13px 16px;
}
.confirmation-workspace-summary>i{
  background:var(--b-50);
  color:var(--b-500);
  border:1px solid var(--b-100);
  border-radius:12px;
}
.confirmation-workspace-summary span{
  color:var(--n-400);
}
.confirmation-workspace-summary strong{
  color:var(--n-800);
}
.confirmation-filter-bar{
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:20px;
  padding:16px;
  box-shadow:0 10px 28px rgba(20,23,28,.04);
  animation:confirmationSoftIn .32s ease .03s both;
}
.confirmation-filter-bar label{
  color:var(--n-500);
  font-size:0.6875rem;
  letter-spacing:.04em;
  margin-bottom:6px;
}
.confirmation-search-box input,
.confirmation-filter-bar .form-select,
.confirmation-filter-bar .select2-container--default .select2-selection--single{
  background:var(--n-0)!important;
  border:1px solid var(--n-150)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.confirmation-search-box input{
  color:var(--n-800);
  font-weight:650;
}
.confirmation-search-box input::placeholder{
  color:var(--n-400);
  font-weight:600;
}
.confirmation-search-box i{
  color:var(--n-400);
}
.confirmation-filter-bar .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--n-800);
  font-weight:700;
}
.confirmation-filter-bar .select2-container--default.select2-container--focus .select2-selection--single,
.confirmation-filter-bar .select2-container--default.select2-container--open .select2-selection--single,
.confirmation-search-box input:focus{
  border-color:var(--b-500)!important;
  box-shadow:0 0 0 4px rgba(22,119,242,.11)!important;
}
.confirmation-clear-filters{
  background:var(--n-25);
  border:1px solid var(--n-150);
  color:var(--n-600);
  box-shadow:none;
}
.confirmation-clear-filters:hover{
  background:var(--n-100);
  color:var(--n-800);
}
.confirmation-state-filters{
  gap:9px;
  margin-bottom:16px;
  animation:confirmationSoftIn .34s ease .06s both;
}
.confirmation-state-filter{
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:12px;
  color:var(--n-600);
  padding:9px 12px;
  box-shadow:none;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.confirmation-state-filter:hover{
  transform:translateY(-1px);
  background:var(--n-25);
  border-color:var(--n-200);
}
.confirmation-state-filter i{
  color:var(--n-400);
}
.confirmation-state-filter strong{
  background:var(--n-50);
  color:var(--n-500);
}
.confirmation-state-filter.active{
  background:var(--b-50);
  border-color:var(--b-200);
  color:var(--b-600);
}
.confirmation-state-filter.active i{
  color:var(--b-500);
}
.confirmation-state-filter.active strong{
  background:var(--b-100);
  color:var(--b-600);
}
.confirmation-split-screen{
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:20px;
  box-shadow:0 14px 38px rgba(20,23,28,.055);
  animation:confirmationSoftIn .36s ease .08s both;
}
.confirmation-list-pane{
  background:var(--n-25);
  border-right:1px solid var(--n-100);
}
.confirmation-list-heading{
  background:var(--n-0);
  border-bottom:1px solid var(--n-100);
  padding:17px 18px 14px;
}
.confirmation-list-heading span{
  color:var(--n-400);
  letter-spacing:.06em;
}
.confirmation-list-heading strong{
  color:var(--n-800);
}
.confirmation-list-heading small{
  color:var(--n-400);
}
.confirmation-call-list{
  padding:12px;
}
.confirmation-person-card{
  background:var(--n-0);
  border:1px solid var(--n-100);
  border-radius:16px;
  padding:13px;
  margin-bottom:9px;
  box-shadow:none;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
  animation:confirmationItemIn .22s ease both;
}
.confirmation-person-card:hover{
  background:var(--n-0);
  border-color:var(--n-200);
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(20,23,28,.045);
}
.confirmation-person-card.active{
  background:var(--n-25);
  border-color:var(--b-500);
  box-shadow:inset 3px 0 0 var(--b-500),0 10px 24px rgba(22,119,242,.09);
}
.confirmation-person-card-head{
  grid-template-columns:40px minmax(0,1fr) auto;
}
.confirmation-person-avatar,
.confirmation-detail-avatar{
  background:var(--b-50)!important;
  color:var(--b-600)!important;
  border:1px solid var(--b-100);
  box-shadow:none!important;
}
.confirmation-person-avatar{
  width:40px;
  height:40px;
  border-radius:12px;
}
.confirmation-person-main strong{
  color:var(--n-800);
  font-weight:650;
}
.confirmation-person-main span{
  color:var(--n-500);
}
.confirmation-person-context{
  color:var(--n-500);
}
.confirmation-person-context i{
  color:var(--n-400);
}
.confirmation-person-footer>strong{
  background:var(--n-50);
  color:var(--n-600);
  border:1px solid var(--n-100);
}
.confirmation-work-state{
  border:1px solid transparent;
  padding:5px 9px;
  border-radius:999px;
}
.confirmation-work-state-pending{
  background:var(--b-50);
  border-color:var(--b-100);
  color:var(--b-600);
}
.confirmation-work-state-urgent{
  background:var(--a-50);
  border-color:var(--a-100);
  color:var(--a-700);
}
.confirmation-work-state-confirmed{
  background:var(--g-50);
  border-color:var(--g-100);
  color:var(--g-700);
}
.confirmation-work-state-negative{
  background:var(--r-50);
  border-color:var(--r-100);
  color:var(--r-700);
}
.confirmation-work-state-completed,
.confirmation-work-state-closed{
  background:var(--n-50);
  border-color:var(--n-150);
  color:var(--n-500);
}
.confirmation-last-outcome{
  border:1px solid transparent;
  border-radius:999px;
}
.confirmation-last-outcome.muted{
  background:var(--n-50);
  border-color:var(--n-150);
  color:var(--n-500);
}
.confirmation-last-outcome.outcome-confirmed{
  background:var(--g-50);
  border-color:var(--g-100);
  color:var(--g-700);
}
.confirmation-last-outcome.outcome-not_attending,
.confirmation-last-outcome.outcome-invitation_rejected{
  background:var(--r-50);
  border-color:var(--r-100);
  color:var(--r-700);
}
.confirmation-last-outcome.outcome-invitation_sent{
  background:var(--b-50);
  border-color:var(--b-100);
  color:var(--b-600);
}
.confirmation-detail-pane{
  background:var(--n-0);
}
.confirmation-detail-shell{
  padding:22px;
  animation:confirmationSoftIn .24s ease both;
}
.confirmation-detail-header{
  border-bottom:1px solid var(--n-100);
  padding-bottom:18px;
}
.confirmation-detail-title h2{
  color:var(--n-800);
}
.confirmation-detail-progress{
  background:var(--n-25);
  border:1px solid var(--n-150);
  border-radius:16px;
  padding:10px 14px;
  min-width:104px;
}
.confirmation-detail-progress span{
  color:var(--n-400);
}
.confirmation-detail-progress strong{
  color:var(--n-800);
}
.confirmation-contact-links a{
  border:1px solid var(--n-150);
  border-radius:999px;
  padding:7px 10px;
  background:var(--n-0);
  color:var(--n-600);
}
.confirmation-contact-links a:hover{
  background:var(--n-25);
  border-color:var(--n-200);
  color:var(--b-600);
}
.confirmation-contact-links .confirmation-guest-phone{
  background:var(--b-50);
  border-color:var(--b-100);
  color:var(--b-600);
  font-size:0.9375rem;
  padding:8px 12px;
}
.confirmation-info-grid{
  gap:12px;
  margin:18px 0;
}
.confirmation-info-card{
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:16px;
  padding:14px;
  box-shadow:none;
}
.confirmation-info-card span{
  color:var(--n-400);
}
.confirmation-info-card strong{
  color:var(--n-800);
  font-weight:650;
}
.confirmation-info-card small{
  color:var(--n-500);
}
.confirmation-workshop-history-status{
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:16px;
  box-shadow:none;
}
.confirmation-workshop-history-status>i{
  background:var(--n-50);
  color:var(--n-500);
  border:1px solid var(--n-150);
}
.confirmation-workshop-history-status.has-history{
  background:var(--n-0)!important;
  border-color:var(--a-100);
}
.confirmation-workshop-history-status.has-history>i{
  background:var(--a-50);
  color:var(--a-700);
  border-color:var(--a-100);
}
.confirmation-workshop-history-status.no-history>i{
  background:var(--g-50);
  color:var(--g-700);
  border-color:var(--g-100);
}
.confirmation-detail-tools{
  gap:9px;
  margin:0 0 12px;
}
.confirmation-detail-tools .btn,
.confirmation-form-actions .btn{
  box-shadow:none!important;
}
.confirmation-detail-tools .btn-success{
  background:var(--g-500);
  border-color:var(--g-500);
}
.confirmation-detail-tools .btn-success:hover{
  background:var(--g-700);
  border-color:var(--g-700);
}
.confirmation-detail-section{
  border-top:1px solid var(--n-100);
  padding-top:18px;
  margin-top:18px;
}
.confirmation-section-heading span:first-child{
  color:var(--n-400);
}
.confirmation-section-heading h3{
  color:var(--n-800);
  letter-spacing:-.02em;
}
.confirmation-history-list{
  gap:9px;
}
.confirmation-history-item,
.confirmation-change-item{
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:16px;
  box-shadow:none;
}
.confirmation-history-item{
  padding:12px;
}
.confirmation-history-number{
  background:var(--b-50);
  border:1px solid var(--b-100);
  color:var(--b-600);
  border-radius:10px;
}
.confirmation-edit-call{
  background:var(--n-25);
  border:1px solid var(--n-150);
  color:var(--n-500);
}
.confirmation-edit-call:hover{
  background:var(--b-50);
  border-color:var(--b-100);
  color:var(--b-600);
}
.confirmation-history-empty{
  background:var(--n-0);
  border:1px dashed var(--n-200);
  color:var(--n-400);
}
.confirmation-work-form{
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:16px;
  padding:16px;
  box-shadow:0 8px 22px rgba(20,23,28,.035);
}
.confirmation-form-title{
  padding-bottom:12px;
  border-bottom:1px solid var(--n-100);
}
.confirmation-form-title span{
  color:var(--n-400);
}
.confirmation-form-title strong{
  color:var(--n-800);
}
.confirmation-form-title i{
  background:var(--b-50);
  border:1px solid var(--b-100);
  color:var(--b-600);
}
.confirmation-work-form .form-control,
.confirmation-work-form .form-select,
.confirmation-work-form .select2-container--default .select2-selection--single{
  background:var(--n-0)!important;
  border-color:var(--n-150)!important;
  box-shadow:none!important;
}
.confirmation-work-form .form-control:focus,
.confirmation-work-form .select2-container--focus .select2-selection--single{
  border-color:var(--b-500)!important;
  box-shadow:0 0 0 4px rgba(22,119,242,.1)!important;
}
.confirmation-call-locked{
  background:var(--n-0);
  border-color:var(--n-150);
}
.confirmation-call-locked>i{
  background:var(--n-50);
  border:1px solid var(--n-150);
}
.confirmation-detail-placeholder,
.confirmation-detail-loading,
.confirmation-call-empty{
  color:var(--n-400);
}
.confirmation-detail-placeholder i,
.confirmation-call-empty i{
  background:var(--n-50);
  border:1px solid var(--n-150);
  color:var(--n-400);
}
.confirmation-detail-placeholder strong,
.confirmation-call-empty strong{
  color:var(--n-600);
}
.select2-dropdown .confirmation-filter-option strong{
  color:var(--n-800);
}
.select2-dropdown .confirmation-filter-option span{
  color:var(--n-500);
}
@keyframes confirmationSoftIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes confirmationItemIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:991px){
  .confirmation-list-pane{
    border-right:0;
    border-bottom:1px solid var(--n-100);
  }
}
@media(max-width:767px){
  .confirmation-detail-progress{
    text-align:left;
    margin-left:0;
  }
  .confirmation-contact-links a,
  .confirmation-contact-links .confirmation-guest-phone{
    width:100%;
    justify-content:center;
  }
}
@media(prefers-reduced-motion:reduce){
  .confirmation-workspace-head,
  .confirmation-filter-bar,
  .confirmation-state-filters,
  .confirmation-split-screen,
  .confirmation-detail-shell,
  .confirmation-person-card{
    animation:none!important;
    transition:none!important;
  }
}


/* v26 · Llamadas: tarjetas del listado más limpias estilo CRM */
.confirmation-call-list{
  padding:14px;
  display:grid;
  gap:12px;
  align-content:start;
}
.confirmation-person-card{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  border-radius:20px;
}
.confirmation-person-card-surface{
  position:relative;
  background:var(--n-0);
  border:1px solid var(--n-100);
  border-radius:20px;
  padding:16px;
  box-shadow:0 10px 26px rgba(20,23,28,.045);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.confirmation-person-card:hover .confirmation-person-card-surface{
  border-color:var(--n-200);
  box-shadow:0 16px 32px rgba(20,23,28,.06);
  transform:translateY(-1px);
}
.confirmation-person-card.active .confirmation-person-card-surface{
  border-color:var(--b-100);
  background:var(--n-0);
  box-shadow:0 18px 36px rgba(22,119,242,.10);
}
.confirmation-person-card.active .confirmation-person-card-surface::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:20px 0 0 20px;
  background:var(--b-400);
}
.confirmation-person-card-head{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.confirmation-person-avatar{
  width:48px;
  height:48px;
  border-radius:16px;
  background:var(--b-50)!important;
  color:var(--b-500)!important;
  border:1px solid var(--b-100);
  font-size:0.9375rem;
  font-weight:650;
}
.confirmation-person-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-top:2px;
}
.confirmation-person-main-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.confirmation-person-main strong{
  font-size:0.9375rem;
  line-height:1.2;
  letter-spacing:-.015em;
  color:var(--n-800);
}
.confirmation-person-phone{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  background:var(--n-25);
  border:1px solid var(--n-100);
  border-radius:999px;
  padding:7px 10px;
  color:var(--n-500)!important;
  font-size:0.75rem!important;
  font-weight:700;
}
.confirmation-person-phone i{
  color:var(--n-400);
  font-size:0.6875rem!important;
  margin:0!important;
}
.confirmation-person-side{
  display:flex;
  justify-content:flex-end;
  padding-top:2px;
}
.confirmation-work-state{
  padding:6px 10px;
  border-radius:999px;
  font-size:0.6875rem;
  letter-spacing:.02em;
  box-shadow:none;
}
.confirmation-person-meta-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:14px 0 12px;
}
.confirmation-person-meta-item{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  align-items:flex-start;
  background:var(--n-25);
  border:1px solid var(--n-100);
  border-radius:16px;
  padding:10px 11px;
}
.confirmation-person-meta-item>i{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--b-50);
  color:var(--b-400);
  font-size:0.75rem;
}
.confirmation-person-meta-item span,
.confirmation-person-meta-item strong{
  display:block;
  min-width:0;
}
.confirmation-person-meta-item span{
  font-size:0.6875rem;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--n-400);
}
.confirmation-person-meta-item strong{
  margin-top:3px;
  color:var(--n-700);
  font-size:0.75rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.confirmation-person-context{
  display:none;
}
.confirmation-person-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:2px;
}
.confirmation-person-outcome-wrap{
  min-width:0;
  flex:1 1 auto;
}
.confirmation-last-outcome{
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  font-size:0.6875rem;
  font-weight:650;
}
.confirmation-person-progress{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  background:var(--n-50)!important;
  border:1px solid var(--n-100)!important;
  color:var(--n-600)!important;
  border-radius:999px!important;
  padding:7px 11px!important;
  font-size:0.6875rem!important;
  font-weight:650!important;
}
.confirmation-person-progress i{
  color:var(--n-400);
  font-size:0.6875rem;
}
@media(max-width:991px){
  .confirmation-person-card-head{
    grid-template-columns:46px minmax(0,1fr);
  }
  .confirmation-person-side{
    grid-column:1 / -1;
    justify-content:flex-start;
    padding-top:0;
  }
}
@media(max-width:767px){
  .confirmation-call-list{
    padding:10px;
    gap:10px;
  }
  .confirmation-person-card-surface{
    padding:14px;
    border-radius:20px;
  }
  .confirmation-person-card-head{
    grid-template-columns:42px minmax(0,1fr);
    gap:10px;
  }
  .confirmation-person-avatar{
    width:42px;
    height:42px;
    border-radius:12px;
  }
  .confirmation-person-main strong{
    font-size:0.875rem;
  }
  .confirmation-person-phone{
    width:100%;
    max-width:none;
  }
  .confirmation-person-meta-item strong{
    white-space:normal;
  }
  .confirmation-person-footer{
    flex-direction:column;
    align-items:stretch;
  }
  .confirmation-person-progress{
    justify-content:center;
  }
}


/* v27 · Llamadas: tarjetas compactas blancas y minimalistas */
.confirmation-call-list{
  padding:12px;
  display:grid;
  gap:10px;
  align-content:start;
  background:var(--n-25);
}
.confirmation-person-card{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  border-radius:16px;
}
.confirmation-person-card-surface{
  position:relative;
  background:var(--n-0);
  border:1px solid var(--n-100);
  border-radius:16px;
  padding:14px 15px;
  box-shadow:0 6px 18px rgba(20,23,28,.035);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.confirmation-person-card:hover .confirmation-person-card-surface{
  border-color:var(--n-150);
  box-shadow:0 10px 22px rgba(20,23,28,.05);
  transform:translateY(-1px);
}
.confirmation-person-card.active .confirmation-person-card-surface{
  background:var(--n-0);
  border-color:var(--n-200);
  box-shadow:0 12px 26px rgba(20,23,28,.065);
}
.confirmation-person-card.active .confirmation-person-card-surface::before{
  content:'';
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:3px;
  border-radius:999px;
  background:var(--b-500);
}
.confirmation-person-card-head{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.confirmation-person-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--b-50)!important;
  border:1px solid var(--n-150)!important;
  color:var(--n-600)!important;
  font-size:0.8125rem;
  font-weight:650;
  box-shadow:none!important;
}
.confirmation-person-main{
  min-width:0;
  padding-top:1px;
}
.confirmation-person-name-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.confirmation-person-name-row>strong{
  color:var(--n-800);
  font-size:0.875rem;
  line-height:1.22;
  font-weight:650;
  letter-spacing:-.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.confirmation-person-subline{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:5px;
  color:var(--n-500);
  font-size:0.6875rem;
}
.confirmation-person-subline>span:first-child{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:0;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.confirmation-person-subline i{
  color:var(--n-400);
  font-size:0.6875rem;
}
.confirmation-work-state{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:0;
  border:0!important;
  background:transparent!important;
  color:var(--n-500)!important;
  border-radius:0;
  font-size:0.6875rem;
  font-weight:700;
  white-space:nowrap;
}
.confirmation-work-state i{
  color:var(--n-400);
  font-size:0.6875rem;
}
.confirmation-person-summary{
  display:grid;
  gap:5px;
  margin:10px 0 9px 54px;
  color:var(--n-600);
  font-size:0.6875rem;
  line-height:1.35;
}
.confirmation-person-summary span{
  display:block;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.confirmation-person-summary i{
  width:15px;
  color:var(--n-400);
  font-size:0.6875rem;
  margin-right:6px;
}
.confirmation-person-meta-grid,
.confirmation-person-meta-item,
.confirmation-person-side,
.confirmation-person-context{
  display:none!important;
}
.confirmation-person-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-left:54px;
  padding:0;
}
.confirmation-person-outcome-wrap{
  min-width:0;
}
.confirmation-last-outcome{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:4px 8px;
  border-radius:999px;
  font-size:0.6875rem;
  font-weight:700;
  border:1px solid var(--n-100);
  background:var(--n-50);
  color:var(--n-500);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.confirmation-last-outcome.muted{
  background:var(--n-50);
  border-color:var(--n-100);
  color:var(--n-400);
}
.confirmation-last-outcome.outcome-confirmed{
  background:var(--g-50);
  border-color:var(--g-100);
  color:var(--g-700);
}
.confirmation-last-outcome.outcome-not_attending,
.confirmation-last-outcome.outcome-invitation_rejected{
  background:var(--r-50);
  border-color:var(--r-100);
  color:var(--r-700);
}
.confirmation-last-outcome.outcome-invitation_sent{
  background:var(--b-50);
  border-color:var(--b-100);
  color:var(--b-500);
}
.confirmation-person-progress{
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--n-500)!important;
  border-radius:0!important;
  font-size:0.6875rem!important;
  font-weight:650!important;
}
.confirmation-person-progress i{
  color:var(--n-400);
  font-size:0.6875rem;
}
@media(max-width:767px){
  .confirmation-call-list{padding:10px;gap:9px}
  .confirmation-person-card-surface{padding:13px;border-radius:16px}
  .confirmation-person-card-head{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .confirmation-person-avatar{width:38px;height:38px}
  .confirmation-person-name-row{align-items:flex-start}
  .confirmation-person-name-row>strong{white-space:normal;font-size:0.875rem}
  .confirmation-person-summary,
  .confirmation-person-footer{margin-left:48px}
}


/* v28 · Ajustes responsive: menú móvil scrollable y botón Opciones */
@media(max-width:991.98px){
  .sidebar{
    height:100vh;
    height:100dvh;
    max-height:100vh;
    max-height:100dvh;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }
  .sidebar-brand,
  .sidebar-label,
  .sidebar-nav,
  .sidebar-profile{
    flex:0 0 auto;
  }
  .sidebar-profile{
    margin-top:16px;
  }
}

@media(max-width:767.98px){
  .global-page-actions .global-options-button{
    width:42px;
    min-width:42px;
    height:38px;
    min-height:38px;
    padding:0;
    border-radius:12px;
    font-size:0;
    line-height:1;
    color:var(--n-600);
  }
  .global-page-actions .global-options-button span{
    display:none!important;
  }
  .global-page-actions .global-options-button:before{
    content:'⋮';
    font-family:inherit;
    font-size:1.25rem;
    font-weight:650;
    line-height:1;
    transform:translateY(-1px);
  }
  .global-page-actions .global-options-button:after{
    display:none!important;
  }
  .global-page-actions .dropdown-menu{
    max-width:min(300px, calc(100vw - 24px));
    max-height:calc(100vh - 96px);
    max-height:calc(100dvh - 96px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}

/* v29 · Sidebar con perfil fijo y scroll solo en módulos */
.sidebar{
  min-height:0;
}
.sidebar-brand,
.sidebar-profile{
  flex:0 0 auto;
}
.sidebar-menu-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:3px;
  margin-right:-3px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.sidebar-menu-scroll::-webkit-scrollbar{
  width:6px;
}
.sidebar-menu-scroll::-webkit-scrollbar-thumb{
  background:var(--n-200);
  border-radius:999px;
}
.sidebar-menu-scroll::-webkit-scrollbar-track{
  background:transparent;
}
.sidebar-profile{
  margin-top:16px;
  padding-bottom:env(safe-area-inset-bottom);
  background:var(--n-0);
}
@media(max-width:991.98px){
  .sidebar{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding-bottom:16px;
  }
  .sidebar-menu-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:10px;
  }
  .sidebar-profile{
    margin-top:12px;
    padding-top:14px;
    padding-bottom:calc(6px + env(safe-area-inset-bottom));
  }
}


/* v30 · Configuración de plantilla WhatsApp para llamadas */
.whatsapp-template-card textarea{
  font-size:0.8125rem;
  line-height:1.6;
  resize:vertical;
}
.whatsapp-template-vars{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.whatsapp-template-vars span{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--n-150);
  background:var(--n-25);
  color:var(--n-600);
  border-radius:999px;
  padding:5px 9px;
  font-size:0.6875rem;
  font-weight:650;
}

/* v31 · Configuración seccionada con menú lateral interno */
.settings-page-head{
  align-items:flex-start;
}
.settings-workspace{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.settings-section-nav{
  position:sticky;
  top:18px;
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:20px;
  padding:10px;
  box-shadow:0 10px 28px rgba(20,23,28,.04);
}
.settings-section-nav button{
  width:100%;
  border:0;
  background:transparent;
  color:var(--n-500);
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-areas:"icon label" "icon hint";
  column-gap:10px;
  text-align:left;
  align-items:center;
  border-radius:12px;
  padding:10px 11px;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.settings-section-nav button+button{
  margin-top:4px;
}
.settings-section-nav button i{
  grid-area:icon;
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--n-50);
  color:var(--n-400);
  font-size:0.8125rem;
  transition:background .16s ease,color .16s ease;
}
.settings-section-nav button span{
  grid-area:label;
  font-size:0.75rem;
  font-weight:650;
  color:var(--n-700);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.settings-section-nav button small{
  grid-area:hint;
  display:block;
  font-size:0.6875rem;
  line-height:1.25;
  color:var(--n-400);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.settings-section-nav button:hover{
  background:var(--n-25);
}
.settings-section-nav button.active{
  background:var(--b-50);
  color:var(--b-600);
}
.settings-section-nav button.active i{
  background:var(--b-100);
  color:var(--b-600);
}
.settings-section-nav button.active span{
  color:var(--b-600);
}
.settings-section-content{
  min-width:0;
}
.settings-sections-form{
  display:block;
}
.settings-section-panel{
  display:none;
  animation:settingsPanelIn .2s ease both;
}
.settings-section-panel.active{
  display:block;
}
.settings-section-heading{
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:20px;
  padding:18px 20px;
  margin-bottom:14px;
  box-shadow:0 10px 28px rgba(20,23,28,.035);
}
.settings-section-heading span{
  display:block;
  font-size:0.6875rem;
  font-weight:650;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--n-400);
  margin-bottom:4px;
}
.settings-section-heading h3{
  margin:0;
  font-size:1rem;
  font-weight:650;
  letter-spacing:-.025em;
  color:var(--n-800);
}
.settings-section-heading p{
  margin:5px 0 0;
  color:var(--n-500);
  font-size:0.75rem;
}
.settings-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.settings-card-grid .setting-card{
  margin:0;
}
.settings-wide-card{
  grid-column:1/-1;
}
.settings-catalog-stack{
  display:grid;
  gap:14px;
}
.settings-section-panel .settings-catalog-card{
  margin-top:0!important;
}
.whatsapp-template-vars{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.whatsapp-template-vars span{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--n-150);
  border-radius:999px;
  background:var(--n-25);
  color:var(--n-500);
  padding:5px 8px;
  font-size:0.6875rem;
  font-weight:650;
}
@keyframes settingsPanelIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:991.98px){
  .settings-workspace{
    grid-template-columns:1fr;
  }
  .settings-section-nav{
    position:relative;
    top:auto;
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding:9px;
    border-radius:16px;
    scroll-snap-type:x proximity;
  }
  .settings-section-nav button{
    min-width:190px;
    scroll-snap-align:start;
  }
  .settings-section-nav button+button{
    margin-top:0;
  }
}
@media(max-width:767.98px){
  .settings-card-grid{
    grid-template-columns:1fr;
  }
  .settings-section-heading{
    padding:16px;
    border-radius:16px;
  }
  .settings-section-nav button{
    min-width:176px;
  }
}
@media(prefers-reduced-motion:reduce){
  .settings-section-panel{
    animation:none;
  }
}


/* v34 · Asistente Liderex flotante */
.ai-assistant-toggle{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1060;
  border:0;
  border-radius:999px;
  padding:13px 18px;
  background:var(--n-800);
  color:var(--n-0);
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:0.8125rem;
  font-weight:650;
  box-shadow:0 18px 42px rgba(20,23,28,.22);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.ai-assistant-toggle:hover{
  transform:translateY(-2px);
  background:var(--n-800);
  box-shadow:0 22px 52px rgba(20,23,28,.28);
}
.ai-assistant-toggle i{
  color:var(--a-300);
  font-size:1rem;
}
.ai-assistant-backdrop{
  display:none;
}
.ai-assistant-backdrop.show{
  display:block;
  position:fixed;
  inset:0;
  z-index:1050;
  background:rgba(20,23,28,.30);
  backdrop-filter:blur(2px);
}
.ai-assistant-panel{
  position:fixed;
  top:18px;
  right:18px;
  bottom:18px;
  width:min(430px,calc(100vw - 28px));
  z-index:1061;
  display:flex;
  flex-direction:column;
  background:var(--n-0);
  border:1px solid var(--n-150);
  border-radius:20px;
  box-shadow:0 28px 90px rgba(20,23,28,.24);
  transform:translateX(calc(100% + 34px));
  opacity:0;
  pointer-events:none;
  transition:transform .22s ease,opacity .18s ease;
  overflow:hidden;
}
.ai-assistant-panel.open{
  transform:translateX(0);
  opacity:1;
  pointer-events:auto;
}
.ai-assistant-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 18px 14px;
  border-bottom:1px solid var(--n-100);
  background:linear-gradient(135deg,var(--n-25),var(--b-50));
}
.ai-assistant-head span{
  display:block;
  font-size:0.6875rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--n-400);
  font-weight:650;
  margin-bottom:2px;
}
.ai-assistant-head h3{
  margin:0;
  font-size:1rem;
  font-weight:650;
  color:var(--n-800);
  letter-spacing:-.025em;
}
.ai-assistant-intro{
  margin:14px 14px 0;
  padding:13px 14px;
  border:1px solid var(--n-100);
  border-radius:16px;
  background:var(--n-0);
}
.ai-assistant-intro strong{
  display:block;
  font-size:0.75rem;
  color:var(--n-800);
  margin-bottom:4px;
}
.ai-assistant-intro small{
  display:block;
  color:var(--n-500);
  font-size:0.6875rem;
  line-height:1.45;
}
.ai-quick-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  padding:12px 14px 4px;
}
.ai-quick-actions button{
  border:1px solid var(--n-150);
  background:var(--n-0);
  color:var(--n-600);
  border-radius:999px;
  padding:7px 10px;
  font-size:0.6875rem;
  font-weight:650;
}
.ai-quick-actions button:hover{
  background:var(--n-25);
  color:var(--b-600);
}
.ai-assistant-messages{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ai-message{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:9px;
  align-items:flex-start;
}
.ai-message-user{
  grid-template-columns:minmax(0,1fr) 30px;
}
.ai-message-user .ai-message-avatar{
  grid-column:2;
  grid-row:1;
  background:var(--b-50);
  color:var(--b-600);
}
.ai-message-user .ai-message-bubble{
  grid-column:1;
  grid-row:1;
  justify-self:end;
  background:var(--b-600);
  color:var(--n-0);
  border-color:var(--b-600);
}
.ai-message-avatar{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--b-50);
  color:var(--n-500);
  font-size:0.75rem;
}
.ai-message-bubble{
  max-width:100%;
  background:var(--n-0);
  border:1px solid var(--n-100);
  border-radius:16px;
  padding:11px 12px;
  box-shadow:0 7px 18px rgba(20,23,28,.035);
  color:var(--n-700);
  font-size:0.75rem;
  line-height:1.55;
}
.ai-message-text strong{
  color:inherit;
}
.ai-result-list{
  display:grid;
  gap:7px;
  margin-top:10px;
}
.ai-result-card{
  display:grid;
  gap:2px;
  padding:9px 10px;
  border-radius:12px;
  border:1px solid var(--n-100);
  background:var(--n-25);
}
.ai-result-card strong{
  color:var(--n-800);
  font-size:0.75rem;
}
.ai-result-card span,
.ai-result-card small{
  color:var(--n-500);
  font-size:0.6875rem;
}
.ai-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.ai-result-actions .btn{
  border-radius:999px;
  font-size:0.6875rem;
  font-weight:650;
}
.ai-assistant-form{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 42px;
  gap:8px;
  align-items:end;
  padding:13px;
  border-top:1px solid var(--n-100);
  background:var(--n-0);
}
.ai-assistant-form textarea{
  width:100%;
  min-height:42px;
  max-height:120px;
  resize:none;
  border:1px solid var(--n-150);
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
  font-size:0.75rem;
  outline:none;
}
.ai-assistant-form textarea:focus{
  border-color:var(--n-300);
  box-shadow:0 0 0 .18rem rgba(22,119,242,.12);
}
.ai-attach-button,
.ai-send-button{
  width:38px;
  height:42px;
  border:0;
  border-radius:12px;
  display:grid;
  place-items:center;
}
.ai-attach-button{
  background:var(--n-50);
  color:var(--n-500);
}
.ai-send-button{
  width:42px;
  background:var(--b-600);
  color:var(--n-0);
}
.ai-typing{
  display:inline-flex;
  gap:4px;
  align-items:center;
}
.ai-typing i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--n-400);
  animation:aiTyping 1s infinite ease-in-out;
}
.ai-typing i:nth-child(2){animation-delay:.12s}
.ai-typing i:nth-child(3){animation-delay:.24s}
@keyframes aiTyping{
  0%,80%,100%{opacity:.35;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-3px)}
}
@media(max-width:767.98px){
  .ai-assistant-toggle{
    right:16px;
    bottom:16px;
    padding:12px 14px;
  }
  .ai-assistant-toggle span{
    display:none;
  }
  .ai-assistant-panel{
    top:auto;
    left:10px;
    right:10px;
    bottom:10px;
    width:auto;
    height:min(78dvh,720px);
    border-radius:20px;
    transform:translateY(calc(100% + 24px));
  }
  .ai-assistant-panel.open{
    transform:translateY(0);
  }
}
@media(prefers-reduced-motion:reduce){
  .ai-assistant-toggle,
  .ai-assistant-panel,
  .ai-typing i{
    transition:none;
    animation:none;
  }
}

.ai-result-card em{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:var(--b-50);
  color:var(--b-600);
  padding:2px 6px;
  font-size:0.6875rem;
  font-style:normal;
  font-weight:650;
  letter-spacing:.06em;
}


/* v46 · Procesamiento de fichas con IA */
.ai-doc-card{
  display:grid;
  gap:10px;
  margin-top:12px;
  padding:12px;
  border:1px solid var(--n-150);
  border-radius:16px;
  background:var(--n-0);
}
.ai-doc-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.ai-doc-card-head strong{
  color:var(--n-800);
  font-size:0.75rem;
}
.ai-doc-card-head small{
  color:var(--n-500);
  font-size:0.6875rem;
  text-align:right;
}
.ai-doc-fields{
  display:grid;
  gap:6px;
}
.ai-doc-fields div{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:8px;
  align-items:start;
  font-size:0.6875rem;
}
.ai-doc-fields span{
  color:var(--n-500);
  font-weight:650;
}
.ai-doc-fields b{
  color:var(--n-700);
  font-weight:700;
  word-break:break-word;
}
.ai-doc-issues,
.ai-doc-duplicates{
  display:grid;
  gap:5px;
  padding:9px 10px;
  border-radius:12px;
  background:var(--a-50);
  color:var(--r-700);
  font-size:0.6875rem;
}
.ai-doc-duplicates{
  background:var(--n-0);
  color:var(--n-600);
  border:1px dashed var(--n-150);
}
.ai-doc-duplicates strong{
  color:var(--n-800);
  font-size:0.6875rem;
}
.ai-doc-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.ai-doc-actions .btn{
  border-radius:999px;
  font-size:0.6875rem;
  font-weight:650;
}

.ai-doc-review-controls{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid var(--n-150);
  border-radius:12px;
  background:var(--n-0);
}
.ai-doc-review-controls label{
  display:grid;
  gap:5px;
  color:var(--n-500);
  font-size:0.6875rem;
  font-weight:650;
}
.ai-doc-review-controls .form-select{
  border-radius:12px;
  font-size:0.75rem;
}
.ai-doc-review-controls .btn{
  justify-self:start;
  border-radius:999px;
  font-size:0.6875rem;
  font-weight:650;
}

.ai-doc-review-controls p{
  margin:0;
  color:var(--n-500);
  font-size:0.6875rem;
  line-height:1.4;
}
.ai-assistant-toggle{
  min-width:54px;
  min-height:54px;
  justify-content:center;
}
@media(max-width:767.98px){
  .ai-assistant-toggle{
    width:54px;
    height:54px;
    padding:0;
  }
  .ai-assistant-toggle i{
    font-size:1.125rem;
  }
}

/* v51 · Select2 custom en tarjetas de fichas IA */
.ai-doc-review-controls .select2-container{
  width:100%!important;
}
.ai-doc-review-controls .select2-container--bootstrap-5 .select2-selection{
  min-height:46px;
  border-radius:16px;
  border:1px solid var(--b-100);
  box-shadow:none;
  background:var(--n-0);
  font-size:0.75rem;
}
.ai-doc-review-controls .select2-container--bootstrap-5.select2-container--focus .select2-selection,
.ai-doc-review-controls .select2-container--bootstrap-5.select2-container--open .select2-selection{
  border-color:var(--b-300);
  box-shadow:0 0 0 4px rgba(77,151,251,.12);
}
.ai-doc-review-controls .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered{
  line-height:44px;
  padding-left:14px;
  color:var(--n-700);
}
.ai-doc-review-controls .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow{
  height:44px;
  right:10px;
}
.ai-doc-actions .btn:disabled{
  opacity:.45;
  filter:grayscale(.1);
  cursor:not-allowed;
}

/* =====================================================================
   Liderex · Sistema visual v2 (2026-09-25)
   Capa final: tipografía, superficies, controles y movimiento unificados.
   Todos los colores del archivo provienen de los tokens definidos arriba.
   ===================================================================== */
:root{
  --font:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;

  --lx-blue:var(--b-500);
  --lx-blue-dark:var(--b-700);
  --lx-navy:var(--n-900);
  --lx-yellow:var(--a-300);
  --lx-bg:var(--n-50);
  --lx-surface:var(--n-0);
  --lx-text:var(--n-900);
  --lx-muted:var(--n-500);
  --lx-border:var(--n-150);
  --lx-success:var(--g-500);
  --lx-danger:var(--r-500);
  --lx-warning:var(--a-500);
  --lx-radius:16px;

  --sh-1:0 1px 2px rgba(20,23,28,.04);
  --sh-2:0 1px 2px rgba(20,23,28,.04),0 6px 20px rgba(20,23,28,.05);
  --sh-3:0 2px 6px rgba(20,23,28,.05),0 16px 40px rgba(20,23,28,.10);
  --sh-4:0 4px 12px rgba(20,23,28,.06),0 32px 80px rgba(20,23,28,.18);
  --lx-shadow:var(--sh-2);
  --ring:0 0 0 3px var(--b-100);

  --ease:cubic-bezier(.2,.8,.2,1);
  --dur:.18s;

  /* Bootstrap */
  --bs-body-font-family:var(--font);
  --bs-body-color:var(--n-900);
  --bs-body-bg:var(--n-50);
  --bs-border-color:var(--n-150);
  --bs-secondary-color:var(--n-500);
  --bs-tertiary-bg:var(--n-50);
  --bs-primary:var(--b-500);
  --bs-primary-rgb:22,119,242;
  --bs-success-rgb:31,157,98;
  --bs-danger-rgb:224,66,79;
  --bs-warning-rgb:217,138,11;
  --bs-link-color:var(--b-600);
  --bs-link-color-rgb:15,99,214;
  --bs-link-hover-color:var(--b-700);
  --bs-border-radius:10px;
  --bs-border-radius-sm:8px;
  --bs-border-radius-lg:12px;
  --bs-focus-ring-color:var(--b-100);
}

/* ---------- Base ---------- */
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  font-size:.9375rem;
  line-height:1.5;
  color:var(--n-900);
  background:var(--n-50);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:600;letter-spacing:-.02em;color:var(--n-900)}
strong,b{font-weight:600}
.text-secondary,.text-muted{color:var(--n-500)!important}
.text-primary{color:var(--b-500)!important}
::selection{background:var(--b-100);color:var(--n-900)}
table,.stat-card strong,.finance-stat strong,.progress-percent,.generation-metrics strong,
.calendar-mini-stats strong,.attendance-stat strong,.date-box,.public-date-calendar strong{font-variant-numeric:tabular-nums}

:focus-visible{outline:2px solid var(--b-400);outline-offset:2px}
.btn:focus-visible,.form-control:focus-visible,.form-select:focus-visible{outline:none}

*{scrollbar-width:thin;scrollbar-color:var(--n-200) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--n-200);border:3px solid transparent;background-clip:padding-box;border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:var(--n-300);background-clip:padding-box}
::-webkit-scrollbar-track{background:transparent}

/* Etiquetas en mayúsculas: más discretas */
.eyebrow,.modal-kicker,.sidebar-label,.topbar-kicker,.finance-page-kicker,.finance-box-kicker,
.detail-eyebrow,.attendance-kicker,.confirmation-workspace-kicker,.role-permissions-kicker,
.access-section-head>div:first-child>span,.users-section-head span{
  font-size:.6875rem!important;font-weight:600!important;letter-spacing:.05em!important;
}
.modal-kicker,.eyebrow.text-primary{color:var(--b-500)!important}

/* ---------- Marca ---------- */
.brand-mark{
  width:36px;height:36px;border-radius:10px;
  background:var(--b-500);box-shadow:none;font-weight:600;font-size:.9375rem;
}
.brand-mark-light{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22)}
.brand-word{font-size:1.25rem;font-weight:650;letter-spacing:-.03em;color:var(--n-900)}
.brand-word span,.brand-footer span{color:var(--b-500)}
.brand-word-light,.brand-word-light span{color:#fff}

/* ---------- Botones ---------- */
.btn{
  --bs-btn-font-weight:550;
  --bs-btn-border-radius:10px;
  --bs-btn-padding-y:.5rem;
  --bs-btn-padding-x:.95rem;
  --bs-btn-font-size:.875rem;
  min-height:40px;
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border-radius:10px;font-weight:550;letter-spacing:-.005em;
  box-shadow:none!important;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),
             color var(--dur) var(--ease),transform .12s var(--ease),box-shadow var(--dur) var(--ease);
}
.btn:active{transform:scale(.98)}
.btn-sm{min-height:32px;--bs-btn-padding-y:.3rem;--bs-btn-padding-x:.7rem;--bs-btn-font-size:.8125rem;border-radius:8px}
.btn-lg{min-height:46px;--bs-btn-padding-y:.7rem;--bs-btn-padding-x:1.2rem;--bs-btn-font-size:.9375rem;border-radius:12px}
.btn-primary{
  --bs-btn-bg:var(--b-500);--bs-btn-border-color:var(--b-500);
  --bs-btn-hover-bg:var(--b-600);--bs-btn-hover-border-color:var(--b-600);
  --bs-btn-active-bg:var(--b-700);--bs-btn-active-border-color:var(--b-700);
  --bs-btn-disabled-bg:var(--b-300);--bs-btn-disabled-border-color:var(--b-300);
  background:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);color:#fff;
}
.btn-primary:hover,.btn-primary:focus{background:var(--b-600);border-color:var(--b-600)}
.btn-primary:focus-visible{box-shadow:var(--ring)!important}
.btn-light,.btn-secondary{
  --bs-btn-bg:var(--n-100);--bs-btn-border-color:var(--n-100);--bs-btn-color:var(--n-700);
  --bs-btn-hover-bg:var(--n-150);--bs-btn-hover-border-color:var(--n-150);--bs-btn-hover-color:var(--n-900);
  --bs-btn-active-bg:var(--n-200);--bs-btn-active-border-color:var(--n-200);--bs-btn-active-color:var(--n-900);
  background:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);color:var(--bs-btn-color);
}
.btn-outline-primary{
  --bs-btn-color:var(--b-600);--bs-btn-border-color:var(--b-200);
  --bs-btn-hover-bg:var(--b-50);--bs-btn-hover-color:var(--b-700);--bs-btn-hover-border-color:var(--b-300);
  --bs-btn-active-bg:var(--b-100);--bs-btn-active-color:var(--b-700);--bs-btn-active-border-color:var(--b-300);
}
.btn-outline-secondary,.btn-outline-dark,.btn-white{
  --bs-btn-color:var(--n-700);--bs-btn-border-color:var(--n-200);--bs-btn-bg:#fff;
  --bs-btn-hover-bg:var(--n-50);--bs-btn-hover-color:var(--n-900);--bs-btn-hover-border-color:var(--n-300);
  --bs-btn-active-bg:var(--n-100);--bs-btn-active-color:var(--n-900);--bs-btn-active-border-color:var(--n-300);
  background:var(--bs-btn-bg);
}
.btn-outline-danger{
  --bs-btn-color:var(--r-700);--bs-btn-border-color:var(--r-200);
  --bs-btn-hover-bg:var(--r-50);--bs-btn-hover-color:var(--r-700);--bs-btn-hover-border-color:var(--r-200);
  --bs-btn-active-bg:var(--r-100);--bs-btn-active-color:var(--r-700);--bs-btn-active-border-color:var(--r-200);
}
.btn-outline-success{
  --bs-btn-color:var(--g-700);--bs-btn-border-color:var(--g-200);
  --bs-btn-hover-bg:var(--g-50);--bs-btn-hover-color:var(--g-700);--bs-btn-hover-border-color:var(--g-200);
  --bs-btn-active-bg:var(--g-100);--bs-btn-active-color:var(--g-700);--bs-btn-active-border-color:var(--g-200);
}
.btn-danger{--bs-btn-bg:var(--r-500);--bs-btn-border-color:var(--r-500);--bs-btn-hover-bg:var(--r-700);--bs-btn-hover-border-color:var(--r-700);--bs-btn-active-bg:var(--r-700)}
.btn-success,.confirmation-detail-tools .btn-success{--bs-btn-bg:var(--g-500);--bs-btn-border-color:var(--g-500);--bs-btn-hover-bg:var(--g-700);--bs-btn-hover-border-color:var(--g-700);--bs-btn-active-bg:var(--g-700);background:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}
.btn-success:hover,.confirmation-detail-tools .btn-success:hover{background:var(--g-700);border-color:var(--g-700)}
.btn-warning{--bs-btn-bg:var(--a-300);--bs-btn-border-color:var(--a-300);--bs-btn-color:var(--n-900);--bs-btn-hover-bg:var(--a-200);--bs-btn-hover-border-color:var(--a-200)}
.btn-link{--bs-btn-color:var(--b-600);--bs-btn-hover-color:var(--b-700);text-decoration:none;min-height:auto}
.btn-close{border-radius:8px;opacity:.45;transition:opacity var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.btn-close:hover{opacity:.8;background-color:var(--n-100)}
.btn-close:focus{box-shadow:var(--ring)}

.icon-button{
  width:38px;height:38px;border-radius:10px;background:transparent;color:var(--n-500);
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform .12s var(--ease);
}
.icon-button:hover{background:var(--n-100);color:var(--n-900)}
.icon-button:active{transform:scale(.94)}
.notification-dot{background:var(--r-500);border-color:#fff;right:9px;top:9px}

/* ---------- Formularios ---------- */
.form-label{font-size:.8125rem;font-weight:550;color:var(--n-700);margin-bottom:.4rem}
.form-text{font-size:.75rem;color:var(--n-500)}
.form-control,.form-select{
  min-height:42px;border-radius:10px;
  background-color:var(--n-50);border:1px solid var(--n-150);
  color:var(--n-900);font-size:.875rem;padding:.55rem .8rem;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.form-control::placeholder{color:var(--n-400)}
.form-control:hover,.form-select:hover{border-color:var(--n-200)}
.form-control:focus,.form-select:focus{background-color:#fff;border-color:var(--b-400);box-shadow:var(--ring)}
.form-control:disabled,.form-control[readonly],.form-select:disabled,.locked-input{background-color:var(--n-100)!important;color:var(--n-600)}
.form-control-sm,.form-select-sm{min-height:34px;font-size:.8125rem;border-radius:8px}
.form-control.is-invalid,.form-select.is-invalid{border-color:var(--r-500);background-color:#fff}
.form-control.is-invalid:focus{box-shadow:0 0 0 3px var(--r-100)}
.input-group-text{background:var(--n-100);border-color:var(--n-150);color:var(--n-500);font-size:.875rem}
.input-group>.input-group-text{border-radius:10px 0 0 10px}
.input-group>.form-control{border-radius:0 10px 10px 0}
.input-icon i{left:14px;color:var(--n-400);transition:color var(--dur) var(--ease)}
.input-icon:focus-within i{color:var(--b-500)}
.input-icon .form-control{padding-left:40px}

.form-check-input{border-color:var(--n-300);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.form-check-input:checked{background-color:var(--b-500);border-color:var(--b-500)}
.form-check-input:focus{box-shadow:var(--ring);border-color:var(--b-400)}
.form-switch .form-check-input{width:2.25em;height:1.25em;cursor:pointer}
.form-check-label{color:var(--n-700)}

/* Select2 */
.select2-container .select2-selection--single,
.select2-container--default .select2-selection--multiple{
  min-height:42px;border:1px solid var(--n-150)!important;border-radius:10px!important;
  background:var(--n-50)!important;box-shadow:none!important;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--n-900);font-size:.875rem;font-weight:500}
.select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--n-400);font-weight:500}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple{
  background:#fff!important;border-color:var(--b-400)!important;box-shadow:var(--ring)!important;
}
.select2-dropdown{border:1px solid var(--n-150)!important;border-radius:12px!important;box-shadow:var(--sh-3)!important;overflow:hidden;animation:lxPop .16s var(--ease)}
.select2-search--dropdown .select2-search__field{border-radius:8px;border:1px solid var(--n-150)!important;background:var(--n-50)}
.select2-results__option{font-size:.8125rem;padding:.55rem .75rem}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background:var(--b-50)!important;color:var(--b-700)!important}
.select2-container--default .select2-results__option--selected{background:var(--n-100);color:var(--n-900);font-weight:550}
.select2-container--default .select2-selection--multiple .select2-selection__choice{background:var(--b-50);border:1px solid var(--b-100);color:var(--b-700);border-radius:6px;font-size:.75rem}

/* ---------- Tarjetas y superficies ---------- */
.surface-card,.data-card,.stat-card,.generation-card,.setting-card,.finance-stat,
.access-profiles-section,.public-form-card,.inviter-card,.success-card,.empty-public-state,
.calendar-card,.calendar-side-card,.confirmation-split-screen,.confirmation-filter-bar,
.settings-section-nav,.settings-section-heading,.attendance-toolbar,.attendance-stat,
.public-date-card,.public-dates-empty,.attendance-no-workshop,.confirmation-workspace-summary{
  background:#fff;border:1px solid var(--n-150);box-shadow:var(--sh-1);
}
.surface-card,.data-card,.stat-card,.generation-card,.finance-stat,.calendar-card,.calendar-side-card,
.confirmation-split-screen,.access-profiles-section,.settings-section-nav,.settings-section-heading,
.confirmation-filter-bar{border-radius:16px}
.public-form-card,.success-card,.public-date-card,.public-dates-empty,.empty-public-state{border-radius:20px;box-shadow:var(--sh-2)}
.surface-head{padding:16px 20px;border-bottom:1px solid var(--n-100)}
.surface-head h3{font-size:.9375rem;font-weight:600}
.surface-head span{font-size:.75rem;color:var(--n-500)}
.surface-body{padding:16px 20px}
.detail-section,.detail-section-heading{border-color:var(--n-150);border-radius:14px}
.detail-section h4{font-size:.875rem;font-weight:600}
.detail-list div span{font-size:.6875rem;color:var(--n-500);letter-spacing:.03em}
.detail-list div strong{font-size:.8125rem;font-weight:550;color:var(--n-900)}
.finance-box{background:var(--n-50)}

/* Estadísticas: iconografía monocroma */
.stat-card{padding:18px;gap:14px}
.stat-icon,.stat-card:nth-child(n) .stat-icon,.finance-stat-icon,.finance-stat-icon.net,.finance-stat-icon.pending,
.finance-stat-icon.ticket,.finance-stat-icon.fusion,.finance-stat-icon.pl,.finance-stat-icon.applied,
.finance-stat-icon.fees,.finance-stat-icon.absorbed,.finance-stat-icon.participant-fee{
  width:42px;height:42px;border-radius:12px;background:var(--b-50);color:var(--b-500);font-size:1rem;
}
.stat-card.stat-card-alert .stat-icon{background:var(--r-50);color:var(--r-500)}
.generation-row{grid-template-columns:96px 1fr 56px;border-bottom-color:var(--n-100)}
.generation-code{font-weight:600;color:var(--n-900)}
.upcoming-item{border-bottom-color:var(--n-100)}
.upcoming-item h4{font-size:.875rem;font-weight:600}
.upcoming-item p{font-size:.75rem;color:var(--n-500)}
.stat-card span,.finance-stat span{font-size:.75rem;font-weight:500;color:var(--n-500);letter-spacing:0}
.stat-card strong{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;color:var(--n-900)}
.finance-stat strong{font-size:1.125rem;font-weight:600}
.stat-card[data-go],.stat-card-alert{transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.stat-card[data-go]:hover,.stat-card-alert:hover{transform:translateY(-1px);border-color:var(--n-200);box-shadow:var(--sh-2)}

/* Progreso */
.mini-progress,.progress-track,.finance-method-track,.finance-generation-track{height:6px;background:var(--n-100);border-radius:99px}
.mini-progress span,.progress-track span,.finance-method-track span,.finance-generation-track span,
.finance-method-row:nth-child(2n) .finance-method-track span{
  background:var(--b-500);border-radius:99px;
  transition:width .6s var(--ease);
}
.date-box{background:var(--b-50);color:var(--b-600);border-radius:12px}

/* ---------- Shell administrativo ---------- */
.admin-shell{grid-template-columns:248px 1fr}
.sidebar{background:#fff;border-right:1px solid var(--n-150);padding:20px 14px 14px}
.sidebar-brand{padding:0 8px 22px;gap:10px}
.sidebar-label{color:var(--n-400);padding:18px 12px 6px;text-transform:none}
.sidebar-nav{gap:2px}
.sidebar-nav a{
  color:var(--n-600);font-size:.8438rem;font-weight:500;padding:9px 12px;border-radius:99px;
  border:1px solid transparent;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.sidebar-nav a i{color:var(--n-400);transition:color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.sidebar-nav a:hover{background:var(--n-50);color:var(--n-900)}
.sidebar-nav a:hover i{color:var(--n-700)}
.sidebar-nav a.active{background:#fff;color:var(--n-900);font-weight:600;border-color:var(--b-500);box-shadow:0 0 0 3px var(--b-50)}
.sidebar-nav a.active i{color:var(--b-500)}
.nav-badge{background:var(--r-500);color:#fff;font-weight:600;min-width:18px;height:18px;font-size:.6875rem}
.sidebar-profile{border-top:1px solid var(--n-150);padding:14px 6px 0}
.sidebar-profile strong{font-size:.8125rem;font-weight:600}
.sidebar-profile small{font-size:.75rem;color:var(--n-500)}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--b-500);font-size:.8125rem;font-weight:600}
.avatar-soft{background:var(--b-50);color:var(--b-600)}
.main-area{background:var(--n-50)}
.topbar,.app-pagebar{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--n-150)}
.app-pagebar{min-height:76px;padding:12px 28px}
.pagebar-heading h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--n-900)}
.app-breadcrumb{font-size:.75rem;color:var(--n-400);margin-top:3px}
.breadcrumb-home{color:var(--n-500);transition:color var(--dur) var(--ease)}
.breadcrumb-home:hover{color:var(--b-500)}
.breadcrumb-separator{color:var(--n-300)}
.breadcrumb-current,.breadcrumb-group-home{color:var(--n-700);font-weight:500}
.global-page-actions .global-options-button{border:1px solid var(--n-200);border-radius:10px;background:#fff;color:var(--n-700);font-size:.8125rem;font-weight:550;min-height:38px}
.global-page-actions .global-options-button:hover,.global-page-actions .global-options-button.show{background:var(--n-50);border-color:var(--n-300);color:var(--n-900)}
.content-area{padding:24px 28px 40px}
.page-head h1{font-size:1.5rem;font-weight:600;letter-spacing:-.025em}
.page-head p{color:var(--n-500);font-size:.875rem}

/* Transición entre módulos (solo opacidad para no alterar posicionamiento) */
#pageContent>*{animation:lxFade .26s var(--ease) both}
#pageContent>*:nth-child(2){animation-delay:.03s}
#pageContent>*:nth-child(3){animation-delay:.06s}
#pageContent>*:nth-child(4){animation-delay:.09s}
#pageContent>*:nth-child(n+5){animation-delay:.12s}
.page-loader .spinner-border{width:1.75rem;height:1.75rem;border-width:2px;color:var(--b-500)!important}

/* ---------- Tablas ---------- */
.table{--bs-table-bg:transparent;--bs-table-hover-bg:var(--n-25);margin-bottom:0}
.table thead th{
  font-size:.6875rem;font-weight:600;color:var(--n-500);letter-spacing:.04em;
  background:var(--n-25);border-bottom:1px solid var(--n-150)!important;padding:.75rem .75rem;
}
.table tbody td{font-size:.8125rem;color:var(--n-700);padding:.8rem .75rem;border-bottom-color:var(--n-100)}
.table tbody tr{transition:background-color .12s var(--ease)}
.table tbody tr:hover{background:var(--n-25)}
.table strong{color:var(--n-900);font-weight:600}
.dt-container .dt-search input,.dt-container .dt-length select{border:1px solid var(--n-150);border-radius:10px;background:var(--n-50);min-height:38px;font-size:.8125rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.dt-container .dt-search input:focus{outline:none;background:#fff;border-color:var(--b-400);box-shadow:var(--ring)}
.dt-info,.dt-length,.dt-search{font-size:.8125rem;color:var(--n-500)}
.dt-container .dt-paging .dt-paging-button{border-radius:8px!important;color:var(--n-600)!important;font-size:.8125rem;transition:background-color var(--dur) var(--ease)}
.dt-container .dt-paging .dt-paging-button:hover{background:var(--n-100)!important;color:var(--n-900)!important}
.dt-container .dt-paging .dt-paging-button.current,.dt-container .dt-paging .dt-paging-button.current:hover{background:var(--b-500)!important;color:#fff!important}
.page-link{color:var(--n-700);border-color:var(--n-150);border-radius:8px}
.active>.page-link,.page-link.active{background:var(--b-500);border-color:var(--b-500)}

/* Badges de estado */
.status-badge,.confirmation-work-state,.role-pill,.song-type-badge,.profile-incomplete-badge,.converted-pl-badge,
.public-date-status,.public-date-generation,.attendance-state{
  font-size:.6875rem!important;font-weight:550!important;letter-spacing:0!important;border-radius:99px!important;
}
.status-badge{padding:4px 9px}
.badge{font-weight:550;border-radius:6px}

/* ---------- Menús, modales y diálogos ---------- */
.dropdown-menu{
  --bs-dropdown-link-active-bg:var(--b-50);--bs-dropdown-link-active-color:var(--b-700);
  border:1px solid var(--n-150);border-radius:12px;padding:6px;box-shadow:var(--sh-3);font-size:.8438rem;
}
.dropdown-menu.show{animation:lxPop .16s var(--ease)}
.dropdown-item{border-radius:8px;padding:.5rem .7rem;color:var(--n-700);font-weight:500;transition:background-color .12s var(--ease),color .12s var(--ease)}
.dropdown-item:hover,.dropdown-item:focus{background:var(--n-100);color:var(--n-900)}
.dropdown-item i{color:var(--n-400);width:18px}
.dropdown-divider{border-color:var(--n-100)}
.global-page-actions .global-page-action{font-size:.8438rem;font-weight:500;color:var(--n-700)}
.global-page-actions .global-page-action:hover,.global-page-actions .global-page-action:focus{background:var(--n-100);color:var(--n-900)}
.global-page-actions .global-page-action i{color:var(--n-400)}
.context-menu{border-radius:12px;padding:6px;box-shadow:var(--sh-3);animation:lxPop .14s var(--ease)}
.context-menu button{font-size:.8125rem;border-radius:8px;color:var(--n-700);transition:background-color .12s var(--ease)}
.context-menu button:hover{background:var(--n-100);color:var(--n-900)}
.context-menu button i{color:var(--n-400)}

.modal-backdrop{--bs-backdrop-bg:var(--n-900);--bs-backdrop-opacity:.36}
.modal-content{border:1px solid var(--n-150);border-radius:20px;box-shadow:var(--sh-4)}
.modal-header,.modal-footer{border-color:var(--n-100);padding:1.1rem 1.4rem}
.modal-footer{background:var(--n-25);border-radius:0 0 20px 20px}
.modal-body{padding:1.4rem}
.modal-title{font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.modal.fade .modal-dialog{transform:translateY(10px) scale(.985);transition:transform .24s var(--ease),opacity .2s var(--ease)}
.modal.show .modal-dialog{transform:none}

.swal2-popup{font-family:var(--font)!important;border-radius:20px!important;padding:1.6rem 1.4rem 1.4rem!important;box-shadow:var(--sh-4)!important}
.swal2-title{font-size:1.125rem!important;font-weight:600!important;color:var(--n-900)!important;letter-spacing:-.02em}
.swal2-html-container{font-size:.875rem!important;color:var(--n-600)!important}
.swal2-styled{border-radius:10px!important;font-weight:550!important;font-size:.875rem!important;padding:.6rem 1.1rem!important;box-shadow:none!important}
.swal2-styled.swal2-confirm{background:var(--b-500)}
.swal2-styled.swal2-cancel{background:var(--n-100)!important;color:var(--n-700)!important}
.swal2-input,.swal2-textarea,.swal2-select{border-radius:10px!important;border:1px solid var(--n-150)!important;box-shadow:none!important;font-size:.875rem!important}
.swal2-input:focus,.swal2-textarea:focus{border-color:var(--b-400)!important;box-shadow:var(--ring)!important}
.swal2-icon{transform:scale(.8)}

.alert{border-radius:12px;border-width:1px;font-size:.8438rem}
.alert-danger{background:var(--r-50);border-color:var(--r-100);color:var(--r-700)}
.alert-success{background:var(--g-50);border-color:var(--g-100);color:var(--g-700)}
.alert-warning{background:var(--a-50);border-color:var(--a-100);color:var(--a-700)}
.alert-info,.alert-primary{background:var(--b-50);border-color:var(--b-100);color:var(--b-700)}

.ajax-activity-toast{border-color:var(--n-150);border-radius:12px;box-shadow:var(--sh-3)}
.ajax-activity-spinner{border-color:var(--b-100);border-top-color:var(--b-500);border-right-color:var(--b-500)}
.ajax-activity-copy strong{color:var(--n-900);font-weight:600}

/* Menú móvil de opciones: ícono de Font Awesome */
@media(max-width:767.98px){
  .global-page-actions .global-options-button:before{content:'\f142';font-family:'Font Awesome 6 Free';font-weight:900;font-size:.95rem;transform:none}
}

/* ---------- Login ---------- */
.login-body{background:#fff}
.login-shell{grid-template-columns:minmax(420px,44%) 1fr}
.login-brand-panel{background:var(--b-500);padding:56px 64px}
.login-brand-panel:after{display:none}
.login-brand-panel .eyebrow{color:rgba(255,255,255,.72)}
.login-brand-panel h1{font-size:clamp(2.25rem,3.6vw,3.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.06;max-width:560px;color:#fff}
.login-brand-panel .lead-copy{font-size:1rem;line-height:1.7;max-width:460px;color:rgba(255,255,255,.78)}
.brand-footer{font-size:1.25rem;font-weight:600;letter-spacing:-.03em;color:#fff}
.brand-footer span{color:rgba(255,255,255,.6)}
.login-card{width:min(100%,380px);animation:lxRise .45s var(--ease) both}
.login-card h2{font-size:1.75rem;font-weight:600;letter-spacing:-.03em}
.login-card .btn{justify-content:space-between}
.login-card .btn i{transition:transform var(--dur) var(--ease)}
.login-card .btn:hover i{transform:translateX(3px)}
.login-brand-panel>div:first-child>*{animation:lxRise .6s var(--ease) both}
.login-brand-panel>div:first-child>*:nth-child(2){animation-delay:.06s}
.login-brand-panel>div:first-child>*:nth-child(3){animation-delay:.12s}
.login-brand-panel>div:first-child>*:nth-child(4){animation-delay:.18s}

/* ---------- Ficha pública ---------- */
.public-body{background:var(--n-50)}
.public-header{height:68px;border-bottom:1px solid var(--n-150);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}
.secure-label{font-size:.75rem;font-weight:500;color:var(--n-500)}
.registration-heading h1{font-size:2rem;font-weight:600;letter-spacing:-.03em}
.registration-heading p{color:var(--n-500)}
.inviter-card{border-radius:14px}
.inviter-card strong{font-weight:600}
.stepper{margin-bottom:28px}
.step span{width:30px;height:30px;background:#fff;border:1px solid var(--n-200);color:var(--n-500);font-weight:600;transition:background-color .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}
.step em{font-weight:550;font-size:.8125rem}
.step.active span,.step.done span{background:var(--b-500);border-color:var(--b-500);color:#fff}
.step.active span{box-shadow:0 0 0 4px var(--b-100)}
.line{height:1px;background:var(--n-200);position:relative;overflow:hidden}
.step.done+.line{background:var(--b-300)}
.form-step.active{animation:lxRise .32s var(--ease) both}
.section-title{border-bottom-color:var(--n-100)}
.section-title>span{width:40px;height:40px;border-radius:12px;background:var(--b-50);color:var(--b-500);font-weight:600}
.section-title h3{font-size:1rem;font-weight:600}
.section-title p{font-size:.8125rem;color:var(--n-500)}
.form-navigation{border-top-color:var(--n-100)}
.upload-zone{border:1.5px dashed var(--n-200);background:var(--n-25);border-radius:14px;transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.upload-zone:hover,.upload-zone:focus-within{border-color:var(--b-300);background:var(--b-50)}
.upload-zone i{color:var(--b-500)}
.terms-box{background:var(--n-50);border:1px solid var(--n-100);font-size:.8125rem;color:var(--n-600)}
.signature-wrap{border-color:var(--n-200);border-radius:14px}
.public-footer{color:var(--n-400);font-size:.75rem}
.success-card{padding:48px 40px;animation:lxRise .5s var(--ease) both}
.success-icon{width:64px;height:64px;background:var(--g-50);color:var(--g-500);font-size:1.5rem;animation:lxPopIn .5s .15s var(--ease) both}
.success-card h1{font-weight:600;letter-spacing:-.03em;font-size:1.75rem}
.success-inviter{background:var(--n-50);border:1px solid var(--n-100)}

/* ---------- Avance público (versión clara) ---------- */
.progress-body{background:var(--n-50);color:var(--n-900)}
.progress-header p{color:var(--b-500);letter-spacing:.05em;font-weight:600}
.progress-header h1{font-size:2.25rem;font-weight:600;letter-spacing:-.03em;color:var(--n-900)}
.generation-pill{background:#fff;border:1px solid var(--n-150);color:var(--n-700);font-weight:550;box-shadow:var(--sh-1)}
.progress-summary div,.progress-page-enhanced .progress-summary>div{background:#fff;border:1px solid var(--n-150);border-radius:16px;box-shadow:var(--sh-1);backdrop-filter:none}
.progress-page-enhanced .progress-summary>div:hover{background:#fff;border-color:var(--n-200);box-shadow:var(--sh-2)}
.progress-summary span{color:var(--n-500);font-size:.75rem}
.progress-summary strong{color:var(--n-900);font-weight:600}
.public-progress-list{border:1px solid var(--n-150);border-radius:20px;box-shadow:var(--sh-2);backdrop-filter:none!important}
.public-progress-help{background:#fff;border:1px solid var(--n-150);color:var(--n-600);font-size:.8125rem}
.privacy-note{color:var(--n-400);font-size:.75rem}
.progress-page-enhanced .progress-header:before{display:none}
.progress-page-enhanced .progress-track:after{display:none}
.progress-page-enhanced .public-progress-item.is-expandable .progress-overview:hover{transform:none}
.public-invitee-panel{background:var(--n-25);border-top:1px solid var(--n-100)}

/* ---------- Fechas públicas ---------- */
.public-dates-body{background:var(--n-50)}
.public-dates-nav{background:#fff;border-bottom:1px solid var(--n-150)}
.public-dates-nav-inner>span{color:var(--n-400);letter-spacing:.05em;font-weight:600}
.public-dates-brand{font-weight:650;letter-spacing:-.03em;color:var(--n-900)}
.public-dates-brand span{color:var(--b-500)}
.public-dates-hero{background:#fff;color:var(--n-900);border-bottom:1px solid var(--n-150);padding:72px 0 88px}
.public-dates-hero:before,.public-dates-hero:after{display:none}
.public-dates-eyebrow{color:var(--b-500);letter-spacing:.05em;font-weight:600}
.public-dates-eyebrow:before{background:var(--b-500)}
.public-dates-hero h1{font-weight:600;letter-spacing:-.035em;line-height:1.02;color:var(--n-900)}
.public-dates-hero p{color:var(--n-500)}
.public-date-calendar{background:var(--n-50);color:var(--n-900);border-radius:16px}
.public-date-card.is-featured{border-color:var(--b-200)}
.public-date-card.is-featured .public-date-calendar{background:var(--b-500);color:#fff}
.public-date-card h2{font-weight:600;letter-spacing:-.02em}
.public-dates-animated .public-date-calendar:after{display:none}
.public-dates-animated .public-date-card:hover{transform:translateY(-2px);border-color:var(--n-200);box-shadow:var(--sh-3)}
.public-dates-animated .public-date-card:hover .public-date-calendar{transform:none;box-shadow:none}
.public-dates-footer{background:#fff;border-top:1px solid var(--n-150)}

/* ---------- Superficies con degradado → planas ---------- */
.detail-hero,.conversion-callout,.fusion-origin-card,.ai-assistant-head,.calendar-upcoming-item.is-pl-event,
.confirmation-workshop-history-status.has-history,.confirmation-workshop-history-status.no-history{background:#fff!important}
.detail-hero{border-color:var(--n-150);box-shadow:var(--sh-1)}
.vision-statement{background:var(--n-900)}
.vision-statement>i{color:var(--b-300)}
.conversion-icon,.confirmation-person-avatar,.confirmation-detail-avatar{background:var(--b-50)!important;color:var(--b-600)!important;border:0!important}
.finance-donut{background:conic-gradient(var(--b-500) 0 var(--fusion-share),var(--b-200) var(--fusion-share) 100%)}
.finance-scope-legend i.pl{background:var(--b-200)}
.finance-chart-line{stroke-width:2.5}
.finance-chart-area{fill:rgba(22,119,242,.07)}

/* Calendario: barras planas y sin brillos */
.calendar-card,.calendar-side-card{border-radius:16px}
.calendar-event-bar{background:var(--calendar-event-color);border-radius:8px;box-shadow:none;padding:.42rem .6rem}
.calendar-event-bar:after{display:none}
.calendar-event-bar:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--calendar-event-color) 26%,transparent);filter:none}
.calendar-event-bar strong{font-weight:600}
.calendar-day-cell.is-today span{background:var(--b-500);box-shadow:none}
.calendar-weekday-row span{font-weight:550;color:var(--n-500)}
.calendar-month-nav h3{font-weight:600;letter-spacing:-.02em}

/* Llamadas */
.confirmation-person-card.active .confirmation-person-card-surface{border-color:var(--b-200);box-shadow:0 0 0 3px var(--b-50)}
.confirmation-person-card.active .confirmation-person-card-surface::before{background:var(--b-500)}
.confirmation-state-filter.active{background:var(--b-50);border-color:var(--b-200);color:var(--b-600)}

/* Configuración: navegación interna como píldoras (misma lógica que el menú) */
.settings-section-nav button{border:1px solid transparent;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.settings-section-nav button.active{background:#fff;border-color:var(--b-500);box-shadow:0 0 0 3px var(--b-50)}
.settings-section-nav button.active i{background:var(--b-50);color:var(--b-500)}
.settings-section-nav button.active span{color:var(--n-900)}
.settings-section-nav button i{border-radius:10px}

/* Permisos */
.permission-action input:checked+span{border-color:var(--b-200);background:var(--b-50);color:var(--b-700)}
.permission-action input:checked+span i{background:var(--b-500)}
.permission-action span{transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}

/* ---------- Asistente ---------- */
.ai-assistant-toggle{background:var(--b-500);box-shadow:0 8px 24px rgba(22,119,242,.32);font-weight:600}
.ai-assistant-toggle:hover{background:var(--b-600);box-shadow:0 12px 28px rgba(22,119,242,.36)}
.ai-assistant-toggle i{color:#fff}
.ai-assistant-panel{border-radius:20px;border-color:var(--n-150);box-shadow:var(--sh-4);transition:transform .3s var(--ease),opacity .2s var(--ease)}
.ai-assistant-head{border-bottom-color:var(--n-100)}
.ai-assistant-head span{color:var(--n-400);letter-spacing:.05em;font-weight:600}
.ai-assistant-head h3{font-weight:600}
.ai-assistant-intro{background:var(--n-50);border-color:var(--n-100)}
.ai-quick-actions button{border-color:var(--n-150);color:var(--n-700);font-weight:550;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.ai-quick-actions button:hover{background:var(--b-50);border-color:var(--b-100);color:var(--b-600)}
.ai-message{animation:lxRise .24s var(--ease) both}
.ai-message-bubble{background:var(--n-50);border-color:var(--n-100);box-shadow:none;border-radius:14px 14px 14px 4px;font-size:.8125rem;color:var(--n-800)}
.ai-message-user .ai-message-bubble{background:var(--b-500);border-color:var(--b-500);color:#fff;border-radius:14px 14px 4px 14px;box-shadow:0 6px 16px rgba(22,119,242,.2)}
.ai-message-avatar{background:var(--n-100);color:var(--n-500)}
.ai-message-user .ai-message-avatar{background:var(--b-50);color:var(--b-600)}
.ai-assistant-form textarea{background:var(--n-50);border-color:var(--n-150);border-radius:12px}
.ai-assistant-form textarea:focus{background:#fff;border-color:var(--b-400);box-shadow:var(--ring)}
.ai-send-button{background:var(--b-500);border-radius:50%;width:42px;transition:background-color var(--dur) var(--ease),transform .12s var(--ease)}
.ai-send-button:hover{background:var(--b-600)}
.ai-send-button:active,.ai-attach-button:active{transform:scale(.92)}
.ai-attach-button{background:var(--n-100);border-radius:50%;width:42px}

/* ---------- Movimiento ---------- */
@keyframes lxFade{from{opacity:0}to{opacity:1}}
@keyframes lxRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes lxPop{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
@keyframes lxPopIn{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}

/* Se retiran efectos decorativos continuos */
.public-dates-animated .public-dates-hero:before,.public-dates-animated .public-dates-hero:after{animation:none}

@media(max-width:991px){
  .admin-shell{grid-template-columns:1fr}
  .sidebar{transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
  .sidebar.open{box-shadow:var(--sh-4)}
  .sidebar-backdrop.show{background:rgba(20,23,28,.36);backdrop-filter:blur(2px);animation:lxFade .2s var(--ease)}
  .app-pagebar{padding:12px 20px}
  .content-area{padding:20px}
}
@media(max-width:767.98px){
  .app-pagebar{min-height:64px;padding:10px 16px}
  .pagebar-heading h2{font-size:1.0625rem}
  .content-area{padding:16px}
  .login-card h2{font-size:1.5rem}
  .registration-heading h1{font-size:1.625rem}
  .progress-header h1{font-size:1.75rem}
  .mobile-card-table tbody tr{border-radius:14px!important;box-shadow:var(--sh-1)!important}
  .mobile-card-table tbody td::before{font-weight:600;letter-spacing:.03em;color:var(--n-500)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* =====================================================================
   Ajustes v2.1 (2026-09-25)
   ===================================================================== */
/* Identidad: el punto de la marca es amarillo */
.brand-word span,.brand-footer span,.public-dates-brand span{color:var(--a-300)}

/* Controles en blanco; el gris queda solo para deshabilitado/solo lectura */
.form-control,.form-select,
.select2-container .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-search--dropdown .select2-search__field,
.dt-container .dt-search input,.dt-container .dt-length select,
.ai-assistant-form textarea,
.attendance-search .form-control,
.finance-box-wide .select2-container .select2-selection--single{background-color:#fff!important}
.form-control,.form-select,
.select2-container .select2-selection--single,
.select2-container--default .select2-selection--multiple{border-color:var(--n-200)!important}
.form-control:hover,.form-select:hover,
.select2-container .select2-selection--single:hover{border-color:var(--n-300)!important}
.form-control:focus,.form-select:focus{border-color:var(--b-400)!important}
.form-control:disabled,.form-control[readonly],.form-select:disabled,.locked-input,
.select2-container--disabled .select2-selection--single{background-color:var(--n-100)!important;color:var(--n-600)}
.input-group-text,.finance-box-wide .input-group-text{background:#fff!important;border-color:var(--n-200)}

/* Menús desplegables: la animación ya no usa transform (lo controla Popper) */
@keyframes lxDrop{from{opacity:0;translate:0 -4px}to{opacity:1;translate:0 0}}
.dropdown-menu.show,.context-menu,.select2-dropdown{animation:lxDrop .16s var(--ease)}

/* Modales en blanco */
.modal-header,.modal-body,.modal-footer{background:#fff}
.modal-content .detail-section,
.modal-content .finance-box,
.modal-content .finance-box.finance-box-wide,
.modal-content .conversion-source-card,
.modal-content .payment-split-composer,
.modal-content .payment-split-card-fields,
.modal-content .registration-editor-note,
.modal-content .generation-role-card.has-person,
.modal-content .confirmation-info-card,
.modal-content .pl-date-card,
.modal-content .generation-public-options,
.modal-content .payment-history-title{background:#fff!important;border:1px solid var(--n-150)}
.modal-content .finance-box.finance-box-wide{box-shadow:none}
