/* Hollowcrest professional interaction and operations layer */
:root {
  --pro-panel: rgba(15, 21, 34, .92);
  --pro-panel-2: rgba(10, 16, 27, .94);
  --pro-line: rgba(255,255,255,.10);
  --pro-muted: #8290a5;
  --pro-danger: #ff6672;
  --pro-warning: #ffa600;
  --pro-success: #67d7a2;
}

/* Forum thread */
.thread-main-column { min-width: 0; }
.thread-heading-copy { min-width: 0; }
.thread-heading-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.thread-heading-actions .button.active { border-color:rgba(96,183,255,.42); background:rgba(96,183,255,.12); color:#bfe2ff; }
.thread-prefix { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid color-mix(in srgb, var(--prefix-color) 48%, transparent); border-radius:999px; background:color-mix(in srgb, var(--prefix-color) 14%, transparent); color:color-mix(in srgb, var(--prefix-color) 82%, white); font-size:.69rem; font-weight:800; letter-spacing:.04em; }
.thread-state-pill { display:inline-flex; min-height:27px; align-items:center; padding:0 9px; margin-left:6px; border-radius:999px; background:rgba(255,255,255,.07); color:#c8d2e1; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.thread-state-pill.danger { background:rgba(255,102,114,.11); color:#ff9da4; }
.thread-state-pill.solved { background:rgba(103,215,162,.11); color:#89e3b7; }

.thread-author { display:flex; align-items:flex-start; justify-content:center; }
.thread-author-card { width:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:13px; text-align:center; }
.thread-avatar-link { display:grid; place-items:center; margin-inline:auto; }
.thread-avatar-image { position:relative; width:72px; height:72px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:20px; background:linear-gradient(145deg,#2a3951,#111825); box-shadow:0 12px 28px rgba(0,0,0,.24); }
.thread-avatar-image img { width:100%; height:100%; object-fit:cover; image-rendering:auto; }
.thread-avatar-fallback { width:100%; height:100%; display:grid; place-items:center; font-family:"Manrope",sans-serif; font-size:1rem; font-weight:800; }
.thread-author-meta { width:100%; display:grid; justify-items:center; gap:6px; }
.thread-author-meta > a { max-width:100%; }
.thread-author-meta strong { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f2f5fa; }
.thread-author-role { min-height:24px; display:flex; justify-content:center; align-items:center; }
.thread-author small { color:#718096; }
.thread-badge { display:inline-flex; min-height:24px; align-items:center; padding:0 9px; border:1px solid color-mix(in srgb,var(--rank-color) 50%,transparent); border-radius:999px; background:color-mix(in srgb,var(--rank-color) 16%,transparent); color:color-mix(in srgb,var(--rank-color) 78%,white); font-size:.64rem; font-weight:900; letter-spacing:.08em; }
.thread-badge-owner,.thread-badge-admin { box-shadow:0 0 18px rgba(255,0,0,.08); }

.thread-post.solved-answer { border-color:rgba(103,215,162,.35); box-shadow:0 24px 55px rgba(31,110,78,.12); }
.solution-banner { display:flex; align-items:center; gap:9px; margin:-3px 0 18px; padding:10px 13px; border:1px solid rgba(103,215,162,.22); border-radius:11px; background:rgba(103,215,162,.08); color:#8ee6bb; font-size:.78rem; }
.solution-banner span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:rgba(103,215,162,.16); }
.thread-post-top-actions { display:flex; align-items:center; gap:12px; }
.split-post-select { display:inline-flex; align-items:center; gap:6px; color:#77869c; font-size:.67rem; cursor:pointer; }
.split-post-select input { accent-color:#60b7ff; }
.post-edited { color:#5f6b7e; }
.thread-post-actions { display:flex; flex-wrap:wrap; gap:5px; margin-top:15px; padding-top:12px; border-top:1px solid rgba(255,255,255,.07); }
.thread-post-actions button { border:0; border-radius:8px; padding:7px 9px; background:transparent; color:#788ba4; cursor:pointer; font-size:.68rem; font-weight:700; }
.thread-post-actions button:hover { background:rgba(255,255,255,.06); color:#e7edf6; }
.thread-post-actions button.danger:hover { background:rgba(255,102,114,.08); color:#ff8c95; }
.post-reaction-bar { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }
.post-reaction { display:inline-flex; align-items:center; gap:5px; min-height:31px; padding:0 9px; border:1px solid rgba(255,255,255,.08); border-radius:999px; background:rgba(255,255,255,.025); color:#758398; cursor:pointer; transition:.18s ease; }
.post-reaction:hover:not(:disabled),.post-reaction.selected { border-color:rgba(96,183,255,.28); background:rgba(96,183,255,.09); color:#b8ddfb; }
.post-reaction:disabled { cursor:not-allowed; opacity:.48; }
.post-reaction span { font-size:.83rem; }.post-reaction b,.post-reaction em { font-size:.65rem; font-style:normal; }.post-reaction em { color:#9eadc1; }

.forum-poll-card { margin-bottom:22px; padding:25px; border:1px solid rgba(255,255,255,.11); border-radius:22px; background:linear-gradient(145deg,rgba(15,23,38,.96),rgba(10,16,27,.95)); box-shadow:0 25px 55px rgba(0,0,0,.2); }
.poll-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; margin-bottom:18px; }
.poll-heading h2 { margin:0; font-family:"Manrope",sans-serif; font-size:1.35rem; }
.poll-heading > span { color:#728097; font-size:.73rem; }
.poll-options { display:grid; gap:10px; }
.poll-option { position:relative; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; overflow:hidden; padding:14px; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:rgba(255,255,255,.025); cursor:pointer; }
.poll-option.selected { border-color:rgba(96,183,255,.30); }
.poll-option input { position:relative; z-index:2; accent-color:#60b7ff; }
.poll-option-copy { position:relative; z-index:2; display:flex; justify-content:space-between; gap:14px; }.poll-option-copy strong { font-size:.8rem; }.poll-option-copy small { color:#728097; font-size:.68rem; }
.poll-progress { position:absolute; inset:0; pointer-events:none; }.poll-progress i { display:block; height:100%; background:linear-gradient(90deg,rgba(96,183,255,.08),rgba(96,183,255,.02)); }
.poll-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; color:#748198; font-size:.7rem; }

.related-thread-list { display:grid; margin-top:13px; }
.related-thread-list a { display:grid; gap:3px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.related-thread-list a:last-child { border-bottom:0; }.related-thread-list strong { font-size:.76rem; line-height:1.35; }.related-thread-list small { color:#67758a; font-size:.65rem; }
.staff-note-list { display:grid; gap:9px; margin-top:13px; }.staff-note-list article { padding:11px; border:1px solid rgba(255,166,0,.13); border-radius:11px; background:rgba(255,166,0,.045); }.staff-note-list article > div { display:flex; justify-content:space-between; gap:10px; }.staff-note-list strong,.staff-note-list time { font-size:.65rem; }.staff-note-list time { color:#68768b; }.staff-note-list p { margin:7px 0; color:#b1bbca; font-size:.7rem; white-space:pre-wrap; }.staff-note-list button,.sidebar-title-row button { padding:0; border:0; background:none; color:#da9f40; cursor:pointer; font-size:.65rem; font-weight:700; }
.thread-moderation-buttons { display:grid; gap:8px; width:100%; }.thread-moderation-buttons .button { width:100%; }

/* Category filters and thread lists */
.forum-category-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.forum-category-toolbar input,.forum-category-toolbar select { min-height:43px; border:1px solid var(--line); border-radius:11px; background:rgba(255,255,255,.025); color:var(--text); padding:0 12px; }
.forum-category-toolbar input { flex:1 1 240px; }.forum-category-toolbar select { flex:0 1 170px; }
.thread-prefix-chip,.thread-solved-chip { display:inline-flex; align-items:center; min-height:22px; padding:0 7px; border-radius:999px; font-size:.61rem; font-weight:800; }
.thread-prefix-chip { border:1px solid color-mix(in srgb,var(--prefix-color) 45%,transparent); background:color-mix(in srgb,var(--prefix-color) 12%,transparent); color:color-mix(in srgb,var(--prefix-color) 80%,white); }
.thread-solved-chip { background:rgba(103,215,162,.10); color:#83dfb1; }

/* Support center */
.support-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 18px; }
.support-search { flex:1 1 260px; min-height:44px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.025); color:var(--text); padding:0 13px; }
.support-toolbar select { min-height:44px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.025); color:var(--text); padding:0 12px; }
.ticket-row { grid-template-columns:48px minmax(0,1fr) auto auto; }
.ticket-row-meta { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.ticket-priority-pill,.ticket-escalation-pill,.ticket-sla-pill { display:inline-flex; min-height:22px; align-items:center; padding:0 7px; border-radius:999px; font-size:.59rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.ticket-priority-pill { background:rgba(96,183,255,.08); color:#8dcbfa; }.ticket-priority-pill.high,.ticket-priority-pill.urgent { background:rgba(255,102,114,.09); color:#ff919a; }.ticket-escalation-pill { background:rgba(255,166,0,.10); color:#ffbf4c; }.ticket-sla-pill { background:rgba(255,255,255,.06); color:#a5b1c4; }.ticket-sla-pill.overdue { background:rgba(255,102,114,.10); color:#ff929b; }
.support-kb-preview { display:grid; gap:10px; }.support-kb-preview a { display:grid; gap:3px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.07); }.support-kb-preview a:last-child { border:0; }.support-kb-preview strong { font-size:.78rem; }.support-kb-preview small { color:#718096; font-size:.67rem; }
.ticket-attachment-list { display:grid; gap:7px; margin-top:12px; }.ticket-attachment { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(255,255,255,.025); }.ticket-attachment a { color:#9dcfff; font-size:.72rem; font-weight:700; }.ticket-attachment small { color:#68768b; font-size:.63rem; }.ticket-attachment button { border:0; background:none; color:#ff838d; cursor:pointer; }
.ticket-message-avatar-row { display:flex; align-items:center; gap:10px; }.ticket-message-avatar { width:38px; height:38px; display:grid; place-items:center; overflow:hidden; border-radius:10px; background:#182235; font-size:.7rem; font-weight:800; }.ticket-message-avatar img { width:100%; height:100%; object-fit:cover; }
.ticket-staff-tools { display:grid; gap:14px; }.canned-response-picker { display:grid; gap:7px; }.ticket-event-list { display:grid; gap:8px; max-height:340px; overflow:auto; }.ticket-event-list article { padding:9px 0; border-bottom:1px solid rgba(255,255,255,.07); }.ticket-event-list strong { display:block; font-size:.7rem; }.ticket-event-list small { color:#68768b; font-size:.62rem; }
.rating-stars { display:flex; gap:7px; }.rating-stars label { cursor:pointer; }.rating-stars input { position:absolute; opacity:0; }.rating-stars span { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:10px; color:#66758b; font-size:1.2rem; }.rating-stars input:checked ~ span,.rating-stars label:hover span { border-color:rgba(255,166,0,.35); background:rgba(255,166,0,.08); color:#ffa600; }

/* Knowledge base and system health */
.help-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.help-article-card { min-height:190px; display:flex; flex-direction:column; padding:21px; border:1px solid var(--line); border-radius:17px; background:var(--pro-panel); }.help-article-card h2 { margin:5px 0 8px; font-family:"Manrope",sans-serif; font-size:1rem; }.help-article-card p { margin:0; color:#8290a5; font-size:.78rem; }.help-article-card footer { display:flex; justify-content:space-between; margin-top:auto; padding-top:18px; color:#657287; font-size:.65rem; }
.health-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }.health-metric { padding:19px; border:1px solid var(--line); border-radius:16px; background:var(--pro-panel); }.health-metric span { color:#758399; font-size:.7rem; }.health-metric strong { display:block; margin-top:7px; font-family:"Manrope",sans-serif; font-size:1.5rem; }.monitor-list,.error-list,.backup-list { display:grid; }.monitor-row,.error-row,.backup-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:15px; align-items:center; padding:14px 18px; border-bottom:1px solid var(--line); }.monitor-row:last-child,.error-row:last-child,.backup-row:last-child { border-bottom:0; }.monitor-status { width:10px; height:10px; border-radius:50%; background:#66758a; }.monitor-status.up { background:#67d7a2; box-shadow:0 0 0 5px rgba(103,215,162,.09); }.monitor-status.down { background:#ff6672; box-shadow:0 0 0 5px rgba(255,102,114,.09); }

/* Error and maintenance pages */
.system-state-page { min-height:100vh; display:grid; place-items:center; padding:40px 20px; background:radial-gradient(circle at 50% 15%,rgba(96,183,255,.10),transparent 34%),#080b13; }
.system-state-card { width:min(620px,100%); padding:46px; border:1px solid rgba(255,255,255,.1); border-radius:28px; background:rgba(14,20,33,.94); text-align:center; box-shadow:0 35px 85px rgba(0,0,0,.36); }.system-state-card img { margin:0 auto 22px; }.system-state-code { color:#60b7ff; font-family:"Manrope",sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.18em; }.system-state-card h1 { margin:10px 0; font-family:"Manrope",sans-serif; font-size:clamp(2.2rem,7vw,4rem); letter-spacing:-.055em; }.system-state-card p { color:#8b98ad; }.system-state-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:25px; }

.muted-copy { color:#718096 !important; }
body[data-theme="light"] { --pro-panel:rgba(255,255,255,.96); --pro-panel-2:#f7f9fc; --pro-line:rgba(18,30,50,.10); }
body[data-theme="light"] .thread-post,body[data-theme="light"] .sidebar-card,body[data-theme="light"] .forum-poll-card,body[data-theme="light"] .help-article-card,body[data-theme="light"] .health-metric { background:linear-gradient(180deg,#fff,#f8fafc); box-shadow:0 18px 42px rgba(31,48,75,.08); }
body[data-theme="light"] .thread-body,body[data-theme="light"] .thread-author-meta strong { color:#182337; }
body[data-theme="light"] .thread-avatar-image { background:#e7edf6; }

@media (max-width:1050px) { .health-grid { grid-template-columns:repeat(2,1fr); }.help-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:780px) {
  .thread-heading-actions { justify-content:flex-start; }
  .thread-author-card { flex-direction:row; align-items:center; text-align:left; }
  .thread-author-meta { justify-items:start; }
  .thread-author-role { justify-content:flex-start; }
  .poll-heading,.poll-footer { align-items:flex-start; flex-direction:column; }
  .ticket-row { grid-template-columns:42px minmax(0,1fr); }.ticket-row > .ticket-status,.ticket-row > time { grid-column:2; justify-self:start; }
  .help-grid,.health-grid { grid-template-columns:1fr; }
}
@media (max-width:520px) { .system-state-card { padding:34px 22px; }.post-reaction b { display:none; }.thread-heading-actions .button { flex:1 1 130px; }.forum-poll-card { padding:19px; } }
.admin-resource-list { display:grid; }
.admin-resource-row { min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--line); }
.admin-resource-row:last-child { border-bottom:0; }
.admin-resource-row > span { min-width:0; display:grid; gap:2px; }
.admin-resource-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.76rem; }
.admin-resource-row small { color:#6f7e94; font-size:.65rem; }
.admin-resource-row > div { display:flex; align-items:center; gap:8px; }
.admin-resource-row button,.admin-resource-row a { border:0; background:none; color:#88b9e4; cursor:pointer; font-size:.65rem; font-weight:700; }
.admin-resource-row button:last-child { color:#e9858d; }
.article-detail-heading { max-width:850px; margin:10px auto 38px; text-align:center; }
.article-detail-heading h1 { margin:9px 0; font-family:"Manrope",sans-serif; font-size:clamp(2.3rem,6vw,4.6rem); line-height:1; letter-spacing:-.055em; }
.article-detail-heading p { color:#8b98ad; font-size:1rem; }.article-detail-heading small { color:#69768b; }
.article-detail-body { max-width:850px; margin:0 auto; font-size:1rem; line-height:1.8; }
.article-help-footer { max-width:850px; display:flex; align-items:center; justify-content:space-between; gap:25px; margin:45px auto 0; padding-top:25px; border-top:1px solid var(--line); }.article-help-footer p { margin:4px 0 0; color:#7c899d; }
.health-queue .settings-switch-row b { font-family:"Manrope",sans-serif; font-size:1.15rem; }
.ticket-details dd.overdue { color:#ff7e88; }

.system-state-nav {
  position: fixed;
  inset: 18px 18px auto;
  z-index: 10;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.system-state-nav a {
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(8,11,19,.72);
  color: #cbd6e6;
  font-size: .86rem;
  font-weight: 700;
  backdrop-filter: blur(12px);
}
.system-state-nav a:hover {
  color: #fff;
  background: rgba(255,255,255,.08);
}
