/* ============================================================
   HelpDesk Theme System
   Applied via body class: theme-{name}
   Overrides portal --p-* CSS variables + component styles
   ============================================================ */

/* ============================================================
   BANKING — dark premium, gold accents, trust & prestige
   ============================================================ */
.theme-banking {
  /* Core palette */
  --p-bg: #0c1220;
  --p-surface: #141c2e;
  --p-ink: #e8e4db;
  --p-ink-2: #a09882;
  --p-ink-3: #6b6355;
  --p-line: #2a3450;
  --p-line-soft: #1e2840;
  --p-accent: #c9a84c;
  --p-accent-soft: rgba(201,168,76,.12);
  --p-ok: #4ade80;
  --p-ok-soft: rgba(74,222,128,.1);
  --p-warn: #fbbf24;
  --p-warn-soft: rgba(251,191,36,.1);
  --p-info: #60a5fa;
  --p-info-soft: rgba(96,165,250,.1);
}

/* Background — clean dark, no grid */
body.portal-page.theme-banking {
  background-color: #0c1220;
  background-image: none;
}
/* Remove dot grid overlay on hero */
.theme-banking .p-hero::before { display: none !important; }
/* Remove giant letter watermark */
.theme-banking .p-hero::after { display: none !important; }

/* Header — dark nav */
.theme-banking .p-header { border-bottom: 1px solid #2a3450; }
.theme-banking .p-brand { color: #e8e4db; }
.theme-banking .p-brand em { color: #c9a84c; }
.theme-banking .p-brand-mark { background: #c9a84c; color: #0c1220; }
.theme-banking .p-nav a { color: #a09882; }
.theme-banking .p-nav a:hover { color: #e8e4db; }
.theme-banking .p-nav a.active { color: #e8e4db; border-bottom-color: #c9a84c; }
.theme-banking .p-nav a.nav-accent { color: #c9a84c; }
.theme-banking .p-user-pill { color: #a09882; }
.theme-banking .p-user-ava { background: #c9a84c; color: #0c1220; }
.theme-banking .p-logout { color: #6b6355; }
.theme-banking .p-logout:hover { color: #c9a84c; }

/* Hero section — dark luxury with gold gradient */
.theme-banking .p-hero {
  background:
    radial-gradient(900px 420px at 82% 18%, rgba(201,168,76,.08) 0%, transparent 62%),
    radial-gradient(700px 340px at 12% 90%, rgba(201,168,76,.04) 0%, transparent 65%),
    linear-gradient(180deg, #111827 0%, #0e1525 100%);
  border-color: #2a3450;
}
.theme-banking .p-hero::before {
  background-image: radial-gradient(rgba(201,168,76,0.06) 1px, transparent 1px);
}
.theme-banking .p-hero::after {
  color: rgba(201,168,76,0.04);
}
.theme-banking .p-hero-kicker {
  color: #c9a84c;
  background: rgba(201,168,76,.08);
  border-color: rgba(201,168,76,.18);
}
.theme-banking .p-hero-kicker .pulse {
  background: #c9a84c;
  box-shadow: 0 0 0 3px rgba(201,168,76,.2);
}
.theme-banking .p-hero h1 { color: #f5f0e0; }
.theme-banking .p-hero h1 em { color: #c9a84c; }
.theme-banking .p-hero .p-sub { color: #a09882; }

/* Hero right — birthday card dark */
.theme-banking .p-hero-right { }
.theme-banking .p-bd-stage {
  background:
    radial-gradient(120% 100% at 50% 0%, rgba(201,168,76,.15) 0%, rgba(201,168,76,.08) 45%, rgba(201,168,76,.03) 100%);
  border-color: rgba(201,168,76,.22);
}
.theme-banking .p-bd-stage::before {
  background-image:
    radial-gradient(rgba(201,168,76,.12) 1px, transparent 1px),
    radial-gradient(rgba(201,168,76,.06) 1px, transparent 1px);
}
.theme-banking .p-bd-stage .bd-label {
  color: #c9a84c;
  background: rgba(201,168,76,.12);
  border-color: rgba(201,168,76,.2);
}
.theme-banking .p-bd-stage .bd-hero-text h4 { color: #f5f0e0; }
.theme-banking .p-bd-stage .bd-hero-text p { color: #a09882; }
.theme-banking .p-bd-stage .bd-dot {
  background: #c9a84c;
  box-shadow: 0 0 0 3px rgba(201,168,76,.18);
}
.theme-banking .p-bd-stage .bd-ava {
  background: rgba(201,168,76,.15);
  color: #c9a84c;
  box-shadow: 0 0 0 3px rgba(201,168,76,.1), 0 6px 14px -6px rgba(0,0,0,.3);
}
.theme-banking .p-bd-stage .bd-cake { background: #1a2540; }
.theme-banking .p-bd-btn-pri {
  background: #c9a84c; color: #0c1220; border-color: #c9a84c;
}
.theme-banking .p-bd-btn-pri:hover { background: #b8943f; border-color: #b8943f; }
.theme-banking .p-bd-btn-sec {
  background: rgba(201,168,76,.08); color: #c9a84c;
  border-color: rgba(201,168,76,.2);
}
.theme-banking .p-bd-btn-sec:hover { background: rgba(201,168,76,.15); }

/* Birthday timeline */
.theme-banking .p-bd-card { border-color: #2a3450; }
.theme-banking .p-bd-tl-list { border-left-color: rgba(201,168,76,.25); }
.theme-banking .p-bd-tl-item + .p-bd-tl-item { border-top-color: #1e2840; }
.theme-banking .p-bd-tl-item::before { background: #141c2e; border-color: #6b6355; }
.theme-banking .p-bd-tl-item:first-child::before { border-color: #c9a84c; background: #c9a84c; }
.theme-banking .p-bd-tl-date b { color: #e8e4db; }
.theme-banking .p-bd-tl-ava { background: rgba(201,168,76,.12); color: #c9a84c; }
.theme-banking .p-bd-tl-name { color: #e8e4db; }
.theme-banking .p-bd-tl-item:first-child .p-bd-tl-when { color: #c9a84c; }
.theme-banking .p-bd-empty { color: #6b6355; }

/* Searchbar */
.theme-banking .p-searchbar {
  background: #141c2e; border-color: #2a3450;
}
.theme-banking .p-searchbar input { color: #e8e4db; }
.theme-banking .p-searchbar input::placeholder { color: #6b6355; }
.theme-banking .p-searchbar .s-icon { color: #6b6355; }
.theme-banking .p-searchbar .s-go {
  background: #c9a84c; color: #0c1220;
}
.theme-banking .p-searchbar .s-go:hover { background: #b8943f; }
.theme-banking .p-suggests .sug { color: #a09882; }
.theme-banking .p-suggests .sug:hover { background: #1a2540; color: #e8e4db; }

/* KPI strip */
.theme-banking .kpi .v { color: #e8e4db; }
.theme-banking .kpi .l { color: #6b6355; }
.theme-banking .p-kpis { border-color: #2a3450; }
.theme-banking .kpi + .kpi { border-left-color: rgba(201,168,76,.1); }

/* Alert strip */
.theme-banking .p-alert-strip {
  background: rgba(201,168,76,.06);
  border-color: rgba(201,168,76,.15);
  color: #c9a84c;
}
.theme-banking .p-alert-strip .al-close:hover { background: rgba(201,168,76,.1); }

/* Section headers */
.theme-banking .p-sec-head h2 { color: #e8e4db; }
.theme-banking .p-see-all { color: #c9a84c; }

/* Category cards */
.theme-banking .p-cat-card {
  background: #141c2e; border-color: #2a3450;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
}
.theme-banking .p-cat-card:hover {
  border-color: rgba(201,168,76,.3);
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
}
.theme-banking .p-cat-name { color: #e8e4db; }
.theme-banking .p-cat-desc { color: #a09882; }
.theme-banking .p-cat-meta { color: #6b6355; }
.theme-banking .p-cat-sla { color: #6b6355; }
.theme-banking .p-cat-icon { }

/* Ticket rows */
.theme-banking .p-ticket-row {
  border-color: #2a3450;
}
.theme-banking .p-ticket-row:hover { background: #1a2540; }
.theme-banking .p-ticket-title { color: #e8e4db; }
.theme-banking .p-ticket-id { color: #6b6355; }
.theme-banking .p-ticket-date { color: #6b6355; }

/* Side cards (status / KB) */
.theme-banking .p-side-card {
  background: #141c2e;
  border-color: #2a3450;
}
.theme-banking .p-side-title { color: #e8e4db; }
.theme-banking .p-health-cell + .p-health-cell { border-left-color: #2a3450; }
.theme-banking .p-health-val { color: #e8e4db; }
.theme-banking .p-kb-num { color: #6b6355; }
.theme-banking .p-kb-body { color: #a09882; }
.theme-banking .p-kb-item:hover .p-kb-body { color: #c9a84c; }

/* Footer */
.theme-banking .p-footer {
  border-top-color: #2a3450;
  color: #6b6355;
}
.theme-banking .p-footer-links a { color: #6b6355; }
.theme-banking .p-footer-links a:hover { color: #c9a84c; }

/* Buttons */
.theme-banking .p-btn-primary,
.theme-banking .btn-primary {
  background: #c9a84c !important; color: #0c1220 !important;
  border-radius: 8px;
}
.theme-banking .p-btn-primary:hover,
.theme-banking .btn-primary:hover {
  background: #b8943f !important;
}

/* Drawer */
.theme-banking .p-drawer {
  background: #141c2e; border-color: #2a3450; color: #e8e4db;
}
.theme-banking .p-drawer .form-control {
  background: #0c1220; border-color: #2a3450; color: #e8e4db;
}

/* Dept switcher */
.theme-banking .dept-switcher-btn { color: #a09882; }
.theme-banking .dept-dropdown {
  background: #141c2e; border-color: #2a3450;
}
.theme-banking .dept-dropdown-item { color: #a09882; }
.theme-banking .dept-dropdown-item:hover { background: #1a2540; color: #e8e4db; }
.theme-banking .dept-dropdown-item.active { color: #c9a84c; }

/* Notif bell */
.theme-banking .p-notif-bell { color: #a09882; }

/* Announcements / modules strip */
.theme-banking .p-ann-card {
  background: #141c2e; border-color: #2a3450;
}

/* Login page */
.theme-banking .login-container { background: #0c1220; }
.theme-banking .login-box {
  background: #141c2e;
  border: 1px solid #2a3450;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
}
.theme-banking .login-box h1 { color: #e8e4db; }
.theme-banking .login-box p { color: #6b6355; }
.theme-banking .login-box label { color: #a09882; }
.theme-banking .login-box .form-control {
  background: #0c1220; border-color: #2a3450; color: #e8e4db;
}
.theme-banking .login-box .form-control:focus { border-color: #c9a84c; }
.theme-banking .login-box .btn,
.theme-banking .login-box button[type="submit"] {
  background: #c9a84c; color: #0c1220; border: none;
}
.theme-banking .login-box .btn:hover,
.theme-banking .login-box button[type="submit"]:hover {
  background: #b8943f;
}
.theme-banking .login-logo h1 { color: #e8e4db; }
.theme-banking .login-logo p { color: #6b6355; }
.theme-banking .login-brand-mark { background: #c9a84c; color: #0c1220; }
.theme-banking .login-error { background: rgba(220,38,38,.12); color: #fca5a5; border: 1px solid rgba(220,38,38,.2); }
.theme-banking .login-info { background: rgba(201,168,76,.08); color: #c9a84c; border: 1px solid rgba(201,168,76,.15); }
.theme-banking .input-suffix { background: #1a2540; border-color: #2a3450; color: #6b6355; }

/* Quick ticket page */
.theme-banking .quick-ticket-container { background: #0c1220; }
.theme-banking .quick-ticket-card {
  background: #141c2e; border-color: #2a3450; color: #e8e4db;
}

/* ============================================================
   CONSTRUCTION — industrial, heavy-duty, angular, rugged
   Полная визуальная переработка: формы, паттерны, тени, типографика
   ============================================================ */
.theme-construction {
  --p-bg: #1a1c20;
  --p-surface: #232528;
  --p-ink: #e8e6e2;
  --p-ink-2: #9c9890;
  --p-ink-3: #6b6860;
  --p-line: #3a3c40;
  --p-line-soft: #2c2e32;
  --p-accent: #ea580c;
  --p-accent-soft: rgba(234,88,12,.12);
  --p-ok: #22c55e;
  --p-ok-soft: rgba(34,197,94,.1);
  --p-warn: #eab308;
  --p-warn-soft: rgba(234,179,8,.1);
  --p-info: #f97316;
  --p-info-soft: rgba(249,115,22,.1);
}

/* ── Background: тёмный бетон с мелкой текстурой ── */
body.portal-page.theme-construction {
  background-color: #1a1c20;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      rgba(255,255,255,.008) 2px,
      rgba(255,255,255,.008) 4px
    );
}

/* ── HERO: индустриальный, диагональные полосы, острые углы ── */
.theme-construction .p-hero {
  background:
    linear-gradient(160deg, #2c2e32 0%, #1a1c20 60%, #ea580c08 100%) !important;
  border-color: #3a3c40;
  border-radius: 4px !important;
  /* Диагональные hazard-полосы справа */
  position: relative;
}
/* Диагональные полосы вместо точечной сетки */
.theme-construction .p-hero::before {
  background-image:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 10px,
      rgba(234,88,12,.04) 10px,
      rgba(234,88,12,.04) 12px
    ) !important;
  mask-image: linear-gradient(to left, rgba(0,0,0,.6), transparent 60%) !important;
}
/* Убираем декоративную букву, заменяем на угловую метку */
.theme-construction .p-hero::after {
  content: '' !important;
  font-size: 0 !important;
  width: 120px; height: 120px;
  right: -20px !important; top: -20px !important; bottom: auto !important;
  background: repeating-linear-gradient(
    -45deg,
    #ea580c20,
    #ea580c20 6px,
    transparent 6px,
    transparent 12px
  ) !important;
  border-radius: 0 !important;
  transform: rotate(0deg);
}

/* Kicker — жёсткий, квадратный */
.theme-construction .p-hero-kicker {
  color: #ea580c;
  background: rgba(234,88,12,.1);
  border: 1px solid rgba(234,88,12,.25);
  border-radius: 3px !important;
  font-weight: 700;
  letter-spacing: .15em;
}
.theme-construction .p-hero-kicker .pulse {
  background: #ea580c;
  box-shadow: 0 0 0 3px rgba(234,88,12,.25);
  border-radius: 2px !important;
  width: 8px !important; height: 8px !important;
}

/* Hero title — жирный, без курсива, индустриальный */
.theme-construction .p-hero h1 {
  color: #f5f5f0;
  font-family: var(--p-font-sans) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.02em;
}
.theme-construction .p-hero h1 em {
  color: #ea580c;
  font-style: normal !important;
  font-weight: 700 !important;
}
.theme-construction .p-hero .p-sub { color: #9c9890; }

/* ── Searchbar: индустриальный, острые углы ── */
.theme-construction .p-searchbar {
  background: #1a1c20;
  border: 2px solid #3a3c40 !important;
  border-radius: 4px !important;
}
.theme-construction .p-searchbar input { color: #e8e6e2; }
.theme-construction .p-searchbar input::placeholder { color: #6b6860; }
.theme-construction .p-searchbar .s-icon { color: #6b6860; }
.theme-construction .p-searchbar .s-go {
  background: #ea580c !important;
  color: #fff !important;
  border-radius: 2px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.theme-construction .p-searchbar .s-go:hover { background: #c2410c !important; }
.theme-construction .p-suggests .sug {
  color: #9c9890;
  border-radius: 3px !important;
}
.theme-construction .p-suggests .sug:hover { background: #2c2e32; color: #ea580c; }

/* ── KPI strip ── */
.theme-construction .p-kpis { border-color: #3a3c40; }
.theme-construction .kpi .v { color: #e8e6e2; font-family: var(--p-font-sans) !important; font-weight: 700; }
.theme-construction .kpi .l { color: #6b6860; text-transform: uppercase; letter-spacing: .08em; }
.theme-construction .kpi + .kpi { border-left-color: #3a3c40; }

/* ── Birthday card: индустриальный стиль ── */
.theme-construction .p-bd-stage {
  background: linear-gradient(180deg, #2c2e32, #232528) !important;
  border: 1px solid #3a3c40 !important;
  border-radius: 4px !important;
}
.theme-construction .p-bd-stage::before {
  background-image:
    repeating-linear-gradient(-45deg, rgba(234,88,12,.05), rgba(234,88,12,.05) 4px, transparent 4px, transparent 8px) !important;
  background-size: auto !important;
}
.theme-construction .p-bd-stage .bd-label {
  color: #ea580c;
  background: rgba(234,88,12,.12);
  border-color: rgba(234,88,12,.25);
  border-radius: 2px !important;
  font-weight: 800;
}
.theme-construction .p-bd-stage .bd-hero-text h4 { color: #f5f5f0; font-family: var(--p-font-sans) !important; font-weight: 700; }
.theme-construction .p-bd-stage .bd-hero-text p { color: #9c9890; }
.theme-construction .p-bd-stage .bd-ava {
  background: rgba(234,88,12,.12); color: #ea580c;
  border-radius: 4px !important;
  box-shadow: 0 0 0 3px rgba(234,88,12,.08);
}
.theme-construction .p-bd-stage .bd-cake { background: #232528; border-radius: 3px !important; }
.theme-construction .p-bd-btn-pri {
  background: #ea580c !important; color: #fff !important; border-radius: 3px !important;
  font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
}
.theme-construction .p-bd-btn-pri:hover { background: #c2410c !important; }
.theme-construction .p-bd-btn-sec {
  background: rgba(234,88,12,.08); color: #ea580c; border-radius: 3px !important;
  border-color: rgba(234,88,12,.2);
}
.theme-construction .p-bd-card { border-color: #3a3c40; border-radius: 4px !important; }
.theme-construction .p-bd-tl-list { border-left-color: rgba(234,88,12,.2); }
.theme-construction .p-bd-tl-item + .p-bd-tl-item { border-top-color: #2c2e32; }
.theme-construction .p-bd-tl-item::before { background: #232528; border-color: #6b6860; border-radius: 2px !important; }
.theme-construction .p-bd-tl-item:first-child::before { border-color: #ea580c; background: #ea580c; }
.theme-construction .p-bd-tl-date b { color: #e8e6e2; font-family: var(--p-font-sans) !important; font-weight: 700; }
.theme-construction .p-bd-tl-ava { background: rgba(234,88,12,.1); color: #ea580c; border-radius: 3px !important; }
.theme-construction .p-bd-tl-name { color: #e8e6e2; }
.theme-construction .p-bd-tl-item:first-child .p-bd-tl-when { color: #ea580c; }
.theme-construction .p-bd-foot { border-color: #3a3c40; border-radius: 0 0 4px 4px !important; color: #9c9890; }
.theme-construction .p-bd-foot:hover { background: #2c2e32; color: #ea580c; }
.theme-construction .p-bd-empty { color: #6b6860; }

/* ── Alert strip ── */
.theme-construction .p-alert-strip {
  background: rgba(234,88,12,.08);
  border: 2px solid rgba(234,88,12,.2) !important;
  border-radius: 3px !important;
  color: #ea580c;
}

/* ── Header: тёмный, жёсткий ── */
.theme-construction .p-header { border-bottom: 2px solid #3a3c40; }
.theme-construction .p-brand {
  color: #e8e6e2;
  font-family: var(--p-font-sans) !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.theme-construction .p-brand em {
  color: #ea580c;
  font-style: normal !important;
  font-weight: 600;
  text-transform: none;
}
.theme-construction .p-brand-mark {
  background: #ea580c; color: #fff;
  border-radius: 3px !important;
}
.theme-construction .p-nav a {
  color: #9c9890;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 12px !important;
}
.theme-construction .p-nav a:hover { color: #e8e6e2; }
.theme-construction .p-nav a.active { color: #e8e6e2; border-bottom-color: #ea580c; }
.theme-construction .p-nav a.nav-accent { color: #ea580c; }
.theme-construction .p-user-pill { color: #9c9890; }
.theme-construction .p-user-ava { background: #ea580c; color: #fff; border-radius: 3px !important; }
.theme-construction .p-logout { color: #6b6860; }
.theme-construction .p-logout:hover { color: #ea580c; }
.theme-construction .p-notif-bell { color: #9c9890; }

/* ── Section headers: болтовой, индустриальный ── */
.theme-construction .p-sec-head h2 {
  color: #e8e6e2;
  font-family: var(--p-font-sans) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.theme-construction .p-sec-head h2 em {
  color: #ea580c;
  font-style: normal !important;
}
.theme-construction .p-see-all {
  color: #ea580c;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .06em;
  font-size: 11px !important;
}

/* ── Category cards: панели, острые углы, индустриальные ── */
.theme-construction .p-cat-card {
  background: #232528;
  border: 1px solid #3a3c40;
  border-radius: 4px !important;
  border-left: 3px solid #ea580c !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
.theme-construction .p-cat-card:hover {
  transform: translateY(-2px);
  border-color: #ea580c !important;
  border-left-color: #ea580c !important;
  box-shadow: 0 8px 24px rgba(234,88,12,.15);
}
/* Угловая декорация — hazard полосы вместо мягкого градиента */
.theme-construction .p-cat-corner {
  border-bottom-left-radius: 0 !important;
  background: repeating-linear-gradient(
    -45deg,
    rgba(234,88,12,.08),
    rgba(234,88,12,.08) 4px,
    transparent 4px,
    transparent 8px
  ) !important;
  opacity: 1 !important;
  width: 60px !important; height: 60px !important;
}
.theme-construction .p-cat-num {
  color: rgba(234,88,12,.06) !important;
  font-family: var(--p-font-sans) !important;
  font-style: normal !important;
  font-weight: 900 !important;
}
.theme-construction .p-cat-ico {
  border-radius: 4px !important;
}
.theme-construction .p-cat-ico.b-blue,
.theme-construction .p-cat-ico.b-accent,
.theme-construction .p-cat-ico.b-warn,
.theme-construction .p-cat-ico.b-green {
  background: rgba(234,88,12,.1) !important;
  color: #ea580c !important;
}
.theme-construction .p-cat-title {
  color: #e8e6e2;
  font-family: var(--p-font-sans) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: .01em;
}
.theme-construction .p-cat-desc { color: #9c9890; }
.theme-construction .p-cat-meta { border-top-color: #3a3c40; }
.theme-construction .p-cat-sla { color: #6b6860 !important; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.theme-construction .p-cat-active { color: #ea580c; font-weight: 700; }
.theme-construction .p-cat-more {
  border-radius: 4px !important;
  border: 2px dashed #3a3c40 !important;
  color: #6b6860;
  font-weight: 700;
  text-transform: uppercase;
}
.theme-construction .p-cat-more:hover { border-color: #ea580c !important; color: #ea580c; }

/* ── Ticket rows ── */
.theme-construction .p-ticket-row { border-color: #3a3c40; }
.theme-construction .p-ticket-row:hover { background: #2c2e32; }
.theme-construction .p-ticket-title { color: #e8e6e2; }

/* ── Side cards ── */
.theme-construction .p-side-card {
  background: #232528; border-color: #3a3c40; border-radius: 4px !important;
}
.theme-construction .p-side-title {
  color: #e8e6e2; font-family: var(--p-font-sans) !important; font-weight: 700 !important; font-style: normal !important;
  text-transform: uppercase; letter-spacing: .04em;
}
.theme-construction .p-health-cell + .p-health-cell { border-left-color: #3a3c40; }
.theme-construction .p-health-val { color: #e8e6e2; font-family: var(--p-font-sans) !important; font-weight: 700; }
.theme-construction .p-kb-num { color: #6b6860; font-family: var(--p-font-sans) !important; font-weight: 900; font-style: normal !important; }
.theme-construction .p-kb-body { color: #9c9890; }
.theme-construction .p-kb-item:hover .p-kb-body { color: #ea580c; }

/* ── Footer ── */
.theme-construction .p-footer { border-top: 2px solid #3a3c40; color: #6b6860; }
.theme-construction .p-footer-links a { color: #6b6860; }
.theme-construction .p-footer-links a:hover { color: #ea580c; }

/* ── Buttons ── */
.theme-construction .p-btn-primary,
.theme-construction .btn-primary {
  background: #ea580c !important; color: #fff !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.theme-construction .p-btn-primary:hover,
.theme-construction .btn-primary:hover { background: #c2410c !important; }

/* ── Drawer ── */
.theme-construction .p-drawer {
  background: #232528; border-color: #3a3c40; color: #e8e6e2;
  border-radius: 4px 0 0 4px !important;
}
.theme-construction .p-drawer .form-control {
  background: #1a1c20; border-color: #3a3c40; color: #e8e6e2;
  border-radius: 3px !important;
}

/* ── Dept switcher ── */
.theme-construction .dept-switcher-btn { color: #9c9890; }
.theme-construction .dept-dropdown { background: #232528; border-color: #3a3c40; border-radius: 4px !important; }
.theme-construction .dept-dropdown-item { color: #9c9890; }
.theme-construction .dept-dropdown-item:hover { background: #2c2e32; color: #e8e6e2; }
.theme-construction .dept-dropdown-item.active { color: #ea580c; }

/* ── Announcements ── */
.theme-construction .p-ann-card { background: #232528; border-color: #3a3c40; border-radius: 4px !important; }

/* ── Login page: индустриальный вход ── */
.theme-construction .login-container {
  background: #1a1c20 !important;
  background-image:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 40px,
      rgba(234,88,12,.02) 40px,
      rgba(234,88,12,.02) 42px
    ) !important;
}
.theme-construction .login-box {
  background: #232528;
  border: 2px solid #3a3c40;
  border-top: 3px solid #ea580c;
  border-radius: 4px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
}
.theme-construction .login-box h1 { color: #e8e6e2; }
.theme-construction .login-box p { color: #6b6860; }
.theme-construction .login-box label { color: #9c9890; text-transform: uppercase; letter-spacing: .06em; font-size: 11px !important; font-weight: 700; }
.theme-construction .login-box .form-control {
  background: #1a1c20; border: 2px solid #3a3c40; color: #e8e6e2; border-radius: 3px !important;
}
.theme-construction .login-box .form-control:focus { border-color: #ea580c; }
.theme-construction .login-box .btn,
.theme-construction .login-box button[type="submit"] {
  background: #ea580c; color: #fff; border: none; border-radius: 3px !important;
  font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
}
.theme-construction .login-box .btn:hover,
.theme-construction .login-box button[type="submit"]:hover { background: #c2410c; }
.theme-construction .login-logo h1 { color: #e8e6e2; font-family: var(--p-font-sans) !important; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.theme-construction .login-logo p { color: #6b6860; }
.theme-construction .login-brand-mark { background: #ea580c; color: #fff; border-radius: 3px !important; }
.theme-construction .login-error { background: rgba(220,38,38,.12); color: #fca5a5; border: 2px solid rgba(220,38,38,.25); border-radius: 3px !important; }
.theme-construction .login-info { background: rgba(234,88,12,.08); color: #ea580c; border: 1px solid rgba(234,88,12,.2); border-radius: 3px !important; }
.theme-construction .input-suffix { background: #2c2e32; border-color: #3a3c40; color: #6b6860; border-radius: 0 3px 3px 0 !important; }

/* ── Quick ticket ── */
.theme-construction .quick-ticket-container { background: #1a1c20; }
.theme-construction .quick-ticket-card {
  background: #232528; border: 2px solid #3a3c40; border-top: 3px solid #ea580c;
  color: #e8e6e2; border-radius: 4px !important;
}
