/* ============================================================================
 * Gewape Cloud Platform — PHASE 1 INJECTION BUNDLE  (CSS-only, zero behavior)
 * ----------------------------------------------------------------------------
 * Drop this AFTER the Skyline app bundle on the dev image, then bake FROM the
 * running container and smoke-test. It restyles AntD 4.1.3 + Skyline's Less by
 * pointing their selectors at semantic --gw-* tokens. No JS, no DOM, no AntD 5.
 *
 * Constraints honored: no rebuild-from-source; AntD stays 4.1.3; light + dark
 * ship together (dark = html.gewape-dark-mode, which the header toggle already
 * sets); host-privacy + regional-parity untouched (pure paint).
 *
 * Smoke test after bake: login → Quick Launch create → region switch →
 * `node scripts/regional-parity-check.js` → toggle dark, spot-check a list +
 * detail + form. Rollback = remove this file from the injection manifest.
 *
 * Fonts must be self-hosted (no CDN): ship Inter + JetBrains Mono @font-face
 * from the image's static dir and reference them here (paths below are
 * placeholders for the baked asset locations).
 * ========================================================================== */

/* ---- self-hosted faces (point to baked asset paths) ---------------------- */
/* @font-face { font-family:'Inter'; src:url('/fonts/Inter.var.woff2') format('woff2'); font-weight:400 700; font-display:swap; } */
/* @font-face { font-family:'JetBrains Mono'; src:url('/fonts/JetBrainsMono.woff2') format('woff2'); font-weight:400 600; font-display:swap; } */

/* ---- TOKENS (light) ------------------------------------------------------- */
:root {
  --gw-bg:#f3f6fb; --gw-bg-sunken:#eef2f7; --gw-surface:#ffffff; --gw-surface-raised:#ffffff;
  --gw-text:#1a1f36; --gw-text-secondary:#4a5568; --gw-text-muted:#8898aa; --gw-text-on-accent:#ffffff;
  --gw-border:#e6ebf1; --gw-border-strong:#d9e2ec;
  --gw-accent:#2ba7df; --gw-accent-strong:#1d8bc5; --gw-accent-wash:#e8f3fb;
  --gw-clay:#f0662e; --gw-clay-wash:#fdece4;
  --gw-positive:#0a8a5f; --gw-positive-wash:#e6f8f1;
  --gw-warning:#b25e00; --gw-warning-wash:#fff4e6;
  --gw-critical:#c4233e; --gw-critical-wash:#fdecef;
  --gw-radius-sm:8px; --gw-radius:12px;
  --gw-elev-1:0 1px 2px rgba(15,23,42,.04), 0 12px 30px -18px rgba(36,46,66,.22);
  --gw-font-sans:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --gw-font-mono:'JetBrains Mono', ui-monospace, 'SFMono-Regular', monospace;
}
/* ---- TOKENS (dark = cool navy; header toggle sets this class) ------------- */
html.gewape-dark-mode, html[data-theme="dark"] {
  --gw-bg:#07111f; --gw-bg-sunken:#0b1320; --gw-surface:#0d1826; --gw-surface-raised:#111c2b;
  --gw-text:#f5f8fc; --gw-text-secondary:#c7d6e8; --gw-text-muted:#8798ad; --gw-text-on-accent:#04121f;
  --gw-border:#26364a; --gw-border-strong:#33465c;
  --gw-accent:#45b3e6; --gw-accent-strong:#7dd3fc; --gw-accent-wash:rgba(43,167,223,.16);
  --gw-clay:#f2854f; --gw-clay-wash:rgba(240,102,46,.18);
  --gw-positive:#3fae82; --gw-positive-wash:rgba(20,184,127,.18);
  --gw-warning:#e0992c; --gw-warning-wash:rgba(224,153,44,.18);
  --gw-critical:#f76070; --gw-critical-wash:rgba(235,53,77,.18);
  --gw-elev-1:0 1px 0 rgba(0,0,0,.24), 0 18px 40px -28px rgba(0,0,0,.6);
}

/* ---- type: Inter everywhere, mono for numeric/code ------------------------ */
body, .ant-btn, .ant-input, .ant-select, .ant-menu, .ant-table, .ant-modal,
.ant-form, .ant-card, .ant-dropdown, .ant-typography, input, button, select, textarea {
  font-family: var(--gw-font-sans) !important;
}
code, pre, kbd, samp, .ant-typography code,
[class*="mono"], [class*="Mono"], .ant-statistic-content { font-family: var(--gw-font-mono) !important; }

/* ---- canvas & layout ----------------------------------------------------- */
body, .ant-layout, .ant-layout-content { background: var(--gw-bg) !important; color: var(--gw-text); }
.ant-layout-header { background: var(--gw-surface) !important; }
.ant-layout-sider { background: var(--gw-bg-sunken) !important; }

/* ---- cards / panels ------------------------------------------------------ */
.ant-card, .ant-collapse, .ant-descriptions-view, .ant-list, .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab {
  background: var(--gw-surface) !important;
  border-color: var(--gw-border) !important;
  border-radius: var(--gw-radius) !important;
}
.ant-card { box-shadow: var(--gw-elev-1); }

