.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 14px;border-radius:10px;background:#fff;color:#23483f;box-shadow:0 8px 24px rgba(0,0,0,.25);transform:translateY(-150%)}
.animated-search{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:17em;min-height:3em;margin:auto;color:#17201e}.animated-search input[type=search]{display:block;width:2em!important;height:2em!important;margin:auto!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:0 0 0 .25em inset!important;color:inherit!important;caret-color:#255ff4;appearance:none;transition:all .5s linear}.animated-search input[type=search]:focus,.animated-search input[type=search]:valid{width:100%!important;height:3em!important;padding:.75em 1em!important;border-radius:.25em!important;background:#b9e5ec!important;box-shadow:none!important;transition-duration:.25s;transition-delay:.25s;outline:transparent!important}.animated-search input[type=search]::-webkit-search-decoration{appearance:none}.animated-search-caret{position:absolute;left:50%;bottom:.3em;display:block;width:.25em;height:1em;border-radius:0 0 .125em .125em;background:currentColor;pointer-events:none;transform:translate(-50%,-1em) rotate(-45deg) translate(0,.875em);transform-origin:50% 0;transition:all .5s linear}.animated-search input:focus+.animated-search-caret,.animated-search input:valid+.animated-search-caret{width:1px;height:1.5em;background:transparent;transform:translate(-50%,-1em) rotate(-180deg) translate(7.5em,-.25em);animation:search-handle-to-caret 1s linear}@keyframes search-handle-to-caret{0%{width:.25em;height:1em;background:currentColor;transform:translate(-50%,-1em) rotate(-45deg) translate(0,.875em)}25%{width:.25em;height:1em;background:currentColor;transform:translate(-50%,-1em) rotate(-180deg) translate(0,.875em)}50%,62.5%{width:1px;height:1.5em;background:#255ff4;transform:translate(-50%,-1em) rotate(-180deg) translate(7.5em,2.5em)}75%,99%{width:1px;height:1.5em;background:#255ff4;transform:translate(-50%,-1em) rotate(-180deg) translate(7.5em,-.25em)}87.5%{background:#255ff4;transform:translate(-50%,-1em) rotate(-180deg) translate(7.5em,.125em)}100%{width:1px;height:1.5em;background:transparent;transform:translate(-50%,-1em) rotate(-180deg) translate(7.5em,-.25em)}}html[data-theme=dark] .animated-search{color:#e5f1ee}html[data-theme=dark] .animated-search input[type=search]:focus,html[data-theme=dark] .animated-search input[type=search]:valid{background:#c4e8ed!important;color:#17201e!important}
.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #d6c45c!important;outline-offset:3px}
.flash{position:relative;padding-right:48px}.flash-close{position:absolute;top:50%;right:9px;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:1.25rem;transform:translateY(-50%);cursor:pointer}
.quiz-builder-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.question-editor[draggable=true]{cursor:grab}.question-editor.is-dragging{opacity:.5;outline:2px dashed #557365}.duplicate-question{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cbdcd7;border-radius:9px;background:rgba(255,255,255,.55);color:#35564f;cursor:pointer}.quiz-preview-dialog{width:min(760px,calc(100% - 28px));max-height:88dvh;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:rgba(242,248,244,.92);color:#263d37;box-shadow:0 24px 80px rgba(0,0,0,.32);overflow:auto;backdrop-filter:blur(28px)}.quiz-preview-dialog::backdrop{background:rgba(8,18,15,.55);backdrop-filter:blur(4px)}.quiz-preview-dialog>div{position:relative;padding:28px}.preview-question{margin:12px 0}.preview-question h3{font-size:1rem}.preview-question p{margin:7px 0}
.network-toast{position:fixed;z-index:500;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));padding:9px 15px;border-radius:999px;background:#314d46;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.25);transform:translateX(-50%)}
.public-site-fab{position:fixed;z-index:99;right:72px;bottom:72px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #bdd8d3;border-radius:50%;background:rgba(255,255,255,.9);color:#35564f;box-shadow:var(--sombra);text-decoration:none;backdrop-filter:blur(14px);transition:transform .2s,background .2s}.public-site-fab:hover,.public-site-fab:focus-visible{background:#557365;color:#fff;transform:translateY(-2px)}.public-site-fab svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}html[data-theme=dark] .public-site-fab{background:#263632;color:#fff;border-color:#4e6b64}
.auth-page .public-site-fab{right:18px;bottom:18px;background:rgba(25,34,31,.64);color:#fff;border-color:rgba(255,255,255,.68);box-shadow:0 8px 26px rgba(0,0,0,.28)}
.role-access-disclosure{padding:0!important;overflow:hidden}.role-access-disclosure>summary{display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:14px;padding:17px 20px;cursor:pointer;list-style:none}.role-access-disclosure>summary::-webkit-details-marker{display:none}.role-access-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.75);border-radius:14px;background:rgba(255,255,255,.42);color:#42655c}.role-access-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.role-access-disclosure summary strong,.role-access-disclosure summary small{display:block}.role-access-disclosure summary small{margin-top:3px;color:#627b76;font-size:.76rem}.role-access-chevron{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s}.role-access-disclosure[open] .role-access-chevron{transform:rotate(180deg)}.role-access-content{padding:4px 20px 20px;border-top:1px solid rgba(85,115,101,.15)}.role-access-content>p{max-width:760px;color:#627b76}.role-access-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.role-access-options label{min-height:48px;margin:0!important;padding:12px!important;border:1px solid rgba(85,115,101,.14);border-radius:12px;background:rgba(255,255,255,.38)}.role-access-options label:has(input:checked){border-color:#557365;background:rgba(85,115,101,.12)}
.action-progress-dialog{width:min(420px,calc(100% - 28px));padding:0;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:rgba(242,248,244,.92);color:#29443d;box-shadow:0 25px 85px rgba(0,0,0,.34);backdrop-filter:blur(30px) saturate(165%)}.action-progress-dialog::backdrop{background:rgba(8,18,15,.52);backdrop-filter:blur(5px)}.action-progress-dialog>div{padding:30px;text-align:center}.action-progress-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:18px;background:rgba(166,51,51,.12);color:#a63333}.action-progress-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.action-progress-dialog h2{margin:0 0 8px}.action-progress-dialog p{color:#627b76}.action-dialog-buttons{display:flex;justify-content:center;gap:10px;margin-top:22px}.action-progress-state{margin-top:24px}.action-progress-state strong{display:block;margin-top:11px}.action-spinner{display:block;width:34px;height:34px;margin:auto;border:3px solid rgba(85,115,101,.2);border-top-color:#557365;border-radius:50%;animation:action-spin .7s linear infinite}.question-editor.is-deleting{pointer-events:none;animation:question-delete .52s ease forwards}@keyframes action-spin{to{transform:rotate(360deg)}}@keyframes question-delete{to{opacity:0;transform:scale(.94) translateX(28px);max-height:0;margin:0;padding-block:0}}
.global-confirm-dialog{width:min(430px,calc(100% - 28px));padding:0;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:rgba(242,248,244,.94);color:#29443d;box-shadow:0 25px 85px rgba(0,0,0,.34);backdrop-filter:blur(30px) saturate(165%)}.global-confirm-dialog::backdrop{background:rgba(8,18,15,.52);backdrop-filter:blur(5px)}.global-confirm-dialog>div{padding:30px;text-align:center}.global-confirm-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:18px;background:rgba(148,138,80,.16);color:#746a32;font-size:1.55rem;font-weight:900}.global-confirm-dialog h2{margin:0 0 8px}.global-confirm-dialog p{color:#627b76;white-space:pre-line}.global-confirm-dialog>div>div{display:flex;justify-content:center;gap:10px;margin-top:22px}
html[data-theme=dark] .quiz-preview-dialog,html[data-theme=dark] .duplicate-question{background:rgba(35,51,47,.94);color:#e5f1ee;border-color:#526a64}
html[data-theme=dark] .role-access-icon,html[data-theme=dark] .role-access-options label{background:rgba(255,255,255,.06)}
html[data-theme=dark] .action-progress-dialog{background:rgba(35,51,47,.96);color:#e5f1ee}
html[data-theme=dark] .global-confirm-dialog{background:rgba(35,51,47,.96);color:#e5f1ee}
@media(max-width:760px){.role-access-options{grid-template-columns:1fr 1fr}}@media(max-width:600px){.quiz-preview-dialog>div{padding:22px 16px}.quiz-builder-actions>*{flex:1}.flash{padding-right:43px}.role-access-disclosure>summary{grid-template-columns:44px 1fr 20px;padding:14px}.role-access-content{padding:3px 14px 16px}.role-access-options{grid-template-columns:1fr}.public-site-fab{right:68px;bottom:72px}}

/* Menús ágiles y estables, incluso al volver desde el historial móvil. */
.public-ui .public-drawer,.admin-ui .admin-drawer{transform:translate3d(-105%,0,0);transition:transform .18s ease-out,opacity .14s,visibility 0s linear .18s;will-change:transform;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
.public-ui .public-drawer.open,.admin-ui .admin-drawer.open{transform:translate3d(0,0,0)!important}
.public-menu-scrim,.admin-menu-scrim{transition:opacity .16s,visibility 0s linear .16s}

/* Constructor de evaluaciones. */
.quiz-settings{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(170px,1fr));gap:16px}.quiz-page-heading{margin-bottom:22px}.question-editor{border:1px solid rgba(85,115,101,.2);box-shadow:0 10px 30px rgba(34,58,50,.08)}.question-header{background:linear-gradient(135deg,#f3f7f4,#e8f0ec)}.question-type-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e1ece7;color:#41645a;font-size:1.15rem}.question-copy textarea{min-height:105px;font-size:1rem;line-height:1.55}.question-config{grid-template-columns:minmax(230px,1.5fr) minmax(135px,.65fr) minmax(210px,1fr);align-items:start;margin:18px 0}.question-config label>small{display:block;margin-top:6px;color:#6c817c;font-weight:500}.points-field>div{display:flex;align-items:center;overflow:hidden;border:1px solid #c8d8d3;border-radius:11px;background:#fff}.points-field>div input{min-width:0;border:0!important;border-radius:0}.points-field>div span{padding:0 13px;color:#557365;font-weight:800}.image-upload-control{position:relative}.image-upload-control>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.image-upload-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;margin-top:7px;border:1px dashed #77988f;border-radius:11px;background:#eef5f1;color:#3e6258;cursor:pointer}.image-upload-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.image-upload-control:hover .image-upload-button{background:#dfece6;border-color:#557365}.question-options{padding:15px;border:1px solid #d6e3df;border-radius:14px;background:#f8faf8}.answer-section-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.answer-section-heading small{color:#667d77}.option-edit-row{grid-template-columns:42px 1fr 40px;gap:9px;margin:9px 0}.answer-text-input{min-height:48px!important;background:#fff!important;font-size:.98rem}.correct-answer-control{display:grid!important;place-items:center;width:42px;height:42px;cursor:pointer}.correct-answer-control input{position:absolute;width:1px!important;height:1px!important;opacity:0}.correct-answer-control span{display:block;width:26px;height:26px;border:2px solid #78978f;background:#fff;transition:.15s}.correct-answer-control input[type=radio]+span{border-radius:50%}.correct-answer-control input[type=checkbox]+span{border-radius:7px}.correct-answer-control input:checked+span{border:7px solid #557365;background:#fff}.correct-answer-control input[type=checkbox]:checked+span{border:2px solid #557365;background:#557365}.correct-answer-control input[type=checkbox]:checked+span::after{content:'✓';display:grid;place-items:center;color:#fff;font-size:1.05rem;font-weight:900}.correct-answer-control input:focus-visible+span{outline:3px solid rgba(148,138,80,.35);outline-offset:3px}.open-answer-preview{padding:15px;border:1px solid #d6e3df;border-radius:14px;background:#f8faf8}.open-answer-preview>span{display:block;margin-bottom:9px;color:#557365;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.open-answer-preview textarea,.preview-question textarea{width:100%;min-height:105px;border:1px solid #ccdcd7;border-radius:11px;background:#fff!important;resize:none}.preview-question-heading{display:flex;justify-content:space-between;gap:14px;align-items:start}.preview-question-heading h3{margin:0}.preview-question-heading span{flex:none;padding:5px 9px;border-radius:99px;background:#e5efe9;color:#41645a;font-size:.78rem;font-weight:800}.preview-option{padding:10px 12px;border:1px solid #dce7e3;border-radius:9px;background:#fff}.error-text{color:#9a3131!important;font-weight:700}
@media(max-width:800px){.quiz-settings,.question-config{grid-template-columns:1fr}.question-header{gap:10px}.question-identity{align-items:flex-start}.question-type-icon{display:none}.answer-section-heading{display:block}.answer-section-heading small{display:block;margin-top:4px}}
@media(max-width:520px){.question-editor-body{padding:14px}.question-header{padding:12px}.question-tools{gap:4px}.question-tools button{width:38px;height:38px}.option-edit-row{grid-template-columns:40px minmax(0,1fr) 38px}.quiz-save-bar{bottom:6px}.quiz-builder-heading{margin-top:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Los campos search opcionales también son :valid cuando están vacíos; esta
   regla conserva el estado de lupa hasta que reciban foco o tengan texto. */
.animated-search input[type=search]:placeholder-shown:not(:focus){width:2em!important;height:2em!important;padding:0!important;border-radius:50%!important;background:transparent!important;box-shadow:0 0 0 .25em inset!important;transition-delay:0s}.animated-search input[type=search]:placeholder-shown:not(:focus)+.animated-search-caret{width:.25em;height:1em;background:currentColor;transform:translate(-50%,-1em) rotate(-45deg) translate(0,.875em);animation:none}
.dashboard-search label>.animated-search~span,.dashboard-search label>span:first-child,.global-search-box>span:first-child,.search-field>span:first-child{display:none!important}
