/* Scoped presentation only. Native authentication fields and actions are retained. */
body.caudio-access { margin:0; background:#f7f8f3!important; color:#223b3d; font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif; }
.caudio-access-shell { min-height:100dvh; display:flex; flex-direction:column; }
.caudio-access-header { display:flex; align-items:center; gap:24px; padding:28px 4.5%; border-bottom:1px solid #dfe5df; }
.caudio-access-logo { font-size:39px; line-height:1; letter-spacing:-3px; font-weight:800; color:#aa9453!important; text-decoration:none!important; }
.caudio-access-logo span { color:#223b3d; }
.caudio-access-header>span { border-left:1px solid #dfe5df; padding-left:24px; font-size:13px; color:#62716a; }
.caudio-access-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,470px); gap:clamp(35px,9vw,150px); max-width:1120px; width:calc(100% - 80px); margin:auto; padding:65px 0; align-items:center; }
.caudio-access-intro h1 { font-size:clamp(38px,4.2vw,60px); line-height:1.06; letter-spacing:-2.5px; margin:20px 0 28px; font-weight:750; }
.caudio-access-intro>p:not(.caudio-access-eyebrow) { color:#63716c; font-size:17px; line-height:1.7; }
.caudio-access-eyebrow { font-size:11px; letter-spacing:2px; font-weight:700; color:#3d615d; margin:0 0 12px; }
.caudio-access-preview { background:#fff; border:1px solid #dce2dc; border-radius:18px; padding:23px; max-width:360px; margin:30px 0; box-shadow:0 9px 30px #223b3d06; }
.caudio-access-preview strong { display:block; font-size:13px; padding-bottom:18px; border-bottom:1px solid #e6eae5; }
.caudio-access-preview>div { display:flex; align-items:center; gap:14px; padding-top:19px; font-size:14px; }
.caudio-access-preview>div span { padding:6px; border-radius:7px; color:#5e7c74; font-size:11px; background:#edf3ed; }
.caudio-access-preview b { margin-left:auto; font-weight:400; }
.caudio-access-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#b9d4a0; margin-right:9px; }
.caudio-access-intro .caudio-access-footnote { font-size:12px!important; }
.caudio-access-card { background:#fff; border:1px solid #dce2dc; border-radius:20px; padding:38px; box-shadow:0 12px 35px #243b3d05; }
.caudio-access-card h2 { font-size:30px; letter-spacing:-1px; font-weight:750; margin:0 0 12px; }
.caudio-access-description { color:#65716d; line-height:1.6; margin-bottom:30px; }
.caudio-access-card .oe_login_form,.caudio-access-card .oe_signup_form,.caudio-access-card .oe_reset_password_form { max-width:none; padding:0; margin:0; }
.caudio-access-card .o_caudio_login_brand { display:none; }
.caudio-access-card .form-control { min-height:46px; border:1px solid #d8dfda; border-radius:8px; font-size:15px; background:#fff; color:#223b3d; }
.caudio-access-card .form-control:focus { border-color:#496f65; box-shadow:0 0 0 3px #496f651a; }
.caudio-access-card label { font-size:13px; font-weight:600; }
.caudio-access-card .btn-primary { --btn-bg:#365e57; --btn-border-color:#365e57; background:#365e57!important; border-color:#365e57!important; border-radius:8px; color:white!important; padding:12px 16px; font-weight:600; }
.caudio-access-card .btn-primary:hover { background:#284b45!important; }
.caudio-access-card a,.caudio-access-card .btn-link { color:#365e57!important; font-size:13px; }
.caudio-access-card .input-group .form-control { border-top-right-radius:0; border-bottom-right-radius:0; }
.caudio-access-card .o_show_password { border-color:#d8dfda!important; border-radius:0 8px 8px 0; }
.caudio-access-card .alert { font-size:14px; border-radius:9px; }
.caudio-access-footer { display:flex; justify-content:space-between; padding:23px 4.5%; font-size:12px; color:#66746e; border-top:1px solid #dfe5df; }
.caudio-access-footer a { color:#365e57!important; }
.caudio-access-skip { position:absolute; top:-80px; padding:12px; background:white; }
.caudio-access-skip:focus { top:0; z-index:10; }
@media(max-width:760px) { .caudio-access-header { padding:22px; }.caudio-access-main { display:block; width:calc(100% - 32px); max-width:470px; padding:30px 0; }.caudio-access-intro { display:none; }.caudio-access-card { padding:28px 24px; }.caudio-access-footer { flex-wrap:wrap; gap:12px; padding:20px; }.caudio-access-card h2 { font-size:27px; } }
@media(prefers-reduced-motion:reduce) { .caudio-access * { transition:none!important; } }
