/* Åre Värmepumpar CRM — dark theme aligned with arevarmepumpar.com */
:root {
  --are-navy: #0a2640;
  --are-bg: #0d1f33;
  --are-surface: #132f4a;
  --are-elevated: #163a5c;
  --are-muted: #1a4568;
  --are-accent: #29a857;
  --are-accent-light: #3cc46e;
  --are-accent-dim: rgba(41, 168, 87, 0.18);
  --are-blue: #0074d9;
  --are-blue-hover: #0066c0;
  --are-blue-dim: rgba(0, 116, 217, 0.18);
  --are-cta: #ff6200;
  --are-cta-hover: #e65100;
  --are-text: #e8edf2;
  --are-text-muted: #8fa3b8;
  --are-text-dim: #5c7390;
  --are-border: rgba(255, 255, 255, 0.1);
  --are-border-strong: rgba(255, 255, 255, 0.16);
  --are-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
  --are-radius: 0.75rem;
  --are-radius-lg: 1rem;
}

/* Customer offer pages (public) — use brand tokens, not hardcoded hex in templates */
.offer-btn-accent {
  background-color: var(--are-accent);
}
.offer-btn-accent:hover {
  background-color: var(--are-accent-light);
}
.offer-btn-blue {
  background-color: var(--are-blue);
}
.offer-btn-blue:hover {
  background-color: var(--are-blue-hover);
}

.crm-dark {
  background: var(--are-bg);
  color: var(--are-text);
  font-family: "Helvetica Neue", Arial, sans-serif;
  min-height: 100vh;
}

.crm-dark ::selection {
  background: var(--are-accent-dim);
  color: var(--are-text);
}

/* Navigation */
.crm-nav {
  background: var(--are-navy);
  border-bottom: 1px solid var(--are-border);
  box-shadow: var(--are-shadow);
}

.crm-nav-link {
  color: var(--are-text-muted);
  transition: color 0.15s, background 0.15s;
}

.crm-nav-link:hover {
  color: var(--are-text);
  background: rgba(255, 255, 255, 0.06);
}

.crm-nav-link.active {
  color: var(--are-accent-light);
  border-bottom: 3px solid var(--are-accent);
  font-weight: 600;
}

.crm-nav-datetime {
  color: var(--are-text);
}

.dashboard-task-row--overdue {
  background: rgba(254, 242, 242, 0.35);
}

.crm-badge {
  background: var(--are-accent-dim);
  color: var(--are-accent-light);
  border: 1px solid rgba(41, 168, 87, 0.35);
}

/* Component classes */
.crm-card {
  background: var(--are-surface);
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius-lg);
}

.crm-card-elevated {
  background: var(--are-elevated);
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius-lg);
}

.crm-muted { color: var(--are-text-muted); }
.crm-dim { color: var(--are-text-dim); }
.crm-link { color: var(--are-blue); }
.crm-link:hover { color: #3d9ef5; text-decoration: underline; }
.crm-accent { color: var(--are-accent-light); }

.crm-btn-cta {
  background: var(--are-cta);
  color: #fff;
  font-weight: 600;
  border-radius: var(--are-radius);
  transition: background 0.2s;
}

.crm-btn-cta:hover { background: var(--are-cta-hover); }

.crm-btn-primary {
  background: var(--are-accent);
  color: #fff;
  font-weight: 600;
  border-radius: var(--are-radius);
  transition: background 0.2s;
}

.crm-btn-primary:hover { background: var(--are-accent-light); }

.crm-btn-secondary {
  background: var(--are-muted);
  color: var(--are-text);
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  transition: background 0.2s;
}

.crm-btn-secondary:hover { background: var(--are-elevated); }

.crm-input,
.crm-dark input.border,
.crm-dark select.border,
.crm-dark textarea.border {
  background: var(--are-bg);
  border: 1px solid var(--are-border-strong) !important;
  color: var(--are-text);
  border-radius: var(--are-radius);
}

.crm-dark input.border:focus,
.crm-dark select.border:focus,
.crm-dark textarea.border:focus {
  outline: none;
  border-color: var(--are-accent) !important;
  box-shadow: 0 0 0 2px var(--are-accent-dim);
}

.crm-dark select.border option {
  background: var(--are-surface);
  color: var(--are-text);
}

.crm-dark code {
  background: var(--are-muted);
  color: var(--are-accent-light);
  padding: 0.1rem 0.35rem;
  border-radius: 0.25rem;
  font-size: 0.85em;
}

.crm-dark pre {
  background: var(--are-bg) !important;
  color: var(--are-text-muted);
  border: 1px solid var(--are-border);
}

/* Tailwind light-class overrides for existing templates */
.crm-dark .bg-white { background-color: var(--are-surface) !important; }
.crm-dark .bg-slate-50,
.crm-dark .bg-slate-50\/50 { background-color: rgba(13, 31, 51, 0.65) !important; }
.crm-dark .bg-slate-100 { background-color: var(--are-muted) !important; }
.crm-dark .bg-slate-700,
.crm-dark .bg-slate-800 { background-color: var(--are-navy) !important; }
.crm-dark .bg-slate-900 { background-color: #061525 !important; }

.crm-dark .text-slate-800,
.crm-dark .text-slate-700,
.crm-dark .text-slate-600 { color: var(--are-text) !important; }
.crm-dark .text-slate-500,
.crm-dark .text-slate-400 { color: var(--are-text-muted) !important; }
.crm-dark .text-slate-300,
.crm-dark .text-slate-200 { color: var(--are-text-muted) !important; }

.crm-dark .border,
.crm-dark .border-b,
.crm-dark .border-t { border-color: var(--are-border) !important; }
.crm-dark .divide-y > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--are-border);
}

.crm-dark .hover\:bg-slate-50:hover,
.crm-dark .hover\:bg-slate-100:hover { background-color: var(--are-muted) !important; }
.crm-dark .hover\:border-blue-300:hover { border-color: var(--are-accent) !important; }
.crm-dark .hover\:text-slate-700:hover { color: var(--are-text) !important; }

.crm-dark .text-blue-700,
.crm-dark .text-blue-600,
.crm-dark .text-blue-500,
.crm-dark .text-blue-400 { color: var(--are-blue) !important; }

.crm-dark .text-emerald-700,
.crm-dark .text-emerald-600,
.crm-dark .text-emerald-500,
.crm-dark .text-emerald-400 { color: var(--are-accent-light) !important; }

