@charset "UTF-8";

/* =============================================================
   CYBERFORTRESS SUPPORT — v2.0 "Dark & Techy" brand theme
   Tokens match cyberfortress.com (Oct 2026). Fonts load in
   document_head.hbs. Article reading surface stays light so the
   ~10% of articles with hard-coded dark inline colors stay legible.
   ============================================================= */

:root {
  /* Brand core */
  --cf-blue: #00AEEF;
  --cf-blue-deep: #0B7CD1;
  --cf-sky: #53CBFF;
  --cf-green: #94D82B;
  --cf-lime: #A9E832;
  --cf-cyan: #2EE5CE;
  /* Dark surfaces */
  --cf-void: #060A12;
  --cf-midnight: #0C1220;
  --cf-onyx: #141D30;
  --cf-gunmetal: #1F2B42;
  /* Text */
  --cf-white: #E8EEF9;
  --cf-ash: #8B9CB8;
  --cf-slate: #55627D;
  /* Semantic */
  --cf-warn: #FFB224;
  --cf-red: #FF4757;
  /* Light reading surface (articles) */
  --cf-paper: #F5F8FC;
  --cf-paper-line: #DCE4EF;
  --cf-ink: #0C1220;
  --cf-ink-2: #3A4760;

  --cf-grad-logo: linear-gradient(135deg, #00AEEF 0%, #94D82B 100%);
  --cf-grad-spectrum: linear-gradient(90deg, #00AEEF 0%, #2EE5CE 50%, #94D82B 100%);
  --cf-head: 'Chakra Petch', 'Segoe UI', Arial, sans-serif;
  --cf-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --cf-mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;
  --cf-radius: 9px;
  --cf-radius-sm: 6px;
  --cf-max: 1240px;
  --cf-header-h: 76px;
}

/* =============================================================
   BASE
   ============================================================= */
*, *::before, *::after { box-sizing: border-box; }

html { background: var(--cf-void); }

body {
  background: var(--cf-void) !important;
  color: var(--cf-ash) !important;
  font-family: var(--cf-body) !important;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-top: var(--cf-header-h);
  background-image: none !important;
}

main, .cf-main { flex: 1 0 auto; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--cf-head) !important;
  color: var(--cf-white);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

a { color: var(--cf-blue); text-decoration: none; transition: color .15s; }
a:hover { color: var(--cf-sky); text-decoration: none; }

::selection { background: rgba(0,174,239,.35); color: #fff; }

:focus-visible { outline: 2px solid var(--cf-blue); outline-offset: 2px; }

.container {
  max-width: var(--cf-max) !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  margin-left: auto;
  margin-right: auto;
}
.container-divider { display: none; }

.cf-grad {
  background: var(--cf-grad-logo);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cf-accent { color: var(--cf-blue); }

/* =============================================================
   BUTTONS
   ============================================================= */
.cf-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--cf-head);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .01em;
  padding: 11px 22px;
  border-radius: var(--cf-radius);
  border: 1px solid transparent;
  white-space: nowrap;
  transition: background .15s, border-color .15s, color .15s, transform .15s, box-shadow .15s;
}
.cf-btn-primary { background: var(--cf-blue); color: var(--cf-void) !important; }
.cf-btn-primary:hover {
  background: var(--cf-sky);
  color: var(--cf-void) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0,174,239,.25);
}
.cf-btn-outline { border-color: var(--cf-gunmetal); color: var(--cf-white) !important; background: transparent; }
.cf-btn-outline:hover { border-color: var(--cf-blue); color: var(--cf-blue) !important; }

/* Zendesk-generated and form buttons */
.button, .btn-primary,
button[type="submit"], input[type="submit"],
.article-vote, .split-button button,
.request-container .mark-as-solved {
  background: var(--cf-blue) !important;
  border: 1px solid var(--cf-blue) !important;
  border-radius: var(--cf-radius) !important;
  color: var(--cf-void) !important;
  font-family: var(--cf-head) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  padding: 10px 22px !important;
  cursor: pointer;
  text-transform: none;
  transition: background .15s, transform .15s;
}
.button:hover, .btn-primary:hover,
button[type="submit"]:hover, input[type="submit"]:hover { background: var(--cf-sky) !important; border-color: var(--cf-sky) !important; }
button[disabled], input[type="submit"][disabled] { opacity: .45; cursor: not-allowed; }

/* =============================================================
   HEADER
   ============================================================= */
.cf-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--cf-header-h);
  background: rgba(6,10,18,.88);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--cf-gunmetal);
}
.cf-header-inner {
  max-width: var(--cf-max);
  height: 100%;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  gap: 36px;
}
.cf-brand { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.cf-brand img { height: 40px; width: auto; display: block; }
.cf-brand-tag {
  font-family: var(--cf-head);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cf-ash);
  padding-left: 14px;
  border-left: 1px solid var(--cf-gunmetal);
  line-height: 1.6;
}
.cf-nav { display: flex; align-items: center; gap: 28px; }
.cf-nav a {
  font-family: var(--cf-head);
  font-size: 15px;
  font-weight: 500;
  color: var(--cf-ash);
}
.cf-nav a:hover { color: var(--cf-white); }
.cf-nav a i { font-size: 11px; margin-left: 2px; opacity: .7; }
.cf-header-actions { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.cf-signin { font-family: var(--cf-head); font-weight: 600; font-size: 15px; color: var(--cf-white); }
.cf-signin:hover { color: var(--cf-blue); }

/* {{user_info}} dropdown */
.cf-header .user-info { position: relative; }
.cf-header .user-info > button,
.cf-header .user-info .dropdown-toggle {
  background: transparent !important;
  border: 1px solid var(--cf-gunmetal) !important;
  border-radius: 999px !important;
  color: var(--cf-white) !important;
  font-family: var(--cf-head) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 4px 14px 4px 4px !important;
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: none;
}
.cf-header .user-info > button:hover { border-color: var(--cf-blue) !important; }
.cf-header .user-avatar, .cf-header .user-info img {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  object-fit: cover;
}
.dropdown-menu {
  background: var(--cf-midnight) !important;
  border: 1px solid var(--cf-gunmetal) !important;
  border-radius: var(--cf-radius) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
  padding: 6px !important;
  min-width: 200px;
}
.dropdown-menu a, .dropdown-menu [role="menuitem"], .dropdown-item {
  display: block;
  color: var(--cf-ash) !important;
  font-size: 14px;
  padding: 8px 12px !important;
  border-radius: var(--cf-radius-sm);
  background: transparent !important;
}
.dropdown-menu a:hover, .dropdown-menu [role="menuitem"]:hover, .dropdown-item:hover {
  background: var(--cf-onyx) !important;
  color: var(--cf-white) !important;
}
.dropdown-menu .separator, .dropdown-menu hr { border-color: var(--cf-gunmetal); margin: 6px 0; }

/* =============================================================
   HERO (home)
   ============================================================= */
.cf-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--cf-gunmetal);
  background:
    linear-gradient(180deg, rgba(6,10,18,.2) 0%, rgba(6,10,18,.85) 100%),
    url(/hc/theming_assets/01M4GZ2F3PEAJE63R2YP430R5F) center/cover no-repeat,
    var(--cf-void);
}
.cf-hero-inner {
  position: relative;
  max-width: 880px;
  margin: 0 auto;
  padding: 88px 32px 80px;
  text-align: center;
}
.cf-hero-title {
  font-size: clamp(34px, 4.6vw, 54px);
  font-weight: 700;
  color: var(--cf-white);
  margin: 0 0 16px;
  letter-spacing: -0.02em;
}
.cf-hero-sub {
  font-size: 18px;
  color: var(--cf-ash);
  max-width: 620px;
  margin: 0 auto 34px;
}
.cf-hero-search { max-width: 680px; margin: 0 auto; }
.cf-hero-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin-top: 22px;
  font-size: 14px;
}
.cf-hero-links a { color: var(--cf-ash); display: inline-flex; align-items: center; gap: 8px; }
.cf-hero-links a:hover { color: var(--cf-white); }
.cf-hero-links i { color: var(--cf-blue); }
.cf-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--cf-green);
  box-shadow: 0 0 0 0 rgba(148,216,43,.6);
  animation: cf-pulse 2.4s infinite;
}
@keyframes cf-pulse {
  0% { box-shadow: 0 0 0 0 rgba(148,216,43,.55); }
  70% { box-shadow: 0 0 0 8px rgba(148,216,43,0); }
  100% { box-shadow: 0 0 0 0 rgba(148,216,43,0); }
}
@media (prefers-reduced-motion: reduce) { .cf-dot { animation: none; } }

