/* screens-licalloc.css · การจัดสรร License + ระบบเสมือน (lane V · 20-licence-allocation.md · DESIGN-TOKENS.md)
   หน้าผู้บริหาร /licenses/allocation · เจาะลึกหน่วยงานย่อย · ให้สิทธิ์ทีละมาก · License ของเครื่อง/ผู้ใช้ · อนุมัติและห้ามใช้ ·
   การ์ดระบบเสมือนบนหน้าครุภัณฑ์ · แท็บระบบเสมือน
   สีจากตัวแปรของชุดสีเท่านั้น · ตัวอักษร ≥ 12px · สถานะมีไอคอน/ข้อความเสมอ · ไม่มี style ในหน้า (CSP) */

.la-tabs { margin-bottom: 12px; }
/* ลิงก์ในเนื้อข้อความ/ตารางมีเส้นใต้เสมอ (ไม่แยกด้วยสีอย่างเดียว · axe link-in-text-block) */
.la td a:not(.btn), .la dd a, section.va a:not(.btn), .va-page .card a:not(.btn), .la .cx-list a { text-decoration: underline; text-underline-offset: 3px; }
.la-filter { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: flex-end; margin: 0 0 12px; }
.la-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.la-table td, .la-table th { vertical-align: top; }
.la-over td:first-child { box-shadow: inset 3px 0 0 var(--p1); }
.la-free { background: var(--teal-bg); color: var(--teal-fg); }
.core .la-tree th.la-name { font-weight: 500; text-align: start; background: transparent; }
.core .la-tree tr.la-d0 th.la-name { font-weight: 600; }
.core .la-tree tr.la-d1 th.la-name { padding-inline-start: 28px; }
.core .la-tree tr.la-d2 th.la-name { padding-inline-start: 48px; }
.core .la-tree tr.la-d3 th.la-name { padding-inline-start: 68px; }
.core .la-tree tr.la-d4 th.la-name { padding-inline-start: 88px; }
.core .la-tree tr.la-d5 th.la-name, .core .la-tree tr.la-d6 th.la-name { padding-inline-start: 104px; }
.la-none .la-name { font-style: italic; color: var(--ink2); }

.la-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.la-card { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 8px 12px; border-radius: var(--r-md); background: var(--surf2);
  border-left: 3px solid var(--line); }
.la-card-open { border-left-color: var(--p1); }
.la-card-pack { border-left-style: dotted; }
.la-card-t { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--ink); }
.la-card-t .ico { width: 15px; height: 15px; }
.la-card-n { font-family: var(--font-mono); font-weight: 600; }
.la-card-items { flex-basis: 100%; overflow-wrap: anywhere; }

.la-vendor-check { display: flex; align-items: flex-start; gap: 6px; margin: 8px 0; padding: 8px 12px; border-radius: var(--r-md); background: var(--vendor-bg);
  color: var(--vendor-fg); font-size: 13px; line-height: 1.6; }
.la-vendor-check .ico { width: 15px; height: 15px; flex: none; margin-top: 3px; }
.la-expiring { margin-top: 12px; padding: 8px 12px; border-radius: var(--r-md); background: var(--p3-bg); color: var(--ink); }
.la-expiring .ico { width: 15px; height: 15px; }
.la-preview { font-size: 15px; font-weight: 500; }
.la-pol-approved { background: var(--teal-bg); color: var(--teal-fg); }
.la-pol-tbl td:nth-child(3), .la-pol-tbl td:nth-child(4), .la-pol-tbl td:nth-child(5) { white-space: nowrap; }
.la-pol-tbl td:last-child form { margin: 0 0 4px; }
.la-pol-restricted { background: var(--vendor-bg); color: var(--vendor-fg); }
.la-pol-prohibited { background: var(--p1-bg); color: var(--p1-fg); }

/* ── ระบบเสมือน ── */
.va-chain { list-style: none; margin: 4px 0 12px; padding: 0; display: grid; gap: 4px; }
.va-chain li { position: relative; padding: 6px 12px 6px 28px; border-radius: var(--r-md); background: var(--surf2); }
.va-chain li::before { content: ""; position: absolute; inset-inline-start: 12px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%;
  background: var(--line); }
.va-chain li[aria-current] { box-shadow: inset 0 0 0 1px var(--brand); }
.va-chain li[aria-current]::before { background: var(--brand); }
.va-k { display: block; font-size: 12px; color: var(--muted); }
.va-mobile, .va-mismatch { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.va-mobile .ico, .va-mismatch .ico { width: 15px; height: 15px; }
.va-cluster h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.va-host { margin: 8px 0 0; padding: 8px 12px; border-radius: var(--r-md); background: var(--surf2); }
.va-host h3 { margin: 0 0 4px; font-size: 14px; font-weight: 600; line-height: 1.5; }
.va-vms { margin: 0; padding-inline-start: 20px; display: grid; gap: 2px; }

@media (max-width: 900px) {
  .la-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .la-kpis { grid-template-columns: 1fr 1fr; }
  .la-filter label, .la-filter select { inline-size: 100%; }
  .core .la-tree tr.la-d1 th.la-name, .core .la-tree tr.la-d2 th.la-name, .core .la-tree tr.la-d3 th.la-name { padding-inline-start: 20px; }
  .core .la-tree tr.la-d4 th.la-name, .core .la-tree tr.la-d5 th.la-name, .core .la-tree tr.la-d6 th.la-name { padding-inline-start: 28px; }
}
