/* css-frag/floorplan.css — tampilan editor denah (#/plan/<acara>/<ruangan>)
 *
 * Dimuat sendiri oleh js/views/floorplan.js saat halaman denah dibuka, bukan
 * lewat index.html: app.css sudah panjang dan dikerjakan beberapa orang
 * sekaligus. Kelas dasar (.fp-wrap .fp-lib .fp-o .fp-stage .fp-svg .fp-bar
 * .fp-obj .fp-warn) TETAP dari app.css — di sini hanya tambahannya, semua
 * diberi awalan .fpl- supaya tidak pernah bertabrakan.
 */

/* --------------------------------------------------------------- bilah -- */
/* Satu baris, tidak boleh "ke-enter". Di HP digulir ke samping, bukan
   dilipat ke bawah: tiap baris layar HP mahal. */
.fpl-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.fpl-bar > *{flex:0 0 auto}
.fpl-sep{width:1px;height:20px;background:var(--line);margin:0 2px}
.fpl-mini{font-size:12px;color:var(--ink2);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.fpl-mini select{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:4px 6px;font-size:12.5px}

.fpl-kanan{min-width:0}                      /* wajib: kalau tidak, grid melar ikut lebar SVG */
.fp-stage{max-height:min(72vh,720px)}
.fp-stage svg{margin:0 auto}

/* ------------------------------------------------------------- pustaka -- */
.fpl-lib{position:sticky;top:56px;max-height:calc(100vh - 90px);display:flex;flex-direction:column}
.fpl-cari{padding:6px 8px;border-bottom:1px solid var(--line)}
.fpl-cari .inp,.fpl-cari2{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12.5px;background:var(--card)}
.fpl-list{overflow-y:auto;flex:1}
.fpl-lib .fp-o.arm{background:var(--brand-l);box-shadow:inset 3px 0 0 var(--brand)}
.fpl-dim{display:block;font-style:normal;color:var(--muted);font-size:10.5px}
.fpl-hint{padding:7px 11px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);background:#fcfbf9}
.fpl-hint.on{background:var(--brand-l);color:var(--brand-d);font-weight:700}

/* Di HP pustaka disembunyikan di balik tombol "＋ Objek" — daftar 15 baris
   di atas denah membuat denahnya sendiri tidak kelihatan. */
@media(max-width:820px){
  .fpl-lib{display:none;position:static;max-height:46vh}
  .fpl-lib.buka{display:flex}
}

/* -------------------------------------------------------- baris status -- */
.fpl-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;
  border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px;background:var(--card);
  font-size:12px;color:var(--ink2);font-variant-numeric:tabular-nums}
.fpl-sep2{width:1px;height:12px;background:var(--line2)}
.fpl-sel-t{color:var(--ink)}

/* ------------------------------------------------------- pemeriksaan ---- */
.fpl-ok{background:var(--t-ok-bg);color:var(--t-ok-fg);font-size:12px;padding:6px 11px;
  border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px;margin-top:-1px}
.fp-warn ul,.fpl-perhatian ul{margin:4px 0 0;padding-left:18px}
.fp-warn li,.fpl-perhatian li{margin:2px 0}
.fp-warn li.clk,.fpl-perhatian li.clk{cursor:pointer;text-decoration:underline dotted}
.fpl-perhatian{background:var(--t-warn-bg);color:var(--t-warn-fg);font-size:12px;padding:6px 11px;
  border-top:1px solid var(--line)}

/* KURANG STOK — sengaja mencolok. Kekurangan barang yang ketahuan H-0 pagi
   adalah kegagalan yang paling mahal dan paling bisa dicegah. */
.fpl-stok{border-top:1px solid var(--line)}
.fpl-stok-r{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 11px;
  background:var(--t-bad-bg);border-bottom:1px solid #f6d6d3}
.fpl-stok-t{font-weight:800;font-size:12.5px;color:var(--t-bad-fg);letter-spacing:.01em}
.fpl-stok-n{font-size:12px;color:var(--t-bad-fg);opacity:.85}
.fpl-stok-r .btn{margin-left:auto;white-space:nowrap}
.fpl-kurang{margin-top:3px;font-weight:800;font-size:11.5px;color:var(--t-bad-fg)}
.fpl-r-kurang td{background:var(--t-bad-bg)}
.fpl-beda{color:var(--t-warn-fg);font-weight:700}
.fpl-yatim td{opacity:.7}

/* -------------------------------------------------------------- properti */
.fpl-props .fr{display:flex;gap:10px;flex-wrap:wrap}
.fpl-props .fr > .f{flex:1 1 130px;min-width:120px}
.fpl-props [inert]{opacity:.6}

/* ------------------------------------------------------- toolbar tabel -- */
/* Cari + urut dalam SATU baris (aturan hemat tempat di HP). */
.fpl-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;margin-bottom:8px}
.fpl-cari2{flex:1 1 auto;min-width:0}
.fpl-toolbar select{flex:0 0 auto}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}   /* tabel lebar digulir sendiri, badan halaman tidak ikut melar */

/* ------------------------------------------------------------ beda versi */
.fpl-diff{list-style:none;margin:6px 0 0;padding:0;font-size:12.5px}
.fpl-diff li{display:flex;gap:7px;align-items:baseline;padding:4px 0;border-top:1px solid #f3f2ee}
.fpl-diff li:first-child{border-top:0}
.fpl-d-k{flex:0 0 62px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);padding-top:1px}
.fpl-d-tambah .fpl-d-k{color:var(--t-ok)}
.fpl-d-hapus .fpl-d-k{color:var(--t-bad)}
.fpl-d-pindah .fpl-d-k,.fpl-d-putar .fpl-d-k,.fpl-d-ukuran .fpl-d-k{color:var(--t-info)}
.fpl-d-jumlah .fpl-d-k,.fpl-d-meta .fpl-d-k{color:var(--t-warn)}
.fpl-h{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}

/* --------------------------------------------------- catatan usulan ----- */
.fpl-cat{margin:0;padding-left:18px;font-size:12.5px;line-height:1.5}
.fpl-cat li{margin:3px 0}
.fpl-cat li:first-child{font-weight:800;color:var(--t-warn-fg)}

/* ------------------------------------------------------------- pilihan -- */
.fpl-sel{pointer-events:none}
.fpl-sel .fpl-rot{pointer-events:auto;cursor:grab}
.fp-obj{cursor:move}
.fp-obj.luar text{fill:var(--t-warn-fg)}

@media print{
  .fp-bar,.fpl-lib,.fpl-status,.fpl-hint,.fpl-toolbar,.no-print{display:none !important}
  .fp-wrap{display:block}
  .fp-stage{max-height:none;overflow:visible;border:0}
}
