/** * styles/podman.css * * Design tokens and component styles for the Podman plugin page. Ported * directly from the approved mockup (webui/mockups/prototype.html) so the * real implementation is visually identical to what was reviewed — the * masthead/main-nav chrome from that mockup is NOT included here, since * Podman.page renders inside Unraid's own real chrome, not a recreation * of it. * * Token strategy: custom properties on :root, redefined under * prefers-color-scheme (OS default) and under [data-theme] (explicit * override, e.g. from Unraid's own theme setting) — component rules below * only ever reference the tokens, never hardcode a color, so both themes * stay in sync automatically. See docs/ARCHITECTURE.md section 18. */ .podman-plugin { --bg: #eef0f2; --surface: #ffffff; --surface-2: #f4f5f7; --surface-3: #e9ebee; --border: #dde1e6; --text: #1c2024; --text-dim: #5b6572; --text-faint: #8a94a1; --accent: #d8541a; --accent-strong: #b8420f; --accent-contrast: #fff8f3; --good: #1a8f4c; --good-bg: #e4f6ea; --warn: #9a6b00; --warn-bg: #fdf1d6; --bad: #c22b3a; --bad-bg: #fbe6e8; --bad-strong: #9c1f2c; --bad-contrast: #fff5f6; --neutral: #5b6572; --neutral-bg: #e9ebee; --shadow: 0 1px 2px rgba(20, 22, 26, .06), 0 4px 12px rgba(20, 22, 26, .05); --font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Consolas, "Liberation Mono", monospace; font-family: var(--font-ui); color: var(--text); font-size: 14px; line-height: 1.5; } @media (prefers-color-scheme: dark) { .podman-plugin { --bg: #15171b; --surface: #1c1f24; --surface-2: #23262c; --surface-3: #2b2f36; --border: #34383f; --text: #e7e9ec; --text-dim: #9aa1ab; --text-faint: #6b7280; --accent: #ef7f3f; --accent-strong: #f6975f; --accent-contrast: #1a1002; --good: #4cc785; --good-bg: #123322; --warn: #e0b23d; --warn-bg: #3a2e0d; --bad: #ef6470; --bad-bg: #3a1519; --bad-strong: #f6838c; --bad-contrast: #2a0a0d; --neutral: #9aa1ab; --neutral-bg: #2b2f36; --shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35); } } :root[data-theme="dark"] .podman-plugin { --bg: #15171b; --surface: #1c1f24; --surface-2: #23262c; --surface-3: #2b2f36; --border: #34383f; --text: #e7e9ec; --text-dim: #9aa1ab; --text-faint: #6b7280; --accent: #ef7f3f; --accent-strong: #f6975f; --accent-contrast: #1a1002; --good: #4cc785; --good-bg: #123322; --warn: #e0b23d; --warn-bg: #3a2e0d; --bad: #ef6470; --bad-bg: #3a1519; --bad-strong: #f6838c; --bad-contrast: #2a0a0d; --neutral: #9aa1ab; --neutral-bg: #2b2f36; --shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35); } :root[data-theme="light"] .podman-plugin { --bg: #eef0f2; --surface: #ffffff; --surface-2: #f4f5f7; --surface-3: #e9ebee; --border: #dde1e6; --text: #1c2024; --text-dim: #5b6572; --text-faint: #8a94a1; --accent: #d8541a; --accent-strong: #b8420f; --accent-contrast: #fff8f3; --good: #1a8f4c; --good-bg: #e4f6ea; --warn: #9a6b00; --warn-bg: #fdf1d6; --bad: #c22b3a; --bad-bg: #fbe6e8; --bad-strong: #9c1f2c; --bad-contrast: #fff5f6; --neutral: #5b6572; --neutral-bg: #e9ebee; --shadow: 0 1px 2px rgba(20,22,26,.06), 0 4px 12px rgba(20,22,26,.05); } .podman-plugin * { box-sizing: border-box; } .podman-plugin h1, .podman-plugin h2, .podman-plugin h3 { text-wrap: balance; margin: 0; font-weight: 600; } .podman-plugin .tnum { font-variant-numeric: tabular-nums; } .podman-plugin .mono { font-family: var(--font-mono); } .podman-plugin :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; } .podman-pagehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 4px 0 0; } .podman-pagehead .titlewrap { display: flex; align-items: center; gap: 12px; } .podman-pagehead .icon { width: 38px; height: 38px; border-radius: 9px; background: var(--surface-3); display: grid; place-items: center; color: var(--accent); border: 1px solid var(--border); } .podman-pagehead h1 { font-size: 21px; } .podman-pagehead .meta { font-size: 12.5px; color: var(--text-dim); margin-top: 2px; } .podman-pagehead .meta .dot-good { color: var(--good); } .podman-pagehead .meta .dot-bad { color: var(--bad); } /* * margin: 0 — Unraid's own webGui theme applies a 10px top/bottom margin * to plain