/* SIAGA Modern Theme - Paris Athaya */
:root {
  --siaga-primary:#5b3df5;
  --siaga-primary-dark:#31206f;
  --siaga-accent:#12c2a3;
  --siaga-bg:#f4f7fb;
  --siaga-text:#1f2937;
  --siaga-muted:#6b7280;
  --siaga-card:#ffffff;
  --siaga-border:rgba(17,24,39,.08);
}
html, body { min-height:100%; }
body.siaga-modern,
body.login-modern {
  font-family: "Inter", "Nunito", "Source Sans Pro", Arial, sans-serif;
  color: var(--siaga-text);
  background:
    radial-gradient(circle at 10% 10%, rgba(91,61,245,.11), transparent 28%),
    radial-gradient(circle at 90% 0%, rgba(18,194,163,.12), transparent 30%),
    var(--siaga-bg);
}
body.siaga-modern { padding-right:0!important; }
.siaga-navbar {
  background: rgba(255,255,255,.86)!important;
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--siaga-border);
  box-shadow: 0 14px 40px rgba(31,41,55,.06);
}
.siaga-navbar .nav-link { color:#374151!important; }
.siaga-sidebar {
  background: linear-gradient(180deg, #20174c 0%, #322378 52%, #131827 100%)!important;
  box-shadow: 12px 0 40px rgba(17,24,39,.18)!important;
}
.siaga-sidebar .brand-link {
  border-bottom: 1px solid rgba(255,255,255,.09)!important;
  background: rgba(255,255,255,.04);
}
.siaga-sidebar .brand-text { font-weight:800!important; letter-spacing:.04em; }
.siaga-sidebar .user-panel { border-bottom:1px solid rgba(255,255,255,.1)!important; }
.siaga-sidebar .nav-sidebar .nav-link {
  border-radius:16px;
  margin:4px 8px;
  color:rgba(255,255,255,.76)!important;
  transition: all .18s ease;
}
.siaga-sidebar .nav-sidebar .nav-link:hover,
.siaga-sidebar .nav-sidebar .nav-link.active {
  background: rgba(255,255,255,.14)!important;
  color:#fff!important;
  transform: translateX(2px);
}
.content-wrapper {
  background: transparent!important;
}
.siaga-page-hero {
  margin: 12px auto 0;
  padding: 22px 26px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(91,61,245,.95), rgba(18,194,163,.86));
  color:#fff;
  box-shadow: 0 22px 50px rgba(91,61,245,.22);
  overflow:hidden;
  position:relative;
}
.siaga-page-hero:before {
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  right:-80px;
  top:-110px;
  background:rgba(255,255,255,.16);
}
.siaga-page-hero h1 { font-size:1.35rem; font-weight:800; margin:0; }
.siaga-page-hero p { margin:.35rem 0 0; opacity:.88; }
.card,
.modal-content {
  border:0!important;
  border-radius:22px!important;
  box-shadow: 0 18px 45px rgba(31,41,55,.08)!important;
}
.card-header,
.modal-header {
  border-bottom:1px solid var(--siaga-border)!important;
  background: rgba(255,255,255,.72)!important;
  border-radius:22px 22px 0 0!important;
  font-weight:800;
}
.btn { border-radius:14px!important; font-weight:700; }
.btn-primary,
.btn-success {
  border:0!important;
  background: linear-gradient(135deg, var(--siaga-primary), var(--siaga-accent))!important;
  box-shadow:0 12px 28px rgba(91,61,245,.22);
}
.btn-danger { border:0!important; background:linear-gradient(135deg,#ef4444,#f97316)!important; }
.form-control, .custom-select, select.form-control {
  border-radius:14px!important;
  border:1px solid rgba(31,41,55,.12)!important;
  min-height:42px;
}
.form-control:focus, .custom-select:focus, select.form-control:focus {
  border-color:rgba(91,61,245,.55)!important;
  box-shadow:0 0 0 .2rem rgba(91,61,245,.12)!important;
}
.main-footer {
  border-top:1px solid var(--siaga-border)!important;
  background:rgba(255,255,255,.74)!important;
  backdrop-filter: blur(14px);
}
::-webkit-scrollbar { width:8px; height:8px; }
::-webkit-scrollbar-track { background:rgba(31,41,55,.06); border-radius:8px; }
::-webkit-scrollbar-thumb { background:rgba(91,61,245,.35); border-radius:8px; }
::-webkit-scrollbar-thumb:hover { background:rgba(91,61,245,.55); }

/* Login */
.login-modern { overflow-x:hidden; }
.login-shell { min-height:100vh; display:flex; align-items:stretch; }
.login-visual {
  flex:1.15;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(32,23,76,.96), rgba(91,61,245,.9)),
    url('../img/paris.png') center/cover no-repeat;
}
.login-visual:before,
.login-visual:after {
  content:""; position:absolute; border-radius:999px; background:rgba(255,255,255,.12);
}
.login-visual:before { width:420px; height:420px; left:-120px; bottom:-160px; }
.login-visual:after { width:280px; height:280px; right:-90px; top:-70px; }
.login-brand { position:relative; z-index:2; max-width:640px; }
.login-brand img { width:118px; height:118px; object-fit:contain; filter:drop-shadow(0 18px 26px rgba(0,0,0,.25)); }
.login-brand h1 { font-size:clamp(2rem, 4vw, 4.25rem); font-weight:900; line-height:1.03; margin:26px 0 16px; letter-spacing:-.04em; }
.login-brand p { font-size:1.08rem; opacity:.86; max-width:520px; }
.login-badges { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.login-badge { padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(10px); font-weight:700; }
.login-panel { flex:.85; display:flex; align-items:center; justify-content:center; padding:42px 28px; }
.login-card { width:100%; max-width:430px; background:rgba(255,255,255,.82); backdrop-filter:blur(18px); border:1px solid rgba(255,255,255,.7); border-radius:32px; box-shadow:0 28px 70px rgba(31,41,55,.16); padding:38px; }
.login-card h3 { font-weight:900; letter-spacing:-.02em; margin-bottom:8px; }
.login-card .subtitle { color:var(--siaga-muted); margin-bottom:28px; }
.login-input { position:relative; margin-bottom:16px; }
.login-input i { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--siaga-primary); }
.login-input .form-control { padding-left:46px; height:50px; border-radius:18px!important; background:#fff; }
.login-submit { height:50px; border-radius:18px!important; font-size:1rem; }
@media (max-width: 900px) {
  .login-shell { display:block; }
  .login-visual { min-height:38vh; padding:34px 24px; }
  .login-panel { padding:24px 18px; }
}
