/* Ό,τι είναι δικό του crawler, πάνω στο σύστημα του C2S Control. Χρώματα ΜΟΝΟ από var(--c2s-*). */

/* --- κέλυφος --- */
body.c2s-shell .c2s-test-badge { font-size: .72rem; font-weight: 700; letter-spacing: .04em; padding: .25rem .6rem;
  border-radius: 999px; color: var(--c2s-amber); background: var(--c2s-amber-soft); border: 1px solid var(--c2s-amber); }
body.c2s-shell .c2s-run-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c2s-lime); display: inline-block;
  margin-left: 8px; vertical-align: middle; box-shadow: 0 0 0 0 var(--c2s-lime); animation: crawlerPulse 1.4s infinite; }
@keyframes crawlerPulse { 70% { box-shadow: 0 0 0 7px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }

/* --- κελιά πινάκων --- */
body.c2s-shell .cr-open { color: var(--c2s-text); font-weight: 600; text-decoration: none; cursor: pointer; }
body.c2s-shell .cr-open:hover { color: var(--c2s-navy-900); text-decoration: underline; }
body.c2s-shell .cr-clip { display: inline-block; max-width: 16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
body.c2s-shell .cr-score { display: inline-flex; align-items: center; gap: .45rem; font-variant-numeric: tabular-nums; font-weight: 600; }
body.c2s-shell .cr-score-bar { width: 48px; height: 6px; border-radius: 4px; background: var(--c2s-surface-muted); overflow: hidden; }
body.c2s-shell .cr-score-bar > span { display: block; height: 100%; background: var(--c2s-lime-deep); }
body.c2s-shell .cr-reasons { margin: 0; padding-left: 1rem; font-size: var(--c2s-font-size-xs); color: var(--c2s-text-muted); }
body.c2s-shell .cr-reasons li { margin: 0; }
body.c2s-shell .cr-icons { display: inline-flex; gap: .35rem; font-size: 1.05rem; color: var(--c2s-text-muted); }
body.c2s-shell .cr-icons .is-on { color: var(--c2s-green); }
body.c2s-shell .cr-tags { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .2rem; }
body.c2s-shell .cr-tag { font-size: .68rem; font-weight: 600; padding: .05rem .4rem; border-radius: 6px; background: var(--c2s-surface-muted);
  color: var(--c2s-text-muted); border: 1px solid var(--c2s-border); white-space: nowrap; }
body.c2s-shell .cr-tag.is-bad { background: var(--c2s-red-soft); color: var(--c2s-red); border-color: transparent; }
body.c2s-shell .cr-tag.is-ok { background: var(--c2s-green-soft); color: var(--c2s-green); border-color: transparent; }

/* --- προεπισκόπηση --- */
body.c2s-shell .cr-preview { border: 1px solid var(--c2s-border); border-radius: var(--c2s-radius); overflow: hidden; background: var(--c2s-surface-soft);
  min-height: 280px; display: grid; place-items: center; }
body.c2s-shell .cr-preview img { width: 100%; height: auto; display: block; }
body.c2s-shell .cr-preview-empty { text-align: center; color: var(--c2s-text-muted); padding: 2rem 1rem; }
body.c2s-shell .cr-preview-empty i { font-size: 2rem; display: block; margin-bottom: .5rem; }
body.c2s-shell .cr-offer-list { list-style: none; padding: 0; margin: 0; }
body.c2s-shell .cr-offer-list li { border: 1px solid var(--c2s-border); border-radius: var(--c2s-radius-sm); padding: .6rem .75rem; margin-bottom: .5rem; }
body.c2s-shell .cr-offer-list li.is-best { border-color: var(--c2s-lime-deep); background: var(--c2s-lime-soft); }
body.c2s-shell .cr-email-row { display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap; padding: .35rem 0;
  border-bottom: 1px dashed var(--c2s-border); font-size: var(--c2s-font-size-sm); }
body.c2s-shell .cr-email-row:last-child { border-bottom: 0; }

/* --- έρευνα / crawler --- */
body.c2s-shell .cr-progress { height: 10px; border-radius: 6px; background: var(--c2s-surface-muted); overflow: hidden; }
body.c2s-shell .cr-progress > span { display: block; height: 100%; background: var(--c2s-navy-900); transition: width .4s ease; }
body.c2s-shell .cr-progress.is-today > span { background: var(--c2s-lime-deep); }
body.c2s-shell .cr-progress.is-indeterminate > span { width: 30% !important; animation: crSlide 1.4s infinite ease-in-out; }
@keyframes crSlide { 0% { margin-left: -30%; } 100% { margin-left: 100%; } }
body.c2s-shell .cr-meta-row { display: flex; justify-content: space-between; gap: .5rem; font-size: var(--c2s-font-size-sm);
  color: var(--c2s-text-muted); margin: .75rem 0 .3rem; }
body.c2s-shell .cr-big { font-size: 1.5rem; font-weight: 700; font-variant-numeric: tabular-nums; }
body.c2s-shell .cr-hrow { display: flex; align-items: center; gap: .5rem; }
body.c2s-shell .cr-hbar { flex: 1; height: 10px; border-radius: 5px; background: var(--c2s-surface-muted); overflow: hidden; min-width: 50px; }
body.c2s-shell .cr-hbar > span { display: block; height: 100%; background: var(--c2s-navy-900); }
body.c2s-shell .cr-hbar.is-alt > span { background: var(--c2s-lime-deep); }
body.c2s-shell .cr-hrow em { font-style: normal; font-size: var(--c2s-font-size-xs); font-weight: 600; min-width: 2.4rem; text-align: right; }
body.c2s-shell .cr-counters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
body.c2s-shell .cr-counter { border: 1px solid var(--c2s-border); border-radius: var(--c2s-radius-sm); padding: .6rem .8rem; }
body.c2s-shell .cr-counter span { display: block; font-size: var(--c2s-font-size-xs); color: var(--c2s-text-muted); }
body.c2s-shell .cr-counter strong { font-size: 1.3rem; font-variant-numeric: tabular-nums; }
body.c2s-shell .cr-message { background: var(--c2s-surface-soft); border: 1px solid var(--c2s-border); border-radius: var(--c2s-radius-sm);
  padding: .55rem .75rem; font-size: var(--c2s-font-size-sm); overflow-wrap: anywhere; min-height: 2.3rem; }
body.c2s-shell .cr-stages { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: 1rem; }
body.c2s-shell .cr-stage { display: inline-flex; align-items: center; gap: .3rem; font-size: var(--c2s-font-size-xs); font-weight: 600;
  padding: .25rem .6rem; border-radius: 999px; border: 1px solid var(--c2s-border); color: var(--c2s-text-muted); }
body.c2s-shell .cr-stage.is-done { background: var(--c2s-green-soft); color: var(--c2s-green); border-color: transparent; }
body.c2s-shell .cr-stage.is-failed { background: var(--c2s-red-soft); color: var(--c2s-red); border-color: transparent; }
body.c2s-shell .cr-stage.is-current { background: var(--c2s-lime-soft); color: var(--c2s-lime-ink); border-color: transparent; }
body.c2s-shell .cr-stage.is-current i { animation: crSpin 1.2s linear infinite; }
@keyframes crSpin { to { transform: rotate(360deg); } }
body.c2s-shell .cr-log { height: 380px; overflow: auto; background: var(--c2s-navy-975, #06121f); color: #cbd5e1; font-family: var(--c2s-font-mono);
  font-size: .76rem; line-height: 1.55; padding: .9rem 1rem; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; border-radius: 0 0 var(--c2s-radius) var(--c2s-radius); }
body.c2s-shell .cr-log .lv-warn { color: #fbbf24; } body.c2s-shell .cr-log .lv-err { color: #f87171; } body.c2s-shell .cr-log .lv-time { color: #64748b; }
body.c2s-shell .cr-kv { display: flex; justify-content: space-between; gap: .75rem; padding: .35rem 0; border-bottom: 1px dashed var(--c2s-border);
  font-size: var(--c2s-font-size-sm); }
body.c2s-shell .cr-kv:last-child { border-bottom: 0; }
body.c2s-shell .cr-kv code { color: var(--c2s-text); }
body.c2s-shell .cr-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
body.c2s-shell .cr-lane { border: 1px solid var(--c2s-border); border-radius: var(--c2s-radius-sm); padding: .6rem .8rem; font-size: var(--c2s-font-size-sm); }
body.c2s-shell .cr-lane strong { display: block; }
body.c2s-shell .cr-job-grid { display: grid; gap: .5rem; }
body.c2s-shell .cr-job-grid .c2s-btn { justify-content: flex-start; width: 100%; }

/* --- emails --- */
body.c2s-shell .cr-tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; padding: 1rem; }
body.c2s-shell .cr-tpl { border: 1px solid var(--c2s-border); border-radius: var(--c2s-radius); padding: 1rem; display: flex; flex-direction: column; gap: .35rem; }
body.c2s-shell .cr-tpl p { margin: 0; font-size: var(--c2s-font-size-sm); color: var(--c2s-text-muted); }
body.c2s-shell .cr-tpl .c2s-button-row { margin-top: auto; padding-top: .5rem; }
body.c2s-shell .cr-var { font-size: var(--c2s-font-size-xs); border: 1px solid var(--c2s-border); background: var(--c2s-surface); border-radius: 999px;
  padding: .12rem .55rem; margin: 0 .3rem .3rem 0; cursor: pointer; }
body.c2s-shell .cr-var:hover { border-color: var(--c2s-navy-900); }
body.c2s-shell .cr-frame { width: 100%; height: 60vh; min-height: 380px; border: 1px solid var(--c2s-border); border-radius: var(--c2s-radius); background: var(--c2s-bg); }
body.c2s-shell .cr-editor { min-height: 280px; font-family: var(--c2s-font-family); }
body.c2s-shell .cr-audience { border: 1px solid var(--c2s-border); border-radius: var(--c2s-radius-sm); padding: .75rem; background: var(--c2s-surface-soft); }
body.c2s-shell .cr-audience ul { list-style: none; padding: 0; margin: .5rem 0 0; max-height: 180px; overflow: auto; font-size: var(--c2s-font-size-sm); }
body.c2s-shell .cr-audience li { display: flex; justify-content: space-between; gap: .5rem; padding: .2rem 0; border-bottom: 1px dashed var(--c2s-border); }
body.c2s-shell .cr-setup { border-left: 4px solid var(--c2s-amber); }
body.c2s-shell .cr-setup ol { margin: .4rem 0 0; padding-left: 1.2rem; font-size: var(--c2s-font-size-sm); }

@media (max-width: 991.98px) {
  body.c2s-shell .cr-counters, body.c2s-shell .cr-lanes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- σελίδες χωρίς κέλυφος (σύνδεση, διαγραφή από λίστα) --- */
.cr-auth { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem 1rem; margin: 0;
  font-family: var(--c2s-font-family, system-ui, sans-serif);
  background: radial-gradient(1200px 600px at 10% -10%, rgba(15, 123, 148, .22), transparent 60%),
              radial-gradient(900px 500px at 110% 110%, rgba(178, 239, 20, .12), transparent 60%), #071f36; }
.cr-auth-stack { width: 100%; max-width: 420px; }
.cr-auth-brand { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; color: #fff; font-weight: 700; font-size: 1.3rem; }
.cr-auth-brand.is-center { justify-content: center; }
.cr-auth-card { background: #fff; border-radius: 16px; padding: 2.25rem; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); color: #1f2a37; }
.cr-auth-card h1 { font-size: 1.35rem; margin: 0 0 .35rem; }
.cr-auth-card p { color: #667085; }
.cr-auth-card label { display: block; font-weight: 500; margin-bottom: .3rem; }
.cr-auth-card input { width: 100%; height: 42px; border: 1px solid #d0d5dd; border-radius: 8px; padding: 0 .75rem; font-size: 1rem; margin-bottom: 1rem; }
.cr-auth-card input:focus { outline: 2px solid #0f7b94; outline-offset: 0; border-color: #0f7b94; }
.cr-auth-btn { width: 100%; height: 44px; border: 0; border-radius: 8px; background: #b2ef14; color: #0d1320; font-weight: 700; font-size: 1rem; cursor: pointer; }
.cr-auth-btn:hover { background: #9bd30d; }
.cr-auth-error { background: #fdecec; color: #b42318; border-radius: 8px; padding: .55rem .75rem; margin-bottom: 1rem; font-size: .9rem; }
.cr-center { text-align: center; }
/* Το C2S χρωματίζει τα εικονίδια στα κελιά: εδώ το χρώμα λέει «υπάρχει / δεν υπάρχει». */
body.c2s-shell .cr-icons i { color: var(--c2s-text-muted) !important; opacity: .35; }
body.c2s-shell .cr-icons i.is-on { color: var(--c2s-green) !important; opacity: 1; }
/* Ο editor του προτύπου: τα στυλ παραθύρου του C2S μαζεύουν το textarea σε μία γραμμή. */
body.c2s-shell textarea.cr-editor, body.c2s-shell .c2s-action-modal-content textarea.cr-editor { min-height: 300px !important; height: 300px !important; resize: vertical; }
