:root {
  color-scheme: dark;
  --bg: #050912;
  --surface: #09111e;
  --surface-2: #0c1625;
  --surface-3: #101c2d;
  --line: #1d2b3d;
  --line-bright: #24445a;
  --text: #f3f7fb;
  --muted: #8290a4;
  --cyan: #13d7ed;
  --cyan-soft: rgba(19, 215, 237, .12);
  --violet: #8b5cf6;
  --green: #20d98b;
  --red: #ff4f57;
  --orange: #ff8a22;
  --sidebar: 264px;
  --radius: 12px;
  --shadow: 0 24px 80px rgba(0, 0, 0, .34);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; background: var(--bg); color: var(--text); }
body { font-size: 14px; line-height: 1.45; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, a, select, input { -webkit-tap-highlight-color: transparent; }

.admin-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 62% -15%, rgba(24, 99, 155, .12), transparent 34%),
    linear-gradient(180deg, #050912 0%, #07101b 100%);
}

.sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 50; width: var(--sidebar);
  display: flex; flex-direction: column; padding: 24px 10px 16px;
  border-right: 1px solid var(--line); background: rgba(3, 8, 16, .95);
  backdrop-filter: blur(24px);
}

.brand { display: flex; align-items: center; gap: 13px; padding: 4px 10px 34px; font-size: 18px; }
.brand b { color: var(--cyan); letter-spacing: .03em; }
.brand small { display: block; color: #506074; font-size: 11px; margin-top: 3px; letter-spacing: .08em; text-transform: uppercase; }
.pulse-logo { width: 47px; height: 47px; flex: 0 0 47px; color: var(--cyan); filter: drop-shadow(0 0 12px rgba(19,215,237,.18)); }
.pulse-logo svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; }
.pulse-logo svg path { stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }

