{"version":3,"file":"table.css.cjs","names":[],"sources":["../../../src/content/table/table.css?inline"],"sourcesContent":["/* ore-table — shadow DOM (proxy/mirror).\n *\n * Shadow tree (managed by table.ts):\n *   :host                  display:block   — token host (tableBaseMixin)\n *   └─ .scroll-container   overflow:auto   — sticky / max-height context\n *       └─ table           display:table   — native table semantics\n *           ├─ caption                     — optional caption bar\n *           ├─ thead                       — rows built from ore-tr[head]\n *           ├─ tbody                       — rows built from plain ore-tr\n *           └─ tfoot                       — rows built from ore-tr[foot]\n *               └─ tr > th / td            — mirrored from ore-th / ore-td\n *\n * Light DOM (consumer):\n *   <ore-tr head><ore-th>…</ore-th></ore-tr>\n *   <ore-tr><ore-td>…</ore-td></ore-tr>\n *   <ore-tr foot><ore-td>…</ore-td></ore-tr>\n *\n * tableBaseMixin('table') handles: :host tokens, .scroll-container,\n * table width/collapse, loading state, size variants, fullwidth, bordered,\n * and sticky scroll-container activation.\n * This file handles: caption, section backgrounds, body tr/th/td, and variants.\n * No ::slotted() needed — the shadow tree owns all rendered th/td elements.\n */\n\n@layer refine.base {\n  :host {\n    border: none;\n    border-radius: 0;\n    box-shadow: var(--table-shadow, none);\n  }\n\n  /* ── Caption ─────────────────────────────────────────────────────────── */\n\n  caption {\n    padding: var(--size-3);\n    font-size: var(--text-xs);\n    font-weight: var(--font-semibold);\n    color: var(--color-contrast-500);\n    text-align: start;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    caption-side: top;\n    background: var(--_header-bg);\n  }\n\n  /* ── Section backgrounds ─────────────────────────────────────────────── */\n\n  thead,\n  tfoot {\n    background: var(--_header-bg);\n  }\n\n  thead {\n    border-block-end: var(--border) solid var(--_border-color);\n  }\n\n  tfoot {\n    border-block-start: var(--border) solid var(--_border-color);\n  }\n\n  /* ── Body rows ───────────────────────────────────────────────────────── */\n\n  tbody tr {\n    border-block-end: var(--border) solid var(--_border-color);\n    transition: background var(--transition-fast);\n  }\n\n  tbody tr:hover {\n    background: var(--_row-hover-bg);\n  }\n\n  /* ── Cells ───────────────────────────────────────────────────────────── */\n\n  th,\n  td {\n    padding: var(--_cell-padding-y) var(--_cell-padding-x);\n    font-size: var(--_font-size);\n    font-weight: normal;\n    vertical-align: middle;\n    color: var(--color-contrast-800);\n    text-align: start;\n  }\n\n  /* ── Header cells ────────────────────────────────────────────────────── */\n\n  thead th,\n  thead td,\n  tfoot th,\n  tfoot td {\n    font-size: var(--text-xs);\n    font-weight: var(--font-semibold);\n    color: var(--color-contrast-500);\n    text-transform: uppercase;\n    letter-spacing: 0.04em;\n    white-space: nowrap;\n    user-select: none;\n  }\n}\n\n@layer refine.variants {\n  /* ── Bordered: vertical cell separators ─────────────────────────────── */\n\n  :host([bordered]) th,\n  :host([bordered]) td {\n    border-inline-end: var(--border) solid var(--_border-color);\n  }\n\n  :host([bordered]) th:last-child,\n  :host([bordered]) td:last-child {\n    border-inline-end: none;\n  }\n\n  /* ── Striped ─────────────────────────────────────────────────────────── */\n\n  :host([striped]) tbody tr:nth-child(even) {\n    background: var(--_stripe-bg);\n  }\n\n  /* ── Sticky header ───────────────────────────────────────────────────── */\n\n  /* tableBaseMixin activates overflow-y:auto on .scroll-container when\n     [sticky] is present. position:sticky on thead is relative to that context. */\n\n  :host([sticky]) thead {\n    position: sticky;\n    top: 0;\n    z-index: 2;\n    background: var(--table-sticky-header-bg, color-mix(in oklch, var(--_header-bg) 94%, transparent));\n\n    /* border-collapse merges the bottom border into the cell below, which\n       scrolls away under the sticky header. Use box-shadow instead — it\n       travels with the element regardless of border-collapse. */\n    box-shadow: inset 0 calc(var(--border) * -1) 0 var(--_border-color);\n    backdrop-filter: blur(var(--table-sticky-blur, var(--blur-md))) saturate(140%);\n  }\n}\n"],"mappings":""}