@import url("vendor/fontawesome/css/fontawesome.min.css");
@import url("vendor/fontawesome/css/regular.min.css");
@import url("vendor/fontawesome/css/solid.min.css");
.account-nav{display:flex;align-items:center;gap:8px}.account-nav .button{min-height:40px}.auth-page{background:var(--brand-paper)}.auth-wrap{width:min(1120px,calc(100% - 36px));margin:32px auto 52px}.auth-card{display:grid;grid-template-columns:1.02fr .98fr;min-height:620px;overflow:hidden;border:1px solid #e4e7ee;border-radius:28px;background:#fff;box-shadow:0 18px 55px rgba(30,58,138,.12)}.auth-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:600px;padding:clamp(28px,5vw,60px);overflow:hidden;background:var(--brand-paper)}.auth-art:before,.auth-art:after{position:absolute;content:"";border-radius:50%;pointer-events:none}.auth-art:before{width:310px;height:310px;top:-170px;left:-120px;background:#fbbf2444}.auth-art:after{width:240px;height:240px;right:-120px;bottom:-110px;background:#84cc1633}.art-copy{position:relative;z-index:1;max-width:430px}.art-copy h1{margin:0 0 14px;color:var(--brand-dark);font-size:clamp(38px,5vw,58px);line-height:1.06;letter-spacing:-.04em}.art-copy h1 span{color:var(--brand-orange)}.art-copy>p:last-child{max-width:360px;color:#334155;line-height:1.65}.auth-art img{position:relative;z-index:1;display:block;width:min(100%,550px);height:auto;max-height:340px;object-fit:contain;align-self:center;transform-origin:center bottom;animation:float-in 600ms ease-out both,soft-float 5s ease-in-out 700ms infinite}.art-spark{position:absolute;color:var(--brand-orange);font-size:28px;animation:spark 3.6s ease-in-out infinite}.spark-one{right:15%;top:32%;color:var(--brand-yellow)}.spark-two{left:13%;bottom:26%;color:var(--brand-primary);animation-delay:1s}.auth-form-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,64px)}.auth-back{align-self:flex-start;margin-bottom:40px;color:var(--brand-dark);font-size:14px;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}.auth-heading{margin-bottom:26px}.auth-heading h2{margin:0 0 8px;color:var(--brand-dark);font-size:32px;line-height:1.15;letter-spacing:-.03em}.auth-heading>p:last-child{margin:0;color:#475569;line-height:1.6}.auth-form{display:grid;gap:15px}.auth-form .field{margin:0}.label-line{display:flex;align-items:center;justify-content:space-between}.inline-action{padding:2px 0;border:0;background:none;color:var(--brand-dark);font:700 13px var(--brand-font);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.forgot-row{margin:-8px 0 0;text-align:right}.auth-submit{width:100%}.auth-status{min-height:24px;margin:0;color:var(--brand-dark);font-size:14px;line-height:1.55}.auth-status:not(:empty){padding:10px 12px;border-radius:10px;background:#eef3ff}.auth-help{margin:22px 0 0;text-align:center;color:#475569;font-size:14px}.auth-help a{color:var(--brand-dark);font-weight:800}.auth-disclaimer{margin:20px 0 0;padding:12px 14px;font-size:12px}.auth-disclaimer strong{display:inline}.auth-motion-note{max-width:740px;margin:18px auto;color:#475569;text-align:center;font-size:13px;line-height:1.5}.auth-page:has(input:focus) .auth-art img{animation-play-state:running}.auth-page:has(#email:focus) .auth-art img{transform:translateY(-3px) rotate(-1deg)}.auth-page:has(#password:focus) .auth-art img{transform:translateY(0) rotate(1deg)}
.account-shell{width:min(1100px,calc(100% - 36px))}.admin-welcome{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:center;margin:26px 0}.admin-welcome h1{margin:0 0 10px;color:var(--brand-dark);font-size:clamp(34px,5vw,48px);letter-spacing:-.035em}.admin-welcome p:last-child{margin:0;color:#475569;line-height:1.6}.admin-welcome img{display:block;width:100%;height:180px;object-fit:contain}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.metric-card{display:grid;gap:9px;padding:20px;border:1px solid #e4e7ee;border-radius:18px;background:#fff}.metric-card span{color:#475569;font-size:14px;font-weight:650}.metric-card strong{color:var(--brand-dark);font-size:32px}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;text-align:left}.admin-table th,.admin-table td{padding:13px 10px;border-bottom:1px solid #e4e7ee;vertical-align:middle}.admin-table th{color:var(--brand-dark);font-size:13px}.admin-table td{color:#334155;font-size:14px}.admin-table .button{min-height:38px;padding:7px 12px;font-size:12px}.status-pending{color:#7c4a03;background:#fff6d8}.status-enabled{color:#365314;background:#eef5d8}.activation-steps{padding-left:24px;color:#334155;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes float-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes soft-float{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes spark{0%,100%{opacity:.35;transform:scale(.86) rotate(0)}50%{opacity:1;transform:scale(1.12) rotate(18deg)}}
@media(max-width:800px){.auth-card{grid-template-columns:1fr}.auth-art{min-height:380px;padding:30px}.auth-art img{max-height:200px;align-self:flex-end;width:58%}.auth-form-panel{padding:34px}.auth-back{margin-bottom:28px}.admin-welcome{grid-template-columns:1fr 190px}.admin-welcome img{height:145px}}
@media(max-width:700px){.site-header{gap:12px}.account-nav{gap:6px}.account-nav .account-email{max-width:150px}.prototype-tag{padding-inline:10px;font-size:12px}}
@media(max-width:620px){.account-nav .button.text,.account-nav .account-email{display:none}}
@media(max-width:560px){.auth-wrap{width:calc(100% - 22px);margin-top:14px}.auth-card{border-radius:20px}.auth-art{min-height:310px;padding:24px}.auth-art img{width:70%;max-height:150px}.auth-form-panel{padding:26px 22px}.auth-heading h2{font-size:28px}.account-nav .button.text,.account-nav .account-email{display:none}.admin-welcome{grid-template-columns:1fr}.admin-welcome img{justify-self:end;width:190px;height:110px;margin-top:-15px}.metric-grid{grid-template-columns:1fr}.admin-table{min-width:700px}}
@media(prefers-reduced-motion:reduce){.auth-art img,.art-spark{animation:none!important}.auth-art img{transform:none!important}}
.profile-overview{padding:22px 24px}.profile-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.profile-heading h2{margin:0 0 6px;color:var(--brand-dark);font-size:22px}.profile-heading p:last-child{margin:0;color:#475569;line-height:1.5}.profile-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 0}.profile-facts div{padding:12px 14px;border-radius:12px;background:#f8fafc}.profile-facts dt{color:#475569;font-size:12px;font-weight:750}.profile-facts dd{margin:5px 0 0;color:var(--brand-dark);font-size:14px;font-weight:750;line-height:1.45}.admin-request-form{grid-template-columns:1fr 1.15fr 1fr auto;align-items:end}.admin-request-form .button{min-height:48px;white-space:nowrap}
@media(max-width:900px){.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-request-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.profile-heading{flex-direction:column}.profile-facts,.admin-request-form{grid-template-columns:1fr}.admin-request-form .button{width:100%}}
.account-nav [hidden],.auth-form [hidden],#accountSwitch[hidden]{display:none!important}.account-email{max-width:220px;overflow:hidden;color:var(--brand-dark);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.auth-status[data-state="error"]{color:#8a1c1c;background:#fff0ed}#recoveryStatus:not(:empty){margin-top:16px}
.profile-avatar-button{display:grid;width:42px;height:42px;place-items:center;overflow:hidden;border:2px solid var(--brand-primary);border-radius:50%;background:#fff;color:var(--brand-dark);font-size:21px;text-decoration:none}.profile-avatar-button img{width:100%;height:100%;object-fit:cover}.profile-settings{margin:18px 0;padding:22px 24px}.profile-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.profile-edit-form .button{grid-column:1/-1;justify-self:start}.password-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;margin-top:26px;padding-top:22px;border-top:1px solid #e2e8f0}.password-edit-form h3{grid-column:1/-1;margin:0;color:var(--brand-dark)}.password-edit-form .button{justify-self:start}@media(max-width:620px){.profile-edit-form,.password-edit-form{grid-template-columns:1fr}.password-edit-form h3{grid-column:auto}.profile-settings{padding:18px}}
.field-hint{display:block;margin-top:6px;color:#475569;font-size:12px;line-height:1.45}
.auth-admin-entry{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;padding-top:18px;border-top:1px solid #e2e8f0}.auth-admin-entry a{text-decoration-thickness:1px;text-underline-offset:4px}
.password-input{position:relative;display:flex;align-items:center}.password-input input{width:100%;padding-right:58px}.password-toggle{position:absolute;right:7px;display:grid;width:38px;height:38px;place-items:center;border:1px solid #d7e2fb;border-radius:10px;background:#f4f7ff;color:var(--brand-primary);font-size:16px;line-height:1;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease,transform 160ms ease}.password-toggle:hover{border-color:#9db7f4;background:#eaf0ff}.password-toggle:active{transform:scale(.96)}.password-toggle:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}.password-guidance{margin-top:10px;padding:13px 14px;border:1px solid #dce6fb;border-radius:14px;background:#f7f9ff}.password-guidance-title{margin:0 0 9px;color:var(--brand-dark);font-size:12px;font-weight:800}.password-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0;padding:0;list-style:none;color:#64748b;font-size:12px;line-height:1.4}.password-rules li{display:flex;align-items:center;gap:7px;min-width:0}.password-rules li i{width:15px;color:#94a3b8;text-align:center;flex:none}.password-rules li[data-valid=true]{color:#166534}.password-rules li[data-valid=true] i{color:#22a447}.password-match{display:flex;align-items:center;gap:8px;min-height:34px;margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#f8fafc;color:#64748b;font-size:12px;line-height:1.4}.password-match i{width:15px;text-align:center;flex:none}.password-match[data-state=match]{background:#eef9f0;color:#166534}.password-match[data-state=mismatch]{background:#fff1ef;color:#a12622}
@media(max-width:560px){.password-rules{grid-template-columns:1fr}}
.confirm-payment{display:flex;gap:10px;align-items:flex-start;color:#334155;font-size:14px;line-height:1.5}.confirm-payment input{width:20px;height:20px;margin-top:1px;accent-color:#1e3a8a}.invite-result{margin-top:20px;padding:18px;border:1px solid #bfd4ff;border-radius:16px;background:#f2f6ff}.invite-result[hidden],.teacher-request-panel[hidden],#registrationForm[hidden],#demoDashboardLink[hidden]{display:none!important}.invite-result p{overflow-wrap:anywhere}.invite-result .button{margin:4px 8px 4px 0}.registration-panel{max-width:780px;margin:auto;padding:clamp(22px,5vw,42px)}.registration-panel h1{margin:0 0 10px}.invite-facts{grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0}.profile-choice{display:grid;gap:10px;padding:16px;border:1px solid #cbd5e1;border-radius:14px}.profile-choice legend{padding:0 6px;color:var(--brand-dark);font-weight:800}.profile-choice label{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer}.profile-choice input{width:20px;height:20px;margin:1px 0 0;accent-color:#1e3a8a;flex:none}.profile-choice label span{display:grid;gap:4px}.profile-choice small{color:#475569;line-height:1.45}.teacher-request-panel{margin:18px 0}.teacher-request-panel>p:not(.auth-status){max-width:760px;color:#334155;line-height:1.55}.teacher-request-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.teacher-request-form textarea{width:100%;min-height:100px;padding:12px 14px;border:1px solid #94a3b8;border-radius:12px;background:#fff;color:#172554;font:inherit;line-height:1.5}.teacher-request-form textarea:focus{outline:3px solid #fbbf24;outline-offset:2px}
@media(max-width:700px){.invite-facts{grid-template-columns:1fr}.teacher-request-form{grid-template-columns:1fr}.teacher-request-form .button{width:100%}}
#returnToAdmin[hidden]{display:none!important}

/* Menú de cuenta y retorno visible desde los ajustes. */
.account-menu-wrap { position: relative; }
.account-menu-toggle { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #b9c8e7; border-radius: 50%; background: #fff; color: var(--brand-dark); cursor: pointer; }
.account-menu-toggle:hover, .account-menu-toggle[aria-expanded="true"] { border-color: var(--brand-primary); background: #eef3ff; }
.hamburger-icon { display: grid; gap: 4px; }
.hamburger-icon i { display: block; width: 18px; height: 2px; border-radius: 999px; background: currentColor; }
.account-menu { position: absolute; top: calc(100% + 10px); right: 0; z-index: 20; display: grid; min-width: 210px; gap: 4px; padding: 8px; border: 1px solid #dce3f2; border-radius: 14px; background: #fff; box-shadow: 0 16px 35px rgba(30, 58, 138, .16); }
.account-menu a, .account-menu button { display: flex; align-items: center; min-height: 40px; padding: 9px 11px; border: 0; border-radius: 9px; background: transparent; color: var(--brand-dark); font: 700 14px var(--brand-font); text-align: left; text-decoration: none; cursor: pointer; }
.account-menu a:hover, .account-menu button:hover, .account-menu a:focus-visible, .account-menu button:focus-visible { background: #eef3ff; outline: none; }
.account-menu .prototype-tag { justify-self: start; margin: 4px 3px 2px; }
.account-back-link { display: inline-flex; margin: 0 0 18px; color: var(--brand-dark); font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 620px) { .account-menu { min-width: 190px; } }
