/* LDP JPM v10.16 — proportional tables, article imagery, Zoom LMS */

/* ===================== ADMIN TABLE NORMALIZATION ===================== */
body.admin .adm-panel{max-width:100%;min-width:0}
body.admin .table-wrap{max-width:100%;overflow-x:auto!important;overflow-y:visible}
body.admin table.data{font-size:.86rem;line-height:1.45}
body.admin table.data th{font-size:.73rem;letter-spacing:.025em;white-space:nowrap;vertical-align:middle}
body.admin table.data td{vertical-align:middle!important;padding:.72rem .78rem!important;line-height:1.45;overflow-wrap:break-word;word-break:normal}
body.admin table.data td strong{line-height:1.35}
body.admin table.data .small{line-height:1.45}
body.admin table.data .actions{display:flex;align-items:center;gap:.38rem;flex-wrap:wrap;min-width:max-content}
body.admin table.data .actions form{margin:0}
body.admin table.data .btn{white-space:nowrap;line-height:1.2;min-height:34px;display:inline-flex;align-items:center;justify-content:center}
body.admin table.data .tag{white-space:nowrap}
/* v6.1 previously made img.thumb fill the entire table cell. This is the real cause of very tall rows. */
body.admin table.data img.thumb,
body.admin table.data .cell-media img.thumb{width:76px!important;height:54px!important;min-width:76px!important;max-width:76px!important;max-height:54px!important;object-fit:cover!important;border-radius:9px!important;flex:0 0 76px!important}
body.admin table.data .cell-media{display:flex;align-items:center;gap:.72rem;min-width:0}
body.admin table.data .cell-media .min0{min-width:0}
body.admin table.data .cell-media strong{display:block;max-width:100%}
body.admin table.data td.num{text-align:right;white-space:nowrap}
body.admin table.data td:has(.tag){vertical-align:middle!important}
body.admin .table-export-bar{padding:.58rem .68rem!important;min-height:48px}
body.admin .table-export-info{min-width:0;line-height:1.3}
body.admin .table-export-actions{min-width:0}

/* Stable widths for common non-resizable presentation elements */
body.admin .col-aksi{min-width:160px}
body.admin .thumb.thumb-lg{width:min(320px,100%)!important;height:auto!important;max-height:220px!important;object-fit:contain!important}

/* Form toolbars should not stretch buttons or collapse inputs. */
body.admin .toolbar,body.admin .adm-filter{align-items:center;gap:.65rem;flex-wrap:wrap}
body.admin .toolbar input[type="search"],body.admin .adm-filter input[type="search"]{min-width:min(320px,100%);flex:1 1 260px}
body.admin .toolbar select,body.admin .adm-filter select{flex:0 1 240px;min-width:170px}
body.admin .toolbar .btn,body.admin .adm-filter .btn{flex:0 0 auto}

@media(max-width:1100px) and (min-width:701px){
  body.admin table.data{font-size:.82rem}
  body.admin table.data td{padding:.62rem .65rem!important}
  body.admin table.data img.thumb,body.admin table.data .cell-media img.thumb{width:64px!important;height:46px!important;min-width:64px!important;max-width:64px!important;flex-basis:64px!important}
}
@media(max-width:700px){
  body.admin table.data td{padding:.68rem .7rem!important}
  body.admin table.data td.num{text-align:left;white-space:normal}
  body.admin table.data img.thumb,body.admin table.data .cell-media img.thumb{width:64px!important;height:48px!important;min-width:64px!important;max-width:64px!important;max-height:48px!important;flex-basis:64px!important}
  body.admin table.data .actions{min-width:0}
}

/* ===================== ARTICLE / INFORMATION ===================== */
.artikel-card img,.news-card img,.featured-article img{object-fit:cover!important;object-position:center;aspect-ratio:16/9;width:100%;height:auto}
.article-content img{max-width:100%;height:auto;border-radius:14px}
.article-source-note{font-size:.78rem;color:#6b7280;border-top:1px solid #e8ebf2;padding-top:.8rem;margin-top:1.4rem}

/* ===================== ZOOM LMS ===================== */
.zoom-lms-hero{padding-bottom:2rem}
.zoom-meeting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.zoom-meeting-card{display:flex;flex-direction:column;gap:.7rem;min-height:270px}
.zoom-meeting-card h3{margin:0;font-size:1.08rem;line-height:1.35}
.zoom-meeting-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.zoom-video-ic{width:42px;height:42px;border-radius:12px;background:#fff0ef;display:grid;place-items:center;font-size:1.15rem}
.zoom-meeting-meta{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:.15rem 0 .5rem}
.zoom-meeting-meta div{border:1px solid #e7eaf1;border-radius:10px;padding:.62rem}
.zoom-meeting-meta dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#737b91;font-weight:700}
.zoom-meeting-meta dd{margin:.18rem 0 0;font-size:.82rem;font-weight:700;line-height:1.35}
.zoom-meeting-card .btn{margin-top:auto}
.zoom-room-shell{max-width:980px;margin-inline:auto}
.zoom-room-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.zoom-room-head h2{margin:.2rem 0 .35rem}
.zoom-security-strip{display:flex;gap:.5rem;flex-wrap:wrap;padding:.7rem .8rem;border-radius:12px;background:#effaf4;border:1px solid #caecd9;color:#17613b;font-size:.78rem;font-weight:700;margin-bottom:1rem}
.zoom-room-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.zoom-room-info>div{border:1px solid #e5e9f1;border-radius:12px;padding:.8rem;display:flex;flex-direction:column;gap:.2rem;min-width:0}
.zoom-room-info small{color:#737b91;text-transform:uppercase;font-weight:700;letter-spacing:.04em}
.zoom-room-info strong,.zoom-room-info span{overflow-wrap:anywhere}
.zoom-room-actions{margin-top:1rem}
.zoom-error{color:#b42318!important;font-weight:700}
/* Client View mounts in #zmmtg-root with a high z-index. Keep WhatsApp/popup below it while active. */
#zmmtg-root{z-index:99999!important}
.zoom-admin-intro .panel-head{align-items:flex-start}
.zoom-health-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}

@media(max-width:900px){.zoom-meeting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zoom-room-info{grid-template-columns:1fr 1fr}}
@media(max-width:620px){
  .zoom-meeting-grid{grid-template-columns:1fr}
  .zoom-room-info{grid-template-columns:1fr}
  .zoom-room-head{flex-direction:column}
  .zoom-room-actions{display:grid;grid-template-columns:1fr}
  .zoom-room-actions .btn{width:100%}
}
