/* ============================================================================
   apple-minimal-theme — standardowy theme dla aplikacji weSEQ
   ----------------------------------------------------------------------------
   Styl wzorowany na apple.com / macOS System Settings:
   - San Francisco font (systemowy na Mac; Inter/Segoe UI fallback)
   - Miękkie cienie zamiast ostrych bordersów
   - Oddzielne karty per sekcja
   - Pill buttons dla akcji głównych, soft buttons dla pomocniczych
   - Apple blue (#2563eb) jako główny akcent
   - Duże odstępy, czyste typografie, jasna hierarchia
   ----------------------------------------------------------------------------
   Aktywuje się przez klasę `theme-apple-minimal` na <body>.
   ============================================================================ */

:root {
  --apple-blue:          #2563eb;
  --apple-blue-hover:    #1d4ed8;
  --apple-blue-light:    rgba(37, 99, 235, 0.10);
  --apple-bg:            #e8ecf2;
  --apple-bg-subtle:     #f4f7fb;
  --apple-card:          #FFFFFF;
  --apple-text:          #1b2532;
  --apple-text-secondary:#5b6a7d;
  --apple-text-tertiary: #788596;
  --apple-border:        #c4cedb;
  --apple-divider:       #dde3ec;
  --apple-red:           #d23b34;
  --apple-amber:         #b97700;
  --apple-green:         #157f50;
  --apple-purple:        #7c3aed;

  --apple-radius-sm:     8px;
  --apple-radius-md:     12px;
  --apple-radius-lg:     18px;
  --apple-radius-pill:   980px;

  --apple-shadow-xs:     0 1px 2px rgba(23,37,66,.06);
  --apple-shadow-sm:     0 1px 1px rgba(23,37,66,.04), 0 2px 4px rgba(23,37,66,.05);
  --apple-shadow-md:     0 2px 4px rgba(23,37,66,.06), 0 10px 20px rgba(23,37,66,.10), 0 20px 40px rgba(23,37,66,.07);
  --apple-shadow-lg:     0 10px 22px rgba(23,37,66,.12), 0 30px 64px rgba(23,37,66,.22);

  --apple-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
                "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --apple-font-mono: "SF Mono", ui-monospace, "Menlo", "Consolas", monospace;
}

/* ===== Typografia + base ===== */
body.theme-apple-minimal {
  font-family: var(--apple-font);
  background: var(--apple-bg) !important;
  color: var(--apple-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.01em;
}

.theme-apple-minimal h1 {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--apple-text);
}

.theme-apple-minimal h2 {
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--apple-text);
  margin-top: 0;
}

.theme-apple-minimal h3 {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--apple-text);
}

.theme-apple-minimal p,
.theme-apple-minimal li {
  color: var(--apple-text-secondary);
}

.theme-apple-minimal code {
  font-family: var(--apple-font-mono);
  font-size: 0.875em;
  background: var(--apple-bg);
  padding: 2px 6px;
  border-radius: 4px;
}

/* ===== Sekcje / karty ===== */
.theme-apple-minimal .state-panel,
.theme-apple-minimal section.bg-white {
  background: var(--apple-card) !important;
  border-radius: var(--apple-radius-md) !important;
  box-shadow: var(--apple-shadow-md) !important;
  border: none !important;
}

/* Fieldset jako osobna karta — kluczowe dla wizualnego oddzielania sekcji */
.theme-apple-minimal fieldset {
  background: var(--apple-card);
  border: none;
  border-radius: var(--apple-radius-md);
  padding: 24px 28px;
  margin: 0 0 16px 0;
  box-shadow: var(--apple-shadow-sm);
}

.theme-apple-minimal fieldset legend {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--apple-text-tertiary);
  padding: 0 0 6px 0;
  margin: 0 0 18px 0;
  width: 100%;
  border-bottom: 1px solid var(--apple-divider);
}

.theme-apple-minimal fieldset legend.flex {
  display: flex;
}

/* Kolor "NABYWCA" itp. jako subtitle */
.theme-apple-minimal fieldset > legend + * {
  margin-top: 0;
}

/* ===== Formularze ===== */
.theme-apple-minimal .form-label {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--apple-text-tertiary);
  margin-bottom: 6px;
}

