*,*:before,*:after{box-sizing:border-box}.auth-shell{--auth-display: "Bricolage Grotesque", "IBM Plex Sans", system-ui, sans-serif;--auth-body: "IBM Plex Sans", system-ui, sans-serif;--auth-radius: 8px;position:relative;margin:0;min-height:100vh;min-height:100dvh;font-family:var(--auth-body);background:var(--barbershop-bg);color:var(--barbershop-text);overflow-x:clip}.auth-shell :focus-visible{outline:2px solid var(--barbershop-accent);outline-offset:3px}.auth-shell :focus:not(:focus-visible){outline:none}.auth-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(-12deg,transparent,transparent 46px,color-mix(in srgb,var(--barbershop-border) 28%,transparent) 46px,color-mix(in srgb,var(--barbershop-border) 28%,transparent) 47px),linear-gradient(180deg,var(--barbershop-primary) 0%,var(--barbershop-bg) 55%,var(--barbershop-bg) 100%);opacity:.55;-webkit-mask-image:linear-gradient(180deg,black 0%,black 55%,transparent 100%);mask-image:linear-gradient(180deg,black 0%,black 55%,transparent 100%)}.auth-atmosphere:after{content:"";position:absolute;top:0;left:0;width:6px;height:min(70vh,640px);background:var(--barbershop-accent)}.auth-shell__frame{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px 16px 40px;width:100%}.auth-shell__brand{width:min(420px,100%);display:flex;justify-content:center}.auth-card__nav{margin:-4px 0 12px}.auth-back-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;color:var(--barbershop-text-muted);text-decoration:none;font-size:.875rem;font-weight:600}.auth-back-link:hover{color:var(--barbershop-text)}.auth-back-link__icon{font-size:1.125rem;line-height:1}.auth-brand{display:flex;flex-direction:column;align-items:center;line-height:.9;text-decoration:none;color:var(--barbershop-text)}.auth-brand__line{font-family:var(--auth-display);font-size:clamp(2.25rem,8vw,2.75rem);font-weight:800;letter-spacing:-.05em;text-transform:uppercase}.auth-brand__line--accent{color:var(--barbershop-accent);padding-left:.04em}.auth-card{width:min(420px,100%);padding:28px 24px;background:var(--barbershop-bg-card);border:2px solid var(--barbershop-border);border-radius:var(--auth-radius);box-shadow:6px 6px color-mix(in srgb,var(--barbershop-border) 45%,transparent)}.auth-card__header{margin-bottom:24px}.auth-card__kicker{margin:0 0 8px;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--barbershop-accent)}.auth-card__title{margin:0 0 8px;font-family:var(--auth-display);font-size:clamp(1.5rem,4vw,1.875rem);font-weight:800;letter-spacing:-.035em;line-height:1.1;text-transform:uppercase}.auth-card__subtitle{margin:0;font-size:.9375rem;color:var(--barbershop-text-muted);line-height:1.5}.auth-status{font-weight:600;font-size:.875rem;color:var(--barbershop-success)}.auth-form{display:grid;gap:16px}.auth-field{min-width:0}.auth-form__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.auth-remember{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:var(--barbershop-text-muted);cursor:pointer}.auth-terms{font-size:.875rem;color:var(--barbershop-text-muted);line-height:1.45}.auth-text-link{color:var(--barbershop-accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}.auth-text-link:hover{color:var(--barbershop-status-em-atendimento-text)}.auth-form__actions{display:flex;margin-top:4px}.auth-card .auth-submit-btn,.auth-shell .auth-submit-btn,.auth-shell button[type=submit]{width:100%;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:2px solid var(--barbershop-accent);border-radius:var(--auth-radius);background:var(--barbershop-accent);color:var(--barbershop-on-accent);font-family:var(--auth-body);font-size:.9375rem;font-weight:700;text-transform:none;letter-spacing:normal;cursor:pointer;box-shadow:4px 4px 0 var(--barbershop-border);transition:transform .1s cubic-bezier(.175,.885,.32,1.275),box-shadow .1s ease,background-color .15s ease,border-color .15s ease}.auth-card .auth-submit-btn:hover,.auth-shell .auth-submit-btn:hover,.auth-shell button[type=submit]:hover{background:var(--barbershop-status-em-atendimento-text);border-color:var(--barbershop-status-em-atendimento-text);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--barbershop-border)}.auth-card .auth-submit-btn:active,.auth-shell .auth-submit-btn:active,.auth-shell button[type=submit]:active{transform:scale(.97) translate(2px,2px);box-shadow:2px 2px 0 var(--barbershop-border)}.auth-shell .auth-form__actions--split{display:flex;flex-direction:column;gap:12px;width:100%}.auth-shell .auth-form__toggle{display:inline-flex;align-self:flex-start;margin:0;padding:0;border:0;background:transparent;color:var(--barbershop-accent);font-family:var(--auth-body);font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;box-shadow:none;min-height:auto;width:auto}.auth-shell .auth-form__toggle:hover,.auth-shell .auth-form__toggle:active{color:var(--barbershop-status-em-atendimento-text);background:transparent;border:0;transform:none;box-shadow:none}.auth-shell .auth-secondary-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;margin-top:8px}.auth-shell .auth-secondary-links form{display:inline;margin:0}.auth-shell .auth-secondary-links button[type=submit]{width:auto;min-height:auto;padding:0;border:0;background:transparent;color:var(--barbershop-accent);font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;box-shadow:none}.auth-shell .auth-secondary-links button[type=submit]:hover,.auth-shell .auth-secondary-links button[type=submit]:active{color:var(--barbershop-status-em-atendimento-text);background:transparent;border:0;transform:none;box-shadow:none}.auth-error{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px 16px 40px;width:100%;text-align:center}.auth-error__card{width:min(480px,100%);padding:32px 24px;border-radius:var(--auth-radius);background:var(--barbershop-bg-card);border:2px solid var(--barbershop-border);box-shadow:6px 6px color-mix(in srgb,var(--barbershop-border) 40%,transparent)}.auth-error__code{margin:0 0 8px;font-family:var(--auth-display);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--barbershop-accent)}.auth-error__title{margin:0 0 8px;font-family:var(--auth-display);font-size:clamp(1.5rem,4vw,1.875rem);font-weight:800;letter-spacing:-.03em;text-transform:uppercase;line-height:1.15}.auth-error__text{margin:0 0 24px;color:var(--barbershop-text-muted);font-size:.9375rem;line-height:1.5}.auth-error__actions{display:flex;flex-direction:column;gap:10px}.auth-error__actions .auth-submit-btn,.auth-error__actions a.auth-submit-btn{text-decoration:none}.auth-card-footer{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--barbershop-border);text-align:center;font-size:.875rem;color:var(--barbershop-text-muted)}.auth-card-footer__link{margin-left:4px;color:var(--barbershop-accent);font-weight:700;text-decoration:none}.auth-card-footer__link:hover{text-decoration:underline}.auth-card input[type=email],.auth-card input[type=password],.auth-card input[type=text],.auth-shell input[type=email],.auth-shell input[type=password],.auth-shell input[type=text],.auth-shell input[type=tel]{width:100%;max-width:100%;min-height:48px;background:var(--barbershop-bg-input);color:var(--barbershop-text);border-color:var(--barbershop-border);border-radius:var(--auth-radius)}.auth-shell input[type=email]:focus,.auth-shell input[type=password]:focus,.auth-shell input[type=text]:focus,.auth-shell input[type=tel]:focus{border-color:var(--barbershop-accent);outline:none;box-shadow:var(--barbershop-focus-ring)}.auth-shell input[type=checkbox]{width:18px;height:18px;accent-color:var(--barbershop-accent);cursor:pointer}.auth-shell .text-gray-600,.auth-shell .text-gray-500,.auth-shell .text-gray-400{color:var(--barbershop-text-muted)}.auth-shell .text-gray-900,.auth-shell .text-gray-800,.auth-shell .text-gray-700{color:var(--barbershop-text)}.auth-shell .text-green-600{color:var(--barbershop-success)}.auth-shell .text-red-600{color:var(--barbershop-error)}.auth-shell .border-gray-300{border-color:var(--barbershop-border)}.auth-legal__nav{width:min(640px,100%);margin-bottom:8px}.auth-legal{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:32px 20px;gap:24px}.auth-legal__card{width:min(640px,100%);padding:28px 24px;border-radius:var(--auth-radius);background:var(--barbershop-bg-card);border:2px solid var(--barbershop-border);box-shadow:6px 6px color-mix(in srgb,var(--barbershop-border) 40%,transparent)}.auth-legal__content{color:var(--barbershop-text);font-size:.9375rem;line-height:1.65}.auth-legal__content h1{margin:0 0 16px;font-family:var(--auth-display);font-size:1.5rem;font-weight:800;line-height:1.25;text-transform:uppercase;letter-spacing:-.03em}.auth-legal__content h2{margin:24px 0 12px;font-family:var(--auth-display);font-size:1.125rem;font-weight:700}.auth-legal__content p{margin:0 0 12px;color:var(--barbershop-text-muted)}.auth-legal__content a{color:var(--barbershop-accent);font-weight:600}.auth-legal__content blockquote{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--barbershop-accent);border-radius:0 var(--auth-radius) var(--auth-radius) 0;background:var(--barbershop-accent-soft);color:var(--barbershop-text-muted);font-style:italic}.auth-legal__content ul,.auth-legal__content ol{margin:0 0 12px;padding-left:1.25rem;color:var(--barbershop-text-muted)}.auth-legal__content li{margin-bottom:6px}@media(max-width:479px){.auth-atmosphere:after{width:4px}.auth-card{padding:24px 16px;box-shadow:4px 4px color-mix(in srgb,var(--barbershop-border) 45%,transparent)}}@media(min-width:900px){.auth-shell__frame{padding:48px 24px;gap:24px}.auth-card{padding:32px 28px}.auth-error__card{padding:36px 32px}}@media(prefers-reduced-motion:reduce){.auth-card .auth-submit-btn,.auth-shell .auth-submit-btn,.auth-shell button[type=submit]{transition:none}.auth-card .auth-submit-btn:hover,.auth-shell .auth-submit-btn:hover,.auth-shell button[type=submit]:hover,.auth-card .auth-submit-btn:active,.auth-shell .auth-submit-btn:active,.auth-shell button[type=submit]:active{transform:none}}@media(display-mode:standalone),(display-mode:fullscreen){.auth-shell__frame{padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}}
