/* Compacta os fluxos de acesso sem alterar campos, validações ou etapas. */
:root{--auth-control-h:44px;--auth-gap:10px}

/* Login administrativo */
.auth.admin-login-page{min-height:100svh;padding:12px}
.auth.admin-login-page .login-card{max-width:390px;padding:18px 22px 20px;border-radius:16px}
.auth.admin-login-page .login-brand{margin-bottom:14px;gap:8px}
.auth.admin-login-page .login-logo-link,.auth.admin-login-page .login-brand-logo{width:60px;height:60px;max-width:60px;max-height:60px}
.auth.admin-login-page .icon-field .form-control,.auth.admin-login-page .form-control{height:var(--auth-control-h)!important;min-height:var(--auth-control-h);font-size:14px}
.auth.admin-login-page .alert{margin-bottom:12px;font-size:13px}
.auth.admin-login-page .btn{min-height:42px;font-size:14px}

/* Login, recuperação e ativação SaaS */
.auth:not(.admin-login-page){min-height:100svh;padding:12px}
.authbox{width:min(100%,400px);padding:18px;border-radius:16px}
.authbox .brand-logo{max-width:150px;max-height:48px;margin-bottom:8px}
.authbox h1{font-size:24px;line-height:1.15;margin:4px 0 6px}
.authbox h2{font-size:15px;line-height:1.25;margin:12px 0 4px}
.authbox p{font-size:13px;line-height:1.42;margin-bottom:9px}
.authbox form,#merchantLogin{gap:8px;margin-top:10px}
.authbox label,#merchantLogin label{font-size:12px;gap:4px}
.authbox input,#merchantLogin input{min-height:var(--auth-control-h);padding:8px 10px;border-radius:9px;font-size:14px}
.authbox .captcha-field{gap:5px;margin-top:8px;font-size:12px}
.authbox .captcha-field input{min-height:40px;padding:8px 10px}
.authbox .btn,#merchantLogin .btn{min-height:40px;padding:9px 12px;border-radius:9px;font-size:13px}
.authbox .form-footer,.form-footer{gap:8px;margin-top:10px;font-size:12px}
.notice,.error{font-size:12px;line-height:1.38;padding:9px 11px;margin:8px 0;border-radius:9px}
.choice-list,.login-actions{gap:8px;margin-top:10px}
.choice-card{padding:11px;border-radius:11px}
.choice-card span{font-size:12px;margin:2px 0 8px}