/* =============================================================
   SEARCH ({{search}} helper; all pages)
   ============================================================= */
.search, form.search {
  position: relative;
  width: 100%;
  margin: 0;
}
.search input[type="search"],
.search input[type="text"] {
  width: 100% !important;
  background: var(--cf-midnight) !important;
  border: 1px solid var(--cf-gunmetal) !important;
  border-radius: var(--cf-radius) !important;
  color: var(--cf-white) !important;
  font-family: var(--cf-body) !important;
  font-size: 16px !important;
  padding: 14px 18px 14px 48px !important;
  height: auto !important;
  box-shadow: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2300AEEF' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M12.5 12.5L17 17'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 18px center !important;
  transition: border-color .2s, box-shadow .2s;
}
.search-full input[type="search"] {
  font-size: 17px !important;
  padding: 19px 22px 19px 54px !important;
  background-position: 22px center !important;
  border-color: rgba(0,174,239,.35) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.35) !important;
}
.search input::placeholder { color: var(--cf-slate) !important; }
.search input[type="search"]:focus {
  outline: none;
  border-color: var(--cf-blue) !important;
  box-shadow: 0 0 0 3px rgba(0,174,239,.18) !important;
}
.search input[type="submit"], .search .clear-button { display: none !important; }

/* Instant search dropdown */
[role="listbox"], .search-results-dropdown, zd-autocomplete {
  background: var(--cf-midnight) !important;
  border: 1px solid var(--cf-gunmetal) !important;
  border-radius: var(--cf-radius) !important;
  color: var(--cf-ash) !important;
  text-align: left;
}
[role="listbox"] [role="option"], zd-autocomplete-option { color: var(--cf-ash) !important; }
[role="listbox"] [role="option"]:hover,
[role="listbox"] [aria-selected="true"],
zd-autocomplete-option[aria-selected="true"] { background: var(--cf-onyx) !important; color: var(--cf-white) !important; }
zd-autocomplete-header, zd-autocomplete-title-multibrand { color: var(--cf-slate) !important; }

/* =============================================================
   HOME SECTIONS
   ============================================================= */
.cf-main { width: 100%; }
.cf-section {
  max-width: var(--cf-max);
  margin: 0 auto;
  padding: 56px 32px 0;
}
.cf-section:last-child { padding-bottom: 72px; }
.cf-section-head { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }
.cf-section-head h2 { font-size: 26px; margin: 0; white-space: nowrap; }
.cf-section-head::after { content: ''; flex: 1; height: 1px; background: var(--cf-gunmetal); }

