:root{
  --siaka-teal:#147d78;
  --siaka-teal-dark:#0d5f5c;
  --siaka-mint:#dff4ef;
  --siaka-sky:#e7f5f7;
  --siaka-rose:#d95d74;
  --siaka-rose-dark:#b6425a;
  --siaka-blush:#fdebf0;
  --siaka-ink:#26353d;
  --siaka-muted:#708087;
  --siaka-line:#dfe9e8;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:#f5f9f8;
  color:var(--siaka-ink);
  font-family:"Segoe UI Variable","Segoe UI",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
.siaka-login-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  position:relative;
  isolation:isolate;
  padding:34px 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 10%,rgba(60,171,158,.10),transparent 30%),
    radial-gradient(circle at 90% 90%,rgba(224,101,126,.10),transparent 28%),
    linear-gradient(135deg,#f4faf8 0%,#fbfcfb 50%,#fff7f9 100%);
}
.login-container{position:relative;z-index:2}
.login-orb{position:fixed;pointer-events:none;border-radius:999px;filter:blur(1px);z-index:-1}
.orb-one{width:360px;height:360px;left:-120px;top:-110px;background:rgba(169,225,215,.32)}
.orb-two{width:330px;height:330px;right:-95px;bottom:-100px;background:rgba(248,199,209,.34)}
.orb-three{width:170px;height:170px;right:15%;top:8%;background:rgba(211,236,242,.30)}
.login-shell{
  overflow:hidden;
  border-radius:30px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(220,233,231,.96);
  box-shadow:0 28px 75px rgba(36,66,67,.13);
  backdrop-filter:blur(15px);
}
.login-visual{
  position:relative;
  min-height:620px;
  padding:50px 54px;
  overflow:hidden;
  background:
    linear-gradient(145deg,rgba(224,246,241,.98) 0%,rgba(242,249,249,.98) 48%,rgba(255,237,242,.95) 100%);
}
.login-visual:before{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-82px;top:-78px;
  border-radius:82px;
  transform:rotate(24deg);
  background:linear-gradient(145deg,rgba(37,151,141,.14),rgba(217,93,116,.06));
}
.login-visual:after{
  content:"";
  position:absolute;
  width:210px;height:210px;
  left:-80px;bottom:-78px;
  border-radius:64px;
  transform:rotate(-18deg);
  background:rgba(217,93,116,.08);
}
.login-brand{position:relative;z-index:2;display:flex;align-items:center;gap:13px;margin-bottom:74px}
.brand-mark{
  width:50px;height:50px;
  border-radius:15px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-size:19px;
  background:linear-gradient(145deg,#188b84,#0e6965 70%);
  box-shadow:0 12px 25px rgba(20,125,120,.24);
}
.brand-name{font-size:22px;line-height:1;font-weight:650;letter-spacing:.075em;color:#23363d}
.brand-subtitle{margin-top:5px;color:#728287;font-size:12px;font-weight:500}
.visual-copy{position:relative;z-index:2;max-width:510px}
.visual-eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:13px;color:var(--siaka-teal-dark);font-size:12px;font-weight:650;letter-spacing:.11em;text-transform:uppercase}
.visual-eyebrow span{display:inline-block;width:28px;height:3px;border-radius:20px;background:linear-gradient(90deg,var(--siaka-teal),var(--siaka-rose))}
.visual-copy h1{margin:0 0 18px;font-size:42px;line-height:1.12;font-weight:650;letter-spacing:-.035em;color:#26373e;max-width:560px}
.visual-copy p{margin:0;color:#66777e;font-size:16px;line-height:1.72;max-width:520px}
.flow-pills{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:9px;margin-top:31px}
.flow-pills span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(201,223,219,.92);box-shadow:0 5px 14px rgba(48,79,78,.04);color:#586b70;font-size:12px;font-weight:550}
.flow-pills i{color:var(--siaka-teal)}
.flow-pills span:nth-child(4) i{color:var(--siaka-rose)}
.visual-accent-card{position:absolute;z-index:2;left:54px;right:54px;bottom:42px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:17px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.82);box-shadow:0 9px 26px rgba(62,92,91,.06)}
.accent-icon{flex:0 0 38px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,#e37387,#c64d65)}
.visual-accent-card strong{display:block;color:#34474d;font-size:13px;font-weight:600;margin-bottom:2px}
.visual-accent-card small{display:block;color:#76868b;font-size:11px;line-height:1.45}
.login-panel{min-height:620px;display:flex;flex-direction:column;justify-content:center;padding:50px 48px;background:rgba(255,255,255,.97)}
.panel-heading{margin-bottom:27px}
.panel-kicker{display:inline-flex;margin-bottom:9px;color:var(--siaka-teal);font-size:11px;font-weight:650;letter-spacing:.11em}
.panel-heading h2{margin:0 0 7px;color:#25363d;font-size:31px;line-height:1.2;font-weight:650;letter-spacing:-.025em}
.panel-heading p{margin:0;color:#78878c;line-height:1.62;font-size:13px}
.google-login{height:50px!important;display:flex!important;align-items:center;justify-content:center;gap:10px;border-radius:13px!important;background:#fff!important;color:#42565d!important;border:1px solid #d8e4e2!important;font-size:14px;font-weight:550!important;box-shadow:0 5px 14px rgba(50,78,78,.03);transition:.2s ease}
.google-login:hover{transform:translateY(-1px);background:#f8fcfb!important;color:#25484a!important;border-color:#afcfca!important;box-shadow:0 9px 22px rgba(31,110,104,.08)}
.google-icon{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:8px;background:#f6faf9;color:#d34f5f}
.login-divider{display:flex;align-items:center;gap:13px;margin:27px 0 22px;color:#9aa7aa;font-size:10.5px;font-weight:650;letter-spacing:.10em}
.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:#e7efee}
.admin-login-form label{margin-bottom:7px;color:#506168;font-size:12px;font-weight:550}
.login-input-group .form-control{height:46px;border:1px solid #dbe6e4;border-right:0;border-radius:11px 0 0 11px!important;background:#fbfdfc;color:#2e4047;font-size:13px;box-shadow:none!important}
.login-input-group .form-control:focus{border-color:#8fc2bb;background:#fff}
.login-input-group .input-group-text{height:46px;min-width:44px;justify-content:center;border:1px solid #dbe6e4;border-left:0;border-radius:0 11px 11px 0!important;background:#fbfdfc;color:#859397}
.password-toggle{cursor:pointer;outline:0!important;box-shadow:none!important}
.admin-login-btn{height:47px!important;margin-top:6px;border:0!important;border-radius:12px!important;color:#fff!important;background:linear-gradient(135deg,#177f79,#0d6764)!important;box-shadow:0 11px 23px rgba(20,125,120,.18)!important;font-size:13px;font-weight:550!important;transition:.2s ease}
.admin-login-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#126f6a,#0a5a57)!important;box-shadow:0 13px 25px rgba(20,125,120,.22)!important}
.admin-login-btn i{margin-right:7px}
.admin-note{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:12px 13px;border:1px solid #f3d8de;border-radius:13px;background:#fff6f8;color:#7c6067;font-size:11.5px;line-height:1.5}
.note-icon{flex:0 0 28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#fde8ed;color:var(--siaka-rose)}
.login-foot{margin-top:25px;color:#9aa6a9;font-size:10.5px;text-align:center}
.login-foot span{margin:0 5px;color:#d46b7e}
.login-alert{display:flex;align-items:flex-start;gap:9px;border:0!important;border-radius:12px!important;font-size:12px;line-height:1.45;padding:11px 12px!important}
.login-alert i{margin-top:2px}
.alert-danger.login-alert{background:#fff0f2;color:#95475a}
.alert-warning.login-alert{background:#fff8e8;color:#8b6d31}
.alert-success.login-alert{background:#eaf8f2;color:#397360}
.mobile-brand{margin-bottom:30px}
@media(max-width:1199.98px){.visual-copy h1{font-size:37px}.login-visual{padding:46px}.visual-accent-card{left:46px;right:46px}.login-panel{padding:45px 40px}}
@media(max-width:991.98px){.siaka-login-page{padding:18px 0}.login-shell{border-radius:22px;max-width:560px;margin:auto}.login-panel{min-height:auto;padding:38px 34px}.brand-mark{width:46px;height:46px}.brand-name{font-size:20px}}
@media(max-width:575.98px){.siaka-login-page{align-items:flex-start;padding:14px 0 24px}.login-shell{border-radius:19px}.login-panel{padding:28px 21px}.panel-heading h2{font-size:27px}.mobile-brand{margin-bottom:26px}.admin-note{font-size:11px}}
