*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg: #0a0e14; --bg2: #12171f; --bg3: #1a2030; --bg4: #222a3a;
  --border: #1e2a3a; --border-hover: #2a3a50;
  --text: #e8edf5; --text-muted: #6b7a8d; --text-light: #9baab8;
  --green: #00e676; --green-dim: rgba(0,230,118,0.12);
  --blue: #448aff; --blue-dim: rgba(68,138,255,0.12);
  --orange: #ffab40; --orange-dim: rgba(255,171,64,0.12);
  --red: #ff5252; --red-dim: rgba(255,82,82,0.12);
  --purple: #b388ff; --purple-dim: rgba(179,136,255,0.12);
  --cyan: #18ffff; --accent: #448aff;
  --shadow: 0 4px 24px rgba(0,0,0,0.3);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.4);
  --radius: 12px; --radius-sm: 8px;
  --transition: 0.2s cubic-bezier(0.4,0,0.2,1);
}

body {
  font-family: 'Inter',-apple-system,system-ui,sans-serif;
  background: var(--bg); color: var(--text);
  min-height: 100vh; font-size: 14px; line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  background-image: radial-gradient(ellipse at 20% 0%,rgba(68,138,255,0.05) 0%,transparent 50%),
    radial-gradient(ellipse at 80% 100%,rgba(0,230,118,0.03) 0%,transparent 50%);
}
#app { max-width: 1200px; margin: 0 auto; padding: 16px 20px; }

/* Header */
header { display:flex; align-items:center; justify-content:space-between; padding:20px 0 20px; }
.header-left { display:flex; align-items:center; gap:14px; }
.logo { width:44px;height:44px; background:linear-gradient(135deg,var(--blue),var(--purple)); border-radius:12px; display:flex;align-items:center;justify-content:center; font-size:22px; box-shadow:0 0 20px rgba(68,138,255,0.2); }
h1 { font-size:22px; font-weight:700; letter-spacing:-0.3px; }
.subtitle { color:var(--text-muted); font-size:12px; letter-spacing:0.3px; }
.header-right { display:flex; align-items:center; gap:16px; }
.last-updated { color:var(--text-muted); font-size:11px; }
.live-indicator { display:flex;align-items:center;gap:6px; font-size:11px;color:var(--green);font-weight:600; background:var(--green-dim); padding:4px 10px;border-radius:20px; letter-spacing:0.5px;text-transform:uppercase; }
.pulse { width:7px;height:7px;border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1;box-shadow:0 0 8px var(--green)} 50%{opacity:.5;box-shadow:0 0 16px var(--green)} }

/* Command Bar */
.command-bar { display:flex;align-items:center;gap:10px; background:var(--bg2);border:1px solid var(--border); border-radius:var(--radius);padding:10px 16px; margin-bottom:20px; transition:var(--transition); }
.command-bar:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px rgba(68,138,255,0.1); }
.command-icon { font-size:16px; }
.command-input { flex:1;background:none;border:none;color:var(--text);font-size:14px;font-family:inherit;outline:none; }
.command-input::placeholder { color:var(--text-muted);opacity:.6; }
.command-hint { color:var(--text-muted);font-size:11px;background:var(--bg3);padding:2px 8px;border-radius:4px;font-family:monospace; }

/* Stats */
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.stat-card { background:var(--bg2);border:1px solid var(--border); border-radius:var(--radius);padding:20px; position:relative;overflow:hidden; transition:var(--transition); }
.stat-card:hover { border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow); }
.stat-card::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;opacity:.3; }
.stat-card.accent-blue::before { background:var(--blue);opacity:1; }
.stat-card.accent-green::before { background:var(--green);opacity:1; }
.stat-card.accent-purple::before { background:var(--purple);opacity:1; }
.stat-card.accent-orange::before { background:var(--orange);opacity:1; }
.stat-value { font-size:36px;font-weight:800; line-height:1; transition:transform .2s; }
.stat-label { color:var(--text-muted);font-size:11px;margin-top:6px; font-weight:500;text-transform:uppercase;letter-spacing:.8px; }

/* Quick Actions */
.quick-actions { display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap; }
.qa-btn { display:flex;align-items:center;gap:8px; background:var(--bg2);border:1px solid var(--border); padding:10px 18px;border-radius:var(--radius);color:var(--text); font-size:13px;font-weight:500;cursor:pointer; transition:var(--transition); }
.qa-btn:hover { background:var(--bg3);border-color:var(--border-hover);transform:translateY(-1px); }
.qa-icon { font-size:16px; }

