/* Connected care entrance. The animated illustration is decorative; identity and
 * role selection remain ordinary, readable form controls with no animation. */
body.has-care-landing {
  --care-midnight:#0d223e;--care-cyan:#68e2ee;--care-ice:#f2faff;--care-starlight:#b6d2ed;
  background:#0d223e;color:#f2faff;padding-bottom:0;
}
/* Fit the page, with stable browser-chrome height and natural document scrolling.
 * The login card never becomes a fullscreen or fixed-height viewport. */
.has-care-landing .public-content{padding:0;min-height:100svh}
.care-landing{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;padding:0 clamp(28px,6vw,104px)}
.landing-background{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:linear-gradient(122deg,#0a1e37 5%,#122e4c 55%,#142444)}
.landing-light{position:absolute;width:900px;height:800px;left:-170px;top:5%;background:radial-gradient(ellipse,rgba(40,183,209,.2),transparent 68%);animation:landing-drift 25s ease-in-out infinite alternate}
.landing-light.is-violet{left:auto;right:-300px;top:-250px;background:radial-gradient(ellipse,rgba(115,111,221,.22),transparent 66%);animation-duration:32s;animation-delay:-16s}
.landing-grid{position:absolute;left:-25%;right:-25%;top:46%;height:85%;background-image:linear-gradient(rgba(125,202,224,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(125,202,224,.13) 1px,transparent 1px);background-size:64px 64px;transform:perspective(650px) rotateX(58deg);transform-origin:center top;mask-image:linear-gradient(transparent,#000 25%,transparent 95%);opacity:.35}
.landing-orbit-line{position:absolute;left:-220px;top:24%;width:1050px;height:570px;border:1px solid rgba(142,208,238,.12);border-radius:50%;transform:rotate(-25deg)}
.landing-orbit-line.is-second{left:-110px;top:30%;width:890px;height:440px;opacity:.7}
.landing-light-trace{position:absolute;left:8%;top:59%;width:360px;height:1px;background:linear-gradient(90deg,transparent,#78e8ef,transparent);transform:rotate(-25deg);animation:landing-trace 13s ease-in-out infinite;opacity:0}
.landing-header,.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:1280px;margin-inline:auto;flex-shrink:0}
.landing-header{min-height:100px}
.landing-brand{display:flex;flex:0 0 auto;align-items:center;gap:13px;text-decoration:none;color:#f2faff}
.landing-brand .brand-mark{background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.04)),rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.7);border-radius:13px;box-shadow:inset 0 1px rgba(255,255,255,.85),inset 0 -1px rgba(255,255,255,.32),0 4px 16px rgba(5,28,51,.1);-webkit-backdrop-filter:blur(12px) saturate(115%);backdrop-filter:blur(12px) saturate(115%);width:46px;height:46px;flex-shrink:0}
.landing-brand .brand-mark:after{display:none}
.landing-brand .brand-logo{width:36px;height:36px}
.landing-brand b{display:block;white-space:nowrap;font-size:16px;font-weight:600;letter-spacing:.035em}
.landing-brand small{display:block;margin-top:4px;font-size:10px;letter-spacing:.12em;color:#aac4dc}
.landing-motion{background:rgba(99,156,196,.1);border:1px solid #466580;border-radius:30px;padding:8px 16px;min-height:40px;font-size:11px;color:#d5e9f6;cursor:pointer;white-space:nowrap}
.landing-motion:hover{background:#244a68;border-color:#74c9dc}
.landing-motion:disabled{cursor:default;color:#aec7d9}
.landing-main{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(40px,7vw,108px);align-items:center;flex:1;width:100%;max-width:1150px;margin:10px auto 28px}
.landing-story{position:relative;min-width:0;align-self:center}
.landing-eyebrow{display:flex;align-items:center;gap:10px;color:#8dddE6;font-family:var(--mono);font-size:10px;letter-spacing:.13em;margin:0 0 21px}
.landing-eyebrow>span{display:block;width:22px;height:1px;background:#7cdce3}
.landing-story h1{font-size:clamp(34px,3.5vw,48px);font-weight:620;line-height:1.38;letter-spacing:.025em;margin:0;color:#f3fbff}
.landing-story h1>span{color:#8ae4ed}
.landing-description{font-size:14px;line-height:1.9;color:#b5cbdf;letter-spacing:.035em;margin:20px 0 0}
.landing-scene{display:grid;place-items:center;height:260px;position:relative;max-width:520px;margin:8px 0 0}
.landing-scene .bi-care-core{position:relative;grid-area:auto;right:auto;bottom:auto;width:340px;height:190px;margin:0;transform:scale(1.38);transform-origin:center;opacity:1}
.landing-scene .bi-core-coordinate{font-size:7px}
.landing-scene .bi-core-node-label{font-size:9px;color:#c6e1ef}
.landing-domains{display:flex;align-items:center;gap:24px;color:#c3d8e8;font-size:11px;letter-spacing:.035em}
.landing-domains>span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.landing-domains i{display:block;width:6px;height:6px;border-radius:2px;transform:rotate(45deg);background:#64d9df}
.landing-domains .is-quality{background:#ffc17e}.landing-domains .is-education{background:#baa4ff}.landing-domains .is-ops{background:#8dbbff}
.care-landing .login-card{
  --glass-ink:#183b55;--glass-muted:#48667b;--glass-accent:#216680;
  --glass-base:rgba(234,246,255,.42);--glass-edge:rgba(255,255,255,.84);--glass-rim:rgba(255,255,255,.52);
  --glass-control:rgba(255,255,255,.4);--glass-control-edge:rgba(87,131,160,.35);--glass-control-hover:rgba(255,255,255,.65);
  --glass-selected:rgba(190,231,247,.64);--glass-focus:#166e90;--glass-section:rgba(214,234,249,.18);
  --glass-button:#195475;--glass-button-ink:#fff;--glass-button-hover:#216786;
  position:relative;isolation:isolate;display:block;width:100%;max-width:none;margin:0;border:1px solid var(--glass-edge);border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.04) 48%,rgba(153,208,247,.12)),var(--glass-base);
  -webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
  box-shadow:0 24px 70px rgba(3,23,48,.2),0 5px 16px rgba(3,23,48,.06),inset 0 1px 0 rgba(255,255,255,.64),inset 0 -1px 0 rgba(167,222,249,.24);
  color:var(--glass-ink);overflow:hidden;
}
/* One stationary glass surface; the existing background supplies the motion. */
.care-landing .login-card:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 0 0,rgba(221,251,255,.2),transparent 55%),linear-gradient(125deg,transparent 20%,rgba(255,255,255,.09) 30%,transparent 48%)}
.care-landing .login-card:after{content:"";position:absolute;inset:1px;border:1px solid var(--glass-rim);border-radius:inherit;pointer-events:none;z-index:2;mask-image:linear-gradient(135deg,#000,transparent 38%,transparent 65%,#000);-webkit-mask-image:linear-gradient(135deg,#000,transparent 38%,transparent 65%,#000)}
body.theme-night .care-landing .login-card{
  --glass-ink:#eef8ff;--glass-muted:#bfd6e9;--glass-accent:#9be4ee;
  --glass-base:rgba(20,47,76,.32);--glass-edge:rgba(187,222,251,.35);--glass-rim:rgba(222,246,255,.4);
  --glass-control:rgba(12,34,59,.3);--glass-control-edge:rgba(170,210,241,.28);--glass-control-hover:rgba(40,83,116,.5);
  --glass-selected:rgba(78,166,192,.25);--glass-focus:#90e6f2;--glass-section:rgba(10,28,51,.12);
  --glass-button:#afeaf4;--glass-button-ink:#143e54;--glass-button-hover:#d0f6fc;
  background:linear-gradient(145deg,rgba(218,242,255,.12),rgba(191,219,255,.025) 48%,rgba(132,143,222,.09)),var(--glass-base);
  box-shadow:0 28px 80px rgba(1,12,29,.3),0 5px 16px rgba(1,12,29,.08),inset 0 1px 0 rgba(232,249,255,.34),inset 0 -1px 0 rgba(125,182,221,.16);
}
.care-landing .login-form-pane{position:relative;z-index:1;padding:28px 28px 22px}
.care-landing .login-kicker{font-size:9px;letter-spacing:.16em;font-family:var(--mono);color:var(--glass-accent);margin-bottom:13px}
.care-landing .login-mast{font-size:25px;letter-spacing:.02em;font-weight:650;line-height:1.4;margin:0;color:var(--glass-ink)}
.care-landing .login-sub{margin:7px 0 22px;color:var(--glass-muted);font-size:11px;line-height:1.6}
.care-landing .login-form{gap:13px}
.care-landing .login-form label{font-size:12px;font-weight:600;color:var(--glass-ink);gap:6px}
.care-landing .login-form input{display:block;width:100%;min-height:48px;margin-top:0;border:1px solid var(--glass-control-edge);border-radius:10px;background:var(--glass-control);padding:10px 12px;font-size:16px;color:var(--glass-ink);box-shadow:inset 0 1px 2px rgba(6,28,53,.06)}
.care-landing .login-form input::placeholder{color:var(--glass-muted);font-weight:400;opacity:1}
.care-landing .login-form input:focus{border-color:var(--glass-focus);background:var(--glass-control-hover)}
.care-landing .login-submit{display:flex;align-items:center;justify-content:space-between;min-height:46px;margin-top:3px;border-radius:10px;padding:10px 16px;font-size:14px;background:var(--glass-button);border:1px solid var(--glass-button);color:var(--glass-button-ink);box-shadow:0 4px 12px rgba(14,49,79,.12),inset 0 1px rgba(255,255,255,.25)}
.care-landing .login-submit:hover{background:var(--glass-button-hover);border-color:var(--glass-button-hover)}
.care-landing .login-submit span{font-size:19px;font-weight:400}
.care-landing .demo-access{position:relative;z-index:1;padding:18px 28px 22px;background:var(--glass-section);color:var(--glass-ink);border-top:1px solid var(--glass-control-edge)}
.care-landing .demo-access:after{display:none}
.care-landing .demo-access-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}
.care-landing .demo-access-head b{font-size:12px;margin:0;font-weight:650}
.care-landing .demo-access-head small{font-size:10px;color:var(--glass-muted);margin:0}
.care-landing .demo-role-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.care-landing .demo-role{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:3px;min-height:55px;padding:10px 12px;border:1px solid var(--glass-control-edge);border-radius:9px;background:var(--glass-control);color:var(--glass-ink);text-align:left;transform:none;transition:background-color .15s,border-color .15s;box-shadow:inset 0 1px rgba(232,249,255,.06)}
.care-landing .demo-role:hover{background:var(--glass-control-hover);border-color:var(--glass-focus);transform:none}
.care-landing .demo-role.is-selected{background:var(--glass-selected);border-color:var(--glass-focus);box-shadow:inset 0 0 0 1px var(--glass-focus)}
.care-landing .demo-role>span{position:absolute;top:11px;right:9px;color:var(--glass-muted);font-size:8px}
.care-landing .demo-role b{font-size:11px;line-height:1.5;font-weight:600;padding-right:12px}
.care-landing .demo-role code{font-size:9px;color:var(--glass-muted);line-height:1.4;letter-spacing:.02em}
.care-landing .demo-password{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:0;border-radius:0;padding:0;margin:13px 0 0;background:transparent;box-shadow:none}
.care-landing .demo-password>span{font-size:9px;color:var(--glass-muted)}
.care-landing .demo-password code{font-size:10px;color:var(--glass-accent)}
.care-landing .demo-password .landing-demo-tag{margin-left:auto;padding:2px 5px;border:1px solid var(--glass-control-edge);border-radius:4px;color:var(--glass-muted);font-size:9px}
.landing-footer{min-height:58px;color:#9bb5cc;font-size:10px;letter-spacing:.035em}
.care-landing :is(a,button,input):focus-visible{outline:3px solid #6fdbeb;outline-offset:4px}
.care-landing .login-card :is(button,input):focus-visible{outline-color:var(--glass-focus);outline-offset:3px}
.care-landing .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.has-care-landing.care-motion-paused *,.has-care-landing.care-page-hidden *{animation-play-state:paused!important}
.has-care-landing.care-motion-paused .demo-role{transition:none}
@keyframes landing-drift{from{transform:translate3d(-40px,0,0);opacity:.7}to{transform:translate3d(65px,50px,0);opacity:1}}
@keyframes landing-trace{0%,100%{transform:translate3d(-60px,70px,0) rotate(-25deg);opacity:0}25%,70%{opacity:.5}80%{transform:translate3d(160px,-50px,0) rotate(-25deg);opacity:0}}
@media(min-width:1500px) and (min-height:900px){
  .landing-main{max-width:1250px;grid-template-columns:minmax(0,1fr) 440px}
  .landing-story h1{font-size:53px}.landing-description{font-size:16px}
  .landing-scene{height:330px;max-width:560px;margin-top:12px}.landing-scene .bi-care-core{transform:scale(1.6)}
  .care-landing .login-form-pane{padding:34px}.care-landing .demo-access{padding:24px 34px 28px}
  .care-landing .login-form input{min-height:49px}.care-landing .demo-role{min-height:59px}
}
@media(min-width:768px) and (max-height:850px){
  .landing-header{min-height:76px}.landing-footer{min-height:44px}.landing-main{margin-top:8px;margin-bottom:12px}
  .landing-eyebrow{margin-bottom:14px}.landing-description{margin-top:14px}.landing-scene{height:205px;margin-top:0}.landing-scene .bi-care-core{transform:scale(1.1)}
  .care-landing .login-form-pane{padding:23px 28px 18px}.care-landing .login-sub{margin-bottom:17px}
  .care-landing .demo-access{padding-top:15px;padding-bottom:18px}.care-landing .demo-role{min-height:50px;padding-block:8px}
}
@media(min-width:768px) and (max-width:1099px){
  .care-landing{padding-inline:32px}.landing-main{grid-template-columns:minmax(0,1fr) 350px;gap:30px}
  .landing-story h1{font-size:32px}.landing-eyebrow{font-size:8px;gap:7px}.landing-description{font-size:12px}
  .landing-scene{height:225px}.landing-scene .bi-care-core{transform:scale(.95)}
  .landing-domains{display:grid;grid-template-columns:repeat(2,max-content);gap:12px 30px;font-size:10px}
  .care-landing .login-form-pane{padding-inline:24px}.care-landing .demo-access{padding-inline:24px}
}
@media(max-width:767px){
  .care-landing{padding:0 22px;overflow:hidden}.landing-header{min-height:90px;gap:10px}
  .landing-brand{gap:9px}.landing-brand .brand-mark{width:38px;height:38px;border-radius:11px;padding:0}.landing-brand .brand-logo{width:29px;height:29px}
  .landing-brand b{font-size:12px}.landing-brand small{font-size:8px;letter-spacing:.04em}
  .landing-motion{padding:7px 11px;min-height:44px;font-size:10px}
  .landing-main{display:flex;flex-direction:column;gap:22px;max-width:440px;margin:16px auto 24px;flex:none}
  .landing-story{width:100%}.landing-eyebrow{font-size:8px;margin-bottom:15px;gap:8px}
  .landing-story h1{font-size:30px;line-height:1.4;letter-spacing:.01em}.landing-description{font-size:12px;margin-top:14px}
  .landing-scene{position:absolute;right:14px;top:112px;height:150px;width:140px;margin:0}
  .landing-scene .bi-care-core{transform:scale(.46);transform-origin:center;position:absolute;left:50%;margin-left:-170px}
  .landing-domains{position:relative;display:flex;flex-wrap:wrap;gap:10px 16px;font-size:9px;margin-top:84px}
  .care-landing .login-card{border-radius:20px;-webkit-backdrop-filter:blur(14px) saturate(135%);backdrop-filter:blur(14px) saturate(135%)}.care-landing .login-form-pane{padding:25px 23px 20px}
  .care-landing .login-mast{font-size:23px}.care-landing .login-sub{margin-bottom:22px}
  .care-landing .demo-access{padding:19px 23px 23px}.care-landing .demo-access-head{gap:5px}
  .care-landing .demo-access-head small{font-size:9px}.care-landing .demo-role{min-height:58px}
  .landing-footer{min-height:65px;flex-wrap:wrap;gap:6px;align-content:center;font-size:9px}
  .landing-light{width:600px;height:800px;left:-220px;top:0}.landing-light.is-violet{display:none}
  .landing-grid{top:160px;left:-120%;right:-120%;height:650px}.landing-orbit-line{left:-450px;top:100px}.landing-orbit-line.is-second{left:-400px;top:160px}
  .landing-light-trace{width:200px;top:250px}
}
@media(max-width:360px){
  .care-landing{padding-inline:17px}.landing-story h1{font-size:27px}.landing-scene{right:0;top:112px}
  .landing-brand small{display:none}.landing-domains{gap:10px 11px;font-size:8px}
  .care-landing .login-form-pane,.care-landing .demo-access{padding-inline:20px}.care-landing .login-mast{font-size:21px}
  .care-landing .demo-access-head{align-items:flex-start;flex-direction:column}.care-landing .demo-role b{font-size:10px}.care-landing .demo-role>span{display:none}
  .care-landing .demo-password{gap:6px}.care-landing .demo-password>span,.care-landing .demo-password .landing-demo-tag{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  .care-landing *,.care-landing *:before,.care-landing *:after{animation:none!important;transition:none!important}
}

.care-landing .landing-error{margin:0 0 15px;padding:10px 12px;border:1px solid #dfb4a9;border-radius:8px;background:#fff1eb;color:#863e2c;font-size:12px;line-height:1.6}
body.theme-night .care-landing .landing-error{border-color:#bc7d7b;background:rgba(85,35,48,.9);color:#ffe1d9}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .landing-brand .brand-mark{background:#e8f2f8}
  .care-landing .login-card{background:#eef6fc}
  body.theme-night .care-landing .login-card{background:#1c354f}
}
@media(prefers-reduced-transparency:reduce){
  .landing-brand .brand-mark{background:#e8f2f8;-webkit-backdrop-filter:none;backdrop-filter:none}
  .care-landing .login-card{background:#eef6fc;-webkit-backdrop-filter:none;backdrop-filter:none}
  body.theme-night .care-landing .login-card{background:#1c354f}
}
