/* groupsum.css — สรุปแบบจัดกลุ่ม (views/site/_dash/_groupsum.php: vwdkrs671/672/673/675) และหน้า vwdkrs ; โทนสีจาก t1-pro.css (--t1p-*) */

.gsum .gs-pick { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 16px 0 6px; }
.gsum .gs-pick label { display: flex; flex-direction: column; gap: 3px; font-size: 12px; color: var(--t1p-faint, #7C877D); }
.gsum .gs-pick select { min-width: 280px; max-width: 100%; padding: 7px 9px; border: 1px solid var(--t1p-rule, #CFDACB); background: #fff; font-size: 14px; }

.gsum .gs-grid { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.gsum .gs-card { position: relative; display: flex; flex-direction: column; gap: 9px; border-top: 3px solid var(--t1p-green, #1F6D45); transition: box-shadow .15s, transform .15s; }
.gsum .gs-card:hover { box-shadow: 0 6px 18px rgba(18, 59, 39, .12); transform: translateY(-1px); }
.gsum .gs-card .gs-link::after { content: ''; position: absolute; inset: 0; }
.gsum .gs-card:focus-within { outline: 2px solid var(--t1p-focus, #A97D2F); outline-offset: 2px; }
.gsum .gs-card.is-item { border-top-color: var(--t1p-gold, #A97D2F); }
.gsum .gs-nums { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.gsum .gs-nums span { display: flex; flex-direction: column; }
.gsum .gs-nums b { font: 600 19px/1.2 'IBM Plex Mono', monospace; color: var(--t1p-green-deep, #123B27); }
.gsum .gs-nums small { font-size: 11px; color: var(--t1p-faint, #7C877D); }
.gsum .gs-meter { display: block; height: 6px; border-radius: 3px; background: var(--t1p-band, #EEF2EA); overflow: hidden; }
.gsum .gs-meter i { display: block; height: 100%; background: var(--t1p-green, #1F6D45); }
.gsum .gs-top { margin: 0; padding: 8px 0 0; list-style: none; border-top: 1px solid var(--t1p-rule-soft, #E3EAE0); counter-reset: gs; }
.gsum .gs-top li { display: flex; justify-content: space-between; gap: 8px; padding: 2px 0; font-size: 12.5px; counter-increment: gs; }
.gsum .gs-top li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--t1p-soft, #4B5B4F); }
.gsum .gs-top li span::before { content: counter(gs) '. '; color: var(--t1p-faint, #7C877D); }
.gsum .gs-top li b { flex: none; font-family: 'IBM Plex Mono', monospace; font-weight: 600; }
.gsum .gs-more { margin-top: auto; font-size: 12.5px; font-weight: 600; color: var(--t1p-green, #1F6D45); }

/* รายการ: กลุ่มพับเก็บ */
.gsum .gs-group { display: block; padding: 0; background: #fff; border: 1px solid var(--t1p-rule, #CFDACB); margin-bottom: 8px; }
.gsum .gs-group > summary { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 16px; padding: 11px 14px; cursor: pointer; }
.gsum .gs-group[open] > summary { border-bottom: 1px solid var(--t1p-rule-soft, #E3EAE0); background: #FAFBF8; }
.gsum .gs-gname { font-weight: 600; color: var(--t1p-green-deep, #123B27); }
.gsum .gs-gmeta { font-size: 12.5px; color: var(--t1p-soft, #4B5B4F); }
.gsum .gs-group ul { list-style: none; margin: 0; padding: 0; }
.gsum .gs-group li { display: grid; grid-template-columns: minmax(0, 1fr) auto 130px; gap: 12px; align-items: baseline; padding: 7px 14px; border-bottom: 1px solid var(--t1p-rule-soft, #E3EAE0); font-size: 13.5px; }
.gsum .gs-group li:last-child { border-bottom: 0; }
.gsum .gs-iname small { display: block; font-size: 12px; color: var(--t1p-faint, #7C877D); }
.gsum .gs-inum { text-align: right; font-family: 'IBM Plex Mono', monospace; white-space: nowrap; }
.gsum .gs-gdetail { display: inline-block; margin: 8px 14px 10px; font-size: 12.5px; font-weight: 600; }
.gsum .dv-tbl tfoot th { background: var(--t1p-band, #EEF2EA); font-weight: 600; }

@media (max-width: 640px) {
  .gsum .gs-grid { grid-template-columns: 1fr; }
  .gsum .gs-pick select { min-width: 0; width: 100%; }
  .gsum .gs-group li { grid-template-columns: 1fr auto; }
  .gsum .gs-group li .gs-inum:last-child { grid-column: 2; }
}

/* vwdkrs — โครงการตามนโยบาย */
.vwdkrs .vk-status { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 16px 0 4px; padding: 10px 14px; background: #fff; border: 1px solid var(--t1p-rule, #CFDACB); font-size: 13px; }
.vwdkrs .vk-st { display: inline-flex; align-items: center; gap: 6px; color: var(--t1p-ink, #17251C) !important; text-decoration: none !important; }
.vwdkrs .vk-st span { width: 10px; height: 10px; border-radius: 2px; }
.vwdkrs .vk-st b { font-family: 'IBM Plex Mono', monospace; }
.vwdkrs .vk-st.is-sel { font-weight: 700; text-decoration: underline !important; }
.vwdkrs .vk-kr { font-size: 12.5px; line-height: 1.5; color: var(--t1p-soft, #4B5B4F); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vwdkrs .vk-bar { display: block; height: 7px; min-width: 80px; border-radius: 4px; background: var(--t1p-band, #EEF2EA); overflow: hidden; }
.vwdkrs .vk-bar i { display: block; height: 100%; }
.vwdkrs .vk-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
.vwdkrs .vk-chip { padding: 2px 10px; border: 1px solid var(--t1p-gold, #A97D2F); border-radius: 12px; background: #FBF6EA; font-size: 12.5px; color: var(--t1p-ink, #17251C) !important; text-decoration: none !important; }
