/* ProductScraper – light professional UI */
:root {
  --bg: #f5f9fc;
  --surface: #ffffff;
  --surface2: #f0f6fb;
  --border: #e2eaf2;
  --text: #0f2744;
  --muted: #5b6f86;
  --primary: #00aef0;
  --primary-hover: #0096d1;
  --primary-soft: #e6f7fe;
  --success: #16a34a;
  --warning: #f59e0b;
  --danger: #ef4444;
  --radius: 12px;
  --shadow: 0 8px 30px rgba(15, 39, 68, 0.06);
  --font: "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; }
body {
  margin: 0;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  line-height: 1.55;
  min-height: 100vh;
}
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { max-width: 1100px; margin: 0 auto; padding: 1.5rem; }

/* Sticky Header */
.sl-header {
  background: #fff;
  border-bottom: 1px solid var(--border);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 999;
  width: 100%;
}
.sl-header-top {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0.85rem 1.15rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.sl-logo {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--text);
  text-decoration: none;
}
.sl-logo:hover { text-decoration: none; color: var(--text); }
.sl-logo-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(135deg, #00aef0, #0077b6);
  color: #fff;
  font-weight: 800;
  font-size: 0.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sl-logo-copy {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.sl-logo-copy strong { font-size: 1.05rem; color: #0b1f33; }
.sl-logo-copy small {
  font-size: 0.7rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sl-nav {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1.15rem 0.85rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.35rem;
  align-items: center;
}
.sl-nav a {
  color: #1e3a5f;
  font-size: 0.94rem;
  font-weight: 500;
  padding: 0.35rem 0;
}
.sl-nav a:hover { color: var(--primary); text-decoration: none; }
.sl-nav a.is-active {
  color: var(--primary);
  font-weight: 700;
}
.sl-nav-auth {
  font-weight: 700 !important;
  color: var(--primary) !important;
}
.sl-nav-auth.sl-nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .5rem .85rem;
  border-radius: 10px;
  background: var(--primary);
  color: #fff !important;
}
.sl-nav-auth.sl-nav-cta:hover {
  background: var(--primary-hover);
  color: #fff !important;
}
.sl-burger {
  width: 44px;
  height: 44px;
  border: none;
  background: transparent;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 0;
}
.sl-burger span {
  display: block;
  width: 22px;
  height: 2.5px;
  background: #0b3a5c;
  border-radius: 2px;
  transition: 0.2s;
}
.sl-burger.is-open span:nth-child(1) { transform: translateY(8.5px) rotate(45deg); }
.sl-burger.is-open span:nth-child(2) { opacity: 0; }
.sl-burger.is-open span:nth-child(3) { transform: translateY(-8.5px) rotate(-45deg); }

/* Buttons (landing) */
.sl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.65rem 1.25rem;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.95rem;
  border: 2px solid transparent;
  cursor: pointer;
  text-decoration: none !important;
  transition: 0.15s ease;
}
.sl-btn-primary {
  background: var(--primary);
  color: #fff !important;
  border-color: var(--primary);
  box-shadow: 0 6px 18px rgba(0, 174, 240, 0.28);
}
.sl-btn-primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
.sl-btn-outline {
  background: #fff;
  color: var(--primary) !important;
  border-color: var(--primary);
}
.sl-btn-outline:hover { background: var(--primary-soft); }
.sl-btn-sm { padding: 0.45rem 0.95rem; font-size: 0.88rem; border-radius: 9px; }
.sl-btn-lg { padding: 0.85rem 1.5rem; font-size: 1rem; min-width: 140px; }

/* Hero */
.sl-hero {
  background: linear-gradient(180deg, #ffffff 0%, #eef7fc 55%, #f5f9fc 100%);
  padding: 3.25rem 1.15rem 3.5rem;
  text-align: center;
}
.sl-hero-inner { max-width: 760px; margin: 0 auto; }
.sl-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(1.85rem, 5.5vw, 3rem);
  line-height: 1.15;
  color: #0b1f33;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.sl-hero-lead {
  margin: 0 auto 1rem;
  max-width: 560px;
  color: var(--muted);
  font-size: 1.05rem;
}
.sl-hero-meta {
  margin: 0 0 1.75rem;
  color: #7a90a8;
  font-size: 0.92rem;
  font-weight: 600;
}
.sl-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

/* Sections */
.sl-section { padding: 2.75rem 1.15rem; }
.sl-section-alt {
  background: #fff;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.sl-section-inner { max-width: 1100px; margin: 0 auto; }
.sl-section-title {
  text-align: center;
  margin: 0 0 1.75rem;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  color: #0b1f33;
}
.sl-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1rem;
}
.sl-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 1.35rem 1.25rem;
  box-shadow: var(--shadow);
}
.sl-card-num {
  color: var(--primary);
  font-weight: 800;
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
}
.sl-card h3 { margin: 0 0 0.5rem; font-size: 1.05rem; color: #0b1f33; }
.sl-card p { margin: 0; color: var(--muted); font-size: 0.94rem; }
.sl-cta-block { text-align: center; max-width: 640px; }
.sl-cta-block h2 { margin: 0 0 0.75rem; color: #0b1f33; }
.sl-cta-block p { margin: 0 0 1.25rem; color: var(--muted); }

/* Footer */
.sl-footer {
  background: #0b1f33;
  color: #9db0c5;
  margin-top: 0;
}
.sl-footer-grid {
  max-width: 1100px;
  margin: 0 auto;
  padding: 2.75rem 1.15rem 1.75rem;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 1.75rem;
}
.sl-footer .sl-logo { margin-bottom: 0.75rem; }
.sl-footer .sl-logo strong { color: #fff; }
.sl-footer-brand p, .sl-footer-note {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
}
.sl-footer h4 {
  margin: 0 0 0.75rem;
  color: #fff;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.sl-footer ul { list-style: none; margin: 0; padding: 0; }
.sl-footer li { margin: 0.4rem 0; }
.sl-footer a { color: #9db0c5; }
.sl-footer a:hover { color: #fff; }
.sl-footer-bottom {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1rem 1.15rem 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  font-size: 0.82rem;
}

/* Cards */
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: var(--shadow);
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.stat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem;
  text-align: center;
  box-shadow: var(--shadow);
}
.stat-value { display: block; font-size: 1.75rem; font-weight: 700; color: var(--primary); }
.stat-label { font-size: .85rem; color: var(--muted); }

/* Forms */
label { display: block; margin-bottom: 1rem; font-size: .9rem; color: var(--muted); }
input[type="text"], input[type="url"], input[type="email"], input[type="password"],
input[type="number"], select, textarea {
  display: block; width: 100%; margin-top: .35rem;
  padding: .7rem .9rem;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--text);
  font-size: 1rem;
}
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(0,174,240,.2);
}
.form-row { margin-bottom: .5rem; }
.form-row-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
}
.options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .5rem 1rem;
  margin: 1rem 0;
}
.options-grid label { display: flex; align-items: center; gap: .5rem; margin: 0; color: var(--text); }
.btn-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .6rem 1.2rem; border: none; border-radius: 10px;
  font-size: .95rem; font-weight: 600; cursor: pointer;
  background: var(--surface2); color: var(--text);
}
.btn:hover { background: #e2ebf3; text-decoration: none; }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-hover); }
.btn-secondary { background: var(--surface2); }
.btn-success { background: var(--success); color: #fff; }
.btn-warning { background: var(--warning); color: #111; }
.btn-danger { background: var(--danger); color: #fff; }
.btn-sm { padding: .35rem .7rem; font-size: .8rem; }
.btn-block { width: 100%; }

/* Tables */
.table-responsive { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.data-table th, .data-table td {
  padding: .7rem .75rem; text-align: left; border-bottom: 1px solid var(--border);
}
.data-table th {
  color: var(--muted); font-weight: 600; font-size: .78rem;
  text-transform: uppercase; letter-spacing: .03em;
}
.data-table tr:hover td { background: #f7fbfe; }
.text-center { text-align: center; }
.url-cell { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.actions { white-space: nowrap; }
.actions .btn { margin-right: .25rem; }

/* Badges */
.badge {
  display: inline-block; padding: .2rem .55rem;
  border-radius: 999px; font-size: .75rem; font-weight: 600; text-transform: uppercase;
}
.badge-pending, .badge-paused { background: #e8eef5; color: #5b6f86; }
.badge-running { background: #e6f7fe; color: #0077b6; }
.badge-completed { background: #e8f8ee; color: #15803d; }
.badge-partial { background: #fff7e6; color: #a15c00; }
.badge-failed, .badge-stopped { background: #fdecec; color: #b91c1c; }

/* Progress */
.progress-panel { margin-top: 1.5rem; }
.progress-bar-wrap {
  height: 12px; background: #e8eef5; border-radius: 999px; overflow: hidden;
  border: 1px solid var(--border);
}
.progress-bar {
  height: 100%; background: linear-gradient(90deg, var(--primary), #5ecfff);
  border-radius: 999px; transition: width .4s ease;
}
#progress-details { list-style: none; padding: 0; margin: 1rem 0 0; }
#progress-details li { padding: .25rem 0; color: var(--muted); font-size: .9rem; }
.muted { color: var(--muted); font-size: .9rem; }
.hidden { display: none !important; }

/* Alerts */
.alert { padding: .9rem 1.1rem; border-radius: 10px; margin-bottom: 1rem; font-size: .95rem; }
.alert-error { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; }
.alert-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; }
.alert-info, .alert-warning { background: #eff9ff; border: 1px solid #bae6fd; color: #0369a1; }

/* Auth */
.auth-page, .install-page {
  display: flex; align-items: center; justify-content: center;
  min-height: calc(100vh - 140px); padding: 2rem 1rem;
  background: linear-gradient(180deg, #fff, #eef7fc);
}
.auth-box, .install-container {
  width: 100%; max-width: 440px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 2rem;
  box-shadow: var(--shadow);
}
.install-container { max-width: 560px; }
.auth-box h1, .install-container h1 { margin: 0 0 .25rem; font-size: 1.4rem; color: #0b1f33; }
.auth-box h2, .install-container h2 {
  margin: 0 0 1.5rem; font-size: 1.05rem; color: var(--muted); font-weight: 500;
}
.req-table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.req-table td { padding: .5rem 0; border-bottom: 1px solid var(--border); }
.req-table .ok { color: var(--success); }
.req-table .fail { color: var(--danger); }
fieldset {
  border: 1px solid var(--border); border-radius: 10px;
  padding: 1rem; margin-bottom: 1.25rem;
}
legend { padding: 0 .5rem; color: var(--muted); font-size: .85rem; }
code {
  display: block; background: #f5f9fc; padding: .75rem 1rem;
  border-radius: 8px; font-size: .85rem; overflow-x: auto;
  border: 1px solid var(--border); margin: .5rem 0;
}
.test-results { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border); }

.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin: 2rem auto;
}
.price-card .price-amount { font-size: 2rem; font-weight: 700; color: var(--primary); margin: .5rem 0; }
.faq-item h3 { margin-top: 0; color: #0b1f33; }
.small { font-size: .85rem; }

@media (max-width: 900px) {
  .sl-footer-grid { grid-template-columns: 1fr 1fr; }
  .admin-wrap { grid-template-columns: 1fr; }
  .admin-sidebar {
    display: none;
    position: fixed;
    left: 0; top: 0; bottom: 0;
    width: 260px;
    z-index: 1000;
    max-height: 100vh;
  }
  .admin-sidebar.is-open { display: block; }
  .admin-menu-btn { display: inline-flex; }
  .admin-plan-row { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .sl-burger { display: flex; }
  .sl-nav {
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0 1.15rem 1rem;
    border-top: 1px solid var(--border);
  }
  .sl-nav.is-open { display: flex; }
  .sl-nav a {
    padding: 0.9rem 0.15rem;
    border-bottom: 1px solid var(--border);
    font-size: 1rem;
  }
  .sl-hero { padding: 2.5rem 1.15rem 2.75rem; }
  .sl-hero-actions { flex-direction: column; }
  .sl-hero-actions .sl-btn { width: 100%; }
  .sl-footer-grid { grid-template-columns: 1fr; }
  .sl-logo-copy small { display: none; }
}
@media (max-width: 640px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .form-row-3 { grid-template-columns: 1fr; }
}


/* ===== Admin layout (force) ===== */
.admin-wrap {
  display: grid !important;
  grid-template-columns: 220px 1fr !important;
  gap: 0 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  min-height: 70vh !important;
  align-items: start !important;
}
.admin-sidebar {
  background: #0b1f33 !important;
  color: #c5d4e6 !important;
  padding: 1.25rem 0.75rem !important;
  position: sticky !important;
  top: 70px !important;
  align-self: start !important;
  max-height: calc(100vh - 80px) !important;
  overflow-y: auto !important;
  width: auto !important;
}
.admin-sidebar-title {
  display: block !important;
  color: #fff !important;
  font-weight: 800 !important;
  padding: 0.5rem 0.75rem 1rem !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.admin-sidebar a {
  display: block !important;
  color: #9db0c5 !important;
  padding: 0.65rem 0.75rem !important;
  border-radius: 8px !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  margin-bottom: 0.15rem !important;
  white-space: normal !important;
}
.admin-sidebar a:hover {
  background: rgba(255,255,255,0.06) !important;
  color: #fff !important;
  text-decoration: none !important;
}
.admin-sidebar a.is-active {
  background: #00aef0 !important;
  color: #fff !important;
}
.admin-main {
  padding: 1.25rem 1.25rem 2rem !important;
  min-width: 0 !important;
}
.admin-top {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  margin-bottom: 1rem !important;
}
.admin-title {
  margin: 0 !important;
  font-size: 1.35rem !important;
  color: #0b1f33 !important;
}
.admin-menu-btn { display: none !important; }
.admin-form-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 0.75rem 1rem !important;
}
.admin-msg {
  border: 1px solid #e2eaf2 !important;
  border-radius: 10px !important;
  padding: 1rem !important;
  margin-bottom: 1rem !important;
  background: #fff !important;
}
.admin-msg-head {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  align-items: center !important;
  margin-bottom: 0.5rem !important;
}
.admin-plan-row {
  display: grid !important;
  grid-template-columns: 1.2fr 0.7fr 0.7fr 1.2fr auto auto !important;
  gap: 0.5rem !important;
  align-items: center !important;
  margin-bottom: 0.5rem !important;
}
.admin-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 999;
}
.admin-backdrop.is-open { display: block; }

@media (max-width: 900px) {
  .admin-wrap {
    grid-template-columns: 1fr !important;
  }
  .admin-sidebar {
    display: none !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 280px !important;
    max-width: 85vw !important;
    z-index: 1001 !important;
    max-height: 100vh !important;
    box-shadow: 4px 0 24px rgba(0,0,0,0.25) !important;
  }
  .admin-sidebar.is-open {
    display: block !important;
  }
  .admin-menu-btn {
    display: inline-flex !important;
  }
  .admin-plan-row {
    grid-template-columns: 1fr !important;
  }
}


/* Website settings / branding */
.admin-settings-card h3{margin:1.5rem 0 .75rem;color:#0b1f33;border-bottom:1px solid var(--border);padding-bottom:.45rem}.admin-brand-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.admin-upload-box{border:1px dashed var(--border);border-radius:12px;padding:1rem;background:var(--surface2);display:flex;flex-direction:column;gap:.65rem;min-width:0}.admin-brand-preview{max-width:260px;max-height:90px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:8px;padding:.5rem}.admin-favicon-preview{width:64px;height:64px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:8px;padding:.5rem}.sl-footer .sl-logo{display:inline-flex}.sl-footer .sl-logo-image{max-width:150px;max-height:42px}.sl-footer-contact{display:grid;gap:.2rem;margin-top:.65rem;color:var(--muted);font-size:.9rem}.sl-socials{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.sl-socials a{padding:.35rem .55rem;border:1px solid var(--border);border-radius:8px;font-size:.82rem}.sl-socials a:hover{text-decoration:none;background:var(--primary-soft)}
@media(max-width:700px){.admin-brand-upload-grid{grid-template-columns:1fr}.admin-settings-card{padding:.9rem}.admin-settings-card .admin-form-grid{grid-template-columns:1fr}}
.notification-audience{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.notification-users{border:1px solid var(--border);border-radius:12px;padding:1rem;margin:1rem 0}.notification-user-list{display:grid;gap:.5rem;max-height:360px;overflow:auto;margin-top:.75rem}.notification-user{display:flex;align-items:center;gap:.75rem;padding:.7rem;border:1px solid var(--border);border-radius:10px}.notification-user span{display:flex;flex-direction:column;min-width:0;flex:1}.notification-user small{overflow-wrap:anywhere}.notification-user em{font-style:normal;font-size:.8rem;opacity:.7}.notification-card.is-unread{border-left:4px solid var(--primary)}.notification-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.notification-head h2{margin:0 0 .25rem}.notification-list{display:grid;gap:1rem}.page-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}@media(max-width:700px){.page-head{align-items:flex-start;flex-direction:column}.notification-head{flex-direction:column}}
.template-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.template-admin-card{display:grid;grid-template-columns:120px 1fr;gap:1rem;border:1px solid #e5e7eb;border-radius:16px;padding:1rem;background:#fff}.template-admin-card img{width:120px;height:90px;object-fit:cover;border-radius:10px;background:#f3f4f6}@media(max-width:600px){.template-admin-card{grid-template-columns:1fr}.template-admin-card img{width:100%;height:160px}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:720px}.btn-outline{border:1px solid #d8dee8;background:#fff}.template-card{transition:transform .18s ease,box-shadow .18s ease}.template-card:hover{transform:translateY(-2px);box-shadow:0 14px 35px #00000012}
.sl-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:.55rem}.sl-section-lead{max-width:720px;margin:-.5rem auto 1.5rem;text-align:center;color:#667085}.sl-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.sl-two-col>div{padding:1.5rem;border:1px solid #e7eaf0;border-radius:18px;background:#fff}.page-head{margin-bottom:1.5rem}.page-head h1{margin-bottom:.45rem}@media(max-width:760px){.sl-two-col{grid-template-columns:1fr}.sl-hero-actions{flex-wrap:wrap}.sl-hero-actions .sl-btn{width:100%;text-align:center}}


/* Professional navigation, dashboard grouping and motion */
.sl-header-top{min-height:72px}.sl-nav{padding-top:.35rem;padding-bottom:.7rem}.sl-nav a{white-space:nowrap}
.sl-nav-group{position:relative}.sl-nav-group>summary{list-style:none;cursor:pointer;color:#1e3a5f;font-size:.94rem;font-weight:600;padding:.35rem 0}.sl-nav-group>summary::-webkit-details-marker{display:none}.sl-nav-group[open] .sl-nav-dropdown{display:flex}.sl-nav-dropdown{display:none;position:absolute;right:0;top:2rem;min-width:210px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 40px rgba(15,39,68,.12);padding:.45rem;z-index:1001;flex-direction:column}.sl-nav-dropdown a{padding:.65rem .75rem!important;border-radius:9px}.sl-nav-dropdown a:hover{background:var(--surface2)}
@media(max-width:768px){.sl-nav-group{width:100%}.sl-nav-group>summary{padding:.9rem .15rem;border-bottom:1px solid var(--border)}.sl-nav-dropdown{position:static;box-shadow:none;border:0;border-radius:0;background:var(--surface2);padding:.25rem .5rem}.sl-nav-dropdown a{border-bottom:0!important}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.fade-up{animation:fadeUp .7s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.sl-hero-visual{max-width:980px;margin:2rem auto 0;border-radius:24px;overflow:hidden;border:1px solid var(--border);box-shadow:0 20px 55px rgba(15,39,68,.12);background:#fff}.sl-hero-visual svg{display:block;width:100%;height:auto}.sl-feature-image{width:100%;height:180px;object-fit:cover;border-radius:14px;margin-bottom:1rem}.sl-review-grid,.sl-blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.sl-review-card,.sl-blog-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1.25rem;box-shadow:var(--shadow)}.sl-stars{letter-spacing:.12em}.sl-blog-card img{width:100%;height:170px;object-fit:cover;border-radius:12px;margin-bottom:1rem}.sl-blog-meta{font-size:.8rem;color:var(--muted)}.sl-prose{max-width:800px;margin:auto}.sl-prose p{margin:0 0 1rem}.sl-prose h2,.sl-prose h3{margin-top:1.7rem}.settings-sections details{border:1px solid var(--border);border-radius:14px;background:#fff;margin-bottom:.85rem;overflow:hidden}.settings-sections summary{cursor:pointer;font-weight:800;padding:1rem 1.1rem;background:#f8fbfe}.settings-sections details[open] summary{border-bottom:1px solid var(--border)}.settings-section-body{padding:1rem 1.1rem}.admin-sidebar .sidebar-group{margin:.35rem 0;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden}.admin-sidebar .sidebar-group summary{padding:.65rem .75rem;color:#fff;font-weight:700;cursor:pointer;list-style:none}.admin-sidebar .sidebar-group summary::-webkit-details-marker{display:none}.admin-sidebar .sidebar-group-links{padding:.2rem}.admin-sidebar .sidebar-group a{margin:.1rem 0}.admin-sidebar{scrollbar-width:thin}.admin-main{min-width:0}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:700px}.admin-form-grid textarea{min-height:110px}.stat-card{min-width:0}.dashboard-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}.dashboard-quick-actions .card{margin:0}

html{scroll-behavior:smooth}.blog-cover-placeholder{height:170px;border-radius:12px;background:linear-gradient(135deg,#0f2744,#0077b6);display:grid;place-items:center;margin-bottom:1rem;color:#fff;font-weight:900;font-size:2.2rem}.feature-blog-image{width:100%;max-height:440px;object-fit:cover;border-radius:16px;margin:1rem 0 1.5rem}.sl-review-card{transition:transform .25s ease,box-shadow .25s ease}.sl-review-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,39,68,.1)}
.content-editor-group{border:1px solid var(--border);border-radius:16px;background:#fff;margin:0 0 14px;overflow:hidden}.content-editor-group summary{cursor:pointer;font-weight:800;padding:16px 18px;background:#f8fbfe;list-style:none}.content-editor-group summary::-webkit-details-marker{display:none}.content-editor-group summary:after{content:'+';float:right;font-size:1.2rem}.content-editor-group[open] summary:after{content:'−'}.content-editor-group .settings-section-body{padding:18px}.content-editor-group label{min-width:0}.content-editor-group input,.content-editor-group textarea{width:100%;box-sizing:border-box}.content-editor-group small{display:block;margin-top:6px;word-break:break-all}

/* Final polish */
html{scroll-behavior:smooth}body{overflow-x:hidden}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}.impersonation-banner{position:sticky;top:0;z-index:1200;background:#fff7ed;color:#9a3412;border-bottom:1px solid #fed7aa;padding:.55rem 1rem;text-align:center;font-size:.9rem}.impersonation-banner form{display:inline}.link-button{border:0;background:none;color:#9a3412;font-weight:800;cursor:pointer;margin-left:.65rem}.category-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:1rem 0}.category-progress-card{display:grid;gap:.35rem;border:1px solid var(--border);border-radius:12px;padding:.85rem;background:var(--surface2);min-width:0}.category-progress-card strong{overflow-wrap:anywhere}.category-progress-card span{font-weight:800;font-size:1.05rem}.data-table td,.data-table th{vertical-align:top;overflow-wrap:anywhere}.actions{white-space:normal}.actions form{display:inline-block;margin:0 .2rem .25rem 0}.template-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.template-admin-card{min-width:0}@media(max-width:700px){.container{padding:1rem}.card{padding:1rem}.stats-grid{gap:.65rem}.stat-card{padding:.9rem .65rem}.stat-value{font-size:1.45rem}.data-table{min-width:680px}.actions{min-width:190px}.category-progress-grid{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}


/* ===== Final visual stability + motion pass ===== */
img,svg,video,canvas{max-width:100%;height:auto}
img{display:block}
.sl-hero-visual{width:100%;max-width:980px;min-width:0;aspect-ratio:auto;overflow:hidden}
.sl-hero-visual img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center;margin:0 auto}
.sl-feature-image,.feature-blog-image,.sl-blog-card img,.template-card img,.template-admin-card img{display:block;max-width:100%;height:auto;object-fit:cover}
.sl-section-inner,.container,.card,.sl-card,.sl-review-card,.sl-blog-card,.template-card,.admin-main,.admin-content{min-width:0;max-width:100%}
.sl-cards>*,.feature-grid>*,.sl-two-col>*,.sl-review-grid>*,.sl-blog-grid>*,.template-grid>*,.admin-form-grid>*{min-width:0}
.sl-card p,.sl-review-card p,.sl-blog-card p,.card p,.muted,.page-head,.sl-hero-lead,.sl-hero-meta{overflow-wrap:anywhere}
.sl-hero h1,.sl-section-title,h1,h2,h3{overflow-wrap:anywhere}
.sl-hero{position:relative;overflow:clip}
.sl-hero:after{content:"";position:absolute;inset:auto -10% -140px;height:220px;background:radial-gradient(circle at center,rgba(0,174,240,.10),transparent 65%);pointer-events:none}
.sl-hero-inner,.sl-hero-visual{position:relative;z-index:1}
.sl-section{position:relative;scroll-margin-top:90px}
.sl-card,.sl-review-card,.sl-blog-card,.template-card,.price-card,.card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.sl-card:hover,.sl-review-card:hover,.sl-blog-card:hover,.template-card:hover,.price-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(15,39,68,.10)}
.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.reveal-left{transform:translate3d(-28px,0,0)}
.reveal.reveal-right{transform:translate3d(28px,0,0)}
.reveal.reveal-scale{transform:scale(.96);}
.reveal.is-visible{opacity:1;transform:none}
.sl-cards .reveal:nth-child(2),.feature-grid .reveal:nth-child(2),.sl-review-grid .reveal:nth-child(2),.sl-blog-grid .reveal:nth-child(2){transition-delay:.06s}
.sl-cards .reveal:nth-child(3),.feature-grid .reveal:nth-child(3),.sl-review-grid .reveal:nth-child(3),.sl-blog-grid .reveal:nth-child(3){transition-delay:.12s}
.sl-cards .reveal:nth-child(4),.feature-grid .reveal:nth-child(4),.sl-review-grid .reveal:nth-child(4),.sl-blog-grid .reveal:nth-child(4){transition-delay:.18s}
@media(max-width:768px){
  .sl-hero{padding-top:2rem}
  .sl-hero-visual{margin-top:1.35rem;border-radius:16px}
  .sl-hero-visual img{max-height:420px}
  .sl-section{padding:2.15rem 1rem}
  .sl-section-inner{width:100%}
  .sl-cards{grid-template-columns:1fr}
  .sl-two-col{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
  .sl-review-grid,.sl-blog-grid{grid-template-columns:1fr}
  .template-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal.reveal-left,.reveal.reveal-right,.reveal.reveal-scale{opacity:1;transform:none;transition:none}
  .sl-card,.sl-review-card,.sl-blog-card,.template-card,.price-card,.card{transition:none}
}


/* Navigation reliability + mobile interaction hardening */
body.nav-open{overflow:hidden}
.sl-header{isolation:isolate}
.sl-nav{position:relative;z-index:1001}
.sl-nav a{position:relative;z-index:1;pointer-events:auto}
@media(max-width:768px){
  .sl-header{position:sticky;top:0}
  .sl-header-top{position:relative;z-index:1002;background:#fff}
  .sl-nav{position:absolute;left:0;right:0;top:100%;width:100%;max-height:calc(100dvh - 72px);overflow-y:auto;overflow-x:hidden;background:#fff;box-shadow:0 18px 35px rgba(15,39,68,.12);pointer-events:none;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
  .sl-nav.is-open{display:flex;pointer-events:auto;visibility:visible;opacity:1;transform:translateY(0)}
  .sl-nav-section,.sl-nav-links{position:relative;z-index:1}
  .sl-nav-links a{pointer-events:auto;touch-action:manipulation}
}
@media(prefers-reduced-motion:reduce){.sl-nav{transition:none}}

/* ===== Animation Reliability Patch ===== */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
body.motion-ready .reveal{will-change:opacity,transform}
@media (prefers-reduced-motion:no-preference){
  .motion-enter{opacity:0;transform:translate3d(0,22px,0);transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1)}
  .motion-enter.motion-visible{opacity:1;transform:none}
  .motion-fade{opacity:0;transition:opacity .65s ease}.motion-fade.motion-visible{opacity:1}
  .motion-scale{opacity:0;transform:scale(.965);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
  .motion-scale.motion-visible{opacity:1;transform:scale(1)}
  .motion-delay-1{transition-delay:.06s}.motion-delay-2{transition-delay:.12s}.motion-delay-3{transition-delay:.18s}.motion-delay-4{transition-delay:.24s}
  .sl-hero .sl-hero-inner > *{animation:heroIn .75s cubic-bezier(.22,.61,.36,1) both}
  .sl-hero .sl-hero-inner > *:nth-child(2){animation-delay:.12s}
  .sl-hero .sl-hero-inner > *:nth-child(3){animation-delay:.22s}
  @keyframes heroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-enter,.motion-fade,.motion-scale{opacity:1!important;transform:none!important;transition:none!important}.sl-hero .sl-hero-inner > *{animation:none!important}}
#scrollProgress{position:fixed;left:0;top:0;width:100%;height:3px;background:var(--primary,#00aef0);transform-origin:left center;transform:scaleX(0);z-index:3000;pointer-events:none}

/* Final production layout safeguards */
#analysis-output{min-width:0;overflow:hidden}#analysis-output .data-table{width:100%;min-width:760px}#analysis-panel,#test-results{min-width:0;overflow:hidden}.payment-actions{display:grid;gap:.8rem;min-width:0}.payment-actions form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;min-width:0}.payment-actions form:first-child{grid-template-columns:1fr}.payment-actions input,.payment-actions select,.payment-actions button{min-width:0;width:100%;box-sizing:border-box}.payment-actions button{grid-column:1/-1}@media(max-width:700px){#analysis-output{overflow-x:auto}.payment-actions form{grid-template-columns:1fr}.payment-actions button{grid-column:auto}.price-card{min-width:0}.price-card .plan-features{padding-left:1.1rem}}

/* WookitLab 2026 SaaS polish: original Figma-inspired visual system */
:root{--bg:#f7f9fc;--surface:#fff;--surface2:#f4f7fb;--border:#e5eaf1;--text:#122033;--muted:#68788c;--radius:16px;--shadow:0 14px 40px rgba(18,32,51,.07)}
body{background:radial-gradient(circle at 10% -10%,rgba(0,174,240,.07),transparent 28%),var(--bg)}
.container{max-width:1180px;padding:2rem 1.25rem}.card{border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);background:rgba(255,255,255,.96);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{box-shadow:0 18px 46px rgba(18,32,51,.09)}
.page-head{padding:1.25rem 0 1.5rem}.page-head h1{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em;line-height:1.05}.sl-eyebrow{letter-spacing:.14em;font-weight:850;font-size:.72rem;color:var(--primary)}
.btn{border-radius:11px!important;min-height:42px;padding:.65rem 1rem!important;font-weight:750!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px);text-decoration:none}.btn-primary{box-shadow:0 8px 20px rgba(0,174,240,.18)}
input,select,textarea{border-radius:10px!important;border-color:#d9e1eb!important;background:#fff!important;min-height:42px}input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(0,174,240,.12)!important}
.stats-grid{gap:1rem}.stat-card{border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:1.2rem}.stat-value{letter-spacing:-.03em}
.reveal{opacity:0;transform:translateY(16px);animation:dexReveal .55s ease forwards}.reveal:nth-child(2){animation-delay:.08s}.reveal:nth-child(3){animation-delay:.16s}@keyframes dexReveal{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Human-friendly plan management and duration display */
.admin-card-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.1rem}.admin-card-heading h2{margin:.15rem 0 .35rem}.admin-plan-editor{overflow:hidden}.admin-plan-form{display:grid;gap:1rem}.admin-plan-section{border:1px solid var(--border);border-radius:16px;padding:1rem;background:var(--surface2)}.admin-plan-section h3{margin:0 0 .8rem;color:var(--text)}.admin-plan-section .admin-form-grid{background:transparent}.field-help{display:block;font-size:.78rem;font-weight:500;color:var(--muted);line-height:1.35;margin:.25rem 0 .45rem}.admin-plan-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.admin-plan-checks>label{display:flex;align-items:flex-start;gap:.65rem;border:1px solid var(--border);border-radius:12px;background:#fff;padding:.8rem;min-width:0}.admin-plan-checks input[type=checkbox]{margin-top:.18rem;min-height:auto}.admin-plan-checks label span{display:flex;flex-direction:column;gap:.18rem;min-width:0}.admin-plan-checks small{color:var(--muted);font-weight:500;line-height:1.35}.admin-plan-checks.compact{margin-top:1rem}.admin-plan-unlimited{border-color:rgba(0,174,240,.45)!important;background:linear-gradient(180deg,#fff,#f4fbff)!important}.admin-advanced-plan{border:1px solid var(--border);border-radius:12px;background:#fff;padding:.8rem 1rem}.admin-advanced-plan summary{cursor:pointer;font-weight:750;color:var(--muted)}.admin-plan-list{display:grid;gap:.75rem}.admin-plan-card{border:1px solid var(--border);border-radius:18px;padding:1rem;background:#fff;box-shadow:var(--shadow);display:grid;gap:1rem}.admin-plan-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:.85rem}.admin-plan-card-head h3{margin:.45rem 0 .2rem;font-size:1.2rem}.admin-plan-price{text-align:right;display:flex;flex-direction:column}.admin-plan-price strong{font-size:1.35rem;color:var(--primary)}.admin-plan-price span{font-size:.8rem;color:var(--muted)}.admin-plan-delete{display:flex;justify-content:flex-end;margin-top:-.55rem;margin-bottom:.7rem}.plan-duration{font-size:.95rem;color:var(--muted);font-weight:650;margin-left:.15rem}.plan-duration-badge{display:inline-flex;align-items:center;gap:.3rem;width:max-content;max-width:100%;padding:.35rem .65rem;border-radius:999px;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:.84rem}.price-card .plan-duration-badge{margin:.2rem 0 .6rem}.price-card .price-amount{display:flex;align-items:baseline;gap:.15rem;flex-wrap:wrap}.price-card .price-amount small{font-size:.9rem;color:var(--muted);font-weight:650}@media(max-width:700px){.admin-plan-card-head{flex-direction:column}.admin-plan-price{text-align:left}.admin-plan-checks{grid-template-columns:1fr}.admin-card-heading{flex-direction:column}}

.sl-review-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block;margin-bottom:12px;border:1px solid var(--border)}

/* ===== Production responsive layout safeguards ===== */
img,svg,video,canvas{max-width:100%;height:auto}
.container{width:100%;max-width:1180px;margin-inline:auto}
.card,.page-head,.form-row,.feature-grid,.stats-grid,.sl-two-col,.sl-cards{min-width:0}
.data-table{border-collapse:collapse}
.table-responsive{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
pre,code{max-width:100%}
pre{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
button,.btn,input,select,textarea{max-width:100%}
@media (max-width:1199px){
  .container{max-width:100%;padding-inline:1.15rem}
  .sl-header-top,.sl-nav{max-width:100%;padding-inline:1.15rem}
  .sl-nav{gap:.2rem .9rem}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-form-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .feature-grid,.stats-grid,.admin-form-grid,.form-grid{grid-template-columns:1fr}
  .sl-two-col{grid-template-columns:1fr}
  .page-head h1{font-size:clamp(1.8rem,6vw,2.7rem)}
  .payment-actions form{grid-template-columns:1fr}
}
@media (max-width:768px){
  .container{padding:1.1rem .9rem}
  .card{border-radius:14px}
  .page-head{padding-top:.6rem}
  .sl-hero{padding:2.2rem .9rem 2.6rem}
  .sl-section{padding:2rem .9rem}
  .sl-hero-actions{flex-direction:column;align-items:stretch}
  .sl-hero-actions .sl-btn{width:100%}
  .form-row{grid-template-columns:1fr!important}
  .data-table{min-width:680px}
  .payment-actions form{grid-template-columns:1fr!important}
}
@media (max-width:480px){
  html{font-size:15px}
  .container{padding-inline:.75rem}
  .btn,.sl-btn{width:100%;justify-content:center}
  .sl-header-top{padding-inline:.75rem}
  .sl-logo-copy small{display:none}
  .page-head h1{font-size:1.9rem}
  .card{padding:1rem}
}