/* Sections */
.section { margin-bottom:28px; }
.section-title { font-size:13px;font-weight:600;margin-bottom:14px; color:var(--text-muted);text-transform:uppercase;letter-spacing:1px; }
.section-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:14px; }
.section-header .section-title { margin-bottom:0; }

/* View Toggle */
.task-view-toggle { display:flex;gap:2px;background:var(--bg2);border-radius:6px;padding:2px;border:1px solid var(--border); }
.view-btn { background:none;border:none;color:var(--text-muted);padding:5px 10px;cursor:pointer;border-radius:4px;font-size:14px;transition:var(--transition); }
.view-btn.active { background:var(--bg4);color:var(--text); }

/* Agents */
.agents-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.agent-card { background:var(--bg2);border:1px solid var(--border); border-radius:var(--radius);padding:16px 12px; text-align:center;transition:var(--transition);position:relative; }
.agent-card:hover { border-color:var(--border-hover);transform:translateY(-1px); }
.agent-card.is-busy { border-color:rgba(0,230,118,.3); background:linear-gradient(180deg,rgba(0,230,118,.04),var(--bg2)); }
.agent-avatar { width:40px;height:40px;border-radius:10px; display:flex;align-items:center;justify-content:center; margin:0 auto 8px;font-size:18px;background:var(--bg3); }
.agent-card.is-busy .agent-avatar { background:var(--green-dim);box-shadow:0 0 12px rgba(0,230,118,.1); }
.agent-status-dot { width:8px;height:8px;border-radius:50%;position:absolute;top:12px;right:12px; }
.status-idle { background:var(--text-muted); }
.status-busy { background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2s ease-in-out infinite; }
.status-offline { background:var(--red); }
.agent-name { font-weight:600;font-size:13px; }
.agent-task { color:var(--text-muted);font-size:11px;margin-top:4px; white-space:nowrap;overflow:hidden;text-overflow:ellipsis; max-width:120px;margin-left:auto;margin-right:auto; }

/* Health */
.health-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:10px; }
.health-card { background:var(--bg2);border:1px solid var(--border); border-radius:var(--radius-sm);padding:14px;transition:var(--transition); }
.health-card.is-ok { border-color:rgba(0,230,118,.2); }
.health-card.is-down { border-color:rgba(255,82,82,.4);background:var(--red-dim); }
.health-name { font-weight:600;font-size:13px;margin-bottom:4px; }
.health-status { font-size:12px;display:flex;align-items:center;gap:6px; }
.health-ms { color:var(--text-muted);font-size:11px; }

/* Controls */
.controls-row { display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap; }
.search-wrapper { position:relative;flex:1;min-width:200px; }
.search-icon { position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:13px;pointer-events:none; }
.search-box { width:100%;background:var(--bg3);border:1px solid var(--border); border-radius:var(--radius-sm);padding:8px 12px 8px 36px; color:var(--text);font-size:13px;font-family:inherit;transition:var(--transition); }
.search-box:focus { outline:none;border-color:var(--blue);background:var(--bg4); }
.filter-tabs { display:flex;gap:2px;background:var(--bg2);border-radius:var(--radius-sm);padding:3px;border:1px solid var(--border); }
.filter-tab { background:none;border:none;color:var(--text-muted); padding:6px 14px;cursor:pointer;border-radius:6px; font-size:12px;font-weight:500;transition:var(--transition);white-space:nowrap; }
.filter-tab:hover { color:var(--text); }
.filter-tab.active { color:var(--text);background:var(--bg4);box-shadow:0 1px 3px rgba(0,0,0,.2); }
.filter-tab .count { display:inline-block;background:var(--bg3);padding:1px 6px;border-radius:10px;font-size:10px;margin-left:4px;color:var(--text-muted); }
.filter-tab.active .count { background:var(--accent);color:white; }