/* Category / section cards */
.blocks-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.blocks-item { display: block !important; margin: 0 !important; max-width: none !important; border: 0 !important; }
.blocks-item-link {
  position: relative;
  display: flex !important;
  flex-direction: column;
  height: 100%;
  min-height: 140px;
  background: var(--cf-midnight) !important;
  border: 1px solid var(--cf-gunmetal) !important;
  border-radius: var(--cf-radius) !important;
  padding: 24px 22px 20px !important;
  overflow: hidden;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.blocks-item-link::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--cf-grad-spectrum);
  opacity: .75;
}
.blocks-item-link:hover {
  border-color: rgba(0,174,239,.55) !important;
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0,0,0,.4), 0 0 0 1px rgba(0,174,239,.15);
}
.blocks-item-link:hover::before { opacity: 1; }
.blocks-item-title {
  font-size: 19px !important;
  font-weight: 600 !important;
  color: var(--cf-white) !important;
  margin: 0 0 8px !important;
}
.blocks-item-title i { font-size: 13px; color: var(--cf-slate); margin-left: 6px; }
.blocks-item-description {
  font-size: 14px !important;
  color: var(--cf-ash) !important;
  margin: 0 0 14px !important;
  line-height: 1.55;
}
.blocks-item-cta {
  margin-top: auto;
  font-family: var(--cf-head);
  font-size: 14px;
  font-weight: 600;
  color: var(--cf-blue);
  transition: gap .2s;
}
.blocks-item-link:hover .blocks-item-cta { color: var(--cf-sky); }

/* Promoted articles */
.promoted-articles {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
  gap: 10px !important;
}
.promoted-articles-item { margin: 0 !important; padding: 0 !important; border: 0 !important; width: auto !important; }
.promoted-articles-item a {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px !important;
  background: transparent;
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius);
  font-size: 15px;
  color: var(--cf-white) !important;
  line-height: 1.45;
  transition: background .15s, border-color .15s;
}
.promoted-articles-item a i { color: var(--cf-blue); margin-top: 3px; }
.promoted-articles-item a:hover { background: var(--cf-midnight); border-color: rgba(0,174,239,.45); }

/* Announcements */
.cf-updates { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cf-update {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: linear-gradient(145deg, var(--cf-midnight) 0%, var(--cf-onyx) 100%);
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius);
  padding: 28px;
}
.cf-update-icon {
  flex-shrink: 0;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  font-size: 18px;
  color: var(--cf-blue);
  background: rgba(0,174,239,.1);
  border: 1px solid rgba(0,174,239,.3);
  border-radius: var(--cf-radius);
}
.cf-update h3 { font-size: 20px; margin: 2px 0 8px; }
.cf-update p { font-size: 15px; margin: 0 0 18px; }

/* Recent activity */
.recent-activity { color: var(--cf-ash); }
.recent-activity-header, .recent-activity h2 {
  font-size: 26px !important;
  color: var(--cf-white) !important;
  margin: 0 0 20px !important;
  text-align: left !important;
}
.recent-activity-list { padding: 0; margin: 0; list-style: none; }
.recent-activity-item {
  border-bottom: 1px solid var(--cf-gunmetal) !important;
  padding: 16px 0 !important;
  overflow: hidden;
}
.recent-activity-item-parent { font-size: 13px; color: var(--cf-slate) !important; display: inline-block; margin-bottom: 4px; }
.recent-activity-item-parent:hover { color: var(--cf-blue) !important; }
.recent-activity-item-link { display: block; color: var(--cf-white) !important; font-size: 16px; font-weight: 500; }
.recent-activity-item-link:hover { color: var(--cf-blue) !important; }
.recent-activity-item-meta { font-size: 13px; color: var(--cf-slate); margin-top: 4px; }
.recent-activity-item-meta .recent-activity-item-comment { color: var(--cf-slate); }
.recent-activity-accessibility-label { position: absolute; left: -9999px; }
.recent-activity-controls { margin-top: 18px; }
.recent-activity-controls a { font-family: var(--cf-head); font-weight: 600; color: var(--cf-blue); }

/* =============================================================
   INNER PAGES: shared chrome
   ============================================================= */
.container > nav, .search-nav, .sub-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding: 26px 0 0;
}
.sub-nav .search, .container > nav .search { max-width: 340px; }
.top_header { padding: 0; }

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px;
  background: transparent !important;
  border: 0 !important;
}
.breadcrumbs li { color: var(--cf-slate); display: inline-flex; align-items: center; }
.breadcrumbs li + li::before {
  content: '/';
  color: var(--cf-gunmetal);
  margin: 0 10px;
}
.breadcrumbs li a { color: var(--cf-ash) !important; }
.breadcrumbs li a:hover { color: var(--cf-blue) !important; }
.breadcrumbs li:last-child, .breadcrumbs li:last-child a { color: var(--cf-white) !important; }

.page-header {
  position: relative;
  padding: 32px 0 26px !important;
  margin: 18px 0 28px;
  border-bottom: 1px solid var(--cf-gunmetal);
  background: transparent !important;
}
.page-header h1 {
  font-size: clamp(30px, 3.6vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--cf-white) !important;
  margin: 0 !important;
}
.page-header h1::after {
  content: '';
  display: block;
  width: 64px;
  height: 3px;
  margin-top: 16px;
  background: var(--cf-grad-spectrum);
  border-radius: 2px;
}
.page-header-description { color: var(--cf-ash); font-size: 17px; margin: 14px 0 0; max-width: 760px; }
.page-header .subscriptions-subscribe button,
.page-header [data-action="subscribe"] { float: right; }

/* Category page */
.category-container, .section-container { padding-bottom: 72px; }
.section-tree {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 18px;
}
.section-tree .section {
  background: var(--cf-midnight);
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius);
  padding: 24px;
  margin: 0;
  max-width: none;
}
.section-tree-title { font-size: 20px; margin: 0 0 6px; }
.section-tree-title a { color: var(--cf-white); }
.section-tree-title a:hover { color: var(--cf-blue); }
.section-tree-description { font-size: 14px; color: var(--cf-ash); margin: 0 0 10px; }
.section-group-title {
  font-family: var(--cf-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cf-slate) !important;
  margin: 18px 0 6px !important;
}
.see-all-articles {
  display: inline-block;
  margin-top: 12px;
  font-family: var(--cf-head);
  font-weight: 600;
  font-size: 14px;
}
.category-empty a, .section-empty a { color: var(--cf-slate); }

