/* ============================================================
   P.A.D.Y LEARNING CENTER — GLOBAL ONLINE EXAM THEME
   Navy #062B66 · Green #07875D · Teal #11948A · Gold #FFBF00
   ============================================================ */

:root{
  --pady-navy:#062B66;
  --pady-navy-2:#0A3F86;
  --pady-navy-dark:#041F4B;
  --pady-green:#07875D;
  --pady-green-2:#0A9A67;
  --pady-teal:#11948A;
  --pady-gold:#FFBF00;
  --pady-gold-soft:#FFF5CC;
  --pady-orange:#FF7B00;
  --pady-red:#ED1C24;
  --pady-purple:#6A39AD;
  --pady-ink:#10284E;
  --pady-muted:#64748B;
  --pady-line:#DCE7F1;
  --pady-soft:#F4F8FC;
  --pady-soft-green:#EDF8F4;
  --pady-white:#FFFFFF;

  --aaibs-primary:var(--pady-green);
  --aaibs-primary-dark:var(--pady-navy);
  --aaibs-primary-darker:var(--pady-navy-dark);
  --aaibs-primary-mid:var(--pady-teal);
  --aaibs-primary-soft:var(--pady-soft-green);
  --aaibs-primary-soft-2:#F8FCFA;
  --aaibs-primary-rgb:7,135,93;

  --blue:var(--pady-navy)!important;
  --blue2:var(--pady-navy-2)!important;
  --gold:var(--pady-gold)!important;
  --ink:var(--pady-ink)!important;
  --muted:var(--pady-muted)!important;
  --bg:var(--pady-soft)!important;
  --card:#fff!important;
  --line:var(--pady-line)!important;
  --success:var(--pady-green)!important;
}

/* ------------------------------------------------------------
   BASE
   ------------------------------------------------------------ */
