/* AirContent Update Repository — view-specific styles (customer + admin) */

/* Dashboard component cards */
.comp-card { display: flex; flex-direction: column; gap: 6px; }
.comp-card .comp-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.comp-card .comp-name { font-weight: 600; font-size: 15px; }
.comp-card .comp-version { font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--ac-link); }
.comp-card .comp-meta { color: var(--ac-brush-light); font-size: var(--ac-font-size-sm); display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.comp-card .comp-actions { margin-top: auto; display: flex; gap: 8px; padding-top: 8px; }
.comp-card.empty .comp-version { color: var(--ac-brush-major); font-size: 16px; }

/* Release detail */
.release-head { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin-bottom: 6px; }
.release-head .ver { font-size: 24px; font-weight: 600; font-variant-numeric: tabular-nums; }
.release-meta { color: var(--ac-brush-light); display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.release-cols { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; }
@media (max-width: 1000px) { .release-cols { grid-template-columns: 1fr; } }
.file-list .sha { font-family: var(--ac-font-mono); font-size: 11px; color: var(--ac-brush-light); word-break: break-all; }
.file-list .file-name { font-weight: 600; overflow-wrap: anywhere; }
.file-list .file-meta { color: var(--ac-brush-light); font-size: var(--ac-font-size-sm); display: flex; gap: 8px; flex-wrap: wrap; }
.file-list td { vertical-align: top; padding-top: 8px; padding-bottom: 8px; }
@media (max-width: 640px) {
  .file-list td.wrap { flex-wrap: wrap; }
  .file-list td.wrap > div { flex: 1 1 100%; }
}
.news-list { list-style: none; margin: 0; padding: 0; }
.news-list li { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--ac-row-border); flex-wrap: wrap; }
.news-list li:last-child { border-bottom: 0; }
.news-list .date { color: var(--ac-brush-light); font-size: var(--ac-font-size-sm); min-width: 90px; font-variant-numeric: tabular-nums; }
.news-list a { font-weight: 600; }

/* Account */
.account-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }

/* Admin: release editor */
.editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 1000px) { .editor-grid { grid-template-columns: 1fr; } }
.notes-pane { display: grid; grid-template-rows: auto 1fr; gap: 6px; min-height: 260px; }
.notes-preview { border: 1px dashed var(--ac-brush-minor); border-radius: 4px; padding: 10px 12px; min-height: 120px; background: var(--ac-paint); overflow: auto; }
.upload-zone { border: 2px dashed var(--ac-brush-major); border-radius: 6px; padding: 18px; text-align: center; color: var(--ac-brush-light); background: var(--ac-paint); }
.upload-zone.drag { border-color: var(--ac-accent); background: var(--ac-accent-soft); color: var(--ac-accent); }
.upload-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; margin-top: 8px; }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; }
.kv dt { color: var(--ac-brush-light); }
.kv dd { margin: 0; word-break: break-word; }
.list-dense { list-style: none; margin: 0; padding: 0; }
.list-dense li { padding: 6px 0; border-bottom: 1px solid var(--ac-row-border); display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.list-dense li:last-child { border-bottom: 0; }
.mono-small { font-family: var(--ac-font-mono); font-size: 11px; overflow-wrap: anywhere; }
.id-short { font-family: var(--ac-font-mono); font-size: 11px; color: var(--ac-brush-light); }
.two-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 16px; }

/* 2FA enrolment: QR code + manual secret side by side */
.totp-enroll { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.totp-qr { flex: 0 0 auto; padding: 6px; background: #FFFFFF; border: 1px solid var(--ac-brush-minor); border-radius: 4px; line-height: 0; }
.totp-qr svg { display: block; }
.totp-manual { flex: 1 1 240px; min-width: 0; }
