/* =================================================
   Dokumint – Semantic colour tokens
   Single source of truth
================================================= */

/* =================================================
   PALETTE: SIGNAL
   Stored preference key: default
================================================= */

:root,
.theme-preview[data-preview-palette="default"][data-preview-mode="light"] {

  /* ---------------------------------------------
     BACKGROUNDS
  --------------------------------------------- */

  --bg-background: oklch(0.965 0.006 180);   /* app background */
  --bg-background-inverse: oklch(0.240 0.034 238);
  --bg-card:       oklch(0.992 0.002 180);             /* cards */
  --field:         oklch(0.979 0.004 180);   /* inputs, textareas */
	--bg-hover:			 oklch(0.925 0.006 205);
  --bg-sidebar:    oklch(0.285 0.040 238);     /* sidebar + header */
  --bg-context:    oklch(0.925 0.012 190);    /* context panels */
	--border:        oklch(0.852 0.010 190);
	--bg-muted:			 oklch(0.892 0.008 195);
	--bg-active: 		 oklch(0.560 0.090 178);
	--button: 			 oklch(0.700 0.095 178);
	--button-primary: oklch(0.700 0.095 178);
  --button-secondary: oklch(0.670 0.065 212);
  --button-accent: oklch(0.660 0.100 220);

  --bg : oklch(0.965 0.006 180);
  --card : oklch(0.992 0.002 180);
  --card2 : oklch(0.948 0.006 180);
  --card3 : oklch(0.932 0.008 185);
  --text : oklch(0.218 0.012 235);
  --textMuted : oklch(0.448 0.014 225);
  --textOnColor : oklch(1.000 0.000 127.5);
  --textOnSidebar: oklch(0.965 0.006 180);
  --primary : oklch(0.700 0.095 178);
  --primaryFg : oklch(1.000 0.000 127.5);
  --secondary : oklch(0.670 0.065 212);
  --secondaryFg : oklch(0.060 0.010 220);
  --accent : oklch(0.560 0.090 220);
  --accentFg : oklch(1.000 0.000 127.5);
  --ring : oklch(0.600 0.100 190);
  --good : oklch(0.620 0.110 162);
  --goodFg : oklch(1.000 0.000 127.5);
  --warn : oklch(0.740 0.148 72);
  --warnFg : oklch(0.130 0.020 80);
  --bad : oklch(0.560 0.140 22);
  --badFg : oklch(1.000 0.000 127.5);
  --note-info: oklch(0.904 0.038 220);
  --note-warn: oklch(0.924 0.098 82);
  --note-alert: oklch(0.880 0.052 35);
  --on-muted : oklch(0.420 0.012 220);

	/* -------------------------------------------------
     TYPOGRAPHY
  ------------------------------------------------- */

  --font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;

  /* ---------------------------------------------
     TEXT – CORE
  --------------------------------------------- */

  --text-foreground: oklch(0.218 0.012 235);   /* default body text */
  --text-heading:    oklch(0.160 0.020 235);  /* subtle emphasis */
  --text-muted:      oklch(0.448 0.014 225);   /* disabled / secondary */
  --on-button: 			 oklch(1.000 0.000 127.5);
  --text-brand:      oklch(0.660 0.105 178);

  /* ---------------------------------------------
     BRAND / SEMANTIC TEXT
  --------------------------------------------- */

  --text-primary:   oklch(0.660 0.105 178);
  --text-secondary: oklch(0.560 0.065 212);
  --text-light:     oklch(0.976 0.004 180);
  --text-on-color:  oklch(1.000 0.000 127.5);
  --text-on-primary: oklch(1.000 0.000 127.5);
  --text-on-secondary: oklch(0.060 0.010 220);
  --text-accent:    oklch(0.560 0.090 220);
  --text-on-accent: oklch(1.000 0.000 127.5);
  --text-info:      oklch(0.560 0.090 220);
  --text-warning:   oklch(0.740 0.148 72);
	--text-notice:		oklch(0.690 0.118 78);
  --text-on-warning: oklch(0.130 0.020 80);
  --text-destructive: oklch(0.560 0.140 22);
  --text-on-destructive: oklch(1.000 0.000 127.5);
  --text-success:   oklch(0.600 0.110 162);
  --text-disabled:     oklch(0.780 0.010 210);


  /* ---------------------------------------------
     LINKS
  --------------------------------------------- */

  --text-link:       oklch(0.560 0.090 220);   /* blue */
  --text-link-hover: oklch(0.600 0.110 162);  /* green */
	--bg-link: 				 oklch(0.560 0.090 220);
	--bg-link-hover:   oklch(0.600 0.110 162);

	/* ---------------------------------------------
     STATUS BACKGROUNDS
  --------------------------------------------- */

  --bg-info:        oklch(0.902 0.032 220);
	--bg-notice:			oklch(0.740 0.148 72);
  --bg-warning:     oklch(0.740 0.148 72);
  --bg-destructive: oklch(0.560 0.140 22);
  --bg-success:     oklch(0.600 0.110 162);
	--bg-secondary:		oklch(0.670 0.065 212);

  /* ---------------------------------------------
     STATUS FOREGROUNDS (ON COLOUR)
  --------------------------------------------- */

  --on-info:        oklch(0.150 0.020 230);
	--on-notice:			oklch(0.130 0.020 80);
  --on-warning:     oklch(0.130 0.020 80);
  --on-destructive: oklch(1 0 0);
  --on-success:     oklch(0.060 0.010 170);
	--on-inactive:		oklch(0.438 0.012 220);
	--on-secondary: 	oklch(0.060 0.010 220);
  --on-note:        oklch(0.000 0.000 0.0);

  /* ---------------------------------------------
     RADIUS
  --------------------------------------------- */

  --radius: 1rem;
}


