/*
IC SHIP PASS — generated by icpass.py from the map. edit the CODE; rerun to refresh this.

══════════════════════════════════════════════════════════════════════
 PAGE 0 — TABLE OF CONTENTS  (goldfish pointers)
 jump by SEARCHING the anchor phrase — line numbers drift, names don't.
══════════════════════════════════════════════════════════════════════
  modal veil + card, mirrors shell/modal.js's ... search: "modal veil + card,"
  preview table — the thing the human reads ..... search: "preview table — the"
  toast — a small confirm, anchored to the ...... search: "toast — a small"
══════════════════════════════════════════════════════════════════════

 FOR AI
 ───────
   **OWNS** — the visual presentation of the wellness import modal (`.wimp-*` class family) and
   **its three regions: the veil + card container, the preview table, and the confirmation toast.
   **These classes are the only styling surface; the HTML structure and JS behavior live
   **elsewhere.
   
   **TOUCH HERE**
   - change modal width or height → `.wimp-modal` L11
   - change modal colors (background, text, border) → `.wimp-modal` L12
   - change drop zone or paste box appearance → `.wimp-drop` L20, `.wimp-paste` L25
   - change preview table scrolling or header behavior → `.wimp-prev` L36, `.wimp-table thead th`
   - L41
   - change confirm button color or active state → `.wimp-go` L49–51
   - change toast position, timing, or appearance → `.wimp-toast` L55–57
   - change hover states on rows or buttons → `.wimp-parse:hover` L32, `.wimp-table tbody
   - tr:hover` L44
   
   **TRAPS** — the z-index stack is load-bearing: `.wimp-back` at 100000 (L9) mirrors
   **`shell/modal.js`'s ozm veil, and `.wimp-toast` at 9999 (L55) must stay below it. The toast's
   **transform chain (L55, L57) is a pair — both use `translateX(-50%)` to center; changing one
   **without the other breaks positioning. The preview table's `flex: 1; min-height: 0` (L36) is
   **required for scroll to work inside a flex column; removing either breaks layout. Class names
   **(`.wimp-*`) are hardcoded in the importer's JS; renaming them silently breaks the UI.
   
   **DO NOT** — do not add overrides for existing rules elsewhere in the codebase (the file is
   **marked ADDITIVE, L3). Do not change the modal's `inset: 0` (L9) or the table's
   **`border-collapse: collapse` (L40) without understanding their layout role. Do not move the
   **toast's z-index above the modal's. The HTML structure, event handlers, and data parsing
   **belong in a different file; this file only styles what already exists.
   
   
   
   ---

END IC SHIP PASS
*/

/* wellness-import.css — the ⤵ IMPORTER chip + its preview modal. HIL surface: drop/paste → a table the human
   eyeballs → ✅ confirm. themed with the shared vars (--surface/--line/--accent/--text…), matches the ozm-veil
   z-index (100000) so it floats over cards. ADDITIVE — nothing here overrides an existing rule. */

/* the chip lives in the wellness topbar next to [today ▾] — borrows .well-daychip's look, so no new box style. */
.wimp-open { cursor: pointer; }

/* ── modal ── veil + card, mirrors shell/modal.js's ozm veil so it sits at the same layer. */
.wimp-back { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center;
  background: rgba(6, 4, 12, .6); backdrop-filter: blur(2px); }
.wimp-modal { width: min(680px, 94vw); max-height: 88vh; display: flex; flex-direction: column; gap: 10px;
  background: var(--surface); color: var(--text); border: 1px solid var(--line); border-radius: 12px;
  padding: 16px; box-shadow: 0 18px 60px rgba(0, 0, 0, .5); overflow: hidden; }

.wimp-head { display: flex; align-items: center; justify-content: space-between; }
.wimp-title { font-weight: 800; font-size: var(--fs-label); }
.wimp-x { background: none; border: none; color: var(--text-dim); font-size: 16px; cursor: pointer; }
.wimp-x:hover { color: var(--text); }

.wimp-drop { border: 1.5px dashed var(--line); border-radius: 8px; padding: 12px 14px; font-size: var(--fs-chrome);
  color: var(--text); background: var(--bg); line-height: 1.5; }
.wimp-drop code { background: var(--surface-2); padding: 1px 5px; border-radius: 4px; font-size: .92em; }
.wimp-dim, .wimp-table .wimp-dim { color: var(--text-dim); font-size: .92em; }

.wimp-paste { width: 100%; background: var(--bg); color: var(--text); border: 1px solid var(--line);
  border-radius: 8px; padding: 8px 10px; font: inherit; font-size: var(--fs-chrome); resize: vertical; outline: none; }
.wimp-paste:focus { border-color: var(--accent); }

.wimp-tools { display: flex; align-items: center; gap: 8px; }
.wimp-parse, .wimp-pick { height: 32px; padding: 0 12px; background: var(--surface-2); color: var(--text);
  border: 1px solid var(--line); border-radius: 7px; font: inherit; font-weight: 700; cursor: pointer; }
.wimp-parse:hover, .wimp-pick:hover { background: var(--line); }
.wimp-note { margin-left: auto; color: var(--text-dim); font-size: var(--fs-chrome); }

/* ── preview table — the thing the human reads before anything writes. scrolls; header stays put. */
.wimp-prev { flex: 1; min-height: 0; overflow-y: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); }
.wimp-empty { padding: 22px 14px; text-align: center; color: var(--text-dim); font-size: var(--fs-chrome); }
.wimp-warns { padding: 8px 12px; background: var(--surface-2); color: var(--text); font-size: var(--fs-chrome);
  border-bottom: 1px solid var(--line); }
.wimp-table { width: 100%; border-collapse: collapse; font-size: var(--fs-chrome); }
.wimp-table thead th { position: sticky; top: 0; background: var(--surface-2); text-align: left; padding: 7px 10px;
  font-weight: 700; border-bottom: 1px solid var(--line); }
.wimp-table td { padding: 6px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.wimp-table tbody tr:hover { background: var(--surface-2); }
.wimp-row { cursor: pointer; }

.wimp-foot { display: flex; align-items: center; gap: 12px; }
.wimp-all { display: flex; align-items: center; gap: 6px; font-size: var(--fs-chrome); color: var(--text-dim); cursor: pointer; }
.wimp-go { margin-left: auto; height: 36px; padding: 0 20px; background: var(--accent); color: #fff; border: none;
  border-radius: 8px; font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 3px 0 var(--accent-deep); }
.wimp-go:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--accent-deep); }
.wimp-go:disabled { opacity: .45; cursor: default; box-shadow: none; }

/* ── toast — a small confirm, anchored to the card, fades in/out (mirrors the share-gag toast). */
.wimp-toast { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(10px); z-index: 9999;
  padding: 8px 16px; background: var(--accent); color: #fff; border-radius: 999px; font-size: var(--fs-chrome);
  font-weight: 700; box-shadow: 0 6px 22px -6px rgba(0, 0, 0, .6); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.wimp-toast.go { opacity: 1; transform: translateX(-50%) translateY(0); }