.theme-apple-minimal .form-input,
.theme-apple-minimal input[type="text"],
.theme-apple-minimal input[type="number"],
.theme-apple-minimal input[type="date"],
.theme-apple-minimal input[type="email"],
.theme-apple-minimal input[type="password"],
.theme-apple-minimal input[type="search"],
.theme-apple-minimal select,
.theme-apple-minimal textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--apple-border);
  border-radius: var(--apple-radius-sm);
  background: var(--apple-card);
  font-size: 15px;
  color: var(--apple-text);
  line-height: 1.4;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  font-family: var(--apple-font);
}

.theme-apple-minimal .form-input:focus,
.theme-apple-minimal input:focus,
.theme-apple-minimal select:focus,
.theme-apple-minimal textarea:focus {
  outline: none;
  border-color: var(--apple-blue);
  box-shadow: 0 0 0 4px var(--apple-blue-light);
}

.theme-apple-minimal .field-missing {
  border-color: var(--apple-red) !important;
  background-color: rgba(210, 59, 52, 0.05) !important;
  box-shadow: 0 0 0 4px rgba(210, 59, 52, 0.10) !important;
}

.theme-apple-minimal .field-missing::placeholder {
  color: var(--apple-red);
}

.theme-apple-minimal .field-updated {
  border-color: var(--apple-green) !important;
  background-color: rgba(21, 127, 80, 0.08) !important;
}

/* ===== Buttony ===== */
/* Primary (bg-blue-600, bg-emerald-600) — pill Apple blue */
.theme-apple-minimal button.bg-blue-600,
.theme-apple-minimal button.bg-emerald-600,
.theme-apple-minimal .btn-primary {
  background: var(--apple-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--apple-radius-pill) !important;
  padding: 10px 22px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  transition: background-color 0.15s ease, transform 0.08s ease !important;
  cursor: pointer;
  box-shadow: none !important;
}

.theme-apple-minimal button.bg-blue-600:hover:not(:disabled),
.theme-apple-minimal button.bg-emerald-600:hover:not(:disabled) {
  background: var(--apple-blue-hover) !important;
}

.theme-apple-minimal button.bg-blue-600:active:not(:disabled),
.theme-apple-minimal button.bg-emerald-600:active:not(:disabled) {
  transform: scale(0.98);
}

/* Wyróżniony przycisk "Użyj tej oferty" — sygnalizuje rekomendowany wybór po porównaniu. */
.theme-apple-minimal .btn-primary.btn-primary-outline {
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25) !important;
}

.theme-apple-minimal button:disabled,
.theme-apple-minimal button.disabled\:bg-slate-300:disabled {
  background: var(--apple-border) !important;
  color: var(--apple-text-tertiary) !important;
  cursor: not-allowed;
}

/* Secondary button (bg-slate-100) — soft */
.theme-apple-minimal button.bg-slate-100,
.theme-apple-minimal button.bg-slate-200,
.theme-apple-minimal .btn-secondary {
  background: var(--apple-bg) !important;
  color: var(--apple-text) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--apple-radius-sm) !important;
  padding: 8px 16px !important;
  font-weight: 500 !important;
  transition: background-color 0.15s ease;
}

.theme-apple-minimal button.bg-slate-100:hover {
  background: var(--apple-divider) !important;
}

/* Etykieta "Dodaj ofertę z pliku" — duża karta, pill */
.theme-apple-minimal label[for="pdf-input"] {
  background: var(--apple-blue) !important;
  border-radius: var(--apple-radius-pill) !important;
  padding: 12px 24px !important;
  font-weight: 500;
}

/* Linki w headerach */
.theme-apple-minimal header a {
  color: var(--apple-text-secondary) !important;
  transition: color 0.15s ease;
  font-weight: 400;
}

.theme-apple-minimal header a:hover {
  color: var(--apple-blue) !important;
}

/* ===== Alerty ===== */
.theme-apple-minimal .alert {
  border-radius: var(--apple-radius-sm);
  padding: 12px 16px;
  font-size: 14px;
  border-width: 0;
  box-shadow: var(--apple-shadow-xs);
}