.crm-dark .text-violet-700,
.crm-dark .text-violet-600 { color: #9b8cff !important; }

.crm-dark .text-amber-700,
.crm-dark .text-amber-400 { color: #f5a623 !important; }

.crm-dark .text-red-600,
.crm-dark .text-red-700 { color: #f87171 !important; }

.crm-dark .bg-blue-700,
.crm-dark .bg-blue-600 { background-color: var(--are-cta) !important; }
.crm-dark .hover\:bg-blue-800:hover,
.crm-dark .hover\:bg-blue-700:hover { background-color: var(--are-cta-hover) !important; }

.crm-dark .bg-are-accent { background-color: var(--are-accent) !important; }

.crm-dark .bg-emerald-600,
.crm-dark .bg-emerald-700 { background-color: var(--are-accent) !important; }
.crm-dark .hover\:bg-emerald-800:hover,
.crm-dark .hover\:bg-emerald-700:hover { background-color: var(--are-accent-light) !important; }

.crm-dark .bg-violet-700,
.crm-dark .bg-violet-800 { background-color: var(--are-blue) !important; }
.crm-dark .hover\:bg-violet-800:hover { background-color: #005bb5 !important; }

.crm-dark .bg-amber-600,
.crm-dark .bg-amber-700 { background-color: var(--are-cta) !important; }
.crm-dark .hover\:bg-amber-700:hover { background-color: var(--are-cta-hover) !important; }

.crm-dark .bg-blue-100 { background-color: var(--are-blue-dim) !important; }
.crm-dark .text-blue-800 { color: var(--are-blue) !important; }

.crm-dark .bg-red-100 { background-color: rgba(248, 113, 113, 0.15) !important; }
.crm-dark .text-red-700 { color: #f87171 !important; }

.crm-dark .bg-emerald-50 { background-color: var(--are-accent-dim) !important; }
.crm-dark .border-emerald-200 { border-color: rgba(41, 168, 87, 0.35) !important; }

.crm-dark .bg-red-50 { background-color: rgba(248, 113, 113, 0.12) !important; }
.crm-dark .border-red-200 { border-color: rgba(248, 113, 113, 0.3) !important; }
.crm-dark .text-red-800 { color: #fca5a5 !important; }

.crm-dark .bg-amber-50 { background-color: rgba(245, 166, 35, 0.12) !important; }
.crm-dark .text-amber-700 { color: #f5a623 !important; }

.crm-dark .shadow-sm { box-shadow: var(--are-shadow) !important; }

.crm-dark .lead-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
  border-color: var(--are-accent) !important;
}

.crm-dark table thead tr {
  background: var(--are-navy) !important;
}

.crm-dark table thead th {
  color: #fff !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.crm-dark .stage-badge {
  background: var(--are-blue-dim) !important;
  color: var(--are-blue) !important;
  border: 1px solid rgba(0, 116, 217, 0.25);
}

.crm-dark .kanban-column { min-height: 320px; }

.kanban-board {
  scrollbar-width: thin;
  scrollbar-color: var(--are-muted) transparent;
}

.kanban-board::-webkit-scrollbar {
  height: 8px;
}

.kanban-board::-webkit-scrollbar-thumb {
  background: var(--are-muted);
  border-radius: 4px;
}

.kanban-ghost {
  opacity: 0.45;
  background: var(--are-accent-dim) !important;
  border: 2px dashed var(--are-accent) !important;
}

.kanban-chosen {
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
  border-color: var(--are-accent) !important;
  z-index: 10;
}

.kanban-drag {
  opacity: 0.95;
  transform: rotate(1.5deg);
}

.kanban-column.sortable-drag-over,
.kanban-column:has(.kanban-ghost) {
  background: rgba(41, 168, 87, 0.08) !important;
  outline: 2px dashed rgba(41, 168, 87, 0.35);
  outline-offset: -2px;
  border-radius: 0 0 var(--are-radius-lg) var(--are-radius-lg);
}

.crm-dark .kanban-grip {
  opacity: 0.45;
  touch-action: none;
}

.crm-dark .lead-card:hover .kanban-grip,
.crm-dark .kanban-grip:focus {
  opacity: 0.85;
}

.crm-dark .kanban-move-btn {
  opacity: 0.75;
}

.crm-dark .lead-card:hover .kanban-move-btn,
.crm-dark .kanban-move-btn:focus {
  opacity: 1;
}

.crm-dark .kanban-delete-btn {
  opacity: 0.5;
}

.crm-dark .lead-card:hover .kanban-delete-btn,
.crm-dark .kanban-delete-btn:focus {
  opacity: 1;
}

.crm-queue-card--boka {
  border-color: rgba(41, 168, 87, 0.25);
  background: linear-gradient(135deg, rgba(41, 168, 87, 0.06) 0%, rgba(0, 116, 217, 0.04) 100%);
}

.boka-in-type--install {
  background: rgba(41, 168, 87, 0.15);
  color: #29a857;
  border: 1px solid rgba(41, 168, 87, 0.4);
}

.boka-in-type--service {
  background: rgba(0, 116, 217, 0.12);
  color: #0074d9;
  border: 1px solid rgba(0, 116, 217, 0.35);
}

.install-pending-board {
  scrollbar-width: thin;
  scrollbar-color: var(--are-muted) transparent;
}

.install-booking-calendar-section {
  background: var(--are-surface) !important;
}

.install-cal-month-host {
  overflow-x: auto;
}

.install-cal-month {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
  min-width: 0;
}

.install-cal-month-head {
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--are-muted);
  padding: 0.35rem 0;
}

@media (min-width: 768px) {
  .install-cal-month-host {
    min-height: 24rem;
  }

  .install-cal-day {
    min-height: 6.75rem;
  }
}

.install-cal-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin-bottom: 0.65rem;
}

.install-cal-legend__item {
  font-size: 10px;
  font-weight: 700;
  padding: 0.2rem 0.45rem;
  border-radius: 0.4rem;
  border: 1px solid transparent;
}

.install-cal-legend__item--install {
  background: rgba(5, 150, 105, 0.14);
  color: #065f46;
  border-color: rgba(5, 150, 105, 0.35);
}

.install-cal-legend__item--service {
  background: rgba(2, 132, 199, 0.14);
  color: #075985;
  border-color: rgba(2, 132, 199, 0.35);
}

.install-cal-legend__item--planned {
  background: rgba(245, 158, 11, 0.14);
  color: #92400e;
  border-color: rgba(245, 158, 11, 0.4);
}

.install-cal-legend__item--block {
  background: rgba(220, 38, 38, 0.12);
  color: #991b1b;
  border-color: rgba(220, 38, 38, 0.35);
}

.install-cal-legend__item--half {
  background: rgba(245, 158, 11, 0.14);
  color: #c2410c;
  border-color: rgba(245, 158, 11, 0.4);
}

.install-cal-legend__item--free {
  background: rgba(16, 185, 129, 0.1);
  color: #047857;
  border-color: rgba(16, 185, 129, 0.3);
}

.install-cal-day {
  min-height: 5.5rem;
  border: 2px solid var(--are-border);
  border-radius: 0.65rem;
  padding: 0.35rem 0.4rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.install-cal-day--other-month {
  opacity: 0.38;
}

.install-cal-day--today {
  border-color: rgba(56, 189, 248, 0.7);
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.25);
}

.install-cal-day--weekend {
  background: rgba(148, 163, 184, 0.08);
}

.install-cal-day--free {
  border-color: rgba(16, 185, 129, 0.45);
  background: rgba(16, 185, 129, 0.06);
}

.install-cal-day--booked {
  border-color: rgba(5, 150, 105, 0.5);
  background: rgba(5, 150, 105, 0.05);
}

.install-cal-day--blocked {
  border-color: rgba(220, 38, 38, 0.65);
  background: rgba(254, 226, 226, 0.85);
}

.install-cal-day--half {
  border-color: rgba(245, 158, 11, 0.65);
  background: rgba(255, 251, 235, 0.9);
}

.install-cal-day-pick {
  cursor: pointer;
}

.install-cal-day-pick--override {
  outline: 1px dashed rgba(220, 38, 38, 0.35);
  outline-offset: -2px;
}

.crm-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(2px);
}

.crm-confirm-panel {
  width: min(100%, 26rem);
  background: #fff;
  border-radius: 1rem;
  padding: 1.25rem 1.35rem 1.1rem;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25);
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.crm-confirm-panel--warning {
  border-color: rgba(245, 158, 11, 0.45);
}

.crm-confirm-panel--danger {
  border-color: rgba(220, 38, 38, 0.45);
}

.crm-confirm-panel__title {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 0.5rem;
}

.crm-confirm-panel__message {
  font-size: 0.875rem;
  line-height: 1.5;
  color: #334155;
  margin: 0 0 1rem;
  white-space: pre-wrap;
}

.crm-confirm-panel__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.crm-confirm-panel__cancel,
.crm-confirm-panel__confirm {
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: 0.65rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid transparent;
  cursor: pointer;
}

.crm-confirm-panel__cancel {
  background: #f8fafc;
  color: #334155;
  border-color: rgba(15, 23, 42, 0.12);
}

.crm-confirm-panel__confirm {
  background: #b45309;
  color: #fff;
}

.crm-confirm-panel--danger .crm-confirm-panel__confirm {
  background: #b91c1c;
}

.install-cal-day-locked {
  cursor: not-allowed;
}

.install-cal-day-locked.install-cal-day-pick:hover {
  box-shadow: none;
}

.install-cal-day-drop.is-drop-hover {
  border-color: rgba(245, 158, 11, 0.85);
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.25);
}

.install-cal-day-drop.is-drop-hover-blocked {
  border-color: rgba(220, 38, 38, 0.9);
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.35);
  cursor: not-allowed;
}

.install-cal-day--blocked .install-cal-day-num {
  color: #991b1b;
}

.install-cal-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.2rem;
  min-height: 1.1rem;
}