/* Article lists (category / section) */
.article-list, .section-list { list-style: none; padding: 0; margin: 0; }
.article-list-item, .section-list-item {
  border-bottom: 1px solid var(--cf-gunmetal);
  padding: 0;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.article-list-item:last-child, .section-list-item:last-child { border-bottom: 0; }
.article-list-link, .section-list-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex: 1;
  color: var(--cf-white) !important;
  padding: 11px 0;
}
.article-list-link:hover, .section-list-item a:hover { color: var(--cf-blue) !important; }
.section-list-item svg { color: var(--cf-slate); flex-shrink: 0; }
.article-promoted .icon-star::before, .icon-star::before { content: '\2605'; color: var(--cf-warn); font-style: normal; }
.icon-lock::before { content: '\1F512'; font-size: 13px; }

.section-content .article-list,
.section-content .section-list {
  background: var(--cf-midnight);
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius);
  padding: 6px 24px;
  margin-bottom: 26px;
}

/* =============================================================
   ARTICLE PAGE
   ============================================================= */
.article-container {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 36px;
  padding: 28px 0 72px;
  align-items: start;
}
.article-sidebar {
  position: sticky;
  top: calc(var(--cf-header-h) + 20px);
  max-height: calc(100vh - var(--cf-header-h) - 40px);
  overflow-y: auto;
  background: var(--cf-midnight);
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius);
  padding: 20px;
}
.sidenav-title, .collapsible-sidebar-title {
  font-family: var(--cf-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cf-slate) !important;
  margin: 0 0 12px !important;
}
.section-articles ul { list-style: none; padding: 0; margin: 0; }
.sidenav-item {
  display: block;
  font-size: 14px;
  line-height: 1.45;
  color: var(--cf-ash) !important;
  padding: 8px 10px;
  border-left: 2px solid transparent;
  border-radius: 0 var(--cf-radius-sm) var(--cf-radius-sm) 0;
}
.sidenav-item:hover { color: var(--cf-white) !important; background: var(--cf-onyx); }
.sidenav-item.current-article {
  color: var(--cf-white) !important;
  background: rgba(0,174,239,.1);
  border-left-color: var(--cf-blue);
}
.article-sidebar-item { display: inline-block; margin-top: 10px; font-size: 14px; font-family: var(--cf-head); font-weight: 600; }

/* Light reading surface */
.article {
  background: var(--cf-paper);
  color: var(--cf-ink-2);
  border-radius: var(--cf-radius);
  border: 1px solid var(--cf-gunmetal);
  padding: 44px 52px;
  min-width: 0;
  max-width: none;
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
  position: relative;
  overflow: hidden;
}
.article::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--cf-grad-spectrum);
}
.article-header { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--cf-paper-line); }
.article-title {
  font-size: clamp(28px, 3vw, 38px) !important;
  font-weight: 700 !important;
  color: var(--cf-ink) !important;
  margin: 0 0 10px !important;
}
.article-author { display: flex; align-items: center; gap: 10px; }
.article-meta, .meta-data { font-size: 13px; color: #6B7A93; }
.article-meta a { color: var(--cf-blue-deep); }

.article-content > h2 {
  font-family: var(--cf-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6B7A93 !important;
  margin: 0 0 10px !important;
}
#toc {
  list-style: none;
  margin: 0 0 8px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid var(--cf-paper-line);
  border-left: 3px solid var(--cf-blue);
  border-radius: var(--cf-radius-sm);
  font-size: 14px;
}
#toc:empty { display: none; }
#toc:empty + br { display: none; }
#toc li { padding: 3px 0; }
#toc a { color: var(--cf-blue-deep); }
#toc a:hover { color: var(--cf-ink); }

.article-body {
  font-size: 16px;
  line-height: 1.75;
  color: var(--cf-ink-2);
  overflow-wrap: break-word;
}
.article-body h1, .article-body h2, .article-body h3, .article-body h4 { color: var(--cf-ink); }
.article-body h2 { font-size: 26px; margin: 2em 0 .6em; padding-bottom: 8px; border-bottom: 1px solid var(--cf-paper-line); }
.article-body h3 { font-size: 21px; margin: 1.6em 0 .5em; }
.article-body h4 { font-size: 18px; margin: 1.4em 0 .4em; }
.article-body a { color: var(--cf-blue-deep); text-decoration: underline; text-decoration-color: rgba(11,124,209,.35); text-underline-offset: 3px; }
.article-body a:hover { color: var(--cf-ink); text-decoration-color: var(--cf-blue); }
.article-body strong { color: var(--cf-ink); }
.article-body ul, .article-body ol { padding-left: 1.4em; }
.article-body li { margin: .3em 0; }
.article-body img, .article-body video, .article-body iframe, .comment-body img { max-width: 100%; height: auto; border-radius: var(--cf-radius-sm); }
.article-body img { border: 1px solid var(--cf-paper-line); }
.article-body figure, .article-body figure.image { max-width: 100% !important; width: auto !important; margin-left: 0; margin-right: 0; }
.article-body blockquote {
  margin: 1.5em 0;
  padding: 14px 20px;
  border-left: 3px solid var(--cf-blue);
  background: #EAF5FC;
  border-radius: 0 var(--cf-radius-sm) var(--cf-radius-sm) 0;
  color: var(--cf-ink-2);
}
.article-body code {
  font-family: var(--cf-mono);
  font-size: .88em;
  background: #E9EEF5;
  border: 1px solid var(--cf-paper-line);
  border-radius: 4px;
  padding: 1px 6px;
  color: #0A5A99;
}
.article-body pre {
  background: var(--cf-void);
  border: 1px solid var(--cf-gunmetal);
  border-left: 3px solid var(--cf-blue);
  border-radius: var(--cf-radius-sm);
  padding: 16px 20px;
  overflow-x: auto;
  margin: 1.5em 0;
}
.article-body pre code { background: none; border: 0; padding: 0; color: var(--cf-white); font-size: 14px; }
.article-body table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: 15px; }
.article-body th {
  background: #E9EEF5;
  border: 1px solid var(--cf-paper-line);
  padding: 10px 14px;
  font-family: var(--cf-head);
  font-weight: 600;
  color: var(--cf-ink);
  text-align: left;
}
.article-body td { border: 1px solid var(--cf-paper-line); padding: 10px 14px; }
.article-body hr { border: 0; border-top: 1px solid var(--cf-paper-line); margin: 2em 0; opacity: 1; }

