/* Token diangkat dari design/*.dc.html supaya prototipe dan desain tidak bercabang.
   Kalau salah satu berubah, yang lain harus ikut. */
:root {
  --navy: #16324F;  --navy-2: #1D3E60;  --navy-3: #23486C;
  --amber: #A86A0B; --teal: #7FD3B4;
  --naik: #C6362C;  --turun: #17795E;   /* merah naik, hijau turun — konvensi bursa Taiwan */
  --tolak: #8A2F27;
  --ground: #EEF0F2; --surface: #FFFFFF; --ink: #101418;
  --abu: #5F6B78;   --abu-2: #4A535E;   --garis: #D3D8DE;
  --biru-mark: #2F74C0; --oranye-mark: #B5730C;
}

/* =====================================================================
   Sistem desain (UI v1.1)
   Satu set token dan komponen untuk semua halaman. Komponen halaman di
   bawah bagian ini memakai token ini; jangan menulis warna atau jarak
   lepas di template.
   ===================================================================== */
:root {
  /* jarak */
  --j-1: 4px; --j-2: 8px; --j-3: 12px; --j-4: 16px; --j-5: 24px; --j-6: 32px;
  /* radius */
  --r-1: 4px; --r-2: 6px; --r-3: 10px; --r-bulat: 999px;
  /* bayangan: tipis saja (DESIGN.md: tanpa bayangan tebal) */
  --bayang-1: 0 1px 2px rgba(16, 20, 24, .06);
  --bayang-2: 0 2px 10px rgba(16, 20, 24, .10);
  /* ukuran huruf: isi minimal 14px */
  --h-kecil: 12px; --h-label: 13px; --h-isi: 14px; --h-sedang: 16px;
  --h-besar: 20px; --h-judul: 24px; --h-angka: 28px;
  --ukuran-kecil: var(--h-label); --ukuran-isi: var(--h-isi); --ukuran-sub: var(--h-sedang);
  --tinta: var(--ink);
  /* netral tambahan */
  --netral-50: #F7F8FA; --netral-100: #EEF0F2; --netral-200: #E2E6EB;
  /* warna status agent dan tingkat sinyal. Sengaja bukan merah/hijau supaya
     tidak tertukar dengan arah harga (merah naik, hijau turun). */
  --st-terbit: #16324F;      --st-terbit-latar: #E6ECF3;
  --st-tahan: #7A4E09;       --st-tahan-latar: #FBF2E3;  --st-tahan-garis: #C9922E;
  --tinta-ditahan: var(--st-tahan);
  --st-arsip: #4F5965;       --st-arsip-latar: #ECEFF2;
  --tk-info: #2D4A68;        --tk-info-latar: #E8EEF5;
  --tk-perhatian: #7A4E09;   --tk-perhatian-latar: #FBF2E3;
  --tk-serius: #5B2C83;      --tk-serius-latar: #F1EAF7;
  --fokus: #2F74C0;
  /* gerak & transisi (v1.3) */
  --gerak-cepat: 150ms;
  --gerak-sedang: 220ms;
  --gerak-halaman: 280ms;
  --kurva-masuk: cubic-bezier(.2, .8, .2, 1);
  --kurva-keluar: ease-in;
}

/* fokus keyboard selalu terlihat */
:focus-visible { outline: 2px solid var(--fokus); outline-offset: 2px; border-radius: var(--r-1); }
[hidden] { display: none !important; }

/* --- transisi antarhalaman (View Transitions lintas dokumen, A1.1) --- */
@view-transition { navigation: auto; }
.rail { view-transition-name: rail; }
.bilah-atas { view-transition-name: bilah-atas; }
main.isi { view-transition-name: isi; }