/* =================================================
   DARK MODE
================================================= */

.dark,
.theme-preview[data-preview-palette="default"][data-preview-mode="dark"] {

  /* ---------------------------------------------
     BACKGROUNDS
  --------------------------------------------- */

  --bg-background: oklch(0.235 0.030 230);
  --bg-card:       oklch(0.275 0.026 215);
  --field:         oklch(0.315 0.024 215);
	--bg-hover:	 		 oklch(0.325 0.026 215);
  --bg-sidebar:    oklch(0.150 0.018 235);
	--bg-muted:			 oklch(0.430 0.020 215);
  --bg-context:    oklch(0.335 0.026 215);
	--border:        oklch(0.430 0.020 215);
	--button: 			 oklch(0.700 0.095 178);

  --bg : oklch(0.235 0.030 230);
  --card : oklch(0.275 0.026 215);
  --card2 : oklch(0.315 0.024 215);
  --card3 : oklch(0.205 0.026 230);
  --text : oklch(0.919 0.000 127.5);
  --textMuted : oklch(0.708 0.012 210);
  --textOnColor : oklch(0.000 0.000 0.0);
  --primary : oklch(0.700 0.095 178);
  --primaryFg : oklch(0.000 0.000 0.0);
  --secondary : oklch(0.670 0.065 212);
  --secondaryFg : oklch(0.060 0.010 220);
  --accent : oklch(0.640 0.090 220);
  --accentFg : oklch(1.000 0.000 127.5);
  --ring : oklch(0.640 0.090 190);
  --good : oklch(0.660 0.095 162);
  --goodFg : oklch(0.000 0.000 0.0);
  --warn : oklch(0.716 0.150 55.4);
  --warnFg : oklch(0.000 0.000 0.0);
  --bad : oklch(0.541 0.158 13.1);
  --badFg : oklch(1.000 0.000 127.5);
  --note-info: oklch(0.438 0.070 220);
  --note-warn: oklch(0.6396 0.1336 77.29);
  --note-alert: oklch(0.6396 0.1336 10.23);

  /* ---------------------------------------------
     TEXT – CORE
  --------------------------------------------- */

  --text-foreground: oklch(0.930 0.006 210);
  --text-heading:    oklch(0.970 0.008 215);
  --text-muted:      oklch(0.708 0.012 210);
  --on-button: 			 oklch(0.000 0.000 0.0);
  --on-inactive:     oklch(0.920 0.010 215);
  --on-muted :       oklch(0.840 0.010 210);

  /* ---------------------------------------------
     BRAND / SEMANTIC TEXT
  --------------------------------------------- */

  --text-primary:   oklch(0.700 0.095 178);
  --text-secondary: oklch(0.670 0.065 212);
  --text-accent:    oklch(0.640 0.090 220);

  --text-info:        oklch(0.640 0.090 220);
  --text-warning:     oklch(0.756 0.151 60.1);
  --text-destructive: oklch(0.503 0.158 29.1);
  --text-success:     oklch(0.660 0.095 162);
  --text-disabled:     oklch(0.660 0.010 210);

  /* ---------------------------------------------
     LINKS
  --------------------------------------------- */

  --text-link:       oklch(0.700 0.095 178);
  --text-link-hover: oklch(0.660 0.095 162);

	--bg-info:        oklch(0.350 0.060 220);
	--bg-notice:			oklch(0.756 0.151 60.1);
  --bg-warning:     oklch(0.756 0.151 60.1);
  --bg-destructive: oklch(0.503 0.158 29.1);
  --bg-success:     oklch(0.660 0.095 162);
	--bg-secondary:		oklch(0.670 0.065 212);

  --on-info:        oklch(0.960 0.008 215);
	--on-notice:			oklch(0.000 0.000 0.0);
  --on-warning:     oklch(0.000 0.000 0.0);
  --on-destructive: oklch(1 0 0);
  --on-success:     oklch(0.060 0.010 170);
	--on-secondary: 	oklch(1.000 0.000 127.5);
  --on-accent:      oklch(0.000 0.000 0.0);
  --on-note:        oklch(0.000 0.000 0.0);
}