.attachments { list-style: none; padding: 0; margin: 24px 0 0; }
.attachment-item { padding: 10px 14px; border: 1px solid var(--cf-paper-line); border-radius: var(--cf-radius-sm); background: #fff; margin-bottom: 8px; }
.attachment-item a { color: var(--cf-blue-deep); }
.attachment-meta { font-size: 13px; color: #6B7A93; }
.attachment-meta-item + .attachment-meta-item { margin-left: 10px; }

.article footer { background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }
.article-votes {
  margin-top: 40px;
  padding: 26px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--cf-paper-line);
  border-radius: var(--cf-radius);
}
.article-votes-question { display: block; font-family: var(--cf-head); font-size: 18px; font-weight: 600; color: var(--cf-ink); margin-bottom: 14px; }
.article-votes-controls { display: flex; justify-content: center; gap: 10px; }
.article-vote {
  min-width: 96px;
  background: transparent !important;
  border: 1px solid var(--cf-paper-line) !important;
  color: var(--cf-ink) !important;
}
.article-vote:hover, .article-vote.button-primary, .article-vote[aria-pressed="true"], .article-vote[aria-checked="true"] {
  background: var(--cf-blue) !important;
  border-color: var(--cf-blue) !important;
  color: var(--cf-void) !important;
}
.article-vote-up::before { content: '\1F44D\00a0'; }
.article-vote-down::before { content: '\1F44E\00a0'; }
.article-votes-count { display: block; margin-top: 10px; color: #6B7A93; font-size: 13px; }
.article-more-questions { text-align: center; margin: 24px 0 8px; color: var(--cf-ink-2); }
.article-more-questions a { color: var(--cf-blue-deep); font-weight: 600; }
.article-return-to-top { text-align: right; font-size: 14px; margin-top: 12px; }
.article-return-to-top a { color: #6B7A93; }
.article-return-to-top a:hover { color: var(--cf-blue-deep); }

/* Related / recently viewed */
.article-relatives { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 32px; }
.recent-articles-title, .related-articles-title { font-size: 18px; color: var(--cf-ink); }
.recent-articles ul, .related-articles ul { list-style: none; padding: 0; }
.recent-articles li, .related-articles li { padding: 5px 0; }
.recent-articles a, .related-articles a { color: var(--cf-blue-deep); }

/* Comments (light surface) */
.article .comment-heading { color: var(--cf-ink); }
.article .comment-callout { color: #6B7A93; }

/* =============================================================
   SEARCH RESULTS
   ============================================================= */
.search-results { padding-bottom: 72px; }
.search-results-subheading { font-size: 20px; color: var(--cf-white); margin: 0 0 14px; }
.search-results-list { list-style: none; padding: 0; margin: 0; }
.search-result {
  background: var(--cf-midnight);
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius);
  padding: 20px 24px;
  margin-bottom: 12px;
  transition: border-color .15s;
}
.search-result:hover { border-color: rgba(0,174,239,.45); }
.search-result h3 { font-size: 19px; margin: 0 0 6px; }
.search-result h3 a { color: var(--cf-white); }
.search-result h3 a:hover { color: var(--cf-blue); }
.search-result .meta-group { list-style: none; padding: 0; margin: 0 0 8px; display: flex; gap: 14px; font-size: 13px; color: var(--cf-slate); }
.search-result .meta-group a { color: var(--cf-slate); }
.search-result-description { font-size: 15px; color: var(--cf-ash); }
.search-result-description em { font-style: normal; color: var(--cf-white); background: rgba(0,174,239,.15); padding: 0 3px; border-radius: 3px; }
.search-results-column p { color: var(--cf-ash); }

/* =============================================================
   FORMS (requests, community)
   ============================================================= */
.form, .request-container, .requests, .my-activities-table { color: var(--cf-ash); }
.container > h1 { font-size: clamp(30px, 3.6vw, 42px); font-weight: 700; margin: 8px 0 26px; }
.form {
  max-width: 760px;
  background: var(--cf-midnight);
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius);
  padding: 32px;
  margin-bottom: 72px;
}
.form-field { margin-bottom: 22px; }
.form-field label, label {
  font-family: var(--cf-head) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--cf-white) !important;
  margin-bottom: 8px;
  display: block;
}
.form-field p, .form-field .description, [id$="_hint"] { font-size: 13px; color: var(--cf-slate); margin-top: 6px; }
input[type="text"], input[type="email"], input[type="number"], input[type="tel"], input[type="url"],
input[type="password"], input[type="date"], textarea, select,
.form-field .nesty-input, .hc-multiselect-toggle {
  width: 100%;
  background: var(--cf-onyx) !important;
  border: 1px solid var(--cf-gunmetal) !important;
  border-radius: var(--cf-radius-sm) !important;
  color: var(--cf-white) !important;
  font-family: var(--cf-body) !important;
  font-size: 15px !important;
  padding: 11px 14px !important;
  height: auto;
  box-shadow: none !important;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
input:focus, textarea:focus, select:focus, .nesty-input:focus {
  border-color: var(--cf-blue) !important;
  box-shadow: 0 0 0 3px rgba(0,174,239,.18) !important;
}
input::placeholder, textarea::placeholder { color: var(--cf-slate) !important; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--cf-blue); width: auto; }
.nesty-panel {
  background: var(--cf-midnight) !important;
  border: 1px solid var(--cf-gunmetal) !important;
  color: var(--cf-ash) !important;
  border-radius: var(--cf-radius-sm);
}
.nesty-panel li { color: var(--cf-ash) !important; }
.nesty-panel li.nesty-selected, .nesty-panel li:hover { background: var(--cf-onyx) !important; color: var(--cf-white) !important; }
.upload-dropzone {
  background: var(--cf-onyx) !important;
  border: 1px dashed var(--cf-gunmetal) !important;
  border-radius: var(--cf-radius-sm);
  color: var(--cf-ash) !important;
}
.upload-dropzone a { color: var(--cf-blue) !important; }
.notification-error, .notification-alert { color: var(--cf-red) !important; }
.follow-up-hint { display: block; font-family: var(--cf-body); font-size: 15px; font-weight: 400; color: var(--cf-ash); margin-top: 8px; }

/* Requests list / request page */
.my-activities-nav { border-bottom: 1px solid var(--cf-gunmetal); margin-bottom: 24px; }
.my-activities-nav a, .collapsible-nav-list a { color: var(--cf-ash); }
.my-activities-nav [aria-selected="true"], .collapsible-nav-list [aria-selected="true"] { color: var(--cf-white); border-bottom: 2px solid var(--cf-blue); }
table { color: var(--cf-ash); }
.table, .requests-table, .my-activities-table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--cf-ash);
  width: 100%;
}
.requests-table th, .my-activities-table th, table th {
  background: var(--cf-midnight);
  color: var(--cf-white);
  font-family: var(--cf-head);
  font-weight: 600;
  border: 1px solid var(--cf-gunmetal);
  padding: 10px 14px;
}
.requests-table td, .my-activities-table td { border: 1px solid var(--cf-gunmetal); padding: 10px 14px; }
.status-label {
  font-family: var(--cf-mono);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 4px;
  padding: 3px 8px;
  background: rgba(0,174,239,.14);
  color: var(--cf-sky);
}
.status-label-solved, .status-label-closed { background: rgba(148,216,43,.14); color: var(--cf-green); }
.status-label-pending, .status-label-hold { background: rgba(255,178,36,.14); color: var(--cf-warn); }
.request-container .comment, .comment {
  border-bottom: 1px solid var(--cf-gunmetal);
  padding: 20px 0;
}
.comment-author, .comment-meta a { color: var(--cf-white); }
.comment-body { color: var(--cf-ash); }
.request-sidebar, .request-details {
  background: var(--cf-midnight);
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius);
  padding: 18px 20px;
}
.request-details dt { color: var(--cf-slate); font-size: 13px; font-weight: 500; }
.request-details dd { color: var(--cf-white); }

