/* Modul Maintenance (public/maintenance.js). Prefiks .mt-* */
.mt-kotak{background:var(--panel-soft); border:1px solid var(--border); border-radius:var(--radius-lg); padding:14px; margin:0 0 16px; display:flex; flex-direction:column; gap:10px;}
.mt-kotak label, .mt-form label, .mt-filter label, .mt-tautan label{display:flex; flex-direction:column; gap:4px; font-weight:600; font-size:13px; color:var(--text-muted);}
.mt-kotak input[type=search], .mt-kotak select, .mt-kotak textarea, .mt-form input, .mt-form select, .mt-form textarea, .mt-tautan input{width:100%; box-sizing:border-box; min-height:var(--tap);}
.mt-kotak-tagih{border-color:var(--accent); background:var(--accent-soft); margin-top:12px;}
.mt-pilih{border:0; padding:0; margin:0; display:flex; flex-direction:column; gap:6px;}
.mt-pilih legend{font-weight:600; font-size:13px; color:var(--text-muted); padding:0; margin-bottom:4px;}
.mt-pilih label{flex-direction:row; align-items:center; gap:8px; min-height:var(--tap); padding:0 10px; background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); color:var(--text); font-weight:500;}
.mt-aksi{display:flex; flex-wrap:wrap; gap:8px; margin-top:6px;}
.mt-aksi button{min-height:var(--tap);}
.mt-kecil{min-height:30px; padding:2px 10px; font-size:13px;}
.mt-redup{color:var(--text-muted); font-size:13px;}
.mt-kosong{color:var(--text-muted); padding:16px; text-align:center;}
.mt-peringatan{background:var(--accent-soft); color:var(--accent-strong); border-radius:var(--radius); padding:8px 10px; margin:6px 0; font-size:14px;}

.mt-judul-daftar{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin:6px 0 10px;}
.mt-judul-daftar h4{margin:0;}
button.mt-kartu{display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:4px; width:100%; text-align:left; background:var(--panel); color:var(--text); border:1px solid var(--border); border-radius:var(--radius-lg); padding:12px; margin-bottom:10px; font-weight:400; height:auto; white-space:normal;}
button.mt-kartu:hover{background:var(--panel-soft); color:var(--text);}
.mt-kartu-atas{display:flex; justify-content:space-between; align-items:flex-start; gap:8px;}
.mt-kartu-gejala{overflow-wrap:anywhere;}

.mt-lencana{display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; font-weight:700; white-space:nowrap; background:var(--panel-alt); color:var(--text-muted);}
.mt-lencana.err{background:rgba(194,47,38,.13); color:var(--danger);}
.mt-lencana.warn{background:var(--accent-soft); color:var(--accent-strong);}
.mt-lencana.ok{background:rgba(27,122,68,.13); color:var(--success);}
.mt-lencana.info{background:rgba(28,111,182,.13); color:var(--info);}

.mt-subtab{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px;}
.mt-sub{min-height:var(--tap);}
.mt-sub.aktif{background:var(--accent); color:var(--text); border-color:var(--accent);}
.mt-filter{display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; margin-bottom:12px;}
.mt-filter button{min-height:var(--tap);}

.mt-gulir{overflow-x:auto; -webkit-overflow-scrolling:touch;}
table.mt-tbl{width:100%; min-width:0; border-collapse:collapse; font-size:14px;}
.mt-tbl th, .mt-tbl td{padding:8px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top;}
.mt-tbl th{white-space:nowrap; color:var(--text-muted); font-size:13px;}
.mt-angka{text-align:right; white-space:nowrap;}
.mt-sel-aksi{white-space:nowrap;}
.mt-sel-barang{min-width:170px;}

.mt-angka-besar{display:flex; flex-wrap:wrap; gap:10px; margin:10px 0;}
.mt-angka-besar > div{flex:1 1 110px; background:var(--panel-soft); border:1px solid var(--border); border-radius:var(--radius); padding:10px;}
.mt-angka-besar b{display:block; font-size:20px;}
.mt-angka-besar span{font-size:13px; color:var(--text-muted);}
.mt-pareto{display:grid; grid-template-columns:minmax(110px,1fr) 2fr auto; gap:8px; align-items:center; padding:4px 0; font-size:14px;}
.mt-pareto-batang{background:var(--panel-alt); border-radius:4px; height:12px; overflow:hidden;}
.mt-pareto-batang i{display:block; height:100%; background:var(--accent);}

