/* K-Line · Ultra · sjednocení vzhledu panelu Tržiště, Komunikace a Kalendáře.
 * Pouze styl pro data-theme="ultra-blue"; žádná změna geometrie ani logiky.
 * Načítá se ZA ultra-blue.css, aby jiné motivy a picker menu zůstaly nedotčené.
 */

html[data-theme="ultra-blue"] {
  --um-market-face: linear-gradient(152deg,
    rgba(13, 20, 29, .78) 0%,
    rgba(8, 13, 21, .80) 57%,
    rgba(11, 17, 25, .78) 100%);
  --um-market-border: rgba(138, 164, 191, .18);
  --um-market-shadow:
    0 19px 46px rgba(0, 0, 0, .30),
    0 0 0 1px rgba(255, 255, 255, .016),
    inset 0 1px 0 rgba(255, 255, 255, .035);
  --um-edge-glow:
    0 0 0 1px rgba(117, 199, 255, .34),
    0 0 15px rgba(64, 158, 247, .27),
    0 0 27px rgba(34, 122, 228, .13),
    0 12px 28px rgba(0, 8, 24, .21),
    inset 0 1px 0 rgba(232, 247, 255, .09);
}

/* Komunikace: společný velký rám a obě jeho části mají stejný matný
 * dvoubarevný panel jako Tržiště / Doporučené náklady. */
html[data-theme="ultra-blue"] .messages-layout.messages-layout {
  border-color: var(--um-market-border) !important;
  background: var(--um-market-face) !important;
  box-shadow: var(--um-market-shadow) !important;
  backdrop-filter: blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
}
html[data-theme="ultra-blue"] .messages-layout > :is(.conversation-list, .chat-pane) {
  background: linear-gradient(165deg,
    rgba(21, 48, 78, .34),
    rgba(11, 27, 47, .25) 58%,
    rgba(9, 23, 41, .36)) !important;
  box-shadow: inset 0 1px 0 rgba(230, 245, 255, .045) !important;
  backdrop-filter: blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
}
html[data-theme="ultra-blue"] .messages-layout > .conversation-list {
  border-right-color: var(--um-market-border) !important;
}
html[data-theme="ultra-blue"] .messages-layout :is(
  .conversation-list-head,
  .chat-pane-head,
  .chat-context-selector,
  .chat-compose-context,
  .chat-compose
) {
  background: linear-gradient(180deg,
    rgba(28, 60, 95, .24), rgba(12, 29, 49, .20)) !important;
  border-color: rgba(115, 174, 231, .17) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
}
html[data-theme="ultra-blue"] .messages-layout .chat-stream {
  background-color: transparent !important;
  /* Nezasahovat do zvolené tapety chatu: mění se jen výchozí barva. */
}

/* Kalendář: jeho velké a vnořené panely mají totožný povrch jako Tržiště.
 * Žádné změny mřížky dne/týdne/měsíce, scrollu nebo pozic prvků. */
