/* Sevkora brand palette
   -------------------------------------------------------------------------
   Primary: deep teal (#0F6E6B) — reads as "logistics / trust / calm control",
   distinct from the previous Radzen default indigo-violet and from typical
   "generic SaaS purple". Accent: amber-orange (#E8862E) — the classic
   warehouse/shipping "attention" color (hazard stripes, pallet labels,
   dispatch stamps), used for calls to action and highlights, never for body
   text (see contrast note below).

   These override Radzen's CSS custom properties directly, so they apply on
   top of *every* Radzen theme (Material, Standard, Software, Humanistic —
   light and dark) selectable from Ayarlar > Görünüm: only the skin's shape
   language/typography changes with the theme, the brand colors stay put.
   Deliberately NOT touching surface tokens (--rz-base-background-color,
   --rz-text-color, --rz-sidebar-background-color, ...) — those keep coming
   from whichever theme (and light/dark variant) is active, which is what
   keeps dark mode correct instead of fighting it with fixed hex values.

   Accessibility: --rz-on-secondary* is repointed to a dark ink instead of
   Radzen's default white, because amber is too light for white text to
   clear WCAG AA (2.66:1) — dark ink on amber clears 6.24:1. --rz-link-color is
   repointed to the primary teal instead of the (now amber) secondary, for
   the same reason: link text needs 4.5:1 and teal-on-white clears 6.06:1.

   Ratios here were computed and verified 2026-07-22. That pass also found three
   -light/-dark variant pairs sitting between 3:1 and 4.5:1 — enough for large
   text and UI components, short of normal body text. In Radzen these tokens all
   end up as *label text* (.rz-button/.rz-badge/.rz-chip .rz-shade-* and the
   outlined/text secondary hover states), and no screen currently renders those
   combinations, so nothing was visibly broken. They were fixed anyway rather
   than documented as a caveat, because the trap only springs later, silently,
   the first time someone writes Shade.Lighter on a secondary button:

     --rz-on-primary-light on --rz-primary-light   3.73:1 -> 4.58:1
     --rz-on-secondary-dark on --rz-secondary-dark 4.21:1 -> 4.75:1
     --rz-on-secondary-lighter on amber-lighter    3.53:1 -> 5.14:1

   The first one was fixed by darkening the *background* (--sevkora-primary-light),
   not the text: that teal sat in the middle-luminance dead zone where neither
   white nor any usable dark ink clears 4.5:1 (near-black only reached 4.39:1). */
:root {
    --sevkora-primary: #0F6E6B;
    /* Lightest teal that still clears 4.5:1 against white label text (4.58:1);
       the previous #3C918D only reached 3.73:1. Still clearly lighter than
       --sevkora-primary, which is all this variant is for. */
    --sevkora-primary-light: #34817D;
    --sevkora-primary-lighter: rgba(15, 110, 107, 0.12);
    --sevkora-primary-dark: #0B5250;
    --sevkora-primary-darker: #073B39;

    --sevkora-accent: #E8862E;
    --sevkora-accent-light: #EFA35C;
    --sevkora-accent-lighter: rgba(232, 134, 46, 0.14);
    --sevkora-accent-dark: #C06A1B;
    --sevkora-accent-darker: #9A5414;
    --sevkora-accent-ink: #2B1B0A;
    /* Deeper ink used only on --sevkora-accent-dark, where the regular ink lands
       at 4.21:1; this reaches 4.75:1. */
    --sevkora-accent-ink-deep: #1A1005;

    --rz-primary: var(--sevkora-primary);
    --rz-primary-light: var(--sevkora-primary-light);
    --rz-primary-lighter: var(--sevkora-primary-lighter);
    --rz-primary-dark: var(--sevkora-primary-dark);
    --rz-primary-darker: var(--sevkora-primary-darker);
    --rz-on-primary: #ffffff;
    --rz-on-primary-light: #ffffff;
    --rz-on-primary-dark: #ffffff;
    --rz-on-primary-darker: #ffffff;

    --rz-secondary: var(--sevkora-accent);
    --rz-secondary-light: var(--sevkora-accent-light);
    --rz-secondary-lighter: var(--sevkora-accent-lighter);
    --rz-secondary-dark: var(--sevkora-accent-dark);
    --rz-secondary-darker: var(--sevkora-accent-darker);
    --rz-on-secondary: var(--sevkora-accent-ink);
    --rz-on-secondary-light: var(--sevkora-accent-ink);
    --rz-on-secondary-dark: var(--sevkora-accent-ink-deep);
    /* The darker amber, not --sevkora-accent-dark: on the 14%-alpha amber tint the
       latter only reaches 3.53:1, this one 5.14:1. */
    --rz-on-secondary-lighter: var(--sevkora-accent-darker);

    --rz-link-color: var(--rz-primary);
    --rz-link-hover-color: var(--rz-primary-dark);
}

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1:focus {
    outline: none;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "Beklenmeyen bir hata oluştu."
    }

/* Printable document pages (/print/sales-order/{id}, /print/shipment/{id} — PrintLayout.razor and
   Components/Pages/Print/*). Global (not component-scoped CSS) on purpose: PrintLayout's own
   screen-only status text and each print page's own screen-only "Yazdır / Kapat" buttons all share
   this one .no-print utility, and Blazor's CSS isolation would otherwise scope a component's rules
   to only that component's own markup. */
@media print {
    .no-print {
        display: none !important;
    }
}