.theme-apple-minimal .alert-warning {
  background: rgba(185, 119, 0, 0.08);
  color: #7A4A00;
  border-left: 3px solid var(--apple-amber);
}
.theme-apple-minimal .alert-error {
  background: rgba(210, 59, 52, 0.08);
  color: #7A1A14;
  border-left: 3px solid var(--apple-red);
}
.theme-apple-minimal .alert-info {
  background: var(--apple-blue-light);
  color: #003A73;
  border-left: 3px solid var(--apple-blue);
}
.theme-apple-minimal .alert-success {
  background: rgba(21, 127, 80, 0.10);
  color: #0E5F26;
  border-left: 3px solid var(--apple-green);
}

/* ===== Tabele ===== */
.theme-apple-minimal table {
  font-size: 14px;
}

.theme-apple-minimal thead.bg-slate-100 {
  background: var(--apple-bg) !important;
}

.theme-apple-minimal thead th {
  font-weight: 600 !important;
  color: var(--apple-text-secondary) !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 12px 14px !important;
}

.theme-apple-minimal tbody td {
  padding: 12px 14px !important;
  border-top: 1px solid var(--apple-divider) !important;
  color: var(--apple-text) !important;
}

.theme-apple-minimal tbody tr:hover {
  background: var(--apple-bg-subtle) !important;
}

/* ===== Nawigacja/linki ===== */
.theme-apple-minimal a {
  color: var(--apple-blue);
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.theme-apple-minimal a:hover {
  opacity: 0.75;
}

/* ===== Radio cards (typ dokumentu) ===== */
.theme-apple-minimal label.doc-kind {
  background: var(--apple-card) !important;
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--apple-radius-md) !important;
  padding: 16px !important;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.theme-apple-minimal label.doc-kind:hover {
  background: var(--apple-bg-subtle) !important;
}

.theme-apple-minimal label.doc-kind.border-blue-500 {
  border-color: var(--apple-blue) !important;
  background: var(--apple-blue-light) !important;
}

.theme-apple-minimal .suggested-badge {
  background: var(--apple-blue) !important;
  color: #fff !important;
  border-radius: var(--apple-radius-pill) !important;
  padding: 3px 10px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

/* ===== Bannery (np. suggestion) ===== */
.theme-apple-minimal #suggestion-banner {
  background: var(--apple-blue-light) !important;
  border: 1px solid transparent !important;
  color: #003A73 !important;
  border-radius: var(--apple-radius-md) !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
}

/* ===== Badges w tabeli historii ===== */
.theme-apple-minimal [class*="bg-purple-100"] {
  background: rgba(124, 58, 237, 0.12) !important;
  color: #4A1F6B !important;
  border-radius: var(--apple-radius-pill) !important;
}
.theme-apple-minimal [class*="bg-fuchsia-100"] {
  background: rgba(219, 39, 119, 0.12) !important;
  color: #5A0C3A !important;
  border-radius: var(--apple-radius-pill) !important;
}
.theme-apple-minimal [class*="bg-blue-100"] {
  background: var(--apple-blue-light) !important;
  color: #003A73 !important;
  border-radius: var(--apple-radius-pill) !important;
}
.theme-apple-minimal [class*="bg-amber-100"] {
  background: rgba(185, 119, 0, 0.12) !important;
  color: #7A4A00 !important;
  border-radius: var(--apple-radius-pill) !important;
}
.theme-apple-minimal [class*="bg-emerald-100"] {
  background: rgba(21, 127, 80, 0.12) !important;
  color: #0E5F26 !important;
  border-radius: var(--apple-radius-pill) !important;
}

/* ===== Callouts (docs) ===== */
.theme-apple-minimal .callout {
  background: var(--apple-blue-light);
  border: none;
  border-left: 3px solid var(--apple-blue);
  border-radius: var(--apple-radius-sm);
  padding: 14px 18px;
}

/* ===== Paper-like panel (state-done green) ===== */
.theme-apple-minimal section#state-done.bg-emerald-50 {
  background: rgba(21, 127, 80, 0.08) !important;
  border: none !important;
  border-radius: var(--apple-radius-md) !important;
}

/* ===== PDF input label ===== */
.theme-apple-minimal #file-chosen {
  color: var(--apple-text-secondary) !important;
}

/* ============================================================================
   LOGIN — pełnoekranowy, wyśrodkowany, miękki gradient
   ============================================================================ */
