/* screens-polish.css · M10 lane P (ตรวจภาพ M9 + งานค้าง) · สีจากตัวแปรของชุดสีเท่านั้น · ไม่มี style ในหน้า (CSP)
   1) ช่องเลือกไฟล์ภาษาเดียวกับหน้า (components/filepick.html · README ข้อ 378)
   2) ตาราง API key ที่ 375 = การ์ดซ้อน (settings/apikeys.html · ข้อ 379) */

/* ── 1) ช่องเลือกไฟล์ ─────────────────────────────────────────────
   input จริงวางทับปุ่ม "เลือกไฟล์" แบบโปร่งใส (คลิก · แตะ · Enter/Space เปิดหน้าต่างเลือกไฟล์ของระบบ) · โฟกัสแสดงที่ปุ่ม */
.fp { display: grid; gap: .25rem; min-width: 0; font-size: .92rem; }
.fp-lbl { font-weight: 500; }
.fp-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
.fp-ctl { position: relative; display: inline-flex; flex: none; }
.fp-in { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; font-size: 0; }
.fp-in::file-selector-button { cursor: pointer; }
.fp-btn { pointer-events: none; }
.fp-btn .ico { width: 16px; height: 16px; }
.fp-ctl:hover .fp-btn { background: var(--surf2); color: var(--ink); }
.fp-in:focus-visible + .fp-btn { outline: 2px solid var(--ring); outline-offset: 2px; }
.fp-in:disabled + .fp-btn { opacity: .6; cursor: not-allowed; }
.fp-in[aria-invalid="true"] + .fp-btn { border-color: var(--p1-fg); }
.fp-st { flex: 0 1 auto; min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.fp-st.is-set { color: var(--fg); font-weight: 500; }
.fp-clear { flex: none; }
.fp-clear[hidden] { display: none; } /* .btn ตั้ง display ทับ hidden */
.fp-clear .ico { width: 16px; height: 16px; }
/* ฟอร์มที่จัด label เป็น grid (form · inline-form · appr-form) ใช้ช่องนี้ได้โดยไม่ต้องแก้ CSS ของฟอร์ม */
.form .fp, .inline-form .fp, .appr-form .fp { align-self: start; }
.inline-form .fp { font-size: var(--fs-sm); }

/* ไม่มี JavaScript: ใช้ input ของเบราว์เซอร์ตามปกติ (ชื่อไฟล์ที่เลือกแสดงโดยเบราว์เซอร์ · ส่งฟอร์มได้เหมือนเดิม) */
@media (scripting: none) {
  .fp-in { position: static; width: auto; height: auto; opacity: 1; font-size: inherit; }
  .fp-btn, .fp-st, .fp-clear { display: none; }
}

/* ── 2) API key: ตารางบนจอกว้าง · การ์ดซ้อนบนจอแคบ (หัวตาราง 6 คอลัมน์ไม่แตกทีละพยางค์ที่ 375) ── */
.ak-cards { display: none; list-style: none; margin: 0; padding: 0; }
.ak-card { border: 1px solid var(--line); border-radius: var(--r-md, 10px); background: var(--surf); padding: 10px 12px; min-width: 0; }
.ak-card + .ak-card { margin-top: 8px; }
.ak-card.ak-revoked { background: var(--surf2); }
.ak-card-h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; margin: 0 0 6px; font-weight: 600; }
.ak-card-h a { min-width: 0; overflow-wrap: anywhere; }
.ak-kv { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 12px; margin: 0; font-size: 13px; }
.ak-kv dt { color: var(--muted); }
.ak-kv dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ak-tbl { display: none; }
  .ak-cards { display: block; }
}
