/* Arrows – rychlé zhezkčení karet (v duchu Úschov) */

.cases { display: grid; gap: 12px; }

.case-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 5px;
  background: #fff;
  border: 1px solid #e6e8ef;
  border-radius: 14px;
  padding: 14px 16px;
}

.case-card.is-archived { opacity: .65; }

.case-title { display: flex; gap: 10px; align-items: baseline; }
.case-no { font-weight: 800; }
.case-ext { color: #334155; }

.case-meta { margin-top: 0px;  }

.info {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    font-size: 12px;
}
.dates {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.date-column {
    text-align: center;
}
.date-h {
    text-align: center;
}

.broker {
    font-weight: bold;
}
.chip {
  display: block;
  padding: 4px 8px;
  border-radius: 999px;
  
  font-size: 12px;
}
.cad {
    
    font-weight: bold;
}
.buy, .sel {
    padding-left: 2em;
}


.case-notes {
  margin-top: 10px;
  color: #0f172a;
  background: #f8fafc;
  border: 1px dashed #e2e8f0;
  border-radius: 12px;
  padding: 10px 12px;
}

.case-actions { display:flex; justify-content:flex-end; margin-bottom: 0px; }

.wf { display: grid; gap: 8px; }
.wf-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wf-label { font-size: 12px; color: #475569; }
.wf-date { font-size: 12px; color: #0f172a; font-weight: bold; padding-top: 5px; }

.wf-date.is-today {
    font-weight: 900;
    border-radius: 99px;
    background: #fff3cd;      /* jemná „pozor“ */
    border: 1px solid #ffe69c;
}

.btn {
  display: inline-block;
  padding: 8px 10px;
  border-radius: 10px;
  background: #328ADC ;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}
.btn:hover {
    background: #075985 ;
}

.btn--small { padding: 6px 9px; font-size: 12px; }
.btn--ghost { background: #0f172a; }
.btn-date { width: 70%; }

.toolbar { margin: 10px 0 14px; }

.arrows-page-actions {
  margin: -4px 0 14px;
}

.btn--icon {
  display: inline-flex;
  gap: 7px;
  align-items: center;
}

.btn-icon {
  line-height: 1;
}

.invoice { margin-top: 12px; font-size: 12px; color: #334155; }
.cash { text-align: right;}

/* inline edit */
.case-edit {
  grid-column: 1 / -1;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e6e8ef;
}

.arrows-ajax-loading {
  opacity: .72;
  position: relative;
}

.arrows-ajax-error,
.form-error {
  grid-column: 1 / -1;
  margin: 8px 0;
  padding: 9px 11px;
  border: 1px solid #fecaca;
  border-radius: 10px;
  background: #fef2f2;
  color: #991b1b;
  font-size: 13px;
  font-weight: 700;
}

.empty-state,
.billing-card {
  background: #fff;
  border: 1px solid #e6e8ef;
  border-radius: 14px;
  padding: 16px;
}

.muted {
  color: #64748b;
  font-size: 12px;
}

.billing-form {
  display: grid;
  gap: 14px;
}

.billing-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  justify-content: space-between;
}

.billing-invoice-input {
  display: grid;
  gap: 5px;
  min-width: 240px;
}

.text-input {
  width: 100%;
  box-sizing: border-box;
  padding: 9px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  font-size: 14px;
}

.billing-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.billing-table th,
.billing-table td {
  padding: 9px 8px;
  border-bottom: 1px solid #e6e8ef;
  vertical-align: top;
  text-align: left;
}

.billing-table th {
  background: #f8fafc;
  color: #334155;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.billing-table tr:hover td {
  background: #f8fafc;
}

.check-col {
  width: 34px;
  text-align: center !important;
}

.money {
  white-space: nowrap;
  text-align: right !important;
  font-weight: 800;
}

@media (max-width: 760px) {
  .billing-card {
    overflow-x: auto;
  }

  .billing-table {
    min-width: 820px;
  }
}

.bank-payment-history-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.bank-payment-history-head h2 {
  margin-bottom: 0;
}

.bank-payment-month-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.amount-positive {
  color: #166534;
}

.amount-negative {
  color: #991b1b;
}

@media (max-width: 640px) {
  .bank-payment-history-card {
    overflow-x: auto;
  }
}

/* Arrows: stav průběžného ukládání rozbaleného formuláře */
.arrows-autosave-status { margin-top: 8px; font-size: 12px; color: #166534; }
.arrows-autosave-status.is-error { color: #b91c1c; font-weight: 600; }

/* Jemné a krátké vizuální potvrzení úspěšného AJAX uložení v Arrows. */
form[data-arrows-inline-edit] {
  transition: background-color 250ms ease, box-shadow 250ms ease;
}
form[data-arrows-inline-edit].arrows-autosave-saved {
  background-color: rgba(34, 197, 94, 0.10);
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.14);
}
@media (prefers-reduced-motion: reduce) {
  form[data-arrows-inline-edit] { transition: none; }
}

/* Arrows 1.5.21: vizuálně jednotná a významově barevně odlišená lišta */
.arrows-top-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 16px; }
.arrows-top-actions .arrows-action {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:40px; box-sizing:border-box; padding:9px 15px;
  font-family:inherit; font-size:13px; font-weight:700; line-height:1.2;
  border:1px solid transparent; border-radius:10px; cursor:pointer;
  text-decoration:none; box-shadow:0 1px 2px rgba(15,23,42,.08);
  transition:background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.arrows-top-actions .arrows-action:focus-visible { outline:3px solid #93c5fd; outline-offset:2px; }
.arrows-top-actions .arrows-action--billing { background:#2563eb; border-color:#1d4ed8; color:#fff; }
.arrows-top-actions .arrows-action--billing:hover { background:#1d4ed8; color:#fff; }
.arrows-top-actions .arrows-action--archive { background:#f1f5f9; border-color:#cbd5e1; color:#334155; }
.arrows-top-actions .arrows-action--archive:hover { background:#e2e8f0; border-color:#94a3b8; color:#1e293b; }
.arrows-top-actions .arrows-action--new { background:#15803d; border-color:#166534; color:#fff; }
.arrows-top-actions .arrows-action--new:hover,
.arrows-top-actions .arrows-action--new[aria-expanded="true"] { background:#166534; color:#fff; }
.arrows-top-actions .arrows-action .arrows-action-icon {
  display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 20px; width:20px; height:20px;
  font-size:17px; line-height:1; font-weight:700;
}
.arrows-new-case-panel { margin:0 0 18px; background:#f8fafc; border:1px solid #dce7ef; border-radius:14px; padding:16px 18px; }
.arrows-new-case-panel[hidden] { display:none !important; }
.arrows-new-case-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.arrows-new-case-heading h2 { margin:0; font-size:18px; }
.arrows-close-panel { background:transparent; color:#64748b; border:0; font-size:26px; cursor:pointer; line-height:1; padding:4px 8px; }
.arrows-close-panel:hover { color:#0f172a; }
@media (max-width:640px) { .arrows-top-actions .arrows-action { flex:1 1 auto; } .arrows-new-case-panel { padding:12px; } }
@media (prefers-reduced-motion:reduce) { .arrows-top-actions .arrows-action { transition:none; } }