body.theme-apple-minimal .login-wrap {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  background:
    radial-gradient(1100px 500px at 50% -10%, rgba(37, 99, 235, 0.06), transparent),
    radial-gradient(800px 400px at 100% 100%, rgba(124, 58, 237, 0.04), transparent),
    var(--apple-bg);
}

.theme-apple-minimal .login-card {
  width: 100%;
  max-width: 400px;
  background: var(--apple-card);
  border-radius: var(--apple-radius-lg);
  box-shadow: var(--apple-shadow-lg);
  padding: 40px 36px 32px;
  text-align: center;
}

.theme-apple-minimal .login-logo {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--apple-blue), #5856D6);
  color: #fff;
  font-size: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25);
}

.theme-apple-minimal .login-title {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--apple-text);
  margin: 0 0 6px;
}

.theme-apple-minimal .login-sub {
  font-size: 14px;
  color: var(--apple-text-secondary);
  margin: 0 0 28px;
}

.theme-apple-minimal .login-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-align: left;
}

.theme-apple-minimal .login-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.theme-apple-minimal .login-field > span {
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--apple-text-tertiary);
}

.theme-apple-minimal .login-field input {
  padding: 11px 14px;
  border-radius: var(--apple-radius-sm);
  border: 1px solid var(--apple-border);
  font-size: 15px;
  font-family: var(--apple-font);
  background: var(--apple-bg-subtle);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.theme-apple-minimal .login-field input:focus {
  outline: none;
  border-color: var(--apple-blue);
  box-shadow: 0 0 0 4px var(--apple-blue-light);
  background: var(--apple-card);
}

.theme-apple-minimal .login-error {
  background: rgba(210, 59, 52, 0.08);
  color: #7A1A14;
  border-left: 3px solid var(--apple-red);
  border-radius: var(--apple-radius-sm);
  padding: 10px 14px;
  font-size: 13px;
}

.theme-apple-minimal .login-btn {
  background: var(--apple-blue);
  color: #fff;
  border: none;
  border-radius: var(--apple-radius-pill);
  padding: 12px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.08s ease;
  margin-top: 8px;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.25);
}
.theme-apple-minimal .login-btn:hover:not(:disabled) { background: var(--apple-blue-hover); }
.theme-apple-minimal .login-btn:active:not(:disabled) { transform: scale(0.98); }
.theme-apple-minimal .login-btn:disabled {
  background: var(--apple-border);
  color: var(--apple-text-tertiary);
  cursor: not-allowed;
  box-shadow: none;
}

.theme-apple-minimal .login-forgot {
  background: transparent;
  border: none;
  color: var(--apple-blue);
  font-size: 13px;
  padding: 6px;
  cursor: pointer;
  font-family: var(--apple-font);
  transition: opacity 0.15s ease;
}
.theme-apple-minimal .login-forgot:hover { opacity: 0.7; }

.theme-apple-minimal .login-footer {
  font-size: 12px;
  color: var(--apple-text-tertiary);
  margin-top: 20px;
  text-align: center;
}

/* ============================================================================
   NAVBAR — top bar apple-style (sticky, backdrop blur jak macOS)
   ============================================================================ */
.theme-apple-minimal .app-navbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.theme-apple-minimal .app-navbar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.theme-apple-minimal .app-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 15px;
  color: var(--apple-text) !important;
  text-decoration: none;
}
.theme-apple-minimal .app-brand:hover { opacity: 1; }
.theme-apple-minimal .app-brand-icon {
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
}

.theme-apple-minimal .app-navbar-links {
  display: flex;
  align-items: center;
  gap: 4px;
}

.theme-apple-minimal .app-navbar-link {
  font-size: 13px;
  font-weight: 500;
  color: var(--apple-text-secondary) !important;
  padding: 6px 14px;
  border-radius: var(--apple-radius-pill);
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
  font-family: var(--apple-font);
}
.theme-apple-minimal .app-navbar-link:hover {
  background: var(--apple-bg) !important;
  color: var(--apple-text) !important;
  opacity: 1;
}
.theme-apple-minimal .app-navbar-link.active {
  background: var(--apple-text) !important;
  color: #fff !important;
}
.theme-apple-minimal .app-navbar-link.danger:hover {
  background: rgba(210, 59, 52, 0.10) !important;
  color: var(--apple-red) !important;
}

