/* ============================================================================
   SUPPORT TICKETS — Styles
   ============================================================================ */

/* --- Toolbar --- */
.sup-toolbar { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; background:var(--card-bg,white); border-bottom:1px solid var(--border-color,#E6DED5); gap:12px; flex-wrap:wrap; }
.sup-toolbar-left { display:flex; align-items:center; gap:12px; }
.sup-toolbar-right { display:flex; align-items:center; gap:8px; }
.sup-search { display:flex; align-items:center; gap:6px; padding:6px 12px; border:1px solid var(--border-color,#E6DED5); border-radius:6px; background:white; min-width:220px; }
.sup-search input { border:none; outline:none; font-size:13px; font-family:inherit; background:transparent; color:var(--color-gray-700,#3D3023); flex:1; }
.sup-search svg { flex-shrink:0; color:var(--color-gray-400,#A89F94); }

/* --- Filters --- */
.sup-filters { display:flex; align-items:center; gap:8px; padding:12px 24px; background:var(--color-gray-50,#FDF8F3); border-bottom:1px solid var(--border-color,#E6DED5); flex-wrap:wrap; }
.sup-filter-select { padding:6px 12px; border:1px solid var(--border-color,#E6DED5); border-radius:6px; font-size:13px; font-family:inherit; background:white; color:var(--color-gray-700,#3D3023); cursor:pointer; min-width:120px; }
.sup-filter-select:focus { outline:none; border-color:var(--color-primary,#C62828); }
.sup-filter-label { font-size:12px; font-weight:600; color:var(--color-gray-500,#6B5B4D); text-transform:uppercase; letter-spacing:0.5px; }
.sup-filter-clear { padding:6px 12px; border:none; background:none; color:var(--color-primary,#C62828); font-size:13px; font-weight:600; cursor:pointer; }
.sup-filter-clear:hover { text-decoration:underline; }

/* --- Stats --- */
.sup-stats { display:flex; gap:16px; padding:16px 24px; flex-wrap:wrap; }
.sup-stat-card { flex:1; min-width:120px; padding:16px; background:white; border:1px solid var(--border-color,#E6DED5); border-radius:10px; text-align:center; }
.sup-stat-value { font-size:28px; font-weight:700; color:var(--color-gray-800,#2D2013); }
.sup-stat-label { font-size:12px; color:var(--color-gray-500,#6B5B4D); margin-top:2px; }
.sup-stat-card.open .sup-stat-value { color:#E65100; }
.sup-stat-card.progress .sup-stat-value { color:#0277BD; }
.sup-stat-card.resolved .sup-stat-value { color:#2E7D32; }
.sup-stat-card.critical .sup-stat-value { color:#C62828; }

/* --- Ticket Cards --- */
.sup-list { padding:0 24px 24px; display:flex; flex-direction:column; gap:10px; }
.sup-card { background:white; border:1px solid var(--border-color,#E6DED5); border-radius:10px; padding:16px 20px; cursor:pointer; transition:box-shadow 150ms,border-color 150ms; border-left:4px solid var(--border-color,#E6DED5); }
.sup-card:hover { box-shadow:0 2px 8px rgba(0,0,0,0.08); border-color:var(--color-gray-300,#D4C9BD); }
.sup-card.severity-critical { border-left-color:#C62828; }
.sup-card.severity-high { border-left-color:#E65100; }
.sup-card.severity-medium { border-left-color:#F9A825; }
.sup-card.severity-low { border-left-color:#0277BD; }
.sup-card.status-resolved { opacity:0.65; }
.sup-card.status-closed { opacity:0.5; }
.sup-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:8px; }
.sup-card-title { font-size:14px; font-weight:600; color:var(--color-gray-800,#2D2013); }
.sup-card-id { font-size:12px; color:var(--color-gray-400,#A89F94); font-family:monospace; margin-right:6px; }
.sup-card-badges { display:flex; gap:6px; flex-shrink:0; flex-wrap:wrap; }
.sup-badge { display:inline-flex; align-items:center; padding:2px 8px; border-radius:100px; font-size:11px; font-weight:600; white-space:nowrap; }
.sup-badge-critical { background:#FFEBEE; color:#C62828; }
.sup-badge-high { background:#FBE9E7; color:#BF360C; }
.sup-badge-medium { background:#FFFDE7; color:#F57F17; }
.sup-badge-low { background:#E1F5FE; color:#0277BD; }
.sup-badge-bug { background:#FFEBEE; color:#C62828; }
.sup-badge-ui { background:#E8EAF6; color:#283593; }
.sup-badge-feature { background:#E8F5E9; color:#2E7D32; }
.sup-badge-performance { background:#FFF3E0; color:#E65100; }
.sup-badge-other { background:var(--color-gray-100,#F5F0EB); color:var(--color-gray-600,#4D4139); }
.sup-badge-open { background:#FFF3E0; color:#E65100; }
.sup-badge-in_progress { background:#E1F5FE; color:#0277BD; }
.sup-badge-resolved { background:#E8F5E9; color:#2E7D32; }
.sup-badge-closed { background:var(--color-gray-100,#F5F0EB); color:var(--color-gray-500,#6B5B4D); }
.sup-card-body { font-size:13px; color:var(--color-gray-500,#6B5B4D); line-height:1.5; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sup-card-footer { display:flex; align-items:center; gap:16px; font-size:12px; color:var(--color-gray-400,#A89F94); }
.sup-card-footer-item { display:flex; align-items:center; gap:4px; }

/* --- Detail Modal --- */
.sup-detail-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.4); z-index:300; display:flex; align-items:center; justify-content:center; }
.sup-detail { background:white; border-radius:12px; width:700px; max-width:95vw; max-height:90vh; box-shadow:0 8px 32px rgba(0,0,0,0.2); overflow:hidden; display:flex; flex-direction:column; position:relative; }
.sup-detail-header { padding:16px 20px; border-bottom:1px solid var(--border-color,#E6DED5); display:flex; align-items:center; justify-content:space-between; }
.sup-detail-header-left { display:flex; align-items:center; gap:8px; }
.sup-detail-header h3 { margin:0; font-size:16px; font-weight:700; color:var(--color-gray-800,#2D2013); }
.sup-detail-close { background:none; border:none; font-size:22px; cursor:pointer; color:var(--color-gray-500,#6B5B4D); padding:4px 8px; border-radius:4px; }
.sup-detail-close:hover { background:var(--color-gray-100,#F5F0EB); }
.sup-detail-body { padding:20px; overflow-y:auto; flex:1; }
.sup-detail-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; margin-bottom:16px; }
.sup-detail-field { display:flex; flex-direction:column; gap:4px; }
.sup-detail-field.full { grid-column:1/-1; }
.sup-detail-field-label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.3px; color:var(--color-gray-500,#6B5B4D); }
.sup-detail-field-value { font-size:14px; color:var(--color-gray-800,#2D2013); line-height:1.5; }
.sup-detail-field-value.description { white-space:pre-wrap; background:var(--color-gray-50,#FDF8F3); padding:10px 12px; border-radius:6px; font-size:13px; }
.sup-detail-screenshot { margin-top:16px; position:relative; }
.sup-detail-screenshot img { width:100%; border:1px solid var(--border-color,#E6DED5); border-radius:8px; cursor:pointer; transition:opacity 150ms; }
.sup-detail-screenshot img:hover { opacity:0.9; }
.sup-screenshot-zoom-btn { position:absolute; bottom:12px; right:12px; width:32px; height:32px; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.55); color:#fff; border:none; border-radius:6px; cursor:pointer; transition:background 150ms; backdrop-filter:blur(4px); }
.sup-screenshot-zoom-btn:hover { background:rgba(0,0,0,0.8); transform:scale(1.1); }
.sup-detail-sysinfo { margin-top:16px; }
.sup-detail-sysinfo summary { font-size:12px; font-weight:600; color:var(--color-gray-500,#6B5B4D); cursor:pointer; text-transform:uppercase; letter-spacing:0.3px; }
.sup-detail-sysinfo-grid { margin-top:8px; display:grid; grid-template-columns:1fr 1fr; gap:6px 24px; padding:10px 12px; background:var(--color-gray-50,#FDF8F3); border-radius:6px; font-size:12px; }
.sup-detail-sysinfo-row { display:flex; justify-content:space-between; color:var(--color-gray-600,#4D4139); }
.sup-detail-sysinfo-row span:first-child { font-weight:600; color:var(--color-gray-500,#6B5B4D); }
.sup-detail-footer { padding:14px 20px; border-top:1px solid var(--border-color,#E6DED5); display:flex; align-items:flex-end; gap:12px; }
.sup-detail-status-group { display:flex; align-items:center; gap:8px; flex:1; }
.sup-detail-status-group label { font-size:12px; font-weight:600; color:var(--color-gray-600,#4D4139); white-space:nowrap; }
.sup-detail-status-group select { padding:8px 12px; border:1px solid var(--border-color,#E6DED5); border-radius:6px; font-size:13px; font-family:inherit; background:white; cursor:pointer; }
.sup-detail-notes-area { flex:2; }
.sup-detail-notes-area textarea { width:100%; padding:8px 12px; border:1px solid var(--border-color,#E6DED5); border-radius:6px; font-size:13px; font-family:inherit; min-height:40px; resize:none; box-sizing:border-box; }
.sup-detail-notes-area textarea:focus { outline:none; border-color:var(--color-primary,#C62828); }
.sup-detail-save-btn { padding:8px 20px; background:var(--color-primary,#C62828); color:white; border:none; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; }
.sup-detail-save-btn:hover { opacity:0.9; }
.sup-detail-resize-handle { position:absolute; bottom:0; right:0; width:20px; height:20px; cursor:nwse-resize; z-index:10; }
.sup-detail-resize-handle::before { content:''; position:absolute; right:4px; bottom:4px; width:10px; height:10px; border-right:2px solid var(--color-gray-300,#D4C9BD); border-bottom:2px solid var(--color-gray-300,#D4C9BD); border-radius:0 0 3px 0; opacity:0.6; }
.sup-detail-resize-handle:hover::before { opacity:1; border-color:var(--color-gray-500,#6B5B4D); }

/* --- Lightbox --- */
.sup-lightbox { position:fixed; top:0; left:0; right:0; bottom:0; z-index:20000; display:flex; align-items:center; justify-content:center; animation:supFadeIn 200ms ease; }
.sup-lightbox.sup-lightbox-closing { animation:supFadeOut 200ms ease forwards; }
@keyframes supFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes supFadeOut { from { opacity:1; } to { opacity:0; } }
.sup-lightbox-backdrop { position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.85); }
.sup-lightbox-container { position:relative; z-index:1; width:95vw; height:95vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.sup-lightbox-img { max-width:95vw; max-height:95vh; object-fit:contain; border-radius:4px; box-shadow:0 8px 40px rgba(0,0,0,0.5); user-select:none; transform-origin:center center; }
.sup-lightbox-toolbar { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); z-index:2; display:flex; align-items:center; gap:10px; padding:6px 14px; background:rgba(0,0,0,0.6); border-radius:8px; backdrop-filter:blur(8px); }
.sup-lightbox-zoom-level { color:#fff; font-size:13px; font-weight:600; min-width:44px; text-align:center; }
.sup-lightbox-tool-btn { padding:4px 12px; background:rgba(255,255,255,0.15); color:#fff; border:none; border-radius:4px; font-size:12px; font-weight:600; cursor:pointer; }
.sup-lightbox-tool-btn:hover { background:rgba(255,255,255,0.3); }
.sup-lightbox-close { position:absolute; top:16px; right:20px; z-index:2; width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.15); color:#fff; border:none; border-radius:50%; font-size:28px; line-height:1; cursor:pointer; backdrop-filter:blur(4px); }
.sup-lightbox-close:hover { background:rgba(255,255,255,0.3); }

/* --- Pagination --- */
.sup-pagination { display:flex; align-items:center; justify-content:center; gap:8px; padding:16px 24px; }
.sup-page-btn { width:32px; height:32px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border-color,#E6DED5); border-radius:6px; background:white; cursor:pointer; font-size:13px; font-weight:500; color:var(--color-gray-600,#4D4139); }
.sup-page-btn.active { background:var(--color-primary,#C62828); color:white; border-color:var(--color-primary,#C62828); }
.sup-page-btn:hover:not(.active) { background:var(--color-gray-100,#F5F0EB); }
.sup-page-info { font-size:13px; color:var(--color-gray-500,#6B5B4D); margin:0 8px; }

/* --- Empty State --- */
.sup-empty { text-align:center; padding:60px 24px; color:var(--color-gray-400,#A89F94); }
.sup-empty-icon { font-size:48px; margin-bottom:12px; }
.sup-empty-title { font-size:16px; font-weight:600; color:var(--color-gray-600,#4D4139); margin-bottom:4px; }
.sup-empty-text { font-size:13px; }

/* --- Responsive --- */
@media (max-width:768px) {
  .sup-toolbar,.sup-filters,.sup-stats,.sup-list { padding-left:16px; padding-right:16px; }
  .sup-stats { gap:8px; }
  .sup-stat-card { min-width:100px; padding:12px; }
  .sup-stat-value { font-size:22px; }
  .sup-detail-grid { grid-template-columns:1fr; }
  .sup-detail-footer { flex-direction:column; }
  .sup-detail-sysinfo-grid { grid-template-columns:1fr; }
}
