/* Infludar — Dashboard: parser control, stats grid, logs, progress */

.parser-control{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}
.parser-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px}
.parser-header h2{font-size:13px;font-weight:600;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px}
.parser-left{display:flex;align-items:center;gap:12px}
.parser-right{display:flex;align-items:center;gap:8px}
.parser-status{display:flex;align-items:center;gap:8px;font-size:13px}
.parser-status .pulse{width:8px;height:8px;background:var(--green);border-radius:50%;animation:pulse 1.5s infinite;flex-shrink:0;box-shadow:0 0 6px rgba(34,197,94,0.4)}
.parser-status .idle-dot{width:8px;height:8px;background:var(--text-muted);border-radius:50%;flex-shrink:0}
.parser-status .label{color:var(--text-sec);font-size:12px}
.parser-status .detail{color:var(--text-muted);font-size:12px}

.progress-wrap{padding:0 20px 14px;display:none}
.progress-bar-bg{height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--green),#4ade80);border-radius:3px;transition:width .5s ease;width:0%}
.progress-info{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--text-muted)}

.logs-box{max-height:0;overflow:hidden;transition:max-height .3s ease;font-family:'JetBrains Mono','SF Mono','Consolas',monospace;font-size:11.5px;line-height:1.8;background:var(--bg)}
.logs-box.open{max-height:220px;overflow-y:auto}
.logs-box::-webkit-scrollbar{width:6px}
.logs-box::-webkit-scrollbar-track{background:transparent}
.logs-box::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.log-line{padding:1px 18px}
.log-line .ts{color:var(--text-muted)}
.log-line .lvl-INFO{color:var(--accent);font-weight:500}
.log-line .lvl-WARNING{color:var(--orange);font-weight:500}
.log-line .lvl-ERROR{color:var(--red);font-weight:600}
.log-line .msg{color:var(--text-sec)}
.logs-empty{color:var(--text-muted);padding:24px;text-align:center;font-size:13px}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;transition:border-color .2s,transform .15s;position:relative;overflow:hidden}
.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}
.stat-card .label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:500;line-height:1}
.stat-card .value{font-size:26px;font-weight:700;letter-spacing:-.5px}
.stat-card .value.purple{color:var(--accent2)}
.stat-card .value.blue{color:var(--accent)}
.stat-card .value.green{color:var(--green)}
.stat-card .value.orange{color:var(--orange)}
.stat-card .value.cyan{color:var(--cyan)}
.stat-card .value.twitch{color:var(--twitch)}
.stat-card .sub{font-size:11px;color:var(--text-muted);margin-top:4px}
.stat-card.clickable{cursor:pointer}
.stat-card.clickable:hover{border-color:rgba(124,92,252,0.3)}

.quota-badge{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}
.quota-badge .qb-bar{width:40px;height:4px;background:var(--border);border-radius:2px;overflow:hidden;position:relative}
.quota-badge .qb-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .5s}
.quota-badge .qb-fill.danger{background:var(--red)}
.quota-badge .qb-text{white-space:nowrap}

.creators-count{font-size:11px;color:var(--text-muted)}

@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card .value{font-size:22px}}