/* Tasks List */
.tasks-list { display:flex;flex-direction:column;gap:8px; }
.task-card { background:var(--bg2);border:1px solid var(--border); border-radius:var(--radius);padding:14px 18px; display:flex;align-items:center;gap:14px; cursor:pointer;transition:var(--transition);position:relative; }
.task-card:hover { border-color:var(--border-hover);background:var(--bg3);transform:translateX(4px); }
.task-card::before { content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px; }
.task-card.priority-1::before { background:var(--red); }
.task-card.priority-2::before { background:var(--orange); }
.task-card.priority-3::before { background:var(--text-muted);opacity:.3; }
.task-priority { font-size:16px;flex-shrink:0;width:24px;text-align:center; }
.task-info { flex:1;min-width:0; }
.task-title-row { display:flex;align-items:center;gap:8px;margin-bottom:4px; }
.task-title { font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.task-category-tag { padding:1px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0; }
.cat-seo { background:var(--blue-dim);color:var(--blue); }
.cat-content { background:var(--purple-dim);color:var(--purple); }
.cat-operaties { background:var(--orange-dim);color:var(--orange); }
.cat-dev { background:var(--green-dim);color:var(--green); }
.cat-algemeen { background:var(--bg4);color:var(--text-muted); }
.task-meta { display:flex;gap:10px;align-items:center;font-size:12px;color:var(--text-muted); }
.task-badge { padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600; }
.badge-queued { background:var(--bg4);color:var(--text-muted); }
.badge-in_progress { background:var(--blue-dim);color:var(--blue); }
.badge-review { background:var(--orange-dim);color:var(--orange); }
.badge-deployed { background:var(--purple-dim);color:var(--purple); }
.badge-done { background:var(--green-dim);color:var(--green); }
.task-agent { color:var(--blue);font-size:12px;flex-shrink:0;font-weight:500;background:var(--blue-dim);padding:3px 10px;border-radius:6px; }
.task-actions { display:flex;gap:4px;flex-shrink:0;opacity:0;transition:var(--transition); }
.task-card:hover .task-actions { opacity:1; }
.task-action-btn { width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center; background:var(--bg4);border:1px solid var(--border);cursor:pointer;font-size:12px;transition:var(--transition); }
.task-action-btn:hover { background:var(--accent);border-color:var(--accent); }
.task-action-btn.btn-complete:hover { background:var(--green);border-color:var(--green); }
.task-action-btn.btn-delete:hover { background:var(--red);border-color:var(--red); }
.empty-state { padding:48px;text-align:center;color:var(--text-muted);font-size:14px;background:var(--bg2);border:1px dashed var(--border);border-radius:var(--radius); }
.empty-state-icon { font-size:32px;margin-bottom:8px;opacity:.5; }

/* Board View */
.tasks-board { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;min-height:200px; }
.board-column { background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;min-height:200px; }
.board-column-header { font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:10px;display:flex;justify-content:space-between; }
.board-column-count { background:var(--bg4);padding:1px 8px;border-radius:10px;font-size:10px; }
.board-task { background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;margin-bottom:8px;cursor:pointer;transition:var(--transition); }
.board-task:hover { border-color:var(--border-hover);transform:translateY(-1px); }
.board-task-title { font-size:13px;font-weight:500;margin-bottom:4px; }
.board-task-meta { font-size:11px;color:var(--text-muted);display:flex;gap:6px;align-items:center; }

/* Activity */
.activity-feed { background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden; }
.activity-item { display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;transition:var(--transition); }
.activity-item:last-child { border-bottom:none; }
.activity-item:hover { background:var(--bg3); }
.activity-time { color:var(--text-muted);flex-shrink:0;width:50px;font-variant-numeric:tabular-nums;font-size:12px; }
.activity-agent { flex-shrink:0;width:60px;font-weight:600;font-size:12px; }
.activity-dot { width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:6px; }
.activity-text { color:var(--text-light);font-size:13px; }

/* Progress Bar */
.progress-bar-container { margin-top:20px;margin-bottom:20px; }
.progress-label { font-size:12px;color:var(--text-muted);margin-bottom:6px;display:flex;justify-content:space-between; }
.progress-track { height:6px;background:var(--bg3);border-radius:3px;overflow:hidden; }
.progress-fill { height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:3px;transition:width .5s ease;width:0; }

/* Buttons */
.btn-primary { background:linear-gradient(135deg,var(--accent),#5c9cff);color:white; border:none;padding:8px 20px;border-radius:var(--radius-sm); font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition); box-shadow:0 2px 8px rgba(68,138,255,.3); }
.btn-primary:hover { transform:translateY(-1px);box-shadow:0 4px 16px rgba(68,138,255,.4); }
.btn-secondary { background:var(--bg3);color:var(--text);border:1px solid var(--border);padding:8px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition); }
.btn-secondary:hover { background:var(--bg4);border-color:var(--border-hover); }
.btn-success { background:linear-gradient(135deg,#00c853,var(--green));color:#0a0e14;border:none;padding:8px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition); }
.btn-danger { background:none;color:var(--red);border:1px solid var(--red);padding:8px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition); }
.btn-danger:hover { background:var(--red-dim); }

/* Modal */
.modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:100; }
.modal-overlay.open { display:flex; }
.modal { background:var(--bg2);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;padding:28px;box-shadow:var(--shadow-lg);animation:slideUp .2s ease; }
.modal-wide { max-width:620px; }
@keyframes slideUp { from{transform:translateY(20px);opacity:0} to{transform:translateY(0);opacity:1} }
.modal-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border); }
.modal-header h3 { font-size:18px;font-weight:700; }
.modal-close { background:var(--bg3);border:1px solid var(--border);color:var(--text-muted);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:var(--transition); }
.modal-close:hover { background:var(--bg4);color:var(--text); }
.form-group { margin-bottom:16px; }
.form-group label { display:block;font-size:12px;color:var(--text-muted);margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.5px; }
.form-group input,.form-group textarea,.form-group select { width:100%;background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;font-family:inherit;transition:var(--transition); }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(68,138,255,.1); }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.modal-actions { display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid var(--border); }

