print / static /css /admin_components /support.css
Dilip8756's picture
Upload 101 files
5546f2c verified
/* ═══════════════════════════════════════════════════════════════
ADMIN SUPPORT PREMIUM CSS
═══════════════════════════════════════════════════════════════ */
.support-split-layout {
display: grid;
grid-template-columns: 400px 1fr;
gap: 20px;
height: calc(100vh - 240px);
background: transparent;
margin-bottom: 20px;
}
.support-sidebar {
display: flex;
flex-direction: column;
overflow: hidden;
padding: 0 !important;
}
.sidebar-header {
padding: 24px 20px;
background: var(--bg-color);
border-bottom: 1px solid var(--border-color);
}
.header-main {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 18px;
}
.header-main h4 {
font-size: 1.1rem;
font-weight: 700;
color: var(--text-color);
}
.ticket-status-count {
font-size: 0.72rem;
padding: 4px 10px;
background: rgba(67, 97, 238, 0.1);
color: var(--primary-color);
border-radius: 20px;
font-weight: 600;
}
/* Premium Search Wrapper */
.support-search-wrapper {
position: relative;
display: flex;
align-items: center;
}
.support-search-wrapper i {
position: absolute;
left: 14px;
color: var(--text-muted);
font-size: 0.85rem;
}
.support-search-wrapper input {
width: 100%;
padding: 10px 10px 10px 40px;
border-radius: 12px;
border: 1px solid var(--border-color);
background: var(--card-bg);
color: var(--text-color);
font-family: 'Outfit', sans-serif;
font-size: 0.88rem;
outline: none;
transition: all 0.3s ease;
}
.support-search-wrapper input:focus {
border-color: var(--primary-color);
box-shadow: 0 0 0 4px rgba(67, 97, 238, 0.08);
}
/* Modern Filters */
.support-filters {
display: flex;
gap: 8px;
padding: 14px 20px;
background: var(--bg-color);
border-bottom: 1px solid var(--border-color);
overflow-x: auto;
}
.s-filter-btn {
padding: 6px 14px;
border-radius: 20px;
border: 1px solid transparent;
background: transparent;
color: var(--text-muted);
font-size: 0.8rem;
font-weight: 600;
cursor: pointer;
white-space: nowrap;
transition: all 0.25s ease;
}
.s-filter-btn:hover {
color: var(--primary-color);
background: rgba(67, 97, 238, 0.05);
}
.s-filter-btn.active {
background: var(--primary-color);
color: white;
box-shadow: 0 4px 10px rgba(67, 97, 238, 0.2);
}
/* Ticket List Items */
.support-items-list {
flex: 1;
overflow-y: auto;
padding: 12px;
}
.tkt-card {
padding: 16px;
border-radius: 14px;
background: transparent;
border: 1px solid transparent;
margin-bottom: 10px;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
flex-direction: column;
gap: 10px;
}
.tkt-card:hover {
background: var(--bg-color);
border-color: var(--border-color);
transform: translateX(5px);
}
.tkt-card.active {
background: rgba(67, 97, 238, 0.04);
border-color: rgba(67, 97, 238, 0.2);
box-shadow: inset 4px 0 0 -1px var(--primary-color);
}
.tkt-meta-top {
display: flex;
justify-content: space-between;
align-items: center;
}
.tkt-id {
font-size: 0.7rem;
font-weight: 700;
color: var(--text-muted);
letter-spacing: 0.5px;
}
.tkt-date {
font-size: 0.72rem;
color: var(--text-muted);
}
.tkt-user {
display: flex;
align-items: center;
gap: 10px;
}
.tkt-avatar {
width: 32px;
height: 32px;
border-radius: 10px;
background: var(--primary-color);
color: white;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.85rem;
font-weight: 700;
}
.tkt-username {
font-size: 0.92rem;
font-weight: 600;
color: var(--text-color);
}
.tkt-subject {
font-size: 0.82rem;
color: var(--text-muted);
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.tkt-badges {
display: flex;
gap: 8px;
align-items: center;
}
/* ─── Detail Detail Workspace ───────────────────────────────── */
.support-workspace {
display: flex;
flex-direction: column;
overflow: hidden;
padding: 20px !important;
background: var(--bg-color); /* Subtle background for floating cards */
gap: 16px;
}
.workspace-empty-state {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--text-muted);
gap: 15px;
}
.empty-icon-box {
width: 80px;
height: 80px;
border-radius: 20px;
background: var(--bg-color);
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
color: var(--border-color);
}
/* Chat Layout */
.chat-profile-strip {
padding: 20px 24px;
background: var(--card-bg);
border-bottom: 1px solid var(--border-color);
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 20px 20px 0 0; /* Align with rounded corner */
}
.chat-user-info h3 {
font-size: 1.1rem;
margin-bottom: 4px;
color: var(--text-color);
}
.chat-user-meta {
font-size: 0.8rem;
color: var(--text-muted);
display: flex;
gap: 12px;
}
.chat-window {
flex: 1;
overflow-y: auto;
padding: 24px;
display: flex;
flex-direction: column;
gap: 20px;
background: var(--card-bg);
border-radius: 0 0 20px 20px; /* Unified rounded box */
border: 1px solid var(--border-color);
border-top: none;
}
.message-bubble {
max-width: 75%;
display: flex;
flex-direction: column;
gap: 5px;
}
.message-bubble.admin {
align-self: flex-end;
align-items: flex-end;
}
.message-bubble.user {
align-self: flex-start;
align-items: flex-start;
}
.bubble-content {
padding: 12px 16px;
border-radius: 16px;
font-size: 0.9rem;
line-height: 1.5;
position: relative;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.message-bubble.user .bubble-content {
background: var(--bg-color);
color: var(--text-color);
border-bottom-left-radius: 4px;
}
.message-bubble.admin .bubble-content {
background: var(--primary-color);
color: white;
border-bottom-right-radius: 4px;
}
.bubble-time {
font-size: 0.68rem;
color: var(--text-muted);
}
/* Chat Footer / Reply Box */
.chat-footer {
padding: 20px;
background: var(--card-bg);
border: 1px solid var(--border-color);
border-radius: 20px; /* Floating rounded reply box */
box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}
.reply-container {
background: var(--card-bg);
border: 1px solid var(--border-color);
border-radius: 16px;
padding: 12px;
transition: all 0.3s ease;
}
.reply-container:focus-within {
border-color: var(--primary-color);
box-shadow: 0 0 0 4px rgba(67, 97, 238, 0.08);
}
.reply-textarea {
width: 100%;
background: transparent;
border: none;
outline: none;
color: var(--text-color);
font-family: inherit;
font-size: 0.9rem;
resize: none;
margin-bottom: 10px;
}
.reply-actions-row {
display: flex;
justify-content: space-between;
align-items: center;
}
.left-actions {
display: flex;
gap: 8px;
}
.status-btn {
padding: 6px 12px;
border-radius: 8px;
font-size: 0.75rem;
font-weight: 600;
cursor: pointer;
border: 1px solid var(--border-color);
background: var(--bg-color);
color: var(--text-muted);
transition: all 0.2s ease;
}
.status-btn:hover {
background: var(--card-bg);
border-color: var(--text-muted);
}
.status-btn.resolve { color: #10b981; }
.status-btn.pending { color: #f59e0b; }
.status-btn.close { color: #ef4444; }
.send-reply-btn {
background: var(--primary-color);
color: white;
border: none;
padding: 8px 18px;
border-radius: 10px;
font-weight: 600;
font-size: 0.85rem;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
transition: all 0.3s ease;
}
.send-reply-btn:hover {
background: #3e5ae0;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(67, 97, 238, 0.3);
}
.send-reply-btn:active {
transform: scale(0.96);
}