/* IT-BALON.CZ Podpora v557
   Sjednocení hlavního fakturačního workflow.
   Styl je omezený pouze na konkrétní admin stránky. */

:root{
  --itb557-bg:#edf4fb;
  --itb557-card:#fff;
  --itb557-line:#d5e3f2;
  --itb557-line-strong:#bfd4ea;
  --itb557-text:#081d3b;
  --itb557-muted:#607894;
  --itb557-blue:#0874f9;
  --itb557-cyan:#08aeea;
  --itb557-radius:22px;
  --itb557-shadow:0 16px 38px rgba(15,45,85,.075);
}

/* společný rámec pouze pro stránky fakturačního workflow */
body:is(
  .itb-admin-page-invoice_manual,
  .itb-admin-page-invoice_advance,
  .itb-admin-page-invoice_received,
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_contacts,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked,
  .itb-admin-page-invoice_year_end
) .client-portal-main{
  min-width:0!important;
  background:var(--itb557-bg)!important;
}

body:is(
  .itb-admin-page-invoice_manual,
  .itb-admin-page-invoice_advance,
  .itb-admin-page-invoice_received,
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_contacts,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked,
  .itb-admin-page-invoice_year_end
) :is(.client-card,.invoice-card-v704,.invoice-adv-card-v733,.rec-card-v738,.invoice-contacts-card-v732,.year-card-v735){
  border-color:var(--itb557-line)!important;
  box-shadow:var(--itb557-shadow)!important;
}

body:is(
  .itb-admin-page-invoice_manual,
  .itb-admin-page-invoice_advance,
  .itb-admin-page-invoice_received,
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_contacts,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked,
  .itb-admin-page-invoice_year_end
) :is(input,select,textarea){
  border-color:#c8daec!important;
  box-shadow:0 1px 0 rgba(8,29,59,.02)!important;
}
body:is(
  .itb-admin-page-invoice_manual,
  .itb-admin-page-invoice_advance,
  .itb-admin-page-invoice_received,
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_contacts,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked,
  .itb-admin-page-invoice_year_end
) :is(input,select,textarea):focus{
  border-color:#57a7ff!important;
  outline:3px solid rgba(8,116,249,.12)!important;
  outline-offset:0!important;
}

