
/* === SSO: kaca putih transparan, perubahan visual saja === */
/* Bercak dibuat dengan gradient, tanpa elemen yang menghalangi klik. */
:root {
  --sso-glass-fill: rgba(255,255,255,.38);
  --sso-glass-line: rgba(255,255,255,.46);
  --sso-glass-shadow: 0 16px 40px rgba(0,12,28,.22), inset 0 1px 0 rgba(255,255,255,.65), inset 0 -1px 0 rgba(255,255,255,.08);
  --sso-glass-marks:
    radial-gradient(ellipse at 13% 18%,rgba(255,255,255,.24),rgba(255,255,255,.05) 17%,transparent 32%),
    radial-gradient(ellipse at 84% 78%,rgba(255,255,255,.13),transparent 30%),
    radial-gradient(ellipse at 67% 11%,rgba(255,255,255,.09),transparent 19%),
    linear-gradient(125deg,rgba(255,255,255,.12),transparent 42%,rgba(255,255,255,.04) 74%,rgba(255,255,255,.12));
}
body .landing-info,
body .hero-status,
body .account-actions,
body .feature,
body .panel-inner.app-card-shell,
body .public-doc-card,
body .portal-docs-card,
body .portal-doc-item {
  background-color: var(--sso-glass-fill);
  background-image: var(--sso-glass-marks);
  border-color: var(--sso-glass-line);
  box-shadow: var(--sso-glass-shadow);
  -webkit-backdrop-filter: blur(22px) saturate(115%);
  backdrop-filter: blur(22px) saturate(115%);
  color: #fff;
}
/* Panel kecil tetap transparan tanpa menumpuk efek blur. */
body .mini-apps > div,
body .status-item {
  background: linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.055));
  border-color: rgba(255,255,255,.30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}
