/* BocLink default auth theme — visual only */
:root{--auth-bg:#fbf9f7;--auth-surface:#fff;--auth-fg:#292422;--auth-muted:#615955;--auth-border:#e9e4e0;--auth-primary:#bd4903;--auth-hover:#a14119}
html[data-theme="dark"],body.c_darkmode,body.dark{--auth-bg:#090706;--auth-surface:#1d1816;--auth-fg:#f5f1ee;--auth-muted:#a7a09b;--auth-border:rgba(255,255,255,.16);--auth-primary:#f28d50;--auth-hover:#f9b07e}
html,body{background:var(--auth-bg)!important;color:var(--auth-fg)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M18 13.5v9M13.5 18h9' stroke='%2337312e' stroke-opacity='.16' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-size:36px 36px!important;background-repeat:repeat!important}
html[data-theme="dark"],body.c_darkmode,body.dark{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M18 13.5v9M13.5 18h9' stroke='%23ffffff' stroke-opacity='.10' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E")!important}
body,body *{font-family:'Be Vietnam Pro',system-ui,sans-serif}code,pre{font-family:'JetBrains Mono',ui-monospace,monospace!important}
section,.container-fluid,.row{background:transparent!important;color:var(--auth-fg)!important}
form,.card,.auth-card,.input-group,.input-group-merge{color:var(--auth-fg)!important}
.form-control,.form-select,.input-group-text{background:var(--auth-surface)!important;color:var(--auth-fg)!important;border:1px solid var(--auth-border)!important;border-radius:10px!important;min-height:44px}.form-control::placeholder{color:var(--auth-muted)!important}.form-control:focus{border-color:var(--auth-primary)!important;box-shadow:0 0 0 3px rgba(189,73,3,.16)!important}
.input-group-text{border-right:0!important;color:var(--auth-muted)!important}.form-control-prepend{border-left:0!important}
.btn-primary,.btn-success{background:var(--auth-primary)!important;background-image:none!important;border-color:var(--auth-primary)!important;color:#fff!important;border-radius:10px!important;font-weight:700}.btn-primary:hover,.btn-success:hover{background:var(--auth-hover)!important}
.btn-white,.btn-light,.btn-neutral{background:var(--auth-surface)!important;color:var(--auth-fg)!important;border:1px solid var(--auth-border)!important;border-radius:10px!important}.btn-white:hover,.btn-light:hover,.btn-neutral:hover{color:var(--auth-primary)!important;border-color:var(--auth-primary)!important}
.form-control-label,.custom-control-label,h1,h2,h3,h4,h5,h6,p{color:var(--auth-fg)!important}.text-muted,.form-text{color:var(--auth-muted)!important}a{color:var(--auth-primary)!important}a:hover{color:var(--auth-hover)!important}
.cf-turnstile{margin:16px 0!important;background:var(--auth-surface)!important;border-radius:10px!important}
@media(max-width:640px){.container-fluid{padding-left:16px!important;padding-right:16px!important}.col-11{width:100%!important}.btn-block{width:100%!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Shared Soft Brutalism inputs for login, register and recovery forms. */
html body form input.form-control,html body form textarea.form-control,html body form select.form-select,html body .card form input.form-control,html body .card form textarea.form-control,html body .card form select.form-select{height:56px!important;min-height:56px!important;background:#fffdf9!important;background-color:#fffdf9!important;color:#292422!important;border:1.5px solid #37312e!important;border-radius:4px!important;box-shadow:3px 3px 0 rgba(55,49,46,.16)!important;outline:none!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
html body form input.form-control:focus,html body form textarea.form-control:focus,html body form select.form-select:focus,html body .card form input.form-control:focus{border-color:#bd4903!important;border-radius:4px!important;box-shadow:4px 4px 0 rgba(189,73,3,.24),0 0 0 3px rgba(189,73,3,.10)!important;transform:translate(-1px,-1px)!important}
html body form input.form-control:-webkit-autofill,html body form input.form-control:-webkit-autofill:hover,html body form input.form-control:-webkit-autofill:focus,html body .card form input.form-control:-webkit-autofill{-webkit-text-fill-color:#292422!important;-webkit-box-shadow:0 0 0 1000px #fffdf9 inset,3px 3px 0 rgba(55,49,46,.16)!important;box-shadow:0 0 0 1000px #fffdf9 inset,3px 3px 0 rgba(55,49,46,.16)!important}
html body form .form-floating>label{color:#615955!important}html body form .form-check-input{accent-color:#bd4903!important;border-color:#37312e!important}
html[data-theme="dark"] body form input.form-control,html[data-theme="dark"] body form textarea.form-control,html[data-theme="dark"] body form select.form-select,html[data-theme="dark"] body .card form input.form-control{background:#1d1816!important;background-color:#1d1816!important;color:#f5f1ee!important;border-color:#b9aaa0!important;box-shadow:3px 3px 0 rgba(0,0,0,.35)!important}
@media(max-width:640px){html body form input.form-control,html body form textarea.form-control,html body form select.form-select{height:52px!important;min-height:52px!important;box-shadow:2px 2px 0 rgba(55,49,46,.16)!important}}

/* Beat the legacy section.bg-primary auth rule on register fields. */
html body section.bg-primary div.form-floating>input.form-control,html body section.bg-primary div.form-floating>textarea.form-control,html body section.bg-primary div.form-floating>select.form-select{height:56px!important;min-height:56px!important;background:#fffdf9!important;background-color:#fffdf9!important;color:#292422!important;border:1.5px solid #37312e!important;border-radius:4px!important;box-shadow:3px 3px 0 rgba(55,49,46,.16)!important}
html body section.bg-primary div.form-floating>input.form-control:focus,html body section.bg-primary div.form-floating>textarea.form-control:focus,html body section.bg-primary div.form-floating>select.form-select:focus{border-color:#bd4903!important;border-radius:4px!important;box-shadow:4px 4px 0 rgba(189,73,3,.24),0 0 0 3px rgba(189,73,3,.10)!important}

/* Final auth polish: balanced type, luxury brutalist CTA, untouched Turnstile internals. */
html body section h2,html body section h3,html body section .h2,html body section .h3{font-family:'Be Vietnam Pro',system-ui,sans-serif!important;color:#292422!important;font-weight:800!important;letter-spacing:-.025em!important;line-height:1.2!important}
html body section .form-floating>label{font-family:'Be Vietnam Pro',system-ui,sans-serif!important;font-size:13px!important;font-weight:600!important;letter-spacing:0!important}
html body section button.btn.btn-primary,html body section button.btn.btn-success,html body form button[type="submit"]{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:48px!important;height:48px!important;padding:0 20px!important;background:#bd4903!important;background-image:none!important;color:#fff!important;border:1.5px solid #37312e!important;border-radius:4px!important;box-shadow:4px 4px 0 rgba(55,49,46,.22)!important;font-family:'Be Vietnam Pro',system-ui,sans-serif!important;font-size:15px!important;font-weight:800!important;line-height:1!important;letter-spacing:.01em!important;text-shadow:none!important;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease!important}
html body section button.btn.btn-primary:hover,html body section button.btn.btn-success:hover,html body form button[type="submit"]:hover{background:#a14119!important;border-color:#37312e!important;transform:translate(-1px,-1px)!important;box-shadow:5px 5px 0 rgba(55,49,46,.24)!important}
html body section button.btn.btn-primary:active,html body section button.btn.btn-success:active,html body form button[type="submit"]:active{transform:translate(2px,2px)!important;box-shadow:2px 2px 0 rgba(55,49,46,.20)!important}
html body .cf-turnstile{display:block!important;width:100%!important;min-height:65px!important;height:auto!important;margin:16px 0!important;padding:0!important;background:transparent!important;background-color:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
html body .cf-turnstile>div{max-width:100%!important;margin:0!important}
html body .cf-turnstile iframe{display:block!important;max-width:100%!important;border:0!important;border-radius:0!important;box-shadow:none!important}
html[data-theme="dark"] body section h2,html[data-theme="dark"] body section h3,html[data-theme="dark"] body section .h2,html[data-theme="dark"] body section .h3{color:#f5f1ee!important}
html[data-theme="dark"] body section button.btn.btn-primary,html[data-theme="dark"] body section form button[type="submit"]{background:#f28d50!important;color:#2b211c!important;border-color:#f5f1ee!important;box-shadow:4px 4px 0 rgba(0,0,0,.4)!important}

/* Final alignment: target the actual auth heading and collapse only Turnstile wrapper whitespace. */
html body section h4.fw-bold{font-family:'Be Vietnam Pro',system-ui,sans-serif!important;font-size:26px!important;line-height:1.25!important;font-weight:800!important;letter-spacing:-.02em!important;text-align:left!important;color:#292422!important;margin:0 0 24px!important}
html body section .mt-4:has(>.cf-turnstile){margin-top:16px!important}
html body section .mt-4:has(>.cf-turnstile) .cf-turnstile{height:65px!important;min-height:65px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important}
html body section .mt-4:has(>.cf-turnstile)>script+*{margin:0!important}
html body section .mt-4:has(>.cf-turnstile) .d-grid{margin-top:12px!important}
html body section .cf-turnstile>div{margin:0!important;padding:0!important;line-height:0!important}
html body section .cf-turnstile input[type="hidden"]{display:none!important}
html[data-theme="dark"] body section h4.fw-bold{color:#f5f1ee!important}
@media(max-width:640px){html body section h4.fw-bold{font-size:23px!important;margin-bottom:20px!important}html body section .mt-4:has(>.cf-turnstile){margin-top:12px!important}}

/* Balance auth column: centered heading and centered native Turnstile widget. */
html body section h4.fw-bold{text-align:center!important;width:100%!important}
html body section .mt-4:has(>.cf-turnstile) .cf-turnstile{justify-content:center!important;align-items:flex-start!important;width:100%!important}
html body section .mt-4:has(>.cf-turnstile) .cf-turnstile>div{width:300px!important;max-width:100%!important;margin:0 auto!important}
html body section .mt-4:has(>.cf-turnstile){height:125px!important;overflow:visible!important}
@media(max-width:640px){html body section .mt-4:has(>.cf-turnstile) .cf-turnstile>div{width:300px!important;max-width:100%!important}}

/* Align floating labels and entered values on one consistent baseline. */
html body form .form-floating>input.form-control,html body form .form-floating>textarea.form-control{padding:1.35rem 1rem .45rem!important;font-size:14px!important;line-height:1.25!important;vertical-align:middle!important}
html body form .form-floating>label{height:auto!important;padding:.72rem 1rem!important;font-size:12px!important;line-height:1.15!important;transform-origin:0 0!important;pointer-events:none!important}
html body form .form-floating>.form-control:focus~label,html body form .form-floating>.form-control:not(:placeholder-shown)~label,html body form .form-floating>label{transform:scale(.86) translateY(-.14rem) translateX(.12rem)!important;color:#bd4903!important}
html[data-theme="dark"] body form .form-floating>label{color:#f28d50!important}
@media(max-width:640px){html body form .form-floating>input.form-control,html body form .form-floating>textarea.form-control{padding:1.28rem .85rem .4rem!important}}

/* Match the secondary Register CTA to the primary Soft Brutalism button. */
html body section a.btn.btn-light.text-primary[href*="/user/register"],html body section .gradient-primary a.btn.btn-light{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:48px!important;height:48px!important;padding:0 28px!important;
 background:#bd4903!important;background-image:none!important;color:#fff!important;
 border:1.5px solid #37312e!important;border-radius:4px!important;
 box-shadow:4px 4px 0 rgba(55,49,46,.22)!important;
 font-family:'Be Vietnam Pro',system-ui,sans-serif!important;font-size:15px!important;font-weight:800!important;line-height:1!important;letter-spacing:.01em!important;text-shadow:none!important;
 transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease!important
}
html body section a.btn.btn-light.text-primary[href*="/user/register"]:hover,html body section .gradient-primary a.btn.btn-light:hover{
 background:#a14119!important;color:#fff!important;border-color:#37312e!important;
 transform:translate(-1px,-1px)!important;box-shadow:5px 5px 0 rgba(55,49,46,.24)!important
}
html body section a.btn.btn-light.text-primary[href*="/user/register"]:active,html body section .gradient-primary a.btn.btn-light:active{transform:translate(2px,2px)!important;box-shadow:2px 2px 0 rgba(55,49,46,.2)!important}

/* Remove the legacy center divider; both auth halves share one continuous pattern. */
html body section>div.gradient-primary.position-absolute{border-left:0!important;border-inline-start:0!important;box-shadow:none!important}

/* Override the legacy section .gradient-primary divider with higher specificity. */
html body section div.gradient-primary.position-absolute{border-left:0!important;border-inline-start:0!important;border-right:0!important;box-shadow:none!important}