.install-cal-day-num {
  font-size: 12px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.1;
}

.install-cal-day-cap {
  font-size: 9px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  padding: 0.1rem 0.3rem;
  border-radius: 0.35rem;
  line-height: 1.2;
  white-space: nowrap;
}

.install-cal-day-cap--free {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}

.install-cal-day-cap--partial {
  background: rgba(2, 132, 199, 0.14);
  color: #0c4a6e;
}

.install-cal-day-cap--full {
  background: rgba(15, 23, 42, 0.1);
  color: #0f172a;
}

.install-cal-day-cap--blocked {
  background: rgba(220, 38, 38, 0.16);
  color: #991b1b;
}

.install-cal-legend__item--cap {
  background: rgba(15, 23, 42, 0.06);
  color: #334155;
  border-color: rgba(15, 23, 42, 0.12);
}

.install-cal-day-events {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-height: 0;
  overflow: hidden;
  flex: 1;
}

.install-cal-event {
  --cal-event-color: #0f172a;
  font-size: 11px;
  line-height: 1.35;
  border-radius: 0.4rem;
  padding: 0.25rem 0.35rem;
  border: 1px solid transparent;
  overflow: hidden;
}

.install-cal-event__head {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--cal-event-color);
}

.install-cal-event__time {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  color: var(--cal-event-color);
}

.install-cal-event__kind {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
  color: var(--cal-event-color);
}

