*{box-sizing:border-box}
body.docshift-auth-body{margin:0;min-height:100vh;font-family:Arial,Helvetica,sans-serif;background:#06162f;color:#fff;display:flex;align-items:center;justify-content:center;padding:28px;background-image:radial-gradient(circle at 18% 22%,rgba(92,200,255,.24),transparent 30%),radial-gradient(circle at 82% 78%,rgba(140,240,194,.18),transparent 28%),linear-gradient(135deg,#06162f,#0b2d66 56%,#11153a);}
a{color:inherit}.auth-shell{width:min(1120px,94vw);display:grid;grid-template-columns:1.02fr .98fr;gap:22px;align-items:stretch}.auth-intro,.auth-card{background:rgba(6,18,40,.78);border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.34);backdrop-filter:blur(14px)}.auth-intro{display:flex;flex-direction:column;justify-content:space-between;min-height:520px;overflow:hidden;position:relative}.auth-intro:before{content:"";position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:linear-gradient(135deg,rgba(140,240,194,.35),rgba(92,200,255,.18));filter:blur(2px)}.brand-row{display:flex;align-items:center;gap:12px;font-size:30px;font-weight:900}.brand-logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#8cf0c2,#5cc8ff);display:grid;place-items:center;color:#06162f;font-weight:900}.eyebrow{color:#8cf0c2;text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:900;margin-bottom:10px}.auth-intro h1,.auth-card h1{margin:0 0 12px;font-size:40px;line-height:1.08}.auth-intro p,.hint{color:#dbeafe;line-height:1.65}.role-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:22px}.role-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);text-decoration:none}.role-card strong{display:block;margin-bottom:4px}.role-card span{font-size:13px;color:#cbd5e1;line-height:1.45}.role-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:rgba(140,240,194,.16);flex:0 0 auto}.auth-card{min-height:520px;display:flex;flex-direction:column;justify-content:center}.auth-brand{font-size:28px;font-weight:900;margin-bottom:16px}.auth-badge{display:inline-flex;width:max-content;padding:8px 12px;border-radius:999px;background:rgba(140,240,194,.14);border:1px solid rgba(140,240,194,.24);color:#8cf0c2;font-weight:900;margin-bottom:16px}.alert{padding:13px 15px;border-radius:16px;margin:12px 0}.alert.error{background:rgba(255,80,80,.18);border:1px solid rgba(255,80,80,.35)}label{display:block;margin-top:12px;margin-bottom:6px;font-weight:800;color:#dbeafe}input{width:100%;padding:14px 15px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.94);color:#07172f;font-size:15px;outline:none}input:focus{border-color:#8cf0c2;box-shadow:0 0 0 4px rgba(140,240,194,.12)}.password-wrap{position:relative}.password-wrap button{position:absolute;right:8px;top:8px;width:auto;padding:8px 11px;border:0;border-radius:12px;background:#22395f;color:white;cursor:pointer;font-weight:800}.password-wrap input{padding-right:86px}.primary{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,#8cf0c2,#5cc8ff);color:#06162f;text-decoration:none;font-weight:900;border:0;cursor:pointer;margin-top:16px;font-size:15px}.auth-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.auth-links a{color:#8cf0c2;text-decoration:none;font-weight:800}.auth-note{font-size:13px;color:#cbd5e1;margin-top:14px}.mini-footer{position:relative;z-index:1;color:#cbd5e1;font-size:13px}.mini-footer strong{color:#fff}.domain-help{font-size:13px;color:#cbd5e1;margin-top:7px}.quick-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.quick-switch a{padding:10px;border-radius:14px;background:rgba(255,255,255,.07);text-decoration:none;text-align:center;font-weight:800;font-size:13px}.quick-switch a.active{background:rgba(140,240,194,.18);color:#8cf0c2}@media(max-width:860px){body.docshift-auth-body{align-items:flex-start}.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:auto}.auth-intro h1,.auth-card h1{font-size:32px}.quick-switch{grid-template-columns:1fr}.auth-card{min-height:auto}}@media(max-width:520px){body.docshift-auth-body{padding:16px}.auth-intro,.auth-card{padding:22px;border-radius:24px}.brand-row{font-size:26px}.auth-intro h1,.auth-card h1{font-size:28px}}

/* DocShift login routing/domain fix */
.fixed-domain-input{display:flex;align-items:center;width:100%;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.94);overflow:hidden;box-shadow:0 0 0 0 rgba(140,240,194,0)}
.fixed-domain-input:focus-within{border-color:#8cf0c2;box-shadow:0 0 0 4px rgba(140,240,194,.12)}
.fixed-domain-input input{border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;flex:1 1 auto;min-width:0;padding:14px 15px}
.fixed-domain-input span{flex:0 0 auto;color:#07172f;font-weight:900;padding:0 15px;white-space:nowrap;border-left:1px solid rgba(7,23,47,.16);align-self:stretch;display:flex;align-items:center;background:rgba(140,240,194,.18)}
@media(max-width:520px){.fixed-domain-input span{font-size:12px;padding:0 10px}.fixed-domain-input input{padding-left:12px}}
