/* ── modules/dekretacja/dekretacja.css ────────────────────────
   Schematy dekretacji Wn/Ma — klasyczne "konto T", wiele schematów
   na firmę (domyślne + własne). Prefiks klas: dk-
   ─────────────────────────────────────────────────────────── */

:root {
  --dk-brand:      #065f46;
  --dk-brand-mid:  #047857;
  --dk-brand-lite: #10b981;
  --dk-brand-pale: #ecfdf5;
  --dk-border:     #cbd5e1;
  --dk-border-strong: #94a3b8;
  --dk-card-bg:    #ffffff;
  --dk-card-head:  #f8fafc;
  --dk-text:       #0f172a;
  --dk-muted:      #64748b;
  --dk-r:          10px;
  --dk-t:          .16s ease;
}
.mod-main.dk--dark {
  --dk-border:     #334155;
  --dk-border-strong: #475569;
  --dk-card-bg:    #1e293b;
  --dk-card-head:  #162032;
  --dk-text:       #e2e8f0;
  --dk-muted:      #94a3b8;
  --dk-brand-pale: #0d2b22;
}

body.mod-main {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  color: var(--dk-text);
}

/* ── Odznaka aktywnej firmy ── */
.dk-company-badge {
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 12px; border-radius: 20px;
  background: color-mix(in srgb, var(--dk-brand) 12%, var(--dk-card-bg));
  border: 1.5px solid color-mix(in srgb, var(--dk-brand) 30%, var(--dk-border));
  color: var(--dk-brand-mid); font-size: .8rem; font-weight: 700; white-space: nowrap;
}
.dk--dark .dk-company-badge { color: var(--dk-brand-lite); }
.dk-company-badge:empty { display: none; }