.install-cal-event__title {
  font-size: 11px;
  font-weight: 800;
  color: var(--cal-event-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.install-cal-event__sub {
  font-size: 10px;
  font-weight: 800;
  color: var(--cal-event-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.install-cal-event--installation {
  --cal-event-color: #047857;
  background: rgba(5, 150, 105, 0.18);
  border-color: rgba(5, 150, 105, 0.4);
}

.install-cal-event--same-area {
  --cal-event-color: #059669;
  background: rgba(16, 185, 129, 0.24);
  border-color: rgba(16, 185, 129, 0.55);
  box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.25);
}

.install-cal-event--service {
  --cal-event-color: #0369a1;
  background: rgba(2, 132, 199, 0.18);
  border-color: rgba(2, 132, 199, 0.4);
}

.install-cal-event--planned {
  --cal-event-color: #b45309;
  background: rgba(255, 251, 235, 0.95);
  border-color: rgba(245, 158, 11, 0.6);
  border-style: dashed;
}

.install-cal-event--block {
  --cal-event-color: #b91c1c;
  background: rgba(220, 38, 38, 0.16);
  border-color: rgba(220, 38, 38, 0.45);
}

.install-cal-event--half {
  --cal-event-color: #c2410c;
  background: rgba(245, 158, 11, 0.18);
  border-color: rgba(245, 158, 11, 0.5);
}

.install-cal-event--more {
  font-size: 9px;
  font-weight: 700;
  font-style: italic;
  color: #475569;
  background: transparent;
  border: none;
  padding: 0;
}

.install-cal-day-empty {
  font-size: 10px;
  font-weight: 700;
  color: #047857;
}

.install-client-tabs {
  display: flex;
  gap: 0.45rem;
  overflow-x: auto;
  padding: 0.15rem 0 0.35rem;
  scrollbar-width: thin;
}

.install-client-tab {
  flex-shrink: 0;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.1rem;
  max-width: 11rem;
  padding: 0.4rem 0.65rem;
  border-radius: 0.75rem;
  border: 1px solid var(--are-border);
  background: var(--are-surface);
  font-size: 11px;
  font-weight: 600;
  color: var(--are-text);
  cursor: grab;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.install-client-tab:hover {
  border-color: rgba(245, 158, 11, 0.55);
}

.install-client-tab.is-active {
  border-color: rgba(245, 158, 11, 0.85);
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
}

.install-client-tab.is-dragging {
  opacity: 0.55;
  cursor: grabbing;
}

.install-client-tab__name {
  max-width: 10rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.install-client-tab__meta {
  font-size: 9px;
  font-weight: 500;
  color: var(--are-muted);
}

.install-client-tab__badge {
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #b45309;
}

.install-client-tab--urgent .install-client-tab__badge {
  color: #b91c1c;
}

.install-pending-card {
  background: var(--are-surface) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.install-pending-card--normal {
  border-color: rgba(251, 191, 36, 0.35);
}

.install-pending-card--priority {
  border-color: rgba(245, 158, 11, 0.75);
  box-shadow: 0 4px 16px rgba(245, 158, 11, 0.15);
}

.install-pending-card--urgent {
  border-color: rgba(239, 68, 68, 0.75);
  box-shadow: 0 4px 16px rgba(239, 68, 68, 0.12);
}

.install-priority-badge--priority {
  background: rgba(245, 158, 11, 0.15);
  color: #b45309;
  border: 1px solid rgba(245, 158, 11, 0.35);
}

.install-priority-badge--urgent {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
  border: 1px solid rgba(239, 68, 68, 0.35);
}

.crm-dark .install-date-input {
  background: var(--are-elevated);
  border-color: var(--are-border);
  color: var(--are-text);
}

.completed-jobs-board {
  scrollbar-width: thin;
  scrollbar-color: var(--are-muted) transparent;
}

.completed-job-card {
  background: var(--are-surface) !important;
}

.completed-job-card:hover {
  border-color: rgba(45, 212, 191, 0.5) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.lead-card.kanban-holding {
  transform: scale(0.97);
  border-color: var(--are-accent) !important;
  box-shadow: 0 0 0 3px var(--are-accent-dim);
}

/* Hold-to-assign stage picker */
.stage-picker {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1rem;
}

.stage-picker.hidden {
  display: none;
}

.stage-picker-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(2px);
}

.stage-picker-panel {
  position: relative;
  width: 100%;
  max-width: 28rem;
  max-height: min(70vh, 520px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--are-surface);
  border: 1px solid var(--are-border-strong);
  border-radius: 1.25rem 1.25rem 1rem 1rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  animation: stage-picker-in 0.2s ease-out;
}

@keyframes stage-picker-in {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.stage-picker-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1rem 0.5rem;
}

.stage-picker-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  padding: 0 1rem 1rem;
  overflow-y: auto;
}

@media (min-width: 480px) {
  .stage-picker-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.stage-picker-btn {
  padding: 0.65rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1.25;
  text-align: center;
  border-radius: 0.65rem;
  border: 1px solid var(--are-border);
  background: var(--are-elevated);
  color: var(--are-text);
  transition: background 0.15s, border-color 0.15s, transform 0.1s;
}

.stage-picker-btn:hover:not(:disabled) {
  background: var(--are-accent-dim);
  border-color: var(--are-accent);
  transform: translateY(-1px);
}

.tag-picker-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.tag-picker-option {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.65rem;
  border-radius: 0.6rem;
  border: 1px solid var(--are-border);
  cursor: pointer;
  font-size: 0.875rem;
  transition: background 0.12s;
}

.tag-picker-option:hover {
  background: var(--are-surface-2, #f8fafc);
}

.tag-picker-option input {
  accent-color: var(--are-accent);
}

.tag-picker-option.is-selected {
  background: var(--are-accent-dim, #f5f3ff);
  border-color: #8b5cf6;
  font-weight: 500;
}

.stage-picker-btn.is-current {
  background: var(--are-accent-dim);
  border-color: var(--are-accent);
  color: var(--are-accent-light);
  opacity: 0.85;
  cursor: default;
}

.section-header,
.crm-section-header {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--are-text);
  border-bottom: 1px solid var(--are-border);
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

.crm-dark h1,
.crm-dark h2,
.crm-dark h3 {
  color: var(--are-text);
  letter-spacing: -0.02em;
}

.crm-dark .prose { color: var(--are-text-muted); }

/* Mobile layout — keep content clear of sticky header + bottom tab bar */
html {
  scroll-padding-top: calc(8.5rem + env(safe-area-inset-top, 0px));
  scroll-padding-bottom: calc(6rem + env(safe-area-inset-bottom, 0px));
}

.crm-main-content {
  padding-top: 0.25rem;
  padding-bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px));
}

.crm-mobile-menu {
  background: var(--are-navy);
}

.crm-mobile-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-radius: var(--are-radius);
  color: var(--are-text-muted);
  font-weight: 500;
  min-height: 44px;
}

.crm-mobile-link:hover,
.crm-mobile-link.active {
  background: rgba(255, 255, 255, 0.06);
  color: var(--are-accent-light);
}

.crm-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  background: var(--are-navy);
  border-top: 1px solid var(--are-border);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.35);
}

.crm-tab {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.5rem 0.25rem;
  min-height: 56px;
  color: var(--are-text-muted);
  font-size: 0.65rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.15s;
}

.crm-tab i {
  font-size: 1.15rem;
}

.crm-tab.active {
  color: var(--are-accent-light);
}

.crm-tab-cta {
  color: var(--are-cta);
}

.crm-tab-cta i {
  font-size: 1.35rem;
}

/* Scrollable tables on phone */
.crm-dark .overflow-x-auto,
.crm-dark table {
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1023px) {
  .crm-dark .bg-white.rounded-2xl.border.overflow-hidden {
    overflow-x: auto;
  }

  .crm-dark h1.text-3xl {
    font-size: 1.5rem;
  }

  .crm-dark input,
  .crm-dark select,
  .crm-dark textarea,
  .crm-dark button {
    font-size: 16px; /* prevents iOS zoom on focus */
  }
}

/* Dark theme: tinted text on colored surfaces */
.crm-dark .text-emerald-900,
.crm-dark .text-emerald-800 { color: var(--are-accent-light) !important; }
.crm-dark .text-amber-900,
.crm-dark .text-amber-950,
.crm-dark .text-amber-800 { color: #f5c842 !important; }
.crm-dark .text-amber-700,
.crm-dark .text-amber-600 { color: #f5a623 !important; }
.crm-dark .text-violet-950,
.crm-dark .text-violet-900,
.crm-dark .text-violet-800 { color: #c4b5fd !important; }
.crm-dark .text-blue-900,
.crm-dark .text-blue-800 { color: #7ec8ff !important; }
.crm-dark .text-orange-900,
.crm-dark .text-orange-800 { color: #fdba74 !important; }

.crm-dark .bg-violet-50 { background-color: rgba(139, 92, 246, 0.12) !important; }
.crm-dark .bg-violet-100 { background-color: rgba(139, 92, 246, 0.18) !important; }
.crm-dark .bg-orange-50 { background-color: rgba(251, 146, 60, 0.12) !important; }
.crm-dark .bg-orange-100 { background-color: rgba(251, 146, 60, 0.18) !important; }
.crm-dark .bg-blue-50 { background-color: var(--are-blue-dim) !important; }
.crm-dark .bg-blue-100 { background-color: rgba(0, 116, 217, 0.22) !important; }
.crm-dark .bg-amber-100 { background-color: rgba(245, 166, 35, 0.18) !important; }

.crm-dark .border-violet-200,
.crm-dark .border-violet-200\/60 { border-color: rgba(139, 92, 246, 0.3) !important; }
.crm-dark .border-amber-200,
.crm-dark .border-amber-200\/60,
.crm-dark .border-amber-300 { border-color: rgba(245, 166, 35, 0.35) !important; }
.crm-dark .border-orange-200 { border-color: rgba(251, 146, 60, 0.35) !important; }
.crm-dark .border-blue-200 { border-color: rgba(0, 116, 217, 0.35) !important; }

.crm-dark .divide-violet-100 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgba(139, 92, 246, 0.15);
}
.crm-dark .divide-amber-100 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgba(245, 166, 35, 0.15);
}

/* Start — Kommande arbete filter toggles */
.schedule-work-filter {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #64748b;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.schedule-work-filter.is-on {
  background: #ede9fe;
  border-color: #c4b5fd;
  color: #5b21b6;
}
.schedule-work-filter:hover {
  border-color: #a78bfa;
}

/* Start page action chips */
.action-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  border: 1px solid var(--are-border);
  background: var(--are-elevated);
  color: var(--are-text);
  transition: border-color 0.15s, background 0.15s, transform 0.1s;
  text-decoration: none;
}

a.action-chip:hover {
  transform: translateY(-1px);
  border-color: var(--are-accent);
}

.action-chip strong {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.action-chip--green {
  background: var(--are-accent-dim);
  border-color: rgba(41, 168, 87, 0.35);
  color: var(--are-accent-light);
}

.action-chip--green-highlight {
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.65);
  color: #047857;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25);
  font-weight: 600;
}

a.action-chip--green-highlight:hover {
  background: rgba(16, 185, 129, 0.28);
  border-color: rgba(16, 185, 129, 0.8);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.3);
}

.action-chip--amber {
  background: rgba(245, 166, 35, 0.14);
  border-color: rgba(245, 166, 35, 0.35);
  color: #f5c842;
}

.action-chip--violet {
  background: rgba(139, 92, 246, 0.14);
  border-color: rgba(139, 92, 246, 0.35);
  color: #c4b5fd;
}

.action-chip--orange {
  background: rgba(251, 146, 60, 0.14);
  border-color: rgba(251, 146, 60, 0.35);
  color: #fdba74;
}

.action-chip--slate {
  background: var(--are-muted);
  color: var(--are-text-muted);
}

/* Queue list cards on Start */
.crm-queue-card {
  border-radius: var(--are-radius-lg);
  border: 1px solid var(--are-border);
  background: var(--are-surface);
}

.crm-queue-card--violet {
  border-color: rgba(139, 92, 246, 0.3);
  background: rgba(139, 92, 246, 0.08);
}

.crm-queue-card--amber {
  border-color: rgba(245, 166, 35, 0.3);
  background: rgba(245, 166, 35, 0.08);
}

.crm-queue-card--emerald {
  border-color: rgba(16, 185, 129, 0.35);
  background: rgba(16, 185, 129, 0.08);
}

.crm-queue-card--sky {
  border-color: rgba(14, 165, 233, 0.35);
  background: rgba(14, 165, 233, 0.08);
}

/* Grok daily review cards */
.crm-review-intro {
  padding: 1rem 1.25rem;
  border-radius: var(--are-radius-lg);
  border: 1px solid var(--are-border);
  background: var(--are-surface);
  font-size: 0.9375rem;
  color: var(--are-text-muted);
  line-height: 1.5;
}

.crm-review-card {
  background: var(--are-surface);
  border: 1px solid rgba(41, 168, 87, 0.25);
  border-left: 4px solid var(--are-accent);
  border-radius: var(--are-radius-lg);
  padding: 1rem 1.25rem;
}

.crm-review-card__main {
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .crm-review-card__main {
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 1.25rem;
  }
}

.crm-review-card__name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--are-text);
}

.crm-review-card__meta {
  font-size: 0.75rem;
  color: var(--are-text-dim);
  margin-top: 0.15rem;
}

.crm-review-card__reason {
  font-size: 0.875rem;
  color: var(--are-text-muted);
  margin-top: 0.5rem;
  line-height: 1.45;
}

.crm-review-card__stage {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  font-size: 0.8125rem;
  min-width: 10rem;
}

.crm-review-card__stage-from {
  color: var(--are-text-dim);
  text-decoration: line-through;
}

.crm-review-card__stage-to {
  font-weight: 600;
  color: var(--are-accent-light);
}

.crm-review-card__confidence {
  font-size: 0.6875rem;
  color: var(--are-text-dim);
  width: 100%;
}

.crm-review-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* Email review cards */
.crm-email-review-card {
  background: var(--are-surface);
  border: 1px solid var(--are-border);
  border-left: 4px solid var(--are-cta);
  border-radius: var(--are-radius-lg);
  overflow: hidden;
}

.crm-email-review-card__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem 0.75rem;
}

.crm-email-review-card__subject {
  font-size: 1rem;
  font-weight: 600;
  color: var(--are-text);
  line-height: 1.35;
}

.crm-email-review-card__sender {
  font-size: 0.875rem;
  color: var(--are-text-muted);
  margin-top: 0.2rem;
}

.crm-email-review-card__badge {
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0.2rem 0.55rem;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.crm-email-review-card__badge--match {
  background: var(--are-blue-dim);
  color: #7ec8ff;
}

.crm-email-review-card__badge--uncertain {
  background: rgba(245, 166, 35, 0.18);
  color: #f5c842;
}

.crm-email-review-card__hint {
  font-size: 0.8125rem;
  color: var(--are-text-muted);
  margin-top: 0.35rem;
}

.email-preview-body {
  margin: 0 1.25rem 1rem;
  padding: 1rem 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--are-text);
  background: var(--are-bg);
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 14rem;
  overflow-y: auto;
}

.crm-email-review-card__candidates {
  padding: 0 1.25rem 0.75rem;
}

.crm-email-review-card__candidates-title {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--are-text-dim);
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.crm-email-review-card__candidate {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  background: var(--are-bg);
  margin-bottom: 0.4rem;
}

.crm-email-review-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.85rem 1.25rem 1.1rem;
  border-top: 1px solid var(--are-border);
  background: rgba(0, 0, 0, 0.12);
}