html[data-theme="ultra-blue"] .calendar-page :is(
  .calendar-hero-card,
  .calendar-main-card,
  .calendar-side-card,
  .calendar-settings-card,
  .calendar-search-card,
  .calendar-detail-card,
  .calendar-editor-card,
  .calendar-upcoming-card,
  .calendar-kira-card
) {
  border-color: var(--um-market-border) !important;
  background: var(--um-market-face) !important;
  box-shadow: var(--um-market-shadow) !important;
  backdrop-filter: blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

/* Světle modrá záře okolo CELÉHO řádku s městy, nikoli modrý rámeček
 * kolem textu města. Posun řádku ze stávajícího CSS zůstává nedotčen. */
html[data-theme="ultra-blue"] .dashboard-rich-market .load-row:is(:hover, :focus-visible) {
  border-color: rgba(119, 198, 252, .64) !important;
  background: linear-gradient(105deg,
    rgba(35, 91, 151, .42),
    rgba(17, 50, 91, .35) 62%,
    rgba(13, 35, 64, .36)) !important;
  box-shadow: var(--um-edge-glow) !important;
}

/* Stejná záře kolem položek levého navigačního menu.
 * Není to změna zvoleného motivu ani funkce navigace. */
html[data-theme="ultra-blue"] body .sidebar .nav-list .nav-item:is(:hover, :focus-visible) {
  border-color: rgba(119, 198, 252, .42) !important;
  background: linear-gradient(92deg,
    rgba(31, 87, 155, .53),
    rgba(13, 49, 95, .35) 68%,
    rgba(9, 33, 66, .24)) !important;
  box-shadow: var(--um-edge-glow) !important;
}

/* Stín se objeví i u velkých oken Kalendáře, ne však trvale. */
html[data-theme="ultra-blue"] .calendar-page :is(
  .calendar-hero-card,
  .calendar-main-card,
  .calendar-side-card,
  .calendar-settings-card,
  .calendar-search-card,
  .calendar-detail-card,
  .calendar-editor-card,
  .calendar-upcoming-card,
  .calendar-kira-card
):hover {
  border-color: rgba(119, 198, 252, .48) !important;
  box-shadow:
    var(--um-market-shadow),
    0 0 0 1px rgba(117, 199, 255, .26),
    0 0 18px rgba(64, 158, 247, .21),
    0 0 30px rgba(34, 122, 228, .11) !important;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="ultra-blue"] .calendar-page :is(
    .calendar-hero-card, .calendar-main-card, .calendar-side-card,
    .calendar-settings-card, .calendar-search-card, .calendar-detail-card,
    .calendar-editor-card, .calendar-upcoming-card, .calendar-kira-card
  ) { transition: none; }
}


/* Nové informační řádky jsou použitelné i v ostatních motivech.
 * Stávající velká okna, rozměry a rozložení kalendáře neměníme. */
.calendar-page .calendar-upcoming-list .calendar-upcoming-item { cursor: pointer; }
.calendar-page .calendar-upcoming-list .calendar-upcoming-item:focus-visible {
  outline: 2px solid var(--cal-accent, var(--accent, #55aaff));
  outline-offset: 2px;
}
.calendar-page .calendar-upcoming-occasions {
  display: grid;
  gap: 7px;
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--cal-border, var(--border));
}
.calendar-page .calendar-upcoming-occasion {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--cal-border, var(--border));
  border-radius: 12px;
  background: var(--cal-surface-2, var(--panel-alt));
  color: var(--cal-text, var(--text));
  text-align: left;
  font: inherit;
}
.calendar-page .calendar-upcoming-occasion span { display: grid; gap: 2px; }
.calendar-page .calendar-upcoming-occasion strong { font-size: .79rem; }
.calendar-page .calendar-upcoming-occasion small { color: var(--cal-muted, var(--muted)); font-size: .70rem; }
.calendar-page button.calendar-upcoming-occasion { cursor: pointer; }