html,body{
  background:
    radial-gradient(circle at 88% 4%,rgba(17,148,138,.08),transparent 29rem),
    radial-gradient(circle at 7% 92%,rgba(7,135,93,.06),transparent 28rem),
    var(--pady-soft)!important;
  color:var(--pady-ink)!important;
}
body.app-shell{
  background:
    radial-gradient(circle at 90% 0%,rgba(17,148,138,.08),transparent 28rem),
    linear-gradient(180deg,#F8FBFE 0%,#EFF6FB 100%)!important;
}
a{color:var(--pady-navy)!important}
.muted{color:var(--pady-muted)!important}

/* ------------------------------------------------------------
   ADMIN / GURU SIDEBAR
   ------------------------------------------------------------ */
body .app-sidebar,
body .sidebar.app-sidebar,
body .sidebar{
  background:
    radial-gradient(circle at 20% 92%,rgba(255,191,0,.11),transparent 24%),
    linear-gradient(
      180deg,
      var(--pady-navy-dark) 0%,
      var(--pady-navy) 43%,
      #08736B 78%,
      var(--pady-teal) 100%
    )!important;
  color:#fff!important;
}
body .app-sidebar .sidebar-brand,
body .sidebar-brand{
  border-bottom-color:rgba(255,255,255,.10)!important;
}
body .sidebar-brand strong,
body .sidebar-brand span,
body .sidebar-brand small{
  color:#fff!important;
}
body .sidebar-logo{
  background:#fff!important;
  color:var(--pady-navy)!important;
  box-shadow:0 8px 20px rgba(1,31,75,.16)!important;
}
body .sidebar-nav a{
  color:rgba(255,255,255,.92)!important;
  border:1px solid transparent!important;
}
body .sidebar-nav a:hover{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
body .sidebar-nav a.active{
  background:
    linear-gradient(135deg,var(--pady-green),var(--pady-teal))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:
    0 12px 26px rgba(0,45,70,.18),
    inset 0 1px 0 rgba(255,255,255,.16)!important;
}
body .sidebar-quote{
  background:rgba(4,31,75,.32)!important;
  border-color:rgba(255,255,255,.13)!important;
  color:#fff!important;
}
body .sidebar-logout{
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.12)!important;
}
body .sidebar-logout:hover{
  background:rgba(255,191,0,.18)!important;
}

/* ------------------------------------------------------------
   TOPBAR
   ------------------------------------------------------------ */
body .app-topbar,
body .topbar{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(6,43,102,.09)!important;
  box-shadow:0 6px 22px rgba(4,31,75,.07)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
}
body .topbar-icon,
body .notification-button{
  color:var(--pady-navy)!important;
}
body .topbar-icon:hover,
body .notification-button:hover{
  background:var(--pady-soft-green)!important;
}
body .global-search>input{
  background:#F0F6FA!important;
  border:1px solid rgba(6,43,102,.06)!important;
  color:var(--pady-ink)!important;
}
body .global-search>input:focus{
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(7,135,93,.10)!important;
}
body .profile-avatar{
  background:
    linear-gradient(135deg,var(--pady-navy),var(--pady-green))!important;
  color:#fff!important;
}
body .profile-copy b{color:var(--pady-navy)!important}
body .profile-copy span{color:var(--pady-muted)!important}
body .user-chip{
  background:var(--pady-soft-green)!important;
  color:var(--pady-green)!important;
}
body .brand-mark{
  background:linear-gradient(135deg,var(--pady-navy),var(--pady-green))!important;
}

/* ------------------------------------------------------------
   HEADINGS / CARDS
   ------------------------------------------------------------ */
body .card,
body .stat,
body .exam-card,
body .question-card,
body .hero-card,
body .portal-card,
body .table-wrap{
  border-color:var(--pady-line)!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(4,31,75,.055)!important;
}
body .card h1,
body .card h2,
body .card h3,
body .hero-title,
body .page-title,
body .section-title,
body .dashboard-welcome h1,
body .panel-title-row h2{
  color:var(--pady-navy)!important;
}
body .stat b,
body .score-big{
  color:var(--pady-navy)!important;
}
body .stat span{color:var(--pady-muted)!important}
body .area-title,
body .title-band,
body .hero-bar,
body .section-title-bar{
  background:
    linear-gradient(90deg,var(--pady-navy),var(--pady-navy-2),var(--pady-teal))!important;
  color:#fff!important;
}

/* ------------------------------------------------------------
   BUTTONS
   ------------------------------------------------------------ */
body .btn-primary,
body button.btn-primary,
body input[type="submit"].btn-primary,
body .login-card button[type="submit"],
body .student-login-card button[type="submit"]{
  background:
    linear-gradient(135deg,var(--pady-green),var(--pady-teal))!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(7,135,93,.20)!important;
}
body .btn-primary:hover,
body button.btn-primary:hover{
  background:
    linear-gradient(135deg,#066D4B,var(--pady-green))!important;
}
body .btn-gold{
  background:var(--pady-gold)!important;
  color:var(--pady-navy)!important;
  border-color:var(--pady-gold)!important;
}
body .btn-outline,
body .btn-outline-primary{
  background:#fff!important;
  color:var(--pady-navy)!important;
  border-color:rgba(6,43,102,.24)!important;
}
body .btn-outline:hover,
body .btn-outline-primary:hover{
  background:var(--pady-navy)!important;
  border-color:var(--pady-navy)!important;
  color:#fff!important;
}
body .btn-light{
  background:#EFF5FA!important;
  color:var(--pady-navy)!important;
}

/* ------------------------------------------------------------
   FORMS
   ------------------------------------------------------------ */
body label{color:#445B75!important}
body input,
body select,
body textarea{
  border-color:#CBD9E6!important;
  color:var(--pady-ink)!important;
}
body input:focus,
body select:focus,
body textarea:focus{
  border-color:var(--pady-green)!important;
  box-shadow:0 0 0 3px rgba(7,135,93,.11)!important;
}
body input[type="checkbox"],
body input[type="radio"]{
  accent-color:var(--pady-green)!important;
}

/* ------------------------------------------------------------
   TABLES / BADGES
   ------------------------------------------------------------ */
body th{
  background:#F2F7FB!important;
  color:#49617A!important;
}
body td{border-bottom-color:#EAF0F5!important}
body .badge.success{
  background:#EAF8F1!important;
  color:#08724E!important;
}
body .badge.warning{
  background:var(--pady-gold-soft)!important;
  color:#8A6500!important;
}
body .badge.danger{
  background:#FDEDEE!important;
  color:#B52B32!important;
}
body .badge.info,
body .badge.primary,
body .badge.blue{
  background:#EAF3FB!important;
  color:var(--pady-navy)!important;
}

/* ------------------------------------------------------------
   STUDENT LOGIN / PROFILE
   ------------------------------------------------------------ */
body:has(.student-login-card){
  background:
    linear-gradient(
      90deg,
      rgba(4,31,75,.95) 0%,
      rgba(6,43,102,.89) 38%,
      rgba(7,135,93,.66) 70%,
      rgba(17,148,138,.30) 100%
    ),
    url('/ujian/assets/img/gedung-aaibs-wide.png') center/cover fixed no-repeat!important;
}
body .student-login-card{
  border-color:rgba(255,255,255,.68)!important;
  box-shadow:0 28px 70px rgba(4,31,75,.24)!important;
}
body .student-profile-box{
  color:#fff!important;
  background:
    linear-gradient(
      100deg,
      rgba(4,31,75,.96),
      rgba(6,43,102,.86) 44%,
      rgba(7,135,93,.74) 74%,
      rgba(17,148,138,.55)
    ),
    url('/ujian/assets/img/gedung-aaibs-wide.png') center 46%/cover no-repeat!important;
}
body .student-profile-box h1,
body .student-profile-box p,
body .student-profile-box b{
  color:#fff!important;
}
body .student-profile-label{
  color:var(--pady-navy)!important;
  background:var(--pady-gold)!important;
}

/* ------------------------------------------------------------
   EXAM UI
   ------------------------------------------------------------ */
body .option.selected,
body .choice input:checked + label,
body .option input:checked + label,
body .answer-option input:checked + label{
  border-color:var(--pady-green)!important;
  background:#EFF9F5!important;
  box-shadow:0 0 0 3px rgba(7,135,93,.08)!important;
}
body .paste-zone.active{
  border-color:var(--pady-green)!important;
  background:#F1FAF6!important;
}
body .num-btn.current,
body .question-nav button.active,
body .navigator button.active,
body .nomor-soal.active,
body .question-number.active{
  outline-color:var(--pady-gold)!important;
  background:var(--pady-navy)!important;
  border-color:var(--pady-navy)!important;
  color:#fff!important;
}
body .num-btn.answered{
  background:#E3F5EC!important;
  color:#08724E!important;
}
body .num-btn.marked{
  background:var(--pady-gold-soft)!important;
  color:#806000!important;
}
body .exam-progress>span,
body .progress>span,
body .progress-bar{
  background:
    linear-gradient(90deg,var(--pady-green),var(--pady-teal))!important;
}

/* ------------------------------------------------------------
   ADMIN MASTER SPECIAL
   ------------------------------------------------------------ */
body .server-status-banner,
body .system-health-card,
body .monitor-summary{
  border-color:var(--pady-line)!important;
}
body .critical,
body .status-critical{
  background:#FDEDEE!important;
  color:#B52B32!important;
}
body .server-ok,
body .status-ok{
  background:#EAF8F1!important;
  color:#08724E!important;
}

/* ------------------------------------------------------------
   PENGAWAS
   ------------------------------------------------------------ */
body .watch-side{
  background:
    linear-gradient(
      180deg,
      var(--pady-navy-dark),
      var(--pady-navy) 52%,
      var(--pady-green)
    )!important;
}
body .watch-side,
body .watch-side a,
body .watch-brand b,
body .watch-brand small{
  color:#fff!important;
}
body .watch-nav a.active{
  background:rgba(255,255,255,.14)!important;
}
body .watch-top h1,
body .watch-stat b{
  color:var(--pady-navy)!important;
}
body .watch-btn{
  background:
    linear-gradient(135deg,var(--pady-green),var(--pady-teal))!important;
}
body .class-label{
  color:var(--pady-navy)!important;
  background:var(--pady-gold)!important;
}

/* ------------------------------------------------------------
   OLIMPIADE / UMUM
   ------------------------------------------------------------ */
body .ol-top{
  background:
    linear-gradient(
      90deg,
      var(--pady-navy-dark),
      var(--pady-navy),
      var(--pady-teal)
    )!important;
  border-bottom-color:var(--pady-gold)!important;
}
body .ol-brand small{color:#D9EEE8!important}
body .ol-login h1,
body .ol-profile h1,
body .ol-stat b,
body .ol-card h2{
  color:var(--pady-navy)!important;
}
body .ol-mark,
body .ol-profile-label{
  color:#765700!important;
  background:var(--pady-gold-soft)!important;
}
body .oa-section-identity,
body .oa-mode-card{
  border-top-color:var(--pady-gold)!important;
}
body .oa-section-badge,
body .oa-mode-badge{
  color:#765700!important;
  background:var(--pady-gold-soft)!important;
}
body .oa-btn.gold{
  background:var(--pady-gold)!important;
  color:var(--pady-navy)!important;
}

/* ------------------------------------------------------------
   FOOTER
   ------------------------------------------------------------ */
body .app-footer,
body .footer{
  color:#7890A6!important;
}