.auth-shell{background:var(--fw-deep-ocean);height:100dvh;min-height:100dvh;color:var(--fw-off-white);justify-content:center;align-items:center;padding:clamp(48px,7vh,72px) clamp(16px,4vw,56px) clamp(14px,3vh,40px);display:flex;position:relative;overflow:hidden}.auth-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.auth-bg img{object-fit:cover;width:100%;height:100%;animation:authKenburns 24s var(--fw-ease) forwards;position:absolute;inset:0;transform:scale(1.04)}@keyframes authKenburns{to{transform:scale(1.12)}}.auth-bg:after{content:"";background:radial-gradient(80% 60%,#152b398c 0%,#152b39c7 60%,#152b39eb 100%);position:absolute;inset:0}.auth-pane-top{z-index:4;justify-content:space-between;align-items:center;display:flex;position:absolute;top:clamp(16px,3vh,24px);left:clamp(24px,5vw,64px);right:clamp(24px,5vw,64px)}.auth-pane-top .back{font-family:var(--fw-font-heading);letter-spacing:var(--fw-ls-nav);text-transform:uppercase;color:var(--fw-off-white);opacity:.7;transition:opacity .2s var(--fw-ease);align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.auth-pane-top .back:hover{opacity:1}.auth-stack{z-index:3;flex-direction:column;align-items:center;width:100%;max-width:min(440px,100%);max-height:calc(100dvh - 62px);display:flex;position:relative}.auth-logo{color:var(--fw-off-white);justify-content:center;align-items:center;margin-bottom:clamp(8px,2vh,20px);display:inline-flex}.auth-card{backdrop-filter:blur(24px);width:100%;max-width:440px;max-height:calc(100dvh - 116px);color:var(--fw-off-white);scrollbar-width:thin;scrollbar-color:#f9f9f747 transparent;background:#152b396b;border:1px solid #f9f9f729;border-radius:18px;padding:clamp(22px,2.5vw,32px);overflow-y:auto;box-shadow:0 30px 80px -30px #0009}.auth-card .logo{margin-bottom:32px}.auth-card h2{color:var(--fw-off-white);max-width:16ch;margin-top:0;margin-bottom:8px;font-size:clamp(24px,2.4vw,30px)}.auth-card .lead{color:#f9f9f7c7;margin-bottom:16px;font-size:13.5px;line-height:1.55}.btn-oauth{color:#3c4043;border-radius:var(--fw-radius-small);width:100%;min-height:44px;font-family:var(--fw-font-body);letter-spacing:.01em;transition:background .18s var(--fw-ease), border-color .18s var(--fw-ease), box-shadow .18s var(--fw-ease), opacity .18s var(--fw-ease), transform .18s var(--fw-ease);cursor:pointer;background:#fff;border:1px solid #dadce0;justify-content:center;align-items:center;gap:12px;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #3c40432e}.btn-oauth:hover{background:#f8faff;border-color:#c5cad1;box-shadow:0 2px 5px #3c404338}.btn-oauth:focus-visible{outline-offset:3px;outline:3px solid #4285f461}.btn-oauth:active{background:#f1f3f4;transform:translateY(1px);box-shadow:0 1px 2px #3c404324}.btn-oauth svg{flex-shrink:0;width:20px;height:20px}.auth-divider{font-family:var(--fw-font-heading);letter-spacing:var(--fw-ls-eyebrow);text-transform:uppercase;color:#f9f9f780;align-items:center;gap:14px;margin:14px 0;font-size:10px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#f9f9f726;flex:1;height:1px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form.compact-form{gap:0}.auth-message{color:var(--fw-off-white);border:1px solid #f9f9f72e;border-radius:10px;margin:0 0 18px;padding:12px 14px;font-size:.88rem;line-height:1.5}.auth-message.is-success{background:#3a865c38}.auth-message.is-error{background:#a643433d}.auth-form-feedback{margin-bottom:2px}.auth-form-feedback:focus{outline:none}.auth-field-error{color:#ffd6d2;font-size:.76rem;line-height:1.35}.field-dark input[aria-invalid=true]{background:#a643431f;border-color:#ef9288}.auth-form button[type=submit][aria-busy=true]{color:#0000;cursor:wait;position:relative}.auth-form button[type=submit][aria-busy=true] svg{opacity:0}.auth-form button[type=submit][aria-busy=true]:after{content:"Processando…";color:var(--fw-off-white);place-items:center;display:grid;position:absolute;inset:0}.signout-form{margin:0}.signout-button{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.signout-button:disabled{cursor:wait;opacity:.65}button[data-admin-pending]{position:relative}button[data-admin-pending=text]:after,button[data-admin-pending=icon]:after{content:"";pointer-events:none;border:2px solid;border-right-color:#0000;border-radius:50%;width:11px;height:11px;animation:.8s linear infinite admin-pending-spin;position:absolute}button[data-admin-pending=text]:after{top:calc(50% - 7px);right:5px}button[data-admin-pending=icon]:after{width:6px;height:6px;bottom:2px;right:2px}[data-admin-action-group] a[aria-disabled=true]{pointer-events:none;opacity:.55}.admin-pending-status{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes admin-pending-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){button[data-admin-pending]:after{animation:none}}.admin-sidebar-bottom .signout-form,.admin-sidebar-bottom .signout-button{width:100%}.admin-sidebar-bottom .signout-button{text-align:left;color:#f9f9f799}.profile-result{color:var(--fw-blue);margin-top:14px}.profile-result.error{color:#9b3030}.field-dark{flex-direction:column;gap:6px;display:flex}.field-dark label{font-family:var(--fw-font-heading);letter-spacing:var(--fw-ls-eyebrow);text-transform:uppercase;color:var(--fw-moss);font-size:11px;font-weight:600}.field-dark .helper{color:#f9f9f78c;margin-top:2px;font-size:12px}.field-dark input,.field-dark select{width:100%;font-family:var(--fw-font-body);color:var(--fw-off-white);border-radius:var(--fw-radius-small);transition:border-color .22s var(--fw-ease), background .22s var(--fw-ease);background:#f9f9f70a;border:1px solid #f9f9f726;padding:11px 14px;font-size:15px;font-weight:300}.field-dark input::placeholder{color:#f9f9f766}.field-dark input:focus,.field-dark select:focus{border-color:var(--fw-moss);background:#f9f9f714;outline:none}.field-dark input[readonly]{opacity:.7;cursor:not-allowed}.field-with-button{position:relative}.password-input-wrap{align-items:center;display:flex;position:relative}.password-input-wrap input{padding-right:52px}.field-with-button .eye-btn{color:#f9f9f78c;width:36px;height:36px;transition:color .2s var(--fw-ease);justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.field-with-button .eye-btn:hover,.field-with-button .eye-btn[aria-pressed=true]{color:var(--fw-off-white)}.field-with-button .eye-btn svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:18px;height:18px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=360px){.field-row{grid-template-columns:1fr}}.check-row{color:#f9f9f7c7;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4;display:flex}.check-row input{-webkit-appearance:none;appearance:none;cursor:pointer;width:18px;height:18px;transition:background .2s var(--fw-ease), border-color .2s var(--fw-ease);background:#f9f9f70a;border:1px solid #f9f9f74d;border-radius:4px;flex-shrink:0;margin:2px 0 0;position:relative}.check-row input:checked{background:var(--fw-moss);border-color:var(--fw-moss)}.check-row input:checked:after{content:"";border:solid var(--fw-off-white);border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.check-row a{color:var(--fw-off-white);border-bottom:1px solid #f9f9f74d}.check-row a:hover{border-bottom-color:var(--fw-off-white)}.auth-submit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:4px;display:flex}.auth-submit-row .btn-primary{justify-content:center;width:100%}.auth-submit-row.with-side .btn-primary{width:auto}.auth-switch{color:#f9f9f7c7;margin-top:10px;font-size:13px;line-height:1.4}.auth-switch a{color:var(--fw-off-white);border-bottom:1px solid #f9f9f747}.auth-link-row{text-align:center;color:#f9f9f7b3;margin-top:18px;font-size:13px}.auth-link-row a{color:var(--fw-off-white);transition:border-color .2s var(--fw-ease);border-bottom:1px solid #f9f9f74d;margin-left:4px;padding-bottom:1px}.auth-link-row a:hover{border-bottom-color:var(--fw-off-white)}.auth-helper-row{justify-content:space-between;align-items:center;margin-top:-8px;margin-bottom:8px;font-size:12px;display:flex}.auth-helper-row a{color:#f9f9f7c7;transition:color .2s var(--fw-ease), border-color .2s var(--fw-ease);border-bottom:1px solid #f9f9f72e;padding-bottom:1px}.auth-helper-row a:hover{color:var(--fw-off-white);border-bottom-color:var(--fw-off-white)}.error-banner-dark{border-radius:var(--fw-radius-small);color:var(--fw-off-white);background:#b8543a2e;border:1px solid #b8543a66;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;font-size:13px;line-height:1.5;display:flex}.error-banner-dark.success{background:#6489782e;border-color:#64897866}.error-banner-dark .icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.error-banner-dark .icon svg{stroke:currentColor;stroke-width:1.6px;fill:none;width:100%;height:100%}.error-banner-dark strong{font-family:var(--fw-font-heading);font-weight:600;display:block}.auth-terms{color:#f9f9f78c;text-align:center;border-top:1px solid #f9f9f71a;margin-top:16px;padding-top:16px;font-size:11px;line-height:1.5}@media (height<=760px){.auth-shell{padding-top:46px;padding-bottom:12px}.auth-logo{margin-bottom:6px;font-size:16px;--logo-image-size:38px!important}.auth-card{max-height:calc(100dvh - 96px);padding:20px}.auth-card .lead{margin-bottom:12px;line-height:1.4}.btn-oauth{min-height:40px;padding-block:8px}.auth-divider{margin-block:10px}.auth-form{gap:9px}.field-dark{gap:4px}.field-dark input,.field-dark select{padding-block:9px}.field-row{gap:9px}.auth-submit-row{margin-top:0}.auth-helper-row{margin-bottom:2px}.auth-switch{margin-top:7px}}@media (width<=360px){.auth-shell{padding-inline:14px}.field-row{gap:9px}}.auth-terms a{color:#f9f9f7c7;border-bottom:1px solid #f9f9f733}.auth-terms a:hover{color:var(--fw-off-white)}.auth-blocked{text-align:center;padding:24px 0}.auth-blocked .lock-icon{width:56px;height:56px;color:var(--fw-moss);background:#6489782e;border-radius:999px;justify-content:center;align-items:center;margin-bottom:24px;display:inline-flex}.auth-blocked .lock-icon svg{stroke:currentColor;stroke-width:1.6px;fill:none;width:24px;height:24px}