@keyframes feaf-isi-keluar {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-6px); }
}
@keyframes feaf-isi-masuk {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
::view-transition-group(rail),
::view-transition-group(bilah-atas),
::view-transition-old(rail),
::view-transition-new(rail),
::view-transition-old(bilah-atas),
::view-transition-new(bilah-atas) {
  animation: none;
}
::view-transition-old(isi) {
  animation: feaf-isi-keluar var(--gerak-cepat) var(--kurva-keluar) both;
}
::view-transition-new(isi) {
  animation: feaf-isi-masuk var(--gerak-halaman) var(--kurva-masuk) both;
}

/* --- tombol: utama (bawaan), .sekunder, .bahaya --- */
.tombol { display: inline-flex; align-items: center; justify-content: center; gap: var(--j-2);
          min-height: 40px; padding: 0 var(--j-4); border: 0; border-radius: var(--r-2);
          font: 600 var(--h-isi)/1.2 "Instrument Sans", sans-serif; cursor: pointer;
          background: var(--navy); color: #fff; text-decoration: none; white-space: nowrap;
          transition: background var(--gerak-cepat) var(--kurva-masuk),
                      color var(--gerak-cepat) var(--kurva-masuk),
                      box-shadow var(--gerak-cepat) var(--kurva-masuk),
                      transform var(--gerak-cepat) var(--kurva-masuk); }
.tombol:hover { background: var(--navy-3); }
.tombol:active { transform: scale(.97); }
.tombol:disabled,
.tombol[aria-disabled="true"],
.tombol.sedang-memuat { cursor: not-allowed; }
.tombol.sedang-memuat { cursor: progress; }
.tombol:disabled:active,
.tombol[aria-disabled="true"]:active,
.tombol.sedang-memuat:active { transform: none; }
.tombol.utama { background: var(--navy); color: #fff; }
.tombol.sekunder, .tombol.abu { background: var(--surface); color: var(--navy);
                                box-shadow: inset 0 0 0 1px var(--garis); }
.tombol.sekunder:hover, .tombol.abu:hover { background: var(--netral-50); box-shadow: inset 0 0 0 1px var(--navy); }
.tombol.bahaya, .tombol.tipis { background: var(--surface); color: var(--tolak);
                                box-shadow: inset 0 0 0 1px #E2B8B2; }
.tombol.bahaya:hover, .tombol.tipis:hover { background: #FBF1EF; }
.tombol.kecil, .tombol.tipis { min-height: 32px; padding: 0 var(--j-3); font-size: var(--h-label); }
.tombol.aktif { background: var(--navy); color: #fff; box-shadow: none; }
.baris-tombol { display: flex; flex-wrap: wrap; gap: var(--j-2); align-items: center; }

@keyframes feaf-putar {
  to { transform: rotate(360deg); }
}
.tombol.sedang-memuat, .chip.sedang-memuat {
  cursor: wait;
  opacity: .85;
  pointer-events: none;
}
.tombol.sedang-memuat::before, .chip.sedang-memuat::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  flex: none;
  border-radius: 50%;
  border: 2px solid rgba(127, 127, 127, .3);
  border-top-color: currentColor;
  animation: feaf-putar 700ms linear infinite;
}

/* --- lencana: status agent dan tingkat sinyal --- */
.lencana { display: inline-flex; align-items: center; gap: var(--j-1); padding: 3px var(--j-2);
           border-radius: var(--r-1); font: 600 var(--h-kecil)/1.3 "Instrument Sans", sans-serif;
           white-space: nowrap; background: var(--netral-100); color: var(--abu-2); }
.lencana.besar { font-size: var(--h-label); padding: 5px var(--j-3); }
.l-terbit   { background: var(--st-terbit); color: #fff; }
.l-ditahan  { background: var(--st-tahan-latar); color: var(--st-tahan); box-shadow: inset 0 0 0 1px var(--st-tahan-garis); }
.l-dilewati { background: var(--st-arsip-latar); color: var(--st-arsip); box-shadow: inset 0 0 0 1px #B4BCC6; }
.l-ditolak  { background: var(--tk-serius-latar); color: var(--tk-serius); box-shadow: inset 0 0 0 1px #B79AD0; }
.lencana.tk-info, .lencana.l-rendah { background: var(--tk-info-latar); color: var(--tk-info); }
.lencana.tk-perhatian, .lencana.l-sedang { background: var(--tk-perhatian-latar); color: var(--tk-perhatian); }
.lencana.tk-serius, .lencana.l-tinggi { background: var(--tk-serius-latar); color: var(--tk-serius); }

/* --- kartu --- */
.kartu { background: var(--surface); border-radius: var(--r-3); padding: var(--j-4) var(--j-4);
         margin-bottom: var(--j-3); box-shadow: var(--bayang-1); min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.kartu:has(> table) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.kartu.rapat { padding: var(--j-3) var(--j-4); }
a.kartu { display: block; color: inherit; text-decoration: none;
          transition: transform var(--gerak-cepat) var(--kurva-masuk),
                      box-shadow var(--gerak-cepat) var(--kurva-masuk); }
a.kartu:hover { transform: translateY(-2px); box-shadow: 0 0 0 1.5px var(--navy), var(--bayang-2); }
a.kartu:active { transform: translateY(0); }
.kartu-judul { font-size: var(--h-sedang); font-weight: 700; margin: 0 0 var(--j-2); }
.grid-kartu, .grid-angka-kunci { display: grid; gap: var(--j-3); grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
                                 margin-bottom: var(--j-3); }
.grid-kartu .kartu { margin: 0; }
.dua-kolom { display: grid; gap: var(--j-3); grid-template-columns: 1fr 1fr; align-items: start; }
.dua-kolom > * { min-width: 0; }
@media (max-width: 760px) { .dua-kolom { grid-template-columns: 1fr; } }

/* --- chip filter --- */
.chips, .baris-chip { display: flex; flex-wrap: wrap; gap: var(--j-2); margin: 0 0 var(--j-3); }
.chip { display: inline-flex; align-items: center; gap: var(--j-1); min-height: 36px; padding: 0 var(--j-3);
        border-radius: var(--r-bulat); border: 1px solid var(--garis); background: var(--surface);
        color: var(--abu-2); font: 500 var(--h-label) "Instrument Sans", sans-serif; cursor: pointer;
        text-decoration: none;
        transition: background var(--gerak-cepat) var(--kurva-masuk),
                    border-color var(--gerak-cepat) var(--kurva-masuk),
                    color var(--gerak-cepat) var(--kurva-masuk),
                    transform var(--gerak-cepat) var(--kurva-masuk); }
.chip:hover { border-color: var(--navy); color: var(--navy); background: var(--netral-50); }
.chip[aria-pressed="true"], .chip.on, .chip.aktif,
.chip[aria-pressed="true"]:hover, .chip.on:hover, .chip.aktif:hover { background: var(--navy); border-color: var(--navy); color: #fff; }
.chip:active { transform: scale(.97); }
.chip:disabled:active,
.chip[aria-disabled="true"]:active,
.chip.sedang-memuat:active { transform: none; }
.chip .jml { font-family: "IBM Plex Mono", monospace; font-size: var(--h-kecil); opacity: .8; }

/* --- tooltip ⓘ: hover/fokus di desktop, ketuk di ponsel (ui.js menambah .buka) --- */
.info { position: relative; display: inline-flex; align-items: center; justify-content: center;
        width: 18px; height: 18px; margin: 0 2px; padding: 0; vertical-align: -3px; cursor: help;
        border: 1px solid #9AA5B1; border-radius: 50%; background: var(--surface); color: var(--abu-2);
        font: italic 600 11px/1 Georgia, "Times New Roman", serif; }
.info::before { content: ""; position: absolute; inset: -11px; }  /* target sentuh 40×40 */
.info::after { content: attr(data-info); display: none; position: absolute; left: 50%; bottom: calc(100% + 8px);
               --info-x: -50%; transform: translate(var(--info-x), -4px); opacity: 0;
               width: max-content; max-width: 280px; padding: var(--j-2) var(--j-3);
               border-radius: var(--r-2); background: var(--ink); color: #fff; box-shadow: var(--bayang-2);
               font: 400 var(--h-label)/1.45 "Instrument Sans", sans-serif; text-align: left; white-space: normal;
               pointer-events: none; z-index: 480;
               transition: opacity var(--gerak-cepat) var(--kurva-keluar),
                           transform var(--gerak-cepat) var(--kurva-keluar),
                           display var(--gerak-cepat) allow-discrete; }
.info[data-tip]::after { content: attr(data-tip); }
.info:hover::after, .info:focus-visible::after, .info.buka::after {
  display: block; opacity: 1; transform: translate(var(--info-x), 0);
  transition-timing-function: var(--kurva-masuk);
}
@starting-style {
  .info:hover::after, .info:focus-visible::after, .info.buka::after {
    opacity: 0; transform: translate(var(--info-x), -4px);
  }
}
.baris-tombol .info::after, .kartu-filter:last-child .info::after, .dua-kolom > div:last-child .info::after {
  left: auto; right: 0; --info-x: 0;
}
@media (max-width: 600px) {
  .info::after, .baris-tombol .info::after, .kartu-filter:last-child .info::after, .dua-kolom > div:last-child .info::after {
    position: fixed; left: 16px; right: 16px; bottom: 84px; --info-x: 0; width: auto; max-width: none;
  }
}

/* --- keadaan kosong: penjelasan + langkah berikutnya --- */
.kosong { padding: var(--j-6) var(--j-5); text-align: center; color: var(--abu-2); font-size: var(--h-isi);
          line-height: 1.55; }
.kosong b { display: block; color: var(--ink); font-size: var(--h-sedang); margin-bottom: var(--j-1); }
.kosong .baris-tombol, .kosong .aksi { display: flex; flex-wrap: wrap; gap: var(--j-2); justify-content: center; margin-top: var(--j-4); }

/* --- tab --- */
.tab { display: flex; gap: var(--j-1); overflow-x: auto; scrollbar-width: thin; border-bottom: 1px solid var(--garis);
       margin-bottom: var(--j-4); -webkit-overflow-scrolling: touch; }
.tab a { position: relative; flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--j-4);
         color: var(--abu-2); font-size: var(--h-isi); text-decoration: none; white-space: nowrap;
         transition: color var(--gerak-cepat) var(--kurva-masuk); }
.tab a:hover { color: var(--navy); }
.tab a.on, .tab a[aria-current="page"] { color: var(--navy); font-weight: 700; }
.tab a::after,
.tab-saham a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: var(--garis); transform: scaleX(0); transform-origin: center;
  transition: transform var(--gerak-cepat) var(--kurva-masuk),
              background var(--gerak-cepat) var(--kurva-masuk);
  pointer-events: none;
}
.tab a:hover::after,
.tab-saham a:hover::after { transform: scaleX(1); }
@keyframes feaf-garis-tab-masuk {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
.tab a.on::after,
.tab a[aria-current="page"]::after,
.tab-saham a.on::after,
.tab-saham a[aria-current="page"]::after {
  height: 3px; background: var(--navy); transform: scaleX(1);
  animation: feaf-garis-tab-masuk var(--gerak-sedang) var(--kurva-masuk);
}

/* --- teks bantu --- */
.lede, .kepala .sub { font-size: var(--h-isi); color: var(--abu-2); line-height: 1.55; margin: 4px 0 0; }
.redup { color: var(--abu-2); }
.kecil { font-size: var(--h-kecil); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
           clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lipat > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: var(--j-2);
                   min-height: 40px; font-weight: 600; }
.lipat > summary::-webkit-details-marker { display: none; }
.lipat > summary::before { content: "▸"; color: var(--abu); display: inline-block;
                           transition: transform var(--gerak-cepat) var(--kurva-masuk); }
.lipat[open] > summary::before { transform: rotate(90deg); }
@keyframes feaf-lipat-masuk {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.lipat[open] > :not(summary) { animation: feaf-lipat-masuk var(--gerak-cepat) var(--kurva-masuk) both; }
.lipat > .isi-lipat { padding-top: var(--j-2); border-top: 1px solid var(--garis); margin-top: var(--j-2); }
/* ===================================================================== */

* { box-sizing: border-box; }
body {
  margin: 0; display: flex; min-height: 100vh;
  font-family: "Instrument Sans", system-ui, -apple-system, sans-serif;
  background: var(--ground); color: var(--ink); font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
.mono, .num { font-family: "IBM Plex Mono", ui-monospace, monospace; font-variant-numeric: tabular-nums; }
a { color: var(--navy); }

/* ---- bilah atas ponsel & laci ---- */
body.laci-terbuka { overflow: hidden; }
.bilah-atas { display: none; align-items: center; gap: var(--j-3); min-height: 56px; padding: var(--j-2) var(--j-4);
              background: var(--navy); color: #fff; position: sticky; top: 0; z-index: 300; }
.tombol-menu, .tutup-laci { display: inline-flex; align-items: center; justify-content: center;
                            width: 40px; height: 40px; border: 1px solid #2A4D72; border-radius: var(--r-2);
                            background: var(--navy-2); color: #fff; font-size: 18px; cursor: pointer; flex: none; }
.tutup-laci { display: none; }
.merek-ponsel { color: #fff; text-decoration: none; font-size: 16px; letter-spacing: -0.01em; flex: none; }
.cari-ponsel { flex: 1; min-width: 0; margin: 0 !important; }
.latar-laci { position: fixed; inset: 0; background: rgba(16, 20, 24, .45); z-index: 390;
              opacity: 0; visibility: hidden; pointer-events: none;
              transition: opacity var(--gerak-sedang) var(--kurva-keluar), visibility 0s linear var(--gerak-sedang); }
.latar-laci.buka { opacity: 1; visibility: visible; pointer-events: auto;
                   transition: opacity var(--gerak-sedang) var(--kurva-masuk), visibility 0s linear 0s; }
.merek-baris { display: flex; align-items: center; justify-content: space-between; gap: var(--j-2); }

/* ---- rail ---- */
.rail { width: 272px; flex: none; background: var(--navy); padding: 22px 16px;
        display: flex; flex-direction: column; gap: 18px; }
@media (min-width: 901px) {
  .rail { position: sticky; top: 0; height: 100vh; overflow-y: auto; scrollbar-width: thin; }
}
.merek { display: flex; flex-direction: column; gap: 3px; padding-left: 8px; }
.merek b { font-size: 16px; color: #fff; letter-spacing: -0.01em; }
.merek span { font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: 0.08em;
               color: #8CA8C4; text-transform: uppercase; }
.nav { display: flex; flex-direction: column; gap: 2px; }
.nav-grup { font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: 0.08em;
            color: #8CA8C4; text-transform: uppercase; padding: 10px 10px 4px; }
.nav-grup:first-child { padding-top: 0; }
.nav a { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 10px; border-radius: var(--r-2);
         color: #C2D4E6; text-decoration: none; font-size: var(--h-isi); line-height: 1.3; overflow-wrap: anywhere; }
.nav a:hover { background: #1D3E60; color: #fff; }
.nav a.on { background: var(--navy-3); color: #fff; font-weight: 600; }
.nav .hit { margin-left: auto; flex: none; font-family: "IBM Plex Mono", monospace; font-size: 11px;
            font-weight: 600; background: #2F74C0; color: #fff; padding: 1px 7px; border-radius: 9px; }
.status-kotak { margin-top: auto; flex: none; background: var(--navy-2); border-radius: var(--r-2); padding: 12px;
                display: flex; flex-direction: column; gap: 6px; overflow-wrap: anywhere; }
.status-kotak .lbl { font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: 0.08em;
                     color: #8CA8C4; text-transform: uppercase; }
.status-kotak .mesin { font-size: 13px; color: #E6EEF6; display: flex; align-items: center; gap: 7px; line-height: 1.35; }
.status-kotak small { font-size: 12px; color: #9FB7CE; line-height: 1.45; }
.status-kotak small.status-galat { color: #F5B5AC; }
.titik { width: 8px; height: 8px; border-radius: 50%; background: #45C08D; flex: none; }
.titik.kuning { background: #E8B872; }

/* ---- isi & remah roti ---- */
.isi { flex: 1; padding: 26px 32px 72px; min-width: 0; max-width: 1600px; margin-inline: auto; }
@media (min-width: 1441px) { .isi { padding-left: 40px; padding-right: 40px; } }
/* blok prosa tetap enak dibaca di layar lebar; tabel, grid kartu, dan grafik boleh selebar penuh */
.catatan, .lede, .kepala .sub, .kalimat-polos, .kartu p, .kosong p { max-width: 80ch; }
.kosong p { margin-inline: auto; }
.remah { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 var(--j-2);
         font-size: var(--h-label); color: var(--abu-2); }
.remah a { color: var(--navy); text-decoration: none; font-weight: 500; }
.remah a:hover { text-decoration: underline; }
.remah .pemisah { color: var(--abu); }
.kepala { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
          margin-bottom: var(--j-4); flex-wrap: wrap; }
.kepala > * { min-width: 0; max-width: 100%; }
.kepala h1 { margin: 0; font-size: var(--h-judul); letter-spacing: -0.015em; line-height: 1.25; overflow-wrap: anywhere; }
.kicker { font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.06em;
          color: var(--abu); text-transform: uppercase; margin-bottom: 4px; }
h2 { font-size: var(--h-sedang); margin: 22px 0 10px; overflow-wrap: anywhere; }

/* ---- pita sumber data & pesan kilat ---- */
@keyframes feaf-pita-masuk {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.pita { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border-radius: var(--r-2);
        font-size: var(--h-label); line-height: 1.5; margin-bottom: var(--j-3);
        animation: feaf-pita-masuk var(--gerak-sedang) var(--kurva-masuk) both; }
.pita-ikon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px;
             border-radius: 50%; font: 700 12px/1 "IBM Plex Mono", monospace; flex: none; margin-top: 1px;
             background: rgba(16, 20, 24, .08); }
.pita-teks { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.pita-tutup { background: transparent; border: 0; color: inherit; opacity: .7; cursor: pointer;
              width: 28px; height: 28px; border-radius: var(--r-1); font-size: 13px; flex: none; }
.pita-tutup:hover { opacity: 1; background: rgba(16, 20, 24, .08); }
.pita.fixture { background: #FBF2E3; color: #5F4409; border-left: 3px solid var(--amber); }
.pita.nyata   { background: #EFF7F3; color: #12604A; border-left: 3px solid var(--turun); }
.pita.bahaya  { background: #F9EAE8; color: #6B2620; border-left: 3px solid var(--tolak); }

/* ---- saran otomatis pencarian ---- */
.bungkus-saran { position: relative; }
.daftar-saran { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 450;
                background: var(--surface); border: 1px solid var(--garis); border-radius: var(--r-2);
                box-shadow: var(--bayang-2); max-height: 280px; overflow-y: auto;
                opacity: 0; transform: translateY(-4px);
                transition: opacity var(--gerak-cepat) var(--kurva-keluar),
                            transform 0s linear var(--gerak-cepat); }
.daftar-saran.terbuka { opacity: 1; transform: translateY(0);
                        transition: opacity var(--gerak-cepat) var(--kurva-masuk),
                                    transform var(--gerak-cepat) var(--kurva-masuk); }
.item-saran { display: flex; align-items: center; gap: var(--j-2); width: 100%; min-height: 40px;
              padding: 8px 12px; border: 0; border-bottom: 1px solid var(--netral-100);
              background: var(--surface); color: var(--ink); text-align: left; cursor: pointer;
              font: 400 var(--h-label) "Instrument Sans", sans-serif; }
.item-saran:last-child { border-bottom: 0; }
.item-saran:hover, .item-saran:focus-visible { background: var(--netral-50); }
.item-saran .kd { font-weight: 700; color: var(--navy); min-width: 48px; }
.item-saran .nm { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.item-saran .bursa { font-size: 11px; color: var(--abu); }

/* ---- responsif di bawah 900px (ponsel & tablet kecil) ---- */
@media (max-width: 900px) {
  body { flex-direction: column; }
  .bilah-atas { display: flex; }
  .tutup-laci { display: inline-flex; }
  .rail { position: fixed; top: 0; left: 0; bottom: 0; width: 280px; max-width: 86vw; z-index: 400;
          transform: translateX(-102%); transition: transform var(--gerak-sedang) var(--kurva-keluar); overflow-y: auto; }
  .rail.buka { transform: translateX(0); box-shadow: var(--bayang-2); transition-timing-function: var(--kurva-masuk); }
  .isi { width: 100%; max-width: 100%; padding: 16px 14px 80px; }
  .kepala h1 { font-size: 20px; }
}

/* ---- baris feed ---- */
.baris { display: flex; align-items: flex-start; gap: 14px; padding: 13px 16px; background: var(--surface);
         border-radius: 8px; margin-bottom: 8px; text-decoration: none; color: inherit; }
.baris:hover { box-shadow: 0 0 0 1.5px var(--navy); }
.baris .kiri { width: 96px; flex: none; }
.baris .kode { font-family: "IBM Plex Mono", monospace; font-size: 13px; font-weight: 600; }
.baris .tgl { font-size: 11px; color: var(--abu); }
.baris .tengah { flex: 1; min-width: 0; }
.baris .judul { font-size: 13.5px; font-weight: 600; margin-bottom: 3px; overflow-wrap: anywhere; }
.baris .sub { font-size: 11.5px; color: var(--abu); line-height: 1.45; overflow-wrap: anywhere;
              display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
              overflow: hidden; }
.baris .kanan { flex: none; text-align: right; display: flex; flex-direction: column; gap: 5px; align-items: flex-end; }

/* ---- angka ---- */
.delta { font-family: "IBM Plex Mono", monospace; font-size: 13px; font-weight: 600; }
.delta.naik { color: var(--naik); } .delta.turun { color: var(--turun); }
.kv { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; border-bottom: 1px solid var(--garis); }
.kv:last-child { border-bottom: 0; }
.kv .k { flex: 1 1 55%; color: var(--abu-2); font-size: 12.5px; min-width: 0; overflow-wrap: anywhere; }
.kv .v { flex: 0 1 auto; max-width: 60%; font-family: "IBM Plex Mono", monospace; font-size: 12.5px; font-weight: 600; min-width: 0; overflow-wrap: break-word; text-align: right; }
.kv .v a { overflow-wrap: anywhere; }
table { border-collapse: collapse; width: 100%; font-size: 12.5px; }
th, td { text-align: right; padding: 6px 9px; border-bottom: 1px solid var(--garis); }
th:first-child, td:first-child { text-align: left; }
th { font-family: "IBM Plex Mono", monospace; font-size: 10.5px; letter-spacing: 0.05em;
     color: var(--abu); text-transform: uppercase; font-weight: 500; }
td.num { font-family: "IBM Plex Mono", monospace; }
tr.sorot td { background: #F4F7FA; font-weight: 600; }

/* ---- pemeriksaan ---- */
.cek { display: flex; gap: 9px; padding: 8px 0; border-bottom: 1px solid var(--garis); font-size: 12.5px; }
.cek:last-child { border-bottom: 0; }
.cek .tanda { flex: none; width: 15px; font-weight: 700; }
.cek.ok .tanda { color: var(--turun); } .cek.x .tanda { color: var(--tolak); }
.cek .nama { font-weight: 600; width: 230px; flex: none; min-width: 0; overflow-wrap: anywhere; }
.cek .why { flex: 1; min-width: 0; color: var(--abu-2); line-height: 1.45; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .cek:has(.nama) { flex-wrap: wrap; }
  .cek:has(.nama) .nama { width: auto; flex: 1; min-width: 0; }
  .cek:has(.nama) .why { flex-basis: 100%; padding-left: 24px; }
}

/* ---- jejak ---- */
.langkah { display: flex; gap: 13px; padding: 12px 0; border-bottom: 1px solid var(--garis); }
.langkah > * { min-width: 0; }
.langkah:last-child { border-bottom: 0; }
pre { background: #F4F6F8; border-radius: 5px; padding: 10px 12px; overflow-x: auto; max-width: 100%;
      font-family: "IBM Plex Mono", monospace; font-size: 11px; line-height: 1.55; margin: 7px 0 0; }
.sitasi { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; }
.kutip { border-left: 3px solid var(--amber); background: #FBF7EF; padding: 9px 12px; overflow-wrap: anywhere;
         font-size: 12.5px; line-height: 1.55; border-radius: 0 5px 5px 0; }

/* --- penarikan dinamis & watchlist --- */
.titik.merah { background: #E0695C; }
.nav .hit.abu { background: #2A4D72; }
.isian { font: 500 14px "IBM Plex Mono", monospace; padding: 8px 10px; border: 1px solid var(--garis);
         border-radius: 5px; width: 140px; max-width: 100%; }
table.wl { width: 100%; border-collapse: collapse; font-size: 13px; }
table.wl th { text-align: left; font: 500 10px "IBM Plex Mono", monospace; letter-spacing: 0.08em;
              text-transform: uppercase; color: var(--abu); padding: 8px 10px; border-bottom: 1px solid var(--garis); }
table.wl td { padding: 10px; border-bottom: 1px solid var(--garis); text-align: left; }
table.wl tr:last-child td { border-bottom: 0; }

/* --- pilihan bahasa --- */
.bahasa { margin-top: 18px; padding-left: 8px; }
.bahasa .lbl { font-family: "IBM Plex Mono", monospace; font-size: 9.5px; letter-spacing: 0.09em;
               color: #7E9BB8; text-transform: uppercase; display: block; margin-bottom: 6px; }
.bahasa div { display: flex; gap: 4px; flex-wrap: wrap; }
.bahasa a { font: 600 11.5px "IBM Plex Mono", monospace; color: #A9BDD1; padding: 4px 9px; border-radius: 4px;
            box-shadow: inset 0 0 0 1px #2A4D72; display: inline-flex; align-items: center; min-height: 32px; }
@media (max-width: 900px) { .bahasa a { min-height: 40px; padding: 6px 12px; } }
.bahasa a.on { background: var(--navy-3); color: #fff; box-shadow: none; }

/* --- halaman saham --- */
.cari { margin: 2px 0 10px; }
.cari input { width: 100%; font: 500 12.5px "IBM Plex Mono", monospace; padding: 8px 10px; border-radius: 5px;
              border: 1px solid #2A4D72; background: var(--navy-2); color: #fff; }
.cari input::placeholder { color: #7E9BB8; }
.kepala-saham { display: flex; align-items: flex-end; gap: 28px; margin-bottom: 14px; }
.kepala-saham h1 { margin: 0; font-size: 22px; overflow-wrap: anywhere; }
.kepala-saham > div:first-child { flex: 1; min-width: 0; }
.harga-besar { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.harga-besar b { font-size: 24px; }
.harga-besar small { color: var(--abu); font-size: 11px; }
.tab-saham { display: flex; border: 1px solid var(--garis); border-radius: 6px; background: var(--surface);
             margin-bottom: 14px; overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.tab-saham a { position: relative; flex: 1 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
               text-align: center; padding: 10px 12px; font-size: 13.5px; color: var(--abu-2);
               border-right: 1px solid var(--garis); white-space: nowrap;
               transition: color var(--gerak-cepat) var(--kurva-masuk); }
.tab-saham a:last-child { border-right: 0; }
.tab-saham a:hover { color: var(--navy); }
.tab-saham a.on, .tab-saham a[aria-current="page"] { color: var(--navy); font-weight: 700; }
.kontrol { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.segmen { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--garis); border-radius: 5px; overflow: hidden; background: var(--surface); max-width: 100%; }
.segmen a { padding: 8px 13px; font-size: 12.5px; color: var(--abu-2); border-right: 1px solid var(--garis); }
.segmen a:last-child { border-right: 0; }
.segmen a.on { background: var(--navy); color: #fff; font-weight: 600; }
.tabel-geser { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; padding: 0; }
.tabel-geser > table:not(.wl) th, .tabel-geser > table:not(.wl) td, .tabel-geser table.wl th { white-space: nowrap; }
table.fin { width: 100%; border-collapse: collapse; font-size: 12.5px; }
table.fin th { font: 600 11.5px "IBM Plex Mono", monospace; text-align: right; padding: 10px 12px;
               border-bottom: 2px solid var(--garis); white-space: nowrap; }
table.fin th.pos, table.fin td.pos { text-align: left; position: sticky; left: 0; background: var(--surface);
                                     min-width: 230px; }
@media (max-width: 640px) { table.fin th.pos, table.fin td.pos { min-width: 150px; } }
table.fin td { padding: 8px 12px; border-bottom: 1px solid var(--garis); text-align: right; white-space: nowrap; }
table.fin td.pos small { display: block; color: var(--abu); font-size: 10.5px; }
table.fin tr.tebal td { font-weight: 700; }
table.fin td.neg { color: var(--abu-2); }
table.fin td.sel-naik { background: #FBE4E1; color: #8F2318; }
table.fin td.sel-turun { background: #E1F2E8; color: #12604A; }
table.fin td.kosong-sel { color: var(--abu); }
.catatan { font-size: 11.5px; color: var(--abu-2); line-height: 1.5; margin: 10px 2px 0; }
.tab-saham a, .segmen a, .bahasa a, .nav a { text-decoration: none; }

/* --- ringkasan analisis --- */
.kartu.kesimpulan { border-left: 4px solid var(--navy); }
.kartu.kesimpulan p { margin: 6px 0; font-size: 13.5px; line-height: 1.55; }
.kartu.kesimpulan p.besar { font-size: 16px; font-weight: 600; }

/* --- daftar saham di menu samping --- */
.daftar-saham { margin-top: 16px; display: flex; flex-direction: column; gap: 1px; flex: none; }
.daftar-saham .lbl { font-family: "IBM Plex Mono", monospace; font-size: 9.5px; letter-spacing: 0.09em;
                     color: #7E9BB8; text-transform: uppercase; padding: 0 8px 6px; }
.daftar-saham a { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 5px;
                  color: #C9D6E3; text-decoration: none; font-size: 12.5px; min-height: 36px; }
@media (max-width: 900px) { .daftar-saham a { min-height: 40px; } }
.daftar-saham a:hover { background: #1D3E60; }
.daftar-saham a.on { background: var(--navy-3); color: #fff; }
.daftar-saham .kd { font-weight: 600; font-size: 12px; flex: none; }
.daftar-saham .nm { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #A9BDD1; }
.daftar-saham a.on .nm { color: #DCE7F0; }
.daftar-saham .ch { font-size: 11px; flex: none; }
.daftar-saham .ch.naik { color: #F08A7E; }
.daftar-saham .ch.turun { color: #6FD3A8; }
.daftar-saham .kosong-kecil { color: #7E9BB8; font-size: 12px; }

/* --- review --- */
.nav .hit.kuning-hit { background: #C98A0B; }
.form-review { display: flex; gap: 8px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
.isian.lebar { width: auto; flex: 1; min-width: min(220px, 100%); font-family: "Instrument Sans", sans-serif; font-size: 13px; }
.state { font: 600 10px "IBM Plex Mono", monospace; letter-spacing: 0.06em; background: var(--navy); color: #fff;
         padding: 2px 6px; border-radius: 3px; vertical-align: 1px; }
.data-jejak summary { cursor: pointer; font: 500 11px "IBM Plex Mono", monospace; color: var(--abu); margin-top: 4px; }

/* --- triase keyakinan + 👍/👎 (A2) --- */
.triase-atas { display: flex; flex-wrap: wrap; gap: 16px 34px; align-items: flex-end; padding-bottom: 10px; border-bottom: 1px solid var(--garis); margin-bottom: 4px; }
.angka-besar { font-size: 22px; }
.cek .nama.mono { width: 46px; }


/* daftar sumber input valuasi: kolom nama cukup lebar, URL panjang dibungkus */
.cek.sumber .nama.mono { width: 200px; font-size: 11.5px; overflow-wrap: anywhere; }
.cek.sumber .why { flex: 1; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 640px) { .cek.sumber { flex-wrap: wrap; } .cek.sumber .nama.mono { width: auto; flex: 1; min-width: 0; } .cek.sumber .why { flex-basis: 100%; padding-left: 24px; } }

/* --- U3: kartu ringkasan filter feed & pengelompokan tanggal --- */
.grid-ringkasan { display: grid; gap: var(--j-3); grid-template-columns: repeat(3, 1fr); margin-bottom: var(--j-3); }
@media (max-width: 720px) { .grid-ringkasan { grid-template-columns: 1fr; } }
.kartu-filter { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: var(--r-3);
                background: var(--surface); border: 1.5px solid var(--garis); cursor: pointer; text-align: left;
                font-family: "Instrument Sans", sans-serif; color: var(--ink); box-shadow: var(--bayang-1);
                transition: transform var(--gerak-cepat) var(--kurva-masuk),
                            box-shadow var(--gerak-cepat) var(--kurva-masuk),
                            border-color var(--gerak-cepat) var(--kurva-masuk),
                            background var(--gerak-cepat) var(--kurva-masuk); }
.kartu-filter:hover { transform: translateY(-2px); border-color: var(--navy); box-shadow: var(--bayang-2); }
.kartu-filter:active { transform: translateY(0); }
.kartu-filter.on { border-color: var(--navy); box-shadow: 0 0 0 1.5px var(--navy); background: #F7FAFD; }
.kartu-filter.on:hover { box-shadow: 0 0 0 1.5px var(--navy), var(--bayang-2); }
.kartu-filter .atas { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.kartu-filter .angka { font: 700 22px/1.1 "IBM Plex Mono", monospace; }
.kartu-filter .arti { font-size: var(--h-kecil); color: var(--abu-2); line-height: 1.4; }
.baris-filter-atas { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
                     gap: var(--j-3); margin: 12px 0 10px; }
.kelompok-tanggal { margin-bottom: var(--j-4); }
.judul-tanggal { font: 600 var(--h-label) "Instrument Sans", sans-serif; color: var(--abu-2);
                 margin: 14px 2px 8px; display: flex; align-items: center; gap: 8px; }
.baris .emiten-baris { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.baris a.kode { color: var(--navy); text-decoration: none; }
.baris a.kode:hover { text-decoration: underline; }
.baris .nama-emiten { font-size: var(--h-kecil); color: var(--abu-2); font-weight: 500; }
.tautan-utama { color: var(--ink); text-decoration: none; }
.tautan-utama:hover { color: var(--navy); text-decoration: underline; }
.tindakan-kecil { font-size: var(--h-kecil); font-weight: 600; color: var(--st-tahan); margin-top: 2px; text-decoration: none; }
.tindakan-kecil:hover { text-decoration: underline; }
.delta-netral { font-family: "IBM Plex Mono", monospace; font-size: 12.5px; font-weight: 600;
                color: var(--navy); background: var(--st-terbit-latar); padding: 2px 7px; border-radius: var(--r-1); }
@media (max-width: 640px) {
  .baris { flex-direction: column; gap: 8px; }
  .baris .kiri { width: auto; display: flex; align-items: center; gap: 10px; }
  .baris .kanan { align-items: flex-start; text-align: left; flex-direction: row; flex-wrap: wrap; }
}

/* --- U4: detail peringatan (kotak artinya & kartu angka kunci) --- */
.kotak-artinya { border-left: 4px solid var(--navy); background: var(--surface); border-radius: var(--r-3);
                 padding: 16px 18px; margin-bottom: var(--j-3); box-shadow: var(--bayang-1); }
.kotak-artinya.ditahan { border-left-color: var(--amber); background: #FFFBF3; }
.kotak-artinya.dilewati { border-left-color: var(--abu); background: var(--netral-50); }
.kotak-artinya .judul-kecil, .kotak-artinya .label-artinya {
  font-size: var(--h-kecil); font-weight: 700; color: var(--abu-2);
  text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 4px;
}
.kotak-artinya p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink); }
.kartu-angka { background: var(--surface); border: 1px solid var(--garis); border-radius: var(--r-2);
               padding: 12px 14px; }
.kartu-angka .lbl-angka, .kartu-angka .label-angka { font-size: var(--h-kecil); color: var(--abu-2); margin-bottom: 4px; }
.kartu-angka .nilai-angka { font: 700 18px/1.25 "IBM Plex Mono", monospace; color: var(--ink); }
.kartu-angka .sub-angka { font-size: 11.5px; color: var(--abu); margin-top: 3px; }

/* --- U5: halaman saham (kepala responsif & tab lengket) --- */
.tab-saham.lengket, .tab.lengket { position: sticky; top: 0; z-index: 150; background: var(--surface); }
@media (max-width: 900px) {
  .tab-saham.lengket, .tab.lengket { top: 56px; }
  .kepala-saham { flex-direction: column; align-items: flex-start; gap: 12px; }
  .harga-besar { align-items: flex-start !important; text-align: left !important; }
}

/* --- U6: review & ambang --- */
.bar-ambang { display: block; width: 110px; height: 7px; background: var(--netral-200);
              border-radius: var(--r-bulat); overflow: hidden; margin-top: 4px; }
.bar-ambang > span, .bar-ambang .isi { display: block; height: 100%; background: var(--navy); border-radius: var(--r-bulat); }
.grid-ringkas { display: grid; gap: var(--j-3); grid-template-columns: repeat(3, 1fr); margin-bottom: var(--j-3); }
@media (max-width: 760px) { .grid-ringkas { grid-template-columns: 1fr; } }
.kartu-ringkas { display: block; padding: 14px 16px; border-radius: var(--r-2); border: 1.5px solid var(--garis);
                 background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: var(--bayang-1); }
a.kartu-ringkas { transition: transform var(--gerak-cepat) var(--kurva-masuk),
                              box-shadow var(--gerak-cepat) var(--kurva-masuk),
                              border-color var(--gerak-cepat) var(--kurva-masuk); }
a.kartu-ringkas:hover { transform: translateY(-2px); border-color: var(--navy); box-shadow: var(--bayang-2); }
a.kartu-ringkas:active { transform: translateY(0); }
.kartu-ringkas.aktif { border-color: var(--navy); background: #F7FAFD; box-shadow: 0 0 0 1px var(--navy); }
a.kartu-ringkas.aktif:hover { box-shadow: 0 0 0 1px var(--navy), var(--bayang-2); }
.kartu-ringkas .label { font-weight: 700; color: var(--navy); }
.kartu-ringkas .ket { font-size: var(--h-kecil); color: var(--abu-2); line-height: 1.45; }

/* --- U7: garis waktu jejak audit & cari watchlist --- */
.bungkus-cari { position: relative; }
.garis-waktu { position: relative; padding-left: 4px; }
.langkah-waktu { position: relative; display: flex; flex-direction: column; gap: 4px;
                 padding: 12px 0 12px 34px; border-bottom: 1px solid var(--garis); }
.langkah-waktu:last-child { border-bottom: 0; }
.titik-waktu { position: absolute; left: 0; top: 12px; width: 24px; height: 24px; border-radius: 50%;
               display: inline-flex; align-items: center; justify-content: center;
               font: 700 11px/1 "IBM Plex Mono", monospace;
               background: var(--st-terbit-latar); color: var(--st-terbit); }
.langkah-waktu.gagal .titik-waktu, .langkah-waktu.ditolak .titik-waktu {
  background: var(--tk-serius-latar); color: var(--tk-serius);
}
.langkah-waktu.ditahan .titik-waktu { background: var(--st-tahan-latar); color: var(--st-tahan); }
.langkah-waktu.henti .titik-waktu, .langkah-waktu.dilewati .titik-waktu {
  background: var(--st-arsip-latar); color: var(--st-arsip);
}

/* --- QA-1 & QA-3: kotak cari, penafian 1 baris, grup tombol info, alasan ditahan polos --- */
.cari input {
  font-family: "Instrument Sans", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 13px;
  text-overflow: ellipsis;
}
.grup-tombol-info {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.penafian-ringkas {
  background: var(--netral-50);
  border: 1px solid var(--garis);
  border-radius: var(--r-2);
  padding: 8px 14px;
  margin-bottom: var(--j-3);
  font-size: var(--h-kecil);
  color: var(--abu-2);
}
.penafian-ringkas summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 10px;
}
.penafian-ringkas summary::-webkit-details-marker {
  display: none;
}
.penafian-tautan {
  color: var(--navy);
  font-weight: 600;
  text-decoration: underline;
  white-space: nowrap;
}
.penafian-isi {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--garis);
  line-height: 1.5;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.chip-arsip {
  margin-left: auto;
  border-style: dashed;
}
.kotak-alasan-polos {
  background: #FFFBF3;
  border: 1px solid #EBD494;
  border-left: 4px solid var(--amber);
  border-radius: var(--r-2);
  padding: 14px 18px;
  margin-bottom: var(--j-3);
}
.kotak-alasan-polos ul {
  margin: 6px 0 10px;
  padding-left: 18px;
}
.kotak-alasan-polos li {
  margin-bottom: 6px;
  line-height: 1.55;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.tindakan-ditahan {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #EBD494;
  font-size: var(--h-kecil);
  font-weight: 600;
}
.tindakan-ditahan a {
  color: var(--navy);
  text-decoration: none;
}
.tindakan-ditahan a:hover {
  text-decoration: underline;
}

.baris[data-status],
.kelompok-tanggal,
[data-sebab-review],
#feed-kosong-filter {
  transition: opacity 120ms var(--kurva-masuk);
}
.baris[data-status].sedang-sembunyi,
.kelompok-tanggal.sedang-sembunyi,
[data-sebab-review].sedang-sembunyi,
#feed-kosong-filter.sedang-sembunyi {
  opacity: 0;
  transition-timing-function: var(--kurva-keluar);
}

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
  .tombol.sedang-memuat::before,
  .chip.sedang-memuat::before,
  .pita,
  .lipat[open] > :not(summary),
  .tab a.on::after,
  .tab a[aria-current="page"]::after,
  .tab-saham a.on::after,
  .tab-saham a[aria-current="page"]::after {
    animation: none !important;
  }
  .tombol:active,
  .chip:active,
  a.kartu:hover,
  a.kartu-ringkas:hover,
  .kartu-filter:hover {
    transform: none !important;
  }
}
