.eacontest-banner{display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:480px;margin:0 0 32px;border:1px solid #dce6ed;border-radius:16px;overflow:hidden;background:#fff;color:#243744;box-sizing:border-box;font-family:Arial,sans-serif;text-align:left}
.eacontest-banner *{box-sizing:border-box}.eacontest-banner[hidden]{display:none}
.eacontest-visual{position:relative;background:linear-gradient(145deg,#e9f2f6,#cbdfe9);padding:36px;isolation:isolate;overflow:hidden}
.eacontest-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;z-index:-1}
.eacontest-disc{position:absolute;width:225px;height:225px;right:-60px;top:85px;color:#82aebe;opacity:.23;z-index:-1;transform:rotate(-12deg)}
.eacontest-visual-content{position:relative}.eacontest-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:1.4px;color:#497185;margin:0 0 14px;line-height:1.5}
.eacontest-banner h2{font-size:40px;line-height:1.12;font-weight:700;letter-spacing:-1px;margin:0 0 16px;color:#243744}.eacontest-banner h3{font-size:25px;line-height:1.2;font-weight:700;margin:0 0 12px;color:#243744}
.eacontest-lead{font-size:15px;line-height:1.6;margin:0 0 24px}.eacontest-stages{list-style:none;margin:0;padding:0;display:grid;gap:18px}.eacontest-stages li{display:flex;align-items:center;gap:15px}.eacontest-stages li>span{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:40px;height:40px;background:#fff9;border:1px solid #fff;border-radius:50%;font-size:12px;font-weight:700;color:#24799d}.eacontest-stages strong{display:block;font-size:14px;line-height:1.5}.eacontest-stages small{display:block;font-size:11px;line-height:1.5;color:#587384}
.eacontest-panel{padding:32px;position:relative;display:flex;flex-direction:column;justify-content:center}.eacontest-hint{font-size:13px;color:#637480;line-height:1.5;margin:0 0 18px}.eacontest-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px 14px}.eacontest-form label{margin:0;font-size:11px;font-weight:600;line-height:1.4;color:#4d606c;min-width:0}.eacontest-form input:not([type=checkbox]){width:100%;min-width:0;display:block;margin-top:5px;border:1px solid #dbe4ea;border-radius:6px;padding:10px 11px;height:40px;background:#fbfcfd;font-size:13px;color:#243744}.eacontest-form input:focus{outline:2px solid #23aade;outline-offset:1px}.eacontest-full{grid-column:1/-1}.eacontest-form .eacontest-consent{display:flex;gap:9px;font-size:10px;font-weight:400;color:#687985;align-items:flex-start}.eacontest-consent input{margin:2px 0 0;flex-shrink:0;accent-color:#18a6d9}
.eacontest-button{display:block;text-align:center;background:#ff0756;color:#fff!important;border:0;border-radius:8px;padding:13px 18px;font-size:13px;font-weight:700;line-height:1.4;text-decoration:none!important;cursor:pointer}.eacontest-button:hover{background:#de084e}.eacontest-status{width:100%;font-size:14px;line-height:1.6}.eacontest-check{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#e7f7ef;border-radius:50%;color:#209363;font-size:25px;margin-bottom:20px}.eacontest-next{padding:20px;background:#eff7fa;border-radius:10px;margin:22px 0;font-size:13px}.eacontest-next p{margin:10px 0;white-space:pre-line}.eacontest-next b{color:#1b779d;display:block}.eacontest-report{font-size:11px;margin-bottom:12px;text-align:right}.eacontest-error{color:#a8233e;font-size:13px}
@media(max-width:767px){.eacontest-banner{grid-template-columns:1fr;min-height:0;border-radius:12px}.eacontest-visual,.eacontest-panel{padding:25px}.eacontest-banner h2{font-size:32px}.eacontest-banner h3{font-size:23px}.eacontest-stages{gap:14px}.eacontest-visual{padding-bottom:28px}.eacontest-form{gap:14px}}
@media(max-width:420px){.eacontest-form{grid-template-columns:minmax(0,1fr)}.eacontest-panel,.eacontest-visual{padding:22px}.eacontest-full{grid-column:1}.eacontest-banner h2{font-size:30px}}

.eacontest-fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px 14px;border:0;padding:0;margin:0;min-width:0}
.eacontest-preview-notice{grid-column:1/-1;background:#fff8df;color:#69551c;padding:13px 20px;font-size:13px;line-height:1.5}
.eacontest-preview-notice a{color:#69551c;text-decoration:underline}
.eacontest-button:disabled{opacity:.65;cursor:default}
@media(max-width:420px){.eacontest-fields{grid-template-columns:minmax(0,1fr)}.eacontest-form input:not([type=checkbox]){font-size:16px}}

/* 0.2.1: Edumy-safe spacing and approved large-type layout. */
section.eacontest-banner{padding:0!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);font-size:16px;line-height:1.5;min-height:620px;border-radius:22px}
.eacontest-banner .eacontest-visual{padding:36px 38px;min-width:0}
.eacontest-banner .eacontest-has-image{padding-bottom:190px;min-height:620px}
.eacontest-banner .eacontest-image{z-index:-2;opacity:1;object-fit:cover;object-position:55% center}
.eacontest-banner .eacontest-has-image::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(232,240,245,.98) 0%,rgba(232,240,245,.96) 27%,rgba(232,240,245,.96) 62%,rgba(232,240,245,.72) 76%,rgba(232,240,245,.06) 100%);pointer-events:none}
.eacontest-banner .eacontest-kicker{font-size:12px;letter-spacing:1.6px}
.eacontest-banner h2{font-size:42px;line-height:1.1;letter-spacing:-1.2px}
.eacontest-banner h3{font-size:30px;line-height:1.2;letter-spacing:-.5px}
.eacontest-banner .eacontest-lead{font-size:17px;line-height:1.55;margin-bottom:26px}
.eacontest-banner .eacontest-stages{gap:17px}
.eacontest-banner .eacontest-stages strong{font-size:16px}
.eacontest-banner .eacontest-stages small{font-size:18px;font-weight:700;color:#186894;line-height:1.45}
.eacontest-banner .eacontest-stages li:last-child small{font-size:14px;font-weight:400;color:#576c7b}
.eacontest-banner .eacontest-panel{padding:40px;min-width:0}
.eacontest-banner .eacontest-hint,.eacontest-banner .eacontest-status{font-size:17px;line-height:1.6}
.eacontest-banner .eacontest-fields{gap:15px 16px}
.eacontest-banner .eacontest-form label{font-size:14px}
.eacontest-banner .eacontest-form input:not([type=checkbox]){height:46px;font-size:16px;margin-top:7px;border-radius:8px}
.eacontest-banner .eacontest-consent{font-size:12px!important;line-height:1.6}
.eacontest-banner .eacontest-button{font-size:16px;padding:14px 18px;background:#ec3565}
.eacontest-banner .eacontest-button:hover{background:#d72554}
.eacontest-banner .eacontest-next{padding:25px;background:#f0f6fa;border:1px solid #e1edf4;border-radius:14px;font-size:16px}
.eacontest-banner .eacontest-next strong{display:block;font-size:20px;line-height:1.3}
.eacontest-banner .eacontest-next b{font-size:26px;line-height:1.3;color:#186894;margin:14px 0 17px;letter-spacing:-.4px}
.eacontest-banner .eacontest-next p{font-size:16px;line-height:1.65}
.eacontest-banner .eacontest-report{font-size:12px}
@media(max-width:1000px){.eacontest-banner .eacontest-visual{padding:30px 28px}.eacontest-banner .eacontest-has-image{padding-bottom:190px}.eacontest-banner .eacontest-panel{padding:34px 28px}.eacontest-banner h2{font-size:36px}.eacontest-banner h3{font-size:27px}.eacontest-banner .eacontest-stages small{font-size:16px}.eacontest-banner .eacontest-next{padding:20px}.eacontest-banner .eacontest-next b{font-size:23px}}
@media(max-width:991px){section.eacontest-banner{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:16px}.eacontest-banner .eacontest-visual{padding:27px 24px}.eacontest-banner .eacontest-has-image{min-height:650px;padding-bottom:190px}.eacontest-banner .eacontest-image{object-position:55% bottom}.eacontest-banner .eacontest-has-image::after{background:linear-gradient(180deg,rgba(232,240,245,.98) 0%,rgba(232,240,245,.96) 35%,rgba(232,240,245,.91) 59%,rgba(232,240,245,.60) 75%,rgba(232,240,245,.04) 100%)}.eacontest-banner .eacontest-panel{padding:29px 24px 32px}.eacontest-banner h3{font-size:28px}.eacontest-banner .eacontest-stages small{font-size:18px}.eacontest-banner .eacontest-next b{font-size:25px}}
@media(max-width:380px){.eacontest-banner h2{font-size:32px}.eacontest-banner .eacontest-stages small{font-size:16px}.eacontest-banner .eacontest-next b{font-size:22px}}

.eacontest-banner .eacontest-button{white-space:normal;overflow-wrap:break-word}
.eacontest-banner .eacontest-panel>*{min-width:0}
.eacontest-banner h2,.eacontest-banner h3,.eacontest-banner .eacontest-next{overflow-wrap:anywhere}
.eacontest-banner .eacontest-stages li>div{min-width:0;overflow-wrap:anywhere}
/* The popup hosts the portal's core forms; it never collects credentials itself. */
.eacontest-auth-dialog{padding:0;border:1px solid #dce6ee;border-radius:20px;max-width:calc(100% - 28px);width:490px;max-height:calc(100dvh - 32px);overflow:auto;color:#203545;box-shadow:0 24px 90px #102b4350;background:#fff;font-family:Arial,sans-serif;box-sizing:border-box}
.eacontest-auth-dialog *{box-sizing:border-box}
.eacontest-auth-dialog::backdrop{background:rgba(19,38,54,.54);backdrop-filter:blur(4px)}
.eacontest-auth-wrap{padding:34px 36px 28px;position:relative}
.eacontest-auth-close{position:absolute;right:16px;top:12px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:#f0f5f8;color:#546d7e;font-size:25px;line-height:1;cursor:pointer}
.eacontest-auth-brand{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#186894;font-weight:bold;margin:0 0 19px}
.eacontest-auth-dialog h2{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:0 0 10px;color:#203545}
.eacontest-auth-sub{font-size:14px;line-height:1.6;color:#576c7b;margin:0 0 23px}
.eacontest-auth-tabs{display:flex;gap:4px;padding:4px;border-radius:10px;background:#edf3f7;margin-bottom:24px}
.eacontest-auth-tabs button{flex:1;border:0;border-radius:7px;padding:10px 6px;background:transparent;color:#576c7b;font:inherit;font-size:15px;cursor:pointer}
.eacontest-auth-tabs button[aria-pressed=true]{background:white;color:#186894;font-weight:bold;box-shadow:0 2px 6px #20354510}

.eacontest-auth-loading{font-size:13px;line-height:1.6;color:#576c7b}
.eacontest-auth-footer{font-size:12px;color:#758895;text-align:center;border-top:1px solid #e7eef3;padding-top:19px;margin:20px 0 12px}
.eacontest-auth-fallback{display:block;text-align:center;font-size:12px;color:#186894;text-decoration:underline}
.eacontest-auth-dialog button:focus-visible{outline:2px solid #1b81ae;outline-offset:3px}
body:has(.eacontest-auth-dialog[open]){overflow:hidden}
@media(max-width:540px){.eacontest-auth-wrap{padding:30px 23px 24px}.eacontest-auth-dialog{border-radius:16px;max-height:calc(100dvh - 20px);max-width:calc(100% - 20px)}.eacontest-auth-dialog h2{font-size:26px}}
/* Native in-page forms, 0.2.3. No page frame or theme wrappers. */
.eacontest-auth-content{min-width:0}.eacontest-auth-status{font-size:14px;color:#576c7b;line-height:1.6;margin:0 0 16px}.eacontest-auth-status[hidden]{display:none}.eacontest-auth-error{color:#a52240;background:#fff1f4;border-radius:8px;padding:12px 14px}
.eacontest-native-form{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;min-width:0}
.eacontest-native-form [hidden]{display:none!important}
.eacontest-native-form fieldset{border:0!important;margin:0!important;padding:0!important;min-width:0}
.eacontest-native-form .fitem,.eacontest-native-form .form-group{display:block!important;max-width:100%!important;margin:0 0 17px!important;padding:0!important;min-width:0}
.eacontest-native-form .fitem>.col-md-3,.eacontest-native-form .fitem>.col-md-9,.eacontest-native-form .fitem>.felement,.eacontest-native-form .fitem>.fitemtitle{width:100%!important;max-width:100%!important;flex:none!important;padding:0!important;margin:0!important}
.eacontest-native-form label,.eacontest-native-form .col-form-label{display:block;font-family:Arial,sans-serif!important;font-size:13px!important;font-weight:600!important;color:#354f60!important;padding:0!important;margin:0 0 7px!important;text-align:left!important}
.eacontest-native-form .eacontest-native-label.sr-only,.eacontest-native-form .eacontest-native-label{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important}
.eacontest-native-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),.eacontest-native-form select,.eacontest-native-form textarea{display:block;width:100%!important;max-width:100%!important;min-width:0!important;height:47px!important;border:1px solid #cedde7!important;border-radius:8px!important;padding:10px 12px!important;background:#fbfdfe!important;font:16px/1.5 Arial,sans-serif!important;color:#203545!important;box-sizing:border-box!important}
.eacontest-native-form textarea{height:auto!important;min-height:80px}.eacontest-native-form input:focus{outline:2px solid #1b81ae;outline-offset:2px}
.eacontest-native-form input[type=checkbox],.eacontest-native-form input[type=radio]{accent-color:#186894}
.eacontest-native-form .eacontest-native-submit,.eacontest-auth-content>.eacontest-native-submit{display:block!important;width:100%!important;background:#ec3565!important;border:0!important;border-radius:9px!important;color:#fff!important;padding:14px 18px!important;white-space:normal!important;font:700 15px/1.5 Arial,sans-serif!important;margin-top:17px!important;cursor:pointer}
.eacontest-native-submit:disabled{opacity:.6;cursor:wait}.eacontest-native-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.eacontest-native-form .eacontest-native-forgot{display:block;border:0;padding:0;background:transparent;color:#186894;font:13px Arial,sans-serif;text-decoration:underline;cursor:pointer;margin:15px 0 20px}
.eacontest-native-form .login-form-username,.eacontest-native-form .login-form-password{margin-bottom:17px}
.eacontest-native-form .invalid-feedback,.eacontest-native-form .form-control-feedback{font:12px/1.5 Arial,sans-serif;color:#a52240;white-space:normal}
.eacontest-native-form .fdescription,.eacontest-native-form .form-description,.eacontest-native-form #fitem_id_passwordpolicyinfo{font:12px/1.55 Arial,sans-serif;color:#576c7b}
.eacontest-password-wrap{position:relative;width:100%}.eacontest-native-form .eacontest-password-wrap input{padding-right:46px!important}
.eacontest-password-eye{position:absolute;right:4px;top:4px;width:39px;height:39px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#58788b;cursor:pointer}
.eacontest-native-notice h3{font:700 25px/1.3 Arial,sans-serif;margin:0 0 16px}.eacontest-native-notice p{font:14px/1.65 Arial,sans-serif;white-space:pre-line;overflow-wrap:anywhere;color:#576c7b}
.eacontest-auth-dialog .smart-captcha{width:100%;min-width:0}.eacontest-auth-dialog .eacontest-auth-content [role=alert]{overflow-wrap:anywhere}
@media(max-width:540px){.eacontest-native-pair{grid-template-columns:1fr;gap:0}}
/* Override Moodle/Bootstrap display rules only after the form layout rules. */
dialog.eacontest-auth-dialog .eacontest-native-form [hidden]{display:none!important}
