body .auth-shell.auth-login-shell{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);width:min(1080px,100%);margin:18px auto 32px;overflow:hidden;padding:0;gap:0}
body .auth-login-shell .auth-pane{min-width:0}
.auth-art-panel{position:relative;isolation:isolate;min-height:640px;overflow:hidden;background:#fff5f6}
.auth-art-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.auth-art-panel:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,248,247,.2),transparent 30%,transparent 68%,rgba(255,245,246,.92))}
.auth-art-logo{position:absolute;z-index:2;top:32px;left:50%;transform:translateX(-50%);width:min(290px,66%);height:auto;filter:drop-shadow(0 2px 8px rgba(255,255,255,.65))}
.auth-art-copy{position:absolute;z-index:2;left:32px;right:32px;bottom:38px;color:#873b54;text-align:center}
body .auth-art-copy .auth-art-heading{font:400 38px/1.12 var(--font-display);max-width:340px;margin:0 auto 14px;color:inherit}
body .auth-art-copy .auth-art-caption{font-size:13px;line-height:1.6;margin:0;color:inherit}
@media(max-width:950px){body .auth-shell.auth-login-shell{width:min(560px,100%);grid-template-columns:minmax(0,1fr)}.auth-art-panel{min-height:210px}.auth-art-image{inset:0 0 0 auto;width:55%;object-fit:contain;object-position:center}.auth-art-logo{top:24px;left:24px;transform:none;width:165px}.auth-art-copy{left:24px;right:auto;bottom:24px;text-align:left;width:45%}body .auth-art-copy .auth-art-heading{font-size:26px;max-width:200px;margin:0}body .auth-art-copy .auth-art-caption{display:none}.auth-art-panel:after{background:linear-gradient(90deg,#fff5f6 35%,transparent 66%)}}
@media(max-width:600px){.auth-art-panel{min-height:180px}.auth-art-logo{width:150px;top:14px}.auth-art-copy{bottom:18px}body .auth-art-copy .auth-art-heading{font-size:24px;max-width:180px}}
body .auth-login-shell .auth-pane{padding:32px}
body .auth-login-shell .auth-pane h1{font-family:var(--font-display);font-size:34px;line-height:1.15;margin:10px 0 12px}
body .auth-login-shell .auth-login-intro{font-size:13px;line-height:1.7;margin:0 0 24px}
body .auth-login-shell .auth-login-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
body .auth-login-shell .field{display:flex;flex-direction:column;gap:7px;margin:0;min-width:0;font-size:12px}
body .auth-login-shell input{display:block;min-width:0;width:100%;height:44px;min-height:44px;box-sizing:border-box;font-size:13px}
.auth-password-control{position:relative;min-width:0}
body .auth-password-control>input{padding-right:48px}
body .auth-password-control>.auth-password-toggle{position:absolute;top:5px;right:6px;width:auto;min-height:34px;height:34px;padding:4px 8px;border:0;border-radius:7px;background:transparent;color:var(--primary);box-shadow:none;font-size:12px}
body .auth-password-control>.auth-password-toggle:hover{background:var(--surface2)}
body .auth-password-control>.auth-password-toggle{width:34px;padding:0;background-image:url('../assets/icons/light/visualizar.png');background-position:center;background-size:23px;background-repeat:no-repeat}
body[data-theme=dark] .auth-password-control>.auth-password-toggle{background-image:url('../assets/icons/dark/visualizar.png')}
body .auth-password-control>.auth-password-toggle[aria-pressed=true]:after{content:'';position:absolute;width:24px;height:2px;background:var(--primary);left:5px;top:16px;transform:rotate(-45deg);border-radius:2px}
body .auth-password-control>.auth-password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
body .auth-login-shell .auth-login-submit{height:44px;min-height:44px;margin:0}
body .auth-login-shell .auth-login-note{box-sizing:border-box;display:flex;align-items:center;gap:12px;min-height:60px;font-size:13px;line-height:1.6;margin:0;color:var(--muted)}
body .auth-login-shell .auth-login-note:empty{display:flex;visibility:hidden}
body .auth-login-submit[aria-busy=true],body .auth-recovery-form>.primary[aria-busy=true]{display:flex;align-items:center;justify-content:center;gap:10px;opacity:1;cursor:wait}
.auth-login-spinner{position:relative;display:grid;place-items:center;box-sizing:border-box;width:28px;height:28px;flex:0 0 28px}
.auth-login-spinner:before{content:'';position:absolute;inset:0;border:2px solid currentColor;border-right-color:transparent;border-bottom-color:transparent;border-radius:50%;opacity:.8;animation:dh-loading-orbit .9s linear infinite}
.auth-login-spinner>.dh-custom-icon{width:20px;height:20px;margin:0}
@media(prefers-reduced-motion:reduce){.auth-login-spinner:before{animation:none}}
.auth-login-recovery{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
body .auth-login-shell .auth-remember{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:12px;cursor:pointer}
body .auth-login-shell .auth-remember>input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:none;cursor:pointer}
body .auth-login-shell .auth-remember>input:checked{border-color:var(--primary);background:var(--surface2) url('../assets/icons/light/confirmar.png') center/16px 16px no-repeat}
body[data-theme=dark] .auth-login-shell .auth-remember>input:checked{background-image:url('../assets/icons/dark/confirmar.png')}
body .auth-login-shell .auth-remember>input:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
body .auth-login-recovery>.auth-switch-link{width:auto;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--primary);font-size:12px}
.auth-demo-access{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:12px;min-width:0}
body .auth-login-shell .auth-demo-access h2{font:600 15px/1.4 var(--font-body);margin:0}
body .auth-login-shell .auth-demo-access>p{font-size:12px;line-height:1.6;margin:0}
body .auth-demo-access>.auth-demo-submit{min-height:42px;width:100%;background:var(--surface);border:1px solid var(--primary);color:var(--primary);box-shadow:none;font-weight:600;font-size:13px}
body .auth-demo-access>.auth-demo-submit:hover{background:var(--surface2)}
body .auth-login-shell .auth-switch{margin:22px 0 0;padding-top:18px;font-size:12px}
@media(max-width:600px){body .auth-login-shell .auth-pane{padding:24px}body .auth-login-shell .auth-pane h1{font-size:30px}}
body .auth-login-shell.auth-signup-shell .auth-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;align-items:start}
body .auth-signup-shell .auth-signup-email,body .auth-signup-shell .auth-terms-choice,body .auth-signup-shell .auth-signup-submit,body .auth-signup-shell .auth-signup-note{grid-column:1/-1}
/* Keep field guidance in the layout so it cannot cover another input. */
body :is(#app,#modal-root) .auth-form .field>.auth-field-hint{position:static;display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:10px;line-height:1.4;font-weight:400;font-family:inherit;text-align:left;overflow-wrap:anywhere;pointer-events:none}
body :is(#app,#modal-root) .auth-form .field>.auth-field-hint[hidden]{display:none}
body .auth-signup-shell .auth-form>.auth-terms-choice{display:flex;align-items:flex-start;gap:10px;margin:2px 0;cursor:pointer}
body .auth-signup-shell .auth-terms-choice>span{font-size:12px;line-height:1.7;min-width:0}
body .auth-signup-shell .auth-terms-choice>input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:none;cursor:pointer}
body .auth-signup-shell .auth-terms-choice>input[type=checkbox]:checked{border-color:var(--primary);background:var(--surface2) url('../assets/icons/light/confirmar.png') center/16px 16px no-repeat}
body[data-theme=dark] .auth-signup-shell .auth-terms-choice>input[type=checkbox]:checked{background-image:url('../assets/icons/dark/confirmar.png')}
body .auth-signup-shell .auth-terms-choice>input:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
body .auth-signup-shell .auth-signup-note{margin:0;font-size:11px;line-height:1.7}
body .auth-signup-shell .auth-signup-note:empty{display:none}
body .auth-login-shell .auth-switch{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line)}
body .auth-login-shell .auth-switch>.auth-switch-link{width:auto;min-height:32px;padding:4px 6px;border:0;background:transparent;box-shadow:none;color:var(--primary);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
body .auth-signup-shell .auth-signup-submit{min-height:44px;margin:0}
@media(max-width:600px){body .auth-login-shell.auth-signup-shell .auth-form{grid-template-columns:minmax(0,1fr);gap:16px}}
body #modal-root .auth-verification-modal{width:min(440px,100%);max-width:440px}
body #modal-root .modal.auth-recovery-modal{width:min(460px,100%);max-width:460px}
body #modal-root .auth-recovery-modal .modal-context-back{display:none}
body #modal-root .auth-recovery-modal .modal-head{padding:24px}
body #modal-root .auth-recovery-modal .modal-head h2{font-size:22px;line-height:1.3}
body #modal-root .auth-recovery-modal .modal-content{padding:24px}
body #modal-root .auth-recovery-modal .auth-form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:0}
body #modal-root .auth-recovery-modal .field{min-width:0;margin:0}
body #modal-root .auth-recovery-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;margin:0;padding:0;border:0}
body #modal-root .auth-recovery-fields[hidden]{display:none!important}
body #modal-root .auth-recovery-modal [role=status]:empty{display:none}
body #modal-root .auth-recovery-modal .auth-form>.primary{width:100%;min-height:44px}
body #modal-root .auth-code-slots.auth-code-slots--separated{grid-template-columns:repeat(5,minmax(0,1fr) 8px) minmax(0,1fr);gap:4px;align-items:center}
body #modal-root .auth-code-slots--separated>.auth-code-separator{text-align:center;color:var(--muted);font-size:14px}
body #modal-root .auth-code-slots--separated>input{height:48px;min-height:48px;font-size:20px}
body #modal-root .auth-code-slots--separated>input::placeholder{color:var(--line-strong);opacity:1}
@media(max-width:450px){body #modal-root .auth-recovery-modal .modal-head,body #modal-root .auth-recovery-modal .modal-content{padding:20px}}
body #modal-root .auth-verification-modal .modal-head{padding:24px 24px 20px}
body #modal-root .auth-verification-modal .modal-head h2{font-size:22px;line-height:1.3}
body #modal-root .auth-verification-modal .modal-head .tiny{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
body #modal-root .auth-verification-modal .modal-content{padding:24px}
body #modal-root .auth-verification-form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:0}
.auth-code-group{min-width:0;margin:0;padding:0;border:0}
body #modal-root .auth-code-group legend{padding:0;margin-bottom:12px;font-size:12px}
.auth-code-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
body #modal-root .auth-code-slots>input{width:100%;min-width:0;height:54px;min-height:54px;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:22px;font-weight:600;text-align:center;box-sizing:border-box}
body #modal-root .auth-code-slots>input:focus{outline:2px solid var(--primary);outline-offset:2px}
body #modal-root .auth-code-group .auth-code-expiry{font-size:12px;line-height:1.5;margin:12px 0 0}
body #modal-root .auth-verification-form>.primary{width:100%;min-height:42px;margin:0}
body #modal-root .auth-code-status{font-size:12px;line-height:1.5;margin:0}
.auth-code-status:empty{display:none}
.auth-code-resend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:16px}
.auth-code-correction{display:flex;justify-content:center;margin-top:8px}
body #modal-root .auth-code-correction>button{width:auto;min-height:32px;padding:4px 6px;font-size:12px;border:0;background:transparent;box-shadow:none;color:var(--primary);text-decoration:underline;text-underline-offset:3px}
body #modal-root .auth-code-resend :is(span,button){font-size:12px}
body #modal-root .auth-code-resend>button{width:auto;min-height:32px;padding:4px 6px;border:0;background:transparent;box-shadow:none;color:var(--primary);text-decoration:underline;text-underline-offset:3px}
body .feedback-overlay .action-feedback.auth-code-feedback{width:min(340px,100%);padding:28px 24px 24px}
body .auth-code-feedback h2{font-size:20px;margin-bottom:10px}
body .auth-code-feedback p{font-size:13px;line-height:1.6}
body .auth-code-feedback .feedback-symbol{width:36px;height:36px;font-size:21px;margin-bottom:14px}
body .feedback-overlay .auth-code-feedback .feedback-confirm{width:auto;min-width:88px;height:38px;border-radius:10px;background:var(--primary);color:#fff;font-size:13px;font-weight:600}
@media(max-width:400px){body #modal-root .auth-verification-modal .modal-head{padding:20px 18px 16px}body #modal-root .auth-verification-modal .modal-content{padding:20px 18px}.auth-code-slots{gap:6px}body #modal-root .auth-code-slots>input{height:46px;min-height:46px;font-size:20px}}
body .auth-login-shell :is(h1,.auth-login-intro,.auth-field-hint,.auth-remember,.auth-switch,.auth-art-heading,.auth-art-caption){overflow-wrap:anywhere}
body .auth-login-shell :is(.auth-login-submit,.auth-signup-submit,.auth-switch-link){white-space:normal;min-height:44px;line-height:1.5}
body .auth-login-recovery{flex-wrap:wrap;gap:12px;align-items:center}
body .auth-remember{min-width:0;white-space:normal}
@media(max-width:950px){body .auth-login-shell .auth-art-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,.7fr);align-items:center;gap:12px;padding:24px;min-height:210px}body .auth-login-shell .auth-art-copy{position:relative;grid-column:1;left:auto;right:auto;bottom:auto;width:auto}body .auth-login-shell .auth-art-copy .auth-art-caption{display:block;margin-top:12px}body .auth-login-shell .auth-art-image{width:43%;height:100%;object-fit:contain}}
body .auth-login-shell .auth-pane[hidden]{display:none!important}
body .auth-recovery-pane .auth-recovery-form,body .auth-recovery-pane .auth-recovery-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;margin:0;padding:0;border:0}
body .auth-recovery-pane .auth-recovery-fields[hidden]{display:none!important}
body .auth-recovery-pane .auth-recovery-back{display:block;width:auto;margin:0 0 20px;padding:4px 0;min-height:44px;background:transparent;border:0;box-shadow:none;color:var(--primary);white-space:normal;text-align:start}
body .auth-recovery-pane .auth-recovery-form>.primary{width:100%;min-height:44px;white-space:normal}
body .auth-recovery-pane .auth-code-slots>input{min-width:0;width:100%;height:48px;min-height:48px;padding:0;text-align:center;font-size:20px}
body .auth-recovery-pane .auth-code-expiry{font-size:12px;margin:12px 0 0}
body .auth-recovery-pane .auth-code-group legend{padding:0;margin-bottom:12px;font-size:12px}
body .auth-recovery-pane [role=status]:empty{display:none}
/* Recovery fields use the whole panel; code cells share the same styled surface. */
body .auth-recovery-form .field,body .auth-recovery-form .auth-password-control{width:100%;min-width:0;box-sizing:border-box}
body .auth-recovery-form .field{display:flex;flex-direction:column;align-items:stretch;gap:8px}
body .auth-recovery-form .auth-password-control>input,body .auth-recovery-form .field>input{width:100%;max-width:none;min-width:0;box-sizing:border-box;height:48px;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:14px var(--font-body)}
body .auth-recovery-form .field>input{padding:12px 14px}
body .auth-recovery-form .auth-password-control>input{padding:12px 48px 12px 14px}
body .auth-recovery-form .auth-password-toggle{top:7px}
body .auth-recovery-form .auth-code-group{width:100%;box-sizing:border-box}
body .auth-recovery-form .auth-code-slots{width:100%;max-width:420px;gap:8px}
body .auth-recovery-form .auth-code-slots>input{width:100%;min-width:0;height:52px;min-height:52px;padding:0;margin:0;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--ink);font:600 22px/1 var(--font-body);text-align:center;box-sizing:border-box;caret-color:var(--primary);transition:border-color .15s,background-color .15s}
body .auth-recovery-form .auth-code-slots>input:focus{outline:2px solid var(--primary);outline-offset:2px;border-color:var(--primary);background:var(--surface)}
body .auth-recovery-form .auth-code-slots>input[aria-invalid=true]{border-color:var(--primary)}
.auth-password-rules{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;list-style:none;margin:4px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--muted);font-size:12px;line-height:1.5}
.auth-password-rules>li{display:flex;align-items:baseline;gap:8px;min-width:0;overflow-wrap:anywhere}
.auth-password-rules>li:before{content:'○';flex:0 0 14px;text-align:center}
.auth-password-rules>li.is-met:before{content:'✓'}
.auth-password-rules>li.is-met,.auth-password-match.is-met{color:var(--primary);font-weight:600}
.auth-password-match{font-size:12px;line-height:1.5;color:var(--muted);margin:2px 0 0}
.auth-password-match[hidden]{display:none}
body .auth-signup-shell .auth-password-guidance{grid-column:1/-1;margin:-6px 0 0;padding:0;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:400;line-height:1.7}
body .auth-signup-shell .auth-signup-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}
body .auth-verification-notice{display:flex;align-items:center;gap:16px;margin:0 0 32px;padding:20px 24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(110deg,#fff2f5,var(--surface) 75%);color:var(--ink)}
.auth-verification-notice-art{width:48px;height:48px;flex:0 0 48px;pointer-events:none}
.auth-verification-notice-art img{display:block;width:100%;height:100%;object-fit:contain}
.auth-verification-notice-art .auth-verification-notice-icon-dark{display:none}
.auth-verification-notice-copy{display:grid;gap:5px;flex:1;min-width:0}
.auth-verification-notice-title{font:600 16px/1.4 var(--font-body);color:var(--ink)}
.auth-verification-notice-copy>span{font-size:13px;line-height:1.6;color:var(--muted)}
body .auth-verification-notice>.btn{flex-shrink:0;margin:0;min-height:42px;padding:10px 18px;white-space:normal;text-align:center}
body[data-theme=dark] .auth-verification-notice{background:linear-gradient(110deg,#35212e,var(--surface) 75%)}
body[data-theme=dark] .auth-verification-notice-icon-light{display:none}
body[data-theme=dark] .auth-verification-notice-icon-dark{display:block}
@media(max-width:600px){body .auth-verification-notice{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px 16px;margin-bottom:24px}.auth-verification-notice-art{width:36px;height:36px;align-self:start}.auth-verification-notice-title{font-size:15px}body .auth-verification-notice>.btn{grid-column:2;justify-self:start;max-width:100%}}
@media(max-width:400px){body .auth-recovery-form .auth-code-slots{gap:6px}body .auth-recovery-form .auth-code-slots>input{height:48px;min-height:48px}}

/* Approved key / portal artwork, edge to edge with the original copy. */
body .auth-shell:not(.muse-invitation-shell) .auth-approved-art { display:flex; flex-direction:column; min-height:640px; background:#f5e9e3; }
body .auth-shell:not(.muse-invitation-shell) .auth-approved-art:after { content:none; }
.auth-art-canvas { position:relative; flex:1; min-height:640px; }
body .auth-approved-art .auth-art-image { inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 20%; }
body .auth-approved-art .auth-art-image--dark { display:none; }
body .auth-approved-art .auth-art-copy { position:absolute; inset:auto 30px 34px; width:auto; text-align:center; color:#943e5d; }
body .auth-approved-art .auth-art-heading { font-size:36px; max-width:360px; margin:0 auto 12px; }
body .auth-approved-art .auth-art-caption { display:block; max-width:330px; margin:0 auto; font-size:13px; color:#805a6c; }
body[data-theme=dark] .auth-shell:not(.muse-invitation-shell) .auth-approved-art { background:#21131f; }
body[data-theme=dark] .auth-approved-art .auth-art-image--light { display:none; }
body[data-theme=dark] .auth-approved-art .auth-art-image--dark { display:block; }
body[data-theme=dark] .auth-approved-art .auth-art-copy { color:#f4dce6; }
body[data-theme=dark] .auth-approved-art .auth-art-caption { color:#d9b9c9; }
@media(max-width:950px) {
 body .auth-shell:not(.muse-invitation-shell) .auth-approved-art { min-height:260px; padding:0; gap:0; align-items:stretch; }
 body .auth-approved-art .auth-art-canvas { position:static; min-height:260px; }
 body .auth-approved-art .auth-art-image { inset:0 0 0 auto; width:52%; height:260px; object-position:center top; }
 body .auth-approved-art .auth-art-copy { inset:30px auto auto 20px; width:calc(48% - 32px); text-align:left; }
 body .auth-approved-art .auth-art-heading { font-size:22px; margin:0 0 10px; }
 body .auth-approved-art .auth-art-caption { font-size:11px; line-height:1.5; margin:0; }
}
