/* jadwal.css — layar Jadwal janji (public/kotak/jadwal.js). Dasar warna, kartu, dan tombol dari dasbor.css. */
/* Menu yang bisa dimatikan baru tampil setelah pengaturan menu klien tiba, supaya tidak berkedip. */
body:not([data-menu-siap]) .rel-item[data-layar="jadwal"]{visibility:hidden}
#layar-jadwal .baris-kepala .aksi-kepala{flex:none}
.jdw-perlu{margin-bottom:14px}
.jdw-perlu h3{display:flex;align-items:center;gap:8px}
.jdw-perlu h3 svg.i{width:18px;height:18px;color:#b4540a}
.jdw-perlu h3 em{font-style:normal;font-size:12px;font-weight:700;padding:1px 8px;border-radius:10px;background:#fff4d6;color:#8a5a00}
.jdw-perlu-baris{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--garis);font-size:14px}
.jdw-perlu-baris:first-of-type{border-top:0}
.jdw-perlu-baris>div:first-child{min-width:0}
.jdw-perlu-baris small{display:block;color:var(--tx3);font-size:12.5px;margin-top:2px}
.jdw-perlu-baris .aksi-baris{flex:none}
.jdw-tanda{display:inline-block;margin:4px 6px 0 0;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:10px;line-height:1.4}
.jdw-tanda.ubah{background:#fdecea;color:#c0362c}
.jdw-tanda.kabar{background:#fff4d6;color:#8a5a00;font-weight:500;border-radius:6px}
p.jdw-tanda{display:block;margin:6px 0 0}
.jdw-alat{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.jdw-nav{display:flex;align-items:center;gap:6px}
.jdw-nav input[type=date]{padding:7px 14px;border:1px solid var(--garis2);border-radius:20px;background:var(--panel);color:var(--tx);font:inherit;font-size:14px}
.jdw-maju svg.i{transform:rotate(180deg)}
.jdw-tampilan{margin-top:0}
.jdw-judul-hari{font-size:16px;font-weight:600;margin:0 0 10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.jdw-judul-hari small{font-size:12.5px;font-weight:400;color:var(--tx3)}
.jdw-kisi{display:flex;flex-direction:column}
.jdw-slot{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;padding:6px 0;border-top:1px solid var(--garis)}
.jdw-slot-jam{font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;padding-top:6px}
.jdw-slot-jam small{display:block;font-weight:400;font-size:11.5px;color:var(--tx3)}
.jdw-slot.penuh .jdw-slot-jam small{color:var(--merah);font-weight:600}
.jdw-slot.lewat{opacity:.65}
.jdw-slot-isi{display:flex;flex-wrap:wrap;gap:6px;min-height:34px;align-items:flex-start}
.jdw-janji{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;max-width:100%;width:230px;padding:8px 12px;border:0;border-radius:14px;background:var(--kepala);color:var(--tx);font:inherit;text-align:left;cursor:pointer;position:relative}
.jdw-janji:hover{background:color-mix(in srgb,var(--tx) 7%,var(--kepala))}
.jdw-janji[data-s="Tidak datang"],.jdw-janji[data-s="Dibatalkan"]{opacity:.7}
.jdw-janji b{font-size:14px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jdw-janji-jam{font-size:11.5px;color:var(--tx3);font-variant-numeric:tabular-nums}
.jdw-janji-sub{font-size:12.5px;color:var(--tx2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jdw-janji .jdw-st{margin-top:4px}
.jdw-ingat{position:absolute;top:7px;right:8px;color:var(--aksen)}
.jdw-ingat svg.i{width:14px;height:14px}
.jdw-st{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;background:var(--kepala);color:var(--tx2)}
.jdw-st[data-s="Dijadwalkan"]{background:#e6f1fb;color:#2266b8}
.jdw-st[data-s="Dikonfirmasi"]{background:var(--aksen-muda);color:var(--aksen-tua)}
.jdw-st[data-s="Datang"]{background:#efe9fb;color:#6d3fc8}
.jdw-st[data-s="Tidak datang"]{background:#fdecea;color:#c0362c}
.jdw-isi{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 14px;border:1px dashed var(--garis2);border-radius:17px;background:none;color:var(--tx3);font:inherit;font-size:13px;cursor:pointer}
.jdw-isi:hover{border-color:var(--aksen);color:var(--aksen-tua)}
.jdw-isi svg.i{width:14px;height:14px}
.jdw-luar{margin-bottom:10px}
.jdw-luar h4{margin:0 0 6px;font-size:12.5px;font-weight:600;color:var(--tx3)}
.jdw-luar .jdw-janji{margin:0 6px 6px 0}
.kartu p.jdw-kosong{padding:10px 0;background:none;white-space:normal}
.kartu p.jdw-legenda{margin-top:8px;padding:0;background:none;white-space:normal;font-size:12px;color:var(--tx3)}
/* mingguan */
.jdw-minggu-gulir{overflow-x:auto;margin:0 -4px}
.jdw-minggu table{border-collapse:separate;border-spacing:3px;width:100%;min-width:430px;table-layout:fixed}
.jdw-minggu th{font-size:11.5px;font-weight:600;color:var(--tx3);text-align:center}
.jdw-minggu thead th:first-child,.jdw-minggu tbody th{width:44px;text-align:right;padding-right:4px;font-variant-numeric:tabular-nums}
.jdw-minggu thead .tbl-teks{display:flex;flex-direction:column;align-items:center;width:100%;font-size:11.5px;color:var(--tx2);font-weight:600}
.jdw-minggu thead .tbl-teks b{font-size:16px;color:var(--tx)}
.jdw-minggu thead .tbl-teks small{font-weight:400;color:var(--tx3);font-size:10.5px}
.jdw-minggu td{height:26px;padding:0;border-radius:5px;background:var(--kepala)}
.jdw-minggu td button{width:100%;height:100%;border:0;background:none;border-radius:5px;font:inherit;font-size:12px;font-weight:700;color:inherit;cursor:pointer}
.jdw-minggu td.tutup{background:repeating-linear-gradient(135deg,var(--kepala) 0 4px,transparent 4px 8px)}
.jdw-minggu td.kosong{background:color-mix(in srgb,var(--aksen) 10%,var(--panel))}
.jdw-minggu td.sebagian{background:#fff1bf;color:#8a5a00}
.jdw-minggu td.penuh{background:color-mix(in srgb,var(--merah) 18%,var(--panel));color:var(--merah)}
.jdw-minggu td.lewat{opacity:.5}
.jdw-legenda{margin-top:8px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}
.jdw-legenda i{display:inline-block;width:12px;height:12px;border-radius:3px}
.jdw-legenda i.kosong{background:color-mix(in srgb,var(--aksen) 10%,var(--panel));border:1px solid var(--garis2)}
.jdw-legenda i.sebagian{background:#fff1bf}.jdw-legenda i.penuh{background:color-mix(in srgb,var(--merah) 18%,var(--panel))}
/* dialog */
.jdw-form .jdw-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.jdw-form .jdw-3>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.jdw-form .jdw-3 input,.jdw-form .jdw-3 select{width:100%;min-width:0}
.jdw-saran{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:8px}
.jdw-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--garis2);border-radius:16px;background:transparent;color:var(--tx2);font:inherit;font-size:13px;line-height:18px;font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer}
.jdw-chip:hover{background:var(--hover)}
.jdw-chip.aktif{background:#d9fdd3;border-color:#b8e6b2;color:#0b5a38}
.jdw-chip button{border:0;background:none;padding:0;display:grid;place-items:center;color:var(--tx3);cursor:pointer}
.jdw-chip button svg.i{width:13px;height:13px}
.jdw-status-baris{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:var(--kepala)}
.jdw-status-baris .aksi-baris{gap:6px}
.jdw-tanya{font-weight:600;font-size:14px}
.jdw-status-baris .sakelar{margin:0;font-weight:500}
.jdw-atur-hari{display:flex;flex-direction:column;gap:4px}
.jdw-atur-baris{display:grid;grid-template-columns:110px minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
.jdw-atur-baris .sakelar{margin:0}
.jdw-atur-baris input[type=time]{min-width:0;width:100%}
.jdw-atur-baris input:disabled{opacity:.45}
.jdw-libur-tambah{display:flex;gap:8px}
.jdw-libur-tambah input{flex:1;min-width:0}
.jdw-libur{display:flex;flex-wrap:wrap;gap:6px}
.jdw-libur .jdw-chip{cursor:default}
.jdw-sub{margin:14px 0 0;font-size:15px;font-weight:600}
.jdw-tpl{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--garis)}
.jdw-tpl>div{min-width:0}
.jdw-tpl b{font-size:13.5px;font-family:ui-monospace,Menlo,monospace}
.jdw-tpl small{display:block;font-size:12px;color:var(--tx3);line-height:1.4}
.jdw-tpl .tbl,.jdw-tpl .status-tpl{flex:none}
/* Panel info chat: tombol teks polos tanpa ikon, senada "Catat pesanan". */
.jdw-dari-chat{margin-top:6px}
/* Satu bahasa dengan halaman chat baru (Putra 27 Sep 2026): kartu bulat berbayang lembut tanpa garis tepi,
   chip saring pil tipis, dialog bersudut bulat. */
#layar-jadwal .kartu{border-radius:18px;padding:18px;box-shadow:0 1px 2px rgba(11,20,26,.05),0 6px 20px rgba(11,20,26,.06)}
#layar-jadwal .kosong-halaman{border-radius:18px}
#layar-jadwal .saring-item{padding:3px 10px;border:1px solid var(--garis2);border-radius:16px;background:transparent;font-size:13px;line-height:18px;font-weight:500;color:var(--tx2)}
#layar-jadwal .saring-item:hover{background:var(--hover);filter:none}
#layar-jadwal .saring-item.aktif{background:#d9fdd3;border-color:#b8e6b2;color:#0b5a38}
#dialogJanji,#dialogAturJadwal{border-radius:18px}
@media (prefers-color-scheme:dark){
  #layar-jadwal .kartu{box-shadow:0 1px 2px rgba(0,0,0,.35)}
  #layar-jadwal .saring-item.aktif,.jdw-chip.aktif{background:#103529;border-color:#1c5a43;color:#25d366}
  .jdw-tanda.ubah,.jdw-st[data-s="Tidak datang"]{background:#3a1715;color:#f3aaa3}
  .jdw-tanda.kabar,.jdw-perlu h3 em{background:#2b240f;color:#f1d58c}
  .jdw-st[data-s="Dijadwalkan"]{background:#12304d;color:#9ccaf5}
  .jdw-st[data-s="Datang"]{background:#2a1f45;color:#c4a7ff}
  .jdw-minggu td.sebagian{background:#2b240f;color:#f1d58c}
  .jdw-legenda i.sebagian{background:#2b240f}
}
@media (max-width:760px){
  .jdw-alat{flex-direction:column;align-items:stretch}
  .jdw-nav input[type=date]{flex:1;min-width:0}
  .jdw-perlu-baris{flex-direction:column;align-items:stretch;gap:6px}
  .jdw-janji{width:100%}
}
@media (max-width:480px){
  .jdw-form .jdw-3{grid-template-columns:1fr 1fr}
  .jdw-form .jdw-3>div:last-child{grid-column:1/-1}
  .jdw-atur-baris{grid-template-columns:1fr 1fr;row-gap:2px}
  .jdw-atur-baris .sakelar{grid-column:1/-1}
  .jdw-atur-baris>span{display:none}
  .jdw-slot{grid-template-columns:48px minmax(0,1fr);gap:8px}
}
@media (max-width:640px){#layar-jadwal .kartu{padding:16px;border-radius:16px}}
