/* ============================================================
   Общи стилове на панела - ЕДНАКВИ за всички сайтове (зарежда се след темата).
   Списъци (компактни таблици, групови действия), табло с карти-връзки.
   Цветовете/шрифтовете идват от темата на сайта (assets/css/style.css).
   ============================================================ */
.grid > * { min-width: 0; }
.dash-stats { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-bottom: 30px; }
.dash-stats > .card { margin-bottom: 0; }   /* разстоянието между картите е gap-ът на решетката */
.stat-link { display: block; text-decoration: none; color: inherit; cursor: pointer; transition: transform .12s, box-shadow .12s; }
.stat-link:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(37,20,68,.12); text-decoration: none; }
.compact-table td, .compact-table th { padding: 5px 8px; font-size: 13px; line-height: 1.3; }
.compact-table .badge { font-size: 11px; padding: 2px 8px; }
.compact-table .btn-sm { padding: 4px 9px; font-size: 12px; }
.compact-table select, .compact-table input[type=number] { padding: 3px 6px !important; font-size: 12px !important; height: 26px; }
.compact-table .actions { margin: 0; }
.compact-table td.act { white-space: normal; min-width: 420px; }
@media (max-width: 600px) {
  .dash-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
  .dash-stats .stat { padding: 14px 6px; }
  .dash-stats .stat .num { font-size: 26px; }
  .dash-stats .stat .lbl { font-size: 12px; }
}

/* Пакети: ред „период · цена · → пакет на панела" в списъка */
.pkg-period { display: grid; grid-template-columns: 78px 90px auto; gap: 10px; align-items: baseline; white-space: nowrap; padding: 2px 0; font-size: 13.5px; }
.pkg-period .badge { justify-self: start; }

/* Фактури: резултатът на платената фактура (създадена/подновена линия) в колоната с действия */
.inv-result { display: inline-block; font-size: 12.5px; line-height: 1.35; color: var(--green, #16a34a); font-weight: 600; white-space: normal; max-width: 260px; }
.inv-result .muted { font-weight: 400; font-size: 11.5px; }

/* Тестове: бърза форма „Дай тест" и плочките с числата (филтри) */
.tst-give-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tst-give-form input, .tst-give-form select { margin: 0; }
.tst-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.tst-stat { display: block; text-decoration: none; padding: 14px 16px; border-radius: 12px; background: var(--bg2, #fff); border: 1px solid var(--border, #e5e7eb); color: inherit; }
.tst-stat b { display: block; font-size: 26px; line-height: 1.1; font-weight: 800; color: var(--heading, #111); }
.tst-stat span { font-size: 12.5px; color: var(--muted, #6b7280); }
.tst-stat.on { border-color: var(--accent, #e23744); box-shadow: 0 0 0 2px rgba(226, 55, 68, .15); }
.tst-stat.st-active b { color: var(--green, #16a34a); }
.tst-stat.st-paid b { color: #2563eb; }
.tst-stat.st-expired b { color: var(--yellow, #b45309); }
.tst-stat.st-failed b { color: var(--red, #dc2626); }
@media (max-width: 900px) { .tst-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* „Повече устройства": обяснение на доплащането над цените */
.upg-note { font-size: 12.5px; line-height: 1.4; margin: 0 0 10px; padding: 8px 10px; border-radius: 8px;
            background: rgba(37, 99, 235, .07); border: 1px solid rgba(37, 99, 235, .2); color: var(--text, #333); }

/* Админ → Имейли */
.mail-groups { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.mail-groups .btn { margin: 0; }
.mail-list { max-height: 420px; overflow-y: auto; border: 1px solid var(--border, #ddd); border-radius: 8px; }
.mail-row { display: flex; align-items: center; gap: 10px; padding: 6px 10px; margin: 0; font-weight: 400; cursor: pointer;
            border-bottom: 1px solid var(--border, #eee); }
.mail-row:last-child { border-bottom: 0; }
.mail-row input { width: auto; margin: 0; }
.mail-row .mail-name { flex: 0 1 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-row .mail-email { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.mail-row .mail-tag { font-size: 11.5px; opacity: .7; white-space: nowrap; }
.mail-row.is-blocked { opacity: .55; }
.mail-bar { height: 10px; background: var(--border, #e5e5e5); border-radius: 6px; overflow: hidden; }
.mail-bar > div { height: 100%; background: #22a35a; transition: width .3s; }
.mail-log { display: none; max-height: 220px; overflow-y: auto; font-size: 12px; background: var(--bg, #f6f6f6); padding: 8px; border-radius: 6px; }
@media (max-width: 600px) { .mail-row .mail-name { flex-basis: 120px; } }

/* „Само добави устройства" (account/order.php) */
.add-dev-list { display: flex; flex-direction: column; gap: 8px; }
.add-dev-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--border, #ddd); border-radius: 10px; margin: 0; }
.add-dev-name { flex: 1 1 auto; line-height: 1.3; }
.add-dev-price { white-space: nowrap; }