/* Hamburger — widoczny tylko na mobile */
.theme-apple-minimal .app-navbar-toggle {
  display: none;
  background: transparent;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: var(--apple-text) !important;
}
.theme-apple-minimal .app-navbar-toggle svg { width: 24px; height: 24px; }

@media (max-width: 720px) {
  .theme-apple-minimal .app-navbar-toggle { display: flex; }
  .theme-apple-minimal .app-navbar-links {
    position: absolute;
    top: 52px;
    right: 12px;
    left: 12px;
    background: var(--apple-card);
    border-radius: var(--apple-radius-md);
    box-shadow: var(--apple-shadow-lg);
    padding: 8px;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    display: none;
    border: 1px solid var(--apple-divider);
  }
  .theme-apple-minimal .app-navbar-links.open { display: flex; }
  .theme-apple-minimal .app-navbar-link {
    text-align: left;
    padding: 10px 14px;
    border-radius: var(--apple-radius-sm);
  }
  .theme-apple-minimal .app-hero-title { font-size: 28px; }
  .theme-apple-minimal .app-hero { margin: 28px 0; }
  .theme-apple-minimal .app-init-card { padding: 40px 20px !important; }
  .theme-apple-minimal .app-init-title { font-size: 22px; }
}

/* ============================================================================
   HERO section — tytuł strony + opis (pod navbarem)
   ============================================================================ */
.theme-apple-minimal .app-hero {
  text-align: center;
  margin: 48px 0 40px;
}

.theme-apple-minimal .app-hero-title {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--apple-text);
  margin: 0 0 12px;
  line-height: 1.1;
}

.theme-apple-minimal .app-hero-sub {
  font-size: 16px;
  line-height: 1.5;
  color: var(--apple-text-secondary);
  max-width: 620px;
  margin: 0 auto;
}

/* ============================================================================
   STATE-INIT: wielka karta startowa
   ============================================================================ */
.theme-apple-minimal .app-init-card {
  background: var(--apple-card) !important;
  border-radius: var(--apple-radius-lg) !important;
  box-shadow: var(--apple-shadow-md) !important;
  padding: 64px 40px !important;
  text-align: center;
  border: none !important;
}

.theme-apple-minimal .app-init-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto 20px;
  border-radius: 24px;
  background: var(--apple-blue-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--apple-blue);
}
.theme-apple-minimal .app-init-icon svg {
  width: 44px;
  height: 44px;
}

.theme-apple-minimal .app-init-title {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--apple-text) !important;
  margin: 0 0 10px;
}

.theme-apple-minimal .app-init-sub {
  font-size: 15px;
  color: var(--apple-text-secondary) !important;
  margin: 0 0 28px;
  line-height: 1.55;
}

.theme-apple-minimal .app-init-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--apple-blue) !important;
  color: #fff !important;
  border-radius: var(--apple-radius-pill) !important;
  padding: 12px 26px !important;
  font-weight: 500;
  font-size: 15px;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.08s ease;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.25);
}
.theme-apple-minimal .app-init-action:hover {
  background: var(--apple-blue-hover) !important;
}
.theme-apple-minimal .app-init-action:active {
  transform: scale(0.98);
}

.theme-apple-minimal .app-init-file {
  font-size: 13px;
  color: var(--apple-text-secondary) !important;
  margin: 16px 0 0;
}

.theme-apple-minimal .app-init-next {
  margin-top: 28px;
}
.theme-apple-minimal .app-init-next button {
  font-size: 15px;
}

/* ===== Modale (apple-minimal dialog) — zastępują native confirm/alert ===== */
.apple-modal {
  border: none;
  border-radius: var(--apple-radius-md);
  padding: 0;
  box-shadow: var(--apple-shadow-lg);
  background: var(--apple-card);
  max-width: 420px;
  width: 90vw;
  color: var(--apple-text);
  font-family: var(--apple-font);
  animation: apple-modal-in 0.18s cubic-bezier(.2,.8,.2,1);
}

.apple-modal::backdrop {
  background: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(2px);
}

.apple-modal-inner {
  padding: 24px 24px 20px;
}

.apple-modal-title {
  font-size: 17px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: var(--apple-text);
  letter-spacing: -0.01em;
}