/* =============================================================
   COMMUNITY
   ============================================================= */
.community-header {
  background: linear-gradient(180deg, rgba(6,10,18,.3), rgba(6,10,18,.9)), url(/hc/theming_assets/01M4GZ2F3PEAJE63R2YP430R5F) center/cover no-repeat !important;
  border-bottom: 1px solid var(--cf-gunmetal);
  padding: 48px 0;
}
.post-list-item, .topic-list-item, .striped-list-item { border-bottom: 1px solid var(--cf-gunmetal); padding: 16px 0; }
.post-list-item a, .topic-list-item a, .striped-list-title { color: var(--cf-white) !important; font-weight: 600; }
.post-list-item a:hover, .topic-list-item a:hover, .striped-list-title:hover { color: var(--cf-blue) !important; }
.post, .post-container { color: var(--cf-ash); }

/* =============================================================
   PAGINATION
   ============================================================= */
.pagination { margin: 28px 0 0; }
.pagination ul, .pagination-list { display: flex; gap: 6px; list-style: none; padding: 0; justify-content: center; }
.pagination a, .pagination-controls a, .pagination li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px; height: 38px;
  padding: 0 10px;
  background: var(--cf-midnight);
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius-sm);
  font-family: var(--cf-mono);
  font-size: 13px;
  color: var(--cf-ash);
}
.pagination a:hover { border-color: var(--cf-blue); color: var(--cf-blue); }
.pagination .pagination-current span, .pagination-current a, .pagination [aria-current] {
  background: rgba(0,174,239,.12);
  border-color: var(--cf-blue);
  color: var(--cf-white);
}

/* =============================================================
   ERROR PAGE
   ============================================================= */
.error-page { padding: 80px 0; text-align: center; }
.error-page h1 { font-size: 46px; }
.error-page h2 { color: var(--cf-ash); font-family: var(--cf-body) !important; font-weight: 400; font-size: 18px; }

/* =============================================================
   FOOTER
   ============================================================= */
.cf-footer {
  margin-top: auto;
  background: var(--cf-void);
  border-top: 1px solid var(--cf-gunmetal);
  color: var(--cf-ash);
  position: relative;
}
.cf-footer-line { height: 2px; background: var(--cf-grad-spectrum); opacity: .6; }
.cf-footer-inner {
  max-width: var(--cf-max);
  margin: 0 auto;
  padding: 56px 32px 40px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
}
.cf-footer-brand img { width: 240px; max-width: 100%; height: auto; display: block; margin-bottom: 18px; }
.cf-footer-col h3 {
  font-family: var(--cf-mono) !important;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cf-slate);
  margin: 6px 0 16px;
}
.cf-footer-col a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: var(--cf-ash);
  padding: 4px 0;
}
.cf-footer-col a i { width: 14px; font-size: 13px; color: var(--cf-blue); }
.cf-footer-col a:hover { color: var(--cf-white); }
.cf-footer-base {
  max-width: var(--cf-max);
  margin: 0 auto;
  padding: 20px 32px 28px;
  border-top: 1px solid var(--cf-gunmetal);
  font-size: 13px;
  color: var(--cf-slate);
}
.language-selector .dropdown-toggle { color: var(--cf-ash); font-size: 14px; }
.language-selector .dropdown-toggle:hover { color: var(--cf-white); }

