/* =====================================================================
   Exported Data (Export Center) + Scraping Tasks — shared styles.
   Reuses the --gmbs-* tokens defined on .gmbs-dash2 in frontend.css.
   All data on these two tabs is sample/demo data kept in the browser
   for this page load only — see class-gmbs-frontend.php header note.
   ===================================================================== */

/* ---------- Storage / usage stat card extras ---------- */
.gmbs-stat-progress{ margin-top:10px; height:6px; border-radius:20px; background:var(--gmbs-bg); overflow:hidden; }
.gmbs-stat-progress > div{ height:100%; border-radius:20px; background:var(--gmbs-blue); transition:width .4s ease; }

/* ---------- Export Center: quick-launch format grid ---------- */
.gmbs-export-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:12px; }
.gmbs-export-format-card{
	display:flex; flex-direction:column; align-items:flex-start; gap:10px;
	background:var(--gmbs-card); border:1px solid var(--gmbs-border); border-radius:12px;
	padding:14px; cursor:pointer; text-align:left; font-family:inherit;
	transition:border-color .15s ease, box-shadow .15s ease, transform .1s ease;
}
.gmbs-export-format-card:hover{ border-color:var(--gmbs-blue); box-shadow:0 2px 10px rgba(59,108,246,.12); transform:translateY(-1px); }
.gmbs-export-format-card:disabled{ opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }
.gmbs-export-format-icon{ width:36px; height:36px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.gmbs-export-format-icon svg{ width:19px; height:19px; }
.gmbs-export-format-name{ font-size:13.5px; font-weight:700; color:var(--gmbs-text); }
.gmbs-export-format-sub{ font-size:11.5px; color:var(--gmbs-text-faint); margin-top:-6px; }

/* ---------- Export History table extras ---------- */
.gmbs-format-chip{ display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:20px; background:var(--gmbs-bg); color:var(--gmbs-text-soft); border:1px solid var(--gmbs-border); white-space:nowrap; }
.gmbs-status-pill.processing{ background:var(--gmbs-orange-soft); color:var(--gmbs-orange); }
.gmbs-status-pill.scheduled{ background:var(--gmbs-purple-soft); color:var(--gmbs-purple); }
.gmbs-status-pill.paused{ background:var(--gmbs-bg); color:var(--gmbs-text-soft); }
.gmbs-status-pill.cancelled{ background:var(--gmbs-bg); color:var(--gmbs-text-soft); }
.gmbs-status-pill .gmbs-spin{ display:inline-block; animation:gmbs-spin 1s linear infinite; }
@keyframes gmbs-spin{ from{ transform:rotate(0); } to{ transform:rotate(360deg); } }

.gmbs-row-fade-in{ animation:gmbs-row-fade-in .35s ease; }
@keyframes gmbs-row-fade-in{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }

.gmbs-icon-btn{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:7px; border:1px solid var(--gmbs-border); background:#fff; color:var(--gmbs-text-soft); cursor:pointer; }
.gmbs-icon-btn svg{ width:15px; height:15px; }
.gmbs-icon-btn:hover{ background:var(--gmbs-bg); }
.gmbs-icon-btn.gmbs-icon-danger:hover{ background:var(--gmbs-red-soft); color:var(--gmbs-red); border-color:#f0c7c8; }
.gmbs-icon-btn:disabled{ opacity:.4; cursor:not-allowed; }
.gmbs-icon-btn:disabled:hover{ background:#fff; color:var(--gmbs-text-soft); }
.gmbs-cell-dash{ color:var(--gmbs-text-faint); }

.gmbs-panel-head-actions{ display:flex; align-items:center; gap:8px; }
.gmbs-search-input{ padding:8px 12px; border:1px solid var(--gmbs-border); border-radius:8px; font-size:13px; min-width:220px; }

/* ---------- Scheduled exports ---------- */
.gmbs-sched-row{ display:flex; align-items:center; gap:14px; padding:13px 14px; border:1px solid var(--gmbs-border); border-radius:11px; margin-bottom:10px; background:var(--gmbs-card); }
.gmbs-sched-icon{ width:36px; height:36px; border-radius:9px; background:var(--gmbs-purple-soft); color:var(--gmbs-purple); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.gmbs-sched-icon svg{ width:17px; height:17px; }
.gmbs-sched-main{ flex:1; min-width:0; }
.gmbs-sched-title{ font-size:13.5px; font-weight:700; color:var(--gmbs-text); }
.gmbs-sched-sub{ font-size:12px; color:var(--gmbs-text-soft); margin-top:2px; }
.gmbs-sched-next{ font-size:12px; color:var(--gmbs-text-faint); white-space:nowrap; text-align:right; }
.gmbs-sched-next b{ color:var(--gmbs-text); font-weight:600; }

.gmbs-toggle{ position:relative; display:inline-block; width:38px; height:22px; flex-shrink:0; }
.gmbs-toggle input{ opacity:0; width:0; height:0; }
.gmbs-toggle-track{ position:absolute; inset:0; background:var(--gmbs-border); border-radius:20px; cursor:pointer; transition:background .15s ease; }
.gmbs-toggle-track:before{ content:""; position:absolute; width:16px; height:16px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform .15s ease; box-shadow:0 1px 2px rgba(0,0,0,.25); }
.gmbs-toggle input:checked + .gmbs-toggle-track{ background:var(--gmbs-green); }
.gmbs-toggle input:checked + .gmbs-toggle-track:before{ transform:translateX(16px); }

.gmbs-empty-row-note{ text-align:center; padding:28px 10px; color:var(--gmbs-text-faint); font-size:13px; }

/* ---------- Scraping Tasks: stat/filter row ---------- */
.gmbs-scr-filters{ display:flex; align-items:center; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.gmbs-filter-chip{ padding:7px 14px; border-radius:20px; border:1px solid var(--gmbs-border); background:var(--gmbs-card); font-size:12.5px; font-weight:600; color:var(--gmbs-text-soft); cursor:pointer; }
.gmbs-filter-chip .count{ margin-left:5px; color:var(--gmbs-text-faint); }
.gmbs-filter-chip:hover{ border-color:var(--gmbs-blue); }
.gmbs-filter-chip.is-active{ background:var(--gmbs-blue); border-color:var(--gmbs-blue); color:#fff; }
.gmbs-filter-chip.is-active .count{ color:rgba(255,255,255,.8); }
.gmbs-scr-spacer{ flex:1; }

/* ---------- Task cards ---------- */
.gmbs-task-list{ display:flex; flex-direction:column; gap:14px; }
.gmbs-task-card{ background:var(--gmbs-card); border:1px solid var(--gmbs-border); border-radius:14px; padding:18px 20px; box-shadow:0 1px 2px rgba(16,24,40,.03); }
.gmbs-task-card.is-hidden{ display:none; }
.gmbs-task-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.gmbs-task-title{ font-size:15px; font-weight:700; color:var(--gmbs-text); }
.gmbs-task-title .loc{ font-weight:500; color:var(--gmbs-text-soft); }
.gmbs-task-title .loc:before{ content:"·"; margin:0 6px; color:var(--gmbs-text-faint); }
.gmbs-task-badges{ display:flex; align-items:center; gap:8px; margin-top:6px; }
.gmbs-task-actions{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

.gmbs-task-meta{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-bottom:14px; }
.gmbs-task-meta-item .lbl{ font-size:10.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--gmbs-text-faint); margin-bottom:3px; }
.gmbs-task-meta-item .val{ font-size:13.5px; font-weight:600; color:var(--gmbs-text); }

.gmbs-task-progress-row{ display:flex; align-items:center; gap:10px; }
.gmbs-task-progress-bar{ flex:1; height:9px; border-radius:20px; background:var(--gmbs-bg); overflow:hidden; position:relative; }
.gmbs-task-progress-bar > div{ height:100%; border-radius:20px; background:var(--gmbs-blue); transition:width .5s ease; }
.gmbs-task-card[data-status="completed"] .gmbs-task-progress-bar > div{ background:var(--gmbs-green); }
.gmbs-task-card[data-status="failed"] .gmbs-task-progress-bar > div{ background:var(--gmbs-red); }
.gmbs-task-card[data-status="queued"] .gmbs-task-progress-bar > div{ background:var(--gmbs-text-faint); }
.gmbs-task-card.is-paused .gmbs-task-progress-bar > div{ background:var(--gmbs-orange); }
.gmbs-task-progress-pct{ font-size:12.5px; font-weight:700; color:var(--gmbs-text); width:38px; text-align:right; flex-shrink:0; }

.gmbs-task-error{ margin-top:10px; font-size:12px; color:var(--gmbs-red); background:var(--gmbs-red-soft); padding:8px 10px; border-radius:8px; }

/* ---------- Logs modal ---------- */
.gmbs-logs-modal{ max-width:640px; }
.gmbs-logs-box{ background:#0b1220; color:#cfe0ff; border-radius:9px; padding:14px 16px; font-family:"SFMono-Regular",Consolas,Menlo,monospace; font-size:12px; line-height:1.75; max-height:340px; overflow-y:auto; white-space:pre-wrap; }
.gmbs-logs-box .log-time{ color:#6f83ad; margin-right:8px; }
.gmbs-logs-box .log-line{ display:block; }
.gmbs-logs-box .log-line.warn{ color:#f5c86a; }
.gmbs-logs-box .log-line.err{ color:#ff8a8a; }
.gmbs-logs-box .log-line.ok{ color:#7de3a8; }

@media (max-width: 900px){
	.gmbs-task-meta{ grid-template-columns:repeat(2,1fr); }
	.gmbs-export-grid{ grid-template-columns:repeat(auto-fill, minmax(130px,1fr)); }
}
