:root{--navy:#080b3c;--blue:#0d63ff;--cyan:#16c7d9;--text:#172033;--muted:#7b8498;}
html,body{min-height:100%;}
body.tulpos-login{margin:0;background:radial-gradient(circle at 15% 20%,rgba(13,99,255,.13),transparent 34%),radial-gradient(circle at 88% 12%,rgba(22,199,217,.13),transparent 30%),linear-gradient(135deg,#f5f8fd 0%,#edf2f8 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);}
.tulpos-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 16px;position:relative;overflow:hidden;}
.tulpos-login-glow{position:absolute;width:460px;height:460px;border-radius:50%;background:linear-gradient(135deg,rgba(13,99,255,.12),rgba(22,199,217,.05));filter:blur(2px);right:-160px;bottom:-170px;}
.tulpos-login-card{width:min(980px,100%);display:grid;grid-template-columns:1fr 1.12fr;background:rgba(255,255,255,.93);border:1px solid rgba(255,255,255,.72);border-radius:28px;box-shadow:0 30px 80px rgba(8,11,60,.16);overflow:hidden;position:relative;z-index:1;backdrop-filter:blur(16px);}
.tulpos-login-brand{padding:52px 44px;background:linear-gradient(145deg,var(--navy),#10156e);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;}
.tulpos-login-brand:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:linear-gradient(135deg,rgba(13,99,255,.28),rgba(22,199,217,.08));right:-110px;bottom:-100px;}
.tulpos-login-brand img{width:min(330px,100%);height:auto;background:#fff;border-radius:18px;padding:8px;display:block;position:relative;z-index:1;}
.tulpos-login-brand h1{margin:28px 0 10px;color:#fff;font-size:30px;line-height:1.15;position:relative;z-index:1;}
.tulpos-login-brand p{margin:0;color:rgba(255,255,255,.72);max-width:390px;line-height:1.7;position:relative;z-index:1;}
.tulpos-login-form{padding:52px 52px 42px;display:flex;flex-direction:column;justify-content:center;}
.tulpos-login-form h2{font-size:30px;margin:0 0 8px;color:var(--navy);font-weight:800;}
.tulpos-login-form .sub{margin:0 0 28px;color:var(--muted);}
.tulpos-field{margin-bottom:18px;}
.tulpos-field label{display:block;font-size:13px;font-weight:700;color:#4e5870;margin-bottom:8px;}
.tulpos-input{position:relative;}
.tulpos-input input{width:100%;height:52px;padding:0 48px 0 16px;border:1px solid #dbe2ec;border-radius:14px;background:#fff;font-size:15px;box-sizing:border-box;outline:none;transition:.2s ease;}
.tulpos-input input:focus{border-color:rgba(13,99,255,.5);box-shadow:0 0 0 4px rgba(13,99,255,.10);}
.tulpos-input .prefix{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#8a93a7;}
.tulpos-input.has-prefix input{padding-left:44px;}
.tulpos-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#7d879b;cursor:pointer;padding:8px;}
.tulpos-login-btn{width:100%;height:52px;border:0;border-radius:14px;color:#fff;font-weight:800;font-size:15px;background:linear-gradient(135deg,var(--blue),#2e79ff);box-shadow:0 12px 26px rgba(13,99,255,.22);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;}
.tulpos-login-btn:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(13,99,255,.28);}
.tulpos-login-alert{border-radius:12px;background:#fff2f2;border:1px solid #ffd4d4;color:#b3261e;padding:12px 14px;margin-bottom:18px;font-size:14px;font-weight:600;}
.tulpos-login-footer{margin-top:22px;text-align:center;color:#8a93a7;font-size:12px;}
.tulpos-login-footer a{color:var(--navy);font-weight:800;text-decoration:none;}
@media (max-width: 800px){
  .tulpos-login-card{grid-template-columns:1fr;max-width:560px;}
  .tulpos-login-brand{padding:34px 28px;align-items:center;text-align:center;}
  .tulpos-login-brand img{width:270px;}
  .tulpos-login-brand h1{font-size:24px;}
  .tulpos-login-form{padding:36px 28px 30px;}
}