/* Flash / status banners */
.crm-flash {
  padding: 0.85rem 1rem;
  border-radius: var(--are-radius-lg);
  font-size: 0.875rem;
  border: 1px solid var(--are-border);
}

.crm-flash--success {
  background: var(--are-accent-dim);
  border-color: rgba(41, 168, 87, 0.35);
  color: var(--are-accent-light);
}

.crm-flash--info {
  background: var(--are-blue-dim);
  border-color: rgba(0, 116, 217, 0.35);
  color: #7ec8ff;
}

.offer-card-line--alert {
  background: rgba(127, 29, 29, 0.25);
  border-radius: 6px;
  padding: 0.15rem 0.35rem;
  margin: 0 -0.35rem;
}

.crm-flash--muted {
  background: var(--are-muted);
  color: var(--are-text-muted);
}

/* Collapsible queue sections on Start */
.crm-collapsible-toggle {
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  transition: background 0.15s;
}

.crm-collapsible-toggle:hover {
  background: rgba(255, 255, 255, 0.04);
}

.crm-collapsible-hint {
  font-size: 0.75rem;
  color: var(--are-text-dim);
  font-weight: 500;
}

.crm-collapsible-toggle.is-open .crm-collapsible-hint {
  color: var(--are-text-muted);
}

/* Pipeline filters & kanban */
.pipeline-stage-chip,
.pipeline-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  border: 1px solid var(--are-border);
  background: var(--are-bg);
  color: var(--are-text-muted);
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  text-decoration: none;
}

.pipeline-stage-chip:hover,
.pipeline-tag-chip:hover {
  border-color: var(--are-accent);
  color: var(--are-text);
}

.pipeline-stage-chip.is-active,
.pipeline-tag-chip.is-active {
  background: var(--are-accent);
  border-color: var(--are-accent);
  color: #fff;
  font-weight: 600;
}

.pipeline-stage-chip.is-empty {
  opacity: 0.55;
}

.pipeline-search-hidden {
  display: none !important;
}

.kanban-stage--filtered-empty {
  display: none !important;
}

.crm-dark .kanban-stage-header {
  background: var(--are-elevated);
  border-color: var(--are-border);
  color: var(--are-text);
}

.crm-dark .kanban-column {
  background: rgba(13, 31, 51, 0.5);
  border-color: var(--are-border);
}

.crm-dark .lead-card {
  background: var(--are-surface);
  border-color: var(--are-border);
}

.crm-dark .lead-card:hover {
  border-color: rgba(41, 168, 87, 0.45);
}

.kanban-mini-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.625rem;
  padding: 0.15rem 0.45rem;
  border-radius: 0.35rem;
  font-weight: 500;
  line-height: 1.2;
}

.kanban-mini-badge--pdf {
  background: rgba(248, 113, 113, 0.15);
  color: #fca5a5;
}

.kanban-mini-badge--urgent {
  background: rgba(248, 113, 113, 0.18);
  color: #fca5a5;
}

.kanban-mini-badge--value {
  background: var(--are-accent-dim);
  color: var(--are-accent-light);
}

.kanban-mini-badge--tag {
  background: rgba(139, 92, 246, 0.15);
  color: #c4b5fd;
}

.kanban-mini-badge--company {
  background: rgba(59, 130, 246, 0.18);
  color: #93c5fd;
}

.kanban-mini-badge--private {
  background: rgba(16, 185, 129, 0.15);
  color: #6ee7b7;
}

.kanban-mini-badge--amber,
.kanban-mini-badge--manual {
  background: rgba(245, 158, 11, 0.22);
  color: #fcd34d;
  border: 1px solid rgba(245, 158, 11, 0.35);
  font-weight: 600;
}

.crm-manuell-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(245, 158, 11, 0.45);
  background: rgba(245, 158, 11, 0.12);
}

.crm-manuell-banner strong {
  color: #fcd34d;
}

.wizard-decision-banner {
  padding: 0.875rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(41, 168, 87, 0.35);
  background: rgba(41, 168, 87, 0.1);
}

.crm-manuell-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.8125rem;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}

.crm-manuell-toggle:hover {
  border-color: rgba(245, 158, 11, 0.4);
}

.crm-manuell-toggle.is-active {
  border-color: rgba(245, 158, 11, 0.55);
  background: rgba(245, 158, 11, 0.18);
  color: #fcd34d;
}