/* Hero – stejná výška, typografie a bezpečné zalamování */
body.itb-admin-page-invoice_manual .invoice-simple-hero-v704,
body.itb-admin-page-invoice_advance .invoice-adv-hero-v733,
body.itb-admin-page-invoice_received .rec-hero-v738,
body.itb-admin-page-invoice_bank_import .bank-import-hero-v743,
body.itb-admin-page-invoice_bank_import_log .bank-log-hero-v744,
body.itb-admin-page-invoice_contacts .invoice-contacts-hero-v732,
body.itb-admin-page-invoice_aging_report .aging-hero-v745,
body.itb-admin-page-invoice_reminder_queue .reminder-queue-hero-v748,
body.itb-admin-page-invoice_reminder_history .reminder-history-hero-v749,
body.itb-admin-page-invoice_year_end .year-hero-v735{
  min-height:220px!important;
  padding:42px 46px!important;
  border-radius:0 0 28px 28px!important;
  background:
    radial-gradient(circle at 92% 16%,rgba(51,163,255,.46),transparent 30%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 1px,transparent 1px 15px),
    linear-gradient(112deg,#061a38 0%,#075dcc 62%,#087cff 100%)!important;
}
body:is(
  .itb-admin-page-invoice_manual,
  .itb-admin-page-invoice_advance,
  .itb-admin-page-invoice_received,
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_contacts,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_year_end
) :is(
  .invoice-simple-hero-v704,
  .invoice-adv-hero-v733,
  .rec-hero-v738,
  .bank-import-hero-v743,
  .bank-log-hero-v744,
  .invoice-contacts-hero-v732,
  .aging-hero-v745,
  .reminder-queue-hero-v748,
  .reminder-history-hero-v749,
  .year-hero-v735
) h1{
  max-width:850px!important;
  font-size:clamp(34px,3vw,46px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
body:is(
  .itb-admin-page-invoice_manual,
  .itb-admin-page-invoice_advance,
  .itb-admin-page-invoice_received,
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_contacts,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_year_end
) :is(
  .invoice-simple-hero-v704,
  .invoice-adv-hero-v733,
  .rec-hero-v738,
  .bank-import-hero-v743,
  .bank-log-hero-v744,
  .invoice-contacts-hero-v732,
  .aging-hero-v745,
  .reminder-queue-hero-v748,
  .reminder-history-hero-v749,
  .year-hero-v735
) p{
  max-width:820px!important;
  font-size:15px!important;
  line-height:1.55!important;
}

/* Ruční faktura */
body.itb-admin-page-invoice_manual .invoice-form-page-v704{
  padding:26px 26px 48px!important;
}
body.itb-admin-page-invoice_manual .invoice-simple-hero-v704{
  margin:-26px -26px 24px!important;
}
body.itb-admin-page-invoice_manual .invoice-template-panel-v729{
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)!important;
  padding:22px!important;
}
body.itb-admin-page-invoice_manual .template-controls-v729{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
}
body.itb-admin-page-invoice_manual .items-table-v729{
  overflow-x:auto!important;
  padding-bottom:4px!important;
}
body.itb-admin-page-invoice_manual .items-row-v729{
  min-width:820px!important;
}
body.itb-admin-page-invoice_manual .invoice-form-v704>.form-grid-v704{
  padding:4px!important;
}
body.itb-admin-page-invoice_manual .form-actions-v704{
  position:sticky!important;
  bottom:14px!important;
  z-index:20!important;
  width:max-content!important;
  max-width:100%!important;
  margin:22px 0 0 auto!important;
  padding:9px!important;
  border:1px solid var(--itb557-line)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 14px 34px rgba(8,29,59,.14)!important;
  backdrop-filter:blur(12px)!important;
}

/* Zálohové + přijaté faktury + kontakty */
body.itb-admin-page-invoice_advance .invoice-adv-grid-v733,
body.itb-admin-page-invoice_received .rec-grid-v738,
body.itb-admin-page-invoice_contacts .invoice-contacts-grid-v732{
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.45fr)!important;
  gap:20px!important;
}
body.itb-admin-page-invoice_advance .invoice-adv-form-v733,
body.itb-admin-page-invoice_received .rec-form-v738,
body.itb-admin-page-invoice_contacts .contact-form-v732{
  gap:15px!important;
}
body.itb-admin-page-invoice_contacts .contact-list-v732{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body.itb-admin-page-invoice_contacts .contact-item-v732{
  min-width:0!important;
  grid-template-columns:auto minmax(0,1.1fr) minmax(160px,.9fr)!important;
  align-items:start!important;
  border:1px solid var(--itb557-line)!important;
  border-radius:18px!important;
  padding:16px!important;
  background:#fff!important;
}
body.itb-admin-page-invoice_contacts .contact-role-v732,
body.itb-admin-page-invoice_contacts .contact-row-actions-v732{
  grid-column:2/-1!important;
}
body.itb-admin-page-invoice_contacts .contact-row-actions-v732{
  justify-content:flex-start!important;
  padding-top:9px!important;
  border-top:1px solid #e7eef6!important;
}

/* Import plateb a log */
body.itb-admin-page-invoice_bank_import .bank-import-main-v743,
body.itb-admin-page-invoice_bank_import_log .bank-log-main-v744,
body.itb-admin-page-invoice_aging_report .aging-main-v745,
body.itb-admin-page-invoice_reminder_queue .reminder-queue-main-v748,
body.itb-admin-page-invoice_reminder_history .reminder-history-main-v749{
  padding:26px 26px 48px!important;
}
body.itb-admin-page-invoice_bank_import :is(.bank-import-hero-v743),
body.itb-admin-page-invoice_bank_import_log :is(.bank-log-hero-v744),
body.itb-admin-page-invoice_aging_report :is(.aging-hero-v745),
body.itb-admin-page-invoice_reminder_queue :is(.reminder-queue-hero-v748),
body.itb-admin-page-invoice_reminder_history :is(.reminder-history-hero-v749){
  margin:-26px -26px 24px!important;
}
body:is(
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked
) .client-table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
  overscroll-behavior-inline:contain!important;
  scrollbar-gutter:stable!important;
  border:1px solid #dce7f3!important;
  border-radius:17px!important;
  background:#fff!important;
}
body:is(
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked
) .client-table-wrap table{
  margin:0!important;
  border:0!important;
}
body:is(
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked
) .client-table-wrap thead th{
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  background:#edf5ff!important;
  box-shadow:inset 0 -1px 0 #cddff0!important;
}
body.itb-admin-page-invoice_bank_import .invoice-bank-import-table{min-width:980px!important}
body.itb-admin-page-invoice_bank_import_log .invoice-bank-log-table{min-width:1180px!important}
body.itb-admin-page-invoice_aging_report .invoice-aging-table{min-width:1160px!important}
body.itb-admin-page-invoice_reminder_queue .invoice-reminder-queue-table{min-width:1180px!important}
body.itb-admin-page-invoice_reminder_history .invoice-reminder-history-table{min-width:1120px!important}
body.itb-admin-page-invoice_reminder_blocked .invoice-blocked-reminders-table{min-width:1120px!important}

/* Pohledávky a upomínky – kompaktnější filtry a akce */
body:is(
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked
) :is(.aging-filter-card-v745,.reminder-filter-card-v748,.reminder-history-filter-card-v749,.client-card){
  min-width:0!important;
}
body:is(
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked
) form.grid{
  align-items:end!important;
}
body:is(
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked
) .aging-reminder-form{
  min-width:0!important;
}

/* Blokované upomínky – stránka jako jediná neměla vlastní hero */
body.itb-admin-page-invoice_reminder_blocked .client-portal-main{
  padding:26px 26px 48px!important;
}
body.itb-admin-page-invoice_reminder_blocked .invoice-hero-card{
  margin:-26px -26px 24px!important;
  min-height:220px!important;
  padding:42px 46px!important;
  border:0!important;
  border-radius:0 0 28px 28px!important;
  background:
    radial-gradient(circle at 92% 16%,rgba(51,163,255,.46),transparent 30%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 1px,transparent 1px 15px),
    linear-gradient(112deg,#061a38 0%,#075dcc 62%,#087cff 100%)!important;
  box-shadow:none!important;
  color:#fff!important;
}
body.itb-admin-page-invoice_reminder_blocked .invoice-hero-card :is(h1,h2,p,span,strong){color:#fff!important}
body.itb-admin-page-invoice_reminder_blocked .invoice-hero-card h1{
  margin:8px 0!important;
  font-size:clamp(34px,3vw,46px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
body.itb-admin-page-invoice_reminder_blocked .invoice-hero-card .client-card-head{
  border:0!important;
  padding:0!important;
  background:transparent!important;
}

/* Roční uzávěrka */
body.itb-admin-page-invoice_year_end .year-grid-v735{
  grid-template-columns:minmax(0,1.6fr) minmax(300px,.4fr)!important;
}
body.itb-admin-page-invoice_year_end .year-table-wrap-v735{
  overflow:auto!important;
  border:1px solid var(--itb557-line)!important;
  border-radius:18px!important;
}
body.itb-admin-page-invoice_year_end .year-table-wrap-v735 table{min-width:980px!important;margin:0!important}

/* Lepší stav prázdných tabulek a akční tlačítka */
body:is(
  .itb-admin-page-invoice_manual,
  .itb-admin-page-invoice_advance,
  .itb-admin-page-invoice_received,
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_contacts,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked,
  .itb-admin-page-invoice_year_end
) :is(.btn,button[type=submit]){
  min-height:40px!important;
}
body:is(
  .itb-admin-page-invoice_manual,
  .itb-admin-page-invoice_advance,
  .itb-admin-page-invoice_received,
  .itb-admin-page-invoice_bank_import,
  .itb-admin-page-invoice_bank_import_log,
  .itb-admin-page-invoice_contacts,
  .itb-admin-page-invoice_aging_report,
  .itb-admin-page-invoice_reminder_queue,
  .itb-admin-page-invoice_reminder_history,
  .itb-admin-page-invoice_reminder_blocked,
  .itb-admin-page-invoice_year_end
) :is(.empty,.empty-v732,.empty-state){
  padding:30px!important;
  border:1px dashed #bdd3e9!important;
  border-radius:18px!important;
  background:#f7fbff!important;
  color:var(--itb557-muted)!important;
  text-align:center!important;
}

@media(max-width:1250px){
  body.itb-admin-page-invoice_manual .invoice-template-panel-v729{
    grid-template-columns:1fr!important;
  }
  body.itb-admin-page-invoice_manual .template-controls-v729{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  body.itb-admin-page-invoice_manual .template-controls-v729 a{grid-column:1/-1!important}
  body.itb-admin-page-invoice_contacts .contact-list-v732{grid-template-columns:1fr!important}
}

@media(max-width:1050px){
  body.itb-admin-page-invoice_advance .invoice-adv-grid-v733,
  body.itb-admin-page-invoice_received .rec-grid-v738,
  body.itb-admin-page-invoice_contacts .invoice-contacts-grid-v732,
  body.itb-admin-page-invoice_year_end .year-grid-v735{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:900px){
  body.itb-admin-page-invoice_manual .invoice-form-page-v704,
  body.itb-admin-page-invoice_bank_import .bank-import-main-v743,
  body.itb-admin-page-invoice_bank_import_log .bank-log-main-v744,
  body.itb-admin-page-invoice_aging_report .aging-main-v745,
  body.itb-admin-page-invoice_reminder_queue .reminder-queue-main-v748,
  body.itb-admin-page-invoice_reminder_history .reminder-history-main-v749,
  body.itb-admin-page-invoice_reminder_blocked .client-portal-main{
    padding:0 10px 30px!important;
  }
  body.itb-admin-page-invoice_manual .invoice-simple-hero-v704,
  body.itb-admin-page-invoice_bank_import .bank-import-hero-v743,
  body.itb-admin-page-invoice_bank_import_log .bank-log-hero-v744,
  body.itb-admin-page-invoice_aging_report .aging-hero-v745,
  body.itb-admin-page-invoice_reminder_queue .reminder-queue-hero-v748,
  body.itb-admin-page-invoice_reminder_history .reminder-history-hero-v749,
  body.itb-admin-page-invoice_reminder_blocked .invoice-hero-card{
    margin:0 -10px 18px!important;
  }
  body.itb-admin-page-invoice_manual .invoice-simple-hero-v704,
  body.itb-admin-page-invoice_advance .invoice-adv-hero-v733,
  body.itb-admin-page-invoice_received .rec-hero-v738,
  body.itb-admin-page-invoice_bank_import .bank-import-hero-v743,
  body.itb-admin-page-invoice_bank_import_log .bank-log-hero-v744,
  body.itb-admin-page-invoice_contacts .invoice-contacts-hero-v732,
  body.itb-admin-page-invoice_aging_report .aging-hero-v745,
  body.itb-admin-page-invoice_reminder_queue .reminder-queue-hero-v748,
  body.itb-admin-page-invoice_reminder_history .reminder-history-hero-v749,
  body.itb-admin-page-invoice_reminder_blocked .invoice-hero-card,
  body.itb-admin-page-invoice_year_end .year-hero-v735{
    min-height:0!important;
    padding:28px 18px 30px!important;
    border-radius:0 0 22px 22px!important;
    display:block!important;
  }
  body:is(
    .itb-admin-page-invoice_advance,
    .itb-admin-page-invoice_received,
    .itb-admin-page-invoice_contacts,
    .itb-admin-page-invoice_year_end
  ) :is(.invoice-adv-hero-card-v733,.rec-hero-actions-v738,.invoice-contacts-hero-actions-v732,.year-hero-card-v735){
    width:100%!important;
    min-width:0!important;
    margin-top:18px!important;
    text-align:left!important;
  }
  body.itb-admin-page-invoice_manual .template-controls-v729{
    grid-template-columns:1fr!important;
  }
  body.itb-admin-page-invoice_manual .form-actions-v704{
    position:static!important;
    width:100%!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.itb-admin-page-invoice_contacts .contact-item-v732{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  body.itb-admin-page-invoice_contacts .contact-meta-v732,
  body.itb-admin-page-invoice_contacts .contact-role-v732,
  body.itb-admin-page-invoice_contacts .contact-row-actions-v732{
    grid-column:1/-1!important;
  }
}

@media(max-width:620px){
  body:is(
    .itb-admin-page-invoice_manual,
    .itb-admin-page-invoice_advance,
    .itb-admin-page-invoice_received,
    .itb-admin-page-invoice_bank_import,
    .itb-admin-page-invoice_bank_import_log,
    .itb-admin-page-invoice_contacts,
    .itb-admin-page-invoice_aging_report,
    .itb-admin-page-invoice_reminder_queue,
    .itb-admin-page-invoice_reminder_history,
    .itb-admin-page-invoice_reminder_blocked,
    .itb-admin-page-invoice_year_end
  ) :is(.client-card,.invoice-card-v704,.invoice-adv-card-v733,.rec-card-v738,.invoice-contacts-card-v732,.year-card-v735){
    padding:16px!important;
    border-radius:18px!important;
  }
  body.itb-admin-page-invoice_manual .items-card-v729{padding:14px!important}
  body.itb-admin-page-invoice_manual .items-row-v729{min-width:0!important;display:grid!important;grid-template-columns:1fr!important}
  body.itb-admin-page-invoice_manual .items-row-v729.head{display:none!important}
  body.itb-admin-page-invoice_manual .remove-item-v729{width:100%!important}
}
