body {
    background:
        radial-gradient(circle at top left, rgba(59, 130, 246, 0.28), transparent 32%),
        radial-gradient(circle at bottom right, rgba(14, 165, 233, 0.22), transparent 28%),
        linear-gradient(135deg, #0f172a 0%, #111827 45%, #1e293b 100%);
    color: #e2e8f0;
}

body::before,
body::after {
    content: "";
    position: fixed;
    inset: auto;
    border-radius: 9999px;
    filter: blur(60px);
    pointer-events: none;
    z-index: -1;
}

body::before {
    top: 60px;
    left: 6%;
    width: 220px;
    height: 220px;
    background: rgba(56, 189, 248, 0.18);
}

body::after {
    right: 8%;
    bottom: 80px;
    width: 260px;
    height: 260px;
    background: rgba(96, 165, 250, 0.15);
}

.auth-shell {
    position: relative;
    overflow: hidden;
}

.auth-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.08), transparent 28%),
        linear-gradient(340deg, rgba(59, 130, 246, 0.12), transparent 35%);
    pointer-events: none;
}

.glass-panel {
    background: rgba(15, 23, 42, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.28);
    backdrop-filter: blur(18px);
}

.step-badge {
    background: linear-gradient(135deg, #38bdf8, #2563eb);
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.28);
}

.login-card,
.guide-card {
    position: relative;
    overflow: hidden;
}

.login-card::before {
    content: "";
    position: absolute;
    top: -70px;
    right: -40px;
    width: 180px;
    height: 180px;
    border-radius: 9999px;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.22), rgba(56, 189, 248, 0));
    pointer-events: none;
}

.guide-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 35%),
        repeating-linear-gradient(180deg, rgba(148, 163, 184, 0.07) 0 1px, transparent 1px 36px);
    pointer-events: none;
}

.step-line {
    position: absolute;
    top: 2rem;
    left: 1rem;
    width: 2px;
    height: calc(100% - 2rem);
    background: linear-gradient(to bottom, rgba(56, 189, 248, 0.5), rgba(148, 163, 184, 0));
}


/* /panel/user/login — healthcare client portal */
*{box-sizing:border-box}.clinic-login{min-height:100vh;margin:0;font-family:"DM Sans",Arial,sans-serif;color:#183445;background:#0a344d url("../img/doctor-portal-login-bg.png") center/cover no-repeat fixed}.clinic-login__layout{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(280px,1fr) minmax(390px,500px);align-items:center;gap:clamp(40px,8vw,140px);padding:42px max(5vw,38px);background:linear-gradient(90deg,rgba(4,38,58,.3),rgba(4,38,58,.06) 44%,rgba(3,25,42,.46))}.clinic-brand{position:absolute;top:34px;left:max(5vw,38px);display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.clinic-brand>span{display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(255,255,255,.42);border-radius:12px;background:#0ca8a0;font:bold 28px Arial}.clinic-brand strong,.clinic-brand small{display:block}.clinic-brand strong,.clinic-login h1,.clinic-login h2{font-family:Manrope,sans-serif}.clinic-brand strong{font-size:15px}.clinic-brand small{font-size:10px;opacity:.75}.clinic-login__welcome{max-width:520px;margin-top:75px;color:#fff;text-shadow:0 2px 18px rgba(0,25,40,.3)}.clinic-kicker{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:#d4f8f6;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.clinic-kicker i{width:22px;height:2px;background:#35d1c8}.clinic-login h1{margin:0;font-size:clamp(37px,4vw,59px);line-height:1.1;letter-spacing:-.055em}.clinic-login__welcome>p:not(.clinic-kicker){max-width:390px;margin:22px 0 30px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.88)}.clinic-trust{display:flex;align-items:center;gap:11px;font-size:12px;line-height:1.45;color:rgba(255,255,255,.75)}.clinic-trust b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;color:#b9fffb;background:rgba(13,178,169,.35);border:1px solid rgba(196,255,252,.4)}.clinic-trust strong{color:#fff;font-size:13px}.clinic-login__card{width:100%;padding:clamp(30px,4.1vw,48px);border:1px solid rgba(255,255,255,.62);border-radius:24px;background:rgba(255,255,255,.95);box-shadow:0 26px 60px rgba(0,20,35,.35)}.clinic-kicker--dark{margin-bottom:12px;color:#158b89}.clinic-login h2{margin:0;font-size:30px;letter-spacing:-.045em;color:#143349}.clinic-login__subtext{margin:8px 0 30px;color:#6c7f8b;font-size:14px}.clinic-form{display:grid;gap:20px}.clinic-field{display:grid;gap:8px}.clinic-field label{font-size:13px;font-weight:700;color:#395466}.clinic-label-row{display:flex;justify-content:space-between;align-items:center}.clinic-label-row a,.clinic-support a{color:#108d89;text-decoration:none;font-weight:700}.clinic-label-row a{font-size:12px}.clinic-field>div:last-child{position:relative}.clinic-field>div:last-child>span{position:absolute;top:50%;left:16px;color:#6f8997;font:bold 16px Arial;transform:translateY(-50%)}.clinic-field input{width:100%;height:51px;padding:0 15px 0 46px;border:1px solid #d9e5e6;border-radius:11px;outline:0;color:#193648;background:#fbfdfd;font:14px "DM Sans",sans-serif}.clinic-field input:focus{border-color:#19aaa2;box-shadow:0 0 0 4px rgba(25,170,162,.13)}.clinic-form button{display:flex;justify-content:center;align-items:center;gap:11px;width:100%;height:52px;margin-top:4px;border:0;border-radius:11px;color:#fff;background:linear-gradient(105deg,#0c8885,#16aea6);box-shadow:0 12px 22px rgba(11,133,130,.22);font:700 14px "DM Sans",sans-serif;cursor:pointer}.clinic-form button:hover{transform:translateY(-2px)}.clinic-form button b{font-size:19px}.clinic-support{margin:25px 0 0;padding-top:20px;border-top:1px solid #e5eded;text-align:center;color:#80919a;font-size:11px}.clinic-login .alert-container{position:fixed;right:20px;bottom:20px;z-index:20}@media(max-width:840px){.clinic-login__layout{grid-template-columns:minmax(300px,470px);justify-content:center;padding:108px 24px 35px;background:rgba(3,31,48,.42)}.clinic-login__welcome{display:none}.clinic-brand{top:28px;left:24px}}@media(max-width:460px){.clinic-login__layout{padding:91px 14px 18px}.clinic-brand{top:20px;left:18px}.clinic-login__card{padding:28px 22px;border-radius:19px}.clinic-login h2{font-size:27px}}