.crm-manuell-toggle input {
  accent-color: #f59e0b;
}

.lead-label-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.92em;
  opacity: 0.85;
  font-weight: 600;
}

.kanban-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  color: var(--are-text-muted);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.kanban-icon-btn--wizard {
  color: var(--are-accent-light);
  border-color: rgba(41, 168, 87, 0.3);
  background: var(--are-accent-dim);
}

.kanban-icon-btn--wizard:hover {
  background: rgba(41, 168, 87, 0.28);
}

.kanban-icon-btn:hover {
  background: var(--are-muted);
  border-color: var(--are-border);
}

.kanban-card-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 40;
  min-width: 9.5rem;
  padding: 0.35rem;
  border-radius: 0.65rem;
  border: 1px solid var(--are-border-strong);
  background: var(--are-elevated);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
}

.kanban-menu-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 0.65rem;
  border: none;
  border-radius: 0.45rem;
  background: transparent;
  color: var(--are-text);
  font-size: 0.8125rem;
  text-align: left;
  cursor: pointer;
}

.kanban-menu-item:hover {
  background: var(--are-muted);
}

.kanban-menu-item--danger {
  color: #fca5a5;
}

.kanban-menu-item--danger:hover {
  background: rgba(248, 113, 113, 0.12);
}

.crm-dark .pipeline-table thead tr {
  background: var(--are-elevated) !important;
}

.crm-dark .pipeline-table thead th {
  color: var(--are-text-muted) !important;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.kanban-folder {
  border-top: 1px solid var(--are-border);
  padding-top: 0.75rem;
}

.kanban-folder-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: var(--are-radius-lg);
  border: 1px dashed var(--are-border);
  background: rgba(13, 31, 51, 0.45);
  color: var(--are-text-muted);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.kanban-folder-toggle:hover,
.kanban-folder-toggle:focus-visible {
  border-color: var(--are-text-dim);
  background: var(--are-surface);
  color: var(--are-text);
  outline: none;
}

.kanban-folder-toggle--drop-hint {
  border-color: var(--are-accent);
  background: rgba(59, 130, 246, 0.12);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
  color: var(--are-text);
}

.kanban-folder-drop-hint {
  margin: 0.35rem 0 0;
  padding: 0.35rem 1rem;
  font-size: 0.75rem;
  color: var(--are-accent);
  text-align: center;
}

.kanban-folder-icon {
  display: inline-block;
  transition: transform 0.2s ease;
}

.kanban-folder-icon.rotate-180 {
  transform: rotate(180deg);
}

.kanban-folder-search-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 600;
  background: var(--are-accent);
  color: #fff;
  white-space: nowrap;
}

.kanban-folder-empty {
  width: 100%;
  text-align: center;
}

.kanban-stage--archive .kanban-stage-header,
.kanban-stage--followup .kanban-stage-header {
  opacity: 0.9;
  border-style: dashed;
}

.kanban-stage--archive {
  width: 14rem;
}

@media (min-width: 768px) {
  .kanban-stage--archive {
    width: 15rem;
  }
}

.lead-card--archive {
  font-size: 0.8rem;
}

.lead-card--archive .kanban-icon-btn {
  width: 1.5rem;
  height: 1.5rem;
}

.lead-card--archive .kanban-grip {
  width: 1rem;
  height: 1.5rem;
}

.pipeline-stage-chip--archive,
.pipeline-stage-chip--followup {
  border-style: dashed;
  opacity: 0.9;
}

.pipeline-stage-chip--archive.is-active,
.pipeline-stage-chip--followup.is-active {
  opacity: 1;
}

/* Kundkort */
.kundkort-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  border-radius: var(--are-radius-lg);
  border: 1px solid var(--are-border);
  background: var(--are-surface);
  color: var(--are-text-muted);
  font-size: 0.875rem;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.kundkort-tab:hover {
  border-color: var(--are-border-strong);
  color: var(--are-text);
}

.kundkort-tab.is-active {
  background: var(--are-elevated);
  border-color: var(--are-accent);
  color: var(--are-text);
  font-weight: 600;
}

.kundkort-tab-dot {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
  background: var(--are-cta);
  flex-shrink: 0;
}

.kundkort-details {
  overflow: hidden;
}

.kundkort-details-summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.875rem;
  list-style: none;
  user-select: none;
}

.kundkort-details-summary::-webkit-details-marker {
  display: none;
}

.kundkort-details-summary::after {
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.65rem;
  margin-left: auto;
  color: var(--are-text-dim);
  transition: transform 0.2s;
}

.kundkort-details[open] .kundkort-details-summary::after {
  transform: rotate(180deg);
}

.kundkort-details-body {
  padding: 0 1.25rem 1.25rem;
  border-top: 1px solid var(--are-border);
}

.kundkort-contact-gap {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  border: 1px dashed var(--are-border);
  background: transparent;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}

.kundkort-contact-gap:hover {
  border-color: var(--are-accent);
}

.kundkort-contact-edit:not([open]) > form {
  display: none;
}

.kundkort-contact-edit[open] {
  display: block;
}

/* Kundkort topbar — uniform chips (stage, manuell, kundtyp, wizard) */
.kundkort-topbar-chips {
  max-width: 100%;
}

.kundkort-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  height: 2rem;
  padding: 0 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  border-radius: 9999px;
  border: 1px solid var(--are-border);
  background: var(--are-muted);
  color: var(--are-text-dim);
  white-space: nowrap;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.kundkort-chip-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  cursor: pointer;
  margin: 0;
}

form.kundkort-chip {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}

form.kundkort-chip .kundkort-chip-label {
  height: 2rem;
  padding: 0 0.75rem;
  border-radius: 9999px;
  border: 1px solid var(--are-border);
  background: var(--are-muted);
  color: var(--are-text-dim);
}

.kundkort-chip--id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  background: rgba(255, 255, 255, 0.06);
  color: var(--are-text);
  border-color: rgba(255, 255, 255, 0.12);
}

.kundkort-chip--stage {
  background: var(--are-blue-dim);
  color: var(--are-blue);
  border-color: rgba(0, 116, 217, 0.25);
}

.kundkort-chip--manuell:hover .kundkort-chip-label,
form.kundkort-chip--manuell:hover .kundkort-chip-label {
  border-color: rgba(245, 158, 11, 0.45);
  color: #fcd34d;
}

form.kundkort-chip--manuell.is-active .kundkort-chip-label {
  border-color: rgba(245, 158, 11, 0.55);
  background: rgba(245, 158, 11, 0.18);
  color: #fcd34d;
}

.kundkort-chip--client {
  cursor: pointer;
}

.kundkort-chip--client:hover {
  border-color: var(--are-accent);
  color: var(--are-text);
}

.kundkort-chip--client.is-private {
  border-color: rgba(16, 185, 129, 0.35);
  background: rgba(16, 185, 129, 0.12);
  color: #6ee7b7;
}

.kundkort-chip--client.is-company {
  border-color: rgba(59, 130, 246, 0.35);
  background: rgba(59, 130, 246, 0.12);
  color: #93c5fd;
}

.kundkort-chip--action {
  text-decoration: none;
}

.kundkort-chip--action:hover {
  border-color: var(--are-accent);
  color: var(--are-text);
}

.kundkort-chip--action.is-highlight {
  border-color: rgba(16, 185, 129, 0.45);
  background: rgba(16, 185, 129, 0.2);
  color: #a7f3d0;
}

.kundkort-chip:disabled {
  opacity: 0.6;
  cursor: wait;
}

