/*
 * CATX Dark Theme for Gitea
 * Place at: $GITEA_CUSTOM/public/assets/css/theme-catx-dark.css
 * Then set DEFAULT_THEME = catx-dark in app.ini [ui] section
 * And add catx-dark to THEMES list
 *
 * Palette: palette.md
 *   Primary:   #5BC0F8  Trans Sky Blue
 *   Accent:    #F48FB1  Trans Pink
 *   Highlight: #F8BBD0  Soft Blush
 *   Bg:        #0E1116  Deep Night Base
 *   Surface:   #171C23  Charcoal Surface
 *   Elevated:  #1F2630  Elevated Surface
 *   Border:    #2a3442  Subtle Border
 *   Text:      #EAF4FF  Primary Text
 *   Text2:     #A9B4C2  Secondary Text
 *   Muted:     #6E7A8A  Muted Text
 *   Success:   #4DD0A8  Cool Mint
 *   Warning:   #FFB74D  Soft Peach
 *   Error:     #E57575  Deep Rose
 */

gitea-theme-meta-info {
  --theme-display-name: "CATX Dark";
}

:root {
  --is-dark-theme: true;

  /* ── Primary: #5BC0F8 ── */
  --color-primary: #5BC0F8;
  --color-primary-contrast: #0E1116;
  --color-primary-dark-1: #6ec7f9;
  --color-primary-dark-2: #81cefa;
  --color-primary-dark-3: #94d5fb;
  --color-primary-dark-4: #a7dcfc;
  --color-primary-dark-5: #c0e7fd;
  --color-primary-dark-6: #d9f0fe;
  --color-primary-dark-7: #f2f9ff;
  --color-primary-light-1: #4aadea;
  --color-primary-light-2: #3a9adb;
  --color-primary-light-3: #2f87c6;
  --color-primary-light-4: #2574b0;
  --color-primary-light-5: #1a5585;
  --color-primary-light-6: #0f3659;
  --color-primary-light-7: #06172d;
  --color-primary-alpha-10: #5BC0F819;
  --color-primary-alpha-20: #5BC0F833;
  --color-primary-alpha-30: #5BC0F84b;
  --color-primary-alpha-40: #5BC0F866;
  --color-primary-alpha-50: #5BC0F880;
  --color-primary-alpha-60: #5BC0F899;
  --color-primary-alpha-70: #5BC0F8b3;
  --color-primary-alpha-80: #5BC0F8cc;
  --color-primary-alpha-90: #5BC0F8e1;
  --color-primary-hover: var(--color-primary-light-1);
  --color-primary-active: var(--color-primary-light-2);

  /* ── Secondary: #2a3442 (border-based) ── */
  --color-secondary: #2a3442;
  --color-secondary-dark-1: #313d4d;
  --color-secondary-dark-2: #3a4858;
  --color-secondary-dark-3: #445464;
  --color-secondary-dark-4: #506272;
  --color-secondary-dark-5: #5e7181;
  --color-secondary-dark-6: #6E7A8A;
  --color-secondary-dark-7: #7e8c9a;
  --color-secondary-dark-8: #8f9daa;
  --color-secondary-dark-9: #99a6b3;
  --color-secondary-dark-10: #A9B4C2;
  --color-secondary-dark-11: #bfc7d0;
  --color-secondary-dark-12: #cfd5dc;
  --color-secondary-dark-13: #d8dee4;
  --color-secondary-light-1: #222c38;
  --color-secondary-light-2: #1a2430;
  --color-secondary-light-3: #151d27;
  --color-secondary-light-4: #111820;
  --color-secondary-alpha-10: #2a344219;
  --color-secondary-alpha-20: #2a344233;
  --color-secondary-alpha-30: #2a34424b;
  --color-secondary-alpha-40: #2a344266;
  --color-secondary-alpha-50: #2a344280;
  --color-secondary-alpha-60: #2a344299;
  --color-secondary-alpha-70: #2a3442b3;
  --color-secondary-alpha-80: #2a3442cc;
  --color-secondary-alpha-90: #2a3442e1;
  --color-secondary-button: var(--color-secondary-dark-4);
  --color-secondary-hover: var(--color-secondary-dark-3);
  --color-secondary-active: var(--color-secondary-dark-2);

  /* ── Console ── */
  --color-console-fg: #EAF4FF;
  --color-console-fg-subtle: #A9B4C2;
  --color-console-bg: #0E1116;
  --color-console-border: #2a3442;
  --color-console-hover-bg: #1F2630;
  --color-console-active-bg: #2a3442;
  --color-console-menu-bg: #171C23;
  --color-console-menu-border: #2a3442;

  /* ── Named colors ── */
  --color-red: #E57575;
  --color-orange: #FFB74D;
  --color-yellow: #FFD54F;
  --color-olive: #91a313;
  --color-green: #4DD0A8;
  --color-teal: #4DD0A8;
  --color-blue: #5BC0F8;
  --color-violet: #906ae1;
  --color-purple: #b259d0;
  --color-pink: #F48FB1;
  --color-brown: #a47252;
  --color-black: #0E1116;

  /* ── Named color variants ── */
  --color-red-light: #ec8f8f;
  --color-orange-light: #ffc570;
  --color-yellow-light: #ffe082;
  --color-green-light: #6cddb8;
  --color-teal-light: #6cddb8;
  --color-blue-light: #7accf9;
  --color-pink-light: #f7a6c2;
  --color-red-dark-1: #d85c5c;
  --color-orange-dark-1: #f5a333;
  --color-yellow-dark-1: #f5c332;
  --color-green-dark-1: #3dbb95;
  --color-teal-dark-1: #3dbb95;
  --color-blue-dark-1: #4aadea;
  --color-pink-dark-1: #f17da1;
  --color-red-dark-2: #c94545;
  --color-orange-dark-2: #e8901a;
  --color-green-dark-2: #30a882;
  --color-blue-dark-2: #3a9adb;
  --color-pink-dark-2: #ec6590;
  --color-black-light: #1F2630;
  --color-black-dark-1: #171C23;
  --color-black-dark-2: #0E1116;

  /* ── ANSI colors ── */
  --color-ansi-black: #0E1116;
  --color-ansi-red: #E57575;
  --color-ansi-green: #4DD0A8;
  --color-ansi-yellow: #FFB74D;
  --color-ansi-blue: #5BC0F8;
  --color-ansi-magenta: #F48FB1;
  --color-ansi-cyan: #4DD0A8;
  --color-ansi-white: var(--color-console-fg-subtle);
  --color-ansi-bright-black: #2a3442;
  --color-ansi-bright-red: #ec8f8f;
  --color-ansi-bright-green: #6cddb8;
  --color-ansi-bright-yellow: #ffc570;
  --color-ansi-bright-blue: #7accf9;
  --color-ansi-bright-magenta: #f7a6c2;
  --color-ansi-bright-cyan: #6cddb8;
  --color-ansi-bright-white: var(--color-console-fg);

  /* ── Other colors ── */
  --color-grey: #2a3442;
  --color-grey-light: #6E7A8A;
  --color-gold: #FFB74D;
  --color-white: #EAF4FF;

  /* ── Diff colors ── */
  --color-diff-added-linenum-bg: #1a3a2a;
  --color-diff-added-row-bg: #142e22;
  --color-diff-added-row-border: #1f4a33;
  --color-diff-added-word-bg: #2a5a3a;
  --color-diff-moved-row-bg: #3a3520;
  --color-diff-moved-row-border: #7a7530;
  --color-diff-removed-linenum-bg: #3a1a1a;
  --color-diff-removed-row-bg: #2e1414;
  --color-diff-removed-row-border: #5a3030;
  --color-diff-removed-word-bg: #5a2a2a;
  --color-diff-inactive: #171C23;

  /* ── Semantic colors ── */
  --color-error-border: #E57575;
  --color-error-bg: #3a1a1a;
  --color-error-bg-active: #5a2a2a;
  --color-error-bg-hover: #4a2020;
  --color-error-text: #ec8f8f;
  --color-success-border: #4DD0A8;
  --color-success-bg: #142e22;
  --color-success-text: #4DD0A8;
  --color-warning-border: #FFB74D;
  --color-warning-bg: #2e2a1a;
  --color-warning-text: #FFB74D;
  --color-info-border: #5BC0F8;
  --color-info-bg: #0f3659;
  --color-info-text: #5BC0F8;

  /* ── Badges ── */
  --color-red-badge: #E57575;
  --color-red-badge-bg: #E575751a;
  --color-red-badge-hover-bg: #E575754d;
  --color-green-badge: #4DD0A8;
  --color-green-badge-bg: #4DD0A81a;
  --color-green-badge-hover-bg: #4DD0A84d;
  --color-yellow-badge: #FFB74D;
  --color-yellow-badge-bg: #FFB74D1a;
  --color-yellow-badge-hover-bg: #FFB74D4d;
  --color-orange-badge: #FFB74D;
  --color-orange-badge-bg: #FFB74D1a;
  --color-orange-badge-hover-bg: #FFB74D4d;

  /* ── Git ── */
  --color-git: #f05133;
  --color-logo: #5BC0F8;

  /* ── Target / Layout colors ── */
  --color-body: #0E1116;
  --color-box-header: #171C23;
  --color-box-body: #0E1116;
  --color-box-body-highlight: #1F2630;
  --color-text-dark: #EAF4FF;
  --color-text: #d0d5da;
  --color-text-light: #A9B4C2;
  --color-text-light-1: #A9B4C2;
  --color-text-light-2: #8995a3;
  --color-text-light-3: #6E7A8A;
  --color-footer: var(--color-nav-bg);
  --color-timeline: #2a3442;
  --color-input-text: var(--color-text-dark);
  --color-input-background: #0E1116;
  --color-input-toggle-background: #2a3442;
  --color-input-border: var(--color-secondary);
  --color-input-border-hover: var(--color-secondary-dark-1);
  --color-light: #00001728;
  --color-light-border: #EAF4FF28;
  --color-hover: #EAF4FF19;
  --color-hover-opaque: #1F2630;
  --color-active: #EAF4FF24;
  --color-menu: #0E1116;
  --color-card: #171C23;
  --color-markup-table-row: #EAF4FF0f;
  --color-markup-code-block: #EAF4FF12;
  --color-markup-code-inline: #EAF4FF28;
  --color-button: #171C23;
  --color-code-bg: #0E1116;
  --color-shadow: #00001758;
  --color-shadow-opaque: #000017;
  --color-secondary-bg: #1F2630;
  --color-expand-button: #2a3442;
  --color-placeholder-text: var(--color-text-light-3);
  --color-editor-line-highlight: var(--color-primary-light-5);
  --color-project-column-bg: var(--color-secondary-light-2);
  --color-caret: var(--color-text);
  --color-reaction-bg: #EAF4FF12;
  --color-reaction-hover-bg: var(--color-primary-light-4);
  --color-reaction-active-bg: var(--color-primary-light-5);
  --color-tooltip-text: #EAF4FF;
  --color-tooltip-bg: #0E1116f0;
  --color-nav-bg: #0E1116;
  --color-nav-hover-bg: var(--color-secondary-light-1);
  --color-nav-text: var(--color-text);
  --color-secondary-nav-bg: #171C23;
  --color-label-text: var(--color-text);
  --color-label-bg: #6E7A8A4b;
  --color-label-hover-bg: #6E7A8Aa0;
  --color-label-active-bg: #6E7A8Aff;
  --color-accent: var(--color-primary-light-1);
  --color-small-accent: var(--color-primary-light-5);
  --color-highlight-fg: #FFB74D;
  --color-highlight-bg: #2e2a1a;
  --color-overlay-backdrop: #0E1116c0;

  accent-color: var(--color-accent);
  color-scheme: dark;

  /* ── Fonts ── */
  --fonts-proportional: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif !important;
}

