/*
 * Platzeo theme for Zammad (support.platzeo.de).
 * Served from /assets/platzeo/ by zammad-nginx (mounted from
 * /opt/zammad/local/platzeo-theme) and linked into every page by the
 * support.platzeo.de vhost on the web VM (sub_filter before </head>).
 *
 * Colours follow web/app/globals.css. Only Zammad's own CSS variables and a
 * few stable class names are touched; check the login page, dashboard, a
 * ticket and the admin after every Zammad update.
 */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- colours: light ---------- */
:root {
  --pz-primary: #14422b;
  --pz-primary-hover: #0f3321;
  --pz-primary-container: #2d5a41;
  --pz-sidebar: #0f3321;
  --pz-sidebar-deep: #0b2819;
  --pz-surface: #f7f9fb;
  --pz-surface-low: #f0f4f7;
  --pz-surface-container: #e8ecef;
  --pz-on-surface: #191c1e;
  --pz-on-surface-variant: #3f484f;
  --pz-outline: #6f797f;
  --pz-outline-variant: #bec8cf;
  --pz-tertiary-container: #cde5f0;
  --pz-green-tint: #e3efe7;

  --highlight: var(--pz-primary-container);
  --button-primary-background: var(--pz-primary);
  --button-primary-background-active: var(--pz-primary-hover);
  --text-link: var(--pz-primary);
  --text-nav: var(--pz-primary);
  --text-normal: var(--pz-on-surface-variant);
  --text-muted: var(--pz-outline);
  --text-muted-highlight: var(--pz-green-tint);
  --header-primary: var(--pz-on-surface);
  --background-primary: var(--pz-surface);
  --background-primary-alt: var(--pz-surface-low);
  --background-highlight: var(--pz-green-tint);
  --border-highlight: var(--pz-primary-container);
  --background-tertiary: var(--pz-sidebar);
  --background-quaternary: var(--pz-sidebar-deep);
  --background-active: var(--pz-sidebar);
  --menu-icon: #8fae9c;
  --tag-background: var(--pz-surface-container);
  --tag-text: var(--pz-on-surface-variant);
  --background-article-customer: var(--pz-surface-low);
  --border-article-customer: var(--pz-outline-variant);
  --backdrop-clue-start: rgba(20, 66, 43, 0.1);
  --backdrop-clue-end: rgba(20, 66, 43, 0.85);
  --fullscreen-background: var(--pz-surface);
  --fullscreen-text: var(--pz-on-surface-variant);
  --fullscreen-text-link: var(--pz-primary);
  --fullscreen-text-muted: var(--pz-outline);
}

/* ---------- colours: dark ---------- */
[data-theme=dark] {
  --pz-dark-bg: #151a17;
  --pz-dark-surface: #1c221e;
  --pz-dark-raised: #232a25;
  --pz-dark-accent: #6fb38c;

  --highlight: #2d5a41;
  --button-primary-background: #2d5a41;
  --button-primary-background-active: #24493a;
  --text-link: var(--pz-dark-accent);
  --border-highlight: var(--pz-dark-accent);
  --background-highlight: #23382b;
  --background-primary: var(--pz-dark-bg);
  --background-primary-alt: var(--pz-dark-surface);
  --background-secondary: var(--pz-dark-raised);
  --background-tertiary: #101511;
  --background-quaternary: #0b0f0c;
  --fullscreen-background: var(--pz-dark-bg);
  --fullscreen-text-link: var(--pz-dark-accent);
}

/* ---------- type ---------- */
body,
input,
textarea,
select,
button,
.btn,
.form-control {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
h1, h2, h3,
.page-header-title,
.ticketZoom-header .ticket-title-update,
.hero-unit h1 {
  font-family: "Manrope", "Inter", sans-serif !important;
  font-weight: 700;
  letter-spacing: -0.01em;
}
/* Zammad sets small caps labels everywhere; Platzeo uses sentence case. */
.formGroup-label label,
.form-group .formGroup-label,
.dashboard .stat-title,
.label-text {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px;
  font-weight: 500;
}

/* ---------- shapes ---------- */
.btn {
  border-radius: 8px;
}
.form-control,
.tokenfield,
.controls select,
.controls input {
  border-radius: 8px;
}
.btn--primary,
.btn--success,
.btn--create {
  background: var(--pz-primary) !important;
  border-color: var(--pz-primary) !important;
  color: #fff !important;
}
.btn--primary:hover,
.btn--success:hover,
.btn--create:hover {
  background: var(--pz-primary-hover) !important;
}
[data-theme=dark] .btn--primary,
[data-theme=dark] .btn--success,
[data-theme=dark] .btn--create {
  background: #2d5a41 !important;
  border-color: #2d5a41 !important;
}

/* ---------- sidebar: Platzeo icon instead of the Zammad bird ---------- */
.search .logo .icon-logo {
  display: none;
}
.search .logo {
  width: 30px;
  height: 30px;
  background: url("platzeo-icon-white.svg") center / contain no-repeat;
}
#navigation,
.navigation {
  background: var(--pz-sidebar);
}
.navigation .menu-item.is-active,
#navigation .menu-item.is-active {
  background: var(--pz-primary-container);
}

/* ---------- login and other fullscreen pages ---------- */
.fullscreen,
.login {
  background: var(--fullscreen-background);
}
.fullscreen .hero-unit {
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(25, 28, 30, 0.06), 0 8px 24px rgba(25, 28, 30, 0.06);
  border: 1px solid var(--pz-surface-container);
}
.fullscreen-body,
.fullscreen-body p {
  color: var(--fullscreen-text);
}
.fullscreen-body a,
.login a {
  color: var(--fullscreen-text-link);
}
.poweredBy {
  display: none !important;
}

/* ---------- login and fullscreen pages: dark ---------- */
[data-theme=dark] {
  --fullscreen-text: #c3cbc6;
  --fullscreen-text-muted: #8c958f;
}
/* The product logo is the dark green header logo; show it white on dark. */
[data-theme=dark] .company-logo {
  filter: brightness(0) invert(1);
  opacity: 0.92;
}
[data-theme=dark] .fullscreen .hero-unit {
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
[data-theme=dark] .fullscreen .hero-unit label,
[data-theme=dark] .fullscreen .hero-unit .checkbox-replacement + span,
[data-theme=dark] .fullscreen .hero-unit .inline-label {
  color: #c3cbc6;
}
[data-theme=dark] .fullscreen-body > p,
[data-theme=dark] .login > p {
  color: var(--fullscreen-text-muted);
}
