/* 68x: satu ukuran aksi portal. Tidak dimuat publik dan tidak mengubah cetakan. */
@media screen {
  body.msb-portal { --aksi-tinggi:32px; --aksi-font:13px; --aksi-py:5px; --aksi-px:9px; }
  body.msb-portal :is(button.utama,button.kedua,button.merah-penuh,a.utama,a.kedua,label.tombol-file),
  body.msb-portal #bar-kembali :is(button,a),
  body.msb-portal #pemulihan-halaman button {
    box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:6px;
    min-height:var(--aksi-tinggi) !important; height:auto; max-width:100%;
    padding:var(--aksi-py) var(--aksi-px) !important;
    font-family:inherit; font-size:var(--aksi-font) !important; font-weight:600; line-height:1.35;
    border-radius:6px; width:auto !important; vertical-align:middle;
    white-space:normal; overflow-wrap:anywhere; text-align:center; text-decoration:none;
    margin-top:6px; margin-bottom:6px; cursor:pointer;
  }
  body.msb-portal :is(.baris-kecil,.tombol-baris,.tools-tab,.dok-alat,.pv-actions) { gap:6px; flex-wrap:wrap; }
  body.msb-portal :is(.baris-kecil,.tombol-baris,.tools-tab,.dok-alat,.pv-actions) > :is(button.utama,button.kedua,button.merah-penuh,a.utama,a.kedua,label.tombol-file),
  body.msb-portal :is(#bar-kembali,#pemulihan-halaman) :is(button,a) { flex:0 1 auto; margin:0; }
  body.msb-portal :is(button.utama,button.kedua,button.merah-penuh,a.utama,a.kedua,label.tombol-file):focus-visible,
  body.msb-portal #bar-kembali :is(button,a):focus-visible {
    outline:3px solid #e9a821; outline-offset:2px;
  }
  body.msb-portal :is(button.utama,button.kedua,button.merah-penuh):disabled { cursor:not-allowed; }
  body.msb-portal button.proses:disabled { cursor:progress; }
  /* Login tetap satu aksi utama selebar formulir, dengan tinggi standar. */
  body.msb-portal #f-login button.utama { width:100% !important; }
  /* File input tetap dapat difokuskan; label upload mengikuti ukuran aksi. */
  body.msb-portal label.tombol-file:focus-within { outline:3px solid #e9a821; outline-offset:2px; }
}
@media screen and (pointer:coarse) {
  body.msb-portal { --aksi-tinggi:40px; --aksi-py:8px; }
}

/* Loading foto sertifikat, tetap terbaca bila animasi dimatikan. */
body.msb-portal #sf-foto[aria-busy="true"] [data-message]::before {content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:msb-foto-putar .8s linear infinite;vertical-align:middle}
@keyframes msb-foto-putar {to {transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce) {body.msb-portal #sf-foto[aria-busy="true"] [data-message]::before {animation:none}}



body.msb-portal #ub-root [data-view],body.msb-portal #ub-root [data-preview] section>div {overflow:auto;max-height:65vh}
body.msb-portal #ub-root label {display:block;margin-top:8px}
body.msb-portal #ub-root [data-doc] button {margin-top:4px}


body.msb-portal #ub-root input[type="checkbox"] {display:inline-block;width:auto;flex:none;margin:3px 0 0}
body.msb-portal #ub-root label:has(>input[type="checkbox"]) {display:flex;align-items:flex-start;gap:8px;font-weight:500;text-transform:none}


body.msb-portal .filter-lokasi-portal{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px}
body.msb-portal .filter-lokasi-portal select{width:auto;min-width:130px;margin:0}


body.msb-portal .lokasi-cover{color:inherit;text-decoration:none;display:block}
body.msb-portal .lokasi-cover:focus-visible{outline:2px solid #2563eb;outline-offset:3px}

/* 91: kelompok aksi kavling ringkas, tanpa menggandakan tombol. */
@media screen {
  body.msb-portal .aksi-kavling {display:grid;gap:8px;margin:12px 0 16px;min-width:0}
  body.msb-portal .aksi-kavling-grup {margin:0;padding:10px;border:1px solid #dce3ec;border-radius:8px;background:#f8fafc;min-width:0}
  body.msb-portal .aksi-kavling-grup h3 {margin:0 0 6px;font-size:12px;color:#475467;font-weight:700}
  body.msb-portal .aksi-kavling-baris {display:flex;flex-wrap:wrap;gap:6px;min-width:0}
  body.msb-portal .aksi-kavling-baris > button {margin:0;flex:0 1 auto;max-width:100%}
  body.msb-portal .aksi-kavling-grup summary {font-size:13px;font-weight:600;cursor:pointer;list-style:none;color:#344054}
  body.msb-portal .aksi-kavling-grup summary::-webkit-details-marker {display:none}
  body.msb-portal .aksi-kavling-grup summary::after {content:'Buka';float:right;font-size:11px;font-weight:500;margin-left:12px;color:#475467}
  body.msb-portal .aksi-kavling-grup[open] summary::after {content:'Tutup'}
  body.msb-portal .aksi-kavling-grup[open] summary {margin-bottom:8px}
  body.msb-portal .aksi-kavling-grup summary:focus-visible {outline:3px solid #e9a821;outline-offset:3px}
  body.msb-portal .aksi-kavling-baris > .merah {color:#a61b1b;border-color:#e7baba;background:#fff}
}
@media screen and (max-width:480px) {
  body.msb-portal .aksi-kavling-baris > button {flex:1 1 135px}
}

@media screen {
 body.msb-portal .panel-ukuran-toolbar {padding-top:8px;padding-bottom:8px;gap:8px}
 body.msb-portal .panel-ukuran-label {margin:0;font-size:12px;white-space:nowrap}
 body.msb-portal #panel-ukuran {width:auto;max-width:160px;min-height:32px;font:inherit;font-size:12px;padding:5px 8px;margin:0;border:1px solid #ccd5df;border-radius:6px;background:#fff;color:#17365c}
}

/* Sapaan akun hanya portal, tepat di bawah jam dan tanpa latar. */
@media screen {
 body.msb-portal .portal-clock-row {flex-direction:column;align-items:center;width:140px}
 body.msb-portal .sapaan-portal {box-sizing:border-box;max-width:100%;padding:2px 0;color:#17365c;font:600 11px/1.4 Lexend,Arial,sans-serif;text-align:center;white-space:normal;overflow-wrap:anywhere;text-shadow:0 0 3px #fff,0 1px 2px #fff}
 body.msb-portal .sapaan-portal[hidden] {display:none}
}

/* Berkas kavling: ringkas dan tetap satu sumber. */
#ub-root .berkas-unit-nav{display:flex;justify-content:flex-end;margin:0 0 10px}
#ub-root .berkas-unit-ringkas{padding:10px 12px;margin:12px 0;background:#f1f5fa;border-radius:8px;font-size:12px;line-height:1.6}
#ub-root .berkas-unit-ringkas p{margin:4px 0}
#ub-root .berkas-unit-item{padding:10px 0;border-bottom:1px solid #dce3ed;overflow-wrap:anywhere}
#ub-root .berkas-unit-item>p{margin:5px 0;font-size:12px;line-height:1.6}
#ub-root .berkas-unit-item>button{padding:6px 12px;min-height:34px;font-size:12px;margin:3px 4px 3px 0}
#ub-root .berkas-unit-item>label{font-size:12px}
#ub-root [data-preview],#ub-root [data-view]{max-width:100%;overflow:auto}