body .header-login,
body .primary-action,
body .logout-button,
body .public-doc-actions a,
body .public-doc-actions button,
body .portal-doc-actions a,
body .portal-chat-fab {
  background: linear-gradient(130deg,rgba(255,255,255,.26),rgba(255,255,255,.12));
  border-color: rgba(255,255,255,.50);
  box-shadow: 0 8px 24px rgba(0,12,28,.18),inset 0 1px 0 rgba(255,255,255,.55);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: #fff;
}
body .portal-chat-fab { background-color: rgba(33,48,67,.72); }
body .header-login:hover,
body .primary-action:hover,
body .logout-button:hover,
body .public-doc-actions a:hover,
body .public-doc-actions button:hover,
body .portal-doc-actions a:hover,
body .portal-chat-fab:hover {
  background-color: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.85);
  box-shadow: 0 12px 30px rgba(0,12,28,.22),inset 0 1px 0 rgba(255,255,255,.75);
}
body .portal-chat-fab:hover { background-color: rgba(50,64,82,.90); }
body .panel-inner.app-card-shell:hover,
body .panel-inner.app-card-shell:focus-visible,
body .mini-apps > div:hover {
  border-color: rgba(255,255,255,.86);
  box-shadow: 0 20px 44px rgba(0,12,28,.26),inset 0 1px 0 rgba(255,255,255,.80),0 0 20px rgba(255,255,255,.08);
}
body .panel-inner.app-card-shell::before {
  background: linear-gradient(120deg,rgba(255,255,255,.16),transparent 52%);
  pointer-events: none;
}
body .panel-inner.app-card-shell::after { color: #f0f5fa; }
body .panel-inner.is-disabled:hover {
  border-color: var(--sso-glass-line);
  box-shadow: var(--sso-glass-shadow);
}
body .app-card-bg { border-color: rgba(255,255,255,.65); }
body .app-card-label { color: #e1f2fc; }
body .app-text-title { color: #fff; }
body .app-text-sub,
body .mini-apps small,
body .feature small,
body .status-label,
body .status-unor,
body .account-copy span,
body .public-doc-main small,
body .portal-doc-copy small,
body .portal-docs-head p { color: #e0e8f0; }
body .info-head span,
body .status-icon { color: #f2f8ff; }
body .status-unor { border-top-color: rgba(255,255,255,.25); }
body .public-docs-section {
  background: linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  border-color: rgba(255,255,255,.18);
}
body .share-toast {
  background: linear-gradient(135deg,rgba(63,78,96,.93),rgba(27,43,62,.93));
  border-color: rgba(255,255,255,.48);
  box-shadow: var(--sso-glass-shadow);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
body .portal-chat-window { border-color: rgba(255,255,255,.65); }
/* Pertahankan animasi lama, ganti warna pantulannya saja. */
@keyframes ssoGlowPulse {
  0%,100% { box-shadow: var(--sso-glass-shadow); }
  50% { box-shadow: 0 22px 50px rgba(0,12,28,.25),inset 0 1px 0 rgba(255,255,255,.75),0 0 24px rgba(255,255,255,.09); }
}
/* Browser tanpa backdrop-filter tetap memperoleh panel terbaca. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body .landing-info, body .hero-status, body .account-actions,
  body .feature, body .panel-inner.app-card-shell,
  body .public-doc-card, body .portal-docs-card, body .portal-doc-item {
    background-color: rgba(57,73,91,.96);
  }
}
@media (prefers-reduced-transparency: reduce) {
  body .landing-info, body .hero-status, body .account-actions,
  body .feature, body .panel-inner.app-card-shell,
  body .public-doc-card, body .portal-docs-card, body .portal-doc-item {
    background-color: #39495b;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* V2: kaca putih lebih nyata, teks gelap agar tetap terbaca. */
body .landing-info, body .hero-status, body .account-actions,
body .feature, body .panel-inner.app-card-shell,
body .public-doc-card, body .portal-docs-card, body .portal-doc-item,
body .app-text-title, body .status-number,
body .panel-inner.app-card-shell::after { color: #102337; }
body .app-card-label, body .info-head span, body .status-icon { color: #16466a; }
body .app-text-sub, body .mini-apps small, body .feature small,
body .status-label, body .status-unor, body .account-copy span,
body .public-doc-main small, body .portal-doc-copy small,
body .portal-docs-head p { color: #293f55; }
body .public-doc-badge, body .portal-doc-cat { color: #07513e; }
body .public-doc-badge.is-basic, body .portal-doc-cat.basic { color: #39327a; }
body .public-doc-actions a, body .public-doc-actions button,
body .portal-doc-actions a, body .logout-button { color: #18334e; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body .landing-info, body .hero-status, body .account-actions,
  body .feature, body .panel-inner.app-card-shell,
  body .public-doc-card, body .portal-docs-card, body .portal-doc-item {
    background-color: #e1e7ee;
  }
}
@media (prefers-reduced-transparency: reduce) {
  body .landing-info, body .hero-status, body .account-actions,
  body .feature, body .panel-inner.app-card-shell,
  body .public-doc-card, body .portal-docs-card, body .portal-doc-item {
    background-color: #e1e7ee;
  }
}

/* V3: latar bergambar menerus agar kaca benar-benar memburamkan latar. */
body {
  background-color: #bac3cc;
  background-image: linear-gradient(rgba(239,242,245,.48),rgba(233,238,243,.48)),url('../img/brand/hero-clean.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
body .portal-hero, body .landing-hero {
  background: transparent;
  border-bottom-color: rgba(255,255,255,.35);
  box-shadow: none;
}
body .hero-overlay, body .landing-overlay {
  background: linear-gradient(90deg,rgba(14,25,39,.48),rgba(14,25,39,.16));
}
body .portal-hero::after, body .landing-hero::after {
  background: linear-gradient(180deg,transparent,rgba(233,238,243,.22));
}
body .hero-status, body .landing-info, body .account-actions {
  background-color: rgba(255,255,255,.60);
}
body .apps-heading h2, body .public-docs-head, body .portal-docs-head { color: #102337; }
body .apps-kicker, body .public-docs-kicker { color: #234765; }
body .apps-heading p, body .public-docs-head p,
body .public-doc-note, body .public-doc-empty,
body .portal-footer, body .landing-footer, body .footer-note { color: #243b50; }
body .public-doc-note a { color: #123f69; }
body .portal-footer, body .landing-footer { border-color: rgba(255,255,255,.42); }
body .portal-docs-card { background-color: rgba(255,255,255,.22); }
body .portal-doc-item { background-color: rgba(255,255,255,.32); }
body .panel-inner.app-card-shell:hover,
body .panel-inner.app-card-shell:focus-visible { background-color: rgba(255,255,255,.49); }
body .panel-inner.is-disabled:hover { background-color: var(--sso-glass-fill); }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body .landing-info, body .hero-status, body .account-actions,
  body .feature, body .panel-inner.app-card-shell,
  body .public-doc-card, body .portal-docs-card, body .portal-doc-item { background-color: #e1e7ee; }
}
@media (prefers-reduced-transparency: reduce) {
  body .landing-info, body .hero-status, body .account-actions,
  body .feature, body .panel-inner.app-card-shell,
  body .public-doc-card, body .portal-docs-card, body .portal-doc-item { background-color: #e1e7ee; }
}