.sidebar nav { display: grid; gap: 8px; }
.nav-item {
  position: relative; display: flex; align-items: center; gap: 14px; min-height: 47px;
  padding: 0 16px; border: 1px solid transparent; border-radius: 9px; color: #d6deea;
  transition: .18s ease;
}
.nav-item:hover { background: rgba(255,255,255,.03); color: white; }
.nav-item > span { width: 24px; color: #aab7c9; font-size: 21px; text-align: center; }
.nav-item.active { color: var(--cyan); border-color: rgba(19,215,237,.48); background: linear-gradient(90deg, rgba(19,215,237,.12), rgba(19,215,237,.035)); }
.nav-item.active > span { color: var(--cyan); }
.nav-item em { margin-left: auto; min-width: 21px; height: 21px; display: grid; place-items: center; padding: 0 6px; border-radius: 20px; background: var(--violet); color: white; font-style: normal; font-size: 11px; }

.system-chip { margin-top: auto; display: flex; gap: 11px; align-items: center; min-height: 66px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(9,17,30,.75); }
.system-chip > i, .live-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px rgba(32,217,139,.45); }
.system-chip.offline > i { background: var(--orange); box-shadow: none; }
.system-chip b, .system-chip small { display: block; }
.system-chip b { font-size: 13px; font-weight: 560; }
.system-chip small { color: var(--muted); font-size: 11px; margin-top: 3px; }
.logout-form { margin-top: 8px; }
.logout-form button { width: 100%; height: 37px; border: 0; background: transparent; color: #68788e; cursor: pointer; }
.logout-form button:hover { color: white; }

.main-content { position: relative; margin-left: var(--sidebar); width: calc(100% - var(--sidebar)); min-height: 100vh; padding: 26px 30px 32px; }
.mobile-menu { display: none; }
.page-header { min-height: 53px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.page-header h1 { margin: 0; font-size: clamp(24px, 2vw, 31px); font-weight: 620; letter-spacing: -.03em; }
.page-header p { margin: 5px 0 0; color: var(--muted); }
.page-header p .live-dot { display: inline-block; margin-right: 7px; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.date-chip, .outline-button, .primary-button, select {
  min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 0 16px; border: 1px solid var(--line); border-radius: 8px; background: rgba(8,15,27,.78); color: #d8e1ec;
}
.outline-button, .primary-button { cursor: pointer; transition: .18s ease; }
.outline-button:hover { border-color: var(--cyan); color: var(--cyan); }
.primary-button { border-color: var(--cyan); background: linear-gradient(135deg, #12cce3, #18e0ec); color: #001217; font-weight: 650; box-shadow: 0 8px 30px rgba(19,215,237,.12); }
.primary-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.primary-button.compact { min-height: 42px; padding-inline: 18px; }
.outline-button.full, .primary-button.full { width: 100%; margin-top: 10px; }

.panel, .metric-card {
  border: 1px solid var(--line); border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(11,20,34,.95), rgba(6,12,22,.93));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.012);
}
.overview-grid { display: grid; grid-template-columns: 1.55fr .8fr .8fr .8fr; gap: 14px; margin-bottom: 14px; }
.metric-card { position: relative; min-height: 152px; padding: 22px; overflow: hidden; }
.metric-card > span, .hero-metric span { display: block; color: #dce4ee; font-size: 14px; }
.metric-card strong, .hero-metric strong { display: block; margin-top: 7px; font-size: clamp(34px, 3vw, 46px); font-weight: 520; line-height: 1.05; letter-spacing: -.04em; }
.metric-card strong.small-value { font-size: clamp(25px, 2.35vw, 37px); }
.metric-card small, .hero-metric small { display: block; margin-top: 8px; color: var(--muted); }
.hero-metric { display: flex; justify-content: space-between; align-items: center; }
.hero-metric strong { color: var(--cyan); font-size: clamp(44px, 4vw, 62px); letter-spacing: .08em; }
.metric-radar { width: 94px; height: 94px; display: grid; place-items: center; border: 1px solid rgba(19,215,237,.46); border-radius: 50%; color: var(--cyan); font-size: 32px; box-shadow: inset 0 0 22px rgba(19,215,237,.16), 0 0 28px rgba(19,215,237,.08); }
.metric-radar::before, .metric-radar::after { content: ""; position: absolute; width: 116px; height: 116px; border: 1px solid rgba(19,215,237,.12); border-radius: 50%; }
.metric-radar::after { width: 136px; height: 136px; }
.spark { position: absolute; left: 20px; right: 20px; bottom: 11px; height: 22px; opacity: .65; }
.spark::before { content: ""; position: absolute; inset: 0; background: linear-gradient(150deg, transparent 0 18%, currentColor 19% 21%, transparent 22% 33%, currentColor 34% 36%, transparent 37% 52%, currentColor 53% 55%, transparent 56% 69%, currentColor 70% 72%, transparent 73%); clip-path: polygon(0 80%,10% 52%,20% 70%,31% 27%,42% 61%,53% 45%,64% 78%,75% 31%,86% 53%,100% 12%,100% 100%,0 100%); opacity: .55; }
.spark.cyan { color: var(--cyan); }.spark.violet { color: var(--violet); }

.dashboard-columns { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 14px; }
.dashboard-main { min-width: 0; }
.analytics-row { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(235px,.75fr); gap: 14px; }
.chart-panel { min-height: 360px; padding: 22px; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.panel-head h2, .section-head h2 { margin: 0; font-size: 17px; font-weight: 580; }
.panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.success-value { color: var(--green); font-size: 12px; }
.line-chart { height: 276px; }
.line-chart svg { width: 100%; height: 228px; overflow: visible; }
.chart-grid line { stroke: #14243a; stroke-width: 1; }
.chart-line { fill: none; stroke: var(--cyan); stroke-width: 3; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 5px rgba(19,215,237,.25)); }
.chart-area { fill: url(#none); stroke: none; }
.chart-points circle { fill: var(--cyan); stroke: #092235; stroke-width: 5; }
.chart-labels { display: grid; grid-template-columns: repeat(7,1fr); color: var(--muted); font-size: 11px; text-align: center; }
.platforms-panel { min-height: 360px; padding: 22px 18px; }
.donut { position: relative; width: 154px; height: 154px; display: grid; place-items: center; margin: 10px auto 20px; border-radius: 50%; background: conic-gradient(#ff4148 0 var(--youtube),#8b5cf6 var(--youtube) var(--tiktok),#18d5ea var(--tiktok) 100%); box-shadow: 0 0 35px rgba(19,215,237,.05); }
.donut::before { content:""; width: 99px; height: 99px; border-radius: 50%; background: #08111e; box-shadow: inset 0 0 0 1px var(--line); }
.donut > div { position: absolute; z-index: 1; text-align: center; }.donut b,.donut span { display: block; }.donut b { font-size: 25px; font-weight: 540; }.donut span { color: var(--muted); font-size: 11px; }
.platform-stats { display: grid; gap: 9px; }.platform-stats > div { display: grid; grid-template-columns: 25px 1fr auto; gap: 9px; align-items: center; }.platform-stats b { font-weight: 540; }
.recent-section { margin-top: 22px; }
.section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.section-head a { color: var(--cyan); font-size: 12px; border: 1px solid var(--line); padding: 8px 13px; border-radius: 7px; }
.video-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.video-card { min-height: 230px; display: grid; grid-template-columns: 44% 56%; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: rgba(10,18,31,.82); transition: .18s ease; }
.video-card:hover { transform: translateY(-2px); border-color: var(--line-bright); }
.card-thumb { width: 100%; height: 100%; object-fit: cover; min-height: 230px; background: #0b1827; }
.video-card-body { min-width: 0; padding: 16px; display: flex; flex-direction: column; }
.platform-label { display: flex; gap: 7px; align-items: center; color: #cfd8e5; }
.video-card h3 { margin: 14px 0; font-size: 16px; line-height: 1.25; font-weight: 550; }
.video-meta { display: grid; gap: 6px; color: #aeb9c9; margin-top: auto; }
.video-card small { color: #66768b; margin-top: 13px; }
.activity-panel { padding: 19px 15px; min-width: 0; }
.activity-list { display: grid; }
.activity-item { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 10px; align-items: start; padding: 14px 2px; border-top: 1px solid var(--line); }
.activity-item:first-child { border-top: 0; }
.activity-item div { min-width: 0; }.activity-item b,.activity-item span,.activity-item small { display: block; }
.activity-item span { margin: 3px 0; color: #aab6c6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.activity-item small { color: #63748b; font-size: 10px; }

.platform-icon { width: 25px; height: 25px; flex: 0 0 25px; display: inline-grid; place-items: center; border-radius: 7px; color: white; font-size: 12px; font-weight: 800; line-height: 1; }
.platform-icon.youtube { background: #ff3038; }.platform-icon.tiktok { background: #05070b; border: 1px solid #25354a; color: #20e6e8; text-shadow: 1px 1px #ff3b6b; }.platform-icon.instagram { background: linear-gradient(135deg,#7c39e8,#e33f7b,#ff9737); }.platform-icon.other { background: #42546d; }
.status-pill { display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; min-height: 24px; padding: 0 9px; border: 1px solid currentColor; border-radius: 20px; font-size: 10px; }
.status-pill i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status-pill.done { color: var(--green); background: rgba(32,217,139,.06); }.status-pill.failed { color: var(--red); background: rgba(255,79,87,.08); }.status-pill.processing { color: var(--cyan); }.status-pill.queued { color: var(--violet); }.status-pill.canceled { color: #8998aa; background: rgba(137,152,170,.08); }
.test-badge { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 19px; padding: 0 6px; border: 1px solid rgba(139,92,246,.75); border-radius: 5px; background: rgba(139,92,246,.13); color: #b89cff; font-size: 8px; font-weight: 800; letter-spacing: .08em; vertical-align: middle; }
.user-report-badge { display: inline-flex; width: fit-content; align-items: center; min-height: 18px; margin: 3px 0 1px; padding: 0 6px; border: 1px solid rgba(255,166,77,.65); border-radius: 5px; background: rgba(255,166,77,.10); color: #ffb466; font-size: 8px; font-style: normal; font-weight: 800; letter-spacing: .03em; }

.download-metrics, .queue-metrics, .error-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.download-metrics .metric-card, .queue-metrics .metric-card, .error-metrics .metric-card { min-height: 116px; padding: 16px 18px; }
.download-metrics .metric-card strong, .queue-metrics .metric-card strong, .error-metrics .metric-card strong { font-size: 34px; }
.metric-card.danger strong { color: var(--red); }.metric-card.warning strong { color: var(--orange); }
.filter-bar { display: grid; grid-template-columns: minmax(250px,1fr) 180px 150px 120px auto; gap: 10px; padding: 12px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(9,17,30,.9); }
.search-field { height: 42px; display: flex; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid var(--line); border-radius: 7px; background: #070d17; color: var(--muted); }
.search-field input { width: 100%; border: 0; outline: 0; color: var(--text); background: transparent; }
.search-field input::placeholder { color: #536276; }
select { appearance: none; padding-right: 30px; background-image: linear-gradient(45deg,transparent 50%,#7d8ca0 50%),linear-gradient(135deg,#7d8ca0 50%,transparent 50%); background-position: calc(100% - 16px) 18px,calc(100% - 11px) 18px; background-size: 5px 5px; background-repeat: no-repeat; }
.downloads-layout, .errors-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 14px; align-items: start; }
.downloads-layout.no-detail, .errors-layout.no-detail { grid-template-columns: 1fr; }
.table-panel, .errors-table-panel { overflow: hidden; }
.data-table { min-width: 0; }
.table-row { display: grid; align-items: center; min-height: 65px; padding: 7px 10px; border-top: 1px solid rgba(29,43,61,.7); transition: .15s ease; }
.table-row:not(.table-head):hover, .table-row.selected { background: rgba(19,215,237,.035); box-shadow: inset 0 0 0 1px rgba(19,215,237,.45); border-radius: 8px; }
.table-head { min-height: 37px; border-top: 0; color: #718198; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.downloads-table { padding: 8px; }
.downloads-table .table-row { grid-template-columns: minmax(210px,1.45fr) minmax(135px,1fr) 100px 55px 80px 75px 104px 80px; gap: 10px; }
.video-cell, .source-cell { min-width: 0; display: flex; align-items: center; gap: 10px; }
.video-cell b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.thumb { width: 43px; height: 54px; flex: 0 0 43px; object-fit: cover; border-radius: 5px; background: #0d1928; }
.source-cell small { color: #5ba9db; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.preview-fallback { display: grid; place-items: center; background: radial-gradient(circle,#132b40,#08111d); }
.preview-fallback .platform-icon { transform: scale(.8); }
.pagination { display: flex; justify-content: space-between; align-items: center; min-height: 49px; padding: 0 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.pagination div { display: flex; align-items: center; gap: 9px; }.pagination a,.pagination b { min-width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 6px; }.pagination b { color: #021216; background: var(--cyan); border-color: var(--cyan); }
.detail-panel, .diagnostic-panel { position: sticky; top: 18px; padding: 17px; }
.detail-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 14px; }.detail-title > div { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }.detail-title h2 { margin: 0; font-size: 15px; line-height: 1.3; }.detail-title > a { color: #7c899a; font-size: 20px; }
.detail-preview { width: 100%; height: 350px; object-fit: cover; border-radius: 8px; background: #08131f; }
.metadata-list { display: grid; margin: 13px 0 4px; }
.metadata-list > div { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 8px; padding: 7px 0; border-bottom: 1px solid rgba(29,43,61,.55); }
.metadata-list dt { color: #718198; }.metadata-list dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }.metadata-list a { color: #38aee0; }

@media (min-width: 1201px) {
  body[data-page="downloads"] .download-metrics,
  body[data-page="downloads"] .filter-bar,
  body[data-page="downloads"] .downloads-layout { margin-right: 294px; }
  body[data-page="downloads"] .downloads-layout { display: block; }
  body[data-page="downloads"] .detail-panel { position: absolute; top: 95px; right: 30px; width: 280px; }
  body[data-page="downloads"] .detail-panel .metadata-list a { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
}

.queue-layout { display: grid; grid-template-columns: minmax(0,1fr) 345px; gap: 14px; }
.active-jobs { display: grid; gap: 10px; }
.job-progress { min-height: 140px; display: grid; grid-template-columns: 62px 130px minmax(0,1fr); gap: 14px; align-items: center; padding: 13px 16px; }
.job-progress > .platform-icon { width: 42px; height: 42px; font-size: 18px; border-radius: 10px; justify-self: center; }
.queue-thumb { width: 130px; height: 105px; object-fit: cover; border-radius: 8px; }
.job-progress-body { min-width: 0; }.job-progress h2 { margin: 0 0 3px; font-size: 16px; }.job-progress span { color: var(--muted); }.job-progress a { display: block; max-width: 580px; margin-top: 3px; color: var(--cyan); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.progress-row { display: grid; grid-template-columns: minmax(0,1fr) 42px; gap: 10px; align-items: center; margin-top: 18px; }.progress-track { height: 5px; border-radius: 6px; background: #172337; overflow: hidden; }.progress-track i { display: block; height: 100%; background: var(--cyan); box-shadow: 0 0 10px rgba(19,215,237,.4); }.progress-row b { font-size: 12px; }
.progress-meta { display: flex; flex-wrap: wrap; gap: 9px 25px; margin-top: 8px; font-size: 11px; }.progress-meta span:last-child { margin-left: auto; color: var(--cyan); }
.queue-list-panel { margin-top: 12px; padding: 16px; }.queue-list { display: grid; }.queue-list > div { min-height: 38px; display: grid; grid-template-columns: 26px 27px minmax(180px,1.5fr) minmax(100px,.7fr) 65px; align-items: center; gap: 8px; border-top: 1px solid rgba(29,43,61,.65); }.queue-list > div > b { color: #718198; text-align: center; }.queue-list span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.queue-list small { color: #78879b; }.queue-list em { color: #9ba9ba; font-style: normal; font-size: 11px; text-align: right; }
.workers-panel { padding: 16px; }.worker-card { margin-top: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: rgba(7,13,23,.7); }.worker-card header { display: flex; justify-content: space-between; }.worker-card header span { display: inline-flex; align-items: center; gap: 6px; color: var(--green); font-size: 11px; }.worker-card header span i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }.worker-card header span.offline { color: var(--orange); }.worker-body { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 14px; }.worker-body > div { min-width: 0; padding-right: 7px; border-right: 1px solid var(--line); }.worker-body > div:last-child { border: 0; }.worker-body small,.worker-body b { display: block; }.worker-body small { color: #65758a; font-size: 9px; }.worker-body b { margin-top: 4px; font-size: 11px; overflow: hidden; text-overflow: ellipsis; }.worker-card p { margin: 12px 0 0; color: #8392a5; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.error-charts { display: grid; grid-template-columns: 1.65fr .85fr; gap: 12px; margin-bottom: 14px; }.error-chart,.causes-panel { min-height: 230px; padding: 17px; }.error-bars { height: 145px; display: flex; align-items: stretch; gap: 6%; padding: 20px 8% 0; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to bottom,transparent 0 35px,rgba(29,43,61,.5) 36px); }.error-bars > div { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 5px; height: 125px; }.error-bars i { width: 100%; min-height: 4px; border-radius: 3px 3px 0 0; background: linear-gradient(var(--red),rgba(255,79,87,.25)); }.error-bars span { color: var(--muted); font-size: 9px; white-space: nowrap; }.causes-list { display: grid; gap: 14px; }.causes-list > div { display: flex; justify-content: space-between; gap: 20px; }.causes-list span { display: flex; align-items: center; gap: 9px; }.causes-list i { width: 9px; height: 9px; border-radius: 50%; background: var(--red); }.causes-list > div:nth-child(2) i { background: var(--violet); }.causes-list > div:nth-child(3) i { background: var(--orange); }.causes-list > div:nth-child(4) i { background: var(--cyan); }
.errors-layout { grid-template-columns: minmax(0,1fr) 320px; }.errors-table-panel { padding: 8px; }.errors-table-panel > .panel-head { padding: 10px 8px 2px; }.error-table .table-row { grid-template-columns: 115px minmax(180px,1.4fr) 100px 120px minmax(130px,1fr) 55px 75px; gap: 8px; }.error-table .table-row > span { min-width: 0; }.error-table .table-row > span:first-child { display: flex; align-items: center; gap: 6px; }.error-table small { display: block; color: #64758a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.error-table.empty-table { min-width: 0; }
.diagnostic-panel section { padding: 12px 0; border-top: 1px solid var(--line); }.diagnostic-panel h3 { margin: 0 0 11px; font-size: 12px; }.timeline { display: grid; gap: 11px; }.timeline > div { position: relative; display: grid; grid-template-columns: 10px 78px 1fr; gap: 7px; align-items: center; font-size: 10px; }.timeline i { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); }.timeline .failed i { background: var(--red); }.timeline .reported i { background: var(--orange); box-shadow: 0 0 10px rgba(255,166,77,.45); }.timeline .reported b { color: #ffb466; }.timeline span { color: #718198; }.diagnostic-panel pre { max-height: 150px; margin: 0; padding: 12px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; border: 1px solid var(--line); border-radius: 7px; background: #050a12; color: #aeb9c8; font-size: 10px; }

.empty-state { padding: 22px; color: var(--muted); text-align: center; }.empty-state.large { min-height: 145px; display: grid; place-items: center; }.success-empty { color: #73bda0; }.empty-card { grid-column: 1/-1; padding: 45px; border: 1px dashed var(--line); border-radius: 10px; color: var(--muted); text-align: center; }

/* Login */
.login-body { min-height: 100vh; overflow: hidden; background: #030811; }
.login-shell { position: relative; min-height: 100vh; display: grid; place-items: center; padding: 80px 24px; background: radial-gradient(circle at center, rgba(8,54,83,.22), transparent 42%), linear-gradient(180deg,#030811,#06101b); }
.login-radar { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; pointer-events: none; opacity: .72; }
.ring { position: absolute; width: min(78vw,920px); aspect-ratio: 1; border: 1px solid rgba(19,215,237,.09); border-radius: 50%; }.ring-2 { transform: scale(.8); }.ring-3 { transform: scale(.6); }.ring-4 { transform: scale(.4); }
.pulse-line { position: absolute; width: 100%; height: 1px; background: linear-gradient(90deg,transparent 5%,rgba(19,215,237,.15) 30%,var(--cyan) 50%,rgba(19,215,237,.15) 70%,transparent 95%); box-shadow: 0 0 12px rgba(19,215,237,.25); }
.pulse-line::before { content: ""; position: absolute; left: calc(50% - 150px); top: -16px; width: 300px; height: 33px; background: var(--cyan); clip-path: polygon(0 49%,35% 49%,39% 42%,43% 58%,48% 48%,52% 51%,57% 36%,61% 64%,66% 49%,100% 49%,100% 53%,66% 53%,61% 70%,57% 43%,52% 55%,48% 52%,43% 64%,39% 48%,35% 53%,0 53%); opacity: .55; filter: blur(.2px); }
.login-brand { position: absolute; top: calc(50% - 310px); z-index: 2; display: flex; align-items: center; gap: 13px; color: var(--cyan); font-size: 27px; font-weight: 650; letter-spacing: .14em; }
.login-brand .pulse-logo { width: 53px; height: 53px; }
.login-card { position: relative; z-index: 2; width: min(100%,486px); padding: 34px; border: 1px solid #26364b; border-radius: 14px; background: linear-gradient(145deg,rgba(10,18,31,.97),rgba(6,13,23,.96)); box-shadow: var(--shadow), inset 0 1px rgba(255,255,255,.015); }
.login-card header { text-align: center; margin-bottom: 25px; }.login-card h1 { margin: 0; font-size: 27px; font-weight: 580; }.login-card header p { margin: 4px 0 0; color: var(--muted); font-size: 16px; }.login-card form > label:not(.check-row) { display: block; margin: 16px 0 8px; font-size: 14px; }.login-card input[type="text"],.login-card input[type="password"] { width: 100%; height: 52px; padding: 0 15px; outline: 0; border: 1px solid #28384d; border-radius: 7px; background: #07101b; color: white; transition: .18s; }.login-card input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(19,215,237,.08); }.password-field { position: relative; }.password-field input { padding-right: 50px!important; }.eye-button { position: absolute; right: 4px; top: 4px; width: 44px; height: 44px; border: 0; background: transparent; color: #8292a6; cursor: pointer; }.check-row { display: flex; align-items: center; gap: 9px; margin: 18px 0; cursor: pointer; }.check-row input { position: absolute; opacity: 0; }.check-row span { width: 20px; height: 20px; border: 1px solid #526278; border-radius: 4px; }.check-row input:checked + span { border-color: var(--cyan); background: var(--cyan); box-shadow: inset 0 0 0 4px #07101b; }.login-button { width: 100%; height: 54px; border: 0; border-radius: 7px; }.secure-note { margin-top: 23px; color: #8391a4; text-align: center; }.secure-note span { color: var(--cyan); margin-right: 7px; }.login-error { padding: 10px 12px; border: 1px solid rgba(255,79,87,.4); border-radius: 7px; background: rgba(255,79,87,.08); color: #ff8b91; }.login-footer { position: absolute; bottom: 24px; color: #5a697d; }

@media (max-width: 1260px) {
  :root { --sidebar: 220px; }
  .main-content { padding: 22px 20px; }
  .overview-grid { grid-template-columns: 1.3fr repeat(3,.8fr); }
  .analytics-row { grid-template-columns: minmax(0,1.45fr) minmax(220px,.7fr); }
  .dashboard-columns { grid-template-columns: 1fr; }.activity-panel { display: none; }
  .downloads-layout { grid-template-columns: 1fr; }.detail-panel { position: static; display: grid; grid-template-columns: 240px 1fr; gap: 14px; }.detail-title { grid-column: 1/-1; }.detail-preview { height: 310px; }.detail-panel .metadata-list { margin-top: 0; }
  .downloads-table .table-row { grid-template-columns: minmax(190px,1.4fr) 130px 85px 55px 75px 70px 95px 75px; font-size: 11px; }
}

@media (max-width: 980px) {
  :root { --sidebar: 250px; }
  .sidebar { transform: translateX(-105%); transition: .22s ease; box-shadow: 25px 0 60px rgba(0,0,0,.45); }.sidebar.open { transform: none; }
  .main-content { margin-left: 0; width: 100%; padding: 72px 16px 24px; }.mobile-menu { position: fixed; z-index: 60; top: 15px; left: 15px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 9px; background: #08111e; color: var(--cyan); }
  .overview-grid,.download-metrics,.queue-metrics,.error-metrics { grid-template-columns: repeat(2,1fr); }
  .queue-layout,.errors-layout { grid-template-columns: 1fr; }.workers-panel,.diagnostic-panel { position: static; }
  .analytics-row { grid-template-columns: 1fr; }.platforms-panel { display: none; }
  .filter-bar { grid-template-columns: 1fr 1fr; }.search-field { grid-column: 1/-1; }
  .table-panel,.errors-table-panel { overflow-x: auto; }.downloads-table { min-width: 940px; }.error-table { min-width: 900px; }
}

@media (max-width: 640px) {
  body { font-size: 13px; }.main-content { padding-inline: 12px; }
  .page-header { align-items: flex-start; }.page-header p { max-width: 260px; }.header-actions .date-chip { display: none; }.outline-button { padding-inline: 12px; }
  .overview-grid,.download-metrics,.queue-metrics,.error-metrics { grid-template-columns: 1fr 1fr; gap: 8px; }.metric-card { min-height: 116px; padding: 15px; }.hero-metric { grid-column: 1/-1; }.overview-grid > .metric-card:last-child { grid-column: 1/-1; }.metric-card strong,.hero-metric strong { font-size: 31px; }.hero-metric strong { font-size: 45px; }.metric-radar { width: 70px; height: 70px; }
  .chart-panel { padding: 15px; min-height: 300px; }.line-chart { height: 225px; }.line-chart svg { height: 185px; }.chart-labels span:nth-child(even) { display: none; }
  .video-card-grid { grid-template-columns: 1fr; }.video-card { min-height: 185px; }.card-thumb { min-height: 185px; }
  .filter-bar { grid-template-columns: 1fr; }.search-field { grid-column: auto; }.filter-bar .outline-button { width: 100%; }
  .table-panel { overflow: hidden; }.downloads-table { min-width: 0; }.downloads-table .table-row { grid-template-columns: minmax(0,1fr) auto; gap: 4px 8px; min-height: 76px; }.downloads-table .table-head { min-height: 34px; }.downloads-table .table-head span:not(:first-child):not(:last-child) { display: none; }.downloads-table .table-row:not(.table-head) > span:not(.video-cell):not(.source-cell):not(:last-child) { display: none; }.downloads-table .source-cell { grid-column: 1; grid-row: 2; margin-left: 53px; }.downloads-table .table-row:not(.table-head) > span:last-child { grid-column: 2; grid-row: 1 / 3; }.downloads-table .video-cell b { font-size: 11px; }.downloads-table .thumb { width: 44px; height: 56px; flex-basis: 44px; }.downloads-table .source-cell .platform-icon { width: 22px; height: 22px; flex-basis: 22px; }.downloads-table .source-cell small { max-width: 190px; }
  .error-table.empty-table .table-head { grid-template-columns: 1fr; }.error-table.empty-table .table-head span:not(:first-child) { display: none; }
  .detail-panel { display: block; }.detail-preview { height: min(430px,105vw); }
  .job-progress { grid-template-columns: 44px minmax(0,1fr); }.job-progress > .platform-icon { grid-row: 1; }.queue-thumb { display: none; }.job-progress-body { grid-column: 2; }.progress-meta span:last-child { margin-left: 0; }
  .queue-list > div { grid-template-columns: 22px 25px minmax(130px,1fr) 52px; }.queue-list small { display: none; }
  .error-charts { grid-template-columns: 1fr; }
  .login-shell { padding: 100px 14px 70px; }.login-brand { top: 30px; font-size: 22px; }.login-brand .pulse-logo { width: 45px; height: 45px; }.login-card { padding: 27px 20px; }.login-radar .ring { width: 150vw; }.login-footer { bottom: 14px; }
}
