/* Kryyvo design tokens — fonts and brand variables shared by the desk, the
   portal and the login page. Declares values only; nothing here restyles an
   element, so it is safe on every page. Treatment lives in desk.css (desk
   only) and login.css.

   Fonts are served from this app (SIL OFL, see public/fonts/), not Google
   Fonts: an ERP must render without a third-party request on every page. */

@font-face { font-family: Vazirmatn; src: url("../fonts/vazirmatn-regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: Vazirmatn; src: url("../fonts/vazirmatn-medium.ttf") format("truetype"); font-weight: 500 800; font-display: swap; }
@font-face { font-family: Instrument; src: url("../fonts/instrument-serif-italic.ttf") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: Fira; src: url("../fonts/fira-code-medium.ttf") format("truetype"); font-weight: 400 700; font-display: swap; }

:root {
	/* brand (brand-colors.md) */
	--ky-logo-blue: #4aa8db;
	--ky-brand: #2177a6;
	--ky-ink: #103a51;
	--ky-yellow: #fcce19;
	--ky-tint: #e6f3fb;
	--ky-white: #ffffff;
	--ky-brand-muted: #3d5a6c;
	--ky-error: #b3261e;
	--ky-error-bg: #fdf1f0;
	--ky-success: #1b7f3b;
	--ky-success-bg: #e7f6ec;

	--ky-font-body: Vazirmatn, system-ui, -apple-system, "Segoe UI", sans-serif;
	--ky-font-editorial: Instrument, Georgia, "Times New Roman", serif;
	--ky-font-label: Fira, ui-monospace, "SF Mono", Menlo, monospace;

	/* desk surfaces (preview/desk/desk.css :root) */
	--ky-page: #f6fafd;
	--ky-surface: #ffffff;
	--ky-surface-soft: #edf6fb;
	--ky-text: #103a51;
	--ky-muted: #637c8d;
	--ky-line: #dce8ef;
	--ky-accent: #2177a6;
	--ky-accent-hover: #1b668f;
	--ky-accent-soft: #e6f3fb;
	--ky-hover: #f4f9fc;
	--ky-banner-start: #dff1fb;
	--ky-banner-end: #eef8fd;
	--ky-banner-border: #cce4f1;
	--ky-card-shadow: 0 5px 18px #276b8c06;
	--ky-focus: #75bde4;
	--ky-on-accent: #ffffff;

	/* status (preview/module/module.css .badge) */
	--ky-status-paid-bg: #e7f6ec;    --ky-status-paid: #28733e;
	--ky-status-unpaid-bg: #fff4dc;  --ky-status-unpaid: #896216;
	--ky-status-overdue-bg: #fdf1f0; --ky-status-overdue: #b3261e;

	/* radii (REFERENCE-README: 24 panel, 13 modules, 10 inputs/buttons) */
	--ky-radius-panel: 24px;
	--ky-radius-card: 13px;
	--ky-radius-control: 9px;
	--ky-radius-sm: 7px;
}

[data-theme="dark"] {
	--ky-page: #102735;
	--ky-surface: #153143;
	--ky-surface-soft: #1b3b50;
	--ky-text: #e4f1f8;
	--ky-muted: #a0bbcc;
	--ky-line: #2e4e63;
	--ky-accent: #83c4e6;
	--ky-accent-hover: #a1d4ef;
	--ky-accent-soft: #21465c;
	--ky-hover: #1d3e53;
	--ky-banner-start: #214c65;
	--ky-banner-end: #193b50;
	--ky-banner-border: #355d75;
	--ky-card-shadow: none;
	--ky-on-accent: #103a51;

	--ky-status-paid-bg: #193d31;    --ky-status-paid: #8ed5a3;
	--ky-status-unpaid-bg: #463b24;  --ky-status-unpaid: #e6c475;
	--ky-status-overdue-bg: #482d30; --ky-status-overdue: #f3aaa8;
}
