.tickets-list { display:flex; flex-direction:column; gap:10px; }
.tickets-empty,.tickets-loading { color:var(--muted); font-size:14px; padding:20px 0; text-align:center; }
.ticket-card { background:#13101A; border:1px solid #2A2035; border-radius:10px; padding:14px 16px; cursor:pointer; transition:border-color .2s,background .2s; }
.ticket-card:hover { border-color:#f472b660; background:#1A1624; }
.ticket-card-top { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.ticket-cat { font-size:12px; background:#2A2035; border-radius:100px; padding:2px 10px; color:var(--text); }
.ticket-card-subject { font-size:15px; font-weight:600; color:var(--text); margin-bottom:6px; }
.ticket-card-meta { font-size:12px; color:var(--muted); }
.ticket-status { font-size:11px; border-radius:100px; padding:2px 10px; font-weight:600; }
.status-open { background:#fbbf2420; color:#fbbf24; border:1px solid #fbbf2440; }
.status-resolved { background:#4ade8020; color:#4ade80; border:1px solid #4ade8040; }
.status-unresolved { background:#f8717120; color:#f87171; border:1px solid #f8717140; }
.ticket-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; z-index:1000; }
.ticket-modal-overlay.hidden { display:none; }
.ticket-modal { background:#13101A; border:1px solid #2A2035; border-radius:16px; padding:24px; width:100%; max-width:520px; max-height:90vh; overflow-y:auto; position:relative; }
.ticket-chat-modal { max-width:640px; display:flex; flex-direction:column; padding:0; overflow:hidden; }
.ticket-modal-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid #2A2035; }
.ticket-modal-header h3 { margin:0; font-size:16px; font-weight:700; }
.ticket-modal-close { background:none; border:none; color:var(--muted); font-size:18px; cursor:pointer; padding:4px 8px; }
.ticket-modal-close:hover { color:var(--text); }
.ticket-select { width:100%; background:#0D0A14; border:1px solid #2A2035; border-radius:8px; color:var(--text); padding:10px 12px; font-size:14px; font-family:inherit; }
.ticket-select:focus { outline:none; border-color:#f472b6; }
textarea { width:100%; background:#0D0A14; border:1px solid #2A2035; border-radius:8px; color:var(--text); padding:10px 12px; font-size:14px; font-family:inherit; resize:vertical; box-sizing:border-box; }
textarea:focus { outline:none; border-color:#f472b6; }
.ticket-chat-messages { flex:1; overflow-y:auto; padding:16px 20px; display:flex; flex-direction:column; gap:12px; min-height:300px; max-height:50vh; }
.ticket-msg { max-width:85%; }
.ticket-msg-user { align-self:flex-start; }
.ticket-msg-admin { align-self:flex-end; }
.ticket-msg-header { display:flex; align-items:center; gap:6px; margin-bottom:4px; }
.ticket-msg-name { font-size:12px; font-weight:600; color:var(--text); }
.ticket-msg-admin-badge { font-size:10px; background:#f472b620; color:#f472b6; border-radius:100px; padding:1px 7px; }
.ticket-msg-time { font-size:11px; color:var(--muted); }
.ticket-msg-content { background:#1A1624; border:1px solid #2A2035; border-radius:10px; padding:10px 14px; font-size:14px; line-height:1.5; color:var(--text); }
.ticket-msg-admin .ticket-msg-content { background:#f472b610; border-color:#f472b630; }
.ticket-chat-input { padding:12px 16px; border-top:1px solid #2A2035; display:flex; gap:10px; align-items:flex-end; }
.ticket-chat-input textarea { flex:1; margin:0; min-height:40px; max-height:120px; }
.ticket-status-badge { font-size:12px; border-radius:100px; padding:2px 10px; font-weight:600; margin-left:8px; }
.acc-nav-admin { border-top:1px solid #2A2035; margin-top:4px; padding-top:4px; }
.tickets-admin-tabs { display:flex; gap:8px; margin-bottom:4px; }
