 :root {
      --navy:#0b2240;--navy-mid:#123460;--blue:#1a5fa8;--blue-light:#2d8dd9;
      --sky:#e8f4ff;--sky-mid:#d0e8fa;--gold:#f5a623;--gold-light:#fef3dc;
      --green:#16a96b;--green-light:#d4f5e8;--red:#e84040;--red-light:#fde8e8;
      --orange:#f59623;--orange-light:#fff3e0;
      --bg:#e8eff8;--card:#ffffff;--text:#0d1f35;--muted:#5a7490;
      --border:rgba(11,34,64,0.09);--border2:rgba(11,34,64,0.14);
      --shadow-sm:0 2px 12px rgba(11,34,64,0.07);--shadow-md:0 8px 32px rgba(11,34,64,0.13);
      --shadow-lg:0 20px 60px rgba(11,34,64,0.18);--input-bg:#e8eff8;
      --f-display:'Playfair Display',Georgia,serif;--f-body:'Plus Jakarta Sans',system-ui,sans-serif;
    }
    [data-theme="dark"] {
      --navy:#e2eaf8;--navy-mid:#c5d5ee;--blue:#5ba8f5;--blue-light:#7dbfff;
      --sky:#1a2a3f;--sky-mid:#1e3250;--gold:#f5a623;--gold-light:#2e2000;
      --green:#2fd98a;--green-light:#0a2a1c;--red:#ff6b6b;--red-light:#2a0a0a;
      --orange:#ffb347;--orange-light:#2a1500;
      --bg:#0d1826;--card:#152035;--text:#dce8f8;--muted:#7a9bbb;
      --border:rgba(255,255,255,0.07);--border2:rgba(255,255,255,0.13);
      --shadow-sm:0 2px 12px rgba(0,0,0,0.3);--shadow-md:0 8px 32px rgba(0,0,0,0.4);
      --shadow-lg:0 20px 60px rgba(0,0,0,0.5);--input-bg:#0d1826;
    }
    [data-theme="dark"] select option { background-color: #152035; color: #dce8f8; }

    /* AUTOFILL FIX */
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    textarea:-webkit-autofill,
    textarea:-webkit-autofill:hover,
    textarea:-webkit-autofill:focus,
    select:-webkit-autofill,
    select:-webkit-autofill:hover,
    select:-webkit-autofill:focus {
      -webkit-text-fill-color: var(--text) !important;
      -webkit-box-shadow: 0 0 0px 1000px var(--input-bg) inset !important;
      transition: background-color 5000s ease-in-out 0s;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:var(--f-body);background:var(--bg);color:var(--text);min-height:100vh;display:flex;-webkit-font-smoothing:antialiased;opacity:0;transition:opacity .5s ease;}
    body.loaded{opacity:1;}
    *,*::before,*::after{transition:background-color .35s ease,border-color .35s ease,color .2s ease;}

    /* LOADER */
    #page-loader{position:fixed;inset:0;z-index:9999;background:#123460;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,visibility .5s ease;}
    #page-loader.hide{opacity:0;visibility:hidden;}
    .loader-inner{text-align:center;animation:loaderPulse 1.4s ease-in-out infinite;}
    .loader-logo{width:68px;height:68px;border-radius:50%;border:3px solid rgba(255,255,255,.15);padding:4px;margin:0 auto 1rem;}
    .loader-logo img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
    .loader-text{color:rgba(255,255,255,.7);font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;}
    .loader-bar{width:120px;height:2px;background:rgba(255,255,255,.1);border-radius:2px;margin:.8rem auto 0;overflow:hidden;}
    .loader-bar-fill{height:100%;background:var(--gold);border-radius:2px;animation:loadBar 1.1s ease forwards;}
    @keyframes loadBar{from{width:0}to{width:100%}}
    @keyframes loaderPulse{0%,100%{opacity:1}50%{opacity:.6}}

    /* THEME TOGGLE */
    .theme-toggle-float{position:fixed;top:1.2rem;right:1.5rem;z-index:999;width:38px;height:38px;border-radius:50%;background:var(--card);border:1.5px solid var(--border2);color:var(--blue);font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:transform .2s;}
    .theme-toggle-float:hover{transform:rotate(20deg) scale(1.1);}
    [data-theme="dark"] .theme-toggle-float{color:var(--gold);}

    /* LEFT */
    .auth-left{width:420px;flex-shrink:0;background:linear-gradient(160deg,#0b2240 0%,#123460 55%,#0f4d8a 100%);position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:2.5rem 2rem;overflow:hidden;}
    .auth-left::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;}
    .left-mesh{position:absolute;inset:0;pointer-events:none;}
    .mesh-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.18;animation:blobFloat 12s ease-in-out infinite;}
    .mesh-blob:nth-child(1){width:300px;height:300px;background:#2d8dd9;top:-80px;right:-40px;}
    .mesh-blob:nth-child(2){width:200px;height:200px;background:#f5a623;bottom:60px;left:-30px;animation-delay:-5s;}
    .mesh-blob:nth-child(3){width:140px;height:140px;background:#16a96b;top:50%;left:45%;animation-delay:-9s;opacity:.1;}
    @keyframes blobFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(18px,-22px)}}
    .left-top{position:relative;z-index:1;}
    .left-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;margin-bottom:2.5rem;}
    .left-brand img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.25);}
    .left-brand-name{font-family:var(--f-display);font-size:1rem;color:#fff;}
    .left-hero-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:50px;padding:.3rem .9rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:1rem;}
    .left-hero-badge i{color:var(--gold);}
    .left-heading{font-family:var(--f-display);font-size:clamp(1.6rem,2.5vw,2.4rem);color:#fff;line-height:1.15;margin-bottom:.8rem;}
    .left-heading em{font-style:italic;color:var(--gold);}
    .left-desc{color:rgba(255,255,255,.62);font-size:.88rem;line-height:1.8;font-weight:300;}
    .left-steps{position:relative;z-index:1;display:flex;flex-direction:column;gap:.9rem;}
    .left-step{display:flex;align-items:center;gap:.75rem;}
    .step-num{width:28px;height:28px;border-radius:50%;background:rgba(245,166,35,.2);border:1.5px solid rgba(245,166,35,.5);color:var(--gold);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
    .step-text{font-size:.84rem;color:rgba(255,255,255,.72);font-weight:500;}
    .left-footer{position:relative;z-index:1;}
    .left-stat-row{display:flex;gap:1.5rem;}
    .left-stat-num{font-family:var(--f-display);font-size:1.4rem;color:var(--gold);font-weight:700;}
    .left-stat-label{font-size:.68rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em;}

    /* RIGHT */
    .auth-right{flex:1;margin-left:420px;display:flex;align-items:flex-start;justify-content:center;padding:2.5rem 1.5rem;min-height:100vh;}
    .auth-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:2.2rem 2rem;width:100%;max-width:430px;box-shadow:var(--shadow-md);animation:cardUp .6s cubic-bezier(.2,.8,.3,1) .2s both;}
    @keyframes cardUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
    .auth-card-header{text-align:center;margin-bottom:1.6rem;}
    .auth-card-header h2{font-family:var(--f-display);font-size:1.65rem;color:var(--navy);margin-bottom:.3rem;}
    .auth-card-header p{font-size:.86rem;color:var(--muted);}

    /* METHOD TOGGLE */
    .method-toggle{display:flex;background:var(--bg);border-radius:10px;border:1.5px solid var(--border2);padding:4px;margin-bottom:1.5rem;gap:4px;}
    .method-btn{flex:1;padding:.55rem 0;border-radius:7px;background:none;border:none;font-family:var(--f-body);font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:background .2s,color .2s;}
    .method-btn.active{background:var(--card);color:var(--navy);box-shadow:var(--shadow-sm);}
    [data-theme="dark"] .method-btn.active{background:var(--sky);color:var(--blue);}

    /* PROGRESS */
    .progress-steps{display:flex;align-items:center;gap:0;margin-bottom:1.6rem;}
    .prog-step{display:flex;flex-direction:column;align-items:center;flex:1;}
    .prog-circle{width:30px;height:30px;border-radius:50%;border:2px solid var(--border2);background:var(--bg);color:var(--muted);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s;}
    .prog-circle.active{border-color:var(--blue);background:var(--blue);color:#fff;}
    .prog-circle.done{border-color:var(--green);background:var(--green);color:#fff;}
    .prog-label{font-size:.65rem;color:var(--muted);margin-top:.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
    .prog-line{flex:1;height:2px;background:var(--border2);margin-top:-18px;transition:background .3s;}
    .prog-line.done{background:var(--green);}

    /* FORM */
    .form-step{display:none;}
    .form-step.active{display:block;animation:stepIn .35s cubic-bezier(.2,.8,.3,1);}
    @keyframes stepIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
    .form-group{margin-bottom:1rem;}
    .form-group label{display:block;font-size:.74rem;font-weight:700;color:var(--navy-mid);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.4rem;}
    [data-theme="dark"] .form-group label{color:var(--muted);}
    .form-group label .req{color:var(--red);margin-left:2px;}
    .input-wrap{position:relative;}
    .input-wrap>.input-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.88rem;pointer-events:none;}
    .input-wrap input,.input-wrap select{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1.5px solid var(--border2);border-radius:10px;font-family:var(--f-body);font-size:.93rem;color:var(--text);background:var(--input-bg);outline:none;transition:border-color .2s,box-shadow .2s;}
    .input-wrap input[type="password"]{padding-right:2.8rem;}
    .input-wrap input::placeholder{color:var(--muted);opacity:.6;}
    .input-wrap input:focus,.input-wrap select:focus{border-color:var(--blue-light);box-shadow:0 0 0 3px rgba(45,141,217,.12);}
    .input-wrap input.error{border-color:var(--red);box-shadow:0 0 0 3px rgba(232,64,64,.1);}
    .input-wrap select{appearance:none;cursor:pointer;}
    .pass-toggle{position:absolute;right:0;top:0;bottom:0;width:2.6rem;background:none;border:none;border-radius:0 10px 10px 0;color:var(--muted);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s;}
    .pass-toggle:hover{color:var(--blue);background:rgba(45,141,217,.07);}
    .strength-row{display:flex;gap:4px;margin-top:.45rem;}
    .strength-seg{flex:1;height:3px;border-radius:2px;background:var(--border2);transition:background .3s;}
    .strength-label{font-size:.72rem;color:var(--muted);margin-top:.25rem;}
    .other-college-input{margin-top:.5rem;display:none;}
    .other-college-input.show{display:block;}

    /* OTP */
    .otp-inputs{display:flex;gap:.5rem;justify-content:center;}
    .otp-digit{width:46px;height:52px;border-radius:10px;border:1.5px solid var(--border2);background:var(--input-bg);font-family:var(--f-display);font-size:1.4rem;font-weight:700;color:var(--navy);text-align:center;outline:none;transition:border-color .2s,box-shadow .2s;}
    .otp-digit:focus{border-color:var(--blue-light);box-shadow:0 0 0 3px rgba(45,141,217,.12);}
    .otp-digit.filled{border-color:var(--green);}
    #recaptcha-container{display:flex;justify-content:center;margin:.5rem 0;}

    /* BUTTONS */
    .btn-row{display:flex;gap:.75rem;margin-top:.3rem;}
    .btn-back{flex:1;padding:.88rem;background:var(--bg);border:1.5px solid var(--border2);border-radius:10px;color:var(--muted);font-family:var(--f-body);font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s;}
    .btn-back:hover{background:var(--sky);color:var(--blue);border-color:var(--blue);}
    .btn-next,.submit-btn{flex:2;padding:.88rem;background:#0b2240;color:#fff;border:none;border-radius:10px;font-family:var(--f-body);font-size:.92rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s,transform .2s;}
    .btn-next:hover:not(:disabled),.submit-btn:hover:not(:disabled){background:var(--blue);transform:translateY(-2px);}
    .btn-next:disabled,.submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;}
    .btn-next.full,.submit-btn.full{flex:1;}
    [data-theme="dark"] .btn-next,[data-theme="dark"] .submit-btn{background:var(--gold);color:#0b2240;}
    [data-theme="dark"] .btn-next:hover:not(:disabled),[data-theme="dark"] .submit-btn:hover:not(:disabled){background:#e09318;color:#0b2240;}

    /* MESSAGES */
    .form-msg{display:none;border-radius:10px;padding:.8rem 1rem;font-size:.85rem;font-weight:600;margin-top:.8rem;align-items:flex-start;gap:.5rem;line-height:1.5;}
    .form-msg.show{display:flex;}
    .form-msg.error{background:var(--red-light);color:var(--red);}
    .form-msg.success{background:var(--green-light);color:var(--green);}
    .form-msg.warning{background:var(--orange-light);color:var(--orange);}

    /* VERIFY PENDING SCREEN */
    .verify-screen{display:none;text-align:center;padding:.5rem 0;}
    .verify-screen.show{display:block;}
    .verify-icon{width:72px;height:72px;border-radius:50%;background:var(--green-light);margin:0 auto 1.2rem;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--green);}
    .verify-title{font-family:var(--f-display);font-size:1.4rem;color:var(--navy);margin-bottom:.5rem;}
    .verify-desc{font-size:.88rem;color:var(--muted);line-height:1.7;margin-bottom:1.4rem;}
    .verify-email-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--sky);border:1px solid var(--border2);border-radius:50px;padding:.3rem 1rem;font-size:.84rem;font-weight:600;color:var(--blue);margin-bottom:1.2rem;}
    .verify-actions{display:flex;flex-direction:column;gap:.65rem;}
    .btn-check-verify{width:100%;padding:.82rem;background:#0b2240;color:#fff;border:none;border-radius:10px;font-family:var(--f-body);font-size:.92rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s,transform .2s;}
    .btn-check-verify:hover:not(:disabled){background:var(--blue);transform:translateY(-2px);}
    .btn-check-verify:disabled{opacity:.6;cursor:not-allowed;transform:none;}
    [data-theme="dark"] .btn-check-verify{background:var(--gold);color:#0b2240;}
    [data-theme="dark"] .btn-check-verify:hover:not(:disabled){background:#e09318;}
    .btn-resend-verify{width:100%;padding:.75rem;background:none;border:1.5px solid var(--border2);border-radius:10px;font-family:var(--f-body);font-size:.88rem;font-weight:600;color:var(--muted);cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
    .btn-resend-verify:hover:not(:disabled){background:var(--sky);color:var(--blue);border-color:var(--blue);}
    .btn-resend-verify:disabled{opacity:.5;cursor:not-allowed;}
    .btn-cancel-verify{background:none;border:none;color:var(--muted);font-size:.8rem;font-family:var(--f-body);cursor:pointer;margin-top:.3rem;}
    .btn-cancel-verify:hover{color:var(--red);}
    .verify-msg{margin-top:.75rem;}

    /* RESEND */
    .resend-row{text-align:center;margin-top:.6rem;font-size:.8rem;color:var(--muted);}
    .resend-btn{background:none;border:none;color:var(--blue);font-weight:700;cursor:pointer;font-size:.8rem;font-family:var(--f-body);}
    .resend-btn:disabled{color:var(--muted);cursor:default;}

    /* AUTH SWITCH */
    .auth-switch{text-align:center;margin-top:1.4rem;font-size:.84rem;color:var(--muted);}
    .auth-switch a{color:var(--blue);text-decoration:none;font-weight:700;}
    .auth-switch a:hover{text-decoration:underline;}
    .hidden{display:none!important;}

    @media(max-width:860px){.auth-left{display:none;}.auth-right{margin-left:0;padding:1.5rem 1rem;}.auth-card{padding:1.8rem 1.2rem;}}
    @media(max-width:480px){.auth-card{padding:1.5rem 1rem;border-radius:16px;}.otp-digit{width:40px;height:46px;font-size:1.2rem;}}
 