.mt-overlay{position:fixed; inset:0; background:rgba(16,24,40,.55); z-index:1200; display:flex; align-items:flex-start; justify-content:center; padding:16px; overflow-y:auto;}
.mt-popup{background:var(--panel); color:var(--text); border-radius:var(--radius-lg); width:100%; max-width:760px; box-shadow:var(--shadow-md);}
.mt-popup-kepala{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--border); position:sticky; top:-16px; background:var(--panel); border-radius:var(--radius-lg) var(--radius-lg) 0 0; z-index:1;}
.mt-popup-kepala h3{margin:0; font-size:17px; overflow-wrap:anywhere;}
.mt-tutup{width:var(--tap); height:var(--tap); flex:none;}
.mt-popup-isi{padding:14px;}
.mt-popup-isi h4{margin:18px 0 8px;}
.mt-baris-judul{display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-bottom:10px;}
.mt-dl{display:grid; grid-template-columns:minmax(90px,auto) 1fr; gap:4px 12px; margin:0 0 10px;}
.mt-dl dt{color:var(--text-muted); font-size:13px;}
.mt-dl dd{margin:0; overflow-wrap:anywhere;}
.mt-foto{max-width:100%; max-height:320px; border-radius:var(--radius); margin:6px 0;}
.mt-log, .mt-daftar-spk{margin:0; padding-left:18px; font-size:14px;}
.mt-log li{margin-bottom:4px;}
.mt-tautan{display:flex; align-items:flex-end; gap:8px; margin-top:12px;}
.mt-tautan label{flex:1;}
.mt-tautan button{min-height:var(--tap);}
.mt-form{display:flex; flex-direction:column; gap:10px;}

/* Perawatan berkala (public/maintenance-berkala.js). Prefiks .mtb-* */
.mtb-ringkas{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px;}
.mtb-kartu{flex:1 1 110px; min-height:var(--tap); display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:8px 12px; background:var(--panel-soft); border:1px solid var(--border); border-radius:var(--radius); color:var(--text); cursor:pointer; text-align:left;}
.mtb-kartu b{font-size:22px; line-height:1.1;}
.mtb-kartu span{font-size:13px; color:var(--text-muted);}
.mtb-kartu.err b{color:var(--danger);}
.mtb-kartu.warn b{color:var(--accent-strong, var(--accent));}
.mtb-kartu.ok b{color:var(--ok, var(--text));}
.mtb-kartu.aktif{border-color:var(--accent); background:var(--accent-soft);}
.mtb-ok{display:flex; gap:8px;}
.mtb-ok label{flex:1; flex-direction:row; align-items:center; justify-content:center; gap:8px; min-height:var(--tap); background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); color:var(--text); font-weight:600;}
.mtb-item{border:0; padding:0; margin:0;}
.mtb-pilihan{width:100%; box-sizing:border-box; margin-top:6px;}

.mtb-mode{display:flex; gap:6px; margin:0 0 10px;}
.mtb-mode button{flex:1; min-height:var(--tap); background:var(--panel-soft); border:1px solid var(--border); border-radius:var(--radius); color:var(--text); font-weight:600;}
.mtb-mode button.aktif{border-color:var(--accent); background:var(--accent-soft);}
.mtb-grid-wadah{max-height:75vh; overflow:auto;}
.mtb-grid{border-collapse:separate; border-spacing:0; font-size:12px;}
.mtb-grid th,.mtb-grid td{border-right:1px solid var(--border); border-bottom:1px solid var(--border); padding:0; text-align:center;}
.mtb-grid thead th{position:sticky; top:0; background:var(--panel-soft); z-index:2; padding:4px 2px;}
.mtb-grid thead tr:nth-child(2) th{top:26px;}
.mtb-grid .mtb-nama{position:sticky; left:0; z-index:3; background:var(--panel); text-align:left; min-width:170px; max-width:220px; padding:4px 6px; font-weight:600;}
.mtb-grid thead .mtb-nama{z-index:4; background:var(--panel-soft);}
.mtb-no{display:inline-block; min-width:22px; color:var(--text-muted); font-weight:400;}
.mtb-mg{min-width:26px; font-weight:400;}
.mtb-bagian td{background:var(--panel-soft); text-align:left; font-weight:700; padding:4px 8px; position:sticky; left:0;}
.mtb-isi{min-width:26px; height:28px; cursor:pointer; font-weight:700;}
.mtb-isi.Mendatang{background:#9aa4b2;}
.mtb-isi.MingguIni{background:#f0a020;}
.mtb-isi.Terlambat{background:var(--danger);}
.mtb-isi.Selesai{background:#2e9e5b; color:#fff;}
.mtb-legenda i{display:inline-block; min-width:18px; height:14px; vertical-align:middle; margin:0 4px 0 10px; font-style:normal; color:#fff; font-size:11px; text-align:center;}