/* Ultra · Kalendář: světlomodré okrajové stíny pro skutečné záznamy. */
html[data-theme="ultra-blue"] :is(
  .calendar-upcoming-list .calendar-upcoming-item,
  .calendar-detail-events .calendar-detail-event,
  .calendar-overview-row,
  .calendar-upcoming-holiday
) {
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
html[data-theme="ultra-blue"] .calendar-upcoming-list .calendar-upcoming-item {
  cursor: pointer;
}
html[data-theme="ultra-blue"] :is(
  .calendar-upcoming-list .calendar-upcoming-item,
  .calendar-detail-events .calendar-detail-event,
  .calendar-overview-row,
  .calendar-upcoming-holiday
):is(:hover, :focus-visible, :focus-within) {
  border-color: rgba(118, 200, 255, .61) !important;
  background: linear-gradient(110deg,
    rgba(33, 88, 151, .40), rgba(17, 49, 86, .33) 66%, rgba(13, 37, 69, .33)) !important;
  box-shadow: var(--um-edge-glow) !important;
}
html[data-theme="ultra-blue"] .calendar-upcoming-list .calendar-upcoming-item:focus-visible {
  outline: 2px solid rgba(124, 207, 255, .70);
  outline-offset: 2px;
}
/* Nenarušovat tlačítka Upravit, Odstranit a otevření faktury v detailu dne. */
html[data-theme="ultra-blue"] .calendar-upcoming-occasions {
  display: grid;
  gap: 7px;
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid rgba(113, 175, 227, .15);
}
html[data-theme="ultra-blue"] .calendar-upcoming-occasion {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(110, 168, 221, .15);
  border-radius: 12px;
  background: linear-gradient(105deg, rgba(22, 50, 83, .31), rgba(12, 31, 53, .27));
  color: var(--cal-text, #e4f2ff);
  text-align: left;
  font: inherit;
}
html[data-theme="ultra-blue"] .calendar-upcoming-occasion span { display: grid; gap: 2px; }
html[data-theme="ultra-blue"] .calendar-upcoming-occasion strong { font-size: .79rem; }
html[data-theme="ultra-blue"] .calendar-upcoming-occasion small { color: var(--cal-muted, #a8bfd4); font-size: .7rem; }
html[data-theme="ultra-blue"] button.calendar-upcoming-occasion { cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
  html[data-theme="ultra-blue"] :is(.calendar-upcoming-item, .calendar-detail-event, .calendar-overview-row, .calendar-upcoming-holiday) {
    transition: none;
  }
}

/* 2026-10-09 · Karty přeprav: dva kompaktní kruhové obrysové odznaky.
   Odznak TOP, pořadí odznaků i rozměry všech řádků karty zůstávají beze změny.
   Pravidla platí výhradně pro režim karet, nikoli pro řádkový režim. */
html[data-record-layout="cards"] .record-card-grid > .kline-card-aligned .kline-card-corner-badges {
  gap: 5px;
}
/* Více přeprav / vozidel: dvojice vozidel + zachovaný počet v zeleném kruhu. */
html[data-record-layout="cards"] .record-card-grid > .kline-card-aligned .kline-card-corner-badges .kline-required-vehicle-chip {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 12px 9px;
  place-items: center;
  align-content: center;
  gap: 0;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  min-width: 29px;
  padding: 2px 0 1px;
  margin: 1px 0 0;
  border: 1.5px solid rgba(70, 230, 161, .88);
  border-radius: 50%;
  background: rgba(10, 79, 52, .12);
  color: #6bf0b2;
  box-shadow: 0 0 0 1px rgba(32, 185, 125, .10),
              0 0 11px rgba(24, 193, 130, .17),
              inset 0 1px 0 rgba(207, 255, 226, .11);
}
html[data-record-layout="cards"] .record-card-grid > .kline-card-aligned .kline-card-corner-badges .kline-required-vehicle-chip svg {
  box-sizing: border-box;
  display: block;
  width: 22px;
  height: 11px;
  max-width: 22px;
  flex: none;
  stroke: currentColor;
}
html[data-record-layout="cards"] .record-card-grid > .kline-card-aligned .kline-card-corner-badges .kline-required-vehicle-chip b {
  display: block;
  min-width: 0;
  font-size: 9px;
  line-height: 9px;
  font-weight: 900;
  color: #b7ffda;
  text-align: center;
}
/* Více míst nakládky/vykládky: stávající oranžový symbol v obrysovém kruhu. */
html[data-record-layout="cards"] .record-card-grid > .kline-card-aligned .kline-card-corner-badges .multi-stop-card-badge,
html[data-record-layout="cards"][data-record-card-size="dense"] .record-card-grid .kline-card-aligned .kline-card-corner-badges .multi-stop-card-badge,
html[data-record-layout="cards"][data-record-card-size="compact"] .record-card-grid .kline-card-aligned .kline-card-corner-badges .multi-stop-card-badge {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  padding: 0;
  margin: 1px 0 0;
  border: 1.5px solid rgba(255, 163, 52, .84);
  border-radius: 50%;
  background: rgba(112, 60, 8, .09);
  box-shadow: 0 0 0 1px rgba(235, 114, 16, .07),
              0 0 11px rgba(249, 128, 21, .18),
              inset 0 1px 0 rgba(255, 231, 177, .13);
  filter: none;
  transform: none;
}
html[data-record-layout="cards"] .record-card-grid > .kline-card-aligned .kline-card-corner-badges .multi-stop-card-badge img {
  display: block;
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: drop-shadow(0 0 3px rgba(255, 144, 33, .35));
}
html[data-record-layout="cards"] .record-card-grid > .kline-card-aligned .kline-card-corner-badges .multi-stop-card-badge i {
  inset: 4px;
}
/* Ponechat oddělené obrysy a nepřevádět odznaky do toku textu. */


/* 2026-10-09 | detail nad TOP/Zvýrazněním u vlastních karet nákladu.
   Pouze režim karet s promo řádkem a 3 akcemi Kopírovat/Upravit/Odstranit.
   Zachovává pevnou výšku, údaje, pozice odznaků i klikací akce.
   Tři stávající spodní úrovně: Detail / promo / správa. */
@media (min-width: 801px) {
  html[data-record-layout="cards"] .record-card-grid > .offer-card.kline-card-aligned:has(> .marketplace-promotion-actions):has(> .card-actions > .transport-load-copy-button) > .marketplace-promotion-actions {
    bottom: 47px;
  }
  html[data-record-layout="cards"] .record-card-grid > .offer-card.kline-card-aligned:has(> .marketplace-promotion-actions) > .card-actions:has(> .transport-load-copy-button) {
    display: grid;
    grid-template-columns: 34px minmax(0, 1.15fr) minmax(0, .84fr);
    grid-template-rows: 31px;
    align-content: center;
    height: 31px;
    min-height: 31px;
    max-height: 31px;
    overflow: visible;
  }
  html[data-record-layout="cards"] .record-card-grid > .offer-card.kline-card-aligned:has(> .marketplace-promotion-actions) > .card-actions:has(> .transport-load-copy-button) > [data-action="load-detail"] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 87px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 31px;
    min-height: 31px;
    max-height: 31px;
    grid-column: auto;
    grid-row: auto;
    margin: 0;
  }
}


/* Ultra · Kira: dva oddělené odstíny pro malý LIVE chat a velký boční panel.
 * Pouze pozadí / průhlednost / rozmazání; rozmístění a bubliny zpráv se nemění. */
html[data-theme="ultra-blue"] .dock-chat.ai-support-chat:not(.kira-side-chat) {
  background:
    radial-gradient(ellipse at 84% 12%, rgba(43, 126, 220, .17), transparent 56%),
    linear-gradient(160deg, rgba(11, 35, 69, .67), rgba(7, 23, 49, .61) 62%, rgba(8, 26, 54, .63)) !important;
  backdrop-filter: blur(18px) saturate(123%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(123%) !important;
}
html[data-theme="ultra-blue"] .dock-chat.ai-support-chat:not(.kira-side-chat) .dock-messages {
  background: linear-gradient(160deg, rgba(18, 56, 100, .13), rgba(6, 21, 45, .10)) !important;
}

/* Boční Kira je tmavší než malý chat, ale průhlednější; okolní obsah
 * se zjemní přes backdrop-filter, nikoli změnou jeho geometrie. */
html[data-theme="ultra-blue"] .kira-side-drawer.kira-side-drawer {
  background:
    radial-gradient(ellipse at 90% 3%, rgba(38, 77, 120, .065), transparent 48%),
    linear-gradient(172deg, rgba(3, 7, 12, .62), rgba(4, 8, 15, .56) 56%, rgba(3, 7, 13, .64)) !important;
  backdrop-filter: blur(27px) saturate(112%) !important;
  -webkit-backdrop-filter: blur(27px) saturate(112%) !important;
}
html[data-theme="ultra-blue"] .kira-side-drawer .kira-side-chat.dock-chat {
  background: transparent !important;
}
html[data-theme="ultra-blue"] .kira-side-drawer :is(.kira-side-drawer-content, .kira-side-drawer-head) {
  background: rgba(3, 7, 14, .08) !important;
}
html[data-theme="ultra-blue"] .kira-side-drawer .kira-side-compose.dock-compose {
  background: linear-gradient(180deg, rgba(6, 11, 19, .24), rgba(4, 8, 15, .38)) !important;
  backdrop-filter: blur(20px) saturate(110%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(110%) !important;
}