/* Detail */
.detail-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px; }
.detail-item { padding:10px;background:var(--bg3);border-radius:var(--radius-sm); }
.detail-label { font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px; }
.detail-value { font-size:14px;font-weight:500; }
.detail-desc { padding:14px;background:var(--bg3);border-radius:var(--radius-sm);font-size:13px;color:var(--text-light);margin-bottom:12px;border-left:3px solid var(--accent); }
.detail-notes { padding:14px;background:var(--bg);border-radius:var(--radius-sm);font-size:13px;color:var(--text-light);margin-bottom:12px;font-family:'SF Mono',monospace; }
.detail-actions { display:flex;gap:8px;flex-wrap:wrap; }

/* Command Palette */
.command-palette { background:var(--bg2);border:1px solid var(--border);border-radius:16px;width:100%;max-width:560px;padding:8px;box-shadow:var(--shadow-lg);animation:slideUp .15s ease;margin-top:-20vh; }
.cp-input { width:100%;background:none;border:none;color:var(--text);padding:14px 16px;font-size:16px;font-family:inherit;outline:none;border-bottom:1px solid var(--border); }
.cp-list { max-height:300px;overflow-y:auto; }
.cp-item { display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;border-radius:8px;transition:var(--transition); }
.cp-item:hover,.cp-item.selected { background:var(--bg3); }
.cp-item-icon { font-size:18px;width:28px;text-align:center; }
.cp-item-text { font-size:14px; }
.cp-item-hint { margin-left:auto;font-size:11px;color:var(--text-muted);font-family:monospace; }

/* Toast */
.toast { position:fixed;bottom:24px;right:24px;background:var(--bg2);border:1px solid var(--border);color:var(--text);padding:12px 20px;border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:13px;font-weight:500;transform:translateY(100px);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:200; }
.toast.show { transform:translateY(0);opacity:1; }
.toast.success { border-color:var(--green); }
.toast.error { border-color:var(--red); }

.loading { padding:32px;text-align:center;color:var(--text-muted); }

/* Live Tasks */
.live-tasks-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px; }
.live-task-card { background:linear-gradient(135deg,rgba(68,138,255,0.06),rgba(0,230,118,0.04));border:1px solid rgba(68,138,255,0.2);border-radius:var(--radius);padding:18px;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden; }
.live-task-card::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--green));animation:shimmer 2s linear infinite; }
@keyframes shimmer { 0%{opacity:.5} 50%{opacity:1} 100%{opacity:.5} }
.live-task-card:hover { border-color:var(--blue);transform:translateY(-2px);box-shadow:0 4px 20px rgba(68,138,255,0.15); }
.live-task-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:8px; }
.live-task-agent { font-size:12px;font-weight:600;color:var(--blue); }
.live-task-pct { font-size:20px;font-weight:800;color:var(--green); }
.live-task-title { font-size:14px;font-weight:600;margin-bottom:4px; }
.live-task-step { font-size:12px;color:var(--text-muted);margin-bottom:10px; }
.live-progress-track { height:4px;background:var(--bg3);border-radius:2px;overflow:hidden; }
.live-progress-fill { height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:2px;transition:width 1s ease; }
.live-task-time { font-size:11px;color:var(--text-muted);margin-top:8px; }