/* ---- buttons ------------------------------------------------------------- */
.ant-btn { border-radius: var(--gw-radius-sm) !important; font-weight: 600; }
.ant-btn-primary {
  background: var(--gw-accent) !important; border-color: var(--gw-accent) !important;
  color: var(--gw-text-on-accent) !important; box-shadow: none;
}
.ant-btn-primary:hover, .ant-btn-primary:focus {
  background: var(--gw-accent-strong) !important; border-color: var(--gw-accent-strong) !important;
}
.ant-btn-default {
  background: var(--gw-surface-raised) !important; border-color: var(--gw-border-strong) !important;
  color: var(--gw-text) !important;
}
.ant-btn-link { color: var(--gw-accent-strong) !important; }
.ant-btn-dangerous { color: var(--gw-critical) !important; border-color: var(--gw-critical) !important; }

/* ---- inputs / selects ---------------------------------------------------- */
.ant-input, .ant-input-affix-wrapper, .ant-input-number, .ant-select-selector, .ant-picker {
  background: var(--gw-surface-raised) !important;
  border-color: var(--gw-border-strong) !important;
  border-radius: var(--gw-radius-sm) !important;
  color: var(--gw-text) !important;
}
.ant-input:focus, .ant-input-affix-wrapper-focused, .ant-select-focused .ant-select-selector, .ant-picker-focused {
  border-color: var(--gw-accent) !important;
  box-shadow: 0 0 0 3px var(--gw-accent-wash) !important;
}
.ant-input::placeholder { color: var(--gw-text-muted) !important; }

/* ---- sider menu ---------------------------------------------------------- */
.ant-menu { background: transparent !important; color: var(--gw-text-secondary) !important; }
.ant-menu-item, .ant-menu-submenu-title { color: var(--gw-text-secondary) !important; }
.ant-menu-item:hover, .ant-menu-submenu-title:hover { color: var(--gw-text) !important; background: var(--gw-accent-wash) !important; }
.ant-menu-item-selected { color: var(--gw-accent-strong) !important; background: var(--gw-accent-wash) !important; border-radius: var(--gw-radius-sm); }
.ant-menu-item-selected::after { border-right-color: var(--gw-accent) !important; }

/* ---- tables -------------------------------------------------------------- */
.ant-table { background: var(--gw-surface) !important; color: var(--gw-text); }
.ant-table-thead > tr > th {
  background: var(--gw-bg-sunken) !important; color: var(--gw-text-muted) !important;
  border-bottom-color: var(--gw-border) !important; font-weight: 600;
}
.ant-table-tbody > tr > td { border-bottom-color: var(--gw-bg-sunken) !important; }
.ant-table-tbody > tr:hover > td { background: var(--gw-accent-wash) !important; }
.ant-table-row-selected > td { background: var(--gw-accent-wash) !important; }

/* ---- tags / badges / status --------------------------------------------- */
.ant-tag { border-radius: 6px !important; }
.ant-tag-blue, .ant-tag-processing { color: var(--gw-accent-strong) !important; background: var(--gw-accent-wash) !important; border-color: transparent !important; }
.ant-tag-green, .ant-tag-success { color: var(--gw-positive) !important; background: var(--gw-positive-wash) !important; border-color: transparent !important; }
.ant-tag-red, .ant-tag-error { color: var(--gw-critical) !important; background: var(--gw-critical-wash) !important; border-color: transparent !important; }
.ant-tag-orange, .ant-tag-warning, .ant-tag-gold { color: var(--gw-warning) !important; background: var(--gw-warning-wash) !important; border-color: transparent !important; }
.ant-badge-status-success .ant-badge-status-dot { background: var(--gw-positive) !important; }
.ant-badge-status-error  .ant-badge-status-dot { background: var(--gw-critical) !important; }

/* ---- money / numeric emphasis (Gewape orange) --------------------------- */
.ant-statistic-content-value, .money, [class*="money"], [class*="price"], [class*="amount"] {
  font-family: var(--gw-font-mono) !important; color: var(--gw-clay) !important;
}

/* ---- overlays: modal / dropdown / popover / drawer ---------------------- */
.ant-modal-content, .ant-modal-header, .ant-dropdown-menu, .ant-select-dropdown,
.ant-popover-inner, .ant-drawer-content, .ant-picker-panel-container {
  background: var(--gw-surface) !important; color: var(--gw-text) !important;
  border-color: var(--gw-border) !important; border-radius: var(--gw-radius) !important;
}
.ant-modal-title, .ant-drawer-title { color: var(--gw-text) !important; }
.ant-dropdown-menu-item:hover { background: var(--gw-accent-wash) !important; }

/* ---- misc ---------------------------------------------------------------- */
.ant-divider { border-color: var(--gw-border) !important; background: var(--gw-border) !important; }
.ant-alert { border-radius: var(--gw-radius-sm) !important; }
a { color: var(--gw-accent-strong); }
::selection { background: var(--gw-accent-wash); }

/* ============================================================================
 * NOT in Phase 1 (later, own bakes): region context bar + ⌘K (Phase 2/6, JS),
 * responsive table→cards (Phase 3, Tables/Base), Quick Launch reflow (Phase 4),
 * dashboard/wallet (Phase 5), identity restyle (Phase 7). This sheet only
 * repaints — it changes no layout or behavior.
 * ========================================================================== */
