/* Blue medical glass: visual layer only; all authentication stays in the existing forms. */
:root{color-scheme:light;--clinic-ink:#102f46;--clinic-muted:#496b83;--clinic-ice:#d7edfc;--clinic-blue:#2979af;--clinic-night:#123b57;color:var(--clinic-ink);background:#96b7cd}
body{background:radial-gradient(ellipse at 11% 9%,#d1e4f1 0,transparent 45%),radial-gradient(ellipse at 48% 95%,#8ab2ca 0,transparent 52%),linear-gradient(115deg,#8daec6,#275775 70%,#113a56);min-height:100svh}
:focus-visible{outline:3px solid #146192;outline-offset:5px}
.login-layout{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);max-width:1540px;margin-inline:auto;min-height:100svh;overflow:clip}
.login-layout:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 68% 25%,#84bce52b,transparent 30%),linear-gradient(130deg,transparent 38%,#d3ecfc18 46%,transparent 62%)}
.login-story{background:transparent;min-height:100svh;padding:39px 7.3% 32px 6%;overflow:visible;color:#f4fbff}
.login-story:before{inset:10% 0 2%;opacity:.5;border-radius:50%;background:radial-gradient(ellipse at 48% 30%,#4385af3b,transparent 67%);filter:blur(15px)}
.login-story:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:420px;height:420px;top:11%;left:5%;border-radius:50%;border:1px solid #d1edff22;box-shadow:0 0 0 44px #cdeafa05,0 0 0 98px #cdeafa04;transform:rotateX(44deg) rotate(-24deg)}
.login-brand{font-size:18px;gap:13px;text-shadow:0 2px 8px #0b2e4340}
.login-brand small{color:#c5e2f6;font-size:11px;margin-top:3px}
.login-brand-mark{width:52px;height:52px;border-radius:19px;color:#e9f7ff;border:1px solid #d4edffbb;background:linear-gradient(135deg,#cee8ff50,#5094c321 65%,#e4f3ff29);box-shadow:inset 0 2px 3px #fff9,inset -1px -2px 4px #16446788,0 5px 0 #0f36583d,0 12px 24px #09253a44;backdrop-filter:blur(10px)}
.login-scene{position:relative;min-height:250px;margin:27px 0 10px;perspective:1000px}
.scene-ring{top:8%;left:7%;width:86%;height:82%;border-color:#c6e8ff52;transform:rotate(-30deg) rotateX(48deg);box-shadow:inset 0 1px 0 #ffffff50,0 0 0 26px #a6daff08,0 0 0 64px #d5f0ff04;filter:drop-shadow(0 14px 14px #06274066)}
.scene-orb{top:-3%;left:calc(50% - 116px);width:232px;height:232px;background:radial-gradient(circle at 29% 20%,#deeffeaa,#86b7db4d 25%,#347aac36 52%,#17456811 72%);filter:blur(3px)}
.scene-glass{width:188px;height:188px;left:calc(50% - 94px);top:calc(46% - 94px);border:1.5px solid #ebf8ffd1;border-radius:48px;background:radial-gradient(ellipse at 15% 0,#ffffff8f,transparent 41%),linear-gradient(135deg,#ddf2ff51,#8ec5ed0d 52%,#d4ecff36);transform:rotateX(12deg) rotateY(-24deg) rotateZ(-13deg);box-shadow:inset 3px 4px 7px #ffffff8c,inset -3px -7px 9px #143f6777,inset 0 0 24px #e5f6ff12,0 5px 0 #153e6599,7px 31px 45px #092b4166,0 0 55px #82c8fb1c;backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}
.scene-glass:after{inset:5px;border:1px solid #eefaff63;border-radius:42px;box-shadow:inset 0 2px 2px #fff4}
.scene-glass span,.scene-glass b{border-color:#f1fbfff2;background:linear-gradient(115deg,#f3fbffed,#91c8f1aa 48%,#3a7dacb0);box-shadow:inset 2px 2px 3px #fff,inset -2px -3px 4px #3f81b18f,2px 5px 0 #32608388,6px 11px 17px #0e3a5a55;left:calc(50% - 17px);top:calc(50% - 54px);width:34px;height:108px;border-radius:11px;transform:translateZ(23px)}
.scene-glass b{width:108px;height:34px;left:calc(50% - 54px);top:calc(50% - 17px)}
.scene-sphere{left:13%;top:6%;width:46px;height:46px;background:radial-gradient(circle at 29% 18%,#f0faff,#88c6ef 24%,#3487be 55%,#103b58 90%);border:1px solid #c9e9ff8a;box-shadow:inset 1px 2px 3px #fff9,0 16px 28px #052c4a66}
.login-scene:after{content:"";position:absolute;width:68px;height:68px;right:9%;bottom:8%;border-radius:50%;background:radial-gradient(circle at 29% 20%,#e5f6ff81,#8ec8ee30 37%,#3675a333 70%);border:1px solid #d6efff7a;box-shadow:inset 2px 3px 5px #e9f9ff5c,inset -2px -3px 5px #0a36527a,0 20px 22px #052c4a52;backdrop-filter:blur(5px)}
.login-story .overline{color:#b5ddfa;font-size:12px;letter-spacing:0}
.login-story h1{font-size:clamp(30px,2.7vw,41px);margin:12px 0 16px;line-height:1.7;text-shadow:0 3px 15px #00243b44}
.login-story h1 em{color:#cceaff}
.login-story-copy p{color:#c3dfef;font-size:14px;max-width:440px}
.story-tags{gap:10px;margin-top:24px}
.story-tags span{color:#e1f2ff;border-color:#e8f8ff6b;background:linear-gradient(150deg,#eaf7ff25,#9ac2e408);padding:5px 20px;box-shadow:inset 0 1px 2px #fff6,inset 0 -1px 3px #1b46634d,0 4px 10px #0a2e4b26;backdrop-filter:blur(8px)}
.back-site{margin-top:26px;border-top-color:#cdeaff33;color:#d8efff;font-size:12px}
.login-form-area{position:relative;isolation:isolate;background:transparent;padding:30px 34px 26px;overflow:visible}
.login-form-area:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:0;top:19%;width:62%;height:47%;border-radius:48% 52% 66% 34%;background:radial-gradient(circle at 20% 12%,#c6e5ff,#78a7cc 44%,#326d974a 75%);filter:blur(6px);transform:rotate(-24deg);opacity:.7;box-shadow:0 42px 70px #143e5a36}
.login-form-area:after{content:"";position:absolute;z-index:-1;pointer-events:none;right:6%;bottom:9%;width:150px;height:150px;border-radius:50%;border:1px solid #eefaff75;background:radial-gradient(circle at 25% 18%,#eff9ff9c,#9ac0de4a 45%,#28659040 85%);box-shadow:inset 4px 4px 12px #fff5,inset -3px -6px 13px #295f8b55,0 28px 35px #173e5d2e}
.login-card{position:relative;isolation:isolate;overflow:hidden;width:min(100%,482px);padding:29px 32px;border-radius:36px;border:1px solid #f4fbffba;color:var(--clinic-ink);background:linear-gradient(125deg,#f3fbffb0,#d6e8f462 44%,#bdd6e56b);box-shadow:inset 0 2px 3px #ffffffd9,inset 2px 0 4px #ffffff6b,inset -2px -4px 7px #2e5f805c,0 3px 0 #6590ad66,0 25px 60px #062a4940,0 3px 15px #183e5533;backdrop-filter:blur(19px) saturate(1.2);-webkit-backdrop-filter:blur(19px) saturate(1.2)}
.login-card:before{content:"";position:absolute;inset:5px;border:1px solid #f7fcff69;border-radius:30px;pointer-events:none;z-index:-1;box-shadow:inset 0 1px 2px #fff4}
.login-card:after{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;left:5%;height:170px;width:90%;background:radial-gradient(ellipse at 20% 0,#fff8,transparent 65%);opacity:.7}
.overline{color:#275d80;font-size:12px}
.local-badge{color:#315a75;font-size:11px;padding:3px 12px;border:1px solid #edf8ffd9;background:linear-gradient(130deg,#eff9ff75,#c4d8e633);box-shadow:inset 0 1px 2px #fff,0 2px 5px #214a6320}
.login-card h2{font-size:27px;line-height:1.7;margin:14px 0 9px;letter-spacing:-.25px;color:#15364c;text-wrap:balance}
.login-card .login-lead{font-size:13px;color:#355970;line-height:1.9;margin-bottom:20px}
.loading-note{color:#2f5e7c}
.role-choices{gap:9px;margin-bottom:21px}
.role-choices legend{font-size:12px;color:#274d66;margin-bottom:9px}
.role-choices span{min-height:55px;gap:7px;border-radius:22px;color:#294e68;border:1px solid #e9f8ffe0;background:linear-gradient(150deg,#e7f3fd6b,#bbd2e447 65%,#effaff63);box-shadow:inset 0 2px 3px #fff9,inset 0 -2px 3px #416c8940,0 3px 0 #6e91a747,0 7px 13px #244b652b;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.role-choices input:checked+span{color:#123c5c;border-color:#d0eefff0;background:radial-gradient(ellipse at 50% -20%,#dcf2ffbb,transparent 65%),linear-gradient(135deg,#99c9ebbc,#659dc9ab 70%,#87b6dbb0);box-shadow:inset 0 2px 3px #e8f9ffed,inset 0 -3px 4px #376f9b66,0 4px 0 #537da25c,0 9px 14px #244b6530;text-shadow:0 1px 1px #f2fbff7a}
.role-choices input:focus-visible+span{outline:3px solid #176390;outline-offset:4px}
.role-choices label:hover span{transform:translateY(-1px)}
.role-choices input:active+span{transform:translateY(2px)}
.login-card .login-field{font-size:13px;color:#183f59;margin-bottom:14px}
.login-field input{min-height:52px;border-radius:19px;padding:11px 15px;border:1px solid #e8f6ffc7;color:#153950;background:linear-gradient(115deg,#d5e7f1a3,#f5fbff6e 75%);box-shadow:inset 1px 3px 5px #31566e2e,inset -1px -2px 3px #fff,0 1px 1px #31586d24;transition:box-shadow .2s,border-color .2s,background .2s}
.login-field input:focus{background:linear-gradient(115deg,#e3f1fbdf,#f8fcffb0);border-color:#d6f0ff;box-shadow:inset 1px 2px 4px #31566e24,0 0 0 3px #1f72ad59,0 4px 13px #184b6b1c}
.login-field input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #d5e9f5 inset;-webkit-text-fill-color:#153950;caret-color:#153950}
.login-field small{color:#466a82;font-size:11px;line-height:1.8;margin-top:5px}
.password-wrap input{padding-inline-end:58px}
.password-wrap button{top:5px;inset-inline-end:5px;width:42px;height:42px;border-radius:16px;color:#2a6084;border:1px solid #f6fcff75;background:linear-gradient(130deg,#eff9ff70,#b7d0e02e);box-shadow:inset 0 1px 1px #fff8,0 2px 4px #2148631c}
.password-wrap button:hover{background:#d6edffad;color:#103f60}
.login-submit{position:relative;isolation:isolate;overflow:hidden;min-height:57px;padding:12px 22px;border-radius:30px;color:#103b5b;border:1px solid #e8f8fff2;background:radial-gradient(ellipse at 50% -30%,#e3f5ffed,transparent 65%),linear-gradient(120deg,#b6d8f2d9,#76a8d6db 65%,#88b6ddc9);box-shadow:inset 0 3px 4px #f5fcffed,inset 2px 0 5px #dcf3ff8c,inset -1px -4px 5px #3f719c6b,0 5px 0 #5f86a75e,0 8px 5px #143e5717,0 15px 20px #1e4c6d33;text-shadow:0 1px 2px #ffffff80;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.login-submit:before{content:"";position:absolute;pointer-events:none;inset:4px 13px auto;height:45%;border-top:1px solid #fffce6;border-radius:50%;background:linear-gradient(#fff2,transparent);z-index:-1}
.login-submit:hover{transform:translateY(-2px);filter:brightness(1.035);box-shadow:inset 0 3px 4px #f5fcffed,inset 2px 0 5px #dcf3ff8c,inset -1px -4px 5px #3f719c6b,0 7px 0 #5f86a75e,0 17px 24px #1e4c6d3d}
.login-submit:active{transform:translateY(3px);box-shadow:inset 0 1px 4px #d9efffbe,inset 0 -2px 3px #3f719c5c,0 2px 0 #5f86a75e,0 5px 10px #1e4c6d2e}
.login-submit:disabled{filter:grayscale(.2);transform:none}
.password-help{color:#3d627b;font-size:11px;margin-top:23px}
.login-card-foot{border-top-color:#f2fbff94;gap:10px;padding-top:16px;margin-top:20px}
.login-card-foot p{color:#375e77;font-size:11px}
.security-dot{background:#2878aa;box-shadow:0 0 0 4px #81bfeb3d}
.login-copyright{color:#244d69;font-size:11px;text-shadow:0 1px 4px #c4ddeb80;margin-top:22px}
.login-error{color:#822b35;background:#ffeff2b3;border:1px solid #fff7f8a8;border-radius:14px;padding:10px 13px;font-size:12px}
.login-error:empty{display:none}
.login-success{color:#194b63;background:#e6f8ffbd;border:1px solid #f5fcff;border-radius:18px;box-shadow:inset 0 1px 2px #fff,0 5px 10px #2b55731c}
@media(min-width:701px){.login-card .is-setup{column-gap:14px}.login-card .is-setup .login-field{margin-bottom:13px}.is-setup .password-help{margin-top:18px}}
@media(min-width:1450px){.login-scene{min-height:300px}.login-story{padding-inline:9%}.login-card{width:min(100%,500px);padding:32px 36px}.login-card h2{font-size:29px}}
@media(max-width:1050px) and (min-width:701px){.login-story{padding:29px 7% 27px}.login-form-area{padding:25px 21px}.login-card{padding:25px 24px;border-radius:31px}.login-card:before{border-radius:25px}.login-story h1{font-size:29px}.login-brand{font-size:15px}.login-brand small{font-size:10px}.login-scene{min-height:230px}.login-story-copy p{font-size:13px}.login-card h2{font-size:25px}.role-choices span{font-size:12px;gap:5px}.role-choices svg{width:18px}.story-tags span{padding-inline:16px}}
@media(max-width:700px){body{background:radial-gradient(ellipse at 0 35%,#bed9eb,transparent 60%),linear-gradient(160deg,#244e6b,#8ab1ce 48%,#accbdc)}.login-layout{display:flex;overflow:clip;min-height:100svh}.login-story{min-height:0;padding:23px 23px 18px;background:linear-gradient(140deg,#153f5d6b,#38749c14);overflow:hidden}.login-story:after{width:190px;height:190px;top:-90%;left:-8%;opacity:.7}.login-brand{font-size:15px}.login-brand small{font-size:10px;color:#d4edff}.login-brand-mark{width:45px;height:45px;border-radius:16px}.login-story-copy,.login-scene,.back-site{display:none}.login-form-area{padding:22px 16px 30px;justify-content:flex-start}.login-form-area:before{width:75%;height:45%;top:9%;left:-10%;filter:blur(4px)}.login-form-area:after{right:-10%;bottom:1%;width:170px;height:170px}.login-card{border-radius:31px;padding:26px 23px;max-width:480px;background:linear-gradient(125deg,#effaffac,#d6e8f472 52%,#c8dfec78);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.login-card:before{border-radius:25px}.login-card h2{font-size:26px;margin-top:13px}.login-card .login-lead{font-size:13px;line-height:2}.login-card .login-field{font-size:13px;margin-bottom:17px}.login-field input{min-height:53px;font-size:16px}.role-choices{gap:9px;margin-bottom:23px}.role-choices span{min-height:57px;font-size:13px;border-radius:22px;gap:6px}.login-submit{min-height:57px}.login-card-foot p{font-size:11px}.login-copyright{font-size:10px;margin-top:21px;color:#315e7a}}
@media(max-width:370px){.login-card{padding:24px 18px}.login-form-area{padding-inline:12px}.login-card h2{font-size:24px}.role-choices{gap:7px}.role-choices span{font-size:12px;gap:4px}.role-choices svg{width:17px}.local-badge{font-size:10px;padding-inline:10px}}
@media(prefers-reduced-transparency:reduce){.login-card{background:#cde3f0;backdrop-filter:none;-webkit-backdrop-filter:none}.role-choices span,.login-field input{background:#e4f1f8}}
@supports not (backdrop-filter:blur(1px)){.login-card{background:linear-gradient(125deg,#e3f1f8,#c4ddeb)}}
@media(prefers-reduced-motion:reduce){.role-choices label:hover span,.role-choices input:active+span,.login-submit:hover,.login-submit:active{transform:none}}

/* Patient records and a closed lock form the editable login backdrop. */
body.login-page{background-color:#173f5c;background-size:cover;background-position:center;background-repeat:no-repeat}
.login-page .login-story{background:#173f5c}
.login-page .login-cms-photo{opacity:.94;filter:saturate(.88);object-position:70% 44%}
.login-page .login-story:before{display:none}
.login-page .login-story:after{inset:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;transform:none;z-index:0;opacity:1;background:linear-gradient(180deg,#103650bd 0%,#10365012 24%,#10365012 43%,#103650d9 71%,#103650f5 100%)}
.login-page .login-scene{visibility:hidden}
.login-page .login-story-copy p,.login-page .login-brand small{color:#e2f2ff}
.login-page .login-story .overline{color:#cbeaff}
.login-page .login-form-area{background:linear-gradient(135deg,#d8eaf1ee,#bfd7e7de)}
@media(max-width:700px){
  .login-page .login-story{min-height:180px;padding:22px 24px}
  .login-page .login-cms-photo{object-position:64% 54%}
  .login-page .login-story:after{background:linear-gradient(180deg,#103650c9,#10365026 55%,#10365080)}
  .login-page .login-form-area{background:linear-gradient(160deg,#d8eaf1f2,#c9dfeced)}
}
