/* InformaDent library: brand design kit v1.1 / approved logo system 2026.2.
   Scoped functional login stylesheet; no application-wide style overrides. */
@font-face{font-family:'Public Sans';src:url('PublicSans.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Geist;src:url('Geist-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
.id-login{--id-midnight:#010d31;--id-signal:#ffc107;--id-mist:#f0f7f6;--id-white:#fff;--id-eucalyptus-soft:#dce9e6;--id-border:#778b88;--id-error:#ae2e24;--id-success:#216e4e;box-sizing:border-box;margin:0;min-height:100vh;min-height:100svh;background:var(--id-mist);color:var(--id-midnight);font:400 16px/1.6 'Public Sans',Arial,sans-serif;position:relative;isolation:isolate}
.id-login *,.id-login *::before,.id-login *::after{box-sizing:inherit}
.id-login a{color:inherit;text-decoration:none}
.id-login button,.id-login input{font:inherit}
.id-login button,.id-login a{-webkit-tap-highlight-color:transparent}
.id-login [hidden]{display:none!important}
.id-login :focus-visible{outline:3px solid var(--id-midnight);outline-offset:4px}
.id-login-background{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 92% 5%,#fff 0,transparent 54%),linear-gradient(125deg,#e8f1ef 0%,var(--id-mist) 48%,#fff 100%)}
.id-login-background span{position:absolute;width:820px;height:820px;border:1px solid rgba(79,127,123,.15);border-radius:50%;top:-450px;right:-280px}
.id-login-background span+span{width:960px;height:960px;top:-520px;right:-350px}
.id-login-shell{width:min(1120px,calc(100% - 96px));min-height:100vh;min-height:100svh;margin:auto;display:flex;flex-direction:column;justify-content:center;padding:38px 0 24px}
.id-login-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:38px}
.id-login-brand{display:inline-flex;padding:12px 0;flex-shrink:0}
.id-login-brand img{display:block;width:260px;height:auto}
.id-login-language{display:flex;gap:4px;padding:5px;border:1px solid var(--id-eucalyptus-soft);border-radius:30px;background:rgba(255,255,255,.7)}
.id-login-language a{display:grid;place-items:center;width:46px;min-height:38px;border-radius:22px;font-size:13px;font-weight:600;transition:background .15s ease}
.id-login-language a[aria-current=page]{background:var(--id-midnight);color:#fff}
.id-login-language a:not([aria-current]):hover{background:var(--id-eucalyptus-soft)}
.id-login-panel{display:grid;grid-template-columns:1fr 1fr;min-height:596px;background:var(--id-white);border:1px solid #dce4e3;border-radius:28px;box-shadow:0 24px 70px rgba(1,13,49,.065),0 3px 12px rgba(1,13,49,.02);overflow:hidden}
.id-login-intro{padding:56px 50px 36px;background:linear-gradient(148deg,var(--id-mist),var(--id-eucalyptus-soft));position:relative;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.id-login-eyebrow{display:flex;gap:12px;align-items:center;font-size:12px;font-weight:650;letter-spacing:.11em;text-transform:uppercase;margin:0 0 27px}
.id-login-eyebrow>span{flex:none;width:9px;height:9px;background:var(--id-signal);border-radius:2px}
.id-login-intro h1{font:600 clamp(34px,3.45vw,49px)/1.13 Geist,'Public Sans',sans-serif;letter-spacing:-.035em;margin:0 0 24px;position:relative;z-index:1}
.id-login-intro-copy{max-width:340px;font-size:18px;line-height:1.7;color:rgba(1,13,49,.78);margin:0;position:relative;z-index:1}
.id-login-intro-foot{font-size:12px;line-height:1.8;color:rgba(1,13,49,.78);margin:auto 0 0;padding-top:200px;position:relative;z-index:1}
.id-login-orbits{position:absolute;width:375px;height:375px;bottom:-186px;right:18px;border:1px solid rgba(79,127,123,.32);border-radius:50%;z-index:-1}
.id-login-orbits span{position:absolute;inset:36px;border:1px solid rgba(79,127,123,.28);border-radius:50%}
.id-login-orbits span+span{inset:73px;background:rgba(255,255,255,.32);border:1px solid rgba(79,127,123,.2)}
.id-login-orbits i{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--id-signal);top:40px;left:55px;box-shadow:0 0 0 9px rgba(255,255,255,.4)}
.id-login-orbits b{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--id-midnight);top:4px;right:118px}
.id-login-form-area{padding:55px 58px 36px;align-self:center}
.id-login-form-heading h2{font:600 28px/1.25 Geist,'Public Sans',sans-serif;letter-spacing:-.025em;margin:0 0 12px}
.id-login-form-heading p{font-size:15px;color:rgba(1,13,49,.78);margin:0 0 32px;max-width:330px}
.id-login-form{display:flex;flex-direction:column;gap:23px}
.id-login-field label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}
.id-login-field input{display:block;width:100%;height:54px;border:1px solid var(--id-border);border-radius:10px;padding:12px 15px;color:var(--id-midnight);background:#fff;transition:border-color .15s,box-shadow .15s;min-width:0}
.id-login-field input::placeholder{color:rgba(1,13,49,.6)}
.id-login-field input:focus{outline:0;border-color:var(--id-midnight);box-shadow:0 0 0 3px rgba(1,13,49,.12)}
.id-login-field input[aria-invalid=true]{border-color:var(--id-error)}
.id-login-password{position:relative}
.id-login-password input{padding-right:58px}
.id-login-visibility{display:grid;place-items:center;position:absolute;right:5px;top:5px;width:44px;height:44px;background:none;color:rgba(1,13,49,.78);border:0;border-radius:7px;cursor:pointer}
.id-login-visibility:hover{background:var(--id-mist)}
.id-login-eye-slash{display:none}
.id-login-visibility[aria-pressed=true] .id-login-eye-slash{display:block}
.id-login-forgot{font-size:14px;align-self:flex-end;font-weight:600;line-height:1.5;margin-top:-6px;text-underline-offset:4px;padding:3px 0}
.id-login-forgot:hover{text-decoration:underline}
.id-login-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:54px;background:var(--id-midnight);color:#fff!important;border:1px solid var(--id-midnight);border-radius:10px;padding:13px 20px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}
.id-login-submit>span{font-size:23px;line-height:1;color:var(--id-signal)}
.id-login-submit:hover{background:#122448;box-shadow:0 5px 14px rgba(1,13,49,.12)}
.id-login-form-foot{font-size:12px;line-height:1.6;text-align:center;color:rgba(1,13,49,.78);margin:24px 0 0}
.id-login-error{font-size:13px;line-height:1.6;color:var(--id-error);margin:8px 0 0}
.id-login-alert{font-size:14px;line-height:1.6;border:1px solid;border-radius:10px;padding:13px 16px;margin-bottom:24px}
.id-login-success{color:var(--id-success);background:#f2f8f4;border-color:#9dc7b3}
.id-login-footer{display:flex;justify-content:space-between;gap:16px;padding:26px 3px 0;font-size:12px;color:rgba(1,13,49,.78)}
.id-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1450px){.id-login-shell{padding-bottom:48px}.id-login-panel{min-height:620px}}
@media(max-width:1000px){.id-login-shell{width:calc(100% - 56px)}.id-login-intro{padding:42px 32px 30px}.id-login-form-area{padding:42px 34px 30px}.id-login-panel{min-height:560px}.id-login-intro h1{font-size:39px}}
@media(max-width:720px){.id-login-shell{width:min(500px,calc(100% - 40px));padding:22px 0;justify-content:flex-start}.id-login-header{gap:12px;margin-bottom:20px}.id-login-brand img{width:240px}.id-login-language{gap:0;padding:3px}.id-login-language a{width:37px;min-height:38px}.id-login-panel{display:flex;flex-direction:column;min-height:0;border-radius:22px}.id-login-intro{padding:24px 28px 25px}.id-login-eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:12px}.id-login-intro h1{font-size:29px;line-height:1.2;letter-spacing:-.025em;margin-bottom:0}.id-login-intro-copy,.id-login-intro-foot{display:none}.id-login-orbits{width:210px;height:210px;right:-86px;bottom:-137px;opacity:.7}.id-login-orbits i{width:13px;height:13px;top:22px;left:23px}.id-login-form-area{align-self:stretch;padding:28px}.id-login-form-heading h2{font-size:25px}.id-login-form-heading p{margin-bottom:26px;font-size:14px}.id-login-form{gap:22px}.id-login-footer{font-size:11px;justify-content:center;padding-top:22px}.id-login-footer>span+span{display:none}}
@media(max-width:390px){.id-login-shell{width:calc(100% - 28px);padding-top:12px}.id-login-header{align-items:flex-start;gap:8px;flex-wrap:wrap}.id-login-brand{padding:10px 0}.id-login-language{margin-left:auto}.id-login-intro{padding:22px}.id-login-intro h1{font-size:27px}.id-login-form-area{padding:26px 22px}.id-login-form-heading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.id-login *{transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.id-login-submit,.id-login-language a[aria-current]{border:2px solid ButtonText}.id-login-field input{border:1px solid FieldText}}
