/* Imara Flow auth/onboarding correction phase — 2026-06-17 */
:root{
  --if-navy:#020F2A;--if-blue:#2563EB;--if-blue-dark:#1D4ED8;--if-gold:#D7A642;
  --if-bg:#F7FAFC;--if-card:#FFFFFF;--if-border:#DDE6F2;--if-text:#020F2A;--if-muted:#4B5873;--if-soft:#667085;
  --if-danger:#B42318;--if-success:#067647;--if-ease:cubic-bezier(.22,1,.36,1);
  --if-shadow:0 24px 70px rgba(2,15,42,.10);
}
.authPage,.setupPage{background:var(--if-bg)!important;color:var(--if-text)!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;overflow-x:hidden!important;}
.authPage *,.setupPage *{box-sizing:border-box;}
.authPage h1,.authPage h2,.authPage h3,.setupPage h1,.setupPage h2,.setupPage h3{color:var(--if-text)!important;letter-spacing:-.045em;}
.authPage p,.setupPage p{color:var(--if-muted)!important;}
.authPage label,.setupPage label{color:var(--if-text)!important;}
.authPage input,.authPage select,.authPage textarea,.setupPage input,.setupPage select,.setupPage textarea{color:var(--if-text)!important;background:#fff!important;border-color:var(--if-border)!important;}
.authPage input::placeholder,.setupPage input::placeholder,.authPage textarea::placeholder,.setupPage textarea::placeholder{color:#7C879B!important;}
.authPage input:focus,.authPage select:focus,.authPage textarea:focus,.setupPage input:focus,.setupPage select:focus,.setupPage textarea:focus{border-color:var(--if-blue)!important;box-shadow:0 0 0 4px rgba(37,99,235,.12)!important;outline:0!important;}
.authPage button,.setupPage button,.authPage .btn,.setupPage .btn{appearance:none;-webkit-appearance:none;border:0;border-radius:999px;min-height:48px;font-weight:900;cursor:pointer;transition:transform .2s var(--if-ease),box-shadow .2s var(--if-ease),background .2s var(--if-ease),border-color .2s var(--if-ease),opacity .2s var(--if-ease);}
.authPage .btn.primary,.setupPage .btn.primary,.verifySubmit,.resendBtn,.loginPrimaryBtn{background:linear-gradient(135deg,var(--if-blue),#0B5FFF)!important;color:#fff!important;border:1px solid transparent!important;box-shadow:0 15px 34px rgba(37,99,235,.25)!important;}
.authPage .btn.primary:hover,.setupPage .btn.primary:hover,.verifySubmit:hover,.resendBtn:hover,.loginPrimaryBtn:hover{transform:translateY(-1px);background:linear-gradient(135deg,var(--if-blue-dark),var(--if-blue))!important;}
.authPage button[disabled],.setupPage button[disabled]{opacity:.68!important;cursor:not-allowed!important;transform:none!important;}
.authAlert,.authPage .alert,.setupPage .alert{border:1px solid #FECACA!important;background:#FEF2F2!important;color:var(--if-danger)!important;border-radius:16px!important;padding:13px 15px!important;font-weight:850!important;line-height:1.45!important;display:flex;gap:10px;align-items:flex-start;}
.authPage .success,.setupPage .success{border:1px solid #ABEFC6!important;background:#ECFDF3!important;color:var(--if-success)!important;border-radius:16px!important;padding:13px 15px!important;font-weight:850!important;line-height:1.45!important;}
.authNotice{border:1px solid #BFDBFE;background:#EFF6FF;color:#1D4ED8;border-radius:16px;padding:13px 15px;font-weight:850;line-height:1.45;margin:0 0 16px;}
/* Registration refinements */
.authRegisterShellPremium{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(420px,.78fr)!important;gap:34px!important;align-items:center!important;width:min(100% - 44px,1500px)!important;margin:0 auto!important;padding:22px 0 42px!important;}
.registerVisualPanel{min-height:calc(100vh - 128px);display:flex!important;flex-direction:column!important;justify-content:center!important;padding:34px!important;border:1px solid var(--if-border)!important;border-radius:34px!important;background:linear-gradient(140deg,#FFFFFF,#F8FBFF)!important;box-shadow:var(--if-shadow)!important;overflow:hidden!important;}
.registerVisualPanel h1{font-size:clamp(42px,4.5vw,64px)!important;line-height:1!important;max-width:820px!important;margin:18px 0 12px!important;}
.registerVisualPanel .loginLead{font-size:16px!important;line-height:1.65!important;max-width:780px!important;color:var(--if-muted)!important;}
.registerImageScene{margin:22px 0 18px!important;border:1px solid var(--if-border)!important;border-radius:28px!important;background:#fff!important;box-shadow:0 20px 60px rgba(2,15,42,.08)!important;padding:14px!important;position:relative!important;overflow:hidden!important;}
.registerImageScene:before{content:"";position:absolute;inset:auto 12px 12px 12px;height:42%;border-radius:22px;background:linear-gradient(180deg,transparent,rgba(2,15,42,.50));z-index:1;pointer-events:none;}
.registerImageScene img{display:block;width:100%!important;height:clamp(260px,32vh,380px)!important;max-height:none!important;object-fit:cover!important;border-radius:22px!important;background:#EFF6FF!important;}
.registerMiniCards{z-index:2!important;left:26px!important;right:26px!important;bottom:26px!important;gap:10px!important;}
.registerMiniCards article{min-width:0!important;padding:13px!important;border-radius:17px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(16px)!important;}
.registerMiniCards article:nth-child(2){animation-delay:.06s}.registerMiniCards article:nth-child(3){animation-delay:.12s}
.registerMiniCards b,.registerMiniCards small{white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;}
.registerCardPremium{width:100%!important;max-width:560px!important;margin:0 auto!important;border:1px solid var(--if-border)!important;border-radius:30px!important;box-shadow:var(--if-shadow)!important;background:#fff!important;padding:34px!important;}
.registerCardPremium h2{font-size:clamp(28px,3vw,38px)!important;line-height:1.05!important;margin:10px 0 8px!important;}
.registerCardPremium .fieldStack{gap:14px!important;}
.premiumField>span,.setupFormFinal .field label{font-size:13px!important;font-weight:900!important;color:var(--if-text)!important;margin-bottom:7px!important;}
.premiumField>div:not(.phoneInputGroup){min-height:54px!important;border:1px solid var(--if-border)!important;border-radius:17px!important;background:#fff!important;box-shadow:none!important;}
.premiumField input{min-height:52px!important;font-size:15px!important;}
.passwordHint{font-size:12px!important;color:var(--if-soft)!important;margin:-4px 0 2px!important;}
/* Phone country selector */
.imaraPhoneField{display:grid!important;gap:7px!important;min-width:0!important;}
.imaraPhoneField>span,.imaraPhoneField>label{font-size:13px!important;font-weight:900!important;color:var(--if-text)!important;}
.phoneInputGroup{display:grid!important;grid-template-columns:minmax(145px,.52fr) minmax(0,1fr)!important;align-items:center!important;gap:8px!important;background:#fff!important;border:1px solid var(--if-border)!important;border-radius:17px!important;padding:6px!important;min-height:56px!important;overflow:visible!important;}
.phoneInputGroup select{width:100%!important;min-width:0!important;min-height:44px!important;border:0!important;border-right:1px solid var(--if-border)!important;border-radius:12px!important;padding:0 12px!important;background:#F8FBFF!important;color:var(--if-text)!important;font-size:13px!important;font-weight:850!important;box-shadow:none!important;outline:0!important;}
.phoneInputGroup input{width:100%!important;min-width:0!important;min-height:44px!important;border:0!important;border-radius:12px!important;padding:0 12px!important;background:#fff!important;color:var(--if-text)!important;font-size:15px!important;font-weight:750!important;box-shadow:none!important;outline:0!important;}
.phoneInputGroup:focus-within{border-color:var(--if-blue)!important;box-shadow:0 0 0 4px rgba(37,99,235,.12)!important;}
.phoneHelper{display:block!important;color:var(--if-soft)!important;font-size:12px!important;font-weight:700!important;line-height:1.35!important;}
.phoneHelper.is-error{color:var(--if-danger)!important;}
.phoneHelper.is-warning{color:#92400E!important;}
/* Verification */
.verifyShell{width:min(100% - 44px,1240px);margin:0 auto;padding:28px 0 54px;min-height:calc(100vh - 104px);display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.72fr);gap:28px;align-items:center;}
.verifyVisualPanel,.verifyCard,.verifyResendCard{border:1px solid var(--if-border);background:#fff;border-radius:30px;box-shadow:var(--if-shadow);}
.verifyVisualPanel{padding:34px;overflow:hidden;position:relative;background:linear-gradient(140deg,#fff,#F7FAFC);}
.verifyBadge,.verifyCardTop span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#EFF6FF;color:var(--if-blue);border:1px solid #BFDBFE;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;}
.verifyVisualPanel h1{font-size:clamp(34px,4vw,54px);line-height:1.02;margin:20px 0 12px;max-width:760px;}
.verifyVisualPanel p{font-size:16px;line-height:1.7;max-width:700px;}
.verifyImageCard{position:relative;margin-top:26px;border-radius:26px;overflow:hidden;border:1px solid var(--if-border);background:#F8FBFF;min-height:330px;}
.verifyImageCard img{display:block;width:100%;height:390px;object-fit:cover;}
.verifyImageCard:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(2,15,42,.68));pointer-events:none;}
.verifyTrustPoints{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.verifyTrustPoints span{background:rgba(255,255,255,.92);border:1px solid rgba(221,230,242,.92);border-radius:16px;padding:13px;color:var(--if-muted);font-weight:850;font-size:12px;}
.verifyTrustPoints b{display:block;color:var(--if-text);font-size:18px;line-height:1.1;}
.verifyImageFallback,.setupImageFallback{display:none;position:absolute;inset:0;place-items:center;text-align:center;color:var(--if-blue);background:#EFF6FF;}
.has-fallback img{display:none!important}.has-fallback .verifyImageFallback,.has-fallback .setupImageFallback{display:grid!important;}
.verifyFormPanel{display:grid;gap:16px;}
.verifyCard{padding:32px;}
.verifyCardTop{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;}
.verifyCardTop img{max-width:170px;max-height:48px;object-fit:contain;}
.verifyCard h2{font-size:clamp(28px,3vw,38px);line-height:1.05;margin:0 0 8px;}
.verifyCard>p{line-height:1.6;margin:0 0 18px;}
.verifyCodeField{display:grid;gap:8px;margin-top:12px;}
.verifyCodeField>span{font-size:13px;font-weight:900;color:var(--if-text);}
.verifyCodeField input{width:100%;min-height:64px;border:1px solid var(--if-border);border-radius:20px;text-align:center;font-size:28px;font-weight:950;letter-spacing:.32em;padding:0 16px;font-variant-numeric:tabular-nums;}
.codeMeta{display:flex;justify-content:space-between;gap:12px;margin:10px 0 16px;color:var(--if-soft);font-size:12px;font-weight:750;line-height:1.35;}
.verifySubmit{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;}
.verifyBackLink{display:block;text-align:center;margin-top:14px;color:var(--if-blue);font-weight:900;text-decoration:none;}
.verifyResendCard{padding:20px 22px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;}
.verifyResendCard p{margin:0;font-weight:900;color:var(--if-text)!important;}
.verifyResendCard .codeMeta{grid-column:1/-1;margin:0;display:block;}
.resendBtn{min-height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;}
/* Onboarding */
.setupWizardFinal{width:min(100% - 36px,1280px)!important;margin:0 auto!important;padding:22px 0 56px!important;}
.setupGridFinal{display:grid!important;grid-template-columns:minmax(300px,.42fr) minmax(0,.58fr)!important;gap:22px!important;align-items:start!important;}
.setupPanelFinal,.setupFormFinal{border:1px solid var(--if-border)!important;background:#fff!important;color:var(--if-text)!important;border-radius:30px!important;box-shadow:var(--if-shadow)!important;}
.setupPanelFinal{position:sticky!important;top:18px!important;padding:26px!important;display:grid!important;gap:18px!important;}
.setupPanelFinal .kicker{color:var(--if-blue)!important;font-weight:950;text-transform:uppercase;letter-spacing:.12em;margin:0!important;}
.setupPanelFinal h1{font-size:clamp(28px,3vw,42px)!important;line-height:1.04!important;margin:0!important;}
.setupPanelFinal p{line-height:1.62!important;margin:0!important;}
.setupProgress{display:grid!important;gap:8px!important;margin:0!important;}
.progressItem{display:flex!important;align-items:center!important;gap:10px!important;border:1px solid var(--if-border)!important;background:#F8FBFF!important;color:var(--if-muted)!important;border-radius:15px!important;padding:9px 10px!important;min-width:0!important;}
.progressItem b{width:27px;height:27px;border-radius:999px;display:grid;place-items:center;background:#EAF1FF;color:var(--if-blue);font-size:12px;font-weight:950;flex:0 0 auto;}
.progressItem span{font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit!important;}
.progressItem.active{border-color:#BFDBFE!important;background:#EFF6FF!important;color:var(--if-text)!important;box-shadow:0 10px 26px rgba(37,99,235,.10);}
.progressItem.done b{background:#ECFDF3;color:var(--if-success);}
.setupStepVisual{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--if-border);background:#EFF6FF;min-height:180px;}
.setupStepVisual img{display:block;width:100%;height:210px;object-fit:cover;}
.setupPreview{border:1px solid var(--if-border)!important;background:#F8FBFF!important;border-radius:20px!important;padding:16px!important;margin:0!important;}
.setupPreview small{display:block;color:var(--if-soft);font-weight:950;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.setupPreview h3{margin:0 0 6px!important;font-size:18px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.setupPreview strong{display:block;margin-top:8px;color:var(--if-blue);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.setupFormFinal{padding:30px!important;min-height:620px;}
.setupFormFinal h1{font-size:clamp(30px,3.5vw,46px)!important;line-height:1.04!important;margin:0 0 8px!important;}
.setupFormFinal>p{font-size:15px;line-height:1.65;margin:0 0 22px!important;}
.setupFormFinal .formGrid{display:grid!important;gap:16px!important;}
.setupFormFinal .twoCols{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.setupFormFinal .field{display:grid!important;gap:7px!important;min-width:0!important;}
.setupFormFinal input:not([type="checkbox"]),.setupFormFinal select,.setupFormFinal textarea{width:100%!important;min-height:54px!important;border:1px solid var(--if-border)!important;border-radius:17px!important;padding:0 15px!important;font-weight:750!important;font-size:15px!important;}
.setupFormFinal textarea{min-height:110px!important;padding:14px 15px!important;}
.setupFormFinal input[type="file"]{padding:13px!important;height:auto!important;background:#F8FBFF!important;}
.setupFormFinal input[type="color"]{padding:7px!important;min-height:54px!important;}
.setupFormFinal .inputWrap{display:contents!important;}
.setupFormFinal .inputIcon{display:none!important;}
.setupFormFinal small{color:var(--if-soft);font-size:12px;font-weight:700;line-height:1.35;}
.setupActions{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:4px!important;}
.setupActions .btn,.setupActions .skipBtn{min-height:52px!important;padding:0 18px!important;}
.skipBtn{background:#fff!important;border:1px solid var(--if-border)!important;color:var(--if-text)!important;box-shadow:none!important;}
.skipBtn:hover{border-color:#B9CBED!important;box-shadow:0 12px 30px rgba(2,15,42,.08)!important;}
.kycLock,.setupNotice{border:1px solid #F3D38B!important;background:#FFF8E7!important;color:#5B4500!important;border-radius:18px!important;padding:14px 16px!important;font-weight:800!important;line-height:1.5!important;}
.rememberRow{display:flex!important;gap:10px!important;align-items:center!important;border:1px solid var(--if-border);border-radius:17px;padding:14px 15px;background:#F8FBFF;}
.rememberRow input{width:18px!important;height:18px!important;min-height:18px!important;}
.mobileStepBar,.setupMobileTop{display:none;}
/* Sidebar hardening for active dashboard shell */
.dashSidebar,.dashSidebar *{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;text-orientation:mixed!important;writing-mode:horizontal-tb!important;}
.sideTrial.sideMetaCompact,.sideHelp.sideMetaCompact{min-width:0!important;max-width:100%!important;overflow:hidden!important;}
.sideTrial.sideMetaCompact small,.sideTrial.sideMetaCompact p,.sideTrial.sideMetaCompact strong,.sideTrial.sideMetaCompact span,.sideHelp.sideMetaCompact p,.sideHelp.sideMetaCompact span{min-width:0!important;max-width:100%!important;word-break:normal!important;overflow-wrap:normal!important;}
.sideTrial.sideMetaCompact p,.sideTrial.sideMetaCompact strong,.sideHelp.sideMetaCompact p{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.sideTrial.sideMetaCompact span,.sideHelp.sideMetaCompact span{white-space:normal!important;line-height:1.35!important;}
.sideLogoMark img{object-fit:contain!important;filter:none!important;}
/* Generic image fallback */
.imara-image-fallback{display:grid;place-items:center;gap:6px;min-height:120px;border-radius:16px;background:#EFF6FF;color:var(--if-blue);font-weight:900;text-align:center;padding:16px;}
.imara-image-fallback .material-symbols-outlined{font-size:28px;}
@media(prefers-reduced-motion:no-preference){
  .verifyVisualPanel,.verifyCard,.verifyResendCard,.setupPanelFinal,.setupFormFinal,.registerCardPremium,.registerImageScene{animation:ifFadeUp .42s var(--if-ease) both;}
  .registerMiniCards article,.progressItem.done b{animation:ifPop .38s var(--if-ease) both;}
  .setupFormFinal.is-shaking,.verifyCard.is-shaking,.registerCardPremium.is-shaking{animation:ifShake .26s ease-in-out both;}
  @keyframes ifFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  @keyframes ifPop{from{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}
  @keyframes ifShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
@media(max-width:1100px){
  .authRegisterShellPremium,.verifyShell,.setupGridFinal{grid-template-columns:1fr!important;width:min(100% - 28px,760px)!important;}
  .registerVisualPanel,.verifyVisualPanel,.setupPanelFinal{display:none!important;}
  .registerCardPremium,.verifyCard,.verifyResendCard,.setupFormFinal{max-width:100%!important;border-radius:24px!important;}
  .setupMobileTop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--if-border);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(2,15,42,.06);}
  .setupMobileTop img{max-width:140px;max-height:38px;object-fit:contain;}.setupMobileTop span{font-size:12px;font-weight:950;color:var(--if-blue);}
  .mobileStepBar{display:grid;gap:4px;border:1px solid var(--if-border);background:#F8FBFF;border-radius:16px;padding:12px 14px;margin:0 0 18px;}.mobileStepBar span{color:var(--if-soft);font-size:12px;font-weight:900}.mobileStepBar b{color:var(--if-text);}
}
@media(max-width:640px){
  .authPage .navin,.setupPage .navin{height:auto!important;padding:12px 0!important;}
  .authRegisterShellPremium,.verifyShell,.setupWizardFinal{width:min(100% - 24px,520px)!important;padding:14px 0 32px!important;}
  .registerCardPremium,.verifyCard,.verifyResendCard,.setupFormFinal{padding:22px!important;border-radius:22px!important;box-shadow:0 16px 44px rgba(2,15,42,.08)!important;}
  .registerCardPremium h2,.verifyCard h2,.setupFormFinal h1{font-size:28px!important;}
  .registerCardPremium p,.verifyCard p,.setupFormFinal>p{font-size:14px!important;line-height:1.55!important;}
  .premiumField>div:not(.phoneInputGroup),.premiumField input,.setupFormFinal input:not([type="checkbox"]),.setupFormFinal select{min-height:52px!important;}
  .phoneInputGroup{grid-template-columns:1fr!important;gap:6px!important;padding:7px!important;}
  .phoneInputGroup select{border-right:0!important;border-bottom:1px solid var(--if-border)!important;min-height:44px!important;}
  .verifyCodeField input{min-height:58px;font-size:24px;letter-spacing:.22em;}
  .codeMeta{display:grid;gap:5px;}
  .verifyResendCard{grid-template-columns:1fr;}.resendBtn{width:100%;}
  .setupFormFinal .twoCols{grid-template-columns:1fr!important;}
  .setupActions{display:grid!important;grid-template-columns:1fr!important;}.setupActions .btn,.setupActions .skipBtn,.setupFormFinal>button.btn{width:100%!important;}
}
