*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#eef3f9;color:#132033;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}:root{--primary:#123C69;--secondary:#0EA5E9;--accent:#F59E0B;--sidebar-logo-width:260px;--sidebar-logo-max-height:110px;--surface:#fff;--muted:#64748b;--line:#dbe5ef;--shadow:0 16px 40px rgba(15,23,42,.10);--radius:22px}body.menu-open{overflow:hidden}.public-body{min-height:100vh;background:radial-gradient(circle at top left,rgba(14,165,233,.25),transparent 34rem),linear-gradient(135deg,var(--primary),#071827 72%)}.public-main{width:100%;min-height:100vh;padding:14px;display:grid;place-items:center}.login-shell{width:100%;min-height:100vh;display:grid;place-items:center;position:relative;padding:24px;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.92),transparent 24rem),linear-gradient(180deg,var(--login-bg-start),var(--login-bg-end))}.login-shell:before,.login-shell:after{content:"";position:absolute;inset:auto auto 0 0;pointer-events:none}.login-shell:before{left:-6%;bottom:-8%;width:74%;height:30%;background:radial-gradient(circle at 35% 40%,rgba(83,124,255,.55),transparent 62%),linear-gradient(90deg,var(--login-wave-color),transparent);opacity:.92;border-top-right-radius:75% 100%}.login-shell:after{right:-12%;left:auto;bottom:-4%;width:72%;height:34%;background:radial-gradient(circle at 55% 30%,rgba(255,255,255,.68),transparent 58%),linear-gradient(180deg,rgba(255,255,255,.15),transparent);border-top-left-radius:85% 100%;opacity:.9}.login-help-pill{position:absolute;top:26px;right:26px;display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.74);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.88);color:var(--primary);padding:11px 16px;border-radius:999px;font-weight:900;box-shadow:0 12px 30px rgba(15,23,42,.10);z-index:2}.login-help-pill:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(15,23,42,.14)}.login-help-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:2px solid currentColor;font-weight:900}.login-card-modern{position:relative;z-index:1;max-width:620px;padding:38px 46px 28px;background:var(--login-card-background,#ffffff);background:color-mix(in srgb,var(--login-card-background) 90%, white);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.76);box-shadow:0 28px 80px rgba(31,41,55,.16)}.login-brand{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:24px;text-align:left}.login-brand-logo{max-width:78px;max-height:78px;object-fit:contain;border-radius:20px}.login-brand-mark{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;font-size:2rem;font-weight:950;color:#fff;background:linear-gradient(135deg,var(--secondary),var(--primary));box-shadow:0 18px 34px rgba(14,165,233,.26)}.login-brand-copy{display:grid;gap:2px}.login-brand-copy strong{font-size:1.95rem;line-height:1.02;letter-spacing:-.04em;color:#0f2658}.login-brand-copy span{font-size:1.08rem;color:#5b6f96}.login-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.62),transparent);margin:8px 0 24px}.login-card-modern h1{font-size:3.35rem;line-height:.95;letter-spacing:-.05em;color:#203a76;margin-bottom:12px}.login-subtitle{font-size:1.15rem;max-width:28rem;margin:0 0 26px}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:1rem;line-height:1;opacity:.72;pointer-events:none;width:18px;text-align:center}.input-with-icon input{padding-left:56px!important}.password-wrap.input-with-icon input{padding-left:56px!important;padding-right:86px!important}.login-card-modern input{height:56px;border-radius:16px;border:1px solid #c7d6ee;background:rgba(255,255,255,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.login-card-modern input:focus{outline:none;border-color:color-mix(in srgb,var(--secondary) 52%,white);box-shadow:0 0 0 4px rgba(59,130,246,.12)}.login-actions{margin-top:10px}.login-submit-btn{min-height:58px;width:100%;border-radius:16px;font-size:1.18rem;font-weight:900;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 16px 36px rgba(29,78,216,.22)}.login-footer-note{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px;color:#6a7ca0;font-weight:800;text-align:center}.login-footer-badge{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(29,78,216,.10);color:var(--primary)}.hero-card,.form-card,.login-card{width:min(100%,920px);background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.64);border-radius:26px;box-shadow:0 28px 90px rgba(2,6,23,.34);overflow:hidden}.hero-head{padding:28px 22px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));position:relative}.hero-head:after{content:"";position:absolute;right:-6rem;top:-6rem;width:14rem;height:14rem;border-radius:50%;background:rgba(255,255,255,.12)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);font-weight:800;font-size:.82rem;letter-spacing:.02em}.hero-head h1{font-size:clamp(2rem,10vw,4.2rem);line-height:.96;margin:16px 0 10px;position:relative;z-index:1}.hero-head p{font-size:1rem;max-width:720px;opacity:.95;margin:0;position:relative;z-index:1}.hero-content{padding:24px 20px}.public-logo{display:block;max-width:min(260px,78vw);max-height:92px;object-fit:contain;object-position:left center;margin:0 0 18px;position:relative;z-index:1}.login-card{max-width:480px;padding:28px 22px}.login-card h1{font-size:2.2rem;margin:0 0 6px;color:var(--primary)}

