:root{--nav:#10213f;--nav-2:#16315d;--blue:#2367d1;--blue-2:#1957b6;--teal:#35b8ae;--text:#172033;--muted:#6f7b8d;--line:#dfe5ec;--soft:#f6f8fb;--white:#fff;--danger:#c64242;--shadow:0 28px 80px rgba(18,34,63,.14)}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(480px,48%) 1fr}.auth-story{position:relative;overflow:hidden;background:linear-gradient(148deg,#0c1c38 0%,#10264b 52%,#153567 100%);color:#fff;display:flex}.story-inner{position:relative;z-index:3;display:flex;flex-direction:column;min-height:100%;padding:44px clamp(38px,6vw,82px) 34px;width:100%}.login-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;width:max-content}.login-brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#39bdb1,#3a78e4);font-size:25px;font-weight:700;box-shadow:0 12px 26px rgba(41,139,206,.28)}.login-brand strong{display:block;font-size:18px;letter-spacing:-.02em}.login-brand small{display:block;margin-top:2px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#a9b9d3}.story-copy{margin:auto 0 24px;max-width:590px;padding-top:40px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.05em;color:#bbcae1;margin-bottom:20px}.status-dot{width:7px;height:7px;background:#55d9b4;border-radius:50%;box-shadow:0 0 0 5px rgba(85,217,180,.09)}.story-copy h1{font-size:clamp(42px,5.2vw,72px);line-height:.98;letter-spacing:-.055em;margin:0 0 24px;font-weight:600}.story-copy h1 em{font-style:normal;color:#58cfc6}.story-copy p{font-size:15px;line-height:1.7;color:#b6c4da;max-width:520px;margin:0}.story-preview{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);backdrop-filter:blur(12px);border-radius:18px;padding:17px;margin-top:20px;box-shadow:0 24px 50px rgba(3,12,30,.18)}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.1)}.preview-top strong{display:block;font-size:12px;margin-top:3px}.preview-kicker{font-size:8px;letter-spacing:.12em;color:#7fc9c2}.preview-pill{font-size:9px;padding:6px 9px;border-radius:999px;background:rgba(64,198,179,.13);color:#86e1d3;border:1px solid rgba(99,219,203,.13)}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.preview-card{background:rgba(7,22,47,.28);border-radius:11px;padding:10px}.preview-card span,.preview-card small{display:block;color:#9fb0c8;font-size:8px}.preview-card b{display:block;font-size:14px;margin:5px 0}.trust-row{display:flex;gap:28px;margin-top:22px;color:#91a5c3;font-size:9px}.trust-row span{display:flex;align-items:center;gap:7px}.trust-row svg{width:14px;height:14px;fill:#53c9bd}.orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.18}.orb-one{width:430px;height:430px;right:-210px;top:-150px;background:radial-gradient(circle,#3a88e8,transparent 67%)}.orb-two{width:320px;height:320px;left:-180px;bottom:-90px;background:radial-gradient(circle,#35c7b5,transparent 68%)}.grid-glow{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 85%)}
.auth-main{display:grid;place-items:center;padding:40px 28px;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}.auth-card{width:min(460px,100%)}.mobile-brand{display:none}.auth-header{margin-bottom:22px}.welcome-label{font-size:9px;font-weight:700;color:#348178;letter-spacing:.12em}.auth-header h2{font-size:29px;line-height:1.15;letter-spacing:-.035em;margin:8px 0 8px}.auth-header p{font-size:12px;color:var(--muted);margin:0}.portal-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:21px 0 12px}.portal-card{position:relative;display:grid;grid-template-columns:36px 1fr 18px;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);background:#fff;border-radius:13px;text-align:left;color:var(--text);transition:.18s ease}.portal-card:hover{border-color:#b8c8dd;transform:translateY(-1px)}.portal-card.active{border-color:#75a1df;box-shadow:0 0 0 3px rgba(35,103,209,.08);background:#fbfdff}.portal-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center}.portal-icon svg{width:18px;height:18px}.clinic-icon{background:#eaf1fe}.clinic-icon svg{fill:#3168bd}.patient-icon{background:#e8f7f3}.patient-icon svg{fill:#288c80}.portal-card b{display:block;font-size:11px}.portal-card small{display:block;font-size:8.5px;color:var(--muted);margin-top:3px}.select-check{width:17px;height:17px;border-radius:50%;border:1px solid #d7dfe9;color:transparent;display:grid;place-items:center;font-size:9px}.portal-card.active .select-check{background:var(--blue);border-color:var(--blue);color:#fff}.portal-context{display:flex;gap:10px;align-items:center;background:#f7f9fc;border:1px solid #e8edf3;border-radius:11px;padding:10px 12px;margin-bottom:18px}.context-icon{width:29px;height:29px;border-radius:8px;background:#e9f0fc;color:#245dac;display:grid;place-items:center;font-size:14px;font-weight:700}.portal-context b{display:block;font-size:10px}.portal-context small{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}.field-label{display:block;font-size:10px;font-weight:600;color:#3e4858;margin:0 0 7px}.password-label-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.password-label-row .field-label{margin:0 0 7px}.text-btn{border:0;background:none;padding:0;color:#235dad;font-size:9.5px;font-weight:600;margin-bottom:7px}.input-wrap{height:48px;display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:11px;transition:.16s ease}.input-wrap:focus-within{border-color:#6694d8;box-shadow:0 0 0 3px rgba(35,103,209,.08)}.input-wrap.error{border-color:#d87272;box-shadow:0 0 0 3px rgba(198,66,66,.07)}.input-icon{width:17px;height:17px;fill:#97a2b1;margin-left:13px;flex:none}.input-wrap input{width:100%;border:0;outline:0;height:100%;padding:0 11px;background:transparent;color:var(--text);font-size:12px}.input-wrap input::placeholder{color:#a4adba}.password-toggle{height:100%;width:44px;border:0;background:none;display:grid;place-items:center}.password-toggle svg{width:17px;height:17px;fill:#7e8999}.field-error{min-height:13px;color:var(--danger);font-size:8.5px;margin:4px 0 0}.form-meta{display:flex;justify-content:space-between;align-items:center;margin:8px 0 17px}.checkbox-row{display:flex;align-items:center;gap:7px;font-size:9.5px;color:#556173;cursor:pointer}.checkbox-row input{display:none}.checkbox-row span{width:15px;height:15px;border:1px solid #cbd4df;border-radius:4px;background:#fff;display:grid;place-items:center}.checkbox-row input:checked+span{background:var(--blue);border-color:var(--blue)}.checkbox-row input:checked+span:after{content:'✓';font-size:9px;color:#fff}.secure-note{font-size:8.5px;color:#778396}.secure-note span{color:#3aae90}.signin-btn{height:49px;width:100%;border:0;border-radius:11px;background:linear-gradient(135deg,#2367d1,#1956b4);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 11px 23px rgba(35,103,209,.19);transition:.16s ease}.signin-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(35,103,209,.24)}.signin-btn:disabled{opacity:.7;cursor:default;transform:none}.signin-btn svg{width:15px;height:15px;fill:currentColor}.auth-help{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;border-bottom:1px solid #eef1f5;padding:17px 0 20px;color:#778395;font-size:9px}.text-link{border:0;background:none;padding:0;color:#245dac;font-size:9px;font-weight:600}.auth-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px;color:#98a1ae;font-size:8px}.auth-footer div{display:flex;gap:6px;align-items:center}.auth-footer button{border:0;background:none;padding:0;color:#788596;font-size:8px}.dialog-backdrop{position:fixed;inset:0;background:rgba(14,26,48,.46);display:grid;place-items:center;padding:20px;z-index:100;backdrop-filter:blur(3px)}.dialog{width:min(390px,95vw);background:#fff;border-radius:17px;padding:23px;box-shadow:var(--shadow);text-align:center}.dialog-icon{width:44px;height:44px;margin:0 auto 12px;border-radius:13px;background:#eaf1fe;color:#245fae;display:grid;place-items:center;font-size:19px}.dialog h3{font-size:17px;margin:0 0 7px}.dialog p{font-size:10px;color:var(--muted);line-height:1.5;margin:0 0 15px}.dialog input{width:100%;height:43px;border:1px solid var(--line);border-radius:10px;padding:0 11px;outline:none}.dialog input:focus{border-color:#6a96d8;box-shadow:0 0 0 3px rgba(35,103,209,.07)}.dialog-actions{display:flex;gap:8px;margin-top:15px}.dialog-actions button{flex:1;height:42px;border-radius:9px;font-weight:600;font-size:10px}.secondary-dialog-btn{border:1px solid var(--line);background:#fff;color:#435064}.primary-dialog-btn{border:0;background:var(--blue);color:#fff}.login-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:#12233f;color:#fff;padding:10px 14px;border-radius:9px;font-size:9.5px;box-shadow:0 12px 30px rgba(18,35,63,.2);opacity:0;pointer-events:none;transition:.2s;z-index:120}.login-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:980px){.auth-shell{grid-template-columns:41% 1fr}.story-inner{padding:34px 30px}.story-copy h1{font-size:44px}.story-preview{display:none}.trust-row{flex-direction:column;gap:8px;margin-top:auto}.auth-main{padding:30px}}
@media(max-width:760px){.auth-shell{display:block;min-height:100vh}.auth-story{display:none}.auth-main{min-height:100vh;display:block;padding:22px 20px 30px}.mobile-brand{display:flex;align-items:center;gap:9px;margin-bottom:42px;color:var(--nav)}.mobile-brand .login-brand-mark{width:34px;height:34px;font-size:21px}.mobile-brand strong{font-size:17px}.auth-card{margin:0 auto}.auth-header h2{font-size:27px}.portal-selector{grid-template-columns:1fr}.portal-card{padding:12px}.auth-footer{flex-direction:column;text-align:center}.dialog{padding:20px}}
@media(max-width:380px){.auth-main{padding-left:15px;padding-right:15px}.portal-selector{gap:7px}.form-meta{align-items:flex-start;gap:10px}.secure-note{display:none}}

/* v2 professional SaaS login refinements */
.story-copy{max-width:660px}
.story-copy p{font-size:17px;line-height:1.72;max-width:600px}
.eyebrow{font-size:12px}
.login-brand strong{font-size:20px}
.login-brand small{font-size:11px}
.trust-row{font-size:11px}

.product-suite{border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.04));backdrop-filter:blur(14px);border-radius:22px;padding:22px;margin-top:22px;box-shadow:0 26px 60px rgba(3,12,30,.20)}
.suite-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.suite-heading span{font-size:10px;letter-spacing:.14em;color:#78d9ce;font-weight:700}
.suite-heading strong{font-size:15px;line-height:1.4;max-width:360px;text-align:right;font-weight:600}
.suite-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}
.suite-card{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:flex-start;padding:14px;background:rgba(7,22,47,.32);border:1px solid rgba(255,255,255,.05);border-radius:14px}
.suite-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,rgba(74,147,235,.28),rgba(53,199,181,.22));display:grid;place-items:center}
.suite-icon svg{width:21px;height:21px;fill:#7bd8cf}
.suite-card b{display:block;font-size:12px;margin:1px 0 5px}
.suite-card small{display:block;font-size:10px;line-height:1.5;color:#aebdd2}
.suite-foot{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.suite-foot span{font-size:9px;color:#a8b8cf;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);padding:7px 9px;border-radius:999px}
.suite-foot b{color:#fff}

.auth-card{width:min(500px,100%)}
.welcome-label{font-size:10px}
.auth-header h2{font-size:34px}
.auth-header p{font-size:14px;line-height:1.55}
.portal-card{grid-template-columns:42px 1fr 20px;padding:15px}
.portal-icon{width:40px;height:40px}
.portal-icon svg{width:20px;height:20px}
.portal-card b{font-size:13px}
.portal-card small{font-size:10.5px;line-height:1.35}
.portal-context{padding:12px 13px}
.portal-context b{font-size:12px}
.portal-context small{font-size:10.5px;line-height:1.4}
.context-icon{width:34px;height:34px}
.field-label{font-size:12px;margin-bottom:8px}
.text-btn{font-size:11px}
.input-wrap{height:54px}
.input-wrap input{font-size:14px}
.field-error{font-size:10px;min-height:15px}
.checkbox-row{font-size:11px}
.secure-note{font-size:10px}
.signin-btn{height:54px;font-size:13px}
.auth-help{font-size:10.5px}
.text-link{font-size:10.5px}
.auth-footer{font-size:9.5px}
.auth-footer button{font-size:9.5px}

.demo-login{margin-top:18px;padding:15px;border:1px solid #dfe7f0;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f7faff)}
.demo-login-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.demo-kicker{display:block;font-size:9px;letter-spacing:.12em;color:#397a73;font-weight:700}
.demo-login h3{font-size:15px;margin:3px 0 0}
.demo-login>p{font-size:10.5px;line-height:1.45;color:var(--muted);margin:7px 0 12px}
.demo-badge{font-size:9px;font-weight:700;color:#2e6e67;background:#e9f7f4;border:1px solid #d5eee9;border-radius:999px;padding:5px 8px}
.demo-accounts{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.demo-account{border:1px solid #dfe5ec;background:#fff;border-radius:11px;padding:10px;display:grid;grid-template-columns:31px 1fr auto;gap:9px;align-items:center;text-align:left;color:var(--text);transition:.16s ease}
.demo-account:hover{border-color:#91b0db;box-shadow:0 5px 15px rgba(35,103,209,.08);transform:translateY(-1px)}
.demo-account-icon{width:31px;height:31px;border-radius:9px;background:#eaf1fe;color:#2f64b8;display:grid;place-items:center;font-weight:700}
.patient-demo-icon{background:#e9f7f3;color:#288c80}
.demo-account-copy b{display:block;font-size:10.5px}
.demo-account-copy small{display:block;font-size:8.5px;color:#788496;margin-top:2px}
.demo-action{font-size:9px;font-weight:700;color:#2460b4}

@media(max-width:1120px){
  .suite-grid{grid-template-columns:1fr}
  .suite-card:nth-child(4){display:none}
  .suite-heading{display:block}
  .suite-heading strong{display:block;text-align:left;margin-top:5px}
}
@media(max-width:980px){
  .story-copy p{font-size:15px}
  .product-suite{padding:16px}
  .suite-card{padding:11px}
}
@media(max-width:760px){
  .auth-header h2{font-size:30px}
  .auth-header p{font-size:13px}
  .demo-accounts{grid-template-columns:1fr}
  .field-label{font-size:11.5px}
  .input-wrap input{font-size:14px}
}
