@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap");

/* All rules scoped to authentication; no global marketplace/backend changes. */
body:has(.oima-auth-page){overflow-x:clip}
.oima-auth-page,.oima-auth-page *{box-sizing:border-box;min-width:0}
.oima-auth-page{font-family:"Montserrat",Arial,sans-serif!important;width:100%;max-width:100%;min-height:100dvh;overflow-x:clip;background:#f4f4f4;color:#222;display:grid;place-items:center;padding:clamp(12px,2.8vw,34px)}
.oima-auth-page :is(button,input,a){font-family:inherit}
.oima-auth-shell{width:min(1100px,100%);max-width:100%;display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);border-radius:23px;background:#fff;overflow:hidden;box-shadow:0 20px 65px #00000012}
.oima-auth-brand{background:linear-gradient(145deg,#d85d22 0%,#de6528 52%,#f18443 100%);color:#fff;position:relative;isolation:isolate;overflow:hidden;padding:clamp(25px,4vw,48px);display:flex;flex-direction:column;min-height:640px}
.oima-auth-brand:before{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-220px;top:130px;border-radius:50%;background:radial-gradient(circle,#ffffff35 0%,#ffffff06 55%,transparent 73%);pointer-events:none}
.oima-auth-brand:after{content:"";position:absolute;z-index:-1;width:450px;height:450px;right:-295px;bottom:-260px;border:1px solid #ffffff55;border-radius:50%;pointer-events:none}
.oima-auth-logo{display:inline-flex;align-items:center;align-self:flex-start;max-width:210px}
.oima-auth-logo img{max-width:100%;max-height:76px;width:auto;height:auto;display:block;object-fit:contain}
.oima-auth-hero{margin:auto 0;max-width:100%;padding:52px 0}
.oima-auth-hero h2{margin:0 0 22px;font-size:clamp(31px,3.8vw,46px);line-height:1.13;letter-spacing:-.045em;font-weight:800;color:#fff;overflow-wrap:break-word}
.oima-auth-hero p{margin:0;max-width:360px;font-size:13px;line-height:1.85;color:#fff;font-weight:500}
.oima-auth-benefits{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:16px}
.oima-auth-benefits li{display:flex;align-items:center;gap:12px;color:white;font-size:12px;font-weight:600;overflow-wrap:anywhere}
.oima-auth-check{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;background:#ffffff22;border:1px solid #ffffff60;border-radius:10px;font-size:16px}
.oima-auth-brand-footer{margin:0;font-size:10px;color:#fff;opacity:.9}
.oima-auth-panel{min-width:0;padding:clamp(26px,5vw,65px);display:flex;flex-direction:column;justify-content:center}
.oima-auth-panel-inner{width:100%;max-width:445px;margin:auto}
.oima-auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:#f3f3f3;border-radius:12px;padding:5px;margin-bottom:35px}
.oima-auth-tabs a{padding:12px 8px;text-decoration:none!important;text-align:center;font-weight:800;font-size:12px;color:#575757;border-radius:9px;overflow-wrap:anywhere}
.oima-auth-tabs a.is-active{background:#fff;color:#222;box-shadow:0 1px 6px #00000014}
.oima-auth-head h1{color:#202020;font-size:clamp(26px,3.3vw,34px);font-weight:800;line-height:1.16;letter-spacing:-.035em;margin:0 0 11px}
.oima-auth-head p{color:#505050;font-size:13px;line-height:1.65;margin:0 0 26px}
.oima-auth-role-title{font-size:12px;font-weight:700;margin:0 0 12px;color:#282828}
.oima-auth-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 22px}
.oima-auth-role{min-width:0;width:100%;background:#fafafa;color:#555;border:1px solid #e1e1e1;border-radius:12px;padding:14px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:11px;font-weight:700;text-decoration:none!important;overflow-wrap:anywhere;text-align:center}
.oima-auth-role i{font-size:21px;line-height:1.3}
.oima-auth-role:is(.is-active,[aria-pressed="true"]){background:#fff3eb;color:#c9541d;border:1.5px solid #de6528}
.oima-auth-role:hover{border-color:#de6528;color:#c9541d}
.oima-auth-form-slot{width:100%;max-width:100%;min-width:0}
.oima-auth-form-slot :is(.oe_login_form,.oe_signup_form,.oe_reset_password_form){width:100%;max-width:100%;min-width:0;display:block}
.oima-auth-form-slot .mb-3{margin-bottom:17px!important}
.oima-auth-form-slot label{font-size:12px;font-weight:700;color:#333;margin-bottom:8px}
.oima-auth-form-slot .form-control{display:block;width:100%;max-width:100%;min-width:0;height:47px;border:1px solid #dadada;border-radius:10px;padding:0 14px;background:#fff;color:#222;font-size:12px}
.oima-auth-form-slot .form-control:focus{border-color:#de6528;box-shadow:0 0 0 3px #de652822}
.oima-auth-form-slot .form-control::placeholder{color:#777}
.oima-auth-form-slot .oe_login_buttons{width:100%;display:grid!important;gap:8px;margin-top:7px;padding-top:10px!important}
.oima-auth-form-slot .oe_login_buttons>button[type="submit"]{width:100%;min-height:50px;border:0;border-radius:11px;background:#de6528!important;color:#fff!important;font-size:12px;font-weight:800;box-shadow:0 8px 18px #de652826}
.oima-auth-form-slot .oe_login_buttons>button[type="submit"]:hover{background:#c85921!important}
.oima-auth-page :is(.btn-link,a:not(.oima-auth-role):not(.oima-auth-logo):not(.oima-auth-tabs a)){color:#ca5723}
.oima-auth-form-slot .oe_login_buttons > a.btn-link,.oima-auth-form-slot .oe_login_buttons + p.mt-2{display:none}
.oima-auth-form-slot .o_login_auth{max-width:100%;overflow-wrap:anywhere}
.oima-auth-form-slot .o_login_auth .btn{max-width:100%;white-space:normal}
.oima-auth-form-slot .alert{font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.oima-auth-form-slot .field-password label,.oima-auth-form-slot label[for="password"]{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.oima-auth-form-slot label[for="password"] a{font-size:11px}
.oima-auth-footlink{text-align:center;color:#555;font-size:12px;margin:19px 0 0;line-height:1.7}
.oima-auth-footlink a{font-weight:800;text-decoration:none;color:#c85b24}
.oima-auth-note{font-size:11px;line-height:1.7;color:#555;margin:13px 0 0}
.oima-auth-footer{border-top:1px solid #ececec;text-align:center;margin-top:26px;padding-top:19px;color:#767676;font-size:10px;line-height:1.6}
.oima-auth-databases{display:block;margin-top:7px;font-size:10px;text-decoration:none}
.oima-auth-page :focus-visible{outline:3px solid #de652870!important;outline-offset:2px}
@media(max-width:767px){
  .oima-auth-page{padding:0;display:block;background:#fff;min-height:100dvh}
  .oima-auth-shell{display:block;border-radius:0;box-shadow:none;width:100%;max-width:100%}
  .oima-auth-brand{min-height:0;padding:26px 26px 27px}
  .oima-auth-logo{max-width:155px}
  .oima-auth-logo img{max-height:50px}
  .oima-auth-hero{padding:24px 0 0}
  .oima-auth-hero h2{font-size:clamp(25px,7.5vw,33px);margin:0 0 12px;letter-spacing:-.03em}
  .oima-auth-hero p{font-size:12px;line-height:1.65}
  .oima-auth-benefits{display:none}
  .oima-auth-brand-footer{display:none}
  .oima-auth-panel{padding:30px clamp(18px,6.5vw,34px) 28px}
  .oima-auth-tabs{margin-bottom:28px}
  .oima-auth-head h1{font-size:28px}
  .oima-auth-head p{font-size:12px;margin-bottom:22px}
  .oima-auth-role{padding:12px 3px;font-size:10px}
  .oima-auth-role i{font-size:19px}
}
@media(max-width:350px){.oima-auth-roles{gap:5px}.oima-auth-role{font-size:9px}.oima-auth-panel{padding-inline:15px}.oima-auth-tabs a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.oima-auth-page *{scroll-behavior:auto!important;transition:none!important}}

/* Code-only fallback: hide the old website navigation/footer around the
   authenticated native Odoo forms after the approved page mounts. */
body.oima-auth-active{margin:0;background:#f4f4f4;overflow-x:clip}
body.oima-auth-active #wrapwrap > header,
body.oima-auth-active #wrapwrap > footer,
body.oima-auth-active header#top,
body.oima-auth-active footer#bottom{display:none!important}
body.oima-auth-active #wrapwrap,
body.oima-auth-active #wrap,
body.oima-auth-active main.oima-auth-page{width:100%;max-width:100%;min-width:0;overflow-x:clip}
body.oima-auth-active .oima-auth-page{padding-block:clamp(12px,2.8vw,34px)}
@media(max-width:767px){
body.oima-auth-active .oima-auth-page{padding:0}
}

/* Hide the legacy website header/footer on XML-upgraded auth pages too. */
body:has(.oima-auth-page) #wrapwrap > header,
body:has(.oima-auth-page) #wrapwrap > footer,
body:has(.oima-auth-page) header#top,
body:has(.oima-auth-page) footer#bottom{display:none!important}
