/* Extracted from app/templates/support.html (inline <style>) — frontend consolidation.
   Static CSS (no Jinja). Uses tokens from tokens.css. */

    .support-hero { padding: 120px 0 48px; text-align: center; }
    .support-hero h1 {
      font-size: 2.4rem; font-weight: 800;
      background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.7) 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
      margin-bottom: 12px;
    }
    .support-hero p { color: rgba(255,255,255,0.55); font-size: 1.05rem; max-width: 560px; margin: 0 auto; }

    /* Search */
    .support-search {
      max-width: 540px; margin: 32px auto 0; position: relative;
    }
    .support-search input {
      width: 100%; padding: 14px 18px 14px 44px; border-radius: 12px;
      border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.04);
      color: #fff; font-size: 0.95rem; outline: none; transition: border-color 0.2s;
    }
    .support-search input:focus { border-color: rgba(99,102,241,0.5); }
    .support-search input::placeholder { color: rgba(255,255,255,0.3); }
    .support-search-icon {
      position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
      font-size: 1.1rem; opacity: 0.4;
    }

    /* Category Pills */
    .support-cats {
      display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
      max-width: 700px; margin: 32px auto 48px; padding: 0 24px;
    }
    .support-cat-pill {
      padding: 8px 18px; border-radius: 20px; font-size: 0.82rem; font-weight: 600;
      background: rgba(255,255,255,0.04); color: rgba(255,255,255,0.5);
      border: 1px solid rgba(255,255,255,0.06); cursor: pointer; transition: all 0.2s;
    }
    .support-cat-pill:hover, .support-cat-pill.active {
      background: rgba(99,102,241,0.15); color: var(--primary-light, #818cf8); border-color: rgba(99,102,241,0.3);
    }

    /* FAQ Container */
    .support-container { max-width: 760px; margin: 0 auto; padding: 0 24px 80px; }
    .support-section-title {
      font-size: 1.1rem; font-weight: 700; color: rgba(255,255,255,0.85);
      margin: 0 0 16px; padding-bottom: 8px;
      border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .support-section-title .section-icon { margin-right: 8px; }
    .support-section { margin-bottom: 40px; }

    /* FAQ Items */
    .faq-item {
      background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06);
      border-radius: 12px; margin-bottom: 10px; overflow: hidden; transition: all 0.2s;
    }
    .faq-item:hover { border-color: rgba(255,255,255,0.1); }
    .faq-q {
      padding: 16px 20px; cursor: pointer; display: flex; align-items: center;
      justify-content: space-between; color: rgba(255,255,255,0.8); font-size: 0.92rem;
      font-weight: 500;
    }
    .faq-q .faq-arrow {
      font-size: 0.7rem; transition: transform 0.3s; color: rgba(255,255,255,0.3);
    }
    .faq-a {
      max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.3s;
      padding: 0 20px; color: rgba(255,255,255,0.5); font-size: 0.88rem; line-height: 1.7;
    }
    .faq-item.open .faq-a { max-height: 1200px; padding: 0 20px 18px; }
    .faq-item.open .faq-q .faq-arrow { transform: rotate(180deg); }
    .faq-item.hidden { display: none; }

    /* Quick-Help Cards */
    .quick-help {
      display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
      max-width: 760px; margin: 0 auto 48px; padding: 0 24px;
    }
    @media (max-width: 640px) { .quick-help { grid-template-columns: 1fr; } }
    .qh-card {
      background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
      border-radius: 14px; padding: 24px; text-align: center; text-decoration: none;
      transition: all 0.2s;
    }
    .qh-card:hover {
      border-color: rgba(99,102,241,0.3); background: rgba(99,102,241,0.05);
      transform: translateY(-2px);
    }
    .qh-icon { font-size: 1.8rem; margin-bottom: 10px; }
    .qh-title { color: #fff; font-weight: 600; font-size: 0.92rem; margin-bottom: 6px; }
    .qh-desc { color: rgba(255,255,255,0.4); font-size: 0.8rem; line-height: 1.5; }

    /* CTA */
    .support-cta {
      text-align: center; max-width: 540px; margin: 0 auto; padding: 48px 24px 80px;
      border-top: 1px solid rgba(255,255,255,0.06);
    }
    .support-cta h3 { color: #fff; font-size: 1.2rem; margin-bottom: 8px; }
    .support-cta p { color: rgba(255,255,255,0.4); font-size: 0.9rem; margin-bottom: 20px; }
    .support-cta .btn {
      display: inline-block; padding: 12px 28px; border-radius: var(--radius-pill);
      background: linear-gradient(135deg, var(--primary, #6366f1), var(--primary-light, #818cf8)); color: #fff;
      font-weight: 600; font-size: 0.9rem; text-decoration: none; transition: all 0.2s;
    }
    .support-cta .btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(99,102,241,0.3); }

    /* Contact section (merged from contact page) */
    .support-contact-grid {
      display: grid; grid-template-columns: 1fr 1fr; gap: 32px;
      max-width: 760px; margin: 0 auto; padding: 0 24px 48px;
    }
    @media (max-width: 700px) { .support-contact-grid { grid-template-columns: 1fr; } }
    .support-contact-card {
      background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
      border-radius: 16px; padding: 32px;
    }
    .support-contact-card h2 { font-size: 1.15rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
    .support-contact-card p { color: rgba(255,255,255,0.5); font-size: 0.9rem; line-height: 1.6; margin-bottom: 20px; }
    .scontact-form { display: flex; flex-direction: column; gap: 14px; }
    .scontact-input, .scontact-textarea {
      background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1);
      border-radius: 10px; padding: 12px 16px; color: #fff; font-size: 0.92rem;
      font-family: inherit; transition: border-color 0.2s;
    }
    .scontact-input:focus, .scontact-textarea:focus { outline: none; border-color: var(--primary, #6366f1); }
    .scontact-textarea { min-height: 120px; resize: vertical; }
    .scontact-submit {
      background: linear-gradient(135deg, var(--primary, #6366f1), var(--primary-light, #818cf8)); color: #fff; border: none;
      border-radius: 10px; padding: 14px 28px; font-size: 0.95rem; font-weight: 600;
      cursor: pointer; transition: opacity 0.2s, transform 0.15s;
    }
    .scontact-submit:hover { opacity: 0.9; transform: translateY(-1px); }
    .scontact-submit:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
    .scontact-success {
      display: none; background: rgba(52,211,153,0.1); border: 1px solid rgba(52,211,153,0.2);
      border-radius: 10px; padding: 16px; color: #34d399; font-size: 0.9rem; text-align: center;
    }
    .scontact-success.show { display: block; }
    .scontact-info-item { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 20px; }
    .scontact-info-icon {
      width: 40px; height: 40px; background: rgba(99,102,241,0.12); border-radius: 10px;
      display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0;
    }
    .scontact-info-label { font-size: 0.82rem; color: rgba(255,255,255,0.4); margin-bottom: 2px; }
    .scontact-info-value { color: #fff; font-size: 0.95rem; font-weight: 500; }
    .scontact-info-value a { color: var(--primary-light, #818cf8); text-decoration: none; }
    .scontact-info-value a:hover { text-decoration: underline; }
  

    .support-tickets-section { max-width: 760px; margin: 0 auto; padding: 0 24px 48px; }
    .stix-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
    .stix-title { font-size: 1.1rem; font-weight: 700; color: rgba(255,255,255,0.9); }
    .stix-refresh { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 6px 12px; color: rgba(255,255,255,0.5); cursor: pointer; font-size: 0.85rem; transition: all 0.2s; }
    .stix-refresh:hover { border-color: rgba(99,102,241,0.4); color: var(--primary-light, #818cf8); }
    .stix-back-btn { background: rgba(99,102,241,0.12); border: 1px solid rgba(99,102,241,0.25); border-radius: var(--radius-pill); padding: 6px 14px; color: var(--primary-light, #818cf8); cursor: pointer; font-size: 0.85rem; transition: all 0.2s; font-weight: 600; }
    .stix-back-btn:hover { background: rgba(99,102,241,0.2); }
    .stix-state { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 40px 24px; text-align: center; flex-direction: column; color: rgba(255,255,255,0.4); font-size: 0.9rem; }
    .stix-spinner { width: 28px; height: 28px; border: 3px solid rgba(255,255,255,0.1); border-top-color: var(--primary, #6366f1); border-radius: 50%; animation: stix-spin 0.8s linear infinite; }
    @keyframes stix-spin { to { transform: rotate(360deg); } }
    .stix-error { color: #f87171; }
    .stix-card {
      background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07);
      border-radius: 12px; padding: 18px 20px; margin-bottom: 10px;
      display: flex; align-items: flex-start; gap: 14px; transition: border-color 0.2s;
      cursor: pointer;
    }
    .stix-card:hover { border-color: rgba(99,102,241,0.35); background: rgba(99,102,241,0.04); }
    .stix-type-icon { font-size: 1.5rem; flex-shrink: 0; margin-top: 2px; }
    .stix-body { flex: 1; min-width: 0; }
    .stix-row1 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
    .stix-card-title { font-size: 0.92rem; font-weight: 600; color: rgba(255,255,255,0.85); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 400px; }
    .stix-status-badge {
      display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: 0.72rem; font-weight: 700;
      flex-shrink: 0;
    }
    .stix-status-new { background: rgba(99,102,241,0.15); color: var(--primary-light, #818cf8); }
    .stix-status-in_progress { background: rgba(251,191,36,0.15); color: #fbbf24; }
    .stix-status-resolved { background: rgba(52,211,153,0.15); color: #34d399; }
    .stix-status-closed { background: rgba(156,163,175,0.12); color: #9ca3af; }
    .stix-reply-state {
      display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: 0.72rem; font-weight: 700;
      flex-shrink: 0;
    }
    .stix-reply-state-answered { background: rgba(52,211,153,0.12); color: #34d399; }
    .stix-reply-state-awaiting_support { background: rgba(251,191,36,0.13); color: #fbbf24; }
    .stix-meta { font-size: 0.78rem; color: rgba(255,255,255,0.35); margin-bottom: 6px; }
    .stix-body-text { font-size: 0.85rem; color: rgba(255,255,255,0.45); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .stix-admin-note {
      margin-top: 10px; padding: 10px 14px; border-radius: 8px;
      background: rgba(52,211,153,0.07); border: 1px solid rgba(52,211,153,0.15);
      font-size: 0.82rem; color: #34d399;
    }
    .stix-admin-note-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.7; margin-bottom: 3px; }
    .stix-notify-hint {
      margin-top: 8px; font-size: 0.75rem; color: rgba(255,255,255,0.3);
    }
    /* ── Thread detail styles ── */
    .stix-detail-meta {
      background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
      border-radius: 12px; padding: 16px 20px; margin-bottom: 20px;
    }
    .stix-detail-meta h3 { font-size: 1rem; font-weight: 700; color: rgba(255,255,255,0.88); margin: 0 0 8px; }
    .stix-detail-meta .stix-meta { margin: 0; }
    .stix-thread { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
    .stix-msg {
      display: flex; gap: 12px; align-items: flex-start;
    }
    .stix-msg.stix-msg-user { flex-direction: row-reverse; }
    .stix-msg-avatar {
      width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center;
      justify-content: center; font-size: 0.9rem; flex-shrink: 0;
      background: rgba(99,102,241,0.15); color: var(--primary-light, #818cf8); border: 1px solid rgba(99,102,241,0.2);
    }
    .stix-msg-user .stix-msg-avatar { background: rgba(52,211,153,0.12); color: #34d399; border-color: rgba(52,211,153,0.2); }
    .stix-msg-bubble {
      max-width: 82%; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
      border-radius: 12px; padding: 12px 16px;
    }
    .stix-msg-user .stix-msg-bubble { background: rgba(52,211,153,0.07); border-color: rgba(52,211,153,0.15); }
    .stix-msg-admin .stix-msg-bubble { background: rgba(99,102,241,0.07); border-color: rgba(99,102,241,0.15); }
    .stix-msg-sender { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 5px; }
    .stix-msg-user .stix-msg-sender { color: #34d399; text-align: right; }
    .stix-msg-admin .stix-msg-sender { color: var(--primary-light, #818cf8); }
    .stix-msg-text { font-size: 0.87rem; color: rgba(255,255,255,0.75); line-height: 1.55; white-space: pre-wrap; word-break: break-word; }
    .stix-msg-ts { font-size: 0.7rem; color: rgba(255,255,255,0.25); margin-top: 5px; }
    .stix-msg-user .stix-msg-ts { text-align: right; }
    /* original body shown as first message */
    .stix-thread-original .stix-msg-bubble {
      background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.1);
    }
    /* Reply box */
    .stix-reply-wrap { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 16px; }
    .stix-reply-input { width: 100%; background: transparent; border: none; outline: none; color: rgba(255,255,255,0.8); font-size: 0.88rem; line-height: 1.55; resize: vertical; font-family: inherit; }
    .stix-reply-input::placeholder { color: rgba(255,255,255,0.25); }
    .stix-reply-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
    .stix-reply-counter { font-size: 0.75rem; color: rgba(255,255,255,0.25); }
    .stix-reply-btn { background: var(--primary); color: #fff; border: none; border-radius: var(--radius-pill); padding: 8px 20px; font-size: 0.88rem; font-weight: 600; cursor: pointer; transition: background 0.2s; }
    .stix-reply-btn:hover:not(:disabled) { background: #4f46e5; }
    .stix-reply-btn:disabled { opacity: 0.5; cursor: not-allowed; }
    .stix-reply-feedback { margin-top: 10px; font-size: 0.85rem; border-radius: 8px; padding: 10px 14px; }
    .stix-reply-feedback.ok { background: rgba(52,211,153,0.1); color: #34d399; border: 1px solid rgba(52,211,153,0.2); }
    .stix-reply-feedback.err { background: rgba(248,113,113,0.1); color: #f87171; border: 1px solid rgba(248,113,113,0.2); }
    .stix-closed-notice { text-align: center; padding: 18px; border-radius: 12px; background: rgba(156,163,175,0.07); border: 1px solid rgba(156,163,175,0.12); font-size: 0.87rem; color: #9ca3af; }
    /* light theme overrides */
    [data-theme="light"] .stix-notify-hint { color: rgba(0,0,0,0.35); }
    [data-theme="light"] .stix-card { background: #fff; border-color: rgba(0,0,0,0.08); }
    [data-theme="light"] .stix-card-title { color: #1e1e2e; }
    [data-theme="light"] .stix-meta, [data-theme="light"] .stix-body-text { color: rgba(0,0,0,0.45); }
    [data-theme="light"] .stix-title { color: #1e1e2e; }
    [data-theme="light"] .stix-msg-text { color: rgba(0,0,0,0.75); }
    [data-theme="light"] .stix-reply-input { color: rgba(0,0,0,0.8); }
    [data-theme="light"] .stix-reply-input::placeholder { color: rgba(0,0,0,0.3); }
  
