/* PME Support System — Frontend */
:root {
    --sup-bg: #0f172a;
    --sup-card: #1e293b;
    --sup-border: #334155;
    --sup-text: #e2e8f0;
    --sup-muted: #94a3b8;
    --sup-accent: #3b82f6;
    --sup-accent2: #8b5cf6;
    --sup-success: #10b981;
    --sup-warning: #f59e0b;
    --sup-error: #ef4444;
    --sup-radius: 12px;
}

/* Buttons */
.pme-sup-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 20px; border-radius: 10px; font-weight: 600; font-size: 0.9rem; cursor: pointer; transition: all 0.25s; border: none; text-decoration: none; }
.pme-sup-btn-primary { background: linear-gradient(135deg, var(--sup-accent), var(--sup-accent2)); color: #fff; }
.pme-sup-btn-primary:hover { box-shadow: 0 6px 20px rgba(59,130,246,0.3); transform: translateY(-1px); color: #fff; }
.pme-sup-btn-secondary { background: var(--sup-card); color: var(--sup-text); border: 1px solid var(--sup-border); }
.pme-sup-btn-full { width: 100%; justify-content: center; padding: 14px; font-size: 1rem; }

/* Form */
.pme-sup-form-wrap { max-width: 720px; margin: 0 auto; }
.pme-sup-form-header { margin-bottom: 32px; }
.pme-sup-form-header h2 { font-size: 1.6rem; font-weight: 800; color: var(--sup-text); margin: 0 0 8px; }
.pme-sup-form-header p { color: var(--sup-muted); margin: 0; }

.pme-sup-form { display: flex; flex-direction: column; gap: 20px; }
.pme-sup-field label { display: block; font-weight: 600; margin-bottom: 6px; color: var(--sup-text); font-size: 0.9rem; }
.pme-sup-field label .required { color: var(--sup-error); }
.pme-sup-field input, .pme-sup-field select, .pme-sup-field textarea {
    width: 100%; padding: 12px 16px; background: var(--sup-card); border: 1px solid var(--sup-border);
    color: var(--sup-text); border-radius: var(--sup-radius); font-size: 0.95rem; font-family: inherit;
    transition: border-color 0.2s; box-sizing: border-box;
}
.pme-sup-field input:focus, .pme-sup-field select:focus, .pme-sup-field textarea:focus {
    border-color: var(--sup-accent); outline: none; box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
}
.pme-sup-field textarea { resize: vertical; min-height: 120px; }
.pme-sup-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .pme-sup-field-row { grid-template-columns: 1fr; } }

/* Success message */
.pme-sup-success, .pme-sup-login-required, .pme-sup-empty {
    text-align: center; padding: 48px 24px; background: var(--sup-card); border: 1px solid var(--sup-border); border-radius: var(--sup-radius);
}
.pme-sup-icon { font-size: 48px; margin-bottom: 16px; }
.pme-sup-success h3, .pme-sup-login-required h3, .pme-sup-empty h3 { color: var(--sup-text); margin: 0 0 8px; }
.pme-sup-success p, .pme-sup-login-required p, .pme-sup-empty p { color: var(--sup-muted); margin: 0 0 20px; }
.pme-sup-small { font-size: 0.82rem; color: var(--sup-muted); margin-top: 12px !important; }
.pme-sup-small a { color: var(--sup-accent); }

/* Ticket list */
.pme-sup-list-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 12px; }
.pme-sup-list-header h2 { margin: 0; color: var(--sup-text); }

.pme-sup-table-wrap { overflow-x: auto; }
.pme-sup-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--sup-card); border: 1px solid var(--sup-border); border-radius: var(--sup-radius); overflow: hidden; }
.pme-sup-table th { background: rgba(255,255,255,0.03); color: var(--sup-muted); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.5px; padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--sup-border); font-weight: 600; }
.pme-sup-table td { padding: 14px 16px; color: var(--sup-text); border-bottom: 1px solid var(--sup-border); font-size: 0.9rem; }
.pme-sup-table tbody tr:last-child td { border-bottom: none; }
.pme-sup-ticket-row { cursor: pointer; transition: background 0.15s; }
.pme-sup-ticket-row:hover { background: rgba(59,130,246,0.05); }