/* =================================================
   PALETTE: OCEAN
================================================= */

:root[data-palette="ocean"],
.theme-preview[data-preview-palette="ocean"][data-preview-mode="light"] {
  --bg-background: oklch(0.968 0.008 235);
  --bg-background-inverse: oklch(0.220 0.022 230);
  --bg-card:       oklch(0.992 0.004 235);
  --field:         oklch(0.981 0.006 235);
  --bg-hover:      oklch(0.934 0.014 235);
  --bg-sidebar:    oklch(0.372 0.055 238);
  --bg-context:    oklch(0.922 0.014 235);
  --border:        oklch(0.846 0.012 235);
  --bg-muted:      oklch(0.884 0.010 235);
  --bg-active:     oklch(0.574 0.114 241);
  --button:        oklch(0.695 0.106 238);
  --button-primary: oklch(0.695 0.106 238);
  --button-secondary: oklch(0.694 0.073 204);
  --button-accent: oklch(0.646 0.094 274);

  --bg: oklch(0.968 0.008 235);
  --card: oklch(0.992 0.004 235);
  --card2: oklch(0.952 0.010 235);
  --card3: oklch(0.936 0.012 235);
  --text: oklch(0.232 0.012 244);
  --textMuted: oklch(0.478 0.014 240);
  --textOnColor: oklch(1.000 0.000 127.5);
  --textOnSidebar: oklch(0.980 0.005 235);
  --primary: oklch(0.695 0.106 238);
  --primaryFg: oklch(1.000 0.000 127.5);
  --secondary: oklch(0.694 0.073 204);
  --secondaryFg: oklch(0.050 0.010 240);
  --accent: oklch(0.646 0.094 274);
  --accentFg: oklch(1.000 0.000 127.5);
  --ring: oklch(0.603 0.106 244);
  --good: oklch(62.7% 0.194 149.214);
  --goodFg: oklch(1.000 0.000 127.5);
  --warn: oklch(0.759 0.148 72);
  --warnFg: oklch(0.140 0.020 80);
  --bad: oklch(0.562 0.171 22);
  --badFg: oklch(1.000 0.000 127.5);
  --note-info: oklch(0.904 0.038 232);
  --note-warn: oklch(0.924 0.098 82);
  --note-alert: oklch(0.872 0.062 28);
  --on-muted: oklch(0.440 0.012 240);

  --text-foreground: oklch(0.232 0.012 244);
  --text-heading: oklch(0.182 0.020 244);
  --text-muted: oklch(0.478 0.014 240);
  --on-button: oklch(1.000 0.000 127.5);
  --text-brand: oklch(0.695 0.106 238);

  --text-primary: oklch(0.695 0.106 238);
  --text-secondary: oklch(0.694 0.073 204);
  --text-light: oklch(0.980 0.005 235);
  --text-on-color: oklch(1.000 0.000 127.5);
  --text-on-primary: oklch(1.000 0.000 127.5);
  --text-on-secondary: oklch(0.050 0.010 240);
  --text-accent: oklch(0.646 0.094 274);
  --text-on-accent: oklch(1.000 0.000 127.5);
  --text-info: oklch(0.610 0.110 238);
  --text-warning: oklch(0.759 0.148 72);
  --text-notice: oklch(0.700 0.118 89);
  --text-on-warning: oklch(0.140 0.020 80);
  --text-destructive: oklch(0.562 0.171 22);
  --text-on-destructive: oklch(1.000 0.000 127.5);
  --text-success: oklch(0.608 0.094 186);
  --text-disabled: oklch(0.770 0.012 240);

  --text-link: oklch(0.574 0.114 241);
  --text-link-hover: oklch(0.608 0.094 186);
  --bg-link: oklch(0.574 0.114 241);
  --bg-link-hover: oklch(0.608 0.094 186);

  --bg-info: oklch(0.902 0.032 236);
  --bg-notice: oklch(0.759 0.148 72);
  --bg-warning: oklch(0.759 0.148 72);
  --bg-destructive: oklch(0.562 0.171 22);
  --bg-success: oklch(0.608 0.094 186);
  --bg-secondary: oklch(0.694 0.073 204);

  --on-info: oklch(0.170 0.025 244);
  --on-notice: oklch(0.150 0.020 80);
  --on-warning: oklch(0.150 0.020 80);
  --on-destructive: oklch(1.000 0.000 127.5);
  --on-success: oklch(0.080 0.015 200);
  --on-inactive: oklch(0.462 0.012 238);
  --on-secondary: oklch(0.050 0.010 240);
  --on-note: oklch(0.120 0.015 240);
}