/* Cadastro de loja SaaS */
.signup-shell{width:min(920px,94vw)}
.signup-card{padding:clamp(18px,3vw,28px);border-radius:17px}
.signup-card h1{font-size:28px;line-height:1.12;margin:6px 0 8px}
.signup-card .intro{font-size:13px;line-height:1.4;margin-bottom:14px}
.signup-card .top-row{margin-bottom:15px}
.signup-card .brand-logo{height:40px;max-width:180px}
.signup-card .signup-flow{gap:8px;margin:12px 0 16px}
.signup-card .flow-step{gap:8px;padding:8px;font-size:12px}
.signup-card .flow-step b{width:23px;height:23px}
.signup-card .plan-picker{padding:13px;margin-bottom:15px;border-radius:12px}
.signup-card .plan-picker-head{margin-bottom:10px}
.signup-card .plan-picker-head h2{font-size:17px}
.signup-card .plan-cards{gap:8px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.signup-card .plan-card{min-height:112px;padding:11px;border-radius:10px}
.signup-card .plan-card.selected{padding:10px}
.signup-card .plan-card strong{font-size:13px}
.signup-card .plan-card .plan-price{font-size:17px;margin:6px 0}
.signup-card .signup-form{gap:10px 12px}
.signup-card .form-label{gap:5px;font-size:12px}
.signup-card input:not([type=radio]):not([type=checkbox]),.signup-card select{min-height:42px;padding:9px 11px;border-radius:9px;font-size:14px}
.signup-card .store-field input{font-size:15px}
.signup-card .signup-section{padding-top:13px;margin-top:0}
.signup-card .signup-section h2{font-size:15px}
.signup-card .signup-section p,.signup-card .helper,.signup-card .field-error{font-size:11px;line-height:1.4}
.signup-card .selected-plan-summary{padding:10px 12px;font-size:12px}
.signup-card .submit-btn{min-height:44px;font-size:14px;border-radius:9px}

/* A tela de cadastro de motoboy mostrada pelo usuário */
.signup{max-width:600px;margin:16px auto 20px;padding:28px;border-radius:18px}
.signup .eyebrow{min-height:25px;padding:4px 9px;font-size:10px}
.signup h1{font-size:28px;line-height:1.12;margin:11px 0 7px}
.signup .sub{font-size:13px}
.signup p{line-height:1.5}
.signup .form-grid{gap:14px;margin-top:18px}
.signup .field label{font-size:12px}
.signup .field input{min-height:44px;padding:10px 12px;border-radius:10px;font-size:14px}
.signup .hint{font-size:11px;line-height:1.4}
.signup .actions{gap:9px;margin-top:18px}
.signup .btn{min-height:44px;padding:10px 14px;font-size:14px;line-height:1.3}
.signup .login-link{font-size:12px}
.signup .referral-note{margin-top:18px;padding-top:14px}
.signup .referral-note summary,.signup .referral-note a{font-size:12px}

/* Login do cliente e recuperação de senha do cliente */
.auth-right .max-w-464-px{width:min(100%,400px)!important}
.tenant-login-logo{max-height:82px;margin-bottom:12px}
.universal-title{font-size:24px}
.universal-subtitle{font-size:13px}
.universal-role-tabs,.auth-mode-tabs{gap:8px;margin:12px 0 10px}
.universal-role-tabs a,.auth-mode-tabs a{min-height:42px;border-radius:10px;font-size:13px}
.auth-mode-tabs{margin-bottom:12px}
.client-auth-options{gap:8px;margin-bottom:12px}
.client-auth-options .auth-option{min-height:42px;padding:8px 10px;border-radius:10px;font-size:12px}
.auth-right .form-control.h-56-px{height:var(--auth-control-h)!important;min-height:var(--auth-control-h);font-size:14px}
.auth-right .mb-16{margin-bottom:11px!important}
.auth-right .mb-20{margin-bottom:12px!important}
.auth-right .mb-24{margin-bottom:13px!important}
.auth-right .btn{min-height:42px;font-size:13px}
.manual-signup-card,.employee-create-card{padding:12px;border-radius:12px;margin-bottom:12px}
.manual-signup-card h5,.employee-create-card h5{font-size:14px}
.manual-signup-card p,.employee-create-card p{font-size:12px}
.client-identity-card{padding:10px 12px;margin-bottom:12px;border-radius:11px}
.client-identity-card .identity-value{font-size:15px}
.auth-card{width:min(100%,400px);padding:20px;border-radius:16px}
.auth-card .auth-logo,.auth-card .brand-fallback{width:56px;height:56px;border-radius:12px}
.auth-card .brand{gap:10px;margin-bottom:15px}
.auth-card h4{font-size:26px;line-height:1.12;margin-bottom:8px}
.auth-card .helper{font-size:14px;line-height:1.42}
.auth-card .form-control.h-56-px{height:var(--auth-control-h)!important;min-height:var(--auth-control-h);font-size:14px}
.auth-card .btn{min-height:42px;padding:9px 12px;font-size:13px}
.auth-card .store-note{margin-top:13px;padding-top:11px;font-size:12px}

/* Primeiro acesso de cliente */
body:has(>.container) .container{max-width:460px;padding:26px;border-radius:16px}
body:has(>.container) .container h1{font-size:25px}
body:has(>.container) .container .subtitle{font-size:14px;margin-bottom:17px}
body:has(>.container) .container .info-box{padding:11px;margin-bottom:16px;font-size:13px}
body:has(>.container) .container .form-group{margin-bottom:13px}
body:has(>.container) .container .form-group label{margin-bottom:5px;font-size:12px}
body:has(>.container) .container .form-group input{min-height:42px;padding:9px 11px;font-size:14px;border-radius:9px}
body:has(>.container) .container .btn{padding:11px;font-size:14px;border-radius:9px}

@media(max-width:650px){
 .auth.admin-login-page .login-card{padding:16px 14px 18px}
 .authbox{width:min(100%,390px);padding:16px;border-radius:14px}
 .signup-shell{width:calc(100% - 24px)}
 .signup-card{padding:18px 14px;border-radius:14px}
 .signup-card h1{font-size:25px}
 .signup-card .signup-flow{gap:6px}
 .signup-card .flow-step{font-size:10px;padding:7px}
 .signup-card .plan-cards{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
 .signup-card .plan-card{min-height:100px}
 .signup{margin:12px auto 16px;padding:22px 18px;border-radius:15px}
 .signup h1{font-size:25px}
 .signup .form-grid{gap:12px}
 .signup .actions{margin-top:15px}
 .auth-right .max-w-464-px{width:min(100%,390px)!important}
 .tenant-login-logo{max-height:72px}
 .universal-title{font-size:23px}
 .auth-card{padding:17px}
 body:has(>.container){padding:12px}
 body:has(>.container) .container{padding:20px 16px;border-radius:14px}
}
@media(prefers-reduced-motion:reduce){.signup .btn,.auth .btn,.auth-card .btn{transition:none!important;transform:none!important}}
/* Tela intermediária de confirmação do motoboy */
main.panel{max-width:460px!important;margin:18px auto!important;padding:20px!important;border-radius:14px!important}
main.panel h1{font-size:24px;line-height:1.2}
main.panel p{font-size:14px;line-height:1.45}
main.panel button{min-height:42px;padding:9px 13px;font-size:14px}

/* Viewport-sized access forms. No overflow clipping: all fields remain reachable. */
html:has(.authbox),html:has(.signup),html:has(.signup-card){scroll-behavior:auto}
body:has(.signup),body.auth{box-sizing:border-box;margin:0}
body:has(.signup) .wrap{width:min(1060px,calc(100% - 24px))}
body:has(.signup) .top{min-height:48px;padding:6px 0}
main.panel.signup{max-width:650px!important;margin:4px auto!important;padding:16px 20px!important}
.signup h1{font-size:24px;margin:6px 0 4px}
.signup p.sub{margin:4px 0;font-size:12px;line-height:1.35}
.signup .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:10px}
.signup .field{gap:4px}
.signup .field.full{grid-column:auto}
.signup .field:first-child{grid-column:1/-1}
.signup .field label{font-size:12px;line-height:1.2}
.signup .field input{height:38px;min-height:38px;padding:7px 10px;font-size:14px}
.signup .hint{font-size:10px;line-height:1.25}
.signup .actions{margin-top:10px;gap:6px}
.signup .btn{min-height:38px;padding:8px 12px;font-size:13px}
.signup .login-link{margin:8px 0;font-size:12px}
.signup .referral-note{margin-top:8px;padding-top:8px}
body:has(.signup) .footer{padding:5px 0;font-size:10px;line-height:1.3}
.signup .referral-note summary{font-size:11px}
.auth:not(.admin-login-page){padding:8px;min-height:100dvh}
.authbox{box-sizing:border-box;padding:16px}
.authbox input,#merchantLogin input{min-height:38px;padding:7px 10px}
.authbox .captcha-field input{min-height:36px}
.authbox .brand-logo{max-height:38px;margin-bottom:6px}
.authbox form,#merchantLogin{margin-top:8px;gap:7px}
.signup-shell{width:min(1000px,100%)}
.signup-card{padding:16px 20px}
.signup-card .top-row{margin-bottom:6px}
.signup-card .brand-logo{height:30px}
.signup-card h1{font-size:24px;margin:4px 0}
.signup-card .intro{font-size:12px;margin:4px 0 8px}
.signup-card .signup-flow{margin:6px 0;gap:6px}
.signup-card .flow-step{padding:5px;font-size:11px}
.signup-card .plan-picker{padding:10px;margin:8px 0}
.signup-card .plan-picker-head{margin-bottom:6px}
.signup-card .plan-picker-head p{font-size:11px;margin:3px 0}
.signup-card .plan-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.signup-card .plan-card,.signup-card .plan-card.selected{min-height:0;padding:8px}
.signup-card .plan-summary{font-size:11px;line-height:1.25}
.signup-card .plan-price{font-size:15px;margin:4px 0}
.signup-card .signup-form{gap:8px 12px}
.signup-card .form-label{gap:3px;font-size:12px}
.signup-card input:not([type=radio]):not([type=checkbox]),.signup-card select{min-height:38px;padding:7px 10px;font-size:14px}
.signup-card .signup-section{padding-top:7px}
.signup-card .subdomain-preview{padding:8px;margin-top:3px;font-size:11px}
.signup-card .submit-btn{min-height:38px}
.signup-social{margin:4px auto;font-size:10px}
.signup-social p{margin:2px}
.auth-fit-hidden{display:none!important}
.auth-fit-nav[hidden]{display:none}
.auth-fit-active .signup-flow{display:none}
body.auth-fit-page{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0}
body.auth-fit-page{padding-bottom:80px}
.plan-picker:has(.plan-picker-head.auth-fit-hidden):not(:has(.plan-card:not(.auth-fit-hidden))){display:none}
.auth-fit-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #e7e8ec}
.auth-fit-nav button{width:auto;min-height:36px;padding:7px 14px;border:1px solid #e0e2e7;border-radius:9px;background:#fff;color:#303640;font:600 13px system-ui;cursor:pointer}
.auth-fit-nav button:last-child{background:#ef2b21;color:white;border-color:#ef2b21}
.auth-fit-nav button:disabled{opacity:.4;cursor:default}
.auth-fit-status{font:600 12px system-ui;color:#68707e}
@media(max-width:650px){
 .signup-card{padding:12px}.signup-card .plan-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .signup-card .plan-picker-head{flex-direction:row}.signup-card .plan-picker-head p{display:none}
 .signup-card .signup-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .signup-card .store-field,.signup-card .form-label:has(.subdomain-edit){grid-column:1/-1}
 main.panel.signup{padding:12px!important}.signup h1{font-size:22px}
 .signup .field input,.signup-card input:not([type=radio]):not([type=checkbox]),.signup-card select{font-size:16px}
 .signup .form-grid{gap:8px}.signup .field:first-child{grid-column:1/-1}
 .signup-card h1{font-size:21px}.signup-card .brand-logo{height:26px}
}