/* "Powered by Zendesk" */
.powered-by-zendesk, a[href*="poweredbyzendesk"] {
  display: block;
  text-align: center;
  font-size: 12px;
  color: var(--cf-slate) !important;
  background: var(--cf-void);
  padding: 0 0 20px;
}

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media (max-width: 1100px) {
  .cf-nav { display: none; }
}
@media (max-width: 960px) {
  .article-container { grid-template-columns: 1fr; }
  .article-sidebar { position: static; max-height: none; order: 2; }
  .cf-updates { grid-template-columns: 1fr; }
  .cf-footer-inner { grid-template-columns: 1fr 1fr; }
  .article-relatives { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  :root { --cf-header-h: 64px; }
  .container, .cf-section, .cf-header-inner, .cf-footer-inner, .cf-footer-base { padding-left: 16px !important; padding-right: 16px !important; }
  .cf-brand img { height: 30px; }
  .cf-brand-tag { display: none; }
  .cf-header-actions { gap: 10px; }
  .cf-header-actions .cf-btn { padding: 8px 14px; font-size: 14px; }
  .cf-header .user-info > button { padding: 3px !important; }
  .cf-header .user-info > button span, .cf-header .user-info .user-name { display: none; }
  .cf-hero-inner { padding: 56px 16px 52px; }
  .cf-hero-sub { font-size: 16px; }
  .blocks-list, .promoted-articles { grid-template-columns: 1fr !important; }
  .section-tree { grid-template-columns: 1fr; }
  .article { padding: 28px 20px; }
  .form { padding: 22px; }
  .cf-footer-inner { grid-template-columns: 1fr; gap: 28px; }
  .sub-nav .search, .container > nav .search { max-width: none; }
}

/* =============================================================
   ROUND 2 FIXES
   ============================================================= */
/* Bootstrap underlines every link; brand uses none outside prose */
a, a:hover, a:focus { text-decoration: none !important; }
.article-body a { text-decoration: underline !important; text-decoration-color: rgba(11,124,209,.35) !important; text-underline-offset: 3px; }

.cf-nav a, .cf-btn, .cf-brand-tag { white-space: nowrap; }
@media (max-width: 1240px) { .cf-nav a[href*="cyberfortress.com/"] { display: none; } }

.promoted-articles-item { display: flex !important; }
.promoted-articles-item a { flex: 1; }

/* Search box beside breadcrumbs */
.sub-nav > .search, .container > nav > .search { flex: 0 1 320px; width: 320px; max-width: 100%; }

/* Hide TOC label when the article has no headings */
.article-content > h2:has(+ #toc:empty) { display: none; }
.article-content > #toc:empty + br { display: none; }

/* Recent activity */
.recent-activity-header {
  display: flex; align-items: center; gap: 18px;
  font-weight: 600 !important;
}
.recent-activity-header::after { content: ''; flex: 1; height: 1px; background: var(--cf-gunmetal); }
.recent-activity-item h3 { margin: 0; font-size: inherit; }
.recent-activity-item-comment { display: none !important; }

/* =============================================================
   ROUND 3 FIXES
   ============================================================= */
/* Bootstrap resets heading color; force brand headings */
h1, h2, h3, h4, h5, h6 { color: var(--cf-white) !important; }
.article h1, .article h2, .article h3, .article h4, .article h5, .article h6,
.article-body h1, .article-body h2, .article-body h3, .article-body h4 { color: var(--cf-ink) !important; }
.article-content > h2 { color: #6B7A93 !important; }
.section-group-title, .sidenav-title, .collapsible-sidebar-title, .cf-footer-col h3 { color: var(--cf-slate) !important; }

.page-header { border-bottom: 0; padding-bottom: 8px !important; }

/* Form hints: Slate is for 18px+ only */
.form-field p, .form-field .description, [id$="_hint"] { color: var(--cf-ash) !important; }

/* Nested dropdown options */
.nesty-panel ul, .nesty-panel li { background: transparent !important; }
.nesty-panel li { color: var(--cf-ash) !important; padding: 9px 14px !important; }
.nesty-panel li:hover, .nesty-panel li.nesty-selected, .nesty-panel li[aria-selected="true"] {
  background: var(--cf-onyx) !important; color: var(--cf-white) !important;
}
.nesty-panel li.nesty-expand::after, .nesty-panel li.nesty-back::before { color: var(--cf-blue); }
.nesty-input { display: block; text-decoration: none; }
.nesty-input::after { color: var(--cf-blue) !important; }

/* Related / recently viewed: second grid column, dark cards */
.article-relatives {
  grid-column: 2;
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}
.article-relatives:empty { display: none; }
.article-relatives > * {
  background: var(--cf-midnight);
  border: 1px solid var(--cf-gunmetal);
  border-radius: var(--cf-radius);
  padding: 22px 24px;
}
.related-articles-title, .recent-articles-title {
  font-family: var(--cf-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cf-slate) !important;
  margin: 0 0 10px !important;
}
.related-articles ul, .recent-articles ul { list-style: none; padding: 0; margin: 0; }
.related-articles li, .recent-articles li { padding: 0; border-bottom: 1px solid var(--cf-gunmetal); }
.related-articles li:last-child, .recent-articles li:last-child { border-bottom: 0; }
.related-articles a, .recent-articles a { display: block; padding: 9px 0; color: var(--cf-white) !important; font-size: 15px; }
.related-articles a:hover, .recent-articles a:hover { color: var(--cf-blue) !important; }
@media (max-width: 960px) { .article-relatives { grid-column: 1; } }
.search input[type="search"], .search input[type="text"] { box-sizing: border-box !important; max-width: 100%; }

/* Mobile header: avatar only, compact CTA */
@media (max-width: 640px) {
  .cf-header-inner { gap: 12px; }
  .cf-header #user-name { display: none !important; }
  .cf-header .user-info .dropdown-toggle { padding: 3px !important; }
  .cf-header .user-info .dropdown-toggle::after { display: none; }
  .cf-header-actions .cf-btn { padding: 8px 12px; font-size: 13px; }
  .cf-header-actions .cf-btn span { display: none; }
}
@media (max-width: 380px) {
  .cf-brand img { height: 26px; }
}
.dropdown-menu-caret::before, .dropdown-menu-caret::after { border-bottom-color: var(--cf-gunmetal) !important; }
.dropdown-menu-caret::after { border-bottom-color: var(--cf-midnight) !important; }
#user-menu a, #user-menu [role="menuitem"] { display: block; }
/* Section template puts breadcrumbs straight in .container */
.container > .breadcrumbs { padding-top: 26px !important; }

/* =============================================================
   MY ACTIVITIES (requests / contributions / following)
   ============================================================= */
.collapsible-nav-list {
  list-style: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 28px;
  margin: 0;
  padding: 0;
}
.collapsible-nav-list li {
  font-family: var(--cf-head);
  font-size: 15px;
  font-weight: 500;
  color: var(--cf-ash);
  padding: 14px 0 12px;
  border-bottom: 2px solid transparent;
}
.collapsible-nav-list li a { color: var(--cf-ash) !important; }
.collapsible-nav-list li a:hover { color: var(--cf-white) !important; }
.collapsible-nav-list li[aria-selected="true"] { color: var(--cf-white); border-bottom-color: var(--cf-blue); }
.my-activities-nav { border-bottom: 1px solid var(--cf-gunmetal); margin: 0; }
.my-activities-nav [aria-selected="true"], .collapsible-nav-list [aria-selected="true"] { border-bottom-width: 2px !important; }
.my-activities-header { padding: 34px 0 6px; }
.my-activities-header h1 { font-size: clamp(30px, 3.6vw, 42px); font-weight: 700; margin: 0 0 8px; }
.my-activities-sub-nav { border-bottom: 1px solid var(--cf-gunmetal); margin-bottom: 24px; }

.requests-table-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; margin-bottom: 20px; }
.requests-table-toolbar .search { flex: 1 1 320px; max-width: none; }
.request-table-filter { flex: 0 0 220px; }
.request-table-filter label { font-size: 13px !important; margin-bottom: 6px; }
.request-table-filter select { padding: 13px 14px !important; }
.requests-search-info, .no-activities { color: var(--cf-ash); margin: 0 0 18px; }

.requests, .my-activities-table-wrapper { padding-bottom: 72px; }
table.my-activities-table, table.requests-table, .my-activities-table {
  background: var(--cf-midnight) !important;
  border: 1px solid var(--cf-gunmetal) !important;
  border-radius: var(--cf-radius);
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  margin: 0;
}
.my-activities-table > :not(caption) > * > * {
  background: transparent !important;
  color: var(--cf-ash) !important;
  box-shadow: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cf-gunmetal) !important;
  padding: 14px 18px !important;
  vertical-align: middle;
}
.my-activities-table tbody tr:last-child > * { border-bottom: 0 !important; }
.my-activities-table thead th {
  background: var(--cf-onyx) !important;
  font-family: var(--cf-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--cf-slate) !important;
}
.my-activities-table thead th a { color: var(--cf-ash) !important; }
.my-activities-table thead th a:hover { color: var(--cf-blue) !important; }
.my-activities-table tbody tr:hover > * { background: rgba(0,174,239,.05) !important; }
.my-activities-table .striped-list-title { color: var(--cf-white) !important; font-weight: 500; }
.my-activities-table .striped-list-title:hover { color: var(--cf-blue) !important; }
.requests-table-meta { display: none; }
.my-activities-table tr.request-closed .striped-list-title { color: var(--cf-ash) !important; }
@media (max-width: 768px) {
  .requests-table-meta { display: flex; gap: 10px; align-items: center; margin-top: 6px; font-size: 13px; }
  .my-activities-table thead, .my-activities-table td:not(.requests-table-info) { display: none; }
}

/* Request detail page */
.request-container { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 32px; padding-bottom: 72px; }
.request-title { font-size: clamp(26px, 3vw, 36px); margin: 28px 0 18px; grid-column: 1 / -1; }
.request-main { min-width: 0; }
.comment-list { list-style: none; padding: 0; margin: 0; }
.comment-wrapper { background: var(--cf-midnight); border: 1px solid var(--cf-gunmetal); border-radius: var(--cf-radius); padding: 20px 22px; }
.comment-list .comment { border: 0; padding: 0 0 14px; }
.comment-author { display: flex; align-items: center; gap: 10px; }
.comment-avatar img, .comment .user-avatar { width: 36px; height: 36px; border-radius: 50%; }
.comment-meta, .comment-published { font-size: 13px; color: var(--cf-slate); }
.comment-body { margin-top: 12px; color: var(--cf-ash); }
.comment-body a { color: var(--cf-blue); }
.request-sidebar { align-self: start; }
.request-details { margin: 0; }
.request-details dt { margin-top: 10px; }
.request-details dd { margin: 2px 0 0; }
@media (max-width: 900px) { .request-container { grid-template-columns: 1fr; } }