.dark[data-palette="ocean"],
.theme-preview[data-preview-palette="ocean"][data-preview-mode="dark"] {
  --bg-sidebar:    oklch(0.155 0.018 230);
  --bg:            oklch(0.185 0.020 230);
  --card3:         oklch(0.185 0.020 230);
  --bg-background: oklch(0.220 0.022 230);
  --bg-card:       oklch(0.255 0.024 230);
  --card:          oklch(0.255 0.024 230);
  --card2:         oklch(0.295 0.026 228);
  --field:         oklch(0.295 0.026 228);
  --bg-context:    oklch(0.330 0.028 228);
  --bg-hover:      oklch(0.330 0.028 228);
  --bg-muted:      oklch(0.420 0.022 230);
  --border:        oklch(0.420 0.022 230);
  --button:        oklch(0.745 0.092 228);
  --button-primary: oklch(0.745 0.092 228);
  --button-secondary: oklch(0.682 0.072 198);
  --button-accent: oklch(0.676 0.094 273);

  --text: oklch(0.932 0.008 230);
  --textMuted: oklch(0.720 0.010 230);
  --textOnColor: oklch(0.020 0.003 230);
  --primary: oklch(0.745 0.092 228);
  --primaryFg: oklch(0.040 0.006 228);
  --secondary: oklch(0.682 0.072 198);
  --secondaryFg: oklch(0.030 0.006 205);
  --accent: oklch(0.676 0.094 273);
  --accentFg: oklch(0.040 0.006 280);
  --ring: oklch(0.676 0.094 246);
  --good: oklch(0.674 0.088 188);
  --goodFg: oklch(0.050 0.008 190);
  --warn: oklch(0.759 0.148 72);
  --warnFg: oklch(0.060 0.010 80);
  --bad: oklch(0.612 0.159 24);
  --badFg: oklch(0.990 0.002 45);
  --note-info: oklch(0.438 0.083 235);
  --note-warn: oklch(0.638 0.127 77);
  --note-alert: oklch(0.632 0.122 26);

  --text-foreground: oklch(0.932 0.008 230);
  --text-heading: oklch(0.972 0.010 232);
  --text-muted: oklch(0.720 0.010 230);
  --on-button: oklch(0.040 0.006 228);
  --on-inactive: oklch(0.920 0.010 230);
  --on-muted: oklch(0.842 0.008 230);

  --text-primary: oklch(0.745 0.092 228);
  --text-secondary: oklch(0.682 0.072 198);
  --text-accent: oklch(0.676 0.094 273);
  --text-info: oklch(0.728 0.098 228);
  --text-warning: oklch(0.759 0.148 72);
  --text-destructive: oklch(0.612 0.159 24);
  --text-success: oklch(0.674 0.088 188);
  --text-disabled: oklch(0.660 0.010 230);

  --text-link: oklch(0.745 0.092 228);
  --text-link-hover: oklch(0.674 0.088 188);
  --bg-link: oklch(0.745 0.092 228);
  --bg-link-hover: oklch(0.674 0.088 188);

  --bg-info: oklch(0.352 0.060 232);
  --bg-notice: oklch(0.759 0.148 72);
  --bg-warning: oklch(0.759 0.148 72);
  --bg-destructive: oklch(0.612 0.159 24);
  --bg-success: oklch(0.674 0.088 188);
  --bg-secondary: oklch(0.682 0.072 198);

  --on-info: oklch(0.962 0.006 230);
  --on-notice: oklch(0.050 0.008 80);
  --on-warning: oklch(0.050 0.008 80);
  --on-destructive: oklch(0.992 0.002 45);
  --on-success: oklch(0.050 0.008 190);
  --on-secondary: oklch(0.030 0.006 205);
  --on-accent: oklch(0.040 0.006 280);
  --on-note: oklch(0.040 0.006 228);
}

