.auth-modern-body{min-height:100vh;padding:0!important;background:#f5f7fc;color:#172033}
.auth-modern-body .auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(440px,.92fr) minmax(540px,1.08fr)}
.auth-modern-body .auth-brand-panel{position:relative;isolation:isolate;overflow:hidden;padding:clamp(30px,4vw,64px);background:radial-gradient(circle at 20% 15%,rgba(112,142,255,.24),transparent 22rem),linear-gradient(145deg,#0b1732,#172b5b 52%,#2449ad);color:#fff}
.auth-modern-body .auth-brand-panel:before{content:"";position:absolute;z-index:-1;width:580px;height:580px;left:-250px;bottom:-300px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 75px rgba(255,255,255,.035),0 0 0 150px rgba(255,255,255,.02)}
.auth-modern-body .auth-brand-head{display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:2}
.auth-modern-body .auth-brand-head>span{padding:7px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);color:#cbd8f5;font-size:9px}
.auth-modern-body .auth-brand-copy{margin:auto 0;max-width:680px}
.auth-modern-body .auth-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;padding:7px 12px;border-radius:999px;background:rgba(105,140,255,.15);color:#dce6ff;font-size:10px;font-weight:800}
.auth-modern-body .auth-brand-copy h1{max-width:660px;margin:0 0 17px;color:#fff;font-size:clamp(34px,3.8vw,58px);line-height:1.35;letter-spacing:-1.7px}
.auth-modern-body .auth-brand-copy>p{max-width:610px;margin:0;color:#c5d2ed;font-size:14px;line-height:2.1}
.auth-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:34px}
.auth-feature-grid>div{padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:17px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px)}
.auth-feature-grid i{width:38px;height:38px;display:grid;place-items:center;margin-bottom:11px;border-radius:12px;background:rgba(126,155,255,.18);color:#fff;font-style:normal}
.auth-feature-grid strong,.auth-feature-grid span{display:block}.auth-feature-grid strong{font-size:11px;color:#fff}.auth-feature-grid span{margin-top:3px;color:#9fb0d2;font-size:8px;line-height:1.8}
.auth-brand-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2;color:#9fafd0;font-size:9px}.auth-brand-footer span{display:flex;align-items:center;gap:6px}.auth-brand-footer a{color:#d9e3f8}
.auth-modern-body .auth-form-panel{min-width:0;display:flex;align-items:center;justify-content:center;padding:clamp(26px,4.5vw,72px);background:radial-gradient(circle at 85% 5%,rgba(49,89,214,.08),transparent 26rem),#f7f9fd}
.auth-form-wrap{width:min(100%,700px)}
.auth-modern-body .auth-mobile-logo{display:none!important}
.auth-modern-body .auth-form-card{width:min(100%,540px);margin-inline:auto;padding:clamp(26px,3vw,40px);border:1px solid #e2e8f2;border-radius:26px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(20,40,82,.11)}
.auth-modern-body .register-card{width:min(100%,700px)}
.auth-modern-body .auth-form-card>.eyebrow{display:inline-flex;margin-bottom:8px;padding:5px 10px;border-radius:999px;background:#edf2ff;color:#3159d6;font-size:9px}
.auth-modern-body .auth-form-card h1{margin:0 0 7px;font-size:clamp(24px,2.4vw,33px);letter-spacing:-.6px}.auth-modern-body .auth-form-card>p{margin-bottom:24px;color:#748097;font-size:11px}
.auth-modern-body .form-stack{gap:16px}.auth-modern-body .form-stack>label:not(.checkbox-label){display:grid;gap:7px;color:#354158;font-size:10px;font-weight:800}
.auth-modern-body input:not([type=checkbox]):not([type=radio]){height:49px;border:1px solid #dfe5ef;border-radius:13px;background:#fbfcff;padding:0 14px;font-size:12px;transition:.2s}.auth-modern-body input:not([type=checkbox]):not([type=radio]):hover{border-color:#c5d0e5}.auth-modern-body input:not([type=checkbox]):not([type=radio]):focus{border-color:#3159d6;background:#fff;box-shadow:0 0 0 4px rgba(49,89,214,.09);outline:0}
.auth-modern-body .password-field input{width:100%;padding-left:64px}.auth-modern-body .password-field button{left:9px;color:#3159d6;font-size:9px;font-weight:800}
.auth-modern-body .goal-selector{gap:9px}.auth-modern-body .goal-selector label>span{min-height:120px;padding:15px;border-color:#e2e7f0;border-radius:16px}.auth-modern-body .goal-selector input:checked+span{border-color:#3159d6;background:#f0f4ff;box-shadow:0 0 0 3px rgba(49,89,214,.08)}.auth-modern-body .goal-selector b{font-size:10px}.auth-modern-body .goal-selector small{font-size:8px;line-height:1.8}
.auth-modern-body .btn{min-height:48px;border-radius:13px}.auth-modern-body .btn-primary{background:linear-gradient(135deg,#3159d6,#2445ad);box-shadow:0 10px 25px rgba(49,89,214,.18)}.auth-modern-body .btn-outline{border-color:#dbe2ee;background:#fff}
.auth-modern-body .auth-note{padding:10px 12px;border-radius:11px;background:#f3faf7;color:#4b6b5d}.auth-modern-body .auth-divider{margin:20px 0}
.auth-modern-body .back-home{width:max-content;margin:18px auto 0;color:#728096}.auth-legal-links{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:13px;color:#8a95a8;font-size:9px}.auth-legal-links i{width:3px;height:3px;border-radius:50%;background:#b7bfcc}
@media(max-width:1100px){.auth-modern-body .auth-shell{grid-template-columns:minmax(390px,.8fr) minmax(500px,1.2fr)}.auth-feature-grid{grid-template-columns:1fr}.auth-feature-grid>div{display:grid;grid-template-columns:38px 1fr;column-gap:10px}.auth-feature-grid i{grid-row:1/3;margin:0}.auth-modern-body .auth-brand-copy h1{font-size:38px}}
@media(max-width:900px){.auth-modern-body .auth-shell{display:block}.auth-modern-body .auth-brand-panel{display:none}.auth-modern-body .auth-form-panel{min-height:100vh;align-items:flex-start;padding:26px 18px 40px}.auth-modern-body .auth-mobile-logo{display:flex!important;align-items:center;justify-content:space-between;margin:0 auto 20px;width:min(100%,700px)}.auth-modern-body .auth-mobile-logo span{padding:6px 10px;border-radius:999px;background:#eaf0ff;color:#3159d6;font-size:8px;font-weight:800}}
@media(max-width:600px){.auth-modern-body .auth-form-panel{padding:18px 12px 32px}.auth-modern-body .auth-mobile-logo{padding-inline:7px}.auth-modern-body .auth-form-card{padding:23px 17px;border-radius:20px}.auth-modern-body .form-row,.auth-modern-body .goal-selector{grid-template-columns:1fr!important}.auth-modern-body .goal-selector label>span{min-height:0;display:grid;grid-template-columns:31px 1fr;column-gap:10px}.auth-modern-body .goal-selector svg{grid-row:1/3;margin:0}.auth-modern-body .form-options{align-items:flex-start}.auth-legal-links{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.auth-modern-body *{transition:none!important}}
.register-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:22px 0 28px;padding:0;list-style:none}.register-progress li{position:relative;display:grid;justify-items:center;gap:6px;color:#9aa5b7;font-size:9px}.register-progress li:not(:last-child):after{content:"";position:absolute;top:16px;right:calc(50% + 22px);width:calc(100% - 44px);height:2px;background:#e7ebf2}.register-progress b{position:relative;z-index:1;width:34px;height:34px;display:grid;place-items:center;border:1px solid #e0e6f0;border-radius:50%;background:#fff}.register-progress .active,.register-progress .done{color:#3159d6;font-weight:800}.register-progress .active b,.register-progress .done b{border-color:#3159d6;background:#3159d6;color:#fff}.register-progress .done:not(:last-child):after{background:#3159d6}
.register-wizard.is-enhanced .register-step{display:none}.register-wizard.is-enhanced .register-step.active{display:grid;gap:16px;animation:register-in .2s ease}.register-step-head small{color:#3159d6;font-size:9px;font-weight:900}.register-step-head h2{margin:4px 0 3px;font-size:18px}.register-step-head p{margin:0;color:#7b879b;font-size:9px}.register-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.register-actions .btn{min-width:130px}.legal-register-link{width:100%;display:flex;align-items:center;gap:11px;margin-top:12px;padding:11px 13px;border:1px dashed #cbd5e1;border-radius:14px;background:#fafbfe;color:#536078;text-align:right;cursor:pointer}.legal-register-link>span{display:grid;gap:2px;flex:1}.legal-register-link b{font-size:10px}.legal-register-link small{color:#8a95a8;font-size:8px}.legal-register-link.selected{border-style:solid;border-color:#3159d6;background:#f0f4ff;color:#2445ad}.company-fields{display:grid;gap:14px;padding:17px;border:1px solid #dfe6f2;border-radius:17px;background:#f8faff}.company-fields[hidden]{display:none!important}.company-fields-title{display:flex;align-items:center;gap:9px;color:#283954}.company-fields-title div{display:grid}.company-fields-title strong{font-size:11px}.company-fields-title small{color:#7f8ba0;font-size:8px}.auth-modern-body select{height:49px;border:1px solid #dfe5ef;border-radius:13px;background:#fbfcff;padding:0 13px;font:inherit;color:#29364d}.password-strength{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;color:#8b96a8;font-size:8px}.password-strength i{height:5px;border-radius:999px;background:linear-gradient(to left,#e6eaf1 25%,#e6eaf1 25%)}.password-strength[data-score="1"] i{background:linear-gradient(to left,#ef4444 25%,#e6eaf1 25%)}.password-strength[data-score="2"] i{background:linear-gradient(to left,#f59e0b 50%,#e6eaf1 50%)}.password-strength[data-score="3"] i{background:linear-gradient(to left,#3b82f6 75%,#e6eaf1 75%)}.password-strength[data-score="4"] i{background:#10b981}.register-summary{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:13px;background:#f1f5ff;color:#34466a;font-size:9px}.register-summary span{color:#71809a}@keyframes register-in{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:600px){.register-wizard,.register-wizard form,.register-step,.company-fields{width:100%;max-width:100%;min-width:0}.register-progress{margin:16px -4px 22px}.register-progress li{min-width:0;text-align:center}.register-progress li span{max-width:74px;font-size:7.5px;line-height:1.6}.register-actions{position:sticky;bottom:8px;z-index:3;padding:9px;border:1px solid #e5eaf2;border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 8px 30px rgba(20,40,82,.12);backdrop-filter:blur(10px)}.register-actions .btn{min-width:0;flex:1;padding-inline:8px}.register-step-head h2{font-size:16px}.company-fields{padding:12px}.company-fields .form-row{display:grid;grid-template-columns:1fr!important}.company-fields input,.company-fields select{width:100%;max-width:100%}.legal-register-link{align-items:flex-start;padding:12px}.register-summary{display:grid}.auth-modern-body .register-card{overflow:hidden}}

/* Karkon 2.7.1 — mobile registration containment and touch fixes */
.auth-modern-body,.auth-modern-body .auth-shell,.auth-modern-body .auth-form-panel,.auth-form-wrap,.register-wizard,.register-wizard form,.register-step{max-width:100%;min-width:0}
.auth-modern-body .auth-shell{width:100%}
.register-wizard input,.register-wizard select,.register-wizard textarea,.register-wizard button{max-width:100%}
.register-step[aria-hidden="true"]{visibility:hidden}
.register-step.active{visibility:visible}
.company-fields[hidden],.company-fields[hidden] *{display:none!important}
@media(max-width:900px){
 .auth-modern-body{width:100%;overflow-x:clip}
 .auth-modern-body .auth-shell,.auth-modern-body .auth-form-panel,.auth-form-wrap{width:100%}
 .auth-modern-body .auth-form-panel{overflow:visible}
}
@media(max-width:600px){
 .auth-modern-body .auth-form-panel{padding:max(12px,env(safe-area-inset-top)) 10px calc(28px + env(safe-area-inset-bottom))}
 .auth-modern-body .auth-mobile-logo{width:100%;margin-bottom:14px;padding-inline:4px}
 .auth-modern-body .auth-mobile-logo img{width:112px;height:auto}
 .auth-modern-body .auth-form-card,.auth-modern-body .register-card{width:100%;max-width:100%;padding:20px 14px;border-radius:18px;overflow:visible;box-shadow:0 14px 42px rgba(20,40,82,.09)}
 .auth-modern-body .auth-form-card h1{font-size:22px;line-height:1.55}
 .auth-modern-body .auth-form-card>p{margin-bottom:17px;line-height:1.9}
 .register-progress{width:100%;margin:14px 0 20px}
 .register-progress li{gap:5px;padding-inline:2px}
 .register-progress b{width:30px;height:30px;font-size:10px}
 .register-progress li:not(:last-child):after{top:14px;right:calc(50% + 19px);width:calc(100% - 38px)}
 .register-progress li span{max-width:none;font-size:8px;white-space:normal}
 .register-wizard.is-enhanced .register-step.active{gap:14px}
 .register-step-head h2{font-size:16px;line-height:1.65}
 .register-step-head p{font-size:9px;line-height:1.9}
 .auth-modern-body .form-row,.auth-modern-body .goal-selector,.company-fields .form-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:11px}
 .auth-modern-body .goal-selector label,.auth-modern-body .goal-selector label>span{width:100%;min-width:0}
 .auth-modern-body .goal-selector label>span{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:11px;padding:13px;min-height:76px}
 .auth-modern-body .goal-selector svg{grid-row:1/3;margin:0}
 .auth-modern-body .goal-selector b{font-size:11px}
 .auth-modern-body .goal-selector small{font-size:8.5px}
 .legal-register-link{width:100%;min-height:64px;align-items:center;padding:11px;gap:9px}
 .legal-register-link>svg:last-child{width:15px;flex:none}
 .company-fields{width:100%;padding:12px 10px;overflow:visible}
 .company-fields-title{align-items:flex-start}
 .auth-modern-body input:not([type=checkbox]):not([type=radio]),.auth-modern-body select{width:100%;min-width:0;height:48px;font-size:16px}
 .auth-modern-body .password-field{width:100%;min-width:0}
 .auth-modern-body .password-field input{padding-left:66px}
 .terms-check{align-items:flex-start!important;line-height:1.9}
 .terms-check input{flex:none;margin-top:5px}
 .register-actions{position:static;width:100%;margin-top:5px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
 .register-actions .btn{width:auto;min-width:0;min-height:48px;flex:1;white-space:normal;text-align:center;line-height:1.6;padding:9px 8px}
 .register-actions-next .btn{width:100%;flex-basis:100%}
 .register-actions-next>span{display:none}
 .register-summary{grid-template-columns:1fr;line-height:1.8}
 .auth-modern-body .btn-block{width:100%}
 .auth-modern-body .back-home{max-width:100%;text-align:center}
}
@media(max-width:360px){
 .auth-modern-body .auth-form-panel{padding-inline:7px}
 .auth-modern-body .auth-form-card,.auth-modern-body .register-card{padding-inline:11px;border-radius:15px}
 .register-progress li span{font-size:7px}
 .register-actions{display:grid;grid-template-columns:1fr 1fr}
 .register-actions-next{grid-template-columns:1fr}
}

/* Karkon 2.8.0 — hard viewport boundary for narrow mobile browsers */
html:has(body.auth-modern-body){width:100%;max-width:100%;overflow-x:hidden!important}
body.auth-modern-body{position:relative;width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none}
.auth-modern-body .auth-shell,.auth-modern-body .auth-form-panel,.auth-modern-body .auth-form-wrap,.auth-modern-body .auth-form-card,.auth-modern-body .register-wizard,.auth-modern-body .form-stack,.auth-modern-body .register-step{box-sizing:border-box;max-inline-size:100%;min-inline-size:0}
.auth-modern-body .register-wizard *{min-inline-size:0}
@media(max-width:600px){
 body.auth-modern-body{inline-size:100%;max-inline-size:100vw}
 .auth-modern-body .auth-shell{display:block!important;inline-size:100%;overflow-x:hidden}
 .auth-modern-body .auth-form-panel{display:block!important;inline-size:100%;max-inline-size:100%;overflow-x:hidden}
 .auth-modern-body .auth-form-wrap,.auth-modern-body .auth-form-card,.auth-modern-body .register-card{inline-size:100%!important;max-inline-size:100%!important;margin-inline:0}
 .auth-modern-body .auth-mobile-logo,.register-progress,.register-step,.register-actions,.legal-register-link,.company-fields{inline-size:100%;max-inline-size:100%;overflow-x:hidden}
 .register-progress{grid-template-columns:repeat(3,minmax(0,1fr))}
 .register-progress li,.register-progress li span,.register-step-head,.company-fields-title>div,.legal-register-link>span{overflow-wrap:anywhere;word-break:normal}
 .register-progress li:not(:last-child):after{max-width:calc(100% - 38px)}
 .register-actions{flex-wrap:wrap}
 .register-actions .btn{max-inline-size:100%}
 .auth-modern-body input,.auth-modern-body select,.auth-modern-body textarea{inline-size:100%;max-inline-size:100%;min-inline-size:0}
}
