:root{--catalog-window-bg:rgba(255,255,255,.97);--catalog-window-soft:#f4f8fb;--catalog-window-line:#d8e5ef;--catalog-window-text:#10243a;--catalog-window-muted:#637487;--catalog-window-shadow:0 30px 90px rgba(1,18,31,.34)}
html[data-theme="dark"]{--catalog-window-bg:rgba(13,32,46,.97);--catalog-window-soft:#091c2a;--catalog-window-line:#29475a;--catalog-window-text:#edf6fb;--catalog-window-muted:#adc0cd;--catalog-window-shadow:0 34px 96px rgba(0,0,0,.52)}
.catalog-auth-stage{position:relative;min-height:calc(100dvh - 112px);display:grid;place-items:center;padding:34px 20px 52px;isolation:isolate}
.catalog-modal-shade{position:absolute;inset:0;background:rgba(2,15,25,.42);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:-1}
html[data-theme="dark"] .catalog-modal-shade{background:rgba(1,8,14,.58)}
.catalog-auth-window{position:relative;width:min(980px,100%);max-height:calc(100dvh - 150px);display:grid;grid-template-columns:minmax(280px,.92fr) minmax(360px,1.08fr);overflow:auto;border:1px solid rgba(255,255,255,.38);border-radius:28px;background:var(--catalog-window-bg);box-shadow:var(--catalog-window-shadow);color:var(--catalog-window-text);animation:catalogWindowIn .28s ease both}
@keyframes catalogWindowIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.catalog-window-close{position:absolute;right:14px;top:14px;z-index:5;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--catalog-window-line);border-radius:50%;background:var(--catalog-window-bg);color:var(--catalog-window-text);font-size:1.75rem;line-height:1;text-decoration:none;box-shadow:0 8px 22px rgba(4,27,46,.12)}
.catalog-window-close:hover{color:#e51f2b;transform:rotate(5deg)}
.catalog-auth-brand{position:relative;display:flex;flex-direction:column;justify-content:center;padding:42px 38px;color:#fff;background:linear-gradient(145deg,rgba(5,30,54,.97),rgba(7,126,231,.86));overflow:hidden}
.catalog-auth-brand:after{content:"";position:absolute;right:-90px;bottom:-105px;width:300px;height:300px;border-radius:50%;background:rgba(32,201,243,.17)}
.catalog-auth-brand img{position:relative;z-index:1;width:min(250px,80%);height:auto;margin:0 0 24px;filter:drop-shadow(0 12px 26px rgba(0,0,0,.24))}
.catalog-auth-kicker{position:relative;z-index:1;display:inline-flex;width:max-content;padding:7px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.11);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
.catalog-auth-brand h1{position:relative;z-index:1;margin:15px 0 11px;color:#fff!important;font-size:clamp(2rem,4vw,3.55rem);line-height:.98;letter-spacing:-.055em}
.catalog-auth-brand p{position:relative;z-index:1;margin:0;color:#dcecff!important;line-height:1.62}
.catalog-auth-benefits{position:relative;z-index:1;display:grid;gap:9px;margin-top:24px;color:#eaf7ff;font-size:.9rem;font-weight:780}
.catalog-auth-card{display:flex;flex-direction:column;justify-content:center;padding:42px 42px 34px;background:var(--catalog-window-bg)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;border-radius:14px;background:var(--catalog-window-soft);margin-bottom:20px}
.auth-tabs button{min-height:43px;border:0;border-radius:10px;background:transparent;color:var(--catalog-window-muted);font:inherit;font-weight:900;cursor:pointer}
.auth-tabs button.active{background:var(--catalog-window-bg);color:var(--blue);box-shadow:0 6px 16px rgba(17,55,84,.11)}
.auth-alert{margin-bottom:16px;padding:12px 14px;border:1px solid #ffc1cb;border-radius:12px;background:#fff1f3;color:#9c2437;font-weight:780;line-height:1.45}
html[data-theme="dark"] .auth-alert{border-color:#75404a;background:#361d26;color:#ffb8c1}
.auth-form[hidden]{display:none}.auth-heading span{color:var(--blue);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.auth-heading h2{margin:7px 0 6px;color:var(--catalog-window-text)!important;font-size:clamp(1.55rem,3vw,2.15rem);letter-spacing:-.04em}.auth-heading p{margin:0 0 20px;color:var(--catalog-window-muted)!important}
.auth-form label{display:block;margin-bottom:13px}.auth-form label span{display:block;margin-bottom:6px;color:var(--catalog-window-text);font-size:.8rem;font-weight:900}.auth-form input{width:100%;min-height:49px;padding:0 14px;border:2px solid var(--catalog-window-line);border-radius:12px;background:var(--catalog-window-bg);color:var(--catalog-window-text);font:inherit;outline:none}.auth-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,143,229,.1)}
.auth-submit{width:100%;min-height:51px;margin-top:4px;border:0;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--blue),#20c9f3);font:inherit;font-weight:950;cursor:pointer;box-shadow:0 13px 28px rgba(7,143,229,.25)}
.auth-device-note{margin-top:17px;padding:12px 14px;border:1px solid var(--catalog-window-line);border-radius:12px;background:var(--catalog-window-soft)}.auth-device-note strong{display:block;color:var(--catalog-window-text);font-size:.82rem}.auth-device-note p{margin:4px 0 0;color:var(--catalog-window-muted)!important;font-size:.76rem;line-height:1.45}.auth-privacy{margin:14px 0 0;color:var(--catalog-window-muted)!important;font-size:.74rem;line-height:1.5}
@media(max-width:900px){.catalog-auth-stage{min-height:calc(100dvh - 92px);padding:18px 12px 30px}.catalog-auth-window{max-height:calc(100dvh - 115px);grid-template-columns:1fr}.catalog-auth-brand{padding:28px 25px 24px}.catalog-auth-brand img{width:180px;margin-bottom:15px}.catalog-auth-brand h1{font-size:2.15rem}.catalog-auth-benefits{display:none}.catalog-auth-card{padding:28px 22px 30px}}
@media(max-width:520px){.catalog-auth-stage{padding:10px 8px 22px}.catalog-auth-window{max-height:calc(100dvh - 100px);border-radius:20px}.catalog-auth-brand{padding:22px 20px}.catalog-auth-brand p{font-size:.88rem}.catalog-auth-card{padding:24px 18px 26px}.catalog-window-close{width:38px;height:38px;right:10px;top:10px}}

/* V29 — resolução autônoma de conflito entre dispositivos */
.auth-heading--conflict p strong{color:var(--catalog-window-text)}
.device-conflict-form{display:grid;gap:14px}
.device-conflict-list{display:grid;gap:9px;margin:0;padding:0;border:0;min-width:0}
.device-conflict-list legend{margin:0 0 3px;color:var(--catalog-window-text);font-size:.78rem;font-weight:900}
.device-conflict-option{position:relative;display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:11px;margin:0!important;padding:12px 13px;border:2px solid var(--catalog-window-line);border-radius:13px;background:var(--catalog-window-soft);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.device-conflict-option:hover{transform:translateY(-1px);border-color:rgba(7,143,229,.55)}
.device-conflict-option.is-selected{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,143,229,.10);background:var(--catalog-window-bg)}
.device-conflict-option input{width:18px!important;min-height:18px!important;height:18px;margin:0;padding:0;accent-color:var(--blue);box-shadow:none!important}
.device-conflict-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--blue),#20c9f3);color:#fff;font-size:.78rem}
.device-conflict-copy{min-width:0}.device-conflict-copy strong,.device-conflict-copy small{display:block}.device-conflict-copy strong{overflow:hidden;color:var(--catalog-window-text);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.device-conflict-copy small{margin-top:3px;color:var(--catalog-window-muted);font-size:.7rem;line-height:1.35}.device-conflict-option>b{color:var(--blue);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.device-conflict-divider{display:flex;align-items:center;gap:12px;margin:15px 0 12px;color:var(--catalog-window-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.device-conflict-divider:before,.device-conflict-divider:after{content:"";height:1px;flex:1;background:var(--catalog-window-line)}
.auth-secondary-action{width:100%;min-height:48px;padding:10px 14px;border:2px solid var(--blue);border-radius:13px;background:transparent;color:var(--blue);font:inherit;font-size:.86rem;font-weight:950;cursor:pointer}
.auth-secondary-action:hover{background:rgba(7,143,229,.08)}
.device-conflict-help{margin:8px 0 0;color:var(--catalog-window-muted)!important;font-size:.72rem;line-height:1.45;text-align:center}
.device-conflict-cancel{display:flex;justify-content:center;margin-top:8px}.device-conflict-cancel button{border:0;background:transparent;color:var(--catalog-window-muted);font:inherit;font-size:.74rem;font-weight:800;text-decoration:underline;cursor:pointer}
@media(max-width:520px){.device-conflict-option{grid-template-columns:auto minmax(0,1fr);padding:11px}.device-conflict-option input{grid-row:1/3}.device-conflict-icon{display:none}.device-conflict-option>b{grid-column:2}.device-conflict-copy strong{white-space:normal}.auth-heading--conflict h2{font-size:1.7rem}}