/* =================================================
   PALETTE: EMBER
================================================= */

:root[data-palette="ember"],
.theme-preview[data-preview-palette="ember"][data-preview-mode="light"] {
  --bg-background: oklch(0.970 0.010 72);
  --bg-background-inverse: oklch(0.238 0.020 44);
  --bg-card:       oklch(0.992 0.003 75);
  --field:         oklch(0.980 0.006 70);
  --bg-hover:      oklch(0.936 0.014 65);
  --bg-sidebar:    oklch(0.420 0.070 42);
  --bg-context:    oklch(0.920 0.016 68);
  --border:        oklch(0.850 0.010 70);
  --bg-muted:      oklch(0.892 0.010 68);
  --bg-active:     oklch(0.640 0.155 50);
  --button:        oklch(0.675 0.150 50);
  --button-primary: oklch(0.675 0.150 50);
  --button-secondary: oklch(0.618 0.118 30);
  --button-accent: oklch(0.628 0.102 8);

  --bg: oklch(0.970 0.010 72);
  --card: oklch(0.992 0.003 75);
  --card2: oklch(0.954 0.008 72);
  --card3: oklch(0.936 0.010 70);
  --text: oklch(0.248 0.016 52);
  --textMuted: oklch(0.500 0.016 52);
  --textOnColor: oklch(1.000 0.000 127.5);
  --textOnSidebar: oklch(0.986 0.004 75);
  --primary: oklch(0.675 0.150 50);
  --primaryFg: oklch(0.140 0.030 48);
  --secondary: oklch(0.618 0.118 30);
  --secondaryFg: oklch(0.992 0.002 60);
  --accent: oklch(0.628 0.102 8);
  --accentFg: oklch(1.000 0.000 127.5);
  --ring: oklch(0.618 0.136 45);
  --good : oklch(62.7% 0.194 149.214);
  --goodFg: oklch(1.000 0.000 127.5);
  --warn: oklch(0.740 0.160 78);
  --warnFg: oklch(0.130 0.020 80);
  --bad: oklch(0.580 0.168 25);
  --badFg: oklch(1.000 0.000 127.5);
  --note-info: oklch(0.920 0.028 75);
  --note-warn: oklch(0.924 0.098 82);
  --note-alert: oklch(0.882 0.050 35);
  --on-muted: oklch(0.462 0.014 55);

  --text-foreground: oklch(0.248 0.016 52);
  --text-heading: oklch(0.190 0.028 52);
  --text-muted: oklch(0.500 0.016 52);
  --on-button: oklch(0.140 0.030 48);
  --text-brand: oklch(0.618 0.118 30);

  --text-primary: oklch(0.675 0.150 50);
  --text-secondary: oklch(0.618 0.118 30);
  --text-light: oklch(0.986 0.004 75);
  --text-on-color: oklch(1.000 0.000 127.5);
  --text-on-primary: oklch(0.140 0.030 48);
  --text-on-secondary: oklch(0.992 0.002 60);
  --text-accent: oklch(0.628 0.102 8);
  --text-on-accent: oklch(1.000 0.000 127.5);
  --text-info: oklch(0.560 0.080 42);
  --text-warning: oklch(0.740 0.160 78);
  --text-notice: oklch(0.690 0.118 72);
  --text-on-warning: oklch(0.130 0.020 80);
  --text-destructive: oklch(0.580 0.168 25);
  --text-on-destructive: oklch(1.000 0.000 127.5);
  --text-success: oklch(0.610 0.104 160);
  --text-disabled: oklch(0.780 0.008 58);

  --text-link: oklch(0.618 0.118 30);
  --text-link-hover: oklch(0.675 0.150 50);
  --bg-link: oklch(0.618 0.118 30);
  --bg-link-hover: oklch(0.675 0.150 50);

  --bg-info: oklch(0.924 0.024 75);
  --bg-notice: oklch(0.740 0.160 78);
  --bg-warning: oklch(0.740 0.160 78);
  --bg-destructive: oklch(0.580 0.168 25);
  --bg-success: oklch(0.610 0.104 160);
  --bg-secondary: oklch(0.618 0.118 30);

  --on-info: oklch(0.200 0.020 50);
  --on-notice: oklch(0.130 0.020 80);
  --on-warning: oklch(0.130 0.020 80);
  --on-destructive: oklch(1.000 0.000 127.5);
  --on-success: oklch(0.050 0.010 160);
  --on-inactive: oklch(0.462 0.014 55);
  --on-secondary: oklch(0.992 0.002 60);
  --on-note: oklch(0.160 0.015 50);
}