/* Task mini progress */
.task-mini-progress { height:3px;background:var(--bg4);border-radius:2px;overflow:hidden;margin-top:6px;width:100%; }
.task-mini-fill { height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:2px;transition:width .5s; }

/* Execution progress in detail */
.exec-progress-section { background:linear-gradient(135deg,rgba(68,138,255,0.08),rgba(0,230,118,0.05));border:1px solid rgba(68,138,255,0.2);border-radius:var(--radius);padding:20px;margin-bottom:20px; }
.exec-progress-header { display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px;color:var(--text-muted); }
.exec-pct { font-size:24px;font-weight:800;color:var(--green); }
.exec-progress-track { height:8px;background:var(--bg3);border-radius:4px;overflow:hidden;margin-bottom:10px; }
.exec-progress-fill { height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:4px;transition:width 1s ease;position:relative; }
.exec-step { font-size:13px;color:var(--text-light); }

/* Execution log */
.exec-log { margin:16px 0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden; }
.exec-log-title { padding:10px 14px;background:var(--bg3);font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border); }
.exec-log-entry { padding:8px 14px;border-bottom:1px solid var(--border);font-size:13px;display:flex;gap:10px;align-items:flex-start; }
.exec-log-entry:last-child { border-bottom:none; }
.exec-log-num { color:var(--text-muted);font-size:11px;background:var(--bg3);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:600; }

/* Execute button animation */
.btn-execute { position:relative;overflow:hidden; }
.btn-execute::after { content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s; }
.btn-execute:active::after { width:300px;height:300px; }

/* Navigation Tabs */
.nav-tabs { display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid var(--border);padding-bottom:0; }
.nav-tab { background:none;border:none;color:var(--text-muted);padding:10px 18px;cursor:pointer;font-size:13px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-2px;transition:var(--transition); }
.nav-tab:hover { color:var(--text); }
.nav-tab.active { color:var(--text);border-bottom-color:var(--accent);font-weight:600; }

/* Pages */
.page { display:none; }
.page.active { display:block; }
.page-title { font-size:20px;font-weight:700;margin-bottom:6px; }
.page-desc { color:var(--text-muted);font-size:14px;margin-bottom:24px; }

/* Cron Grid */
.cron-grid { display:grid;grid-template-columns:1fr;gap:10px; }
.cron-card { background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;display:flex;align-items:center;gap:16px;transition:var(--transition);cursor:pointer; }
.cron-card:hover { border-color:var(--border-hover);background:var(--bg3);transform:translateX(4px); }
.cron-icon { font-size:24px;flex-shrink:0; }
.cron-arrow { color:var(--text-muted);font-size:16px;flex-shrink:0;transition:var(--transition); }
.cron-card:hover .cron-arrow { color:var(--text);transform:translateX(4px); }
.cron-status-dot { width:10px;height:10px;border-radius:50%;flex-shrink:0; }
.cron-status-dot.active { background:var(--green);box-shadow:0 0 8px var(--green); }
.cron-status-dot.paused { background:var(--orange); }
.cron-info { flex:1; }
.cron-name { font-weight:600;font-size:14px;margin-bottom:2px; }
.cron-desc { color:var(--text-muted);font-size:12px; }
.cron-schedule { text-align:right;flex-shrink:0; }
.cron-time { font-size:13px;font-weight:600;color:var(--blue); }
.cron-freq { font-size:11px;color:var(--text-muted); }
.cron-target { font-size:11px;color:var(--purple);background:var(--purple-dim);padding:2px 8px;border-radius:4px;margin-left:8px; }

/* Legend */
.legend-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px; }
.legend-item { display:flex;gap:12px;padding:14px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm); }
.legend-icon { font-size:24px;flex-shrink:0; }
.legend-item strong { font-size:13px; }
.text-muted { color:var(--text-muted);font-size:12px; }