.apple-modal-body {
  font-size: 14px;
  line-height: 1.5;
  color: var(--apple-text-secondary);
  margin-bottom: 20px;
}

.apple-modal-input {
  width: 100%;
  padding: 10px 14px;
  border-radius: var(--apple-radius-sm);
  border: 1px solid var(--apple-border);
  font-size: 15px;
  font-family: var(--apple-font);
  margin-bottom: 16px;
  box-sizing: border-box;
  background: var(--apple-bg-subtle);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.apple-modal-input:focus {
  outline: none;
  border-color: var(--apple-blue);
  box-shadow: 0 0 0 4px var(--apple-blue-light);
}

.apple-modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.apple-modal-btn {
  border: none;
  border-radius: var(--apple-radius-pill);
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.08s ease;
  font-family: var(--apple-font);
}

.apple-modal-btn.primary { background: var(--apple-blue); color: #fff; }
.apple-modal-btn.primary:hover { background: var(--apple-blue-hover); }
.apple-modal-btn.danger { background: var(--apple-red); color: #fff; }
.apple-modal-btn.danger:hover { background: #E63027; }
.apple-modal-btn.cancel {
  background: var(--apple-bg);
  color: var(--apple-text);
  border: 1px solid var(--apple-border);
}
.apple-modal-btn.cancel:hover { background: var(--apple-divider); }
.apple-modal-btn:active { transform: scale(0.97); }

@keyframes apple-modal-in {
  from { opacity: 0; transform: translateY(-8px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ===== Side-by-side compare view (oferta ↔ faktura) ===== */
.compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
@media (max-width: 960px) {
  .compare-grid { grid-template-columns: 1fr; }
}

.compare-panel {
  background: var(--apple-card);
  border-radius: var(--apple-radius-md);
  box-shadow: var(--apple-shadow-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 78vh;
  min-height: 500px;
}

.compare-panel-header {
  padding: 12px 16px;
  border-bottom: 1px solid var(--apple-divider);
  font-size: 13px;
  font-weight: 600;
  color: var(--apple-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.compare-panel-header .hint {
  font-size: 11px;
  color: var(--apple-text-tertiary);
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
}

.compare-panel iframe,
.compare-panel embed {
  flex: 1;
  width: 100%;
  border: none;
  background: var(--apple-bg-subtle);
}

/* Banner z duplikatami kontrahenta — u samej góry, widoczny */
.duplicates-banner {
  background: rgba(185, 119, 0, 0.10);
  border-left: 4px solid var(--apple-amber);
  border-radius: var(--apple-radius-md);
  padding: 14px 18px;
  margin-bottom: 16px;
  color: #7A4A00;
  font-size: 14px;
  line-height: 1.5;
}
.duplicates-banner strong { color: #5A3600; }
.duplicates-banner ul { margin: 8px 0 0 20px; padding: 0; font-size: 13px; }
.duplicates-banner li { margin: 2px 0; color: #7A4A00; }
.duplicates-banner .oldest-pill {
  display: inline-block;
  background: var(--apple-green);
  color: #fff;
  padding: 2px 10px;
  border-radius: var(--apple-radius-pill);
  font-size: 11px;
  font-weight: 500;
  margin-left: 6px;
}

/* Scrollbar polish na macOS — pokazuj tylko na hover */
@media (hover: hover) {
  .theme-apple-minimal ::-webkit-scrollbar { width: 10px; height: 10px; }
  .theme-apple-minimal ::-webkit-scrollbar-thumb { background: transparent; border-radius: 10px; }
  .theme-apple-minimal *:hover::-webkit-scrollbar-thumb { background: var(--apple-border); }
  .theme-apple-minimal ::-webkit-scrollbar-track { background: transparent; }
}


/* === weSEQ slate polish (dopasowanie do skorki panelu Slate) === */
body.theme-apple-minimal { font-feature-settings: "cv01","cv03","ss01","calt","kern"; }
.theme-apple-minimal .btn-primary {
  background: linear-gradient(180deg, #3f7bf2 0%, #2563eb 100%) !important;
  box-shadow: 0 1px 2px rgba(37,99,235,.30), 0 8px 18px rgba(37,99,235,.26), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.theme-apple-minimal .btn-primary:hover { background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important; }
.theme-apple-minimal *:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