.dark[data-palette="ember"],
.theme-preview[data-preview-palette="ember"][data-preview-mode="dark"] {
  --bg-sidebar:    oklch(0.178 0.020 38);
  --bg:            oklch(0.208 0.020 42);
  --card3:         oklch(0.208 0.020 42);
  --bg-background: oklch(0.238 0.020 44);
  --bg-card:       oklch(0.272 0.022 46);
  --card:          oklch(0.272 0.022 46);
  --card2:         oklch(0.308 0.024 46);
  --field:         oklch(0.308 0.024 46);
  --bg-context:    oklch(0.344 0.026 48);
  --bg-hover:      oklch(0.344 0.026 48);
  --bg-muted:      oklch(0.438 0.020 52);
  --border:        oklch(0.438 0.020 52);
  --button:        oklch(0.716 0.138 52);
  --button-primary: oklch(0.716 0.138 52);
  --button-secondary: oklch(0.648 0.116 28);
  --button-accent: oklch(0.646 0.098 12);

  --text: oklch(0.940 0.006 72);
  --textMuted: oklch(0.726 0.010 62);
  --textOnColor: oklch(0.050 0.008 60);
  --primary: oklch(0.716 0.138 52);
  --primaryFg: oklch(0.110 0.020 48);
  --secondary: oklch(0.648 0.116 28);
  --secondaryFg: oklch(0.992 0.002 70);
  --accent: oklch(0.646 0.098 12);
  --accentFg: oklch(0.992 0.002 70);
  --ring: oklch(0.680 0.122 46);
  --good: oklch(0.656 0.094 160);
  --goodFg: oklch(0.060 0.010 160);
  --warn: oklch(0.740 0.160 78);
  --warnFg: oklch(0.080 0.012 80);
  --bad: oklch(0.628 0.154 25);
  --badFg: oklch(0.992 0.002 70);
  --note-info: oklch(0.420 0.046 45);
  --note-warn: oklch(0.632 0.124 77);
  --note-alert: oklch(0.618 0.116 24);

  --text-foreground: oklch(0.940 0.006 72);
  --text-heading: oklch(0.978 0.004 76);
  --text-muted: oklch(0.726 0.010 62);
  --on-button: oklch(0.110 0.020 48);
  --on-inactive: oklch(0.920 0.008 66);
  --on-muted: oklch(0.846 0.008 66);

  --text-primary: oklch(0.716 0.138 52);
  --text-secondary: oklch(0.648 0.116 28);
  --text-accent: oklch(0.646 0.098 12);
  --text-info: oklch(0.694 0.090 48);
  --text-warning: oklch(0.740 0.160 78);
  --text-destructive: oklch(0.628 0.154 25);
  --text-success: oklch(0.656 0.094 160);
  --text-disabled: oklch(0.666 0.008 60);

  --text-link: oklch(0.716 0.138 52);
  --text-link-hover: oklch(0.656 0.094 160);
  --bg-link: oklch(0.716 0.138 52);
  --bg-link-hover: oklch(0.656 0.094 160);

  --bg-info: oklch(0.356 0.048 45);
  --bg-notice: oklch(0.740 0.160 78);
  --bg-warning: oklch(0.740 0.160 78);
  --bg-destructive: oklch(0.628 0.154 25);
  --bg-success: oklch(0.656 0.094 160);
  --bg-secondary: oklch(0.648 0.116 28);

  --on-info: oklch(0.962 0.004 75);
  --on-notice: oklch(0.080 0.012 80);
  --on-warning: oklch(0.080 0.012 80);
  --on-destructive: oklch(0.992 0.002 70);
  --on-success: oklch(0.060 0.010 160);
  --on-secondary: oklch(0.992 0.002 70);
  --on-accent: oklch(0.992 0.002 70);
  --on-note: oklch(0.080 0.012 60);
}


