.ticket-filters{scrollbar-width:none;gap:.4rem;margin-bottom:1rem;display:flex;overflow-x:auto}.ticket-filters::-webkit-scrollbar{display:none}.ticket-filters button{border:1px solid var(--border-color);background:var(--surface);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.82rem;font-weight:600;transition:color .18s,border-color .18s,background-color .18s;display:inline-flex}.ticket-filters button span{background:var(--card-bg-alt);border-radius:999px;padding:0 .4rem;font-size:.72rem}.ticket-filters button:hover{color:var(--text-primary)}.ticket-filters button.is-active{border-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 8%, var(--surface));color:var(--accent-color)}.tickets-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.ticket-item{color:var(--text-primary);transition:border-color .2s ease, box-shadow .2s ease, transform .2s var(--ease-out);align-items:center;gap:.9rem;padding:.9rem 1rem;text-decoration:none;display:flex}.ticket-item:hover{color:var(--text-primary);border-color:color-mix(in srgb, var(--accent-color) 30%, var(--border-color));transform:translateY(-1px);box-shadow:0 10px 24px -16px #0000004d}.ticket-icon{background:color-mix(in srgb, var(--accent-color) 10%, transparent);width:42px;height:42px;color:var(--accent-color);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.ticket-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.ticket-subject{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.ticket-meta{color:var(--text-secondary);font-size:.78rem}.ticket-chevron{color:var(--text-secondary);transition:transform .2s var(--ease-out), color .2s ease;flex-shrink:0}.ticket-item:hover .ticket-chevron{color:var(--accent-color);transform:translate(-3px)}.tickets-filter-empty{text-align:center;color:var(--text-secondary);padding:2rem 1rem}.tickets-empty{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:480px;margin:2rem auto;padding:2.5rem 1.5rem;display:flex}.tickets-empty h2{margin:0;font-size:1.15rem}.tickets-empty p{color:var(--text-secondary);margin:0 0 .5rem;font-size:.9rem;line-height:1.9}.tickets-empty-icon{background:color-mix(in srgb, var(--accent-color) 10%, transparent);width:72px;height:72px;color:var(--accent-color);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;display:inline-flex}.ticket-form{max-width:760px}.ticket-form .form-group{position:relative}.ticket-form-count{color:var(--text-secondary);pointer-events:none;font-size:.72rem;position:absolute;bottom:.6rem;left:.8rem}.ticket-form-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ticket-form-footer p{color:var(--text-secondary);align-items:center;gap:.35rem;margin:0;font-size:.8rem;display:flex}.ticket-detail-page{max-width:900px}.ticket-header{align-items:center;gap:.85rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.ticket-back{border:1px solid var(--border-color);width:38px;height:38px;color:var(--text-secondary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:color .18s,border-color .18s;display:inline-flex}.ticket-back:hover{color:var(--accent-color);border-color:color-mix(in srgb, var(--accent-color) 40%, var(--border-color))}.ticket-header-text{flex:1;min-width:0}.ticket-header-text h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;overflow:hidden}.ticket-header-text span{color:var(--text-secondary);font-size:.78rem}.chat{flex-direction:column;padding:0;display:flex;overflow:hidden}.chat-messages{background:radial-gradient(circle at 0 0, color-mix(in srgb, var(--accent-color) 5%, transparent), transparent 40%), var(--background);flex-direction:column;gap:.6rem;min-height:280px;max-height:min(62vh,640px);padding:1.25rem;display:flex;overflow-y:auto}.date-separator{background:var(--surface);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;align-self:center;margin:.4rem 0;padding:.15rem .75rem;font-size:.72rem}.reply-bubble{max-width:min(75%,520px);animation:bubbleIn .25s var(--ease-out);border-radius:18px;flex-direction:column;gap:.2rem;padding:.65rem .9rem .45rem;display:flex}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.user-reply{background:var(--btn-primary-bg);color:#fff;border-start-start-radius:6px;align-self:flex-start}.admin-reply{background:var(--surface);border:1px solid var(--border-color);color:var(--text-primary);border-start-end-radius:6px;align-self:flex-end}.reply-author{color:var(--accent-color);font-size:.72rem;font-weight:700}.reply-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.85}.reply-timestamp{opacity:.7;align-self:flex-end;font-size:.68rem}.chat-composer{border-top:1px solid var(--border-color);background:var(--surface);align-items:flex-end;gap:.5rem;padding:.75rem;display:flex}.chat-textarea{border:1px solid var(--border-color);background:var(--background);min-height:48px;max-height:200px;color:var(--text-primary);font:inherit;resize:none;border-radius:16px;flex:1;padding:.75rem .95rem;font-size:.9rem;line-height:1.6;transition:border-color .18s,box-shadow .18s}.chat-textarea:focus{border-color:color-mix(in srgb, var(--accent-color) 55%, var(--border-color));box-shadow:var(--focus-ring);outline:none}.chat-submit-btn{background:var(--btn-primary-bg);color:#fff;cursor:pointer;border:0;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;transition:filter .18s,opacity .18s,transform .12s;display:inline-flex}.chat-submit-btn svg{transform:scaleX(-1)}.chat-submit-btn:hover:not(:disabled){filter:brightness(1.08)}.chat-submit-btn:active:not(:disabled){transform:scale(.94)}.chat-submit-btn:disabled{cursor:not-allowed;opacity:.45}.chat-closed{border-top:1px solid var(--border-color);text-align:center;color:var(--text-secondary);margin:0;padding:1rem;font-size:.85rem}@media (max-width:600px){.ticket-item{flex-wrap:wrap;gap:.6rem .75rem}.ticket-info{flex-basis:calc(100% - 60px)}.ticket-item .status-pill{margin-inline-start:54px}.ticket-chevron{display:none}.reply-bubble{max-width:88%}.chat-messages{padding:.9rem}}
