/* =====================================================================
   MailFlow / AiroSend — shared theme stylesheet
   Palette matches the public landing page (index.php) for a consistent
   brand identity from the marketing site through to the logged-in app:
     background:    #ffffff (crisp white)
     surface:       #f8fafc (soft off-white card/sidebar)
     surface-hover: #eff8ff (pale blue tint on hover)
     border:        #e2e8f0
     text primary:   #0f172a (deep slate)
     text muted:      #64748b (soft gray-blue)
     accent (brand):  #38bdf8 (pastel sky blue)
     accent hover:      #0284c7 (deeper sky blue)
     success:            #22c55e
     warning:             #f59e0b
     danger:               #ef4444
   Fonts match the landing page: Outfit for headings, Plus Jakarta Sans
   for body text.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;900&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root{
  --bg:            #ffffff;
  --surface:       #f8fafc;
  --surface-hover: #eff8ff;
  --border:        #e2e8f0;
  --text:          #0f172a;
  --text-muted:    #64748b;
  --accent:        #38bdf8;
  --accent-hover:  #0284c7;
  --success:       #22c55e;
  --warning:       #f59e0b;
  --danger:        #ef4444;
  --purple:        #8b5cf6;
  --radius:        10px;
  --font-heading:  'Outfit', sans-serif;
  --font-body:     'Plus Jakarta Sans', sans-serif;
}

/* Dark mode override — activated by setting data-theme="dark" on <html> */
html[data-theme="dark"]{
  --bg:            #010f06;
  --surface:       #0b1f13;
  --surface-hover: #12281a;
  --border:        #16301f;
  --text:          #f8fafc;
  --text-muted:    #94a3b8;
  --accent:        #38bdf8;
  --accent-hover:  #7dd3fc;
  --success:       #22c55e;
  --warning:       #f59e0b;
  --danger:        #ef4444;
  --purple:        #a78bfa;
}
html[data-theme="dark"] .badge-active{ background:rgba(56,189,248,.18); color:#7dd3fc; }
html[data-theme="dark"] .badge-paused{ background:rgba(245,158,11,.18); color:#fbbf24; }
html[data-theme="dark"] .badge-completed{ background:rgba(34,197,94,.16); color:#6ee7b7; }
html[data-theme="dark"] .badge-draft{ background:rgba(148,163,184,.18); color:var(--text-muted); }
html[data-theme="dark"] .alert-error{ background:rgba(239,68,68,.12); color:#f87171; border-color:rgba(239,68,68,.3); }
html[data-theme="dark"] .alert-success{ background:rgba(34,197,94,.12); color:#4ade80; border-color:rgba(34,197,94,.3); }
html[data-theme="dark"] .form-group input:focus,
html[data-theme="dark"] .form-group select:focus,
html[data-theme="dark"] .form-group textarea:focus{ box-shadow:0 0 0 3px rgba(56,189,248,.2); }
html[data-theme="dark"] .modal-backdrop{ background:rgba(0,0,0,.6); }

/* Theme toggle button in the topbar */
.theme-toggle{
  width:34px; height:34px; border-radius:8px; border:1px solid var(--border);
  background:var(--surface); color:var(--text-muted); display:flex; align-items:center;
  justify-content:center; cursor:pointer; flex-shrink:0;
}
.theme-toggle:hover{ background:var(--surface-hover); color:var(--text); }
.theme-toggle svg{ width:17px; height:17px; }

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:14px;
  line-height:1.5;
}
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }

h1, h2, h3, h4, h5, h6{
  font-family:var(--font-heading);
  font-weight:700;
  letter-spacing:-0.02em;
}

/* ---------- App shell ---------- */
.app{ display:flex; min-height:100vh; }

.sidebar{
  width:64px;
  background:var(--surface);
  border-right:1px solid var(--border);
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:16px 0;
  gap:22px;
  flex-shrink:0;
  
  /* Scroll-locking rules */
  position: sticky;
  top: 0;
  height: 100vh;
  align-self: flex-start;
}
.sidebar .logo{
  width:36px;height:36px;border-radius:10px;
  background:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-weight:800; color:#fff; margin-bottom:8px;
  font-family:var(--font-heading);
}
.sidebar a{
  width:38px;height:38px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);
  transition:background .15s, color .15s;
}
.sidebar a:hover{ background:var(--surface-hover); color:var(--text); }
.sidebar a.active{ background:rgba(56,189,248,.15); color:var(--accent-hover); }
.sidebar svg{ width:19px; height:19px; }

.main{ flex:1; min-width:0; display:flex; flex-direction:column; }

.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 28px; border-bottom:1px solid var(--border);
  gap:16px; flex-wrap:wrap;
  background:var(--bg);
}
.topbar h1{ font-size:22px; font-weight:700; margin:0; }
.topbar-right{ display:flex; align-items:center; gap:14px; }

.workspace-pill{
  border:1px solid var(--border); background:var(--surface);
  padding:8px 14px; border-radius:8px; font-size:13px; color:var(--text-muted);
  display:flex; align-items:center; gap:8px; cursor:pointer;
}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 16px; border-radius:8px; border:1px solid transparent;
  font-size:13.5px; font-weight:600; cursor:pointer;
  font-family:var(--font-body);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-primary{ background:var(--accent); color:#fff; box-shadow:0 4px 14px rgba(56,189,248,.3); }
.btn-primary:hover{ background:var(--accent-hover); transform:translateY(-1px); box-shadow:0 6px 20px rgba(56,189,248,.4); }
.btn-outline{ background:transparent; border-color:var(--border); color:var(--text); }
.btn-outline:hover{ background:var(--surface-hover); border-color:rgba(15,23,42,.15); }
.btn-danger{ background:transparent; border-color:var(--danger); color:var(--danger); }
.btn-sm{ padding:6px 12px; font-size:12.5px; }

.content{ padding:24px 28px; flex:1; }

/* ---------- Toolbar (search + filters) ---------- */
.toolbar{
  display:flex; align-items:center; gap:12px; margin-bottom:20px; flex-wrap:wrap;
}
.search-input{
  flex:1; min-width:220px; display:flex; align-items:center; gap:10px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:8px; padding:9px 14px; color:var(--text-muted);
}
.search-input input{
  background:transparent; border:none; outline:none; color:var(--text);
  font-size:13.5px; width:100%; font-family:var(--font-body);
}
.select-pill{
  background:var(--surface); border:1px solid var(--border); border-radius:8px;
  padding:9px 14px; color:var(--text); font-size:13.5px; cursor:pointer;
  display:flex; align-items:center; gap:8px; font-family:var(--font-body);
}

/* ---------- Table / list rows (Campaigns + Accounts) ---------- */
.list{ border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--bg); }
.list-header, .list-row{
  display:grid; align-items:center; padding:16px 20px;
}
.list-header{
  color:var(--text-muted); font-size:11.5px; letter-spacing:.06em;
  text-transform:uppercase; border-bottom:1px solid var(--border);
  background:var(--surface);
}
.list-row{ border-bottom:1px solid var(--border); transition:background .12s; }
.list-row:last-child{ border-bottom:none; }
.list-row:hover{ background:var(--surface-hover); }

.campaigns-grid{ grid-template-columns: 28px 2fr 110px 140px 90px 110px 130px 140px 70px; gap:12px; }
.accounts-grid{ grid-template-columns: 28px 2.5fr 1fr 1fr 1fr 60px; gap:12px; }

.name-cell{ font-weight:600; }
.sub-tag{
  display:inline-flex; align-items:center; gap:6px; color:var(--text-muted);
  font-size:12px; margin-top:2px;
}

.badge{
  display:inline-block; padding:5px 12px; border-radius:6px;
  font-size:12.5px; font-weight:700;
}
.badge-active{ background:rgba(56,189,248,.15); color:#0284c7; }
.badge-paused{ background:rgba(245,158,11,.15); color:#b45309; }
.badge-completed{ background:rgba(34,197,94,.15); color:#15803d; }
.badge-draft{ background:rgba(100,116,139,.15); color:var(--text-muted); }

.progress-track{
  width:100%; height:4px; background:var(--border); border-radius:2px; margin-top:6px;
  overflow:hidden;
}
.progress-fill{ height:100%; background:var(--accent); }
.progress-fill.complete{ background:var(--success); }

.health-score{ font-weight:700; }
.health-score.high{ color:var(--success); }
.health-score.mid{ color:var(--warning); }
.health-score.low{ color:var(--danger); }

.icon-btn{
  width:30px;height:30px;border-radius:7px;border:1px solid var(--border);
  background:transparent; color:var(--text-muted); display:flex; align-items:center;
  justify-content:center; cursor:pointer;
}
.icon-btn:hover{ background:var(--surface-hover); color:var(--text); }

.empty-state{
  padding:60px 20px; text-align:center; color:var(--text-muted);
}
.empty-state h3{ color:var(--text); margin-bottom:6px; }

/* ---------- Unibox 3-pane layout ---------- */
.unibox{ display:flex; height:calc(100vh - 0px); }
.unibox-sidebar{
  width:230px; border-right:1px solid var(--border); padding:20px 14px; flex-shrink:0;
  overflow-y:auto; background:var(--bg);
}
.unibox-sidebar h3{ font-size:12px; text-transform:uppercase; color:var(--text-muted); margin:18px 8px 8px; }
.status-item{
  display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:8px;
  color:var(--text); font-size:13.5px; cursor:pointer;
}
.status-item:hover, .status-item.active{ background:rgba(56,189,248,.1); }
.status-dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }

.unibox-list{ width:340px; border-right:1px solid var(--border); flex-shrink:0; display:flex; flex-direction:column; min-height:0; background:var(--bg); }
.unibox-tabs{ display:flex; border-bottom:1px solid var(--border); padding:0 16px; }
.unibox-tab{ padding:16px 14px; color:var(--text-muted); font-weight:600; cursor:pointer; border-bottom:2px solid transparent; }
.unibox-tab.active{ color:var(--accent-hover); border-color:var(--accent); }
.unibox-search{ padding:14px 16px; border-bottom:1px solid var(--border); }
.unibox-items{ overflow-y:auto; flex:1; min-height:0; padding:12px; display:flex; flex-direction:column; gap:10px; }

.unibox-item{
  display:block;
  background:var(--surface);
  border:1px solid var(--border);
  border-left:3px solid var(--lead-color, var(--border));
  border-radius:10px;
  padding:14px 16px 14px 14px;
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color .12s, background .12s;
}
.unibox-item:hover{ background:var(--surface-hover); }
.unibox-item.selected{ background:var(--surface-hover); border-left-color:var(--accent); }
.unibox-item:focus, .unibox-item:focus-visible{ outline:none; box-shadow:none; }

.unibox-item-top{ display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.unibox-item-check{ flex-shrink:0; display:flex; align-items:center; }
.unibox-item-check input{ cursor:pointer; }

.unibox-item-sender{
  font-weight:600; display:flex; align-items:center; gap:8px; min-width:0; flex:1;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.unibox-item-date{ color:var(--text-muted); font-size:12px; flex-shrink:0; }

.unibox-item-subject{
  font-weight:700; margin-bottom:4px; font-size:13.5px; color:var(--text);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.unibox-item-snippet{
  color:var(--text-muted); font-size:12.5px; line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

.unibox-reading{ flex:1; display:flex; flex-direction:column; min-width:0; background:var(--bg); }
.reading-header{ padding:20px 26px; border-bottom:1px solid var(--border); }
.reading-body{ padding:26px; overflow-y:auto; flex:1; }
.reading-empty{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:var(--text-muted); gap:14px; text-align:center; padding:40px;
}
.reply-box{ border-top:1px solid var(--border); padding:16px 26px; }
.reply-box textarea{
  width:100%; min-height:110px; background:var(--surface); border:1px solid var(--border);
  border-radius:8px; color:var(--text); padding:12px; font-family:var(--font-body); font-size:13.5px; resize:vertical;
}

.email-frame{
  width:100% !important;
  box-sizing:border-box;
  border:1px solid var(--border); border-radius:8px;
  background:#fff;
  display:block; min-height:120px;
}

.reading-avatar{
  width:40px; height:40px; border-radius:50%;
  background:var(--surface-hover); border:1px solid var(--border);
  color:var(--text); font-weight:700; font-size:16px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-family:var(--font-heading);
}
.reading-from-row{ display:flex; align-items:center; gap:12px; }
.reading-from-email{ font-weight:700; font-size:15px; }

.status-pill-select{
  appearance:none; -webkit-appearance:none;
  background:var(--surface); border:1px solid var(--border); border-radius:20px;
  padding:7px 30px 7px 14px; font-size:12.5px; font-weight:600; color:var(--text);
  cursor:pointer; font-family:var(--font-body);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat; background-position:right 10px center;
}

.reply-actions-row{ display:flex; gap:10px; justify-content:flex-end; margin-top:10px; }
.btn-forward{ background:transparent; border:1px solid var(--border); color:var(--text); }
.btn-forward:hover{ background:var(--surface-hover); }

/* ---------- Forms (login/register/account/campaign builder) ---------- */
.auth-wrap{
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px;
  background:var(--bg);
}
.auth-card{
  width:100%; max-width:400px; background:var(--surface); border:1px solid var(--border);
  border-radius:14px; padding:34px;
  box-shadow:0 4px 6px -1px rgba(0,0,0,.03);
}
.auth-card h1{ font-size:20px; margin:0 0 6px; }
.auth-card p.sub{ color:var(--text-muted); margin:0 0 24px; font-size:13.5px; }

.form-group{ margin-bottom:16px; }
.form-group label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:var(--text-muted); }
.form-group input, .form-group select, .form-group textarea{
  width:100%; background:var(--bg); border:1px solid var(--border); border-radius:8px;
  padding:10px 12px; color:var(--text); font-size:13.5px; font-family:var(--font-body);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(56,189,248,.15);
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }

.alert{ padding:12px 14px; border-radius:8px; font-size:13.5px; margin-bottom:16px; }
.alert-error{ background:rgba(239,68,68,.08); color:#dc2626; border:1px solid rgba(239,68,68,.25); }
.alert-success{ background:rgba(34,197,94,.08); color:#16a34a; border:1px solid rgba(34,197,94,.25); }

.modal-backdrop{
  position:fixed; inset:0; background:rgba(15,23,42,.4); display:flex; align-items:flex-start;
  justify-content:center; padding:40px 20px; overflow-y:auto; z-index:50;
}
.modal{
  width:100%; max-width:560px; background:var(--surface); border:1px solid var(--border);
  border-radius:14px; padding:28px;
  box-shadow:0 4px 6px -1px rgba(0,0,0,.03);
}
.modal h2{ margin-top:0; }

.step-card{
  border:1px solid var(--border); border-radius:10px; padding:18px; margin-bottom:14px; background:var(--surface);
}
.step-card-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.step-badge{
  width:26px;height:26px;border-radius:50%; background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700;
}

.checkbox-row{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text-muted); }

.pagination{ display:flex; align-items:center; gap:10px; margin-top:20px; flex-wrap:wrap; }

@media (max-width: 900px){
  .unibox{ flex-direction:column; height:auto; }
  .unibox-sidebar, .unibox-list{ width:100%; border-right:none; border-bottom:1px solid var(--border); }
  .campaigns-grid, .accounts-grid{ grid-template-columns: 1fr; }
}

/* ---------- Profile Dropdown Menu ---------- */
.user-menu-container {
  position: relative;
  margin-top: auto;
  margin-bottom: 24px;
}

.sidebar-user-profile {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--accent-gradient, linear-gradient(135deg, #7dd3fc 0%, #38bdf8 50%, #0284c7 100%));
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 1px;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(56, 189, 248, 0.3);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.sidebar-user-profile:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(56, 189, 248, 0.5);
}

.profile-dropdown {
  position: absolute;
  bottom: 0;
  left: 56px; 
  width: 260px; 
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  display: none;
  flex-direction: column;
  z-index: 1000;
}
html[data-theme="dark"] .profile-dropdown {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.profile-dropdown.show {
  display: flex;
}

.dropdown-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 20px 16px;
}

.dropdown-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent-gradient, linear-gradient(135deg, #7dd3fc 0%, #38bdf8 50%, #0284c7 100%));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}

.dropdown-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.dropdown-name {
  font-weight: 700;
  color: var(--text);
  font-size: 14.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dropdown-email {
  color: var(--text-muted);
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dropdown-divider {
  height: 1px;
  background: var(--border);
  margin: 4px 20px 12px;
}

/* Override sidebar default link styles for dropdown items */
.sidebar .profile-dropdown a.dropdown-item {
  width: 100%;
  height: auto;
  justify-content: flex-start;
  border-radius: 0;
  display: flex;
  align-items: center;
  padding: 10px 20px;
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s;
  white-space: nowrap; 
}

.sidebar .profile-dropdown a.dropdown-item:hover {
  background: var(--surface-hover);
  color: var(--text);
}

/* Override sidebar default SVG styles */
.sidebar .profile-dropdown a.dropdown-item svg {
  width: 18px;
  height: 18px;
  margin-right: 14px;
  color: var(--text-muted);
  flex-shrink: 0; 
}

.sidebar .profile-dropdown a.dropdown-item .chevron {
  margin-left: auto;
  color: var(--text-muted);
  font-size: 18px;
  font-weight: 400;
}

/* ---------- Notification Dropdown Menu ---------- */
.notification-dropdown {
  position: absolute;
  top: 48px;
  right: -10px; /* Aligns with the right edge of the button */
  width: 380px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  display: none;
  flex-direction: column;
  z-index: 1000;
  overflow: hidden;
}
html[data-theme="dark"] .notification-dropdown {
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
}
.notification-dropdown.show {
  display: flex;
}
.notif-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
}
.notif-header-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 15px;
  color: var(--text);
}
.notif-mark-read {
  color: var(--text-muted);
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: color 0.15s;
}
.notif-mark-read:hover { color: var(--text); }
.notif-list {
  max-height: 400px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.notif-item {
  display: flex;
  gap: 14px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  text-decoration: none;
  color: inherit;
  transition: background 0.15s;
  position: relative;
}
.notif-item:hover { background: var(--surface-hover); }
.notif-item.unread { background: rgba(56, 189, 248, 0.04); }
html[data-theme="dark"] .notif-item.unread { background: rgba(56, 189, 248, 0.08); }
.notif-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* Fixes the giant SVGs */
.notif-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.notif-icon.warning { color: var(--warning); }
.notif-icon.success { color: var(--success); }
.notif-content {
  flex: 1;
  min-width: 0;
}
.notif-title {
  font-weight: 600;
  font-size: 14.5px;
  color: var(--text);
  margin-bottom: 4px;
}
.notif-desc {
  font-size: 13.5px;
  color: var(--text-muted);
  line-height: 1.4;
  margin-bottom: 8px;
}
.notif-time {
  font-size: 12.5px;
  color: var(--text-muted);
}
.unread-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  position: absolute;
  top: 22px;
  right: 20px;
}
.notif-footer {
  padding: 16px;
  text-align: center;
  background: var(--surface);
}
.notif-footer a {
  color: var(--text);
  font-weight: 600;
  font-size: 13.5px;
  transition: color 0.15s;
}
.notif-footer a:hover { color: var(--accent); }

@media (max-width: 768px) {
  .notification-dropdown {
    position: fixed;
    top: 70px;
    left: 20px;
    right: 20px;
    width: auto;
  }
}

/* ==========================================================================
   ADMIN SUPPORT TICKETS UI
   ========================================================================== */

/* The Fix: Prevents dropdowns from being clipped by the table container */
.admin-support-wrap .list, 
.admin-support-wrap .list-row, 
.admin-support-wrap .table-card {
  overflow: visible !important;
}

/* Priority & Status Badges */
.badge-priority {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.priority-High { background: #e0f2fe; color: #0284c7; }
.priority-Medium { background: #fef9c3; color: #ca8a04; }
.priority-Low { background: #dcfce7; color: #16a34a; }

.badge-status {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  background: #1e293b; 
  color: #fff;
}
.status-Open { background: #10b981; }
.status-InProgress { background: #f59e0b; }
.status-Closed { background: #1e293b; }

/* Action Button & Dropdown */
.action-btn {
  background: #3b82f6;
  color: #fff;
  border: none;
  padding: 6px 14px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.2s;
}
.action-btn:hover { background: #2563eb; }

.dropdown-wrapper { position: relative; display: inline-block; }
.action-dropdown {
  display: none;
  position: absolute;
  right: 0;
  top: 32px;
  background: #fff;
  min-width: 200px;
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  border: 1px solid var(--border-color);
  z-index: 99;
  overflow: hidden;
}
.action-dropdown.show { display: block; }

.dropdown-item {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text-main);
  font-size: 14px;
  text-decoration: none;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.2s;
}
.dropdown-item:hover { background: var(--surface-hover); }
.dropdown-item svg { width: 16px; height: 16px; flex-shrink: 0; }

.icon-blue { color: #3b82f6; }
.icon-orange { color: #f59e0b; }
.icon-green { color: #10b981; }

/* Modal Styling */
.modal-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(4px);
  z-index: 999;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal-content {
  background: #fff;
  border-radius: 12px;
  width: 100%;
  max-width: 600px;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
  overflow: hidden;
}
.modal-header {
  background: #1e293b;
  color: #fff;
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header h3 { margin: 0; font-size: 16px; font-weight: 600; }
.modal-close-icon { color: #10b981; cursor: pointer; transition: opacity 0.2s; }
.modal-close-icon:hover { opacity: 0.8; }

.modal-body { padding: 24px; }
.modal-footer {
  padding: 16px 24px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
.btn-gray { background: #94a3b8; color: #fff; border: none; padding: 10px 20px; border-radius: 6px; font-weight: 600; cursor: pointer; }
.btn-blue { background: #3b82f6; color: #fff; border: none; padding: 10px 20px; border-radius: 6px; font-weight: 600; cursor: pointer; }