
:root{--navy:#06294f;--navy2:#0b3b68;--teal:#17b9c8;--blue:#1c73d1;--green:#57b66b;--orange:#f5a623;--red:#e56a6a;--ink:#18324a;--muted:#6f8194;--bg:#f3f7fb;--card:#fff;--line:#dce5ee;--shadow:0 10px 30px rgba(14,49,82,.10);--radius:18px}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.hidden,[hidden]{display:none!important}
.app{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:linear-gradient(180deg,#06294f,#031c37);color:#fff;display:flex;flex-direction:column;gap:18px;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:8px 8px 16px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--teal),#ff7b6e);display:grid;place-items:center;font-weight:900}.brand-text b{display:block;font-size:15px;line-height:1.1}.brand-text span{display:block;font-size:10px;letter-spacing:.12em;color:#b8d5e8;margin-top:4px}.nav{display:flex;flex-direction:column;gap:6px}.nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;color:#d6e6f4;font-size:14px}.nav a:hover,.nav a.active{background:linear-gradient(90deg,var(--teal),#1aa8bd);color:#fff}.nav .icon{width:20px;text-align:center}.sidebar-foot{margin-top:auto;padding:12px;border-radius:14px;background:rgba(255,255,255,.08);font-size:12px;color:#cfe1ee}.main{min-width:0}.topbar{height:72px;background:linear-gradient(90deg,#06294f,#0b3b68);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:15;box-shadow:0 3px 18px rgba(0,0,0,.12)}.top-left{display:flex;align-items:center;gap:14px}.menu-btn{display:none;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:10px;padding:9px 11px;cursor:pointer}.top-title b{display:block;font-size:15px}.top-title span{font-size:12px;color:#c9deeb}.userbox{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#1f75d6;color:#fff;font-weight:700}.user-meta{font-size:12px}.user-meta b{display:block}.content{padding:26px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.page-head h1{margin:0;font-size:30px}.page-head p{margin:7px 0 0;color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;padding:10px 14px;cursor:pointer;font-weight:700;display:inline-block;text-align:center}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.success{background:var(--green);border-color:var(--green);color:#fff}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.ghost{background:#f7fafc}.btn.small{padding:8px 11px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}
.cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat{padding:18px;min-height:112px;border-top:4px solid var(--teal)}.stat:nth-child(2){border-top-color:var(--green)}.stat:nth-child(3){border-top-color:var(--blue)}.stat:nth-child(4){border-top-color:var(--orange)}.stat:nth-child(5){border-top-color:#8a65d1}.stat:nth-child(6){border-top-color:#3ab77b}.stat .label{font-size:11px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.stat .value{font-size:27px;font-weight:800;margin:8px 0 4px;white-space:nowrap}.stat .sub{font-size:11px;color:var(--muted);line-height:1.4}.split-value{display:flex;align-items:center;gap:8px}.split-value span+span:before{content:'/';color:#9badbd;margin-right:8px}
.grid-2{display:grid;grid-template-columns:1.35fr .95fr;gap:18px;margin-bottom:18px}.grid-equal{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel-head{padding:18px 20px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h2{margin:0;font-size:18px}.panel-head small{color:var(--muted)}.panel-body{padding:18px 20px 20px}.finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.finance-box{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;border-left:4px solid var(--blue)}.finance-box.orange{border-left-color:var(--orange)}.finance-box.green{border-left-color:var(--green)}.finance-box span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase}.finance-box b{display:block;font-size:20px;margin-top:5px}.finance-note{font-size:11px;color:var(--muted);line-height:1.5;margin:12px 0 0}.progress-row{margin-bottom:16px}.progress-label{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:7px}.progress-label small{color:var(--muted)}.progress{height:10px;border-radius:999px;background:#e9eff5;overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue))}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.quick-card{padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.quick-card h3{margin:0 0 5px;font-size:15px}.quick-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.quick-card .big{font-size:24px;font-weight:800;margin-top:9px}.notice{padding:14px 16px;border-radius:14px;background:#eef7ff;border:1px solid #d7e9fa;color:#295f8a;font-size:13px}.notice.warning{background:#fff7e7;border-color:#f3dfb3;color:#8c6200}.flash{display:none;margin-bottom:16px;padding:12px 14px;border-radius:12px;font-size:13px}.flash.show{display:block}.flash.error{background:#fff0f0;border:1px solid #f0caca;color:#a33}.flash.success{background:#eaf8ed;border:1px solid #ccebd3;color:#287a3c}
.filter-card{margin-bottom:18px}.filter-title{padding:18px 20px 0}.filter-title h2{margin:0;font-size:18px}.filter-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.filters{display:grid;grid-template-columns:2fr repeat(4,minmax(145px,1fr));gap:12px;padding:16px 20px 20px}.filter-field{display:flex;flex-direction:column;gap:6px;min-width:0}.filter-field label{font-size:10px;font-weight:800;letter-spacing:.06em;color:#597086;text-transform:uppercase}.filter-field input,.filter-field select{width:100%;height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none}.filter-field input:focus,.filter-field select:focus{border-color:#8db9e8;box-shadow:0 0 0 3px rgba(28,115,209,.10)}.filters.wide{grid-template-columns:2fr repeat(7,minmax(125px,1fr))}.filter-actions{display:flex;align-items:end;gap:8px}
.table-card{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:980px}th,td{padding:12px 10px;border-bottom:1px solid #e7edf3;text-align:left;font-size:12px;vertical-align:top}th{font-size:10px;letter-spacing:.04em;color:#72869a;text-transform:uppercase;background:#f8fafc;white-space:nowrap}.sortable{cursor:pointer}.sortable:hover{background:#eef5fc;color:var(--blue)}.participant-name{font-weight:800}.muted{font-size:11px;color:var(--muted);line-height:1.45}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.pill.ok{background:#e5f6e9;color:#2c8a43}.pill.wait{background:#fff3d8;color:#a66b00}.pill.info{background:#e7f1ff;color:#2364a8}.pill.danger{background:#fde8e8;color:#b33b3b}.pagination-bar{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:14px 20px 18px;border-top:1px solid var(--line);background:#fbfdff}.page-summary{font-size:12px;color:var(--muted)}.page-controls{display:flex;align-items:center;gap:6px}.page-btn{min-width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:700;cursor:pointer}.page-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.page-size{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.page-size select{padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff}
.modal{position:fixed;inset:0;background:rgba(3,23,47,.62);z-index:100;display:none;align-items:flex-start;justify-content:center;padding:35px 18px;overflow:auto}.modal.open{display:flex}.modal-card{width:min(980px,100%);background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.28);overflow:hidden}.modal-head,.modal-foot{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.modal-foot{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;background:#fbfdff}.modal-body{padding:20px}.modal-head h2{margin:0}.close{border:0;background:#eef3f7;border-radius:10px;width:36px;height:36px;font-size:22px;cursor:pointer}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.detail-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.detail-item span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.detail-item b{font-size:13px;word-break:break-word}.actions{display:flex;gap:7px;flex-wrap:wrap}
.gestion-loader{position:fixed;inset:0;display:none;place-items:center;background:rgba(3,28,55,.22);z-index:1000;backdrop-filter:blur(1px)}.gestion-loader.show{display:grid}.loader-card{display:flex;align-items:center;gap:16px;min-width:320px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.loader-clock{width:50px;height:50px;border:4px solid #dceaf6;border-top-color:var(--teal);border-radius:50%;position:relative;animation:spin 1s linear infinite}.loader-clock span:before{content:'';position:absolute;left:21px;top:9px;width:3px;height:15px;background:var(--blue);border-radius:3px}.loader-card b{display:block}.loader-card div+div>div{font-size:13px;color:var(--blue);font-weight:800;margin-top:3px}.loader-card small{display:block;color:var(--muted);margin-top:3px}@keyframes spin{to{transform:rotate(360deg)}}
.footer-note{margin-top:18px;color:var(--muted);font-size:11px;text-align:center}
@media(max-width:1300px){.cards{grid-template-columns:repeat(3,1fr)}.filters.wide{grid-template-columns:repeat(4,1fr)}.finance-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1000px){.grid-2,.grid-equal{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;transition:.25s;width:260px}.sidebar.open{left:0}.menu-btn{display:inline-flex}.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:19}.mobile-overlay.show{display:block}.topbar{padding:0 16px}.content{padding:18px}.page-head{flex-direction:column}.cards{grid-template-columns:1fr}.filters,.filters.wide{grid-template-columns:1fr}.finance-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.pagination-bar{grid-template-columns:1fr;text-align:center}.page-controls,.page-size{justify-content:center}.user-meta{display:none}}
/* Gestión 23 — legibilidad, gráficos y formularios administrativos */
.cell-stack{display:flex;flex-direction:column;gap:3px}.cell-stack>b,.cell-stack>.primary-line{display:block;font-weight:800}.cell-stack .muted{display:block}.money-stack b{display:block;font-size:13px}.money-stack span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.chart-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.chart-card{padding:18px 20px}.chart-card h2{margin:0 0 4px;font-size:18px}.chart-card p{margin:0 0 12px;color:var(--muted);font-size:12px}.mini-chart-svg{display:block;width:100%;height:auto;max-height:300px}.chart-grid{stroke:#e7edf3;stroke-width:1}.chart-label{font:11px Inter,"Segoe UI",Arial,sans-serif;fill:#718497}.chart-label.strong{font-weight:700;fill:#3c536b}.chart-line{stroke:#1c73d1;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#17b9c8;stroke:#fff;stroke-width:2}.chart-bar{fill:#1c73d1}.chart-empty{padding:30px;text-align:center;color:var(--muted);font-size:12px}.pagination-top{border-top:0;border-bottom:1px solid var(--line);padding-top:12px;padding-bottom:12px}.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.edit-grid .full{grid-column:1/-1}.edit-field{display:flex;flex-direction:column;gap:6px}.edit-field label{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#597086}.edit-field input,.edit-field select,.edit-field textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;color:var(--ink)}.edit-field textarea{min-height:85px}.modal-section{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.modal-section h3{margin:0 0 12px}.admin-callout{padding:12px 14px;border-radius:12px;background:#eef7ff;border-left:4px solid var(--blue);color:#295f8a;font-size:12px;line-height:1.5;margin:0 0 14px}.payment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-form .full{grid-column:1/-1}.readonly-box{background:#f4f7fa!important;color:#667b90!important}.sort-arrow{font-size:9px;margin-left:4px;color:#1c73d1}.table-responsive-note{display:none;color:var(--muted);font-size:11px;margin:8px 0}.demo-row{background:#fff9ec}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}.action-bar .right{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:1000px){.chart-grid-2{grid-template-columns:1fr}.edit-grid,.payment-form{grid-template-columns:1fr}.edit-grid .full,.payment-form .full{grid-column:auto}}

/* =====================================================================
   Portal del participante · formularios y trabajos
   ===================================================================== */
.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#e8f8fb;color:#087f8e;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.badge.ok{background:#e7f7eb;color:#2b8641}.badge.warning{background:#fff3d8;color:#9b6800}
.participant-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.participant-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}.participant-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.participant-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.participant-action b{display:block;font-size:14px}.participant-action span{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.participant-action .arrow{font-size:22px;color:var(--blue)}.participant-status{padding:16px 18px;border-radius:16px;border:1px solid #d7e9fa;background:#eef7ff;margin-bottom:18px}.participant-status.ok{background:#eaf8ed;border-color:#ccebd3;color:#287a3c}.participant-status.warning{background:#fff7e7;border-color:#f3dfb3;color:#8c6200}.participant-status h3{margin:0 0 5px}.participant-status p{margin:0;font-size:12px;line-height:1.5}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-item{padding:12px;border-radius:12px;background:#f8fbfd;border:1px solid var(--line)}.profile-item span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.profile-item b{display:block;margin-top:4px;font-size:13px;word-break:break-word}.timeline{display:grid;gap:13px}.timeline-item{display:flex;gap:10px;align-items:flex-start}.timeline-dot{width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(23,185,200,.12)}.timeline-item b,.timeline-item span{display:block}.timeline-item span{margin-top:3px;color:var(--muted);font-size:11px}

.registration-wrap,.works-wrap{max-width:1180px;margin:0 auto}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.choice-btn{appearance:none;text-align:left;background:#fff;border:2px solid var(--line);border-radius:16px;padding:18px;cursor:pointer;color:var(--ink);font:inherit}.choice-btn:hover,.choice-btn.active{border-color:var(--teal);background:#effbfd;box-shadow:var(--shadow)}.choice-btn strong{display:block;font-size:17px;color:var(--navy2)}.choice-btn span{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.form-card{padding:22px;margin-bottom:18px}.form-card h2{margin:0 0 5px;font-size:19px}.form-card .lead{margin:0 0 18px;color:var(--muted);font-size:12px;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-field label{font-size:11px;font-weight:800;color:#3d566d}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:44px;border:1px solid #cfdbe7;border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink)}.form-field textarea{min-height:100px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid rgba(23,185,200,.12);border-color:var(--teal)}.form-field input[readonly]{background:#f4f7fa;color:#64798e}.help{font-size:11px;color:var(--muted);line-height:1.4}.required-note{font-size:11px;color:var(--muted);margin:0 0 14px}.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.price-option{border:2px solid var(--line);border-radius:14px;padding:15px;background:#fff;cursor:pointer}.price-option:has(input:checked){border-color:var(--teal);background:#effbfd}.price-option input{width:auto}.price-option b{color:var(--navy2)}.price-option .price{display:block;margin-top:8px;font-size:22px;font-weight:900;color:#167ea2}.price-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:13px 15px;border-radius:12px;background:#edf7ff;border:1px solid #d5e9fa}.price-summary strong{font-size:20px;color:#0e4979}.discount-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.discount-result{margin-top:9px;padding:10px 12px;border-radius:10px;background:#f5f8fb;color:#53687d;font-size:12px}.discount-result.ok{background:#eaf8ed;color:#176530}.discount-result.error{background:#fff0ef;color:#9a2e24}.bank-box{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0;padding:15px;border-radius:14px;background:#f2f8fc}.bank-box span{display:block;color:var(--muted);font-size:10px}.bank-box b{display:block;margin-top:3px;color:#12385e;font-size:12px}.notice-local,.notice-ok,.fatal-box{padding:13px 15px;border-radius:12px;margin:13px 0;font-size:12px;line-height:1.5}.notice-local{background:#fff6dd;border:1px solid #f1d494;color:#73530a}.notice-ok{background:#eaf8ed;border:1px solid #bde2c7;color:#176530}.fatal-box{background:#fff0ef;border:1px solid #f0c9c6;color:#9b2921}.declaration{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#40566d;line-height:1.5}.declaration input{margin-top:3px}.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.existing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.existing-item{padding:12px;background:#f7fafc;border:1px solid var(--line);border-radius:11px}.existing-item span{display:block;font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase}.existing-item b{display:block;margin-top:5px;font-size:13px}.submit-success{padding:24px;text-align:center}.submit-success .check{width:58px;height:58px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#e4f7e8;color:#23863d;font-size:30px;font-weight:900}

.work-list{display:grid;gap:12px}.work-card{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}.work-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.work-card h3{margin:0 0 6px;font-size:16px;color:var(--navy2);line-height:1.35}.work-meta{font-size:11px;color:var(--muted);line-height:1.5}.work-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.empty{padding:26px;text-align:center;color:var(--muted);border:1px dashed #cbd8e5;border-radius:14px;background:#fbfdff}.work-form-modal .modal-card{width:min(1080px,100%)}.work-form-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.work-form-section:first-child{margin-top:0;padding-top:0;border-top:0}.work-form-section h3{margin:0 0 4px;font-size:17px}.work-form-section>p{margin:0 0 14px;color:var(--muted);font-size:11px}.keywords-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.authors-list{display:grid;gap:12px}.author-card{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfdff}.author-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.author-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.presenter-line{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:12px;font-weight:800}.word-count{display:block;text-align:right;margin-top:5px;font-size:11px;color:var(--muted)}.word-count.over{color:#b33b3b;font-weight:800}.gestion-inline-error{padding:12px 14px;margin-bottom:14px;border-radius:12px;background:#fff0ef;border:1px solid #f0c9c6;color:#9b2921;font-size:12px;line-height:1.45}.success-dialog{text-align:center}.success-dialog .success-symbol{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;background:#e5f6e9;color:#2c8a43;font-size:32px;font-weight:900}.success-dialog h2{margin:0 0 8px}.success-dialog p{margin:0;color:var(--muted);line-height:1.55}.success-dialog .modal-foot{justify-content:center;margin-top:18px}

@media(max-width:1050px){.participant-grid{grid-template-columns:1fr}.participant-actions{grid-template-columns:1fr}.participant-cards{grid-template-columns:repeat(2,1fr)}.bank-box{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.choice-grid,.form-grid,.price-grid,.existing-grid,.author-grid,.keywords-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.participant-cards{grid-template-columns:1fr}.bank-box{grid-template-columns:1fr}.discount-row{grid-template-columns:1fr}.price-summary{align-items:flex-start;flex-direction:column}.work-top{flex-direction:column}.form-actions .btn{flex:1}.userbox .btn#participantRefresh{display:none}}


/* Ficha administrativa del participante: sin desbordamiento horizontal */
html,body{max-width:100%;overflow-x:hidden}.participant-admin-view .main{min-width:0}.participant-admin-view .content{max-width:100%;overflow-x:hidden}.participant-admin-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.participant-admin-view .card.stat .value{font-size:22px;line-height:1.08;overflow-wrap:anywhere}.participant-admin-view .grid-equal{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0}.participant-admin-view .grid-equal>.card{min-width:0}.participant-admin-view .table-wrap{max-width:100%;overflow-x:auto}.invoice-card-link{margin-top:10px;width:max-content;max-width:100%}.action-status{display:inline-flex;align-items:center;padding:9px 12px;border-radius:10px;font-weight:800;font-size:12px}.action-status.ok{background:#e8f7ec;color:#26743a;border:1px solid #c9e9d0}.payment-proof{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd;margin:0 0 12px}.payment-proof span{font-weight:800;color:#405b73}
@media(max-width:1100px){.participant-admin-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.participant-admin-view .grid-equal{grid-template-columns:1fr}}
@media(max-width:650px){.participant-admin-cards{grid-template-columns:1fr}.participant-admin-view .card.stat .value{font-size:19px}.payment-proof{align-items:flex-start;flex-direction:column}}

/* =====================================================================
   GESTIÓN 23 · ACCESO, COORDINACIÓN Y EVALUACIÓN
   ===================================================================== */
.login-page{min-height:100vh;margin:0;background:#05243e;display:grid;place-items:center;padding:28px}.login-shell{width:min(980px,100%);min-height:560px;display:grid;grid-template-columns:44% 56%;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.30)}.login-brand-panel{padding:46px 42px;background:linear-gradient(145deg,#0e4671,#103b63);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.login-brand-mark{width:82px;height:82px;border-radius:23px;display:grid;place-items:center;font-size:48px;font-weight:900;background:linear-gradient(135deg,#2dc1d1,#ef8585);box-shadow:0 12px 30px rgba(0,0,0,.18)}.login-brand-panel h1{margin:30px 0 18px;font-size:35px;line-height:1.15;color:#fff}.login-brand-panel p{max-width:340px;color:#d9e9f4;line-height:1.65;font-size:15px}.login-brand-foot{font-size:12px;font-weight:800}.login-form-panel{padding:70px 52px 48px;display:flex;flex-direction:column;justify-content:center}.login-kicker{display:inline-flex;align-self:flex-start;padding:6px 12px;border-radius:999px;background:#e4f7fa;color:#007b8d;font-size:11px;font-weight:900;letter-spacing:.08em}.login-form-panel h2{margin:17px 0 8px;font-size:31px;color:#102f4b}.login-intro{margin:0 0 25px;color:#60768c;line-height:1.55}.login-form{display:grid;gap:14px}.login-submit{width:100%;min-height:46px}.login-help{margin-top:22px;padding:13px 14px;border-radius:12px;background:#f3f6f9;color:#6f8194;font-size:12px;line-height:1.5}
.coord-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.eval-cards{grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px}.coord-filters{grid-template-columns:2fr 1.2fr 1.2fr 1fr}.eval-filters{grid-template-columns:2fr 1fr 1fr}.coord-modal-card{width:min(1120px,100%)}.modal-section{margin-top:20px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.panel-head.compact{padding-top:15px}.readonly-box{padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd;white-space:pre-wrap;line-height:1.55;font-size:13px}.coord-author-list{display:grid;gap:8px;margin-top:12px}.author-line{padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdff}.author-line b,.author-line span{display:block}.author-line span{margin-top:4px;color:var(--muted);font-size:11px}.assignment-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border-bottom:1px solid #e8eef4}.assignment-row:last-child{border-bottom:0}.assignment-row b,.assignment-row span{display:block}.assignment-row span{margin-top:3px;color:var(--muted);font-size:11px}.coord-action-block{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.coord-action-title{font-weight:900;margin-bottom:10px;color:#274661}.role-block{padding:19px}.role-block-title{display:flex;align-items:center;gap:12px;margin-bottom:10px}.role-block-title span{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.08em}.role-block-title h2{margin:0;font-size:19px}.role-explain{margin:0 0 16px;font-size:13px;line-height:1.55}.evaluator-role{border-left:6px solid #815bd5;background:#fbf9ff}.evaluator-role .role-block-title span{background:#eee8ff;color:#6847b8}.coordinator-role{border-left:6px solid var(--blue);background:#f7fbff}.coordinator-role .role-block-title span{background:#e7f1ff;color:#2364a8}.coordinator-role .role-explain{color:#285a83}.evaluator-role .role-explain{color:#665384}.chart-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.chart-card{padding:18px;min-width:0}.chart-card h2{margin:0 0 4px;font-size:18px}.chart-card>p{margin:0 0 12px;color:var(--muted);font-size:11px}.mini-chart-svg{width:100%;height:auto;display:block}.chart-grid{stroke:#e6edf4;stroke-width:1}.chart-line{stroke:#1c73d1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#17b9c8;stroke:#fff;stroke-width:2}.chart-bar{fill:#1c73d1}.chart-label{fill:#71859a;font-size:11px}.chart-label.strong{font-weight:800}.chart-empty{padding:28px;text-align:center;color:var(--muted)}
@media(max-width:1050px){.coord-cards{grid-template-columns:repeat(2,1fr)}.chart-grid-2{grid-template-columns:1fr}.coord-filters,.eval-filters{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:40% 60%}.login-brand-panel{padding:36px 30px}.login-form-panel{padding:55px 38px}}
@media(max-width:760px){.login-page{padding:0;background:#fff}.login-shell{min-height:100vh;border-radius:0;grid-template-columns:1fr;box-shadow:none}.login-brand-panel{min-height:235px;padding:28px}.login-brand-mark{width:64px;height:64px;font-size:36px}.login-brand-panel h1{font-size:28px;margin:17px 0 9px}.login-brand-panel p{font-size:13px}.login-form-panel{padding:42px 26px}.coord-cards,.eval-cards{grid-template-columns:1fr}.coord-filters,.eval-filters{grid-template-columns:1fr}.role-block-title{align-items:flex-start;flex-direction:column}.assignment-row{align-items:flex-start;flex-direction:column}}
/* ==========================================================
   Gestión 23 — menú lateral fijo en escritorio
   Permanece visible durante todo el desplazamiento vertical.
   ========================================================== */
@media(min-width:821px){
  .app{
    display:block;
    min-height:100vh;
  }
  .sidebar{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:260px;
    height:100vh;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .main{
    margin-left:260px;
    min-width:0;
  }
}

@media(max-width:820px){
  .main{margin-left:0}
}


/* =====================================================================
   GESTIÓN 24 · CUENTAS
   ===================================================================== */
.accounts-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.accounts-filters{grid-template-columns:minmax(230px,2fr) repeat(5,minmax(135px,1fr))}.accounts-table{min-width:1320px}.accounts-table th,.accounts-table td{vertical-align:middle}.accounts-table th:nth-child(1){width:145px}.accounts-table th:nth-child(2){width:135px}.accounts-table th:nth-child(3),.accounts-table th:nth-child(4){width:135px}.accounts-table th:nth-child(5){width:220px}.accounts-table th:nth-child(6){width:230px}.accounts-table th:nth-child(7),.accounts-table th:nth-child(8),.accounts-table th:nth-child(9){width:105px}.accounts-table .center,.accounts-table th.center{text-align:center}.account-email{overflow-wrap:anywhere}.account-roles{line-height:1.9}.account-role{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#e9f3ff;color:#245f97;font-size:10px;font-weight:900;white-space:nowrap}.account-role.unassigned{background:#f0f2f4;color:#65727f}.accounts-table th.sortable{cursor:pointer;user-select:none;white-space:nowrap}.accounts-table .sort-arrow{margin-left:5px;opacity:.55}.accounts-table th.sort-active .sort-arrow{opacity:1}.accounts-table-card{min-width:0}
@media(max-width:1250px){.accounts-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.accounts-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.accounts-search{grid-column:span 2}}
@media(max-width:760px){.accounts-kpis,.accounts-filters{grid-template-columns:1fr}.accounts-search{grid-column:auto}}

/* Easy Planners · motor de gestión 3.1.71 */
.ep-engine-version{
  position:fixed;
  right:10px;
  left:auto;
  bottom:7px;
  z-index:9999;
  width:235px;
  max-width:calc(100vw - 20px);
  padding:5px 8px;
  border-radius:6px;
  background:#f28c28;
  color:#fff;
  font-size:10px;
  font-weight:700;
  line-height:1.18;
  letter-spacing:.01em;
  box-shadow:0 1px 4px rgba(15,23,42,.16);
  pointer-events:none;
  user-select:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
.ep-engine-version span{display:block}
@media (max-width:1100px) and (min-width:761px){
  .ep-engine-version{width:200px}
}
@media (max-width:760px){
  .ep-engine-version{right:7px;left:auto;bottom:5px;width:232px;max-width:calc(100vw - 14px);font-size:9.5px;padding:4px 6px;opacity:.96}
}
@media print{.ep-engine-version{display:none!important}}
/* 3.1.71 filtros en cabeceras de Evaluadores */
.data-table thead .column-filters th{padding:6px 5px;background:#f7fbfd;cursor:default}
.data-table thead .column-filters input{width:100%;min-width:54px;box-sizing:border-box;border:1px solid #c9dbe5;border-radius:6px;padding:6px 7px;font-size:12px;background:#fff}
.data-table th[data-sort]{cursor:pointer;user-select:none}