/* Badges */
.pme-sup-badge { display: inline-block; padding: 3px 10px; border-radius: 100px; font-size: 0.75rem; font-weight: 600; white-space: nowrap; }
.pme-sup-badge-open { background: rgba(16,185,129,0.12); color: #10b981; }
.pme-sup-badge-in-progress { background: rgba(59,130,246,0.12); color: #3b82f6; }
.pme-sup-badge-resolved { background: rgba(245,158,11,0.12); color: #f59e0b; }
.pme-sup-badge-closed { background: rgba(148,163,184,0.12); color: #94a3b8; }

/* Single ticket view */
.pme-sup-ticket-view { max-width: 800px; margin: 0 auto; }
.pme-sup-back { color: var(--sup-accent); text-decoration: none; font-size: 0.85rem; display: inline-block; margin-bottom: 16px; }
.pme-sup-ticket-header h2 { font-size: 1.4rem; font-weight: 800; color: var(--sup-text); margin: 0 0 12px; }
.pme-sup-ticket-meta { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 24px; }
.pme-sup-ticket-num { font-family: monospace; color: var(--sup-muted); font-size: 0.82rem; }
.pme-sup-ticket-date { color: var(--sup-muted); font-size: 0.82rem; }

/* Conversation */
.pme-sup-conversation { display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.pme-sup-message { padding: 16px 20px; border-radius: var(--sup-radius); }
.pme-sup-message-customer { background: var(--sup-card); border: 1px solid var(--sup-border); }
.pme-sup-message-staff { background: rgba(16,185,129,0.06); border: 1px solid rgba(16,185,129,0.2); }
.pme-sup-msg-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.pme-sup-msg-header strong { color: var(--sup-text); font-size: 0.9rem; }
.pme-sup-msg-date { color: var(--sup-muted); font-size: 0.78rem; }
.pme-sup-staff-badge { background: var(--sup-success); color: #fff; font-size: 0.65rem; padding: 2px 8px; border-radius: 100px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.pme-sup-msg-body { color: var(--sup-text); line-height: 1.7; font-size: 0.92rem; }
.pme-sup-msg-body p { margin: 0 0 8px; }

/* Reply form */
.pme-sup-reply-form { border-top: 1px solid var(--sup-border); padding-top: 24px; }
.pme-sup-reply-form h3 { color: var(--sup-text); font-size: 1rem; margin: 0 0 12px; }
.pme-sup-reply-form textarea { width: 100%; padding: 12px 16px; background: var(--sup-card); border: 1px solid var(--sup-border); color: var(--sup-text); border-radius: var(--sup-radius); font-size: 0.95rem; font-family: inherit; resize: vertical; box-sizing: border-box; margin-bottom: 12px; }
.pme-sup-reply-form textarea:focus { border-color: var(--sup-accent); outline: none; }
.pme-sup-reply-actions { display: flex; gap: 8px; }

.pme-sup-ticket-closed-msg { text-align: center; padding: 20px; background: var(--sup-card); border: 1px solid var(--sup-border); border-radius: var(--sup-radius); color: var(--sup-muted); }
.pme-sup-ticket-closed-msg a { color: var(--sup-accent); }

/* Knowledge Base */
.pme-sup-kb-header { text-align: center; margin-bottom: 40px; }
.pme-sup-kb-header h2 { font-size: 1.8rem; font-weight: 800; color: var(--sup-text); margin: 0 0 20px; }
.pme-sup-kb-search { max-width: 480px; margin: 0 auto; display: flex; gap: 0; }
.pme-sup-kb-search input { flex: 1; padding: 14px 20px; background: var(--sup-card); border: 1px solid var(--sup-border); color: var(--sup-text); border-radius: var(--sup-radius) 0 0 var(--sup-radius); font-size: 1rem; }
.pme-sup-kb-search input:focus { border-color: var(--sup-accent); outline: none; }
.pme-sup-kb-search button { padding: 14px 20px; background: var(--sup-accent); border: none; color: #fff; border-radius: 0 var(--sup-radius) var(--sup-radius) 0; cursor: pointer; font-size: 1rem; }

.pme-sup-kb-categories { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 40px; }
.pme-sup-kb-cat { background: var(--sup-card); border: 1px solid var(--sup-border); border-radius: var(--sup-radius); padding: 24px; transition: border-color 0.2s; }
.pme-sup-kb-cat:hover { border-color: var(--sup-accent); }
.pme-sup-kb-cat-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.pme-sup-kb-cat-icon { font-size: 28px; }
.pme-sup-kb-cat-header h3 { margin: 0; color: var(--sup-text); font-size: 1.05rem; flex: 1; }
.pme-sup-kb-count { font-size: 0.75rem; color: var(--sup-muted); }

.pme-sup-kb-list { list-style: none; padding: 0; margin: 0; }
.pme-sup-kb-list li { padding: 6px 0; border-top: 1px solid var(--sup-border); }
.pme-sup-kb-list li:first-child { border-top: none; }
.pme-sup-kb-list li a { color: var(--sup-accent); text-decoration: none; font-size: 0.88rem; }
.pme-sup-kb-list li a:hover { text-decoration: underline; }

.pme-sup-kb-articles { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.pme-sup-kb-article { display: block; background: var(--sup-card); border: 1px solid var(--sup-border); border-radius: var(--sup-radius); padding: 20px; text-decoration: none; transition: border-color 0.2s, transform 0.2s; }
.pme-sup-kb-article:hover { border-color: var(--sup-accent); transform: translateY(-2px); }
.pme-sup-kb-article h4 { color: var(--sup-text); margin: 0 0 6px; font-size: 0.95rem; }
.pme-sup-kb-article p { color: var(--sup-muted); font-size: 0.82rem; margin: 0; line-height: 1.5; }

.pme-sup-kb-recent { margin-bottom: 40px; }
.pme-sup-kb-recent h3 { color: var(--sup-text); margin-bottom: 16px; }

.pme-sup-kb-cta { text-align: center; padding: 40px; background: var(--sup-card); border: 1px solid var(--sup-border); border-radius: var(--sup-radius); }
.pme-sup-kb-cta h3 { color: var(--sup-text); margin: 0 0 8px; }
.pme-sup-kb-cta p { color: var(--sup-muted); margin: 0 0 20px; }

.pme-sup-kb-results h3 { color: var(--sup-text); margin-bottom: 16px; }
.pme-sup-kb-results h3 small { color: var(--sup-muted); font-weight: 400; }
.pme-sup-empty-text { color: var(--sup-muted); }
.pme-sup-empty-text a { color: var(--sup-accent); }