/* ── Invert hard-to-read emojis ── */
.emoji[aria-label="check mark"],
.emoji[aria-label="currency exchange"],
.emoji[aria-label="copyright"],
.emoji[aria-label="registered"],
.emoji[aria-label="trade mark"],
.emoji[aria-label="heavy dollar sign"],
.emoji[aria-label="multiply"],
.emoji[aria-label="plus"],
.emoji[aria-label="minus"],
.emoji[aria-label="divide"],
.emoji[aria-label="musical note"],
.emoji[aria-label="musical notes"] {
  filter: invert(100%) hue-rotate(180deg);
}

/* ── Lock down user settings ── */

/* Hide "Remove" button for linked OAuth accounts (Authentik) */
.delete-button[data-modal-id="delete-account-link"],
button[data-modal-id="delete-account-link"],
button[data-url="/user/settings/security/account_link"],
button[data-url*="account_link"],
#delete-account-link,
.flex-item-trailing:has(button[data-modal-id="delete-account-link"]) {
  display: none !important;
}

/* Hide the password change section entirely (auth managed by Authentik) */
form[action*="/user/settings/account/password"],
form[action*="/user/settings/security/passwd"],
#password-section,
.ui.attached.segment:has(input[name="old_password"]),
.ui.top.attached.header:has(+ .ui.attached.segment input[name="old_password"]) {
  display: none !important;
}
/* Also hide "Account" tab password area by targeting the password inputs directly */
input[name="old_password"],
input[name="new_password"],
input[name="retype"] {
  display: none !important;
}

/* Hide the full name field on user settings profile page (synced from Authentik) */
#user-setting-content input[name="full_name"],
.field:has(input[name="full_name"]) label,
.field:has(input[name="full_name"]) {
  pointer-events: none !important;
  opacity: 0.5 !important;
}
.field:has(input[name="full_name"])::after {
  content: "Managed by Authentik";
  font-size: 0.8em;
  color: #6E7A8A;
  display: block;
  margin-top: 2px;
}