/* Layout administrativo responsive */
.admin-body{background:#eef3f9}.admin-shell{min-height:100vh;background:#eef3f9}.mobile-admin-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:linear-gradient(135deg,var(--primary),#0b3158);color:#fff;box-shadow:0 12px 32px rgba(2,6,23,.22)}.mobile-brand{display:flex;align-items:center;gap:10px;min-width:0}.mobile-brand img{width:44px;height:44px;object-fit:contain}.mobile-brand strong{display:block;font-size:1rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}.mobile-brand small{display:block;font-size:.72rem;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}.mobile-mark{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-weight:900}.mobile-menu-btn{min-width:46px;min-height:42px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;border-radius:14px;font-size:1.3rem;font-weight:900;cursor:pointer}.mobile-menu-btn.close{font-size:1.8rem;line-height:1}.sidebar-overlay{position:fixed;inset:0;background:rgba(2,6,23,.5);z-index:70;opacity:0;pointer-events:none;transition:.22s}.menu-open .sidebar-overlay{opacity:1;pointer-events:auto}.sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,360px);height:100dvh;overflow:auto;z-index:80;transform:translateX(-105%);transition:transform .24s ease;background:linear-gradient(180deg,var(--primary),#0b3158 100%);color:#fff;padding:20px 22px 28px;box-shadow:28px 0 70px rgba(2,6,23,.34)}.menu-open .sidebar{transform:translateX(0)}.sidebar-mobile-close{display:flex;justify-content:flex-end;margin-bottom:10px}.institutional-brand{width:100%;display:block;margin:0 0 18px}.brand-logo-wide{display:block;width:min(var(--sidebar-logo-width,260px),100%);max-width:100%;max-height:var(--sidebar-logo-max-height,110px);object-fit:contain;object-position:left center;margin:0}.brand-fallback{display:flex;align-items:center;gap:12px;color:#fff}.brand-mark{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;font-weight:900;font-size:1.35rem}.brand-fallback strong{display:block;font-size:1.12rem;line-height:1.05}.brand-fallback span{display:block;font-size:.8rem;opacity:.82}.sidebar-app-card{width:100%;margin:12px 0 0;padding:13px 16px;background:rgba(17,63,105,.34);border:1px solid rgba(255,255,255,.08);border-radius:0}.sidebar-app-card strong{display:block;font-size:1.18rem;line-height:1.15;font-weight:900;letter-spacing:-.02em}.sidebar-app-card span{display:block;margin-top:2px;color:rgba(255,255,255,.78);font-size:.88rem;font-weight:700}.sidebar-nav{width:100%;margin:28px 0 0;padding:14px;display:grid;gap:8px;background:rgba(7,40,74,.55);box-shadow:0 24px 60px rgba(0,0,0,.08)}.sidebar-nav a{display:block;color:rgba(255,255,255,.88);font-size:1rem;line-height:1.2;font-weight:900;padding:12px 10px;border-radius:12px}.sidebar-nav a:hover,.sidebar-nav a:focus{background:rgba(255,255,255,.12);color:#fff;outline:none}.admin-main{padding:16px 12px 28px;max-width:100%;overflow:hidden}.topbar{display:grid;gap:12px;margin-bottom:16px}.topbar h1{margin:0;color:#0f172a;font-size:clamp(1.6rem,7vw,2.2rem);letter-spacing:-.03em}.topbar p{margin:4px 0 0;color:var(--muted)}.user-pill{justify-self:start;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(15,23,42,.07);padding:9px 13px;border-radius:999px;font-weight:900}

.card{background:var(--surface);border:1px solid #e6edf5;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:18px;max-width:100%}.card h2,.card h3{margin-top:0;color:#101c2e}.stats{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:18px}.stat{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #e6edf5;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06)}.stat span{font-size:.86rem;color:var(--muted);font-weight:700}.stat strong{display:block;margin-top:4px;font-size:2rem;color:var(--primary)}.toolbar,.section-head{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.toolbar h2,.toolbar p,.section-head h3,.section-head p{margin-bottom:0}.grid{display:grid;gap:14px}.grid.two,.grid.three,.field-grid{grid-template-columns:1fr}.form-span{grid-column:1/-1}.form-group{display:grid;gap:7px;min-width:0}.form-group label{font-weight:850;color:#263548}.form-control,select,textarea,input[type="datetime-local"],input[type="date"],input[type="email"],input[type="password"],input[type="text"],input[type="tel"],input[type="number"],input[type="color"],input:not([type]){width:100%;min-height:50px;border:1px solid #d8e0ea;border-radius:15px;padding:12px 13px;background:#fff;color:#102033;font:inherit;outline:none;transition:.2s}input[type="color"]{padding:4px;height:52px}.form-control:focus,select:focus,textarea:focus,input:focus{border-color:var(--secondary);box-shadow:0 0 0 4px rgba(14,165,233,.16)}textarea{min-height:112px;resize:vertical}.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:15px;padding:11px 16px;font-weight:900;cursor:pointer;transition:.2s;background:#e8eef6;color:#102033;text-align:center}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(2,6,23,.12)}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.btn.accent{background:var(--accent);color:#111827}.btn.danger{background:#fee2e2;color:#991b1b}.btn.small{min-height:38px;padding:8px 11px;border-radius:12px;font-size:.85rem}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;margin-top:18px}.alert{padding:14px 16px;border-radius:16px;margin:0 0 16px;background:#ecfeff;color:#155e75;border:1px solid #a5f3fc}.alert.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.alert.success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.muted{color:var(--muted)}.help{font-size:.86rem;color:var(--muted);margin:.35rem 0 0}.code{font-family:"SFMono-Regular",Consolas,monospace;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;padding:4px 8px;color:#0f172a;word-break:break-word}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.78rem;font-weight:900}.pill.active{background:#dcfce7;color:#166534}.pill.closed{background:#fee2e2;color:#991b1b}.pill.paused{background:#fef3c7;color:#92400e}.pill.draft{background:#e2e8f0;color:#334155}.option-card{border:1px solid #d8e0ea;border-radius:18px;padding:15px;background:#fbfdff}.checkbox-card{display:flex!important;align-items:center;gap:10px;border:1px solid #d8e0ea;border-radius:15px;padding:13px;background:#fff;min-height:50px;font-weight:800}.checkbox-card input{width:18px;height:18px;accent-color:var(--primary)}.check-group{align-content:end}.public-checkbox{margin-top:26px}.mobile-form .actions{grid-column:1/-1}.public-field-textarea,.public-field-checkbox{grid-column:1/-1}

/* Constructor de campos */
.field-builder{display:grid;gap:14px;margin-top:12px}.field-row{border:1px solid #d8e0ea;border-radius:20px;padding:14px;background:linear-gradient(135deg,#fff,#f8fbff)}.field-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.field-row-head strong{color:var(--primary);font-size:1rem}.field-row textarea{min-height:90px}

/* Tablas responsive */
.table-wrap{border:1px solid #e7edf5;border-radius:18px;background:#fff;overflow:hidden}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid #edf2f7;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafc}.table-wrap td .actions,td.actions{margin-top:0;flex-direction:row;align-items:center}.download-options{display:grid;grid-template-columns:1fr;gap:12px;margin:16px 0}.success-icon{width:72px;height:72px;border-radius:999px;background:linear-gradient(135deg,#22c55e,#14b8a6);display:grid;place-items:center;color:#fff;font-size:2.2rem;font-weight:900;margin-bottom:14px}

/* Editor de certificado */
.editor-shell{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.certificate-canvas-wrap{background:#dbe4ef;border-radius:22px;padding:12px;overflow:auto;-webkit-overflow-scrolling:touch}.certificate-canvas{position:relative;width:min(100%,920px);min-width:620px;aspect-ratio:11/8.5;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.22);overflow:hidden;user-select:none;margin:auto}.certificate-canvas.portrait{aspect-ratio:8.5/11;min-width:420px}.certificate-canvas img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cert-el{position:absolute;border:2px dashed var(--secondary);background:rgba(255,255,255,.42);min-width:48px;min-height:28px;display:grid;place-items:center;text-align:center;cursor:move;color:#111827;font-weight:800;touch-action:none}.cert-el.selected{border-color:var(--accent);box-shadow:0 0 0 4px rgba(245,158,11,.24)}.cert-el .handle{position:absolute;width:18px;height:18px;background:var(--accent);border:2px solid #fff;border-radius:999px;right:-10px;bottom:-10px;cursor:nwse-resize;box-shadow:0 4px 10px rgba(0,0,0,.2)}.editor-panel{position:static}.preview-logo{background:transparent;border:1px solid #e2e8f0;max-width:260px;max-height:96px;object-fit:contain;border-radius:12px;padding:6px;margin-top:10px}.preview-favicon{width:54px;height:54px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid #e2e8f0;padding:6px;margin-top:10px}.theme-preview{margin-top:18px;border-radius:24px;padding:24px;color:#fff;display:grid;gap:6px;box-shadow:var(--shadow)}.theme-preview span{font-weight:800;opacity:.85}.theme-preview strong{font-size:1.6rem;line-height:1.1}.theme-preview em{font-style:normal;color:#111827;border-radius:999px;padding:6px 12px;justify-self:start;font-weight:900}.appearance-form h3{margin-top:22px}

/* Copiar enlace */
.copy-link-wrap{display:flex;align-items:center;gap:8px;max-width:100%}.copy-link-wrap .link-code{display:block;max-width:clamp(180px,34vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-link-wrap.large{margin-top:12px;align-items:stretch}.copy-link-wrap.large .link-code{flex:1;max-width:none;white-space:normal;word-break:break-all;padding:12px 14px;display:flex;align-items:center}.copy-icon-btn{width:42px;height:42px;min-width:42px;border:1px solid #dbe5ef;border-radius:13px;background:#fff;color:var(--primary);display:inline-grid;place-items:center;font-size:1.16rem;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.08);transition:.18s}.copy-icon-btn:hover,.copy-icon-btn:focus{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.14);border-color:var(--secondary);outline:none}.copy-icon-btn.copied{background:#dcfce7;border-color:#86efac;color:#166534}.campaign-link-card{display:grid;gap:12px}.campaign-link-card h2{margin-bottom:4px}

@media (min-width:700px){.public-main{padding:28px}.hero-head{padding:38px 42px}.hero-head p{font-size:1.12rem}.hero-content{padding:34px 42px}.login-card{padding:34px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid{grid-template-columns:1.1fr 1fr .85fr .75fr}.toolbar,.section-head{flex-direction:row;justify-content:space-between;align-items:center}.actions{flex-direction:row;align-items:center}.download-options{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.topbar{display:flex;justify-content:space-between;align-items:center}.user-pill{justify-self:auto}}

@media (min-width:1040px){.admin-shell{display:grid;grid-template-columns:minmax(300px, calc(var(--sidebar-logo-width,260px) + 80px)) 1fr}.mobile-admin-header,.sidebar-overlay,.sidebar-mobile-close{display:none}.sidebar{position:sticky;top:0;transform:none;width:auto;height:100vh;min-height:100vh;padding:42px 38px;box-shadow:none;overflow:auto}.admin-main{padding:30px 36px}.editor-shell{grid-template-columns:1fr 320px}.editor-panel{position:sticky;top:20px}.certificate-canvas-wrap{padding:18px}.brand-logo-wide{max-width:100%;max-height:var(--sidebar-logo-max-height,110px)}.sidebar-app-card{margin-top:22px}.sidebar-nav{margin-top:36px;padding:18px 16px;gap:14px}.sidebar-nav a{font-size:1.05rem;padding:12px 10px}}

@media (max-width:760px){.card{padding:15px;border-radius:20px}.stats{grid-template-columns:1fr}.stat strong{font-size:1.8rem}.btn{width:100%}.table-wrap{border:0;background:transparent;overflow:visible}table{min-width:0}thead{display:none}tbody,tr,td{display:block;width:100%}tr{background:#fff;border:1px solid #e6edf5;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.06);margin-bottom:12px;padding:8px}td{border-bottom:0;padding:9px 10px}td:before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:900;margin-bottom:3px}td.actions{display:flex;flex-direction:column}.table-wrap td .actions{flex-direction:column}.certificate-canvas-wrap{margin-left:-15px;margin-right:-15px;border-radius:0}.hero-card,.form-card,.login-card{border-radius:22px}.hero-head{padding:26px 20px}.hero-content{padding:22px 18px}.copy-link-wrap{width:100%;align-items:stretch}.copy-link-wrap .link-code{flex:1;max-width:none;white-space:normal;word-break:break-all;padding:10px 12px}.copy-icon-btn{width:46px;height:auto;min-height:46px;min-width:46px}.field-row{padding:12px}.field-row-head{align-items:flex-start}.field-row-head .btn{width:auto;min-width:94px}.public-checkbox{margin-top:0}.mobile-form{grid-template-columns:1fr!important}}
.field-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field-row-actions .btn{width:auto;min-width:42px}
@media (max-width:760px){.field-row-actions{justify-content:flex-end}.field-row-actions .btn{width:auto}}

.datetime24-picker{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(160px,.8fr);gap:10px;align-items:center}
.time24-picker{display:flex;align-items:center;gap:8px}
.time24-select{min-width:70px;text-align:center;font-weight:900}
.time24-separator{font-weight:950;color:var(--primary)}
.public-header-editor-card .public-header-current-image img{width:min(100%,520px);max-height:180px;object-fit:cover;border-radius:16px;border:1px solid #dbe5ef;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.public-header-preview{margin-top:16px;border-radius:18px;padding:24px;background:linear-gradient(135deg,var(--preview-primary),var(--preview-secondary));color:#fff;position:relative;overflow:hidden;display:grid;gap:8px;min-height:190px;align-content:center}
.public-header-preview-image{background-image:linear-gradient(rgba(0,0,0,var(--preview-overlay,.35)),rgba(0,0,0,var(--preview-overlay,.35))),var(--preview-header-image),linear-gradient(135deg,var(--preview-primary),var(--preview-secondary));background-size:cover;background-position:center}
.public-header-preview-minimal{background:#fff;color:#102033;border:1px solid #dbe5ef}
.public-header-preview.align-center{text-align:center;justify-items:center}
.public-header-preview.logo-center{justify-items:center}
.public-header-preview.logo-right{justify-items:end}
.public-header-preview-logo{width:var(--preview-logo-width,220px);max-height:var(--preview-logo-max-height,90px);object-fit:contain;transform:translate(var(--preview-logo-x,0),var(--preview-logo-y,0));background:#fff;border:1px solid rgba(15,23,42,.12);box-shadow:0 10px 24px rgba(15,23,42,.08);border-radius:16px;padding:.45rem}
.public-header-preview span,.public-header-preview strong,.public-header-preview p{position:relative;z-index:1;margin:0}
.public-header-preview span{display:inline-flex;width:max-content;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);padding:7px 12px;font-size:.82rem;font-weight:900;color:var(--preview-badge-color,#fff)}
.public-header-preview-minimal span{background:#eef6ff;color:var(--preview-badge-color,var(--primary));border-color:#dbeafe}
.public-header-preview strong{font-size:clamp(1.55rem,var(--preview-title-size,48px),5.125rem);line-height:1.02;letter-spacing:0;font-weight:950;color:var(--preview-title-color,#fff)}
.public-header-preview p{max-width:680px;opacity:.94;font-size:var(--preview-text-size,18px);color:var(--preview-text-color,#fff)}
.public-registration-card.public-header-align-center .public-form-header{text-align:center}
.public-registration-card.public-header-align-center .public-logo{margin-left:auto;margin-right:auto;object-position:center}
.public-registration-card.public-header-logo-center .public-logo{margin-left:auto;margin-right:auto;object-position:center}
.public-registration-card.public-header-logo-right .public-logo{margin-left:auto;margin-right:0;object-position:right center}
.public-form-header{overflow:hidden}
.public-form-header .public-logo{width:var(--public-header-logo-width,220px);max-width:min(var(--public-header-logo-width,220px),78vw);max-height:var(--public-header-logo-max-height,90px);transform:translate(var(--public-header-logo-x,0),var(--public-header-logo-y,0))}
.public-form-header h1{font-size:clamp(2rem,var(--public-header-title-size,48px),5.125rem);color:var(--public-header-title-color,#fff)}
.public-form-header p{font-size:var(--public-header-text-size,18px);color:var(--public-header-text-color,#fff)}
.public-form-header .badge{color:var(--public-header-badge-color,#fff)}
.public-header-layout-image .public-form-header{background-image:linear-gradient(rgba(0,0,0,var(--public-header-overlay,.35)),rgba(0,0,0,var(--public-header-overlay,.35))),var(--public-header-image),linear-gradient(135deg,var(--primary),var(--secondary));background-size:cover;background-position:center}
.public-header-layout-minimal .public-form-header{background:#fff;color:#102033;border-bottom:1px solid #e6edf5}
.public-header-layout-minimal .public-form-header .badge{background:#eef6ff;color:var(--public-header-badge-color,var(--primary));border-color:#dbeafe}
.public-header-layout-minimal .public-form-header p{opacity:1}
@media (max-width:760px){.datetime24-picker{grid-template-columns:1fr}.time24-picker{width:100%}.time24-select{flex:1}}

/* v6: barra lateral colapsable, iconos y corrección responsive de tablas */
html, body { max-width: 100%; overflow-x: hidden; }
.admin-shell { min-width: 0; }
.admin-main { min-width: 0; overflow: visible; }
.card { min-width: 0; overflow: visible; }
.sidebar { will-change: transform, width; }
.sidebar-collapse-btn {
    width: 100%;
    min-height: 44px;
    margin-top: 16px;
    display: none;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.92);
    padding: 10px 12px;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
    transition: .18s ease;
}
.sidebar-collapse-btn:hover,
.sidebar-collapse-btn:focus {
    background: rgba(255,255,255,.14);
    outline: none;
}
.nav-icon {
    width: 24px;
    min-width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
}
.nav-icon svg {
    width: 22px;
    height: 22px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sidebar-nav a {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 48px;
}
.nav-text {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}
.table-wrap table {
    width: 100%;
}
table {
    table-layout: auto;
}
.table-wrap th:last-child,
.table-wrap td:last-child {
    min-width: 290px;
}
.campaign-actions,
td.campaign-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 290px;
}
.campaign-actions form {
    display: inline-flex !important;
    margin: 0;
}
.campaign-actions .btn {
    white-space: nowrap;
}
.copy-link-wrap {
    min-width: 0;
}
.copy-link-wrap .link-code {
    min-width: 0;
}

@media (min-width:1040px){
    .admin-shell { grid-template-columns: 330px minmax(0, 1fr); transition: grid-template-columns .22s ease; }
    .sidebar-collapse-btn { display: flex; }
    .sidebar { min-width: 0; }
    body.sidebar-collapsed .admin-shell { grid-template-columns: 96px minmax(0, 1fr); }
    body.sidebar-collapsed .sidebar { padding: 28px 18px; overflow-x: hidden; }
    body.sidebar-collapsed .institutional-brand { display: flex; justify-content: center; margin-bottom: 12px; }
    body.sidebar-collapsed .brand-logo-wide { width: 52px; height: 52px; object-fit: contain; object-position: left center; }
    body.sidebar-collapsed .brand-fallback { justify-content: center; }
    body.sidebar-collapsed .brand-fallback strong,
    body.sidebar-collapsed .brand-fallback span,
    body.sidebar-collapsed .sidebar-app-card,
    body.sidebar-collapsed .nav-text { display: none; }
    body.sidebar-collapsed .sidebar-collapse-btn,
    body.sidebar-collapsed .sidebar-nav a { justify-content: center; padding-left: 10px; padding-right: 10px; }
    body.sidebar-collapsed .sidebar-collapse-btn .nav-icon svg { transform: rotate(180deg); }
    body.sidebar-collapsed .sidebar-nav { padding: 12px 8px; }
    body.sidebar-collapsed .nav-icon { margin: 0; }
    body.sidebar-collapsed .admin-main { padding-left: 30px; }
}

@media (max-width:1280px) and (min-width:761px){
    .table-wrap th,
    .table-wrap td { padding: 12px 12px; }
    .copy-link-wrap .link-code { max-width: clamp(170px, 24vw, 320px); }
    .campaign-actions,
    td.campaign-actions { min-width: 240px; }
    .campaign-actions .btn { padding-left: 10px; padding-right: 10px; }
}

@media (max-width:760px){
    .sidebar-collapse-btn { display: none; }
    .table-wrap { overflow: visible; }
    .table-wrap th:last-child,
    .table-wrap td:last-child,
    .campaign-actions,
    td.campaign-actions { min-width: 0; }
    td.campaign-actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
    .campaign-actions form,
    .campaign-actions .btn { width: 100%; }
    .campaign-actions form { display: block !important; }
    .sidebar-nav a { min-height: 52px; }
}

/* v7: listado de campañas en tarjetas responsive */
.campaign-card-grid{
    display:grid;
    gap:16px;
    width:100%;
    min-width:0;
}
.campaign-card-item{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:16px;
    width:100%;
    min-width:0;
    padding:18px;
    border:1px solid #e3ebf4;
    border-radius:22px;
    background:linear-gradient(135deg,#ffffff,#f8fbff);
    box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.campaign-card-main{min-width:0;display:grid;gap:14px}.campaign-title-wrap{min-width:0}.campaign-title-wrap h3{margin:8px 0 4px;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.2;color:#0f172a;word-break:break-word}.campaign-title-wrap p{margin:0}.campaign-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;min-width:0}.campaign-meta{min-width:0;border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:11px 12px}.campaign-meta span,.campaign-public-link>span{display:block;margin-bottom:4px;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:900}.campaign-meta strong{display:block;font-size:.94rem;color:#132033;line-height:1.35;overflow-wrap:anywhere}.campaign-public-link{min-width:0}.campaign-card-actions{min-width:0!important;margin-top:0;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:stretch}.campaign-card-actions form{display:block!important;margin:0;min-width:0}.campaign-card-actions .btn,.campaign-card-actions form .btn{width:100%;white-space:normal;text-align:center}.empty-state{padding:22px;border:1px dashed #cbd5e1;border-radius:18px;background:#f8fafc}.empty-state p{margin:6px 0 0}.campaign-card-item .copy-link-wrap.large{margin-top:0}.campaign-card-item .copy-link-wrap.large .link-code{min-height:48px;min-width:0;overflow-wrap:anywhere}
@media (min-width:1180px){.campaign-card-item{grid-template-columns:minmax(0,1fr) minmax(220px,270px);align-items:stretch}.campaign-card-actions{grid-template-columns:1fr;align-content:start}.campaign-card-item .copy-link-wrap.large .link-code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}}
@media (max-width:980px){.table-wrap{border:0;background:transparent;overflow:visible}table{min-width:0}thead{display:none}tbody,tr,td{display:block;width:100%}tr{background:#fff;border:1px solid #e6edf5;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.06);margin-bottom:12px;padding:8px}td{border-bottom:0;padding:9px 10px}td:before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:900;margin-bottom:3px}.table-wrap th:last-child,.table-wrap td:last-child{min-width:0}.campaign-actions,td.campaign-actions{min-width:0}}
@media (max-width:560px){.campaign-card-item{padding:14px;border-radius:19px}.campaign-meta-grid{grid-template-columns:1fr}.campaign-card-actions{grid-template-columns:1fr}.campaign-card-item .copy-link-wrap.large{align-items:stretch}.campaign-card-item .copy-link-wrap.large .link-code{white-space:normal;word-break:break-all}.campaign-title-wrap .pill{margin-bottom:2px}}


/* v8: tooltips visibles al posar el ratón sobre iconos del menú colapsado */
.sidebar-nav a,
.sidebar-collapse-btn {
    position: relative;
}
@media (min-width:1040px){
    body.sidebar-collapsed .sidebar {
        overflow: visible;
        z-index: 90;
    }
    body.sidebar-collapsed .sidebar-nav {
        overflow: visible;
    }
    body.sidebar-collapsed .sidebar-nav a::after,
    body.sidebar-collapsed .sidebar-collapse-btn::after {
        content: attr(data-tooltip);
        position: absolute;
        left: calc(100% + 14px);
        top: 50%;
        transform: translateY(-50%) translateX(-6px);
        min-width: max-content;
        max-width: 220px;
        padding: 9px 12px;
        border-radius: 12px;
        background: #0f172a;
        color: #fff;
        font-size: .86rem;
        font-weight: 900;
        line-height: 1.15;
        letter-spacing: 0;
        box-shadow: 0 14px 34px rgba(2,6,23,.28);
        opacity: 0;
        pointer-events: none;
        white-space: nowrap;
        z-index: 999;
        transition: opacity .16s ease, transform .16s ease;
    }
    body.sidebar-collapsed .sidebar-nav a::before,
    body.sidebar-collapsed .sidebar-collapse-btn::before {
        content: "";
        position: absolute;
        left: calc(100% + 7px);
        top: 50%;
        transform: translateY(-50%) translateX(-6px) rotate(45deg);
        width: 10px;
        height: 10px;
        background: #0f172a;
        opacity: 0;
        pointer-events: none;
        z-index: 998;
        transition: opacity .16s ease, transform .16s ease;
    }
    body.sidebar-collapsed .sidebar-nav a:hover::after,
    body.sidebar-collapsed .sidebar-nav a:focus-visible::after,
    body.sidebar-collapsed .sidebar-collapse-btn:hover::after,
    body.sidebar-collapsed .sidebar-collapse-btn:focus-visible::after,
    body.sidebar-collapsed .sidebar-nav a:hover::before,
    body.sidebar-collapsed .sidebar-nav a:focus-visible::before,
    body.sidebar-collapsed .sidebar-collapse-btn:hover::before,
    body.sidebar-collapsed .sidebar-collapse-btn:focus-visible::before {
        opacity: 1;
        transform: translateY(-50%) translateX(0);
    }
    body.sidebar-collapsed .sidebar-nav a:hover::before,
    body.sidebar-collapsed .sidebar-nav a:focus-visible::before,
    body.sidebar-collapsed .sidebar-collapse-btn:hover::before,
    body.sidebar-collapsed .sidebar-collapse-btn:focus-visible::before {
        transform: translateY(-50%) translateX(0) rotate(45deg);
    }
}

/* v9: campañas en acordeón y reutilización ordenada */
.strong-help{font-weight:850;color:var(--primary)}
.campaign-accordion{display:grid;gap:12px;min-width:0;width:100%}
.campaign-accordion-item{border:1px solid #e2e8f0;border-radius:22px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 10px 28px rgba(15,23,42,.06);overflow:hidden;min-width:0}
.campaign-accordion-trigger{width:100%;border:0;background:transparent;color:#132033;cursor:pointer;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.95fr) auto;gap:14px;align-items:center;text-align:left;padding:16px 18px;min-width:0}
.campaign-accordion-trigger:hover,.campaign-accordion-trigger:focus{background:#f1f7fd;outline:none}.campaign-accordion-item.is-open .campaign-accordion-trigger{background:#f8fbff;border-bottom:1px solid #e2e8f0}.campaign-accordion-title{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"pill title" ". date";gap:4px 10px;align-items:center;min-width:0}.campaign-accordion-title .pill{grid-area:pill}.campaign-title-text{grid-area:title;font-weight:950;font-size:clamp(1rem,1.7vw,1.18rem);line-height:1.22;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a}.campaign-accordion-title small{grid-area:date;color:var(--muted);font-weight:750}.campaign-accordion-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}.campaign-accordion-meta span{min-width:0;border:1px solid #e8eef6;background:#fff;border-radius:14px;padding:8px 10px}.campaign-accordion-meta em{display:block;color:var(--muted);font-style:normal;font-size:.68rem;text-transform:uppercase;font-weight:950;letter-spacing:.04em}.campaign-accordion-meta strong{display:block;color:#132033;font-size:.82rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaign-chevron{width:34px;height:34px;border-radius:999px;background:#e8eef6;color:var(--primary);font-weight:950;display:grid;place-items:center;transition:.18s}.campaign-accordion-item.is-open .campaign-chevron{transform:rotate(180deg);background:var(--primary);color:#fff}.campaign-accordion-panel{padding:16px 18px 18px}.campaign-accordion-panel[hidden]{display:none!important}.campaign-panel-body{display:grid;gap:15px;min-width:0}.campaign-panel-body .campaign-card-actions{border-top:1px solid #e8eef6;padding-top:14px}.campaign-panel-body .campaign-public-link .help{margin-top:8px}.campaign-panel-body .copy-link-wrap.large .link-code{min-height:48px;min-width:0;overflow-wrap:anywhere}
@media (max-width:1180px){.campaign-accordion-trigger{grid-template-columns:minmax(0,1fr) auto}.campaign-accordion-meta{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));order:2}.campaign-chevron{grid-column:2;grid-row:1}.campaign-accordion-title{grid-column:1;grid-row:1}}
@media (max-width:680px){.campaign-accordion-trigger{padding:14px;grid-template-columns:minmax(0,1fr) auto}.campaign-accordion-meta{grid-template-columns:1fr}.campaign-accordion-title{grid-template-columns:1fr;grid-template-areas:"pill" "title" "date"}.campaign-title-text{white-space:normal;overflow:visible}.campaign-accordion-panel{padding:14px}.campaign-panel-body .copy-link-wrap.large{display:grid;grid-template-columns:1fr auto}.campaign-panel-body .campaign-card-actions{grid-template-columns:1fr!important}.download-options{grid-template-columns:1fr!important}}


/* v10: acordeón de campañas basado en <details>, resistente a caché/JS y 100% responsive */
.campaign-accordion-v10{display:grid!important;gap:12px!important;width:100%;min-width:0}
.campaign-accordion-v10 .campaign-accordion-item{display:block!important;border:1px solid #e2e8f0;border-radius:22px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 10px 28px rgba(15,23,42,.06);overflow:hidden;min-width:0}
.campaign-accordion-v10 .campaign-accordion-trigger{list-style:none;width:100%;border:0;background:transparent;color:#132033;cursor:pointer;display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(260px,.95fr) auto;gap:14px;align-items:center;text-align:left;padding:16px 18px;min-width:0;user-select:none}
.campaign-accordion-v10 .campaign-accordion-trigger::-webkit-details-marker{display:none}
.campaign-accordion-v10 .campaign-accordion-trigger::marker{content:""}
.campaign-accordion-v10 .campaign-accordion-trigger:hover,.campaign-accordion-v10 .campaign-accordion-trigger:focus{background:#f1f7fd;outline:none}
.campaign-accordion-v10 .campaign-accordion-item[open] .campaign-accordion-trigger{background:#f8fbff;border-bottom:1px solid #e2e8f0}
.campaign-accordion-v10 .campaign-chevron{width:34px;height:34px;border-radius:999px;background:#e8eef6;color:var(--primary);font-weight:950;display:grid;place-items:center;transition:.18s}
.campaign-accordion-v10 .campaign-accordion-item[open] .campaign-chevron{transform:rotate(180deg);background:var(--primary);color:#fff}
.campaign-accordion-v10 .campaign-accordion-panel{display:block!important;padding:16px 18px 18px}
.campaign-accordion-v10 .campaign-accordion-item:not([open]) .campaign-accordion-panel{display:none!important}
.campaign-accordion-v10 .campaign-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1180px){.campaign-accordion-v10 .campaign-accordion-trigger{grid-template-columns:minmax(0,1fr) auto}.campaign-accordion-v10 .campaign-accordion-meta{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));order:2}.campaign-accordion-v10 .campaign-chevron{grid-column:2;grid-row:1}.campaign-accordion-v10 .campaign-accordion-title{grid-column:1;grid-row:1}}
@media (max-width:680px){.campaign-accordion-v10 .campaign-accordion-trigger{padding:14px;grid-template-columns:minmax(0,1fr) auto}.campaign-accordion-v10 .campaign-accordion-meta{grid-template-columns:1fr}.campaign-accordion-v10 .campaign-accordion-title{grid-template-columns:1fr;grid-template-areas:"pill" "title" "date"}.campaign-accordion-v10 .campaign-title-text{white-space:normal;overflow:visible}.campaign-accordion-v10 .campaign-accordion-panel{padding:14px}.campaign-accordion-v10 .campaign-panel-body .copy-link-wrap.large{display:grid;grid-template-columns:1fr auto}.campaign-accordion-v10 .campaign-panel-body .campaign-card-actions{grid-template-columns:1fr!important}}

/* v11 - Acordeón robusto para Dashboard y Campañas */
.accordion-help{
    display:flex;
    align-items:center;
    gap:8px;
    margin:4px 0 14px;
    padding:10px 12px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:linear-gradient(135deg,#eff6ff,#ffffff);
    color:#334155;
    font-weight:750;
    font-size:.92rem;
}
.campaign-accordion-v11{
    display:grid!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
}
.campaign-accordion-v11 .campaign-accordion-item{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    border:1px solid #e2e8f0;
    border-radius:22px;
    background:linear-gradient(135deg,#fff,#f8fbff);
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    overflow:hidden;
}
.campaign-accordion-v11 .campaign-accordion-trigger{
    appearance:none;
    -webkit-appearance:none;
    width:100%!important;
    border:0!important;
    background:transparent!important;
    color:#132033!important;
    cursor:pointer;
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(260px,.95fr) auto;
    gap:14px;
    align-items:center;
    text-align:left;
    padding:16px 18px;
    min-width:0;
    user-select:none;
    font:inherit;
}
.campaign-accordion-v11 .campaign-accordion-trigger:hover,
.campaign-accordion-v11 .campaign-accordion-trigger:focus-visible{
    background:#f1f7fd!important;
    outline:2px solid transparent;
}
.campaign-accordion-v11 .campaign-accordion-item.is-open .campaign-accordion-trigger{
    background:#f8fbff!important;
    border-bottom:1px solid #e2e8f0!important;
}
.campaign-accordion-v11 .campaign-chevron{
    width:34px;
    height:34px;
    border-radius:999px;
    background:#e8eef6;
    color:var(--primary);
    font-weight:950;
    display:grid;
    place-items:center;
    transition:.18s;
}
.campaign-accordion-v11 .campaign-accordion-item.is-open .campaign-chevron{
    transform:rotate(180deg);
    background:var(--primary);
    color:#fff;
}
.campaign-accordion-v11 .campaign-accordion-panel{
    display:block;
    padding:16px 18px 18px;
}
.campaign-accordion-v11 .campaign-accordion-panel[hidden]{
    display:none!important;
}
.campaign-accordion-v11 .campaign-title-text{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
@media (max-width:1180px){
    .campaign-accordion-v11 .campaign-accordion-trigger{grid-template-columns:minmax(0,1fr) auto;}
    .campaign-accordion-v11 .campaign-accordion-meta{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));order:2;}
    .campaign-accordion-v11 .campaign-chevron{grid-column:2;grid-row:1;}
    .campaign-accordion-v11 .campaign-accordion-title{grid-column:1;grid-row:1;}
}
@media (max-width:680px){
    .accordion-help{font-size:.85rem;align-items:flex-start;}
    .campaign-accordion-v11 .campaign-accordion-trigger{padding:14px;grid-template-columns:minmax(0,1fr) auto;}
    .campaign-accordion-v11 .campaign-accordion-meta{grid-template-columns:1fr;}
    .campaign-accordion-v11 .campaign-accordion-title{grid-template-columns:1fr;grid-template-areas:"pill" "title" "date";}
    .campaign-accordion-v11 .campaign-title-text{white-space:normal;overflow:visible;}
    .campaign-accordion-v11 .campaign-accordion-panel{padding:14px;}
    .campaign-accordion-v11 .campaign-panel-body .copy-link-wrap.large{display:grid;grid-template-columns:1fr auto;}
    .campaign-accordion-v11 .campaign-panel-body .campaign-card-actions{grid-template-columns:1fr!important;}
}

/* v12: panel global de registros, búsqueda y exportación */
.records-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.records-control-panel{position:relative;overflow:hidden}
.records-control-panel:before{content:"";position:absolute;right:-80px;top:-80px;width:190px;height:190px;border-radius:50%;background:linear-gradient(135deg,rgba(14,165,233,.15),rgba(245,158,11,.12));pointer-events:none}
.records-filter-form{position:relative;z-index:1}
.records-filter-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end}
.records-filter-grid .form-span-wide{grid-column:1/-1}
input[type="search"]{width:100%;min-height:50px;border:1px solid #d8e0ea;border-radius:15px;padding:12px 13px;background:#fff;color:#102033;font:inherit;outline:none;transition:.2s}
input[type="search"]:focus{border-color:var(--secondary);box-shadow:0 0 0 4px rgba(14,165,233,.16)}
.records-filter-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.records-filter-actions .btn{min-width:170px}
.export-panel{margin-top:18px;padding:15px;border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#fff);display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:1}.export-panel h3{margin:0;color:#0f172a}.export-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.export-actions .btn{min-width:150px}.records-toolbar{align-items:flex-start}.pagination-summary,.page-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;padding:8px 12px;color:#334155;font-weight:900}.small-muted{font-size:.82rem}.pagination{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:18px}.records-table-wrap table{min-width:980px}.records-table-wrap td:first-child{min-width:230px}.records-table-wrap td:last-child,.records-table-wrap th:last-child{min-width:150px}
@media (min-width:860px){.records-filter-grid .form-span-wide{grid-column:span 2}.records-toolbar{flex-direction:row;align-items:center;justify-content:space-between}.records-filter-actions{justify-content:flex-start}}
@media (max-width:760px){.records-filter-actions,.export-actions{display:grid;grid-template-columns:1fr;width:100%}.records-filter-actions .btn,.export-actions .btn{width:100%}.export-panel{display:grid}.records-table-wrap table{min-width:0}.records-table-wrap td:first-child,.records-table-wrap td:last-child,.records-table-wrap th:last-child{min-width:0}.pagination{display:grid;grid-template-columns:1fr}.page-pill{width:100%}}

/* v13: Tarjeta final de registro con logo institucional y fecha */
.success-card{position:relative;overflow:hidden;min-height:360px}.success-logo-wrap{position:absolute;top:24px;right:26px;z-index:2;display:flex;justify-content:flex-end;align-items:center;max-width:min(34vw,280px);padding:8px 0}.success-logo{display:block;max-width:min(280px,34vw);max-height:82px;object-fit:contain;object-position:right center}.success-content{padding-top:84px}.success-content h1{margin-top:0;margin-bottom:20px;font-size:clamp(1.9rem,5vw,3rem);line-height:1.08;color:#0f1d33}.success-content p{font-size:clamp(1rem,2vw,1.14rem)}.success-content .actions{margin-top:22px}.success-card .success-icon{margin-top:0}
@media (min-width:700px){.success-content{padding-top:104px}.success-card{min-height:380px}}
@media (max-width:640px){.success-card{min-height:auto}.success-logo-wrap{position:static;max-width:100%;justify-content:flex-end;padding:18px 18px 0}.success-logo{max-width:min(220px,70vw);max-height:72px}.success-content{padding-top:16px}.success-content .actions{display:grid;grid-template-columns:1fr}.success-content .btn{width:100%}}


/* v14: tamaño configurable del logotipo del panel lateral */
.logo-size-control{margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}
.institutional-brand{min-height:calc(var(--sidebar-logo-max-height,110px) + 2px);display:flex;align-items:center}
@media (min-width:1040px){
  .sidebar{padding-left:32px;padding-right:32px}
  body.sidebar-collapsed .admin-shell{grid-template-columns:96px minmax(0,1fr)}
  body.sidebar-collapsed .institutional-brand{min-height:auto}
  body.sidebar-collapsed .brand-logo-wide{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important}
}
@media (max-width:1039px){
  .brand-logo-wide{width:min(var(--sidebar-logo-width,260px),100%);max-height:var(--sidebar-logo-max-height,110px)}
}


/* v15: segundo logotipo exclusivo para barra lateral contraída */
.brand-logo-collapsed{display:none;object-fit:contain;object-position:center center;margin:0 auto}
.preview-collapsed-logo{width:74px;height:74px;object-fit:contain;border-radius:18px;background:#fff;border:1px solid #e2e8f0;padding:8px;margin-top:10px;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.remove-logo-option{margin-top:12px}
@media (min-width:1040px){
  body.sidebar-collapsed .institutional-brand.has-collapsed-logo{justify-content:center;align-items:center;min-height:56px}
  body.sidebar-collapsed .institutional-brand.has-collapsed-logo .brand-logo-wide{display:none!important}
  body.sidebar-collapsed .institutional-brand.has-collapsed-logo .brand-logo-collapsed{display:block!important;width:54px!important;height:54px!important;max-width:54px!important;max-height:54px!important}
  body.sidebar-collapsed .institutional-brand:not(.has-collapsed-logo) .brand-logo-wide{object-position:center center;margin:0 auto}
}
@media (max-width:1039px){
  .brand-logo-collapsed{display:none!important}
}

/* v16: hardening UI helpers */
.sidebar-logout-form{margin:0;padding:0;display:block}
.sidebar-logout-form button{width:100%;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.88);font:inherit;font-size:1rem;line-height:1.2;font-weight:900;padding:12px 10px;border-radius:12px;background:transparent;border:0;cursor:pointer;text-align:left}
.sidebar-logout-form button:hover,.sidebar-logout-form button:focus{background:rgba(255,255,255,.12);color:#fff;outline:none}
.sidebar-nav a,.sidebar-logout-form button{position:relative;text-decoration:none}
@media (min-width:1040px){
  .sidebar-logout-form button{font-size:1.05rem;padding:12px 10px}
  body.sidebar-collapsed .sidebar-logout-form button{justify-content:center;padding-left:10px;padding-right:10px;min-height:52px}
  body.sidebar-collapsed .sidebar-logout-form .nav-text{display:none}
  body.sidebar-collapsed .sidebar-logout-form button::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);background:#0f172a;color:#fff;border-radius:10px;padding:8px 10px;font-size:.82rem;white-space:nowrap;opacity:0;pointer-events:none;box-shadow:0 18px 40px rgba(2,6,23,.22);z-index:200;transition:.18s}
  body.sidebar-collapsed .sidebar-logout-form button:hover::after,body.sidebar-collapsed .sidebar-logout-form button:focus-visible::after{opacity:1}
}

/* v17: módulo de ediciones */
.editions-card table td .copy-link-wrap { justify-content: flex-start; }
.public-date { margin-top: .75rem; font-size: 1rem; color: var(--muted); }
.pill.closed { background: #f3f4f6; color: #374151; }
.pill.draft { background: #fef3c7; color: #92400e; }
.pill.paused { background: #fee2e2; color: #991b1b; }
.pill.active { background: #dcfce7; color: #166534; }

/* v20 - Gestor de archivos e imágenes */
.assets-stats .stat small{display:block;color:#64748b;font-weight:600;margin-top:.35rem;font-size:.8rem}
.asset-filters{display:grid;grid-template-columns:2fr 1fr auto;gap:1rem;align-items:end;margin-top:1rem}
.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.asset-card{display:grid;grid-template-columns:92px 1fr;gap:1rem;background:#fff;border:1px solid rgba(15,23,42,.09);border-radius:22px;padding:1rem;box-shadow:0 8px 24px rgba(15,23,42,.06);min-width:0}
.asset-thumb{width:92px;height:92px;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(15,23,42,.08)}
.asset-thumb img{width:100%;height:100%;object-fit:contain;padding:.4rem}
.asset-thumb span{font-size:2rem}
.asset-info{min-width:0;display:flex;flex-direction:column;gap:.35rem}
.asset-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0f172a}
.asset-meta{display:flex;gap:.4rem;flex-wrap:wrap;color:#475569;font-size:.85rem}
.asset-meta span{background:#f1f5f9;border-radius:999px;padding:.18rem .55rem;font-weight:700}
.asset-path{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.35rem .5rem;color:#334155;font-size:.78rem}
.asset-badges{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.15rem}
.asset-actions{margin-top:.35rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.btn.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.btn.danger:hover{background:#fecaca}
@media (max-width:760px){.asset-filters{grid-template-columns:1fr}.asset-card{grid-template-columns:76px 1fr;border-radius:18px}.asset-thumb{width:76px;height:76px}.asset-grid{grid-template-columns:1fr}.asset-title{white-space:normal}.asset-path{white-space:normal;word-break:break-all}}


/* v21 - Módulo de correo */
.inline-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}
.inline-actions form{margin:0;display:inline-flex}
.email-settings-form textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;line-height:1.45}
.success-email-note{background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;border-radius:14px;padding:.7rem .85rem;font-weight:700}
.pill.sent{background:#dcfce7;color:#166534}.pill.failed{background:#fee2e2;color:#991b1b}.pill.skipped{background:#fef3c7;color:#92400e}
@media (max-width:760px){.inline-actions{justify-content:flex-start}.inline-actions .btn{width:auto}.email-settings-form{grid-template-columns:1fr}}

/* v22 - Turnstile y protección anti-spam */
.hp-field {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.turnstile-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 10px 0 4px;
}
.security-settings-form .settings-section,
.email-settings-form .settings-section {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(15, 23, 42, .10);
}
.security-settings-form h3 {
    margin: 0 0 12px;
    color: var(--primary);
}
@media (max-width: 640px) {
    .turnstile-wrap {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 8px;
    }
}

/* v23 - Vistas previas de formulario público y certificado */
.preview-actions,
.toolbar-actions {
    display: flex;
    gap: .65rem;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: .85rem;
}
.toolbar-actions { margin-top: 0; }
.preview-ribbon {
    width: min(980px, calc(100% - 2rem));
    margin: 0 auto 1rem;
    background: rgba(15,23,42,.92);
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 20px;
    padding: .9rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    box-shadow: 0 18px 45px rgba(2,6,23,.22);
}
.preview-ribbon strong { display: block; font-size: 1rem; }
.preview-ribbon span { display: block; color: rgba(255,255,255,.78); font-size: .9rem; margin-top: .1rem; }
.preview-ribbon .btn { background: #fff; color: #0f172a; border-color: transparent; white-space: nowrap; }
.preview-public-card { position: relative; }
.preview-public-card::before {
    content: "VISTA PREVIA";
    position: absolute;
    right: 1.2rem;
    top: 1.2rem;
    z-index: 3;
    background: color-mix(in srgb, var(--accent) 90%, #fff 10%);
    color: #111827;
    border-radius: 999px;
    padding: .35rem .7rem;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .04em;
    box-shadow: 0 10px 20px rgba(15,23,42,.12);
}
.preview-form input,
.preview-form textarea,
.preview-form select {
    border-style: dashed;
}
.turnstile-preview-placeholder {
    border: 1px dashed rgba(15,23,42,.28);
    border-radius: 16px;
    background: #f8fafc;
    color: #475569;
    text-align: center;
    font-weight: 800;
    padding: 1rem;
}
@media (max-width: 720px) {
    .preview-ribbon { flex-direction: column; align-items: stretch; }
    .preview-ribbon .btn { width: 100%; text-align: center; }
    .preview-actions, .toolbar-actions { justify-content: stretch; }
    .preview-actions .btn, .toolbar-actions .btn, .toolbar-actions button { flex: 1 1 100%; }
    .preview-public-card::before { right: .8rem; top: .8rem; font-size: .68rem; }
}

/* v24 - Reportes gráficos responsive */
.report-stats {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.report-filter-card .toolbar {
    align-items: flex-start;
}
.report-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.report-card-wide {
    grid-column: 1 / -1;
}
.report-card h2 {
    margin-bottom: .15rem;
}
.report-bars {
    display: grid;
    gap: .75rem;
    margin-top: .85rem;
}
.report-bar-row {
    display: grid;
    grid-template-columns: minmax(130px, 240px) minmax(120px, 1fr) auto;
    gap: .75rem;
    align-items: center;
}
.report-bar-label {
    min-width: 0;
    font-weight: 800;
    color: #334155;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.report-bar-track {
    height: 14px;
    background: #e5e7eb;
    border-radius: 999px;
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .08);
}
.report-bar-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    min-width: 3px;
}
.report-bar-value {
    min-width: 38px;
    text-align: right;
    font-weight: 900;
    color: var(--primary);
}
.report-list {
    display: grid;
    gap: .7rem;
    margin-top: .85rem;
}
.report-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid rgba(15, 23, 42, .08);
    background: #f8fafc;
    border-radius: 16px;
    padding: .8rem .95rem;
}
.report-list-item span {
    color: #334155;
    font-weight: 800;
}
.report-list-item strong {
    color: var(--primary);
    font-size: 1.1rem;
}
.empty-state {
    background: #f8fafc;
    border: 1px dashed rgba(15, 23, 42, .18);
    color: #64748b;
    border-radius: 16px;
    padding: 1rem;
    text-align: center;
    font-weight: 800;
}
@media (max-width: 1180px) {
    .report-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
    .report-grid { grid-template-columns: 1fr; }
    .report-card-wide { grid-column: auto; }
    .report-bar-row { grid-template-columns: minmax(105px, 160px) minmax(80px, 1fr) auto; }
}
@media (max-width: 640px) {
    .report-stats { grid-template-columns: 1fr; }
    .report-bar-row {
        grid-template-columns: 1fr auto;
        gap: .45rem .7rem;
    }
    .report-bar-track { grid-column: 1 / -1; order: 3; }
    .report-bar-label { white-space: normal; }
}

/* v25 - Gestión avanzada de usuarios */
.user-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.user-card {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 22px;
    padding: 1rem;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .06);
    display: grid;
    gap: .8rem;
}
.user-card-head {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-width: 0;
}
.user-avatar {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
    font-weight: 900;
    font-size: 1.25rem;
    flex: 0 0 auto;
}
.user-card h3 {
    margin: 0;
    font-size: 1rem;
    color: #0f172a;
}
.user-card p {
    margin: .15rem 0 0;
    color: #64748b;
    word-break: break-word;
}
.user-badges,
.user-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}
.user-actions form { margin: 0; }
.user-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}
.user-metrics span {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    padding: .65rem;
    min-width: 0;
}
.user-metrics em {
    display: block;
    font-style: normal;
    font-size: .72rem;
    color: #64748b;
    font-weight: 800;
}
.user-metrics strong {
    display: block;
    color: var(--primary);
    font-size: .9rem;
    margin-top: .2rem;
    overflow-wrap: anywhere;
}
.mini-note {
    display: inline-flex;
    align-items: center;
    margin-left: .35rem;
    border-radius: 999px;
    background: rgba(245, 158, 11, .16);
    color: #92400e;
    padding: .15rem .45rem;
    font-size: .7rem;
    font-weight: 900;
    vertical-align: middle;
}
.small-code {
    display: inline-block;
    max-width: 420px;
    white-space: normal;
    overflow-wrap: anywhere;
}
.checkbox-inline label {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    font-weight: 800;
    color: #334155;
}
.checkbox-inline input[type="checkbox"] {
    width: auto;
    margin-top: .15rem;
}
@media (max-width: 1100px) {
    .user-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .user-metrics { grid-template-columns: 1fr; }
    .user-card { border-radius: 18px; padding: .9rem; }
    .user-actions .btn,
    .user-actions button { width: auto; }
}

/* v26 - Importación masiva */
.import-form .check-card,
.check-card {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 16px;
    background: rgba(248, 250, 252, .9);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
    font-weight: 650;
}
.import-summary {
    margin: 1rem 0 1.25rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, .10);
    background: #f8fafc;
}
.import-summary.success {
    border-color: rgba(22, 163, 74, .28);
    background: rgba(240, 253, 244, .92);
}
.import-summary.error {
    border-color: rgba(220, 38, 38, .28);
    background: rgba(254, 242, 242, .92);
}
.mini-stats {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    margin: .75rem 0;
}
.import-errors {
    margin-top: .75rem;
    padding: .85rem;
    border-radius: 14px;
    background: rgba(255,255,255,.75);
}
.import-errors summary {
    cursor: pointer;
    font-weight: 800;
}
.import-errors ul {
    margin: .75rem 0 0;
    padding-left: 1.2rem;
}
.import-errors li {
    margin-bottom: .35rem;
}
@media (max-width: 720px) {
    .import-form .check-card,
    .check-card { grid-column: 1 / -1; }
}

/* v27 - campos condicionales */
.conditional-builder { background: rgba(15, 23, 42, .035); border: 1px dashed rgba(15, 23, 42, .16); border-radius: 18px; padding: 14px; }
.condition-config { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(15, 23, 42, .10); }
.condition-note { display: inline-flex; width: fit-content; margin-bottom: 8px; padding: 4px 8px; border-radius: 999px; background: color-mix(in srgb, var(--secondary) 12%, white); color: var(--primary); font-size: .78rem; font-weight: 700; }
.public-field[hidden] { display: none !important; }
.conditional-hidden { display: none !important; }
@media (max-width: 760px) {
  .conditional-builder { padding: 12px; border-radius: 14px; }
}
.radio-options { display: grid; gap: 8px; }
.public-radio { justify-content: flex-start; }

/* v28 Auditoría avanzada */
.audit-stats .stat strong { letter-spacing: -0.03em; }
.audit-filter-grid { align-items: end; }
.compact-actions { gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.audit-timeline { display: grid; gap: .85rem; }
.audit-event { border: 1px solid rgba(15, 23, 42, .10); border-left: 5px solid rgba(14, 165, 233, .75); border-radius: 18px; background: #fff; padding: 1rem; box-shadow: 0 14px 34px rgba(15, 23, 42, .06); }
.audit-event.risk-high { border-left-color: #dc2626; }
.audit-event.risk-medium { border-left-color: #f59e0b; }
.audit-event.risk-normal { border-left-color: #0ea5e9; }
.audit-event-head { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
.audit-event-head strong { font-size: 1rem; color: #0f172a; }
.audit-risk-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 54px; padding: .25rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 800; background: rgba(14, 165, 233, .12); color: #075985; }
.risk-high .audit-risk-badge { background: rgba(220, 38, 38, .12); color: #991b1b; }
.risk-medium .audit-risk-badge { background: rgba(245, 158, 11, .16); color: #92400e; }
.audit-event-meta { display: flex; gap: .55rem 1rem; flex-wrap: wrap; margin-top: .65rem; color: #475569; font-size: .9rem; }
.audit-event-meta span { background: #f8fafc; border: 1px solid rgba(15, 23, 42, .06); border-radius: 999px; padding: .25rem .55rem; }
.audit-detail { margin-top: .8rem; }
.audit-detail summary { cursor: pointer; font-weight: 800; color: var(--primary); }
.audit-detail-text { margin-top: .55rem; background: #f8fafc; border: 1px solid rgba(15, 23, 42, .08); color: #334155; border-radius: 14px; padding: .85rem 1rem; line-height: 1.55; }
.responsive-pagination { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: 1rem; }
@media (max-width: 720px) {
  .audit-event { padding: .85rem; border-radius: 16px; }
  .audit-event-meta { display: grid; gap: .4rem; }
  .audit-event-meta span { border-radius: 12px; }
  .compact-actions { justify-content: stretch; }
  .compact-actions .btn { flex: 1; text-align: center; }
}

/* v29 - Mantenimiento, respaldo y salud del sistema */
.maintenance-stats .stat strong { letter-spacing: -0.035em; }
.maintenance-grid { align-items: start; }
.maintenance-mode-card.maintenance-active { border-color: rgba(220, 38, 38, .28); box-shadow: 0 18px 46px rgba(220, 38, 38, .08); }
.status-badge { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: .35rem .75rem; font-size: .8rem; font-weight: 900; }
.status-badge.ok { background: rgba(22, 163, 74, .13); color: #166534; }
.status-badge.error { background: rgba(220, 38, 38, .13); color: #991b1b; }
.maintenance-checks-form { display: grid; gap: .65rem; }
.soft-sep { border: 0; height: 1px; background: rgba(15, 23, 42, .10); margin: 1rem 0; }
.health-list { display: grid; gap: .75rem; }
.health-row { display: grid; grid-template-columns: auto minmax(160px, 260px) 1fr; gap: .8rem; align-items: start; padding: .9rem; border: 1px solid rgba(15,23,42,.10); border-radius: 18px; background: #fff; box-shadow: 0 10px 26px rgba(15,23,42,.045); }
.health-row.ok { border-left: 5px solid #16a34a; }
.health-row.warning { border-left: 5px solid #f59e0b; }
.health-row.error { border-left: 5px solid #dc2626; }
.health-row.neutral { border-left: 5px solid #64748b; }
.health-badge { display: inline-flex; min-width: 74px; justify-content: center; border-radius: 999px; padding: .3rem .55rem; font-size: .72rem; font-weight: 900; color: #334155; background: #f1f5f9; }
.health-row.ok .health-badge { color: #166534; background: rgba(22,163,74,.12); }
.health-row.warning .health-badge { color: #92400e; background: rgba(245,158,11,.16); }
.health-row.error .health-badge { color: #991b1b; background: rgba(220,38,38,.12); }
.health-row strong { display: block; color: #0f172a; }
.health-row small { display: block; color: #64748b; margin-top: .15rem; font-weight: 700; }
.health-row p { margin: 0; color: #334155; overflow-wrap: anywhere; }
.health-row em { color: #64748b; font-style: normal; }
.integrity-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .85rem; }
.integrity-card { border: 1px solid rgba(15, 23, 42, .10); border-radius: 18px; padding: 1rem; background: linear-gradient(180deg,#fff,#f8fafc); box-shadow: 0 12px 28px rgba(15,23,42,.045); }
.integrity-card.ok { border-left: 5px solid #16a34a; }
.integrity-card.warning { border-left: 5px solid #f59e0b; }
.integrity-card.error { border-left: 5px solid #dc2626; }
.integrity-card span { display: block; color: #64748b; font-weight: 800; font-size: .84rem; }
.integrity-card strong { display: block; font-size: 2rem; color: var(--primary); margin: .2rem 0; }
.integrity-card p { margin: 0; color: #475569; font-size: .9rem; }
@media (max-width: 860px) {
  .health-row { grid-template-columns: 1fr; }
  .health-badge { width: fit-content; }
}
@media (max-width: 680px) {
  .maintenance-form { grid-template-columns: 1fr; }
  .maintenance-grid { grid-template-columns: 1fr; }
}

/* v30 - permisos granulares */
.permission-selector { grid-column: 1 / -1; }
.permission-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    margin-top: 10px;
}
.permission-group {
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 18px;
    padding: 14px;
    background: rgba(255,255,255,.76);
}
.permission-group legend {
    padding: 0 8px;
    font-weight: 900;
    color: var(--primary);
}
.permission-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 8px;
    border-radius: 12px;
    cursor: pointer;
}
.permission-item:hover { background: rgba(14, 165, 233, .08); }
.permission-item input { margin-top: 3px; }
.permission-item strong { display: block; font-size: .94rem; }
.permission-item small { display: block; color: #64748b; line-height: 1.35; margin-top: 2px; }
.full-span { grid-column: 1 / -1; }
@media (max-width: 720px) {
    .permission-grid { grid-template-columns: 1fr; }
}

/* v31: Tema visual avanzado y remoción temporal del módulo de correo */
:root{--global-radius:24px;--global-shadow:0 18px 55px rgba(15,23,42,.10);--global-pad:24px;--global-font-scale:1}
body.font-small{--global-font-scale:.96}body.font-normal{--global-font-scale:1}body.font-large{--global-font-scale:1.06}body{font-size:calc(16px * var(--global-font-scale))}
body.radius-soft{--global-radius:14px}body.radius-rounded{--global-radius:24px}body.radius-pill{--global-radius:34px}
body.shadow-none{--global-shadow:none}body.shadow-soft{--global-shadow:0 18px 55px rgba(15,23,42,.10)}body.shadow-strong{--global-shadow:0 28px 85px rgba(15,23,42,.20)}
body.density-compact{--global-pad:16px}body.density-comfortable{--global-pad:24px}body.density-spacious{--global-pad:34px}
.card,.form-card,.login-card,.campaign-accordion-item,.campaign-card,.stat,.option-card,.table-wrap,.public-card,.success-card{border-radius:var(--global-radius)!important;box-shadow:var(--global-shadow)}
.card,.form-card,.login-card,.option-card{padding:var(--global-pad)}
body.buttons-pill .btn,body.buttons-pill button.btn{border-radius:999px!important}body.buttons-square .btn,body.buttons-square button.btn{border-radius:8px!important}body.buttons-rounded .btn,body.buttons-rounded button.btn{border-radius:16px!important}
body.bg-flat.admin-body{background:#eef3f8}body.bg-soft_gradient.admin-body{background:linear-gradient(135deg,#eef4fb 0%,#f8fafc 45%,#e9f3fb 100%)}body.bg-institutional_glow.admin-body{background:radial-gradient(circle at top right,color-mix(in srgb,var(--secondary) 20%, transparent),transparent 34%),radial-gradient(circle at bottom left,color-mix(in srgb,var(--primary) 16%, transparent),transparent 36%),#eef4fb}
body.bg-flat.public-body{background:var(--primary)}body.bg-soft_gradient.public-body{background:linear-gradient(135deg,var(--primary),#081e36)}body.bg-institutional_glow.public-body{background:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--secondary) 34%, transparent),transparent 32%),linear-gradient(135deg,var(--primary),#06172b)}
body.sidebar-style-solid .sidebar{background:var(--primary)!important}body.sidebar-style-gradient .sidebar{background:linear-gradient(180deg,var(--primary),color-mix(in srgb,var(--primary) 76%, #020617) 100%)!important}body.sidebar-style-glass .sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 86%, transparent),rgba(8,27,49,.92))!important;backdrop-filter:blur(16px);border-right:1px solid rgba(255,255,255,.13)}
body.theme-modern .card,body.theme-modern .form-card,body.theme-modern .login-card{border:1px solid rgba(14,165,233,.14)}body.theme-modern .btn.primary{background:linear-gradient(135deg,var(--secondary),color-mix(in srgb,var(--secondary) 70%,var(--primary)))}body.theme-modern .topbar h1{letter-spacing:-.045em}
body.theme-elegant{--global-shadow:0 22px 70px rgba(2,6,23,.12)}body.theme-elegant .card,body.theme-elegant .form-card,body.theme-elegant .login-card{border:1px solid rgba(15,23,42,.10)}body.theme-elegant .btn.primary{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 74%,#000))}body.theme-elegant .sidebar-nav{background:rgba(0,0,0,.12)}
body.theme-glass .card,body.theme-glass .form-card,body.theme-glass .login-card,body.theme-glass .success-card{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7)}body.theme-glass .stat{background:rgba(255,255,255,.74);backdrop-filter:blur(12px)}
body.theme-contrast{--global-shadow:none}body.theme-contrast .card,body.theme-contrast .form-card,body.theme-contrast .login-card,body.theme-contrast .table-wrap{border:2px solid #0f172a!important}body.theme-contrast .btn{border:2px solid currentColor}.theme-contrast .muted{color:#334155!important}
.theme-suggestions{display:grid;gap:6px;margin:14px 0 20px;padding:14px 16px;border:1px solid #dbe7f3;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#eef7ff);color:#334155}.theme-suggestions strong{color:#0f172a}.theme-suggestions span{display:block}.visual-theme-grid select{min-height:46px}
@media (min-width:1040px){body.density-compact .sidebar-nav a,body.density-compact .sidebar-logout-form button{min-height:44px;padding-top:9px;padding-bottom:9px}body.density-spacious .sidebar-nav a,body.density-spacious .sidebar-logout-form button{min-height:58px;padding-top:15px;padding-bottom:15px}}


/* v32 - Usuarios en acordeón, administrador principal y visibilidad de contraseñas */
.password-wrap{position:relative;display:flex;align-items:stretch;gap:8px;width:100%}.password-wrap input{padding-right:78px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-height:34px;border:0;border-radius:10px;background:#e8eef6;color:#102033;font-weight:900;padding:6px 10px;cursor:pointer}.password-toggle:hover{background:#dbeafe}.user-accordion{display:grid;gap:12px;min-width:0}.user-accordion-item{border:1px solid #e2e8f0;border-radius:22px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 10px 28px rgba(15,23,42,.06);overflow:hidden;min-width:0}.user-accordion-trigger{width:100%;border:0;background:transparent;color:#132033;cursor:pointer;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.9fr) auto;gap:14px;align-items:center;text-align:left;padding:16px 18px;min-width:0}.user-accordion-trigger:hover,.user-accordion-trigger:focus-visible{background:#f1f7fd;outline:none}.user-accordion-item.is-open .user-accordion-trigger{background:#f8fbff;border-bottom:1px solid #e2e8f0}.user-accordion-item.is-open .campaign-chevron{transform:rotate(180deg);background:var(--primary);color:#fff}.user-accordion-panel{padding:16px 18px 18px;display:grid;gap:14px}.user-accordion-panel[hidden]{display:none!important}.user-identity{display:grid;min-width:0}.user-identity strong{font-size:1rem;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-identity small{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-admin-card{border:1px solid rgba(245,158,11,.28);background:linear-gradient(135deg,#fff7ed,#ffffff)}.primary-admin-card .user-avatar{background:linear-gradient(135deg,#f59e0b,var(--primary))}.primary-admin-section{border-color:rgba(245,158,11,.22)}
@media (max-width:980px){.user-accordion-trigger{grid-template-columns:minmax(0,1fr) auto}.user-accordion-trigger .user-badges{grid-column:1/-1;order:2}.user-accordion-trigger .campaign-chevron{grid-column:2;grid-row:1}.user-accordion-panel .user-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.user-accordion-panel .user-actions .btn,.user-accordion-panel .user-actions button{width:100%}}
@media (max-width:640px){.user-accordion-trigger{padding:14px}.user-accordion-trigger .user-card-head{align-items:flex-start}.user-identity strong,.user-identity small{white-space:normal}.user-accordion-panel{padding:14px}.user-accordion-panel .user-actions{grid-template-columns:1fr}.password-wrap input{padding-right:74px}}

/* v35: barra lateral fija con scroll interno independiente */
.sidebar-scroll-area {
    min-height: 0;
    max-width: 100%;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.sidebar-scroll-area:focus {
    outline: 2px solid rgba(255,255,255,.24);
    outline-offset: 4px;
    border-radius: 16px;
}
.sidebar-scroll-area::-webkit-scrollbar {
    width: 9px;
}
.sidebar-scroll-area::-webkit-scrollbar-track {
    background: rgba(255,255,255,.06);
    border-radius: 999px;
}
.sidebar-scroll-area::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.28);
    border-radius: 999px;
}
.sidebar-scroll-area::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,.42);
}
.sidebar-floating-tooltip {
    position: fixed;
    z-index: 9999;
    max-width: 240px;
    padding: 9px 12px;
    border-radius: 12px;
    background: #0f172a;
    color: #fff;
    font-size: .86rem;
    font-weight: 900;
    line-height: 1.15;
    box-shadow: 0 14px 34px rgba(2,6,23,.28);
    opacity: 0;
    pointer-events: none;
    transform: translateX(-6px);
    transition: opacity .16s ease, transform .16s ease;
    white-space: nowrap;
}
.sidebar-floating-tooltip.is-visible {
    opacity: 1;
    transform: translateX(0);
}

@media (min-width:1040px) {
    :root {
        --sidebar-expanded-width: max(300px, calc(var(--sidebar-logo-width,260px) + 80px));
        --sidebar-collapsed-width: 96px;
    }
    .admin-shell {
        display: block !important;
        min-height: 100vh;
        background: #eef3f9;
    }
    .sidebar {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        width: var(--sidebar-expanded-width) !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        min-height: 0 !important;
        transform: none !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: visible !important;
        padding: 32px 32px 22px !important;
        z-index: 80;
    }
    .admin-main {
        margin-left: var(--sidebar-expanded-width) !important;
        width: auto;
        min-height: 100vh;
        transition: margin-left .22s ease, padding-left .22s ease;
    }
    .sidebar-scroll-area {
        flex: 1 1 auto;
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 6px;
        padding-bottom: 18px;
        margin-top: 18px;
        scrollbar-width: thin;
        scrollbar-color: rgba(255,255,255,.35) rgba(255,255,255,.08);
    }
    .sidebar-nav {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .sidebar-app-card {
        flex: 0 0 auto;
    }
    .institutional-brand,
    .sidebar-collapse-btn {
        flex: 0 0 auto;
    }
    body.sidebar-collapsed .sidebar {
        width: var(--sidebar-collapsed-width) !important;
        padding: 28px 16px 18px !important;
        overflow: visible !important;
    }
    body.sidebar-collapsed .admin-main {
        margin-left: var(--sidebar-collapsed-width) !important;
        padding-left: 30px;
    }
    body.sidebar-collapsed .sidebar-scroll-area {
        padding-right: 0;
        overflow-y: auto;
        overflow-x: hidden;
    }
    body.sidebar-collapsed .sidebar-nav a::after,
    body.sidebar-collapsed .sidebar-collapse-btn::after,
    body.sidebar-collapsed .sidebar-logout-form button::after,
    body.sidebar-collapsed .sidebar-nav a::before,
    body.sidebar-collapsed .sidebar-collapse-btn::before {
        display: none !important;
    }
}

@media (max-width:1039px) {
    .sidebar {
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        max-height: 100dvh;
    }
    .sidebar-scroll-area {
        flex: 1 1 auto;
        overflow-y: auto;
        overflow-x: hidden;
        margin-top: 18px;
        padding-right: 4px;
        padding-bottom: 22px;
    }
    .sidebar-nav {
        margin-top: 0 !important;
    }
}

/* v37 - Campañas multidioma */
.language-config-card,
.nested-card {
  margin: 18px 0;
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(255,255,255,.72);
}
.language-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.translation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin-top: 10px;
}
.translation-box,
.translation-mini-card {
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 16px;
  padding: 12px;
  background: rgba(255,255,255,.82);
}
.translation-box summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--primary);
}
.field-translation-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.translation-mini-card label {
  display: block;
  margin-top: 8px;
  font-size: .82rem;
  font-weight: 700;
  color: #475569;
}
.translation-mini-card textarea,
.translation-mini-card input {
  width: 100%;
}
.public-language-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.public-language-switcher a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  color: var(--primary);
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.4);
  text-decoration: none;
  font-weight: 800;
}
.public-language-switcher a.active {
  color: #fff;
  background: var(--secondary);
  box-shadow: 0 8px 24px rgba(14, 165, 233, .25);
}
.language-link-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}
.lang-link-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 700;
}
.preview-ribbon .preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.compact-select { max-width: 360px; }
@media (max-width: 720px) {
  .translation-grid, .field-translation-grid { grid-template-columns: 1fr; }
  .language-checkbox-grid { grid-template-columns: 1fr; }
  .public-language-switcher a { flex: 1 1 auto; }
}


/* v38 - Certificados multidioma avanzados */
.certificate-language-tabs { margin-bottom: 16px; }
.certificate-language-card .section-head { margin-bottom: 10px; }
.certificate-bg-grid .translation-mini-card,
.certificate-text-grid .translation-box { min-width: 0; }
.cert-element-palette {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 14px;
}
.cert-element-palette .btn.small {
  flex: 1 1 130px;
  justify-content: center;
  min-height: 36px;
  white-space: normal;
}
.btn.outline {
  background: transparent;
  border: 1px solid rgba(15, 23, 42, .14);
  color: var(--primary);
}
.btn.danger.outline {
  border-color: rgba(220, 38, 38, .25);
  color: #b91c1c;
}
.btn.full { width: 100%; }
.editor-panel hr {
  border: 0;
  border-top: 1px solid rgba(15,23,42,.10);
  margin: 16px 0;
}
.cert-el[data-key="certificate_title"],
.cert-el[data-key="certificate_subtitle"],
.cert-el[data-key="certificate_date_label"],
.cert-el[data-key="certificate_code_label"] {
  background: rgba(239, 246, 255, .58);
}
@media (max-width: 760px) {
  .cert-element-palette .btn.small { flex-basis: 100%; }
}

/* v39 - Traducciones híbridas */
.translation-architecture-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin-top: 16px;
}
.translation-layer-card {
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 18px;
    padding: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96));
    box-shadow: 0 12px 30px rgba(15,23,42,.06);
}
.translation-layer-card strong { display: block; margin-bottom: 8px; color: #0f172a; }
.translation-layer-card p { margin: 0; color: #475569; }
.compact-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 8px; }
.numbered-help { margin: 12px 0 0; padding-left: 22px; color: #334155; }
.numbered-help li { margin: 8px 0; }
@media (max-width: 720px) { .compact-stats { grid-template-columns: 1fr; } }

/* v40 - Sidebar neo-moderno configurable */
:root{
  --sidebar-menu-background:#09233f;
  --sidebar-item-background:#123c69;
  --sidebar-item-active-background:#0ea5e9;
  --sidebar-neo-line:rgba(255,255,255,.14);
  --sidebar-neo-glow:rgba(14,165,233,.28);
}
.admin-body .sidebar{
  background:
    radial-gradient(circle at 18% 4%, color-mix(in srgb,var(--secondary) 34%, transparent), transparent 28rem),
    radial-gradient(circle at 92% 14%, color-mix(in srgb,var(--accent) 18%, transparent), transparent 22rem),
    linear-gradient(155deg, color-mix(in srgb,var(--primary) 74%, #020617), #06131f 58%, color-mix(in srgb,var(--primary) 35%, #020617)) !important;
  border-right:1px solid rgba(255,255,255,.13);
  box-shadow:34px 0 90px rgba(2,6,23,.34), inset -1px 0 0 rgba(255,255,255,.06);
}
body.sidebar-style-solid .sidebar{
  background:linear-gradient(155deg, color-mix(in srgb,var(--primary) 88%, #020617), color-mix(in srgb,var(--primary) 64%, #000) 100%) !important;
}
body.sidebar-style-gradient .sidebar{
  background:
    radial-gradient(circle at top left, color-mix(in srgb,var(--secondary) 28%, transparent), transparent 28rem),
    linear-gradient(160deg,var(--primary), color-mix(in srgb,var(--primary) 70%, #020617) 100%) !important;
}
body.sidebar-style-glass .sidebar{
  background:linear-gradient(160deg, color-mix(in srgb,var(--primary) 76%, rgba(2,6,23,.85)), rgba(2,6,23,.86)) !important;
  backdrop-filter:blur(22px) saturate(1.25);
}
body.sidebar-style-neo .sidebar{
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb,var(--secondary) 42%, transparent), transparent 22rem),
    radial-gradient(circle at 100% 18%, color-mix(in srgb,var(--accent) 22%, transparent), transparent 20rem),
    linear-gradient(150deg,#06121f 0%,color-mix(in srgb,var(--primary) 74%,#020617) 54%,#020617 100%) !important;
}
.admin-body .institutional-brand{
  margin-bottom:16px;
  padding:12px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 16px 38px rgba(2,6,23,.18);
}
.admin-body .brand-fallback{gap:12px}.admin-body .brand-mark{
  background:linear-gradient(135deg,var(--secondary),var(--accent));
  box-shadow:0 14px 30px rgba(2,6,23,.24);
}
.admin-body .sidebar-app-card{
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045));
  border-radius:22px;
  box-shadow:0 18px 45px rgba(2,6,23,.20), inset 0 1px 0 rgba(255,255,255,.12);
}
.admin-body .sidebar-scroll-area{
  padding:6px 2px 14px;
  mask-image:linear-gradient(to bottom,transparent 0,#000 12px,#000 calc(100% - 18px),transparent 100%);
}
.admin-body .sidebar-nav{
  position:relative;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--sidebar-menu-background) 86%,rgba(255,255,255,.14)),color-mix(in srgb,var(--sidebar-menu-background) 90%,#020617));
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  padding:14px;
  box-shadow:0 22px 54px rgba(2,6,23,.24), inset 0 1px 0 rgba(255,255,255,.12);
  overflow:hidden;
}
.admin-body .sidebar-nav::before{
  content:"";position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
}
.admin-body .sidebar-nav a,
.admin-body .sidebar-collapse-btn,
.admin-body .sidebar-logout-form button{
  min-height:50px;
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--sidebar-item-background) 82%,rgba(255,255,255,.12)),color-mix(in srgb,var(--sidebar-item-background) 76%,#020617));
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.93);
  box-shadow:0 10px 22px rgba(2,6,23,.12), inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.admin-body .sidebar-nav a:hover,
.admin-body .sidebar-nav a:focus-visible,
.admin-body .sidebar-nav a.is-active,
.admin-body .sidebar-collapse-btn:hover,
.admin-body .sidebar-collapse-btn:focus-visible,
.admin-body .sidebar-logout-form button:hover,
.admin-body .sidebar-logout-form button:focus-visible{
  transform:translateX(4px);
  color:#fff;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--sidebar-item-active-background) 88%,#fff),color-mix(in srgb,var(--sidebar-item-active-background) 72%,#020617));
  border-color:rgba(255,255,255,.28);
  box-shadow:0 16px 34px color-mix(in srgb,var(--sidebar-item-active-background) 26%,rgba(2,6,23,.30)), inset 0 1px 0 rgba(255,255,255,.22);
}
body.admin-body:not(.sidebar-collapsed) .sidebar-nav a.is-active::after{
  content:"";position:absolute;right:10px;top:50%;width:7px;height:7px;border-radius:999px;transform:translateY(-50%);
  background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.16),0 0 22px rgba(255,255,255,.86);
}
.admin-body .nav-icon{
  width:34px;height:34px;min-width:34px;border-radius:14px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.admin-body .nav-icon svg{width:21px;height:21px;stroke-width:2.15}.admin-body .nav-text{letter-spacing:.005em}
.admin-body .sidebar-collapse-btn{margin:10px 0 12px}.admin-body .sidebar-floating-tooltip{
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,#0f172a,#111827);
  box-shadow:0 18px 48px rgba(2,6,23,.34);
}
.sidebar-color-grid .form-group{border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:14px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,250,252,.78))}.sidebar-color-grid input[type="color"]{width:100%;height:46px;border:0;background:transparent;padding:0;cursor:pointer}
@media (min-width:1040px){
  body.admin-body.sidebar-collapsed .sidebar-nav a,
  body.admin-body.sidebar-collapsed .sidebar-collapse-btn,
  body.admin-body.sidebar-collapsed .sidebar-logout-form button{transform:none}
  body.sidebar-collapsed .sidebar-nav a:hover,
  body.sidebar-collapsed .sidebar-nav a:focus-visible,
  body.sidebar-collapsed .sidebar-nav a.is-active,
  body.sidebar-collapsed .sidebar-collapse-btn:hover,
  body.sidebar-collapsed .sidebar-collapse-btn:focus-visible{transform:scale(1.04)}
}
@media (max-width:1039px){
  .admin-body .sidebar-nav{border-radius:24px;padding:12px}.admin-body .sidebar-nav a,.admin-body .sidebar-logout-form button{min-height:54px}
}

/* v41 - Menú lateral futurista espacioso */
@media (min-width:1040px){
  body.admin-body:not(.sidebar-collapsed) .admin-shell{grid-template-columns:minmax(390px,430px) minmax(0,1fr)}
  body.admin-body.sidebar-collapsed .admin-shell{grid-template-columns:112px minmax(0,1fr)}
}
.admin-body .sidebar{
  position:fixed;
  display:flex;
  flex-direction:column;
  gap:0;
  overflow:hidden;
  padding:24px 24px 20px;
  background:
    radial-gradient(circle at 18% 2%, color-mix(in srgb,var(--secondary) 46%, transparent), transparent 240px),
    radial-gradient(circle at 96% 28%, rgba(255,255,255,.12), transparent 210px),
    radial-gradient(circle at 14% 98%, color-mix(in srgb,var(--primary) 34%, transparent), transparent 260px),
    linear-gradient(155deg,#061225 0%,color-mix(in srgb,var(--primary) 72%,#020617) 48%,#020617 100%) !important;
  border-right:1px solid rgba(125,211,252,.18);
  box-shadow:30px 0 90px rgba(2,6,23,.30), inset -1px 0 0 rgba(255,255,255,.06);
}
.admin-body .sidebar::before{
  content:"";
  position:absolute;
  inset:10px 8px 10px 10px;
  pointer-events:none;
  border:1px solid rgba(147,197,253,.20);
  border-radius:30px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 0 42px rgba(59,130,246,.16);
}
.admin-body .sidebar > *{position:relative;z-index:1}
@media (min-width:1040px){.admin-body .sidebar{position:sticky;width:auto;height:100vh;min-height:100vh;padding:30px 30px 22px;border-radius:0 32px 32px 0}}
.admin-body .institutional-brand{
  min-height:0;
  margin:0 76px 14px 0;
  padding:18px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.17);
  box-shadow:0 22px 52px rgba(2,6,23,.28),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(16px) saturate(1.2);
}
.admin-body .brand-logo-wide{max-height:96px;object-position:left center}.admin-body .brand-logo-collapsed{display:none}
.admin-body .brand-fallback{align-items:center}.admin-body .brand-mark{
  width:60px;height:60px;border-radius:22px;font-size:1.55rem;
  background:linear-gradient(135deg,color-mix(in srgb,var(--secondary) 82%,#fff),color-mix(in srgb,var(--primary) 62%,#020617));
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 18px 46px rgba(14,165,233,.28),inset 0 1px 0 rgba(255,255,255,.22);
}
.admin-body .brand-fallback strong{font-size:1.35rem;letter-spacing:-.03em}.admin-body .brand-fallback span{color:rgba(191,219,254,.86);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.admin-body .sidebar-app-card{
  margin:0 76px 18px 0;
  padding:0 4px;
  border:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
}
.admin-body .sidebar-app-card strong{font-size:1.44rem;letter-spacing:-.04em}.admin-body .sidebar-app-card span{color:rgba(191,219,254,.78);font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.admin-body .sidebar-collapse-btn{
  position:absolute;
  top:30px;right:30px;
  width:58px;height:58px;min-height:58px;
  margin:0;padding:0;
  display:grid;place-items:center;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(96,165,250,.34),rgba(37,99,235,.16));
  border:1px solid rgba(147,197,253,.34);
  box-shadow:0 20px 45px rgba(37,99,235,.28),inset 0 1px 0 rgba(255,255,255,.20);
  backdrop-filter:blur(16px) saturate(1.2);
}
.admin-body .sidebar-collapse-btn .nav-text{display:none}.admin-body .sidebar-collapse-btn .nav-icon{margin:0;background:transparent;box-shadow:none;border:0;width:34px;height:34px;min-width:34px}.admin-body .sidebar-collapse-btn .nav-icon svg{width:30px;height:30px;stroke-width:2.5}
.admin-body .sidebar-section-title{
  display:flex;align-items:center;gap:12px;
  margin:4px 8px 12px;
  color:rgba(191,219,254,.88);
  font-size:.78rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase;
}
.admin-body .sidebar-section-title::before,.admin-body .sidebar-section-title::after{content:"";height:1px;background:linear-gradient(90deg,transparent,rgba(96,165,250,.62),transparent);flex:1}.admin-body .sidebar-section-title span{white-space:nowrap}
.admin-body .sidebar-scroll-area{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 8px 4px 0;
  margin:0 -8px 0 0;
  mask-image:linear-gradient(to bottom,transparent 0,#000 12px,#000 calc(100% - 22px),transparent 100%);
  scrollbar-width:thin;
  scrollbar-color:rgba(147,197,253,.70) rgba(15,23,42,.22);
}
.admin-body .sidebar-scroll-area::-webkit-scrollbar{width:8px}.admin-body .sidebar-scroll-area::-webkit-scrollbar-track{background:rgba(15,23,42,.24);border-radius:999px}.admin-body .sidebar-scroll-area::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(147,197,253,.9),rgba(59,130,246,.52));border-radius:999px;border:2px solid rgba(15,23,42,.28)}
.admin-body .sidebar-nav{
  display:grid;
  gap:14px;
  margin:0;
  padding:0 2px 4px;
  background:transparent !important;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.admin-body .sidebar-nav::before{display:none}
.admin-body .sidebar-nav a,
.admin-body .sidebar-logout-form button{
  position:relative;
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  align-items:center;
  gap:18px;
  width:100%;
  min-height:86px;
  padding:14px 20px 14px 14px;
  border-radius:28px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--sidebar-item-background) 64%,rgba(255,255,255,.10)),rgba(7,20,38,.54));
  border:1px solid rgba(147,197,253,.16);
  color:rgba(255,255,255,.96);
  box-shadow:0 16px 38px rgba(2,6,23,.18),inset 0 1px 0 rgba(255,255,255,.08);
  transform:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
  backdrop-filter:blur(12px) saturate(1.15);
}
.admin-body .sidebar-nav a:hover,
.admin-body .sidebar-nav a:focus-visible,
.admin-body .sidebar-nav a.is-active,
.admin-body .sidebar-logout-form button:hover,
.admin-body .sidebar-logout-form button:focus-visible{
  transform:translateX(3px);
  color:#fff;
  border-color:rgba(191,219,254,.38);
  background:
    radial-gradient(circle at 84% 50%,rgba(255,255,255,.20),transparent 56px),
    linear-gradient(135deg,color-mix(in srgb,var(--sidebar-item-active-background) 82%,#fff),color-mix(in srgb,var(--sidebar-item-active-background) 68%,#020617));
  box-shadow:0 22px 54px color-mix(in srgb,var(--sidebar-item-active-background) 26%,rgba(2,6,23,.36)),inset 0 1px 0 rgba(255,255,255,.22),0 0 0 1px rgba(255,255,255,.05);
}
.admin-body .sidebar-nav a.is-active::before{
  content:"";position:absolute;left:-2px;top:18px;bottom:18px;width:5px;border-radius:999px;background:#fff;box-shadow:0 0 24px rgba(255,255,255,.8),0 0 34px color-mix(in srgb,var(--sidebar-item-active-background) 60%,transparent);
}
body.admin-body:not(.sidebar-collapsed) .sidebar-nav a.is-active::after{
  right:18px;width:8px;height:8px;background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.13),0 0 28px rgba(255,255,255,.9)
}
.admin-body .nav-icon{
  width:64px;height:64px;min-width:64px;
  border-radius:22px;
  display:grid;place-items:center;
  margin:0;
  color:#fff;
  background:linear-gradient(135deg,rgba(96,165,250,.50),rgba(37,99,235,.24));
  border:1px solid rgba(191,219,254,.26);
  box-shadow:0 18px 36px rgba(37,99,235,.22),inset 0 1px 0 rgba(255,255,255,.20);
}
.admin-body .nav-icon svg{width:34px;height:34px;stroke-width:2.05}.admin-body .nav-text{display:grid;gap:2px;min-width:0;line-height:1.15}.admin-body .nav-text strong{font-size:1.08rem;font-weight:950;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-body .nav-text small{display:block;color:rgba(219,234,254,.75);font-size:.82rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-body .sidebar-logout-form{margin:0}.admin-body .sidebar-logout-form button{font:inherit;cursor:pointer;text-align:left}.admin-body .sidebar-logout-form button .nav-text strong{color:inherit}
.admin-body .sidebar-user-card{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 10px;
  align-items:center;
  gap:14px;
  margin:16px 0 0;
  padding:14px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 22px 54px rgba(2,6,23,.24),inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter:blur(14px) saturate(1.2);
}
.admin-body .sidebar-user-avatar{width:56px;height:56px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#60a5fa,#4338ca);color:#fff;font-weight:950;font-size:1.15rem;box-shadow:0 15px 34px rgba(59,130,246,.26)}.admin-body .sidebar-user-meta{display:grid;min-width:0}.admin-body .sidebar-user-meta strong{font-size:.96rem;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-body .sidebar-user-meta small{font-size:.78rem;color:rgba(219,234,254,.72);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-body .sidebar-user-dot{width:10px;height:10px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.16),0 0 18px rgba(34,197,94,.9)}
@media (min-width:1040px){
  body.admin-body.sidebar-collapsed .sidebar{padding:28px 16px 20px;align-items:center}
  body.admin-body.sidebar-collapsed .institutional-brand{width:72px;height:72px;margin:0 0 16px;padding:10px;justify-content:center}
  body.admin-body.sidebar-collapsed .brand-logo-wide{display:none}
  body.admin-body.sidebar-collapsed .brand-logo-collapsed{display:block;width:52px;height:52px;object-fit:contain}
  body.admin-body.sidebar-collapsed .brand-fallback{justify-content:center}.admin-body.sidebar-collapsed .brand-fallback > div:not(.brand-mark){display:none}
  body.admin-body.sidebar-collapsed .sidebar-app-card,body.admin-body.sidebar-collapsed .sidebar-section-title{display:none}
  body.admin-body.sidebar-collapsed .sidebar-collapse-btn{position:relative;top:auto;right:auto;width:64px;height:64px;margin:0 0 18px;border-radius:22px}
  body.admin-body.sidebar-collapsed .sidebar-collapse-btn .nav-icon svg{transform:rotate(180deg)}
  body.admin-body.sidebar-collapsed .sidebar-scroll-area{width:100%;padding:0;margin:0;mask-image:none}
  body.admin-body.sidebar-collapsed .sidebar-nav{gap:14px;padding:0}
  body.admin-body.sidebar-collapsed .sidebar-nav a,body.admin-body.sidebar-collapsed .sidebar-logout-form button{display:grid;grid-template-columns:1fr;place-items:center;min-height:74px;padding:8px;border-radius:24px}
  body.admin-body.sidebar-collapsed .nav-text{display:none!important}
  body.admin-body.sidebar-collapsed .nav-icon{width:58px;height:58px;min-width:58px;border-radius:20px}.admin-body.sidebar-collapsed .nav-icon svg{width:30px;height:30px}
  body.admin-body.sidebar-collapsed .sidebar-user-card{width:72px;grid-template-columns:1fr;place-items:center;padding:8px;border-radius:24px}.admin-body.sidebar-collapsed .sidebar-user-avatar{width:54px;height:54px}.admin-body.sidebar-collapsed .sidebar-user-meta,.admin-body.sidebar-collapsed .sidebar-user-dot{display:none}
}
@media (max-width:1039px){
  .admin-body .sidebar{width:min(94vw,430px);padding:22px 20px 18px;border-radius:0 30px 30px 0}
  .admin-body .institutional-brand{margin-right:70px}.admin-body .sidebar-app-card{margin-right:70px}.admin-body .sidebar-collapse-btn{display:none}.admin-body .sidebar-nav a,.admin-body .sidebar-logout-form button{min-height:82px;grid-template-columns:64px minmax(0,1fr)}.admin-body .nav-icon{width:60px;height:60px;min-width:60px}.admin-body .nav-icon svg{width:31px;height:31px}
}
@supports not (color: color-mix(in srgb,#000,#fff)){
  .admin-body .sidebar-nav a,.admin-body .sidebar-logout-form button{background:rgba(18,60,105,.58)}
  .admin-body .sidebar-nav a:hover,.admin-body .sidebar-nav a:focus-visible,.admin-body .sidebar-nav a.is-active,.admin-body .sidebar-logout-form button:hover,.admin-body .sidebar-logout-form button:focus-visible{background:#0ea5e9}
}

/* v42 - Corrección de menú contraído y subtítulos multilínea */
.admin-body .nav-text{
  min-width:0;
  white-space:normal;
  overflow:visible;
}
.admin-body .nav-text strong{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.14;
  overflow-wrap:anywhere;
}
.admin-body .nav-text small{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.24;
  overflow-wrap:anywhere;
  hyphens:auto;
}
.admin-body .sidebar-nav a,
.admin-body .sidebar-logout-form button{
  overflow:visible;
}

@media (min-width:1040px){
  :root{--sidebar-collapsed-width:124px;}
  body.admin-body.sidebar-collapsed .admin-main,
  body.sidebar-collapsed .admin-main{
    margin-left:var(--sidebar-collapsed-width)!important;
    padding-left:30px!important;
  }
  body.admin-body.sidebar-collapsed .sidebar{
    width:var(--sidebar-collapsed-width)!important;
    padding:24px 12px 18px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  body.admin-body.sidebar-collapsed .sidebar::before{
    inset:8px 8px 8px 8px;
    border-radius:28px;
  }
  body.admin-body.sidebar-collapsed .institutional-brand{
    width:66px!important;
    height:66px!important;
    min-height:66px!important;
    margin:0 0 14px!important;
    padding:9px!important;
    border-radius:23px!important;
    display:grid!important;
    place-items:center!important;
  }
  body.admin-body.sidebar-collapsed .brand-logo-collapsed{
    width:46px!important;
    height:46px!important;
    max-width:46px!important;
    max-height:46px!important;
    object-fit:contain;
  }
  body.admin-body.sidebar-collapsed .institutional-brand:not(.has-collapsed-logo) .brand-logo-wide{
    display:block!important;
    width:46px!important;
    height:46px!important;
    max-width:46px!important;
    max-height:46px!important;
    object-fit:contain;
    object-position:center center;
    margin:0 auto;
  }
  body.admin-body.sidebar-collapsed .brand-mark{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    border-radius:17px!important;
    font-size:1.08rem!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-collapse-btn{
    width:60px!important;
    height:60px!important;
    min-height:60px!important;
    margin:0 0 16px!important;
    padding:0!important;
    border-radius:21px!important;
    overflow:visible!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-collapse-btn .nav-icon{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-collapse-btn .nav-icon svg{
    width:28px!important;
    height:28px!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-scroll-area{
    width:92px!important;
    max-width:92px!important;
    min-width:92px!important;
    padding:0 10px 6px 0!important;
    margin:0!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
    mask-image:none!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(147,197,253,.70) transparent;
    scrollbar-gutter:stable;
  }
  body.admin-body.sidebar-collapsed .sidebar-scroll-area::-webkit-scrollbar{width:6px;}
  body.admin-body.sidebar-collapsed .sidebar-scroll-area::-webkit-scrollbar-track{background:transparent;}
  body.admin-body.sidebar-collapsed .sidebar-scroll-area::-webkit-scrollbar-thumb{border:0;background:rgba(147,197,253,.65);border-radius:999px;}
  body.admin-body.sidebar-collapsed .sidebar-nav{
    width:72px!important;
    max-width:72px!important;
    min-width:72px!important;
    gap:12px!important;
    padding:0!important;
    margin:0!important;
    justify-items:center!important;
    overflow:visible!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-nav a,
  body.admin-body.sidebar-collapsed .sidebar-logout-form button{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    min-height:68px!important;
    padding:6px!important;
    border-radius:22px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    overflow:visible!important;
  }
  body.admin-body.sidebar-collapsed .nav-text{
    display:none!important;
  }
  body.admin-body.sidebar-collapsed .nav-icon{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:18px!important;
    margin:0!important;
  }
  body.admin-body.sidebar-collapsed .nav-icon svg{
    width:25px!important;
    height:25px!important;
    stroke-width:2.15!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-nav a.is-active::before{
    left:-1px!important;
    top:13px!important;
    bottom:13px!important;
    width:4px!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-nav a.is-active::after,
  body.admin-body.sidebar-collapsed .sidebar-logout-form button::after{
    display:none!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-user-card{
    width:66px!important;
    min-width:66px!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    padding:8px!important;
    border-radius:23px!important;
    margin-top:14px!important;
    overflow:visible!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-user-avatar{
    width:48px!important;
    height:48px!important;
    border-radius:18px!important;
    font-size:1rem!important;
  }
}

/* v46 - Eliminación segura de campañas */
.deletion-warning-card .alert.error strong{display:block;margin-bottom:4px}.alert.warning{background:#fffbeb;color:#92400e;border-color:#fde68a}.deletion-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:18px 0}.delete-campaign-form{display:grid;gap:16px;margin-top:18px}.deletion-option{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;cursor:pointer;transition:.18s}.deletion-option:hover{border-color:var(--secondary);box-shadow:0 12px 28px rgba(14,165,233,.12);transform:translateY(-1px)}.deletion-option input{width:20px;height:20px;accent-color:var(--primary);margin-top:3px}.deletion-option strong{display:block;color:#102033;font-size:1rem;margin-bottom:4px}.deletion-option small{display:block;color:var(--muted);line-height:1.45}.deletion-option-danger{border-color:#fecaca;background:#fff7f7}.deletion-option-danger strong{color:#991b1b}.deletion-option code{font-size:.8em;background:#eef2f7;border-radius:7px;padding:2px 5px;overflow-wrap:anywhere}.btn.danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn.danger:hover{background:#fecaca}

/* v47 - Tamaños adaptables para iconos y textos del sidebar */
:root{
  --sidebar-icon-box-size:64px;
  --sidebar-icon-svg-size:34px;
  --sidebar-nav-min-height:86px;
  --sidebar-nav-gap:14px;
  --sidebar-nav-grid-col:68px;
  --sidebar-title-size:1.08rem;
  --sidebar-subtitle-size:.82rem;
  --sidebar-collapsed-width:124px;
  --sidebar-collapsed-icon-box-size:48px;
  --sidebar-collapsed-icon-svg-size:25px;
  --sidebar-collapsed-nav-item-width:72px;
  --sidebar-collapsed-nav-min-height:68px;
  --sidebar-collapsed-nav-gap:12px;
}
.sidebar-size-grid .form-group{border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:14px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,250,252,.78))}
.admin-body .sidebar-nav{gap:var(--sidebar-nav-gap)!important}
.admin-body .sidebar-nav a,
.admin-body .sidebar-logout-form button{
  grid-template-columns:var(--sidebar-nav-grid-col) minmax(0,1fr)!important;
  min-height:var(--sidebar-nav-min-height)!important;
  gap:clamp(10px, calc(var(--sidebar-nav-gap) + 2px), 20px)!important;
}
.admin-body .nav-icon{
  width:var(--sidebar-icon-box-size)!important;
  height:var(--sidebar-icon-box-size)!important;
  min-width:var(--sidebar-icon-box-size)!important;
  border-radius:clamp(16px, calc(var(--sidebar-icon-box-size) / 3), 24px)!important;
}
.admin-body .nav-icon svg{
  width:var(--sidebar-icon-svg-size)!important;
  height:var(--sidebar-icon-svg-size)!important;
}
.admin-body .nav-text strong{
  font-size:var(--sidebar-title-size)!important;
  line-height:1.16!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.admin-body .nav-text small{
  font-size:var(--sidebar-subtitle-size)!important;
  line-height:1.24!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  hyphens:auto!important;
}
@media (max-width:1039px){
  .admin-body .sidebar-nav a,
  .admin-body .sidebar-logout-form button{
    grid-template-columns:var(--sidebar-nav-grid-col) minmax(0,1fr)!important;
    min-height:var(--sidebar-nav-min-height)!important;
  }
}
@media (min-width:1040px){
  body.admin-body.sidebar-collapsed .admin-shell,
  body.sidebar-collapsed .admin-shell{
    grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)!important;
  }
  body.admin-body.sidebar-collapsed .admin-main,
  body.sidebar-collapsed .admin-main{
    margin-left:0!important;
    padding-left:30px!important;
  }
  body.admin-body.sidebar-collapsed .sidebar{
    width:var(--sidebar-collapsed-width)!important;
    min-width:var(--sidebar-collapsed-width)!important;
    max-width:var(--sidebar-collapsed-width)!important;
    padding:24px 12px 18px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-scroll-area{
    width:calc(var(--sidebar-collapsed-nav-item-width) + 20px)!important;
    max-width:calc(var(--sidebar-collapsed-nav-item-width) + 20px)!important;
    min-width:calc(var(--sidebar-collapsed-nav-item-width) + 20px)!important;
    padding:0 10px 6px 0!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
    scrollbar-gutter:stable!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-nav{
    width:var(--sidebar-collapsed-nav-item-width)!important;
    max-width:var(--sidebar-collapsed-nav-item-width)!important;
    min-width:var(--sidebar-collapsed-nav-item-width)!important;
    gap:var(--sidebar-collapsed-nav-gap)!important;
    justify-items:center!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-nav a,
  body.admin-body.sidebar-collapsed .sidebar-logout-form button{
    width:var(--sidebar-collapsed-nav-item-width)!important;
    min-width:var(--sidebar-collapsed-nav-item-width)!important;
    max-width:var(--sidebar-collapsed-nav-item-width)!important;
    min-height:var(--sidebar-collapsed-nav-min-height)!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    padding:6px!important;
    overflow:visible!important;
  }
  body.admin-body.sidebar-collapsed .nav-icon{
    width:var(--sidebar-collapsed-icon-box-size)!important;
    height:var(--sidebar-collapsed-icon-box-size)!important;
    min-width:var(--sidebar-collapsed-icon-box-size)!important;
    border-radius:clamp(16px, calc(var(--sidebar-collapsed-icon-box-size) / 2.65), 20px)!important;
  }
  body.admin-body.sidebar-collapsed .nav-icon svg{
    width:var(--sidebar-collapsed-icon-svg-size)!important;
    height:var(--sidebar-collapsed-icon-svg-size)!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-collapse-btn{
    width:calc(var(--sidebar-collapsed-icon-box-size) + 12px)!important;
    height:calc(var(--sidebar-collapsed-icon-box-size) + 12px)!important;
    min-height:calc(var(--sidebar-collapsed-icon-box-size) + 12px)!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-collapse-btn .nav-icon{
    width:calc(var(--sidebar-collapsed-icon-box-size) - 14px)!important;
    height:calc(var(--sidebar-collapsed-icon-box-size) - 14px)!important;
    min-width:calc(var(--sidebar-collapsed-icon-box-size) - 14px)!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-collapse-btn .nav-icon svg{
    width:calc(var(--sidebar-collapsed-icon-svg-size) + 3px)!important;
    height:calc(var(--sidebar-collapsed-icon-svg-size) + 3px)!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-user-card{
    width:calc(var(--sidebar-collapsed-nav-item-width) - 6px)!important;
    min-width:calc(var(--sidebar-collapsed-nav-item-width) - 6px)!important;
  }
  body.admin-body.sidebar-collapsed .sidebar-user-avatar{
    width:var(--sidebar-collapsed-icon-box-size)!important;
    height:var(--sidebar-collapsed-icon-box-size)!important;
  }
}

/* v49 - Selector de hora 24 horas para ediciones recurrentes */
.time24-picker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(148,163,184,.35);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.9));
  box-shadow:0 10px 26px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.8);
  width:max-content;
  max-width:100%;
}
.time24-select{
  min-width:72px;
  height:44px;
  border:1px solid rgba(148,163,184,.45);
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  font-size:1rem;
  font-weight:800;
  text-align:center;
  text-align-last:center;
  padding:0 30px 0 12px;
  box-shadow:0 6px 16px rgba(15,23,42,.06);
}
.time24-select:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.15), 0 8px 20px rgba(15,23,42,.08);
}
.time24-separator{
  color:#1d4ed8;
  font-size:1.35rem;
  font-weight:900;
  line-height:1;
  padding-bottom:2px;
}
@media (max-width:640px){
  .time24-picker{width:100%; justify-content:center;}
  .time24-select{flex:1; min-width:0;}
}

/* v50 - Categorías y administración avanzada de ediciones */
.category-campaign-catalog{display:grid;gap:18px;margin-top:18px}
.category-accordion-item{border:1px solid rgba(226,232,240,.95);border-radius:26px;background:linear-gradient(135deg,#ffffff,#f8fbff);box-shadow:0 18px 42px rgba(15,23,42,.07);overflow:hidden}
.category-accordion-trigger{width:100%;border:0;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(241,247,253,.98));display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;text-align:left;cursor:pointer;color:#0f172a}
.category-accordion-trigger:hover,.category-accordion-trigger:focus-visible{outline:none;background:#eef7ff}
.category-icon-badge{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:color-mix(in srgb,var(--category-color,#123C69) 16%,#fff);color:var(--category-color,#123C69);font-size:1.4rem;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--category-color,#123C69) 18%,transparent)}
.category-accordion-trigger strong{display:block;font-weight:950;font-size:1.08rem}.category-accordion-trigger small{display:block;color:var(--muted);font-weight:750;margin-top:2px}.category-accordion-panel{padding:0 16px 18px}.category-accordion-panel[hidden]{display:none!important}.category-accordion-item .campaign-accordion{margin-top:10px}.category-color-dot{display:inline-block;width:18px;height:18px;border-radius:999px;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;vertical-align:middle;margin-right:6px}.campaign-search-grid{align-items:end}.filter-actions{align-self:end}.edition-finder-panel{border:1px solid #e8eef6;border-radius:22px;background:#f8fbff;padding:14px;display:grid;gap:12px}.edition-quick-list{display:grid;gap:10px}.edition-quick-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:12px 14px;box-shadow:0 8px 18px rgba(15,23,42,.045)}.edition-quick-item strong{display:block;color:#0f172a;line-height:1.25}.edition-quick-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.edition-editor-card .copy-link-wrap{margin:12px 0 18px}.edition-detail-form textarea{min-height:90px}.public-edition-meta{font-size:.95rem;color:#334155;margin-top:4px}.category-form{align-items:end}
@media(max-width:760px){.category-accordion-trigger{grid-template-columns:auto minmax(0,1fr) auto;padding:14px}.category-icon-badge{width:42px;height:42px;border-radius:15px}.edition-quick-item{grid-template-columns:1fr}.edition-quick-actions{justify-content:flex-start}.campaign-search-grid{grid-template-columns:1fr!important}.filter-actions{justify-content:flex-start}}

/* v53 - Corrección de desplazamiento del contenido con sidebar contraído
   El layout de escritorio usa sidebar fijo. Por eso el área principal siempre debe
   reservar el ancho real del menú, también cuando está contraído. */
@media (min-width:1040px){
  body.admin-body .admin-shell{
    display:block!important;
  }
  body.admin-body .sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
  }
  body.admin-body:not(.sidebar-collapsed) .admin-main{
    margin-left:var(--sidebar-expanded-width,360px)!important;
    padding-left:36px!important;
    width:auto!important;
    max-width:none!important;
  }
  body.admin-body.sidebar-collapsed .admin-main,
  body.sidebar-collapsed .admin-main{
    margin-left:var(--sidebar-collapsed-width,124px)!important;
    padding-left:34px!important;
    width:auto!important;
    max-width:none!important;
  }
  body.admin-body.sidebar-collapsed .sidebar{
    width:var(--sidebar-collapsed-width,124px)!important;
    min-width:var(--sidebar-collapsed-width,124px)!important;
    max-width:var(--sidebar-collapsed-width,124px)!important;
  }
}
@media (max-width:1039px){
  body.admin-body .admin-main,
  body.admin-body.sidebar-collapsed .admin-main{
    margin-left:0!important;
  }
}


/* v58 - Usuario activo en barra superior y sidebar limpio */
.admin-body .sidebar-user-card{display:none!important}
.admin-body .topbar{align-items:center}
.admin-body .topbar-account{
  justify-self:start;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-areas:"avatar meta" "role role";
  align-items:center;
  gap:8px 12px;
  max-width:min(100%,420px);
  padding:9px 10px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,250,252,.76));
  border:1px solid rgba(14,165,233,.18);
  box-shadow:0 18px 45px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.72);
  color:#0f172a;
  backdrop-filter:blur(12px) saturate(1.1);
}
.admin-body .topbar-account-avatar{
  grid-area:avatar;
  width:44px;height:44px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--secondary),color-mix(in srgb,var(--primary) 74%,#1d4ed8));
  color:#fff;font-weight:950;font-size:1rem;
  box-shadow:0 14px 30px color-mix(in srgb,var(--secondary) 24%,rgba(15,23,42,.16)),inset 0 1px 0 rgba(255,255,255,.24);
}
.admin-body .topbar-account-meta{grid-area:meta;display:grid;min-width:0;line-height:1.12}
.admin-body .topbar-account-meta strong{font-size:.96rem;font-weight:950;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0f172a}
.admin-body .topbar-account-meta small{margin-top:2px;font-size:.78rem;font-weight:750;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-body .topbar-account-role{
  grid-area:role;
  justify-self:start;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(14,165,233,.10);
  color:color-mix(in srgb,var(--primary) 82%,#0f172a);
  border:1px solid rgba(14,165,233,.18);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.02em;
}
@media (min-width:700px){
  .admin-body .topbar-account{justify-self:auto;grid-template-columns:46px minmax(120px,1fr) auto;grid-template-areas:"avatar meta role";padding:9px 12px;min-width:280px}
  .admin-body .topbar-account-role{justify-self:end;white-space:nowrap}
}
@media (max-width:520px){
  .admin-body .topbar-account{width:100%;grid-template-columns:42px minmax(0,1fr);border-radius:20px}
  .admin-body .topbar-account-avatar{width:42px;height:42px;border-radius:15px}
  .admin-body .topbar-account-role{font-size:.68rem}
}

/* v60 - Formularios multidioma simplificados */
.form-language-tabs,
.language-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 16px;
  padding:8px;
  border:1px solid rgba(14,165,233,.16);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(239,246,255,.68));
}
.language-tab{
  border:1px solid rgba(14,165,233,.18);
  background:rgba(255,255,255,.78);
  color:#1e3a5f;
  padding:8px 12px;
  border-radius:999px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.language-tab.active{
  background:linear-gradient(135deg,var(--secondary),color-mix(in srgb,var(--primary) 72%,#2563eb));
  color:#fff;
  box-shadow:0 12px 28px color-mix(in srgb,var(--secondary) 22%,rgba(15,23,42,.16));
}
.language-status-badges{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.field-translations-box details[open]{background:rgba(239,246,255,.42);border-radius:16px;padding:10px}
.translation-mini-card[hidden]{display:none!important}
.import-wizard-card .alert.info code{font-weight:900}

@media (max-width:760px){.login-shell{padding:18px}.login-help-pill{top:14px;right:14px;padding:10px 14px}.login-card-modern{padding:26px 18px 22px;max-width:100%}.login-brand{justify-content:flex-start}.login-brand-copy strong{font-size:1.55rem}.login-brand-copy span{font-size:.95rem}.login-card-modern h1{font-size:2.4rem}.login-subtitle{font-size:1rem}.login-footer-note{font-size:.92rem;align-items:flex-start}.login-help-pill span:last-child{display:none}.login-preview-stage{padding:14px}.login-preview-card{padding:18px}.preview-input{grid-template-columns:20px minmax(0,1fr) auto;padding:12px}}

.login-shell{grid-template-columns:minmax(0,1fr);gap:24px;overflow:hidden}.login-shell.has-login-bg-image{background-image:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.26)),var(--login-bg-image),radial-gradient(circle at 15% 10%,rgba(255,255,255,.92),transparent 24rem),linear-gradient(180deg,var(--login-bg-start),var(--login-bg-end));background-size:cover,cover,auto,auto;background-position:center,center,0 0,0 0}.login-visual-panel{position:relative;z-index:1;display:none;color:#fff;min-height:480px;border-radius:30px;padding:34px;background:linear-gradient(180deg,var(--login-wave-color),var(--primary));box-shadow:0 28px 70px rgba(2,6,23,.18);overflow:hidden}.login-visual-panel:before{content:"";position:absolute;right:-8%;top:-8%;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.11)}.login-visual-panel:after{content:"";position:absolute;left:-8%;bottom:-10%;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}.login-visual-inner{position:relative;z-index:1;display:grid;gap:18px;align-content:flex-start}.login-visual-badge{display:inline-flex;justify-self:start;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-weight:900}.login-visual-inner h2{margin:0;font-size:2.55rem;line-height:.98;letter-spacing:-.05em}.login-visual-inner p{margin:0;font-size:1.05rem;opacity:.92;max-width:26rem}.login-visual-points{margin:4px 0 0;padding-left:1.1rem;display:grid;gap:10px}.login-visual-points li{opacity:.96}.login-layout-minimal .login-card-modern{max-width:520px;padding-top:30px;padding-bottom:22px}.login-layout-minimal .login-brand{margin-bottom:16px}.login-layout-minimal .login-divider,.login-layout-minimal .login-footer-note{display:none}.login-layout-spotlight .login-card-modern{box-shadow:0 36px 90px rgba(29,78,216,.20);border-color:rgba(255,255,255,.9)}.login-layout-split,.login-layout-spotlight{grid-template-columns:minmax(280px,420px) minmax(320px,620px);align-items:stretch;place-items:stretch center}.login-layout-split .login-visual-panel,.login-layout-spotlight .login-visual-panel{display:grid}.login-layout-split .login-card-modern,.login-layout-spotlight .login-card-modern{align-self:center}.login-mode-dark{color:#e2e8f0;background:radial-gradient(circle at top left,rgba(14,165,233,.16),transparent 24rem),linear-gradient(180deg,#071426,#0f1f35)}.login-mode-dark.has-login-bg-image{background-image:linear-gradient(180deg,rgba(2,6,23,.58),rgba(2,6,23,.66)),var(--login-bg-image),linear-gradient(180deg,#071426,#0f1f35)}.login-mode-dark:before{opacity:.55}.login-mode-dark:after{opacity:.35}.login-mode-dark .login-card-modern{background:rgba(10,20,36,.84);border-color:rgba(148,163,184,.18);box-shadow:0 28px 80px rgba(0,0,0,.36)}.login-mode-dark .login-brand-copy strong,.login-mode-dark .login-card-modern h1{color:#f8fafc}.login-mode-dark .login-brand-copy span,.login-mode-dark .login-subtitle,.login-mode-dark .login-footer-note,.login-mode-dark .muted{color:#cbd5e1!important}.login-mode-dark .login-card-modern label{color:#e2e8f0}.login-mode-dark .login-card-modern input{background:rgba(15,23,42,.84);border-color:#334155;color:#f8fafc}.login-mode-dark .password-toggle{background:#1e293b;color:#f8fafc}.login-mode-dark .login-help-pill{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.22);color:#f8fafc}.login-mode-auto .login-card-modern,.login-mode-auto .login-help-pill{transition:background .2s,color .2s,border-color .2s} @media (prefers-color-scheme:dark){.login-mode-auto{color:#e2e8f0;background:radial-gradient(circle at top left,rgba(14,165,233,.16),transparent 24rem),linear-gradient(180deg,#071426,#0f1f35)}.login-mode-auto.has-login-bg-image{background-image:linear-gradient(180deg,rgba(2,6,23,.58),rgba(2,6,23,.66)),var(--login-bg-image),linear-gradient(180deg,#071426,#0f1f35)}.login-mode-auto .login-card-modern{background:rgba(10,20,36,.84);border-color:rgba(148,163,184,.18);box-shadow:0 28px 80px rgba(0,0,0,.36)}.login-mode-auto .login-brand-copy strong,.login-mode-auto .login-card-modern h1{color:#f8fafc}.login-mode-auto .login-brand-copy span,.login-mode-auto .login-subtitle,.login-mode-auto .login-footer-note,.login-mode-auto .muted{color:#cbd5e1!important}.login-mode-auto .login-card-modern label{color:#e2e8f0}.login-mode-auto .login-card-modern input{background:rgba(15,23,42,.84);border-color:#334155;color:#f8fafc}.login-mode-auto .password-toggle{background:#1e293b;color:#f8fafc}.login-mode-auto .login-help-pill{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.22);color:#f8fafc}}

@media (max-width:960px){.login-layout-split,.login-layout-spotlight{grid-template-columns:1fr;gap:18px}.login-layout-split .login-visual-panel,.login-layout-spotlight .login-visual-panel{min-height:0;padding:22px}.login-preview-shell.login-layout-split,.login-preview-shell.login-layout-spotlight{grid-template-columns:1fr}.login-preview-visual{display:none!important}}

.login-preview-config-card{margin-top:18px}.login-preview-stage{padding:20px;border-radius:26px;background:linear-gradient(180deg,#edf3ff,#dbe8ff);overflow:auto}.login-preview-canvas{min-width:960px}.login-preview-live{min-height:560px;border-radius:30px;padding:34px;position:relative;box-shadow:0 24px 70px rgba(15,23,42,.12)}.login-preview-live .login-help-pill{pointer-events:none}.login-preview-live .login-card-modern{margin:0}.login-preview-live .login-card input[readonly]{cursor:default}.login-preview-live .login-submit-btn,.login-preview-live .password-toggle{pointer-events:none}.login-preview-live.login-layout-centered{place-items:center}.login-preview-live.login-layout-centered .login-card-modern{margin-inline:auto}.login-preview-live.login-layout-minimal .login-card-modern{max-width:560px}.login-preview-live.login-layout-split,.login-preview-live.login-layout-spotlight{grid-template-columns:minmax(280px,420px) minmax(320px,620px);align-items:stretch;place-items:center;gap:28px}.login-preview-live.login-layout-split .login-visual-panel,.login-preview-live.login-layout-spotlight .login-visual-panel{display:grid}.login-preview-live.login-mode-dark .login-card-modern{background:rgba(10,20,36,.84)}.login-preview-live.login-mode-dark .login-card-modern label{color:#e2e8f0}.login-preview-live.login-mode-dark .login-card-modern input{background:rgba(15,23,42,.84);border-color:#334155;color:#f8fafc}.login-preview-live.login-mode-dark .password-toggle{background:#1e293b;color:#f8fafc}.login-preview-live.login-mode-dark .login-brand-copy strong,.login-preview-live.login-mode-dark h1{color:#f8fafc}.login-preview-live.login-mode-dark .login-brand-copy span,.login-preview-live.login-mode-dark .login-subtitle,.login-preview-live.login-mode-dark .login-footer-note{color:#cbd5e1}.login-preview-live.login-mode-auto .login-card-modern,.login-preview-live.login-mode-auto .login-help-pill{transition:background .2s,color .2s,border-color .2s}@media (prefers-color-scheme:dark){.login-preview-live.login-mode-auto .login-card-modern{background:rgba(10,20,36,.84)}.login-preview-live.login-mode-auto .login-card-modern label{color:#e2e8f0}.login-preview-live.login-mode-auto .login-card-modern input{background:rgba(15,23,42,.84);border-color:#334155;color:#f8fafc}.login-preview-live.login-mode-auto .password-toggle{background:#1e293b;color:#f8fafc}.login-preview-live.login-mode-auto .login-brand-copy strong,.login-preview-live.login-mode-auto h1{color:#f8fafc}.login-preview-live.login-mode-auto .login-brand-copy span,.login-preview-live.login-mode-auto .login-subtitle,.login-preview-live.login-mode-auto .login-footer-note{color:#cbd5e1}}@media (max-width:960px){.login-preview-stage{padding:14px}.login-preview-canvas{min-width:760px}.login-preview-live{min-height:0;padding:22px}.login-preview-live.login-layout-split,.login-preview-live.login-layout-spotlight{grid-template-columns:1fr;gap:18px}.login-preview-live .login-visual-panel{min-height:0;padding:22px}}

/* v65 sidebar compacto agrupado */
.admin-body .sidebar{display:flex!important;flex-direction:column!important;width:286px!important;min-width:286px!important;padding:16px 16px 14px!important;gap:0!important;overflow:hidden!important;background:linear-gradient(180deg,#06284b 0%,#031a33 100%)!important;box-shadow:20px 0 70px rgba(2,6,23,.24)!important}.admin-body .institutional-brand{margin:0 0 8px!important;min-height:52px!important}.admin-body .brand-logo-wide{max-height:58px!important;width:auto!important;max-width:176px!important}.admin-body .brand-mark{width:44px!important;height:44px!important;border-radius:14px!important}.admin-body .brand-fallback strong{font-size:1rem!important}.admin-body .brand-fallback span{font-size:.72rem!important}.admin-body .sidebar-app-card{display:none!important}.admin-body .compact-sidebar-title{margin:6px 0 8px!important;font-size:.68rem!important;letter-spacing:.11em!important;color:rgba(219,234,254,.62)!important}.admin-body .sidebar-collapse-btn{position:absolute!important;right:14px!important;top:18px!important;width:38px!important;height:38px!important;min-height:38px!important;border-radius:14px!important;margin:0!important;padding:0!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important}.admin-body .sidebar-collapse-btn .nav-icon{width:26px!important;height:26px!important;min-width:26px!important}.admin-body .compact-sidebar-scroll{flex:1 1 auto!important;min-height:0!important;margin:0 -4px!important;padding:0 4px 12px!important;overflow:auto!important;mask-image:linear-gradient(to bottom,transparent 0,#000 12px,#000 calc(100% - 14px),transparent 100%)!important}.admin-body .compact-sidebar-nav{display:grid!important;gap:8px!important;margin:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}.admin-body .sidebar-menu-group{border:1px solid rgba(148,197,253,.10)!important;background:linear-gradient(180deg,rgba(59,130,246,.10),rgba(15,23,42,.10))!important;border-radius:16px!important;overflow:hidden!important}.admin-body .sidebar-menu-group-toggle{width:100%!important;border:0!important;background:rgba(255,255,255,.035)!important;color:rgba(219,234,254,.85)!important;display:grid!important;grid-template-columns:1fr 22px!important;align-items:center!important;min-height:34px!important;padding:8px 10px!important;cursor:pointer!important;text-align:left!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:.67rem!important}.admin-body .sidebar-menu-group-toggle:hover,.admin-body .sidebar-menu-group-toggle:focus-visible{background:rgba(255,255,255,.08)!important;outline:none!important;color:#fff!important}.admin-body .group-chevron{display:grid!important;place-items:center!important;transition:transform .18s ease!important}.admin-body .group-chevron svg{width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important;stroke-linejoin:round!important}.admin-body .sidebar-menu-group:not(.is-open) .group-chevron{transform:rotate(-90deg)!important}.admin-body .sidebar-menu-group-items{display:grid!important;gap:3px!important;padding:5px!important}.admin-body .sidebar-menu-group:not(.is-open) .sidebar-menu-group-items{display:none!important}.admin-body .compact-sidebar-nav a,.admin-body .sidebar-fixed-footer .sidebar-logout-form button{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-height:40px!important;padding:6px 8px!important;border-radius:13px!important;color:rgba(241,245,249,.86)!important;background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;font-size:.84rem!important;font-weight:850!important;line-height:1.1!important}.admin-body .compact-sidebar-nav a:hover,.admin-body .compact-sidebar-nav a:focus-visible{background:rgba(59,130,246,.18)!important;border-color:rgba(147,197,253,.12)!important;color:#fff!important;outline:none!important}.admin-body .compact-sidebar-nav a.is-active{background:linear-gradient(135deg,#1d78d8,#0ea5e9)!important;color:#fff!important;box-shadow:0 10px 22px rgba(14,165,233,.22)!important}.admin-body .nav-icon{width:30px!important;height:30px!important;min-width:30px!important;border-radius:10px!important;background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.07)!important;display:grid!important;place-items:center!important;margin:0!important;box-shadow:none!important}.admin-body .compact-sidebar-nav a.is-active .nav-icon{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.18)!important}.admin-body .nav-icon svg{width:17px!important;height:17px!important;stroke-width:2.15!important;fill:none!important;stroke:currentColor!important;stroke-linecap:round!important;stroke-linejoin:round!important}.admin-body .nav-text{min-width:0!important;display:grid!important;gap:1px!important}.admin-body .nav-text strong{font-size:.82rem!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.05!important}.admin-body .nav-text small{font-size:.64rem!important;font-weight:760!important;color:rgba(226,232,240,.58)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.05!important}.admin-body .compact-sidebar-nav a.is-active .nav-text small{color:rgba(255,255,255,.78)!important}.admin-body .sidebar-fixed-footer{flex:0 0 auto!important;padding:12px 0 0!important;margin-top:auto!important;background:linear-gradient(180deg,rgba(3,26,51,0),#031a33 34%)!important}.admin-body .sidebar-fixed-footer .sidebar-logout-form{margin:0!important}.admin-body .sidebar-fixed-footer .sidebar-logout-form button{width:100%!important;min-height:46px!important;background:rgba(15,23,42,.34)!important;border:1px solid rgba(255,255,255,.10)!important;color:#fff!important}.admin-body .sidebar-fixed-footer .sidebar-logout-form button:hover{background:rgba(239,68,68,.16)!important;border-color:rgba(248,113,113,.24)!important;color:#fecaca!important}.admin-body .admin-shell{grid-template-columns:286px minmax(0,1fr)!important}.admin-body .admin-main{margin-left:286px!important}.sidebar-floating-tooltip{z-index:9999!important}
@media (min-width:980px){body.admin-body.sidebar-collapsed .admin-shell{grid-template-columns:96px minmax(0,1fr)!important}body.admin-body.sidebar-collapsed .admin-main{margin-left:96px!important}body.admin-body.sidebar-collapsed .sidebar{width:96px!important;min-width:96px!important;max-width:96px!important;padding:16px 10px 14px!important;align-items:center!important}body.admin-body.sidebar-collapsed .institutional-brand{width:64px!important;height:64px!important;min-height:64px!important;margin:0 0 10px!important}body.admin-body.sidebar-collapsed .brand-logo-wide{display:none!important}body.admin-body.sidebar-collapsed .brand-logo-collapsed{display:block!important;width:50px!important;height:50px!important;object-fit:contain!important}body.admin-body.sidebar-collapsed .brand-fallback>div:not(.brand-mark){display:none!important}body.admin-body.sidebar-collapsed .compact-sidebar-title,body.admin-body.sidebar-collapsed .sidebar-menu-group-toggle .group-label,body.admin-body.sidebar-collapsed .group-chevron,body.admin-body.sidebar-collapsed .nav-text{display:none!important}body.admin-body.sidebar-collapsed .sidebar-collapse-btn{position:relative!important;top:auto!important;right:auto!important;margin:0 0 10px!important;width:52px!important;height:52px!important;border-radius:18px!important}body.admin-body.sidebar-collapsed .sidebar-collapse-btn .nav-icon svg{transform:rotate(180deg)!important}body.admin-body.sidebar-collapsed .compact-sidebar-scroll{width:76px!important;margin:0!important;padding:0 0 10px!important;mask-image:none!important}body.admin-body.sidebar-collapsed .compact-sidebar-nav{gap:8px!important;width:76px!important}body.admin-body.sidebar-collapsed .sidebar-menu-group{background:transparent!important;border:0!important;border-radius:0!important;display:grid!important;gap:8px!important}body.admin-body.sidebar-collapsed .sidebar-menu-group:not(.is-open) .sidebar-menu-group-items{display:grid!important}body.admin-body.sidebar-collapsed .sidebar-menu-group-toggle{display:none!important}body.admin-body.sidebar-collapsed .sidebar-menu-group-items{display:grid!important;gap:8px!important;padding:0!important}body.admin-body.sidebar-collapsed .compact-sidebar-nav a,body.admin-body.sidebar-collapsed .sidebar-fixed-footer .sidebar-logout-form button{width:64px!important;min-width:64px!important;max-width:64px!important;min-height:58px!important;grid-template-columns:1fr!important;place-items:center!important;padding:6px!important;border-radius:20px!important}body.admin-body.sidebar-collapsed .nav-icon{width:44px!important;height:44px!important;min-width:44px!important;border-radius:16px!important}body.admin-body.sidebar-collapsed .nav-icon svg{width:22px!important;height:22px!important}.admin-body.sidebar-collapsed .sidebar-fixed-footer{width:76px!important;padding-top:10px!important}}
@media (max-width:979px){.admin-body .admin-main{margin-left:0!important}.admin-body .admin-shell{grid-template-columns:1fr!important}.admin-body .sidebar{width:min(86vw,286px)!important;min-width:0!important;max-width:none!important}.admin-body .sidebar-collapse-btn{display:none!important}.admin-body .compact-sidebar-scroll{max-height:none!important}}


/* v66 - Sin scroll horizontal y campañas madre ligeras */
.admin-body .admin-main,
.admin-body .card,
.admin-body .toolbar,
.admin-body .section-head,
.admin-body .grid,
.admin-body .table-wrap,
.admin-body .campaign-accordion-item,
.admin-body .campaign-accordion-trigger,
.admin-body .campaign-accordion-meta,
.admin-body .campaign-panel-body{min-width:0!important;max-width:100%!important}
.admin-body .admin-main{overflow-x:hidden!important}
.admin-body .card{overflow-wrap:anywhere!important}
.admin-body .table-wrap{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
.admin-body table{width:100%!important;min-width:0!important;table-layout:auto!important}
.admin-body th,.admin-body td{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
.admin-body .code,.admin-body .link-code,.admin-body .copy-link-wrap{white-space:normal!important;overflow-wrap:anywhere!important;max-width:100%!important;min-width:0!important}
.admin-body .actions{flex-wrap:wrap!important;min-width:0!important;max-width:100%!important}.admin-body .btn{white-space:normal!important}
@media (max-width:1180px){.admin-body .table-wrap{border:0!important;background:transparent!important;overflow:visible!important}.admin-body table,.admin-body thead,.admin-body tbody,.admin-body tr,.admin-body td{display:block!important;width:100%!important}.admin-body thead{display:none!important}.admin-body tr{background:#fff;border:1px solid #e6edf5;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.06);margin-bottom:12px;padding:8px}.admin-body td{border-bottom:0!important;padding:9px 10px!important}.admin-body td:before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:900;margin-bottom:3px}}
.campaign-mother-item{background:linear-gradient(135deg,#fff,#f8fbff)!important;border:1px solid rgba(14,165,233,.13)!important}.campaign-mother-trigger{grid-template-columns:minmax(0,1fr) minmax(220px,.72fr) auto!important;align-items:center!important}.campaign-mother-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pill.mother{background:rgba(14,165,233,.10)!important;color:#0f4f86!important;border-color:rgba(14,165,233,.18)!important}.campaign-language-badges{display:inline-flex;gap:4px;flex-wrap:wrap;align-items:center}.campaign-language-badges span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:3px 7px;border-radius:999px;background:#eef6ff;color:#0f4f86;border:1px solid #d7ebff;font-size:.72rem;font-weight:950}.latest-editions-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 14px 14px;background:linear-gradient(180deg,#f8fbff,#ffffff);border-top:1px solid #e5edf7}.latest-edition-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e2eaf5;border-radius:16px;background:#fff;padding:10px 12px;min-width:0}.latest-edition-main{display:grid;gap:2px;min-width:0}.latest-edition-main strong{font-size:.86rem;white-space:normal;overflow-wrap:anywhere;color:#0f172a}.latest-edition-main small{font-size:.72rem;color:#64748b;white-space:normal}.latest-edition-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.latest-edition-empty{grid-column:1/-1;padding:12px;border-radius:14px;background:#fff;border:1px dashed #cbd5e1;color:#64748b}.edition-quick-list{display:grid!important;gap:10px}.edition-quick-item{grid-template-columns:minmax(0,1fr) auto!important;min-width:0!important}.edition-quick-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important;justify-content:flex-end!important;min-width:0!important}.campaign-mother-summary{background:#f8fbff;border:1px solid #e4edf7;border-radius:18px;padding:14px}.compact-actions{display:flex;flex-wrap:wrap;gap:6px}.pill.scheduled{background:#dbeafe!important;color:#1d4ed8!important}.pill.finalized{background:#ede9fe!important;color:#6d28d9!important}.pill.archived{background:#e2e8f0!important;color:#334155!important}.pill.cancelled{background:#fee2e2!important;color:#b91c1c!important}.campaign-mother-edit-form .section-head{margin-bottom:14px}.current-edition-card{background:linear-gradient(135deg,#f8fbff,#fff)!important;border:1px solid #dbeafe!important}.current-edition-card .form-group{min-width:0}
@media (max-width:1200px){.latest-editions-strip{grid-template-columns:1fr}.campaign-mother-trigger{grid-template-columns:minmax(0,1fr) auto!important}.campaign-mother-meta{display:none!important}.latest-edition-card{grid-template-columns:1fr}.latest-edition-actions{justify-content:flex-start}.edition-quick-item{grid-template-columns:1fr!important}.edition-quick-actions{justify-content:flex-start!important}}


/* v66.3 - Menú lateral acordeón y botón contraer personalizable */
.admin-body .sidebar-collapse-btn{
  background:var(--sidebar-collapse-button-background)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--sidebar-collapse-button-background) 88%,#ffffff),color-mix(in srgb,var(--sidebar-collapse-button-background) 72%,#020617))!important;
  border:1px solid color-mix(in srgb,var(--sidebar-collapse-button-background) 54%,#ffffff)!important;
  box-shadow:0 18px 42px color-mix(in srgb,var(--sidebar-collapse-button-background) 36%,rgba(2,6,23,.32)),0 0 0 4px color-mix(in srgb,var(--sidebar-collapse-button-background) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.28)!important;
  color:#fff!important;
}
.admin-body .sidebar-collapse-btn:hover,
.admin-body .sidebar-collapse-btn:focus-visible{
  background:linear-gradient(135deg,color-mix(in srgb,var(--sidebar-collapse-button-background) 94%,#ffffff),color-mix(in srgb,var(--sidebar-collapse-button-background) 76%,#020617))!important;
  border-color:color-mix(in srgb,var(--sidebar-collapse-button-background) 34%,#ffffff)!important;
  box-shadow:0 22px 50px color-mix(in srgb,var(--sidebar-collapse-button-background) 44%,rgba(2,6,23,.36)),0 0 0 5px color-mix(in srgb,var(--sidebar-collapse-button-background) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.34)!important;
}
.admin-body .sidebar-collapse-btn .nav-text{display:none!important}
.admin-body .sidebar-collapse-btn .nav-icon{color:#fff!important}
.admin-body .sidebar-menu-group:not(.is-open) .sidebar-menu-group-items{display:none!important}
@media (min-width:980px){
  body.admin-body.sidebar-collapsed .sidebar-menu-group:not(.is-open) .sidebar-menu-group-items{display:grid!important}
}


/* v66.4 - Imagen opcional por campaña */
.campaign-image-card .form-group{margin-top:.35rem}
.campaign-image-field{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.campaign-image-preview,.campaign-image-thumb,.campaign-catalog-thumb,.campaign-client-logo{display:block;object-fit:contain;background:#fff;border:1px solid rgba(15,23,42,.12);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.campaign-image-preview{width:min(100%,320px);max-height:160px;border-radius:14px;padding:.4rem}
.campaign-image-thumb{width:120px;height:72px;border-radius:12px;padding:.25rem}
.campaign-image-preview-inline{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:.7rem}
.campaign-catalog-thumb-wrap{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.1);padding:.3rem;margin-right:.8rem;vertical-align:middle}
.campaign-catalog-thumb{width:100%;height:100%;border:none;box-shadow:none;background:transparent;padding:0;border-radius:10px}
.campaign-mother-mini-image{margin-top:.8rem}
.campaign-client-logo{max-width:220px;max-height:90px;border-radius:16px;padding:.45rem}
.compact-checkbox{display:inline-flex;align-items:center;gap:.55rem}

/* v66.5 - Selector de color con hexadecimal editable */
.color-hex-control{display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.color-hex-control input[type="color"]{min-width:44px}
.color-hex-input{width:108px;max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;text-transform:uppercase;letter-spacing:.02em}
.form-group .color-hex-control{margin-top:.2rem}


/* v66.7 - Login real y vista previa usan la misma apariencia */
.public-body .public-main:has(.login-shell){padding:0;display:block;min-height:100vh;background:transparent;}
.login-visual-panel,.login-visual-panel h2,.login-visual-panel p,.login-visual-panel li{color:#fff;}
.login-preview-live .login-visual-panel,.login-preview-live .login-visual-panel h2,.login-preview-live .login-visual-panel p,.login-preview-live .login-visual-panel li{color:#fff;}

/* v66.8.1 - Ajustes visuales finos del encabezado publico */
.public-form-header .campaign-client-logo{
  width:var(--public-header-logo-width,220px)!important;
  max-width:min(var(--public-header-logo-width,220px),78vw)!important;
  max-height:var(--public-header-logo-max-height,90px)!important;
}
.public-header-preview .public-header-preview-logo{
  width:var(--preview-logo-width,220px)!important;
  max-width:min(var(--preview-logo-width,220px),78vw)!important;
  max-height:var(--preview-logo-max-height,90px)!important;
}

/* v66.8.4 - Eliminación segura de registros */
.registration-bulk-actions{justify-content:flex-end;margin:.8rem 0}
.registration-delete-warning .alert.warning{line-height:1.55}
.delete-confirm-form{margin-top:1rem}
.registration-bulk-delete-form .records-toolbar .actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}

/* v66.8.5 - Acciones claras de borrado de registros */
.btn.outline-danger{background:transparent;color:#b91c1c;border-color:#ef4444}
.btn.outline-danger:hover{background:#fee2e2;color:#991b1b}
.registration-delete-warning .actions{gap:.75rem;flex-wrap:wrap}

/* v66.8.6 - Botón cerrar post-registro */
.success-actions{gap:.75rem;flex-wrap:wrap}
.success-close-btn{min-width:130px}


/* v66.8.7 - Mejor distribución de columnas en tablas de registros */
.has-registration-selection table{
    width:100%;
    min-width:0;
    table-layout:fixed;
}
.has-registration-selection th,
.has-registration-selection td{
    vertical-align:top;
}
.has-registration-selection th:first-child,
.has-registration-selection td:first-child{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    padding-left:14px;
    padding-right:6px;
    text-align:center;
}
.has-registration-selection th:first-child input,
.has-registration-selection td:first-child input{
    margin:0 auto;
}
.has-registration-selection th:nth-child(2),
.has-registration-selection td:nth-child(2){
    width:22%;
    min-width:190px;
}
.has-registration-selection th:nth-child(3),
.has-registration-selection td:nth-child(3){width:12%;}
.has-registration-selection th:nth-child(4),
.has-registration-selection td:nth-child(4){width:13%;}
.has-registration-selection th:nth-child(5),
.has-registration-selection td:nth-child(5){width:8%;}
.has-registration-selection th:nth-child(6),
.has-registration-selection td:nth-child(6){width:11%;}
.has-registration-selection th:nth-child(7),
.has-registration-selection td:nth-child(7){width:11%;}
.has-registration-selection th:last-child,
.has-registration-selection td:last-child{
    width:15%;
    min-width:130px!important;
    padding-right:22px;
}
.has-registration-selection td:last-child .inline-actions{
    justify-content:flex-start;
    align-items:flex-start;
}
.has-registration-selection td .code{
    white-space:normal;
    overflow-wrap:anywhere;
}
@media (max-width:980px){
    .has-registration-selection table{min-width:900px;}
}
@media (max-width:760px){
    .has-registration-selection table{min-width:0;table-layout:auto;}
    .has-registration-selection th:first-child,
    .has-registration-selection td:first-child{width:auto!important;min-width:0!important;max-width:none!important;text-align:left;}
}

/* v66.8.8 - Botón Cerrar visible en registro exitoso */
.success-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.success-close-btn{background:#eef2f7;color:#0f172a;border:1px solid rgba(15,23,42,.12)}
.success-close-btn:hover{background:#e2e8f0}
