/* Shared core's stable semantic seam over pinned Tabler 1.4.0.
   Tenant templates and styles never depend on Tabler classes or variables. */
@font-face {
  font-family: "Shared Noto Sans SC";
  src: url("/shared-static/vendor/noto-sans-cjk/NotoSansSC-VF.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Shared Noto Sans TC";
  src: url("/shared-static/vendor/noto-sans-cjk/NotoSansTC-VF.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --tblr-primary: var(--brand);
  --tblr-primary-rgb: 49, 95, 134;
  --tblr-body-bg: var(--bg);
  --tblr-body-color: var(--ink);
  --tblr-card-bg: var(--card);
  --tblr-border-color: var(--line);
  --tblr-border-radius: var(--r-sm);
  --tblr-border-radius-lg: var(--r);
  --tblr-muted: var(--mut);
  --core-font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --core-font-zh-hans: "Shared Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --core-font-zh-hant: "Shared Noto Sans TC", "PingFang TC", "LiHei Pro", "Microsoft JhengHei", sans-serif;
  --tblr-font-sans-serif: var(--core-font-ui);
}

/* Existing core contracts remain the public API; these selectors bridge them
   to Tabler's component vocabulary while migration proceeds page by page. */
.shared-ui.grid,
.shared-ui .grid {
  /* Tabler also owns a global `.grid` utility and defaults it to 12 columns.
     Core's older `.grid` contract is a one-column form stack. Reset both axes
     explicitly so an upstream utility can never squeeze product controls. */
  --tblr-columns: 1;
  --tblr-rows: initial;
  grid-template-rows: none;
  grid-template-columns: minmax(0, 1fr);
}

.shared-ui.grid.g2,
.shared-ui .grid.g2 {
  --tblr-columns: 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shared-ui a:hover,
.shared-ui a:focus-visible {
  /* Core uses color, background and frame changes for interactive feedback.
     Tabler's global hover underline made cards, chips and navigation look like
     text links and introduced the display defects reported in the UI audit. */
  text-decoration: none;
}

:lang(zh-Hans),
:lang(zh-CN),
.core-cjk--simplified {
  font-family: var(--core-font-zh-hans);
  font-variant-east-asian: proportional-width;
}

:lang(zh-Hant),
:lang(zh-TW),
:lang(zh-HK),
.core-cjk--traditional {
  font-family: var(--core-font-zh-hant);
  font-variant-east-asian: proportional-width;
}

@media (max-width: 520px) {
  .shared-ui.grid.g2,
  .shared-ui .grid.g2 {
    --tblr-columns: 1;
    grid-template-columns: minmax(0, 1fr);
  }
}

.shared-ui .card {
  --tblr-card-border-color: var(--line);
  --tblr-card-bg: var(--card);
  box-shadow: var(--shadow);
}

.shared-ui button:not(.shared-organization-tier),
.shared-ui .btn,
.shared-ui [class*="__button"] {
  --tblr-btn-border-radius: var(--r-sm);
  font-family: var(--tblr-font-sans-serif);
}

.shared-ui :is(input, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]) {
  font-family: var(--tblr-font-sans-serif);
}

.shared-ui :is(.badge, .pill) {
  --tblr-badge-border-radius: 999px;
  font-family: var(--tblr-font-sans-serif);
}

.ti-icon {
  display: inline-block;
  width: 1.35rem;
  height: 1.35rem;
  flex: none;
  background: currentColor;
  -webkit-mask: var(--ti-icon) center / contain no-repeat;
  mask: var(--ti-icon) center / contain no-repeat;
}
.ti-layout-kanban { --ti-icon: url("/shared-static/vendor/tabler-icons/layout-kanban.svg"); }
.ti-phone { --ti-icon: url("/shared-static/vendor/tabler-icons/phone.svg"); }
.ti-mail { --ti-icon: url("/shared-static/vendor/tabler-icons/mail.svg"); }
.ti-database-import { --ti-icon: url("/shared-static/vendor/tabler-icons/database-import.svg"); }
.ti-template { --ti-icon: url("/shared-static/vendor/tabler-icons/template.svg"); }
.ti-chart-bar { --ti-icon: url("/shared-static/vendor/tabler-icons/chart-bar.svg"); }
.ti-settings { --ti-icon: url("/shared-static/vendor/tabler-icons/settings.svg"); }
.ti-dots { --ti-icon: url("/shared-static/vendor/tabler-icons/dots.svg"); }

@media (prefers-reduced-motion: reduce) {
  .shared-ui *, .shared-ui *::before, .shared-ui *::after {
    scroll-behavior: auto !important;
  }
}
