/* IndiVillage theme for Label Studio — per IndiVillage-Style-Guide.md v1.0 */
:root{
  --iv-primary:#A7354D;--iv-primary-deep:#7E2238;--iv-primary-glow:#D45A74;
  --iv-primary-light:#B84261;--iv-berry:#5C1528;--iv-footer:#A04053;
  --iv-cream:#FDF6F0;--iv-border:#E8E0DA;--iv-text:#1A1A2E;--iv-text-mid:#4A4A5A;
  --iv-text-light:#8A8A9A;--iv-muted:#C4BFBC;
}
/* Manrope on text/controls (controls don't inherit font; icons are SVG so unaffected) */
body,button,input,select,textarea,optgroup,h1,h2,h3,h4,h5,h6,p,a,span,label,div{
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}

/* ===================== LOGIN PAGE ===================== */
.login_page_new_ui{background:var(--iv-cream) !important;}
.login_page_new_ui .left{
  background:linear-gradient(160deg,#B84261 0%,#A7354D 35%,#7E2238 70%,#5C1528 100%) !important;
  position:relative;overflow:hidden;color:#fff !important;
}
.login_page_new_ui .left>*:not(.iv-brand):not(.iv-blob){display:none !important;}
.login_page_new_ui .right{background:var(--iv-cream) !important;}
.login_page_new_ui .ls-logo,.login_page_new_ui .hs-logo,.login_page_new_ui .by{display:none !important;}
.login_page_new_ui .title{color:var(--iv-text) !important;font-weight:700 !important;letter-spacing:-.5px;}
.login_page_new_ui .description,.login_page_new_ui .tips{color:var(--iv-text-mid) !important;}

.iv-brand{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;height:100%;box-sizing:border-box;padding:56px 64px;}
.iv-brand .iv-logo{height:48px;width:auto;filter:brightness(0) invert(1);opacity:.95;margin-bottom:40px;}
.iv-brand .iv-tagline{font-size:52px;font-weight:800;letter-spacing:-1.5px;line-height:1.15;margin:0 0 18px;}
.iv-brand .iv-mission{font-size:16px;line-height:1.7;opacity:.85;max-width:420px;font-weight:400;}
.iv-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.2;animation:ivfloat 20s ease-in-out infinite;z-index:1;}
@keyframes ivfloat{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(30px,-40px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(15px,35px) scale(1.02)}}
@media (max-width:960px){.iv-brand{padding:36px 32px}.iv-brand .iv-tagline{font-size:32px}.iv-brand .iv-mission{display:none}}

/* inputs */
.lsf-input-ls,.login_page_new_ui input[type=email],.login_page_new_ui input[type=password]{
  border:1.5px solid var(--iv-border) !important;border-radius:10px !important;
  padding:13px 16px !important;color:var(--iv-text) !important;font-size:15px !important;background:#fff !important;
}
.lsf-input-ls:focus,.login_page_new_ui input:focus{
  border-color:var(--iv-primary) !important;box-shadow:0 0 0 3px rgba(167,53,77,.08) !important;outline:none !important;
}
/* primary button */
.login-button,.login_page_new_ui button[type=submit]{
  background:var(--iv-primary) !important;color:#fff !important;border:none !important;border-radius:10px !important;
  padding:14px !important;font-weight:600 !important;transition:background .2s,transform .1s,box-shadow .2s !important;
}
.login-button:hover,.login_page_new_ui button[type=submit]:hover{
  background:var(--iv-primary-deep) !important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(167,53,77,.3) !important;
}
/* checkbox accent */
.lsf-checkbox-ls input:checked+*,.login_page_new_ui input[type=checkbox]{accent-color:var(--iv-primary) !important;}

/* ===================== APP (post-login) best-effort recolor ===================== */
a{color:var(--iv-primary);}
.lsf-button_look_primary,.ls-button_look_primary,[class*="button"][class*="primary"]{
  background:var(--iv-primary) !important;border-color:var(--iv-primary) !important;color:#fff !important;
}
.lsf-button_look_primary:hover,.ls-button_look_primary:hover{background:var(--iv-primary-deep) !important;}
/* top menubar / brand bar */
.lsf-menu-header,.app-header,header[class*="menubar"],[class*="MenuHeader"]{
  background:var(--iv-primary) !important;border-bottom:1px solid var(--iv-primary-deep) !important;
}

/* --- fixes: kill LS ::after blocks decoration + stop flex from stretching logo --- */
.login_page_new_ui .left::after,.login_page_new_ui .left::before{display:none !important;content:none !important;background:none !important;}
.login_page_new_ui .left iframe{display:none !important;}
.iv-brand{align-items:flex-start !important;}
.iv-brand .iv-logo{align-self:flex-start !important;width:auto !important;max-width:260px !important;height:44px !important;object-fit:contain !important;}

/* signup disabled (manual user creation only) — hide signup affordances on login */
.login_page_new_ui a[href*="signup"],.login_page_new_ui a[href*="sign-up"]{display:none !important;}

/* co-brand lockup: IndiVillage | ViHM */
.iv-lockup{display:flex;align-items:center;gap:22px;margin-bottom:40px;}
.iv-lockup .iv-logo{height:46px;width:auto;max-width:none;margin:0 !important;filter:brightness(0) invert(1);opacity:.95;}
.iv-lockup .iv-divider{width:1px;height:42px;background:rgba(255,255,255,.35);flex:0 0 auto;}

/* in-app header co-brand logo (replaces Label Studio wordmark) */
.iv-app-lockup{display:inline-flex;align-items:center;gap:12px;}
.iv-app-lockup .iv-applogo{height:22px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.97;}
.iv-app-lockup .iv-appdiv{width:1px;height:18px;background:rgba(255,255,255,.4);flex:0 0 auto;}
