/* ═══════════════════════════════════════════════════════════
  Klandify / SaasLanding theme + motion for Seedance Studio
  Loaded after style.css: overrides dark/atelier leftovers
  ═══════════════════════════════════════════════════════════ */

/* ── Tokens (reinforce) ─────────────────────────────────── */
:root {
  --navy: #1e293b;
  --navy-light: #334155;
  --bg: #f8f9fa;
  --bg-elevated: #ffffff;
  --card: #ffffff;
  --text: #212529;
  --muted: #6c757d;
  --border: #dee2e6;
  --border-strong: #ced4da;
  --accent: #0d6efd;
  --accent-soft: #e7f1ff;
  --accent-hover: #0b5ed7;
  --green: #198754;
  --green-bg: #d1e7dd;
  --yellow: #d97706;
  --yellow-bg: #fef3c7;
  --red: #dc3545;
  --red-bg: #f8d7da;
  --blue: #0d6efd;
  --blue-bg: #e7f1ff;
  --purple: #764ba2;
  --purple-bg: rgba(118, 75, 162, 0.1);
  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 4px 6px rgba(0,0,0,0.05);
  --shadow-hover: 0 12px 24px rgba(0,0,0,0.08), 0 6px 12px rgba(0,0,0,0.04);
  --sidebar-w: 260px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --font: 'Inter', system-ui, -apple-system, sans-serif;
  --font-display: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ── Motion (from Klandify dashboard) ───────────────────── */
@keyframes gentleFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes subtleSlideIn {
  from { opacity: 0; transform: translateX(-12px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes elegantScale {
  from { opacity: 0; transform: scale(0.98); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes premiumShimmer {
  0% { background-position: -200% 0; opacity: 0.6; }
  50% { opacity: 1; }
  100% { background-position: 200% 0; opacity: 0.6; }
}
@keyframes breathing {
  0%, 100% { opacity: 0.45; }
  50% { opacity: 0.9; }
}
@keyframes floatSoft {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
@keyframes authIn {
  from { opacity: 0; transform: translateY(12px) scale(0.985); }
  to { opacity: 1; transform: none; }
}
@keyframes viewIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@keyframes shimmerSweep {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* Keep default card animations off; allow reveal on appear */
body.app-mode .video-card:not(.el-reveal),
body.app-mode .prompt-lib-card:not(.el-reveal),
body.app-mode .plan-card:not(.el-reveal),
body.app-mode .batch-section:not(.el-reveal),
body.app-mode .create-path-card:not(.el-reveal),
body.app-mode .modality-card:not(.el-reveal) {
  animation: none !important;
}
body.app-mode .view.view-enter {
  animation: viewMicroIn 0.2s ease both !important;
}
body.app-mode .view.view-exit {
  animation: viewMicroOut 0.1s ease both !important;
}
body.app-mode .el-reveal {
  animation: elReveal 0.4s cubic-bezier(0.22, 1, 0.36, 1) both !important;
  animation-delay: var(--reveal-delay, 0ms) !important;
}

.page-header {
  animation: gentleFadeIn 0.5s ease-out;
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid rgba(226, 232, 240, 0.8);
  border-radius: 20px;
  padding: 1.35rem 1.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.page-header::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.35), transparent);
}
.page-header h1,
.page-header h2,
.page-title,
.section-title,
.job-detail-title,
.settings-section h3,
.card > h3,
.billing-hero h2,
.plan-name,
.auth-brand strong {
  font-family: var(--font) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--text) !important;
  text-transform: none !important;
}

/* Cards + hover lift */
.card,
.video-card,
.job-card,
.prompt-lib-card,
.plan-card,
.settings-section,
.table-wrap,
.admin-stat,
.pack-row,
.kpi,
.billing-hero,
.upload-zone {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 16px !important;
  box-shadow: var(--shadow) !important;
  color: var(--text) !important;
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease), border-color 0.2s ease !important;
}
.video-card,
.prompt-lib-card,
.plan-card,
.admin-stat {
  animation: elegantScale 0.4s ease-out both;
}
.kpi {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}
/* job-card: NO animation: il polling live reinserisce le card ogni 2s */
.job-card {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}
.video-card:nth-child(1), .prompt-lib-card:nth-child(1), .plan-card:nth-child(1) { animation-delay: 0.05s; }
.video-card:nth-child(2), .prompt-lib-card:nth-child(2), .plan-card:nth-child(2) { animation-delay: 0.1s; }
.video-card:nth-child(3), .prompt-lib-card:nth-child(3), .plan-card:nth-child(3) { animation-delay: 0.15s; }
.video-card:nth-child(4), .prompt-lib-card:nth-child(4), .plan-card:nth-child(4) { animation-delay: 0.2s; }
.video-card:nth-child(5), .prompt-lib-card:nth-child(5), .plan-card:nth-child(5) { animation-delay: 0.25s; }
.video-card:nth-child(6), .prompt-lib-card:nth-child(6), .plan-card:nth-child(6) { animation-delay: 0.3s; }

.video-card:hover,
.prompt-lib-card:hover,
.plan-card:hover {
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: var(--shadow-hover) !important;
  border-color: rgba(13, 110, 253, 0.25) !important;
}
.kpi:hover {
  transform: none !important;
  box-shadow: var(--shadow) !important;
}
.job-card:hover {
  transform: none !important;
  box-shadow: var(--shadow) !important;
  border-color: rgba(13, 110, 253, 0.25) !important;
}

.job-card.active {
  border-color: var(--accent) !important;
  background: var(--accent-soft) !important;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12) !important;
}

.prompt-lib-text {
  color: rgba(33, 37, 41, 0.88) !important;
  letter-spacing: -0.01em !important;
}

/* Sidebar chrome */
.sidebar {
  background: #fff !important;
  color: #343a40 !important;
  border-right: 1px solid var(--border) !important;
}
.sidebar-credits {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--border) !important;
  border-radius: 0 !important;
  padding: 0.55rem 0.15rem 0.65rem !important;
  margin: 0 !important;
  animation: none !important;
}
.sidebar-credits strong {
  color: var(--text) !important;
  font-weight: 650 !important;
  letter-spacing: -0.03em !important;
}
.sidebar-credits-label {
  color: var(--muted) !important;
  text-transform: none !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.01em !important;
  font-weight: 500 !important;
}
.nav-link .icon-nav,
.nav-link .icon { color: inherit; opacity: 0.85; }
.nav-link.active .icon-nav,
.nav-link:hover .icon-nav { opacity: 1; color: var(--accent); }

/* Forms */
.form-group select,
.form-group input,
.auth-form input,
.account-form input,
.account-form-row input,
.account-form-row select,
input[type="search"],
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
  border-radius: 8px !important;
  border: 1px solid var(--border) !important;
  background: #fff !important;
  color: var(--text) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s var(--ease) !important;
}
.form-group select:focus,
.form-group input:focus,
.auth-form input:focus,
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.15) !important;
}
select option { background: #fff; color: var(--text); }

.lang-chip {
  border-radius: 10px !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
  transition: all 0.2s var(--ease) !important;
}
.lang-chip:hover {
  transform: translateY(-1px);
  border-color: var(--accent) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.lang-chip.selected {
  border-color: var(--accent) !important;
  background: var(--accent-soft) !important;
}
.lang-chip.selected .lang-code,
.lang-chip.selected .lang-name { color: var(--accent) !important; }
.lang-code { color: var(--text) !important; }
.lang-name { color: var(--muted) !important; }

/* Badges */
.badge, .pill {
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  color: var(--muted) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.pill-running { background: var(--accent-soft) !important; color: var(--accent) !important; }
.pill-completed, .pill-ok { background: var(--green-bg) !important; color: var(--green) !important; }
.pill-failed, .pill-fail { background: var(--red-bg) !important; color: var(--red) !important; }
.pill-partial { background: var(--yellow-bg) !important; color: var(--yellow) !important; }

/* Progress */
.progress-fill {
  background: linear-gradient(90deg, #0d6efd, #38bdf8) !important;
}
.progress-fill.done {
  background: linear-gradient(90deg, #198754, #86efac) !important;
}

/* Auth */
.auth-screen {
  background:
  radial-gradient(900px 500px at 10% -10%, rgba(13,110,253,0.1), transparent 55%),
  radial-gradient(800px 480px at 90% 110%, rgba(118,75,162,0.08), transparent 50%),
  #f8f9fa !important;
}
.auth-panel {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.08) !important;
  animation: authIn 0.45s var(--ease-out);
}
.auth-title {
  font-size: 1.65rem !important;
  font-weight: 700 !important;
}
.auth-brand img {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.btn-google {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
}
.btn-google:hover {
  background: #f8fafc !important;
  transform: translateY(-1px);
}
.linkish { color: var(--accent) !important; }
.btn-create-prompt {
  background: var(--accent) !important;
  color: #fff !important;
  border-radius: 8px !important;
}

/* Billing */
.plan-card { padding: 1.5rem !important; }
.plan-featured {
  border-color: transparent !important;
  background: linear-gradient(#fff, #fff) padding-box,
  linear-gradient(135deg, #667eea, #764ba2) border-box !important;
  border: 2px solid transparent !important;
}
.plan-current {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.2) !important;
  border-color: var(--accent) !important;
}
.plan-price,
.billing-balance strong {
  font-family: var(--font) !important;
  font-weight: 700 !important;
  color: var(--accent) !important;
  letter-spacing: -0.02em !important;
}
.billing-hero {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%) !important;
  border-radius: 20px !important;
}

/* Impersonation: soft Klandify bar */
.impersonation-banner {
  position: sticky;
  top: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.65rem;
  padding: 0.55rem 1rem;
  background: linear-gradient(90deg, #e7f1ff, #f3e8ff);
  color: #1e293b;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  border-bottom: 1px solid rgba(13, 110, 253, 0.15);
  box-shadow: 0 2px 8px rgba(13, 110, 253, 0.08);
  animation: subtleSlideIn 0.35s ease-out;
}
.impersonation-banner strong {
  color: var(--accent);
  font-weight: 700;
  text-transform: none;
  letter-spacing: -0.01em;
}
.impersonation-banner .muted {
  color: var(--muted);
  text-transform: none;
  letter-spacing: 0;
}
.impersonation-banner .btn {
  margin-left: 0.25rem;
  text-transform: none;
}

/* Mobile */
.mobile-header {
  background: rgba(255,255,255,0.86) !important;
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid var(--border) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
.mobile-page-title {
  font-family: var(--font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  color: var(--text) !important;
}
.mobile-credits-chip {
  border-color: var(--border) !important;
  background: var(--bg) !important;
  color: var(--text) !important;
}
.mobile-credits-chip .mobile-credits-label { color: var(--muted) !important; opacity: 1; }
.mobile-credits-chip strong { color: var(--accent) !important; }
.mobile-header .hamburger span {
  background: var(--text) !important;
}
.mobile-tabbar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Tables / admin */
.admin-table th,
.items-table th {
  background: #f8fafc !important;
  color: var(--muted) !important;
}
.admin-table td,
.items-table td {
  color: var(--text) !important;
  border-color: var(--border) !important;
}
.admin-mini-row {
  background: #f8fafc !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
}
.launch-estimate {
  background: #f8fafc !important;
  border-radius: 12px !important;
}

/* Video pending: blue SaaS */
.video-card-loading {
  background: linear-gradient(160deg, #0f172a 0%, #1e3a5f 100%) !important;
}
.video-card-loader {
  border-color: rgba(255,255,255,0.14) !important;
  border-top-color: #38bdf8 !important;
}
.video-pending-pct {
  font-family: var(--font) !important;
  font-weight: 700 !important;
  color: #e0f2fe !important;
}
.video-pending-bar-fill {
  background: linear-gradient(90deg, #0284c7, #38bdf8) !important;
}
.video-pending-status {
  color: #7dd3fc !important;
}

/* Surfaces that may still be dark from mid-file rules */
.upload-zone,
.preset-chip,
.prompt-item,
.img-tab,
.modal-content,
.settings-section,
.pack-row {
  background: #fff !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
.upload-zone.drag,
.preset-chip:hover,
.prompt-item.selected {
  border-color: var(--accent) !important;
  background: var(--accent-soft) !important;
  color: var(--text) !important;
}
.modal-content {
  border-radius: 16px !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.15) !important;
  animation: elegantScale 0.25s ease-out;
}

.empty-state {
  animation: gentleFadeIn 0.6s ease-out 0.1s both;
  color: var(--muted);
}

.main { background: var(--bg); }

/* Soft shimmer accent on CTA nav */
.nav-link-cta {
  position: relative;
  overflow: hidden;
}
.nav-link-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.22) 50%, transparent 60%);
  transform: translateX(-100%);
  animation: shimmerSweep 3.5s ease-in-out infinite;
  pointer-events: none;
}

/* Status / credits: readable on white sidebar */
.sidebar-footer {
  background: #fff !important;
  border-top: 1px solid #dee2e6 !important;
}
.status-dot { color: #6c757d !important; }
.status-dot.ok { color: #495057 !important; }
.status-dot::before { background: #adb5bd !important; }
.status-dot.ok::before { background: #198754 !important; }
.sidebar-credits {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #dee2e6 !important;
}
.sidebar-credits-label { color: #6c757d !important; }
.sidebar-credits strong { color: #212529 !important; }

/* Global text contrast (Klandify palette) */
.muted,
.billing-label,
.kpi-label,
.card-label,
.empty-state,
.page-header p,
.auth-sub,
.form-group label,
.launch-estimate,
.job-card-id,
.job-card-meta,
.job-elapsed-done,
.admin-stat span,
.pack-row .muted,
.account-grid .muted,
.admin-mini-row .muted {
  color: #6c757d !important;
}
body, .main, .view, .card, .settings-section, p, td, th, label {
  color: #212529;
}
h1, h2, h3, h4, .page-header h2, .video-card-title, .job-card-langs, .plan-name {
  color: #212529 !important;
}
a, .linkish { color: #0d6efd !important; }

/* Buttons: Klandify primary blue */
.btn-primary,
.btn-create-prompt {
  background: #0d6efd !important;
  border-color: #0d6efd !important;
  color: #fff !important;
}
.btn-primary:hover:not(:disabled),
.btn-create-prompt:hover:not(:disabled) {
  background: #0b5ed7 !important;
  border-color: #0b5ed7 !important;
  color: #fff !important;
}
.btn-genera {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.btn-green {
  background: #fff !important;
  color: #198754 !important;
  border: 1px solid #198754 !important;
}
.btn-ghost { color: #212529 !important; background: #fff !important; }
.btn-danger { color: #dc3545 !important; border-color: rgba(220,53,69,0.35) !important; background: #fff !important; }
.nav-link-cta, .nav-link-cta:hover, .nav-link-cta span, .nav-link-cta .icon-nav { color: #fff !important; }
.nav-link-cta .icon-nav { opacity: 1 !important; }

/* Icons on light UI */
.icon, .icon-nav { color: inherit; }
.nav-link:not(.nav-link-cta) .icon-nav { color: #495057; }
.nav-link.active:not(.nav-link-cta) .icon-nav { color: #0d6efd !important; }

/* Badges / pills contrast */
.badge, .pill { background: #e9ecef !important; color: #495057 !important; }
.pill-running { background: #e7f1ff !important; color: #0d6efd !important; }
.pill-completed, .pill-ok { background: #d1e7dd !important; color: #198754 !important; }
.pill-failed, .pill-fail { background: #f8d7da !important; color: #dc3545 !important; }
.pill-partial { background: #fff3cd !important; color: #997404 !important; }

/* Alerts */
.alert-banner.info { background: #e7f1ff !important; border-color: #b6d4fe !important; color: #084298 !important; }
.alert-banner.danger { background: #f8d7da !important; border-color: #f5c2c7 !important; color: #842029 !important; }
.alert-banner.warn { background: #fff3cd !important; border-color: #ffecb5 !important; color: #664d03 !important; }

/* Tables */
.admin-table th, .items-table th { background: #f8f9fa !important; color: #6c757d !important; }
.admin-table td, .items-table td { color: #212529 !important; background: #fff; }

/* Account */
.account-form input,
.account-form-row input,
.account-form-row select {
  background: #fff !important;
  color: #212529 !important;
}

select option { background: #fff !important; color: #212529 !important; }

/* Video card body (not the dark pending loader) */
.video-card:not(.video-card-pending) .video-card-title,
.video-card:not(.video-card-pending) .video-card-meta {
  color: #212529 !important;
}
.video-card:not(.video-card-pending) .muted {
  color: #6c757d !important;
}

/* ── Batch / Nuovo: densità Klandify, no bottoni giganti ─ */
.batch-page .page-header,
.batch-topbar {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 0.85rem !important;
  animation: none !important;
}
.batch-topbar::before { display: none !important; }
.batch-page .batch-section,
.batch-page .batch-advanced {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0.55rem 0 !important;
  background: transparent !important;
  animation: none !important;
}
.batch-page .batch-section:hover,
.batch-page .batch-advanced:hover {
  transform: none !important;
  box-shadow: none !important;
}
.batch-page .lang-chip {
  padding: 0.35rem 0.25rem !important;
  border-radius: 8px !important;
}
.batch-page .lang-code { font-size: 0.78rem !important; font-weight: 700 !important; }
.batch-page .lang-name { font-size: 0.65rem !important; }
.batch-page .btn-create-prompt,
.toolbar-prompt .btn {
  width: auto !important;
  flex: 0 0 auto !important;
  min-height: 32px !important;
  font-size: 0.8rem !important;
  padding: 0.32rem 0.75rem !important;
}
.batch-page #btnLaunch,
.batch-page .btn-generate {
  background: linear-gradient(145deg, #8b7cf5 0%, #5b3d9e 55%, #4a2f86 100%) !important;
  border: none !important;
  color: #fff !important;
  min-height: 66px !important;
  font-size: 1.28rem !important;
  font-weight: 800 !important;
  padding: 0.9rem 1.25rem !important;
  box-shadow: 0 12px 32px rgba(91, 61, 158, 0.4) !important;
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 16px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.batch-page #btnLaunch:hover:not(:disabled),
.batch-page .btn-generate:hover:not(:disabled) {
  filter: brightness(1.04);
}
.batch-page #btnLaunch:disabled,
.batch-page .btn-generate:disabled { opacity: 0.5; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1) !important; }
.batch-launch {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.batch-launch .launch-estimate {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: auto !important;
}
.nav-link-cta {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  border-radius: 8px !important;
  min-height: 40px;
  font-size: 0.9rem !important;
  padding: 0.55rem 1rem !important;
}

.btn {
  min-height: 36px;
  padding: 0.45rem 0.9rem !important;
  font-size: 0.875rem !important;
  border-radius: 8px !important;
}
.btn-sm {
  min-height: 32px !important;
  padding: 0.32rem 0.7rem !important;
  font-size: 0.8rem !important;
}
.btn .icon,
.btn .icon-sm {
  width: 0.95rem !important;
  height: 0.95rem !important;
}
.page-header-actions .btn-primary {
  min-height: 36px !important;
  font-size: 0.875rem !important;
  flex: 0 0 auto !important;
}
.empty-state .btn {
  width: auto !important;
  margin-top: 0.75rem;
}

/* Library CTAs: keep grand (don't inherit tiny .btn rules) */
.btn-lib-refresh {
  min-height: 48px !important;
  padding: 0.65rem 1.05rem !important;
  font-size: 0.95rem !important;
  border-radius: 14px !important;
}
.btn-lib-new {
  min-height: 52px !important;
  padding: 0.75rem 1.35rem !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #8b7cf5 0%, #5b3d9e 55%, #4a2f86 100%) !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(91, 61, 158, 0.4) !important;
}
.btn-lib-new-xl {
  min-height: 64px !important;
  font-size: 1.22rem !important;
  border-radius: 18px !important;
}

@media (max-width: 768px) {
  .page-header-actions .btn-primary {
  flex: 1 1 auto !important;
  min-height: 36px !important;
  }
  .btn-lib-refresh,
  .btn-lib-new {
  min-height: 54px !important;
  }
  .btn-lib-new-xl {
  min-height: 66px !important;
  }
  .batch-launch-row { flex-direction: column; align-items: stretch !important; }
  .batch-launch-actions { width: 100%; justify-content: flex-end; }
}
