/* Bombex Tracker – doplňky k Bootstrap 5.3 */
:root{
  --bx-navy:#1b3556;--bx-navy-dark:#0f1d33;--bx-red:#ff1a4b;
  --bs-link-color:#1b3556;--bs-link-hover-color:#122640;
  --bs-link-color-rgb:27,53,86;--bs-link-hover-color-rgb:18,38,64;
  --bs-body-bg:#f4f6f9;--bs-body-color:#1f2937;
  --bs-font-sans-serif:"Inter","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
body{font-size:.9rem}
.btn-primary{--bs-btn-bg:#1b3556;--bs-btn-border-color:#1b3556;--bs-btn-hover-bg:#152a45;--bs-btn-hover-border-color:#152a45;--bs-btn-active-bg:#122640;--bs-btn-active-border-color:#122640;--bs-btn-disabled-bg:#1b3556;--bs-btn-disabled-border-color:#1b3556}
.btn-outline-primary{--bs-btn-color:#1b3556;--bs-btn-border-color:#1b3556;--bs-btn-hover-bg:#1b3556;--bs-btn-hover-border-color:#1b3556;--bs-btn-active-bg:#1b3556;--bs-btn-active-border-color:#1b3556}
.btn-accent{--bs-btn-bg:#ff1a4b;--bs-btn-border-color:#ff1a4b;--bs-btn-color:#fff;--bs-btn-hover-bg:#e0113f;--bs-btn-hover-border-color:#e0113f;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#c90f38;--bs-btn-active-color:#fff}
.nav-pills{--bs-nav-pills-link-active-bg:#1b3556}
.form-control:focus,.form-select:focus{border-color:#1b3556;box-shadow:0 0 0 .2rem rgba(27,53,86,.15)}
.form-check-input:checked{background-color:#1b3556;border-color:#1b3556}
.text-navy{color:var(--bx-navy)!important}
.bg-navy{background-color:var(--bx-navy)!important}

/* Navbar */
.navbar-bx{background:var(--bx-navy-dark);padding-top:.35rem;padding-bottom:.35rem}
.navbar-bx .navbar-brand img{height:28px;width:auto;display:block}
.navbar-bx .nav-link{color:rgba(255,255,255,.72);font-weight:500;padding:.55rem .85rem;border-radius:.5rem;display:flex;align-items:center;gap:.4rem}
.navbar-bx .nav-link:hover{color:#fff;background:rgba(255,255,255,.07)}
.navbar-bx .nav-link.active{color:#fff;background:rgba(255,255,255,.12);box-shadow:inset 0 -2px 0 var(--bx-red)}
.navbar-bx .nav-link .bi{font-size:1rem;opacity:.9}
.navbar-bx .navbar-toggler{border-color:rgba(255,255,255,.25)}
.navbar-bx .dropdown-menu{font-size:.875rem}
@media (max-width:991.98px){.navbar-bx .nav-link.active{box-shadow:none}.navbar-bx .navbar-nav{padding:.5rem 0}}

/* Layout */
.page{max-width:1500px;margin:0 auto;padding:1.5rem 1.5rem 3rem}
@media (max-width:767.98px){.page{padding:1rem .9rem 2rem}}
.page-title{font-size:1.45rem;font-weight:650;letter-spacing:-.01em;margin:0}
.page-sub{color:var(--bs-secondary-color);font-size:.875rem;margin-top:.15rem}
.card{border-color:#e6e9ef;box-shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06)}
.card-header{background:#fff;border-bottom-color:#eef0f4;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.card-header .bi{color:var(--bs-secondary-color);margin-right:.35rem}
.card-title{font-size:.95rem;font-weight:650;margin:0}

/* KPI */
.kpi .icon{width:44px;height:44px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex:0 0 44px}
.kpi .value{font-size:1.65rem;font-weight:700;line-height:1.1;letter-spacing:-.02em}
.kpi .label{color:var(--bs-secondary-color);font-size:.85rem}
.kpi .sub{color:var(--bs-secondary-color);font-size:.78rem;margin-top:.35rem}

/* Tables */
.table{--bs-table-hover-bg:#f8fafc;font-size:.85rem;margin-bottom:0}
.table>thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--bs-secondary-color);font-weight:600;background:#f8fafc;border-bottom:1px solid #e6e9ef;white-space:nowrap;padding:.6rem .75rem}
.table>tbody td{padding:.65rem .75rem;vertical-align:top;border-bottom-color:#eef0f4}
.table .sub{color:var(--bs-secondary-color);font-size:.78rem;margin-top:.1rem}
.table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.table-sm>tbody td{padding:.4rem .6rem}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}
.nowrap{white-space:nowrap}

/* Badges */
.bx-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;white-space:nowrap;line-height:1.3}
.bx-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}
.bx-badge.plain::before,.bx-badge:has(.bi)::before{display:none}
.bx-badge .bi{font-size:.8rem;margin-right:.1rem}
.bx-badge.ok{background:#e7f6ec;color:#146c3a}.bx-badge.err{background:#fdeaea;color:#a11616}.bx-badge.warn{background:#fdf1dd;color:#8a4b00}.bx-badge.info{background:#e7effb;color:#1a47b8}.bx-badge.muted{background:#eef1f5;color:#5b6472}
.bx-count{display:inline-block;min-width:1.5em;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700;text-align:center;line-height:1.3}
.carrier{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;white-space:nowrap}
.carrier i{width:9px;height:9px;border-radius:2px;display:inline-block;flex:0 0 9px}
.carrier.packeta i{background:#d9232e}.carrier.ppl i{background:#004a99}.carrier.cpost i{background:#f4a300}.carrier.gls i{background:#1a4f9c}.carrier.unknown i{background:#9aa3b2}

/* Timeline */
.timeline{list-style:none;margin:0;padding:0 0 0 .25rem}
.timeline li{position:relative;padding:0 0 1rem 1.35rem;border-left:2px solid #e6e9ef}
.timeline li:last-child{border-left-color:transparent;padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-6px;top:.3rem;width:10px;height:10px;border-radius:50%;background:#b8c0cc;border:2px solid #fff;box-shadow:0 0 0 1px #e6e9ef}
.timeline li.delivered::before{background:#198754}.timeline li.returning::before,.timeline li.returned::before{background:#fd7e14}.timeline li.problem::before{background:#dc3545}.timeline li.in_transit::before,.timeline li.out_for_delivery::before,.timeline li.ready_for_pickup::before{background:#0d6efd}

/* Misc */
.dl{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1rem;font-size:.875rem;align-items:baseline}
.dl dt{color:var(--bs-secondary-color);font-weight:500}.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
@media (max-width:575.98px){.dl{grid-template-columns:1fr}.dl dt{margin-top:.4rem}}
pre.code{background:#0f172a;color:#e2e8f0;padding:.9rem 1rem;border-radius:.5rem;font-size:.78rem;max-height:560px;overflow:auto;margin:0}
.log-lines{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid #e6e9ef;border-radius:.5rem;padding:.75rem;max-height:520px;overflow:auto}
.empty{color:var(--bs-secondary-color);text-align:center;padding:2rem 1rem}
.empty .bi{font-size:1.8rem;opacity:.35;display:block;margin-bottom:.4rem}
.row-hl>td{background:#eefaf2!important}
.setting-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1.3fr);gap:.5rem 1.5rem;padding:.9rem 0;border-bottom:1px solid #eef0f4;align-items:start}
.setting-row:last-child{border-bottom:0}
.setting-row .lbl{font-weight:600;font-size:.875rem}
.setting-row .key{display:block;font-weight:400;color:var(--bs-secondary-color);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;margin-top:.1rem}
.setting-row .help{font-weight:400;color:var(--bs-secondary-color);font-size:.78rem;margin-top:.25rem;line-height:1.4}
@media (max-width:767.98px){.setting-row{grid-template-columns:1fr}}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(1200px 600px at 20% -10%,#1f3d64 0%,#0f1d33 55%)}
.login-card{width:100%;max-width:400px}
.login-card .logo{width:180px;display:block;margin:0 auto .25rem}
.login-card .title{text-align:center;color:var(--bs-secondary-color);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.25rem}
.g-recaptcha{display:flex;justify-content:center;margin-bottom:.9rem}
.progress{height:.5rem}
.filters .form-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bs-secondary-color);font-weight:600;margin-bottom:.2rem}
footer.foot{color:var(--bs-secondary-color);text-align:center;padding:1.25rem;font-size:.78rem}
a{text-decoration:none}a:hover{text-decoration:underline}
.btn{white-space:nowrap}
h1 .bx-badge,.page-title .bx-badge{vertical-align:middle;font-size:.75rem;margin-left:.4rem}
