/* Login and registration only: shared SANNI identity, no authentication changes. */
@font-face { font-family:"Sanni Auth Manrope"; font-style:normal; font-weight:500 800; font-display:swap; src:url("../fonts/manrope-auth-latin.woff2") format("woff2"); }
body.account-refinement { --account-primary:var(--theme-primary-color,#0f7c59); --account-ink:#0f172a; --account-border:#b8cbc3; background:#f2f7f5; color:var(--account-ink); }
body.account-refinement .auth-page { display:grid !important; place-items:center; padding:32px 0 !important; min-height:100dvh !important; background:#f2f7f5 !important; font-family:"Sanni Auth Manrope",Manrope,"Segoe UI",sans-serif !important; font-size:14px; font-weight:500; }
body.account-refinement .auth-page .auth-grid { width:min(1180px,calc(100% - 48px)) !important; max-width:1180px !important; min-height:560px !important; max-height:none !important; height:auto !important; display:grid !important; grid-template-columns:minmax(0,.95fr) minmax(0,1fr) !important; align-items:stretch !important; gap:0 !important; border:1px solid var(--account-border) !important; border-radius:24px !important; background:#f7faf9 !important; box-shadow:0 18px 48px #0b382512 !important; overflow:hidden !important; }
body.account-refinement .auth-page .auth-card { order:1 !important; display:grid !important; align-content:center !important; min-width:0; min-height:0 !important; max-height:none !important; height:auto !important; overflow:visible !important; padding:clamp(24px,3.5vw,46px) !important; border:0 !important; border-radius:0 !important; background:#f7faf9 !important; box-shadow:none !important; }
body.account-refinement .auth-page .auth-copy { order:2 !important; position:relative !important; top:auto; display:grid !important; align-self:stretch !important; align-content:center !important; min-width:0; min-height:0 !important; height:auto !important; max-height:none !important; padding:clamp(30px,4.5vw,64px) !important; gap:18px !important; border:0 !important; border-radius:0 !important; background:linear-gradient(145deg,#07543e,var(--account-primary)) !important; color:#fff !important; box-shadow:none !important; overflow:hidden !important; }
body.account-refinement .auth-page .auth-card::before, body.account-refinement .auth-page .auth-login-title::after { display:none !important; }
body.account-refinement .auth-page .auth-copy::before, body.account-refinement .auth-page .auth-copy::after { content:"" !important; display:block !important; position:absolute !important; border-radius:50% !important; border:28px solid #c1f0db26 !important; background:transparent !important; pointer-events:none; }
body.account-refinement .auth-page .auth-copy::before { width:270px !important; height:270px !important; top:-105px !important; right:-90px !important; }
body.account-refinement .auth-page .auth-copy::after { width:310px !important; height:310px !important; left:-190px !important; bottom:-155px !important; }
body.account-refinement .auth-copy > * { position:relative; z-index:1; }
body.account-refinement .auth-page .section-kicker { color:#c5f3df !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.03em !important; text-transform:none !important; }
body.account-refinement .auth-page .section-title { max-width:24ch !important; margin:0 !important; color:#fff !important; font-family:inherit !important; font-size:clamp(28px,3vw,38px) !important; font-weight:600 !important; line-height:1.22 !important; letter-spacing:-.025em !important; }
body.account-refinement .auth-page .section-title span { color:#c5f3df !important; font-size:inherit !important; font-weight:650 !important; }
body.account-refinement .auth-page .section-copy { max-width:48ch !important; color:#f1fcf7 !important; opacity:1 !important; font-size:14px !important; font-weight:500 !important; line-height:1.65 !important; margin:0 !important; }
body.account-refinement .auth-page .auth-benefits { gap:10px !important; margin-top:4px !important; }
body.account-refinement .auth-page .auth-benefit { min-height:56px !important; padding:12px 14px !important; gap:12px !important; border:1px solid #b8e3d060 !important; border-radius:12px !important; background:#ffffff0a !important; }
body.account-refinement .auth-page .auth-benefit span:last-child { color:#fff !important; font-size:13px !important; font-weight:500 !important; line-height:1.5 !important; }
body.account-refinement .auth-page .auth-benefit-icon { width:26px !important; height:26px !important; color:#c5f3df !important; }
body.account-refinement .auth-page .auth-benefit-icon svg { width:24px !important; height:24px !important; }
body.account-refinement .auth-brand-header { display:flex; align-items:center; gap:12px; margin-bottom:22px; color:#123e58; font-size:19px; font-weight:700; line-height:1.3; }
body.account-refinement .auth-brand-logo { display:block; flex:0 0 64px; width:64px; height:64px; object-fit:contain; }
body.account-refinement .auth-brand-header small { display:block; margin-top:5px; padding-top:5px; border-top:1px solid var(--account-primary); color:#22634d; font-size:11.5px; font-weight:500; letter-spacing:.055em; }
body.account-refinement .auth-page .auth-back-link { display:inline-flex; width:auto; margin:0 0 16px !important; color:#334155 !important; font-size:13px !important; }
body.account-refinement .auth-page .auth-login-title { width:auto !important; margin:0 0 18px !important; color:var(--account-ink) !important; font-family:inherit !important; font-size:24px !important; line-height:1.35 !important; font-weight:650 !important; letter-spacing:-.015em !important; text-align:left !important; }
body.account-refinement .auth-page .auth-register-intro { width:100% !important; margin:0 0 18px !important; color:#334155 !important; text-align:left !important; font-size:14px !important; line-height:1.6 !important; }
body.account-refinement .auth-page .form-stack { width:100% !important; margin:0 !important; gap:14px !important; }
body.account-refinement .auth-page .field { min-width:0; }
body.account-refinement .auth-page .field label { display:block; color:var(--account-ink) !important; font-size:13px !important; font-weight:600 !important; line-height:1.45; text-transform:none !important; letter-spacing:0 !important; margin-bottom:6px !important; }
body.account-refinement .auth-page .auth-card .field :is(input,select,textarea), body.account-refinement .sanni-select-trigger.sanni-select-plain { width:100%; min-height:44px !important; height:auto; padding:10px 12px !important; border:1px solid var(--account-border) !important; border-radius:10px !important; background:#fbfdfc !important; color:var(--account-ink) !important; font-family:inherit !important; font-size:14px !important; font-weight:500 !important; line-height:1.5; box-shadow:none !important; }
body.account-refinement .auth-page .auth-card .field :is(input,select) { height:44px !important; }
body.account-refinement .auth-page .field input::placeholder { color:#64748b !important; opacity:1 !important; font-weight:500 !important; }
body.account-refinement .auth-page .field input:focus, body.account-refinement .auth-page .field select:focus { border-color:var(--account-primary) !important; outline:2px solid #0f7c5926 !important; outline-offset:1px; }
body.account-refinement .auth-page .field-leading-icon { display:none !important; }
body.account-refinement .auth-page .auth-card .field-password input { padding-right:44px !important; }
body.account-refinement .auth-page .field-trailing-action { top:auto !important; bottom:6px !important; right:6px !important; width:32px !important; height:32px !important; border:1px solid #ceddd5 !important; border-radius:8px; color:var(--account-primary) !important; background:#edf4f1 !important; }
body.account-refinement .auth-page .btn-block { width:100% !important; min-height:44px !important; margin:0 !important; padding:10px 16px !important; border:1px solid var(--account-primary) !important; border-radius:999px !important; background:var(--account-primary) !important; color:#fff !important; font-family:inherit !important; font-size:14px !important; font-weight:650 !important; line-height:1.5; box-shadow:none !important; }
body.account-refinement .auth-page .btn-outline { background:#edf4f1 !important; color:#14543e !important; border-color:var(--account-border) !important; }
body.account-refinement .auth-page .btn-block:hover { filter:brightness(.95); }
body.account-refinement .auth-page :is(button,a):focus-visible { outline:2px solid var(--account-primary); outline-offset:3px; }
body.account-refinement .auth-page .auth-footnote { width:100% !important; margin:14px 0 0 !important; color:#334155 !important; font-size:13px !important; font-weight:500 !important; line-height:1.6; text-align:left !important; }
body.account-refinement .auth-page .auth-footnote + .auth-footnote { margin-top:8px !important; }
body.account-refinement .auth-page :is(.auth-footnote a,.register-change-document) { color:var(--account-primary) !important; font-weight:600 !important; }
body.account-refinement .auth-page .auth-payment-note { display:none !important; }
body.account-refinement .auth-page .auth-legal-notice { width:100%; margin:18px 0 0; padding:12px; color:#334155; font-size:12px; font-weight:500; line-height:1.65; background:#edf4f1; border-color:var(--account-border); }
body.account-refinement .auth-page .auth-legal-links { width:100%; margin:16px 0 0; padding-top:12px; justify-content:flex-start; font-size:12px; font-weight:500; gap:8px 14px; }
body.account-refinement .auth-page .auth-legal-links a { color:#14543e; }
body.account-refinement .auth-page .register-mode-switch { width:100% !important; gap:10px !important; margin:0 0 18px !important; }
body.account-refinement .auth-page .register-mode-option { min-height:44px !important; padding:10px !important; border:1px solid var(--account-border) !important; border-radius:999px !important; background:#f7faf9 !important; color:#14543e !important; font-family:inherit !important; font-size:14px !important; font-weight:650 !important; box-shadow:none !important; }
body.account-refinement .auth-page .register-mode-option.is-active { background:var(--account-primary) !important; color:#fff !important; border-color:var(--account-primary) !important; box-shadow:none !important; }
body.account-refinement .auth-page .register-complete-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px !important; }
body.account-refinement .auth-page .register-complete-form > :is(.register-section-kicker,.register-business-field,.form-two-cols,.register-checkboxes,.btn-block), body.account-refinement .register-complete-form > .field:has(#nombres) { grid-column:1/-1; }
body.account-refinement .auth-page .form-two-cols { gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
body.account-refinement .auth-page .register-section-kicker { margin:6px 0 0 !important; padding-bottom:8px; border-bottom:1px solid #d6e3de; color:#14543e !important; font-size:13px !important; font-weight:650 !important; text-transform:none !important; letter-spacing:0 !important; }
body.account-refinement .auth-page .register-check { align-items:flex-start !important; gap:10px !important; font-size:13px !important; font-weight:500 !important; line-height:1.65 !important; color:var(--account-ink) !important; }
body.account-refinement .auth-page .register-check input { flex:0 0 17px; width:17px !important; height:17px !important; margin-top:3px !important; accent-color:var(--account-primary) !important; }
body.account-refinement .auth-page .register-checkboxes { gap:12px !important; margin-top:4px !important; }
body.account-refinement .auth-page .register-check a { color:#14543e; text-decoration:underline; text-underline-offset:2px; }
body.account-refinement .auth-page :is(.register-check small,.field small) { color:#334155; font-size:12px; line-height:1.6; }
body.account-refinement .auth-page .register-document-summary { width:100% !important; margin:0 0 18px !important; padding:10px 12px; border:1px solid var(--account-border); background:#edf4f1; border-radius:10px; color:var(--account-ink) !important; font-size:13px !important; }
body.account-refinement .auth-page .register-document-dot { width:8px !important; height:8px !important; background:var(--account-primary) !important; box-shadow:none !important; }
body.account-refinement .auth-page .register-change-document { margin:0 0 12px !important; font-size:13px !important; }
body.account-refinement .auth-page .register-inline-status { padding:12px !important; font-size:13px !important; }
body.account-refinement .sanni-select { --ss-primary:var(--account-primary); --ss-text:#0f172a; --ss-border:var(--account-border); --ss-surface:#fbfdfc; --ss-surface-soft:#edf4f1; --control-min-h:44px; }
/* Admin's global input rules are more specific; override only its flagged login. */
body.account-refinement.admin-body .auth-page .auth-card .field :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="color"]) { font-family:inherit !important; font-size:14px !important; font-weight:500 !important; color:var(--account-ink) !important; height:44px !important; min-height:44px !important; }
body.account-refinement.admin-body .admin-page-shell { display:block !important; padding:0 !important; min-height:100dvh; }
@media(max-width:900px) {
 body.account-refinement .auth-page { padding:20px 0 !important; }
 body.account-refinement .auth-page .auth-grid { width:min(660px,calc(100% - 32px)) !important; min-height:0 !important; grid-template-columns:minmax(0,1fr) !important; }
 body.account-refinement .auth-page .auth-copy { display:none !important; }
 body.account-refinement .auth-page .auth-card { padding:28px !important; }
}
@media(max-width:560px) {
 body.account-refinement .auth-page .register-complete-form, body.account-refinement .auth-page .form-two-cols { grid-template-columns:minmax(0,1fr); }
 body.account-refinement .auth-page .auth-card { padding:20px !important; }
 body.account-refinement .auth-brand-header { font-size:17px; gap:10px; }
 body.account-refinement .auth-brand-logo { width:56px; height:56px; flex-basis:56px; }
}