.login-page-bg {
  background: url('../img/dokumint-login-bg-lt.webp') center/cover no-repeat;
}

html.dark .login-page-bg {
  background: url('../img/dokumint-login-bg-dk.webp') center/cover no-repeat;
}

/* =================================================
   THEME PREVIEWS
================================================= */

.theme-palette-grid {
  display: grid;
  gap: 1rem;
}

.theme-palette-option-wrap {
  position: relative;
}

.theme-palette-option__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.theme-palette-option {
  display: block;
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) + 0.25rem);
  background: var(--card);
  padding: 1rem;
  cursor: pointer;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.theme-palette-option:hover {
  border-color: var(--primary);
  transform: translateY(-1px);
}

.theme-palette-option__input:checked + .theme-palette-option {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--primary) 18%, transparent);
}

.theme-palette-option__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.theme-palette-option__title {
  font-weight: 600;
  color: var(--text);
}

.theme-palette-option__meta {
  color: var(--textMuted);
  font-size: 0.875rem;
}

.theme-palette-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.theme-preview {
  border: 1px solid var(--border);
  border-radius: calc(var(--radius) - 0.125rem);
  background: var(--bg-background);
  color: var(--text);
  overflow: hidden;
  min-height: 8.5rem;
}

.theme-preview__topbar {
  height: 0.75rem;
  background: var(--bg-sidebar);
}

.theme-preview__body {
  padding: 0.75rem;
}

.theme-preview__label {
  display: inline-flex;
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  color: var(--textMuted);
}

.theme-preview__card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  padding: 0.6rem;
}

.theme-preview__title {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text);
}

.theme-preview__text {
  margin-top: 0.25rem;
  font-size: 0.72rem;
  color: var(--textMuted);
}

.theme-preview__chips {
  display: flex;
  gap: 0.35rem;
  margin-top: 0.6rem;
}

.theme-preview__chip {
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  border: 1px solid var(--border);
}

.theme-preview__chip--primary {
  background: var(--primary);
}

.theme-preview__chip--secondary {
  background: var(--secondary);
}

.theme-preview__chip--accent {
  background: var(--accent);
}

.theme-preview__footer {
  display: flex;
  gap: 0.4rem;
  margin-top: 0.65rem;
}

.theme-preview__button {
  flex: 1;
  border-radius: 999px;
  padding: 0.35rem 0.5rem;
  font-size: 0.68rem;
  font-weight: 600;
  text-align: center;
}

.theme-preview__button--primary {
  background: var(--primary);
  color: var(--primaryFg);
}

.theme-preview__button--muted {
  background: var(--card2);
  color: var(--textMuted);
}

html {
  font-family: var(--font-sans);
}