/* ── Notka info (żółta, spójna z modułem e-mail/kontrahenci) ── */
.dk-info-note { display: flex; align-items: stretch; background: #fef9e7; border: 1px solid #f3dfa1; border-radius: var(--dk-r); overflow: hidden; }
.dk--dark .dk-info-note { background: #3a2f0f; border-color: #5c4a1a; }
.dk-info-note-icon { flex-shrink: 0; width: 34px; display: flex; align-items: center; justify-content: center; background: #f5cf5c; color: #6b4e00; }
.dk-info-note-icon svg { width: 17px; height: 17px; }
.dk--dark .dk-info-note-icon { background: #8a6d1f; color: #fef3c7; }
.dk-info-note-text { flex: 1; font-size: .82rem; color: var(--dk-muted); line-height: 1.55; padding: 10px 14px; }
.dk-info-note-close { flex-shrink: 0; align-self: flex-start; background: transparent; border: none; color: #a88a2e; font-size: .95rem; padding: 10px 12px; }
.dk-info-note-close:hover { color: #6b4e00; }
.dk--dark .dk-info-note-close { color: #c9a94a; }
.dk--dark .dk-info-note-close:hover { color: #fef3c7; }
.dk-notice { position: relative; margin-bottom: 6px; }
.dk-info-restore {
  display: none; align-items: center; justify-content: center; width: 26px; height: 26px;
  border-radius: 50%; background: #f5cf5c; color: #6b4e00; border: none; transition: background var(--dk-t), transform var(--dk-t);
}
.dk-info-restore:hover { background: #f0c23e; transform: scale(1.08); }
.dk-info-restore svg { width: 14px; height: 14px; }
.dk--dark .dk-info-restore { background: #8a6d1f; color: #fef3c7; }
.dk-notice--dismissed .dk-info-note { display: none; }
.dk-notice--dismissed .dk-info-restore { display: inline-flex; }

/* ── Layout dwóch kolumn (Sprzedaż / Zakup) ── */
.dk-t-wrap { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 6px; align-items: flex-start; }
.dk-t-col-outer { flex: 1 1 150px; min-width: 140px; display: flex; flex-direction: column; gap: 10px; }
.dk-col-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.dk-t-title { font-size: .92rem; font-weight: 800; color: var(--dk-text); }
.dk-t-list { display: flex; flex-direction: column; gap: 10px; }

/* ── Karta schematu (nagłówek: nazwa + odznaka + akcje) ── */
.dk-t-block { }
.dk-t-card-head {
  display: flex; align-items: center; gap: 6px; padding: 6px 10px; flex-wrap: wrap;
  background: var(--dk-card-head); border: 2px solid var(--dk-border-strong); border-bottom: none;
  border-radius: var(--dk-r) var(--dk-r) 0 0;
}
.dk-t-card-name { font-weight: 700; font-size: .8rem; color: var(--dk-text); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dk-badge-default {
  font-size: .64rem; font-weight: 800; padding: 1px 8px; border-radius: 20px;
  background: var(--dk-brand-pale); color: var(--dk-brand-mid); white-space: nowrap;
}
.dk-t-card-actions { display: flex; gap: 4px; }
.dk-icon-btn {
  background: var(--dk-card-bg); border: 1.5px solid var(--dk-border-strong); color: var(--dk-text);
  font-size: .82rem; font-weight: 700;
  width: 24px; height: 24px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center;
  transition: background var(--dk-t), color var(--dk-t), border-color var(--dk-t), transform var(--dk-t);
}
.dk-icon-btn:hover { transform: translateY(-1px); }
.dk-icon-btn:active { transform: translateY(0); }

/* Edytuj — akcent marki, zawsze widoczny */
.dk-icon-btn[data-act="edit"] {
  background: var(--dk-brand-pale); border-color: var(--dk-brand); color: var(--dk-brand-mid);
}
.dk-icon-btn[data-act="edit"]:hover { background: var(--dk-brand); color: #fff; }

/* Zapisz — zielony, wyraźny */
.dk-icon-btn--save {
  background: var(--dk-brand); border-color: var(--dk-brand); color: #fff;
}
.dk-icon-btn--save:hover { background: var(--dk-brand-mid); }

/* Anuluj — neutralny, ale nadal wyraźnie obramowany */
.dk-icon-btn--cancel {
  background: var(--dk-card-bg); border-color: var(--dk-border-strong); color: var(--dk-muted);
}
.dk-icon-btn--cancel:hover { border-color: var(--dk-muted); color: var(--dk-text); }

/* Usuń — czerwony akcent zawsze widoczny (nie tylko po najechaniu) */
.dk-icon-btn--danger {
  background: #fef2f2; border-color: #fca5a5; color: #b91c1c;
}
.dk-icon-btn--danger:hover { background: #dc2626; border-color: #dc2626; color: #fff; }
.dk--dark .dk-icon-btn--danger { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.45); color: #fca5a5; }
.dk--dark .dk-icon-btn--danger:hover { background: #dc2626; border-color: #dc2626; color: #fff; }
.dk--dark .dk-icon-btn[data-act="edit"] { background: rgba(16,185,129,.12); border-color: var(--dk-brand-lite); color: var(--dk-brand-lite); }
.dk--dark .dk-icon-btn[data-act="edit"]:hover { background: var(--dk-brand-lite); color: #05231b; }

/* Karta ma płaski górny róg pod nagłówkiem (jedna spójna bryła) */
.dk-t-block .dk-t { border-radius: 0 0 var(--dk-r) var(--dk-r); }

/* ── Konto T ── */
.dk-t {
  background: var(--dk-card-bg);
  border: 2px solid var(--dk-border-strong);
  border-radius: var(--dk-r);
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(15,23,42,.06);
}
.dk-t-head { display: flex; }
.dk-t-head-cell {
  flex: 1; text-align: center; font-weight: 800; font-size: .78rem; letter-spacing: .05em;
  padding: 6px 8px; color: var(--dk-brand-mid); background: var(--dk-brand-pale);
}
.dk-t-head-cell:first-child { border-right: 2px solid var(--dk-border-strong); }
.dk-t-body { display: flex; border-top: 2px solid var(--dk-border-strong); min-height: 76px; }
.dk-t-col { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 10px; min-width: 0; }
.dk-t-col--left { border-right: 2px solid var(--dk-border-strong); }
.dk-t-row { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.dk-t-lbl { font-size: .74rem; font-weight: 600; color: var(--dk-muted); white-space: nowrap; }
.dk-t-acc {
  width: 100%; max-width: 100px; min-width: 44px; padding: 5px 6px; text-align: center;
  font-family: 'Menlo','Consolas',monospace; font-size: .76rem; font-weight: 700;
  color: var(--dk-brand-mid); background: var(--dk-brand-pale);
  border: 1.5px solid color-mix(in srgb, var(--dk-brand) 25%, var(--dk-border));
  border-radius: 16px; outline: none; transition: border-color var(--dk-t), background var(--dk-t);
}
.dk-t-acc:focus { border-color: var(--dk-brand-lite); background: var(--dk-card-bg); }
.dk-t-acc::placeholder { color: color-mix(in srgb, var(--dk-brand-mid) 40%, transparent); font-weight: 400; }
.dk-t-acc[readonly] { cursor: default; }

/* ── Tryb edycji: wyraźniejsza, "aktywna" ramka na polach kont ── */
.dk-t-acc:not([readonly]) {
  background: var(--dk-card-bg);
  border-color: var(--dk-brand-lite);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dk-brand-lite) 18%, transparent);
}

/* ── Przyciski / alert ── */
.dk-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 8px;
  border: none; background: var(--dk-brand); color: #fff; font-size: .85rem; font-weight: 700;
  transition: background var(--dk-t);
}
.dk-btn:hover { background: var(--dk-brand-mid); }
.dk-btn--ghost { background: transparent; border: 1.5px solid var(--dk-border); color: var(--dk-text); }
.dk-btn--ghost:hover { border-color: var(--dk-brand-lite); color: var(--dk-brand-mid); background: var(--dk-brand-pale); }
.dk-btn--sm { padding: 5px 12px; font-size: .78rem; }
.dk-alert {
  margin-top: 14px; padding: 10px 14px; border-radius: var(--dk-r); font-size: .84rem; font-weight: 600;
}
.dk-alert--ok  { background: #dcfce7; color: #15803d; border: 1px solid #86efac; }
.dk-alert--err { background: #fef2f2; color: #b91c1c; border: 1px solid #fca5a5; }
.dk--dark .dk-alert--ok  { background: rgba(34,197,94,.15); color: #86efac; border-color: rgba(34,197,94,.35); }
.dk--dark .dk-alert--err { background: rgba(239,68,68,.15); color: #fca5a5; border-color: rgba(239,68,68,.35); }

/* ── Modal: nowy schemat ── */
.dk-modal-overlay {
  position: fixed; inset: 0; background: rgba(15,23,42,.5); display: flex;
  align-items: center; justify-content: center; z-index: 900; padding: 20px;
}
.dk-modal { background: var(--dk-card-bg); border-radius: 12px; width: 100%; max-width: 460px; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.dk-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--dk-border); }
.dk-modal-title { font-weight: 700; font-size: .92rem; color: var(--dk-text); }
.dk-modal-x { background: transparent; border: none; font-size: 1.1rem; color: var(--dk-muted); }
.dk-modal-body { padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.dk-modal-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 18px; border-top: 1px solid var(--dk-border); }
.dk-field { display: flex; flex-direction: column; gap: 5px; }
.dk-field-lbl { font-size: .78rem; font-weight: 600; color: var(--dk-muted); }
.dk-field-inp {
  padding: 8px 11px; border: 1.5px solid var(--dk-border-strong); border-radius: 7px;
  background: var(--dk-card-bg); color: var(--dk-text); font-size: .85rem; outline: none;
}
.dk-field-inp:focus { border-color: var(--dk-brand-lite); }
.dk-new-hint { font-size: .78rem; color: var(--dk-brand-mid); margin: -4px 0 -6px; }
.dk-req { color: #dc2626; }
.dk-new-t-preview .dk-t-body { min-height: 84px; }
.dk-new-t-preview .dk-t-acc { max-width: 90px; }

@media (max-width: 320px) {
  .dk-t-wrap { flex-direction: column; }
}
