#footer{display:none}
/*# sourceMappingURL=main.css.map */

tr.list-row.overdue-row td { background-color: #f8d7da !important; }
tr.list-row.paid-row td { background-color: #d4edda !important; }

/* Project detail action buttons - distinct colors */
.btn.btn-project-sales-order,
.btn.btn-project-sales-order:focus {
    border-color: #f0ad4e !important;
    color: #a06a14 !important;
    background-color: transparent !important;
}
.btn.btn-project-sales-order:hover {
    background-color: #f0ad4e !important;
    border-color: #eea236 !important;
    color: #fff !important;
}
.btn.btn-project-purchase-order,
.btn.btn-project-purchase-order:focus {
    border-color: #2196f3 !important;
    color: #0c6cb3 !important;
    background-color: transparent !important;
}
.btn.btn-project-purchase-order:hover {
    background-color: #2196f3 !important;
    border-color: #1976d2 !important;
    color: #fff !important;
}

tr.list-row.accepted-row td { background-color: #d4edda !important; }

tr.list-row.po-ready-row td { background-color: #ffe8cc !important; }
tr.list-row.po-ordered-row td { background-color: #cfe2ff !important; }
tr.list-row.po-delivered-row td { background-color: #d4edda !important; }
tr.list-row.po-canceled-row td { background-color: #f8d7da !important; }

/* ==== Dashboard Přehled firmy ==== */
.kpi-tiles { display: flex; flex-wrap: wrap; gap: 8px; }
.kpi-tile { flex: 1 1 150px; min-width: 140px; padding: 12px; border-radius: 6px;
    background: var(--panel-bg, #f5f5f5); cursor: pointer; border: 1px solid rgba(0,0,0,.07); }
.kpi-tile:hover { filter: brightness(0.96); }
.kpi-tile .kpi-value { font-size: 1.45em; font-weight: 600; white-space: nowrap; }
.kpi-tile .kpi-label { font-size: .85em; opacity: .75; margin-top: 2px; }
.kpi-tile .kpi-sub { font-size: .8em; opacity: .65; }
.kpi-tile.kpi-danger { background: #f8d7da; }
.kpi-tile.kpi-success { background: #d4edda; }
.kpi-trend-up { color: #2e7d32; }
.kpi-trend-down { color: #c62828; }

.action-queue-row { display: flex; align-items: center; gap: 10px; padding: 7px 4px;
    border-bottom: 1px solid rgba(0,0,0,.06); cursor: pointer; }
.action-queue-row:hover { background: rgba(0,0,0,.03); }
.action-queue-count { min-width: 38px; text-align: center; font-weight: 600;
    border-radius: 10px; padding: 2px 8px; background: #cfe2ff; }
.action-queue-row.aq-urgent .action-queue-count { background: #f8d7da; }
.action-queue-row.aq-zero { opacity: .5; cursor: default; }
.action-queue-row.aq-zero .action-queue-count { background: #d4edda; }
.action-queue-urgent-note { font-size: .8em; color: #c62828; }

.pipeline-bar-row { display: flex; align-items: center; gap: 8px; padding: 3px 0; cursor: pointer; }
.pipeline-bar-row:hover .pipeline-bar { filter: brightness(0.92); }
.pipeline-bar-label { width: 40%; font-size: .85em; text-align: right;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pipeline-bar-track { flex: 1; }
.pipeline-bar { height: 16px; border-radius: 3px; background: #cfe2ff; min-width: 2px; }
.pipeline-bar.pl-done { background: #d4edda; }
.pipeline-bar.pl-gray { background: #e0e0e0; }
.pipeline-bar.pl-red { background: #f8d7da; }
.pipeline-bar-count { min-width: 28px; font-size: .85em; }

.logistika-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.logistika-item { flex: 1 1 45%; display: flex; justify-content: space-between;
    padding: 8px 10px; border-radius: 6px; background: rgba(0,0,0,.04); cursor: pointer; }
.logistika-item:hover { background: rgba(0,0,0,.08); }
.logistika-item .lg-count { font-weight: 600; }

.dashlet-error-note { padding: 12px; opacity: .7; }

/* Dashboard: fill tall theme cells (dashboardCellHeight 155) */
.kpi-tiles-container, .action-queue-container, .zakazky-pipeline-container, .logistika-container { height: 100%; }
.kpi-tiles { height: 100%; align-items: stretch; }
.kpi-tile { display: flex; flex-direction: column; justify-content: center; }
.kpi-tile .kpi-value { font-size: 2em; }
.kpi-tile .kpi-label { font-size: 1em; }
.action-queue-container { display: flex; flex-direction: column; justify-content: space-evenly; }
.action-queue-row { font-size: 1.05em; }
.zakazky-pipeline-container { display: flex; flex-direction: column; justify-content: space-evenly; }
.pipeline-bar { height: 20px; }
.logistika-grid { height: 100%; align-content: stretch; }
.logistika-item { align-items: center; font-size: 1.05em; }

/* KPI tiles: cap height, center row vertically in the tall panel */
.kpi-tiles { align-items: center; }
.kpi-tile { height: 100%; max-height: 300px; }

/* Unified Přehled firmy dashlet */
.pf-kpi { height: 190px; margin-bottom: 14px; }
.pf-kpi .kpi-tile { max-height: none; }
.pf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pf-section { background: rgba(0,0,0,.02); border: 1px solid rgba(0,0,0,.05);
    border-radius: 6px; padding: 10px 14px; }
.pf-section > h5 { margin: 2px 0 10px; font-weight: 600; }
.pf-cashflow-note { font-size: .85em; opacity: .75; margin-bottom: 6px; }
.pf-cashflow-chart { height: 300px; }
.pf-logistika { height: auto; }

/* Theme grid extends ~50px past viewport; keep unified panel content visible */
.pf-root { padding-right: 52px; }

/* ==== Přehled firmy v2 (pfv2) ==== */
.pfv2 { padding: 2px 52px 8px 2px; color: #1e293b;
    font-variant-numeric: tabular-nums; }
.pfv2 .pfv2-loading { padding: 20px; opacity: .65; }
.pfv2-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .09em;
    color: #64748b; font-weight: 600; margin: 16px 2px 8px; }
.pfv2 > .pfv2-eyebrow:first-child { margin-top: 4px; }

/* alerts */
.pfv2-alerts { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 4px; }
.pfv2-alert { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px;
    border-radius: 999px; font-size: 12.5px; font-weight: 600; cursor: pointer;
    border: 1px solid transparent; transition: transform .12s ease, box-shadow .12s ease; }
.pfv2-alert:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(16,24,40,.10); }
.pfv2-alert-danger { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
.pfv2-alert-warning { background: #fef3c7; color: #b45309; border-color: #fde68a; }
.pfv2-alert-ok { background: #dcfce7; color: #15803d; border-color: #bbf7d0; cursor: default; }

/* finance tiles */
.pfv2-finance { display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; }
.pfv2-tile { position: relative; background: #fff; border: 1px solid #e4e9f1; border-radius: 12px;
    padding: 12px 14px; cursor: pointer; min-height: 86px;
    box-shadow: 0 1px 2px rgba(16,24,40,.05);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.pfv2-tile:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(16,24,40,.10);
    border-color: #c7d2fe; }
.pfv2-tile-label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em;
    color: #64748b; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pfv2-tile-value { font-size: 20px; font-weight: 750; letter-spacing: -0.02em; margin-top: 4px;
    white-space: nowrap; }
.pfv2-tile-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis; }
.pfv2-tile-danger { background: #fff5f5; border-color: #fecaca; }
.pfv2-tile-danger .pfv2-tile-value { color: #b91c1c; }
.pfv2-tile-warn { background: #fffbeb; border-color: #fde68a; }
.pfv2-tile-ok .pfv2-tile-value { color: #15803d; }
.pfv2-up { color: #15803d; font-weight: 700; }
.pfv2-down { color: #b91c1c; font-weight: 700; }
.pfv2-spark { position: absolute; right: 10px; bottom: 8px; opacity: .9; }

/* cards */
.pfv2-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.pfv2-card { background: #fff; border: 1px solid #e4e9f1; border-radius: 14px; padding: 16px 18px;
    cursor: pointer; box-shadow: 0 1px 2px rgba(16,24,40,.05);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.pfv2-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(16,24,40,.10); }
.pfv2-card:focus-visible { outline: 2px solid #4f46e5; outline-offset: 2px; }
.pfv2-card-active { border-color: #4f46e5; box-shadow: 0 0 0 3px #eef2ff, 0 8px 20px rgba(79,70,229,.12); }
.pfv2-card-top { display: flex; align-items: center; gap: 10px; }
.pfv2-card-icon { width: 34px; height: 34px; border-radius: 10px; background: #eef2ff; color: #4f46e5;
    display: inline-flex; align-items: center; justify-content: center; font-size: 15px; flex: none; }
.pfv2-card-title { font-weight: 700; font-size: 14px; }
.pfv2-card-chevron { margin-left: auto; color: #94a3b8; transition: transform .15s ease; }
.pfv2-card-active .pfv2-card-chevron { transform: rotate(180deg); color: #4f46e5; }
.pfv2-card-big { font-size: 30px; font-weight: 800; letter-spacing: -0.02em; margin: 10px 0 6px; }
.pfv2-card-biglabel { font-size: 12.5px; font-weight: 500; color: #64748b; letter-spacing: 0; }
.pfv2-card-subs { display: flex; flex-wrap: wrap; gap: 6px; }

/* chips */
.pfv2-chip { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px;
    font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.pfv2-chip-ok { background: #dcfce7; color: #15803d; }
.pfv2-chip-warn { background: #fef3c7; color: #b45309; }
.pfv2-chip-danger { background: #fee2e2; color: #b91c1c; }
.pfv2-chip-info { background: #dbeafe; color: #1d4ed8; }
.pfv2-chip-muted { background: #f1f5f9; color: #475569; }

/* drawer */
.pfv2-drawer { background: #fff; border: 1px solid #e4e9f1; border-radius: 14px;
    margin-top: 10px; box-shadow: inset 0 2px 4px rgba(16,24,40,.03); overflow: hidden; }
.pfv2-drawer-head { display: flex; align-items: center; justify-content: space-between;
    padding: 12px 18px; border-bottom: 1px solid #eef1f6; font-weight: 700; font-size: 13.5px; }
.pfv2-viewall { border-radius: 8px; }
.pfv2-rows { max-height: 320px; overflow-y: auto; }
.pfv2-row { display: flex; align-items: center; gap: 12px; padding: 10px 18px;
    border-bottom: 1px solid #f2f5f9; cursor: pointer; transition: background .1s ease; }
.pfv2-row:last-child { border-bottom: none; }
.pfv2-row:hover { background: #f8fafc; }
.pfv2-row-urgent { box-shadow: inset 3px 0 0 #dc2626; }
.pfv2-row-main { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.pfv2-row-main b { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pfv2-row-sub { font-size: 11.5px; color: #64748b; white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis; }
.pfv2-row-amount { font-weight: 700; font-size: 13px; white-space: nowrap; }
.pfv2-row-go { color: #cbd5e1; font-size: 11px; }
.pfv2-row:hover .pfv2-row-go { color: #4f46e5; }
.pfv2-empty { padding: 22px 18px; color: #15803d; font-weight: 600; font-size: 13px; }

/* charts */
.pfv2-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
.pfv2-chart-box { background: #fff; border: 1px solid #e4e9f1; border-radius: 14px;
    padding: 4px 18px 14px; box-shadow: 0 1px 2px rgba(16,24,40,.05); }
.pfv2-chart-box .pfv2-eyebrow { margin: 12px 0 10px; }

.pfv2-cf-legend { display: flex; gap: 16px; align-items: center; font-size: 12px; color: #475569;
    margin-bottom: 10px; flex-wrap: wrap; }
.pfv2-cf-expected { margin-left: auto; }
.pfv2-dot { display: inline-block; width: 9px; height: 9px; border-radius: 3px; margin-right: 4px; }
.pfv2-cf { display: flex; gap: 14px; align-items: flex-end; height: 190px; padding-top: 18px; }
.pfv2-cf-group { flex: 1; display: flex; flex-direction: column; height: 100%; min-width: 0; }
.pfv2-cf-bars { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 3px;
    position: relative; }
.pfv2-cf-bar { width: 26px; max-width: 40%; border-radius: 4px 4px 0 0;
    transition: filter .1s ease; min-height: 2px; }
.pfv2-cf-bar:hover { filter: brightness(.85); }
.pfv2-cf-in { background: #059669; }
.pfv2-cf-out { background: #dc2626; }
.pfv2-cf-val { position: absolute; top: -17px; left: 0; right: 0; text-align: center;
    font-size: 11px; font-weight: 700; color: #047857; white-space: nowrap; }
.pfv2-cf-month { text-align: center; font-size: 11px; color: #94a3b8; margin-top: 6px; }

.pfv2-pl { display: flex; flex-direction: column; gap: 3px; }
.pfv2-pl-row { display: flex; align-items: center; gap: 10px; padding: 2px 0; cursor: pointer;
    border-radius: 6px; }
.pfv2-pl-row:hover { background: #f8fafc; }
.pfv2-pl-label { width: 42%; text-align: right; font-size: 12px; color: #475569;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pfv2-pl-track { flex: 1; background: #eef1f7; border-radius: 4px; height: 14px; overflow: hidden; }
.pfv2-pl-bar { display: block; height: 100%; background: #4f46e5; border-radius: 4px 0 0 4px; }
.pfv2-pl-done { background: #15803d; }
.pfv2-pl-gray { background: #94a3b8; }
.pfv2-pl-red { background: #dc2626; }
.pfv2-pl-count { min-width: 26px; font-size: 12px; font-weight: 700; }

@media (max-width: 1500px) {
    .pfv2-finance { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1100px) {
    .pfv2-cards { grid-template-columns: repeat(2, 1fr); }
    .pfv2-charts { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .pfv2 * { transition: none !important; }
}

/* pfv2 fixes: sparkline top-right (no overlap with sub text) */
.pfv2-spark { top: 12px; right: 12px; bottom: auto; }
.pfv2-tile { padding-right: 30px; }

/* pfv2: sparkline inline in sub row */
.pfv2-spark { position: static; vertical-align: middle; margin-left: 6px; }
.pfv2-tile { padding-right: 14px; }

/* pfv2: accent tile (rozjednané) */
.pfv2-tile-accent { background: #eef2ff; border-color: #c7d2fe; }
.pfv2-tile-accent .pfv2-tile-value { color: #4f46e5; }