.offer-tab-card {
  max-width: 52rem;
}

.offer-versions-table th,
.offer-versions-table td {
  vertical-align: middle;
}

.offer-versions-row.is-active {
  background: rgba(16, 185, 129, 0.08);
}

.offer-version-badge {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  border: 1px solid var(--are-border);
  color: var(--are-text-dim);
}

.offer-version-badge--accepterad {
  border-color: rgba(16, 185, 129, 0.45);
  color: rgb(110, 231, 183);
}

.offer-version-badge--skickad {
  border-color: rgba(56, 189, 248, 0.45);
  color: rgb(125, 211, 252);
}

.offer-version-badge--utkast {
  border-color: rgba(148, 163, 184, 0.35);
}

.offer-version-badge--ersatt {
  border-color: rgba(251, 191, 36, 0.4);
  color: rgb(253, 224, 71);
}

.offer-subsections,
.offer-summary-row {
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
}

.offer-subsection {
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--are-border);
}

.offer-subsections .offer-subsection:last-child,
.offer-summary-row .offer-subsection:last-child {
  border-bottom: none;
}

.offer-subsection__head {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--are-text-dim);
  margin: 0;
  list-style: none;
}

.offer-subsection__head::-webkit-details-marker {
  display: none;
}

details.offer-subsection > summary.offer-subsection__head,
details.offer-versions-inline > summary.offer-subsection__head {
  cursor: pointer;
  user-select: none;
}

details.offer-subsection > summary.offer-subsection__head::after,
details.offer-versions-inline > summary.offer-subsection__head::after {
  content: '▸';
  margin-left: auto;
  font-size: 0.65rem;
  opacity: 0.45;
  transition: transform 0.15s ease;
}

details.offer-subsection[open] > summary.offer-subsection__head::after,
details.offer-versions-inline[open] > summary.offer-subsection__head::after {
  transform: rotate(90deg);
}

details.offer-subsection[open] > summary.offer-subsection__head {
  margin-bottom: 0.75rem;
}

.offer-subsection__meta {
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: var(--are-text-dim);
  margin-left: 0.15rem;
}

.offer-subsection__body {
  padding-top: 0.125rem;
}

.offer-summary-row {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .offer-summary-row {
    grid-template-columns: 1fr 1fr;
  }

  .offer-summary-row .offer-subsection {
    border-bottom: none;
    border-right: 1px solid var(--are-border);
  }

  .offer-summary-row .offer-subsection:last-child {
    border-right: none;
  }
}

.offer-subsection--totals {
  background: rgba(255, 255, 255, 0.03);
}

.offer-versions-inline {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--are-border);
}

.offer-versions-inline > summary.offer-subsection__head {
  margin-bottom: 0;
}

.offer-versions-inline[open] > summary.offer-subsection__head {
  margin-bottom: 0.75rem;
}

.offer-lines-table th,
.offer-lines-table td,
.offer-custom-lines-table th,
.offer-custom-lines-table td {
  vertical-align: middle;
}

.offer-lines-table input,
.offer-lines-table select,
.offer-custom-lines-table input,
.offer-custom-lines-table select {
  min-width: 0;
}

.offer-edit-zone.offer-edit-locked {
  display: none !important;
}

.offer-summary-row--overview {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .offer-summary-row--overview {
    grid-template-columns: 1.15fr 0.9fr 0.95fr;
  }

  .offer-summary-row--overview .offer-subsection {
    border-bottom: none;
    border-right: 1px solid var(--are-border);
  }

  .offer-summary-row--overview .offer-subsection:last-child {
    border-right: none;
  }
}

.offer-card-section-label {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--are-text-dim);
  margin-bottom: 0.5rem;
}

.offer-card-lines {
  list-style: none;
  margin: 0;
  padding: 0;
}

.offer-card-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.2rem 0;
}

.offer-card-actions {
  gap: 0.625rem;
}

.offer-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.offer-step {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px dashed var(--are-border);
  font-size: 0.75rem;
  color: var(--are-text-dim);
}

.offer-step-num {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 700;
  background: var(--are-muted);
}

.offer-step--active {
  border-color: var(--are-accent);
  color: var(--are-text);
}

.offer-step--active .offer-step-num {
  background: var(--are-accent-dim);
  color: var(--are-accent-light);
}

.offer-step--done {
  border-style: solid;
  border-color: rgba(41, 168, 87, 0.35);
  color: var(--are-accent-light);
}

.offer-step--done .offer-step-num {
  background: var(--are-accent);
  color: #fff;
}

.offer-mode-badge {
  display: inline-block;
  font-size: 0.7rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-weight: 600;
}

.offer-mode-badge--specific {
  background: var(--are-accent-dim);
  color: var(--are-accent-light);
}

.offer-mode-badge--generic {
  background: var(--are-blue-dim);
  color: #7ec8ff;
}

.offer-mode-badge--insufficient {
  background: rgba(255, 98, 0, 0.15);
  color: #ffb380;
}

.comm-event-icon {
  width: 2rem;
  height: 2rem;
  border-radius: var(--are-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.8rem;
}

.comm-event-icon--blue { background: var(--are-blue-dim); color: #7ec8ff; }
.comm-event-icon--emerald { background: var(--are-accent-dim); color: var(--are-accent-light); }
.comm-event-icon--violet { background: rgba(139, 92, 246, 0.18); color: #c4b5fd; }
.comm-event-icon--amber { background: rgba(245, 158, 11, 0.15); color: #fcd34d; }
.comm-event-icon--slate { background: rgba(255, 255, 255, 0.06); color: var(--are-text-muted); }

.comm-event--focus {
  background: rgba(139, 92, 246, 0.08);
  box-shadow: inset 3px 0 0 #a78bfa;
}

.comm-grok-tag {
  font-size: 0.65rem;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: var(--are-accent-dim);
  color: var(--are-accent-light);
  border: 1px solid rgba(41, 168, 87, 0.25);
}

/* Clickable client name — kundkort link */
.crm-lead-link,
.crm-dark a.crm-lead-link,
.crm-dark a.kanban-card-link {
  color: var(--are-blue);
  text-decoration: none;
  cursor: pointer;
}

.crm-lead-link:hover,
.crm-dark a.crm-lead-link:hover,
.crm-dark a.kanban-card-link:hover {
  color: #7ec8ff;
  text-decoration: underline;
}

.kanban-card-body {
  cursor: pointer;
}

.pipeline-list-row:hover .crm-lead-link {
  text-decoration: underline;
}

/* Integrations page — dark theme */
.int-automations-master {
  padding: 1rem 1.125rem;
  border-radius: var(--are-radius-lg);
  border: 1px solid rgba(251, 191, 36, 0.35);
  background: linear-gradient(135deg, rgba(120, 53, 15, 0.55) 0%, var(--are-surface) 55%);
}

.int-automations-master__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.int-automations-master__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #fde68a;
}

.int-automations-master__sub {
  margin-top: 0.35rem;
  font-size: 0.875rem;
  color: var(--are-text-muted);
  max-width: 42rem;
}

.int-status-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  background: linear-gradient(135deg, var(--are-surface) 0%, var(--are-elevated) 100%);
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius-lg);
}

.int-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid var(--are-border);
  background: var(--are-muted);
  color: var(--are-text-muted);
  white-space: nowrap;
}

.int-status-pill--ok {
  background: var(--are-accent-dim);
  border-color: rgba(41, 168, 87, 0.35);
  color: var(--are-accent-light);
}

.int-status-pill--warn {
  background: rgba(255, 152, 0, 0.14);
  border-color: rgba(255, 152, 0, 0.32);
  color: #ffcc80;
}