/* Health Grid Large */
.health-grid-large { display:grid;grid-template-columns:repeat(2,1fr);gap:12px; }
.health-card-large { background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:var(--transition); }
.health-card-large.is-ok { border-left:3px solid var(--green); }
.health-card-large.is-down { border-left:3px solid var(--red);background:var(--red-dim); }
.health-card-name { font-size:15px;font-weight:600;margin-bottom:4px; }
.health-card-url { font-size:12px;color:var(--text-muted);margin-bottom:8px;word-break:break-all; }
.health-card-status { display:flex;align-items:center;gap:8px;font-size:13px; }
.health-card-ms { color:var(--text-muted);font-size:12px; }
.health-card-badge { padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600; }
.health-ok { background:var(--green-dim);color:var(--green); }
.health-down { background:var(--red-dim);color:var(--red); }

/* Domains */
.domains-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.domain-card { background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:var(--transition); }
.domain-card:hover { border-color:var(--border-hover); }
.domain-name { font-size:15px;font-weight:700;margin-bottom:4px;color:var(--blue); }
.domain-desc { font-size:12px;color:var(--text-muted);margin-bottom:10px; }
.domain-link { font-size:12px;color:var(--accent);text-decoration:none;font-weight:500; }
.domain-link:hover { text-decoration:underline; }
.domain-status { font-size:11px;padding:3px 10px;border-radius:12px;font-weight:500; }
.domain-status.parked { background:var(--bg4);color:var(--text-muted); }

/* Agents Detail */
.agents-detail-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:14px; }
.agent-detail-card { background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:var(--transition); }
.agent-detail-card:hover { border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow); }
.agent-detail-header { display:flex;align-items:center;gap:14px;margin-bottom:12px; }
.agent-detail-avatar { width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--bg3); }
.agent-detail-name { font-size:18px;font-weight:700; }
.agent-detail-role { font-size:12px;color:var(--text-muted); }
.agent-detail-desc { font-size:13px;color:var(--text-light);line-height:1.6;margin-bottom:12px; }
.agent-detail-skills { display:flex;flex-wrap:wrap;gap:6px; }
.agent-skill-tag { font-size:11px;padding:3px 10px;border-radius:12px;font-weight:500; }

/* Mobile */
@media(max-width:768px) {
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .agents-grid{grid-template-columns:repeat(3,1fr)}
  .form-row{grid-template-columns:1fr}
  .controls-row{flex-direction:column;align-items:stretch}
  .detail-grid{grid-template-columns:1fr}
  h1{font-size:18px}
  header{flex-direction:column;align-items:flex-start;gap:12px}
  .header-right{width:100%;justify-content:space-between}
  .health-grid{grid-template-columns:repeat(2,1fr)}
  .health-grid-large{grid-template-columns:1fr}
  .tasks-board{grid-template-columns:repeat(2,1fr)}
  .quick-actions{flex-wrap:wrap}
  .quick-actions .qa-btn{flex:1;min-width:calc(50% - 6px);justify-content:center}
  .nav-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}
  .nav-tabs::-webkit-scrollbar{display:none}
  .nav-tab{white-space:nowrap;padding:10px 14px;font-size:12px}
  .cron-card{flex-wrap:wrap;padding:14px}
  .cron-schedule{text-align:left;width:100%;display:flex;gap:8px;margin-top:4px}
  .cron-target{margin-left:0;margin-top:4px}
  .cron-arrow{display:none}
  .cron-icon{font-size:20px}
  .legend-grid{grid-template-columns:1fr}
  .domains-grid{grid-template-columns:1fr}
  .agents-detail-grid{grid-template-columns:1fr}
  .command-bar{padding:8px 12px}
  .command-hint{display:none}
  .modal{padding:20px;margin:12px;max-height:90vh;overflow-y:auto}
  .filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .task-card{padding:12px 14px;gap:10px}
  .task-actions{opacity:1}
  .task-agent{font-size:11px;padding:2px 8px}
}
@media(max-width:480px) {
  .agents-grid{grid-template-columns:repeat(2,1fr)}
  .stat-value{font-size:28px}
  .stat-card{padding:14px}
  #app{padding:10px}
  .tasks-board{grid-template-columns:1fr}
  .stats-grid{gap:8px}
  .quick-actions .qa-btn{font-size:12px;padding:8px 12px}
  .task-title{font-size:13px}
}