.int-status-pill--off {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--are-border);
  color: var(--are-text-dim);
}

.int-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 1.25rem;
}

.int-nav a {
  font-size: 0.75rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid var(--are-border);
  background: var(--are-surface);
  color: var(--are-text-muted);
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.int-nav a:hover {
  border-color: rgba(41, 168, 87, 0.4);
  color: var(--are-accent-light);
  background: var(--are-elevated);
}

.int-flash-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.int-flash {
  padding: 0.65rem 0.9rem;
  border-radius: var(--are-radius);
  font-size: 0.8125rem;
  line-height: 1.4;
}

.int-flash--ok {
  background: var(--are-accent-dim);
  border: 1px solid rgba(41, 168, 87, 0.3);
  color: var(--are-accent-light);
}

.int-flash--info {
  background: var(--are-blue-dim);
  border: 1px solid rgba(0, 116, 217, 0.35);
  color: #7ec8ff;
}

.int-flash--err {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #fca5a5;
}

.int-section {
  background: var(--are-surface);
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius-lg);
  overflow: hidden;
  margin-bottom: 0.75rem;
  scroll-margin-top: 5rem;
}

.int-section > summary {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.9rem 1.15rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--are-text);
  list-style: none;
  user-select: none;
}

.int-section > summary::-webkit-details-marker {
  display: none;
}

.int-section > summary::after {
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.65rem;
  margin-left: auto;
  color: var(--are-text-dim);
  transition: transform 0.2s;
}

.int-section[open] > summary::after {
  transform: rotate(180deg);
}

.int-section-body {
  padding: 0 1.15rem 1.15rem;
  border-top: 1px solid var(--are-border);
}

.int-section-body > :first-child {
  margin-top: 1rem;
}

.int-card {
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  padding: 1rem;
  background: var(--are-elevated);
}

.int-card + .int-card {
  margin-top: 0.75rem;
}

.int-card-head {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

.int-card-title {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--are-text);
}

.int-card-sub {
  font-size: 0.6875rem;
  color: var(--are-text-dim);
  margin-top: 0.1rem;
}

.int-meta {
  font-size: 0.75rem;
  color: var(--are-text-muted);
}

.int-meta strong {
  color: var(--are-text);
  font-weight: 600;
}

.int-meta--ok { color: var(--are-accent-light); }
.int-meta--warn { color: #ffcc80; }

.int-hint {
  font-size: 0.75rem;
  color: var(--are-text-dim);
}

.int-inline-code {
  font-size: 0.625rem;
  padding: 0.1rem 0.35rem;
  border-radius: 0.25rem;
  background: var(--are-bg);
  border: 1px solid var(--are-border);
  color: var(--are-text-muted);
}

.int-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.int-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem;
  border-radius: var(--are-radius);
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}

.int-btn--primary { background: var(--are-blue); color: #fff; }
.int-btn--primary:hover { background: #3d9ef5; }
.int-btn--violet { background: #6d28d9; color: #fff; }
.int-btn--violet:hover { background: #7c3aed; }
.int-btn--amber { background: #c2410c; color: #fff; }
.int-btn--amber:hover { background: #ea580c; }
.int-btn--indigo { background: #4338ca; color: #fff; }
.int-btn--indigo:hover { background: #4f46e5; }
.int-btn--emerald { background: var(--are-accent); color: #fff; }
.int-btn--emerald:hover { background: var(--are-accent-light); }
.int-btn--slate {
  background: var(--are-muted);
  border-color: var(--are-border-strong);
  color: var(--are-text);
}
.int-btn--slate:hover { background: var(--are-elevated); }
.int-btn--ghost {
  background: var(--are-muted);
  border-color: var(--are-border-strong);
  color: var(--are-text-muted);
}
.int-btn--ghost:hover {
  background: var(--are-elevated);
  color: var(--are-text);
}
.int-btn--soft-indigo {
  background: rgba(99, 102, 241, 0.15);
  border-color: rgba(99, 102, 241, 0.35);
  color: #a5b4fc;
}
.int-btn--soft-indigo:hover { background: rgba(99, 102, 241, 0.25); }

.int-code {
  display: block;
  font-size: 0.6875rem;
  padding: 0.5rem 0.65rem;
  background: var(--are-bg);
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  word-break: break-all;
  color: var(--are-text-muted);
}

.int-subsection {
  margin-top: 0.75rem;
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  overflow: hidden;
  background: var(--are-bg);
}

.int-subsection > summary {
  padding: 0.55rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--are-text-muted);
  cursor: pointer;
  list-style: none;
}

.int-subsection > summary::-webkit-details-marker { display: none; }

.int-subsection-body {
  padding: 0.65rem 0.75rem 0.75rem;
  border-top: 1px solid var(--are-border);
  font-size: 0.75rem;
  color: var(--are-text-muted);
}

.int-webhook-row {
  display: grid;
  grid-template-columns: minmax(0, 7rem) 1fr;
  gap: 0.5rem 0.75rem;
  align-items: start;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--are-border);
  font-size: 0.75rem;
}

.int-webhook-row:last-child { border-bottom: none; }

.int-webhook-label {
  font-weight: 600;
  color: var(--are-text-muted);
}

.int-tip-card {
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  padding: 0.75rem;
  background: var(--are-bg);
  font-size: 0.75rem;
}

.int-tip-card strong,
.int-tip-card .int-tip-title {
  color: var(--are-text);
  font-weight: 600;
}

.int-nested-panel {
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  padding: 0.75rem;
  background: var(--are-bg);
}

.int-nested-item {
  border: 1px solid var(--are-border);
  border-radius: 0.375rem;
  padding: 0.5rem;
  background: var(--are-muted);
  font-size: 0.75rem;
}

.int-nested-item pre {
  margin-top: 0.35rem;
  padding: 0.5rem;
  border-radius: 0.375rem;
  background: var(--are-bg);
  color: var(--are-text-muted);
  white-space: pre-wrap;
  max-height: 6rem;
  overflow: auto;
}

.int-template-item {
  border: 1px solid var(--are-border);
  border-radius: var(--are-radius);
  background: var(--are-muted);
  overflow: hidden;
}

.int-template-item > summary {
  padding: 0.5rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--are-text);
  cursor: pointer;
  list-style: none;
}

.int-template-item > summary::-webkit-details-marker { display: none; }

.int-template-item-body {
  padding: 0.5rem 0.75rem 0.75rem;
  border-top: 1px solid var(--are-border);
  font-size: 0.75rem;
  color: var(--are-text-muted);
}

.int-template-item-body pre {
  margin-top: 0.35rem;
  padding: 0.5rem;
  border-radius: 0.375rem;
  background: var(--are-bg);
  color: var(--are-text-muted);
  white-space: pre-wrap;
  max-height: 7rem;
  overflow: auto;
}

.int-badge-ok {
  font-size: 0.625rem;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  background: var(--are-accent-dim);
  color: var(--are-accent-light);
  border: 1px solid rgba(41, 168, 87, 0.3);
}

.int-badge-off {
  font-size: 0.625rem;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--are-text-dim);
  border: 1px solid var(--are-border);
}

.int-cal-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--are-border);
  font-size: 0.75rem;
}

.int-cal-row:last-child { border-bottom: none; }

.int-icon-google { color: #5b9cf5; }
.int-icon-indigo { color: #818cf8; }
.int-icon-amber { color: #ffb74d; }
.int-icon-emerald { color: var(--are-accent-light); }
.int-icon-violet { color: #a78bfa; }
.int-icon-muted { color: var(--are-text-dim); }

