/* === Design tokens (barevná paleta) — laď z jednoho místa ===
   Hodnoty odpovídají původním napevno zapsaným barvám 1:1. */
:root {
	--panel: #B1D3EC;   /* světle modré panely a hlavičky tabulek */
	--cell: #9cf;       /* pozadí buněk / stránky */
	--line: maroon;     /* hlavní rámeček / akcentní text */
	--hl: #fc9;         /* zvýraznění (hover řádku, [colspan], highlight) */
	--link: #036;       /* odkazy */
	--link-hover: #063;
	--head: #630;       /* nadpisy h1/h2/h4 */
	--row-even: #d0d0d0;
	--row-odd: #f0f0f0;
	--row-hover: #cf9;
	--accent: #2980b9;  /* tlačítka a akcent v0.6 (status poptávka) */

	/* sekundární paleta (hodnoty 1:1 s původními) */
	--white: #fff;
	--ink: #000;          /* černá: rámeček buněk + text */
	--ok: green;          /* zelený text (kód, .green) */
	--danger: red;        /* červená (.red, chyby, hover border) */
	--link-item: #03c;    /* odkazy v .item hoveru */
	--visited-item: #900;
	--muted: #888;
	--muted-2: #555;
	--muted-3: #999;
	--muted-4: #444;
	--muted-5: #666;
	--muted-6: #333;
	--border-soft: #ddd;
	--border-soft2: #ccc;
	--border-soft3: #eee;
	--soft-bg: #f4f4f4;   /* jemné pozadí (summary) */
	--msg-bg: #eafaf1;    /* flash zpráva */
	--warn-bg: #ffe0b2;   /* podezřelá cena (DEK) */
	--aktualni: #2d7;     /* outline aktuální stavby */
	--aktualni-bg: #dff5e7; /* podklad řádku aktuální stavby */

	/* stavové pilulky */
	--st-priprava: #e67e22;
	--st-realizace: #27ae60;  /* zároveň rámeček .msg */
	--st-pauza: #95a5a6;
	--st-hotovo: #16a085;
	--st-zruseno: #c0392b;

	/* kari vizuál */
	--kari-border: #bcd;
	--kari-info-bg: #eef4fb;
	--kari-info-border: #9bb;
	--kari-legend-border: #99a;
	--kari-tip-bg: #234;

	/* rozměry / polish */
	--radius: 6px;        /* karty, tlačítka, fieldsety, boxy, tabulky */
	--radius-pill: 1em;   /* stavové pilulky a přepínače */
	--grid: #7d8ca0;      /* jemná mřížka buněk tabulek (dřív černá #000) */
}

.status-box {
	background-color: var(--panel);
	border: 1px solid var(--line);
	margin: 5px;
	padding: 5px;
	min-height: 3em;
	width:230px

	/* display: none; /* Defaultně skrytý */
}

/* Styl pro highlightnutí */
.highlight {
	background-color: var(--hl) !important;
	transition: background-color 1s;
}
#pasy_rez {
	position: absolute;
	text-align: center;
	vertical-align: middle;
	border: 1px solid var(--line) ;
	top: 200px;
	left: 200px;
	width: 10px;
	height: 10px;
	background-color: transparent;
}
#sirka {
	position: relative;
	text-align: center;
	top: -20px;
}
#hloubka {
	position: relative;
	vertical-align: middle;
	left: -35px;
	top: 20px;
	transform: rotate(90deg) ;
	-webkit-transform: rotate(-90deg);
}
#vyska {
	position: relative;
	vertical-align: middle;
	left: -35px;
	top: 20px;
	transform: rotate(90deg) ;
	-webkit-transform: rotate(-90deg);
}

#main {
border:0;
float:left;
margin:0;
padding:1px 0 10px 10px;
width:1280px
}

#menu {
background-color:var(--panel);
border:1px solid var(--line);
float:left;
margin:5px;
padding:5px;
width:230px
}

#menu td:nth-child(even) {
font-weight:700;
text-align:right
}

#menu tr:hover {
background-color:var(--hl)
}

/* Hlavičky skupin / souhrnné řádky (sloučené buňky) — zvýraznění.
   Dřív psáno jako globální `[colspan]` přes čárku → nezáměrně mířilo na cokoli
   s colspan kdekoli; teď cíleně na buňky tabulek, vzhled 1:1. */
.styled-table td[colspan], .styled-table th[colspan] {
background-color:var(--hl)
}

#top {
background-color:var(--panel);
border:1px solid var(--line);
height:auto;
margin:5px;
padding:5px;
text-align:center
}

.akce {
	border: 0px;
	width: 1%;
    white-space: nowrap;}

/* --- Katalog stavebnin: filtr + sbalovací kategorie --- */
.katalog-tools {
    display: flex;
    gap: .5em;
    flex-wrap: wrap;
    align-items: center;
    margin: .6em 0;
}
#katalog-filtr {
    flex: 1 1 220px;
    min-width: 180px;
    padding: .35em .5em;
    font-size: 11pt;
}
tr.kat-header {
    cursor: pointer;
    user-select: none;
}
tr.kat-header td {
    font-weight: bold;
    background-color: var(--panel);
}
.kat-toggle {
    display: inline-block;
    width: 1em;
    color: var(--line);
}
.kat-pocet {
    font-weight: normal;
    color: var(--muted-2);
}
tbody.collapsed tr.kat-polozka {
    display: none;
}

/* Aktualizace cen z DEK */
#ceny-progress { margin-left: .6em; font-style: italic; }
tr.ceny-suspect td { background-color: var(--warn-bg); }
.ceny-new { text-align: right; }

.green {
color:var(--ok)
}
.Fright {float: right}

.item:hover a:hover {
color:var(--white)
}

.item:hover a:link {
color:var(--link-item)
}

.item:hover a:visited {
color:var(--visited-item)
}

.red {
color:var(--danger)
}
.unit {
font-weight:400
}
.in-table { 
	border: 0px;
	width: 25px;
	padding: 0px;
	margin: 0px;
	font-size: 10pt;
	background-color: var(--panel);
}
td:has(> .in-table){
		padding: 0px;
			background-color: var(--panel);

}
.nowrap { white-space: nowrap; }

a {
border-bottom:1px dotted;
text-decoration:none
}
td a { border: 0px; }

a:hover {
border-bottom:1px solid var(--danger);
color:var(--link-hover)
}

a:link,a:visited {
color:var(--link)
}

a>img {
border:none
}
/**/
.bold   {
	font-weight: bold;
}
input, label {
    display:block;
}
label {
	font-size: 0.5em;
}
/**/

body {
background-color:var(--cell);
color:var(--ink);
font-family:Arial,Helvetica,Arial,sans-serif;
font-size:10pt;
font-weight:400;
margin:0
}

code,pre {
color:var(--ok);
font-family:monospace;
font-size:1em
}

h1 {
color:var(--head);
font-size:1.2em;
font-weight:700;
padding-left:5px
}

h2 {
color:var(--head);
font-size:1.1em;
font-weight:700
}

h3 {
color:var(--ink);
font-weight:700;
margin:2px 0 5px
}

h4 {
color:var(--head);
font-size:1.1em;
font-weight:700;
padding-left:0
}

li {
margin-bottom:.5em;
margin-top:.5em
}

/* === Datové tabulky (.styled-table) ===
   Dřív globální element selektory (table/tr/td/th) → scopnuto na .styled-table,
   aby globální td{text-align:right} nenutilo zarovnání mimo tabulky. Levý panel
   #menu a soupisy mají proto class="styled-table". */
.styled-table {
border:1px solid var(--line);
border-radius: var(--radius);
overflow: hidden;
}

.styled-table tbody tr:first-child:last-child td {
border-bottom:0
}

.styled-table, .styled-table tr, .styled-table td {
	background-color:var(--panel);
	border:0;
	font-family:"Arial CE","Helvetica CE",Arial,sans-serif;
	font-size:10pt;
	font-weight:400;
	margin:0;
	padding:0;
	width:100%;
	

}

.styled-table td {
	background-color:var(--cell);
	border:1px solid var(--grid);
	width: auto;
	padding:.2em .4em;
	text-align:right;
	vertical-align: top;
}

.styled-table td:first-child {
	text-align:left;
}
.styled-table td.poznamka {
	text-align:left;
	max-width: 100px;
}

.styled-table td:not([colspan]):first-child {
border-left:0;
border-right:0;
border-top:0;
padding-left:10px
}

.styled-table th {
background-color:var(--panel)
}

/* Vynucené zarovnání vlevo (přebíjí .styled-table td default vpravo). */
.styled-table td.left, .styled-table th.left { text-align: left; }
/* Karta detailu ÚRS položky: úzký sloupec s popiskem. */
.urs-detail th.left { width: 160px; white-space: nowrap; }

.styled-table tr:hover td {
background-color:var(--row-hover)
}

.styled-table tr:nth-child(even) {
background-color:var(--row-even)
}

.styled-table tr:nth-child(odd) {
background-color:var(--row-odd)
}

.styled-table tr>td:first-child {
border-left:0
}


.column  {
  float: left;
  width: 25%;
  vertical-align: top;
}

/* Clear floats after the columns */
.row:after {
  content: "";
  display: table;
  clear: both;

}
.login-box {
	background-color: var(--panel);
	border: 1px solid var(--line);
	margin: 50px auto;
	padding: 20px;
	max-width: 400px;
}

.login-box h1 {
	margin-top: 0;
}

.error {
	color: var(--danger);
	margin-bottom: 15px;
}

.login-box input {
	width: 100%;
	margin-bottom: 10px;
}

.login-box button {
	width: 100%;
	margin-top: 10px;
}

/* ===== Stavby: seznam + editační formulář (v0.6) ===== */
.list-toolbar { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin:.5rem 0 1rem; }
.list-toolbar .filtr a { margin-right:.4rem; font-size:.9em; }
.list-toolbar .filtr a.aktivni { font-weight:bold; text-decoration:underline; }
details.rok { margin:.4rem 0; border:1px solid var(--border-soft); border-radius:var(--radius); }
details.rok > summary { cursor:pointer; padding:.5rem .8rem; font-weight:bold; background:var(--soft-bg); }
details.rok .pocet { color:var(--muted); font-weight:normal; }
/* Měsíční oddělovač uvnitř roku (nerozbalovací, jen vizuální). */
.styled-table tr.mesic td { background:var(--hl); font-weight:bold; font-size:.5em; text-transform:uppercase; letter-spacing:.04em; color:var(--muted-2); padding:.15em .8em; border-top:1px solid var(--border-soft); }
.styled-table tr.mesic.prazdny td { font-weight:normal; opacity:.55; }
.styled-table tr.mesic .skryto { font-weight:normal; text-transform:none; letter-spacing:0; }
tr.aktualni { outline:2px solid var(--aktualni); }
tr.aktualni td { background-color:var(--aktualni-bg); }
/* levý zelený proužek + tučný název; specificita musí přebít
   .styled-table td:not([colspan]):first-child (nuluje border-left) */
.styled-table tr.aktualni td:not([colspan]):first-child {
	border-left:4px solid var(--aktualni);
	font-weight:700;
}

.status { display:inline-block; padding:.1em .6em; border-radius:var(--radius-pill); font-size:.85em; color:var(--white); white-space:nowrap; }
.status-poptavka  { background:var(--accent); }
.status-priprava  { background:var(--st-priprava); }
.status-realizace { background:var(--st-realizace); }
.status-pauza     { background:var(--st-pauza); }
.status-hotovo    { background:var(--st-hotovo); }
.status-zruseno   { background:var(--st-zruseno); }

.stavba-form fieldset { border:1px solid var(--border-soft2); border-radius:var(--radius); margin:0 0 1rem; padding:.8rem 1rem 1rem; }
.stavba-form legend { font-weight:bold; padding:0 .4rem; }
.stavba-form .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.7rem 1rem; }
.stavba-form .fld { display:flex; flex-direction:column; font-size:.9em; }
.stavba-form .fld > span { margin-bottom:.15rem; color:var(--muted-4); }
.stavba-form .fld input, .stavba-form .fld select, .stavba-form .fld textarea { padding:.3rem; }
.stavba-form .fld-check { flex-direction:row; align-items:center; gap:.4rem; }
.stavba-form .podskupina { grid-column:1/-1; margin:.4rem 0 0; color:var(--muted-5); border-bottom:1px solid var(--border-soft3); }
.stavba-form .unit { color:var(--muted-3); font-size:.85em; }
.stavba-form .dopocet { margin:.5rem 0 0; color:var(--muted-2); }
.btn, .btn-primary { display:inline-block; padding:.4rem .9rem; border-radius:var(--radius); text-decoration:none; cursor:pointer; border:1px solid var(--accent); }
.btn { color:var(--accent); background:var(--white); }
.btn-primary { color:var(--white); background:var(--accent); }
.msg { background:var(--msg-bg); border:1px solid var(--st-realizace); padding:.4rem .8rem; border-radius:var(--radius); }
/* Flash jako plovoucí toast (přidává kompiler v app.js) — nehýbe layoutem a sám zmizí. */
.msg-toast { position:fixed; top:1rem; right:1rem; z-index:1000; max-width:26rem;
    margin:0; box-shadow:0 4px 16px rgba(0,0,0,.18); opacity:1; transition:opacity .5s ease; }
.msg-toast-hide { opacity:0; }

/* Probíhající AJAX odeslání — Unpoly přidává .up-active na tlačítko/odkaz. */
button.up-active, .btn.up-active, .btn-primary.up-active, a[data-post].up-active {
    opacity:.55; cursor:progress; pointer-events:none; }
/* ✓ bliknutí po uložení (přidává app.js na nový protějšek tlačítka/odkazu). */
.btn-saved { outline:2px solid var(--st-realizace); outline-offset:1px; }
.btn-saved::after { content:" ✓"; color:var(--st-realizace); font-weight:bold; }

/* Vlastní dialog (náhrada window.confirm/prompt) — nativní <dialog>. */
.matt-dialog { border:1px solid var(--accent); border-radius:var(--radius);
    padding:1rem 1.2rem; min-width:20rem; max-width:90vw;
    box-shadow:0 8px 30px rgba(0,0,0,.25); }
.matt-dialog::backdrop { background:rgba(0,0,0,.35); }
.matt-dialog-label { margin:0 0 .7rem; font-weight:bold; white-space:pre-line; } /* víceřádkové hlášky (DEK) */
.matt-dialog input { width:100%; box-sizing:border-box; margin-bottom:.9rem; padding:.35rem .5rem; }
/* OK je v DOM první (kvůli Enter = implicitní submit), vizuálně ale vpravo. */
.matt-dialog-btns { display:flex; gap:.6rem; flex-direction:row-reverse; justify-content:flex-start; margin:0; }

/* Geometrie: dvě poloviny (ruční vs. rozměry) — přepínání klikem, jen úroveň formuláře */
.geom-hint { margin:0 0 .6rem; }
.geom-pair { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
@media (max-width:680px) { .geom-pair { grid-template-columns:1fr; } }
.geom-block { border:1px solid var(--border-soft); border-radius:var(--radius); padding:.6rem .8rem; cursor:pointer; transition:opacity .15s, border-color .15s, background .15s; }
.geom-block .geom-block-hd { font-size:.8em; font-weight:bold; text-transform:uppercase; letter-spacing:.03em; color:var(--muted-3); margin:0 0 .5rem; }
.geom-block.geom-active { border-color:var(--accent); background:var(--kari-info-bg); box-shadow:0 0 0 1px var(--accent) inset; cursor:default; }
.geom-block.geom-active .geom-block-hd { color:var(--accent); }
.geom-block.geom-dim { opacity:.55; background:var(--soft-bg); }
.geom-block.geom-dim input, .geom-block.geom-dim select { background:var(--soft-bg); pointer-events:none; }
.stavba-form .fld-wide { grid-column:1/-1; }

/* Číselná políčka: jen tak široká, aby se vešlo ~6 znaků (15,95). Platí všude. */
.stavba-form .fld input.num { width:7ch; align-self:flex-start; }
/* Pole vedle sebe (geometrie i sekce specifikace), zarovnaná na spodní hranu. */
.geom-fields, .fields-flex { display:flex; flex-wrap:wrap; gap:.5rem .9rem; align-items:flex-end; }
.geom-fields .fld, .fields-flex .fld { font-size:.9em; }
.geom-fields .fld select, .fields-flex .fld select { width:auto; }
.fields-flex .podskupina { flex-basis:100%; margin:.3rem 0 0; color:var(--muted-5); border-bottom:1px solid var(--border-soft3); }
.fields-flex .fld-wide { flex-basis:100%; }

/* Spodní sekce specifikace ve sloupcích (karty), aby krátké sekce nezabíraly celý řádek. */
.form-cols { columns:320px; column-gap:1.5rem; }
.form-cols fieldset { box-sizing:border-box; width:100%; break-inside:avoid; -webkit-column-break-inside:avoid; display:inline-block; vertical-align:top; margin:0 0 1.2rem; }

/* ===== Stavby: přepínací filtr + mazání (v0.6) ===== */
.list-toolbar .toggle { display:inline-block; padding:.1em .6em; margin:.1em; border-radius:var(--radius-pill); font-size:.85em; color:var(--white); text-decoration:none; }
.list-toolbar .toggle.off { opacity:.35; text-decoration:line-through; }
.list-toolbar .btn-link { font-size:.85em; margin-left:.5rem; }
td.akce .del { text-decoration:none; opacity:.6; }
td.akce .del:hover { opacity:1; }
td.akce .vybrat { text-decoration:none; opacity:.6; }
td.akce .vybrat:hover { opacity:1; }
.meta { color:var(--muted); font-size:.85em; margin:.2rem 0 .8rem; }

/* --- Kari sítě: rozložení 2×3 m --- */
.kari-form { margin:.6rem 0; padding:.6rem .8rem; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); display:flex; flex-wrap:wrap; gap:.6rem 1rem; align-items:center; }
.kari-form label { font-size:.85em; }
.kari-form input[type=text], .kari-form select { margin-left:.2rem; }
.kari-form .kf-vyrez { display:flex; gap:.6rem; align-items:center; }
.kari-form .kf-reset { font-size:.85em; }
.kari-empty { margin:1rem 0; padding:.8rem 1rem; background:var(--hl); border:1px solid var(--line); border-radius:var(--radius); }
.kari-sub { margin:.4rem 0 .6rem; font-size:.9em; color:var(--muted-6); }
.kari-legend { display:flex; flex-wrap:wrap; gap:.4rem 1rem; margin:.4rem 0; font-size:.8em; }
.kari-legend span { display:flex; align-items:center; gap:.3rem; }
.kari-legend i { width:18px; height:12px; border:1px solid var(--kari-legend-border); display:inline-block; }
.kari-wrap { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:10px; overflow:auto; }
.kari-info { margin-top:.6rem; padding:.6rem .9rem; background:var(--kari-info-bg); border:1px solid var(--kari-info-border); border-radius:var(--radius); font-size:.85em; line-height:1.7; }
.kari-weight { margin-top:.8rem; border-collapse:collapse; min-width:340px; }
.kari-weight caption { text-align:left; font-weight:700; padding:.3rem 0; color:var(--line); }
.kari-weight th, .kari-weight td { border:1px solid var(--kari-border); padding:.25rem .6rem; font-size:.85em; }
.kari-weight th { background:var(--panel); text-align:left; }
.kari-weight td.num { text-align:right; font-variant-numeric:tabular-nums; }
.kari-tip { position:fixed; display:none; background:var(--kari-tip-bg); color:var(--white); padding:.35rem .6rem; border-radius:var(--radius); font-size:.78em; font-family:monospace; pointer-events:none; z-index:99; }

/* --- Nákupní seznam (modul nakup, větev B) --- */
.nakup-blok { margin:0 0 1.2rem; max-width:560px; break-inside:avoid; }
.nakup-blok h2 { margin:.2rem 0 .3rem; color:var(--line); font-size:1.15em; border-bottom:2px solid var(--panel); }
.nakup-pocet { color:var(--muted); font-weight:400; font-size:.8em; }
.nakup-copy { float:right; font-size:.7em; font-weight:400; text-decoration:none; }
.nakup-tabulka td { padding:.15rem .6rem; }
.nakup-tabulka .right { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.nakup-tabulka .unit { color:var(--muted-5); }

@media print {
    #top, #menu, #status { display:none !important; }
    #main { float:none; width:auto; padding:0; }
    .nakup-copy { display:none; }
    .nakup-blok { max-width:none; }
}

/* Pasy — úseky (repeater v editaci stavby): kompaktní tabulka s úzkými poli. */
.pasy-table { width:auto; border-collapse:collapse; }
.pasy-table th, .pasy-table td { padding:2px 4px; text-align:center; vertical-align:middle; }
.pasy-table thead th { font-size:11px; font-weight:600; white-space:nowrap; }
.pasy-table input.pas-n { width:3.6em; text-align:right; padding:1px 3px; }   /* ~5 znaků (88,99) */
.pasy-table input.pas-nazev { width:9em; }
.pasy-table select.pas-sel { width:5.5em; padding:1px; }
.pasy-table tr.pas-obvod td:first-child { white-space:nowrap; padding-right:8px; }
.pasy-table input[readonly] { background:#f0f0f0; color:#555; }
.pasy-table .pas-del { padding:0 6px; }
.pasy-table select.pas-beton { width:11em; font-size:11px; }
.pasy-table tr.pas-hl > td { background:#eafff5 !important; }
/* Klikadlo polohy příček (pudorys-edit.js) nad SVG schématem. */
.pud-toolbar { font-size:12px; color:#555; margin:4px 0; line-height:1.5; }
.pud-dirty { font-size:12px; color:#b26a00; font-weight:bold; margin:4px 0; }
.pud-svg .pud-wall-hit { cursor:crosshair; }
.pud-svg .pud-pricka-line { stroke:#0a7; stroke-width:2; stroke-dasharray:5 3; cursor:pointer; }
.pud-svg .pud-pricka-line:hover { stroke-width:3; }
.pud-svg .pud-handle { fill:#fff; stroke:#0a7; stroke-width:2; }
.pud-svg .pud-h-end { cursor:move; }
.pud-svg .pud-h-anchor { stroke:#c60; cursor:pointer; }
.pud-svg .pud-handle:hover { fill:#0a7; }
.pud-svg .pud-h-anchor:hover { fill:#c60; }
.pud-svg .pud-ghost { stroke:#e2007a; stroke-width:2; stroke-dasharray:4 3; }
.pud-svg .pud-ghost-label { fill:#e2007a; font:10px monospace; }
.pud-svg .pud-snap { fill:none; stroke:#e2007a; stroke-width:2; pointer-events:none; }
/* Barevné odlišení oblastí (pas / bednění / výztuž / kotvení / spoje). */
.pasy-table .g-pas   { background:#eaf3fb; }
.pasy-table .g-zb    { background:#fdf0e3; }
.pasy-table .g-vyz   { background:#eafaea; }
.pasy-table .g-kotv  { background:#f3eafc; }
.pasy-table .g-spoje { background:#fcf9e3; }
.pasy-table thead .g-pas   { background:#d4e6f7; }
.pasy-table thead .g-zb    { background:#fbe1c4; }
.pasy-table thead .g-vyz   { background:#d6f2d6; }
.pasy-table thead .g-kotv  { background:#e7d4f7; }
.pasy-table thead .g-spoje { background:#f7f0c4; }

/* ===== Fakturace (vydané doklady přes Fakturoid) ===== */
.fakt-pohledy a, .fakt-pohledy b { display:inline-block; padding:.15em .9em; margin-right:.3rem;
    border-radius:var(--radius-pill); font-size:.9em; text-decoration:none; border:1px solid var(--accent); font-weight:normal; }
.fakt-pohledy b { background:var(--accent); color:var(--white); }
.fakt-pohledy a { color:var(--accent); background:var(--white); }
.fakt-pohledy a:hover { background:var(--kari-info-bg); }

.fakt-souhrn { display:flex; flex-wrap:wrap; gap:.6rem; margin:.5rem 0 .8rem; }
.fakt-souhrn .box { background:var(--soft-bg); border:1px solid var(--border-soft2);
    border-radius:var(--radius); padding:.3rem .9rem .4rem; font-size:.8em; color:var(--muted-2); }
.fakt-souhrn .box b { display:block; font-size:1.35em; color:var(--ink); }
.fakt-souhrn .box.dluh { background:#fdecea; border-color:var(--st-zruseno); }
.fakt-souhrn .box.dluh b { color:var(--st-zruseno); }

/* Pilulky typů dokladu a stavů (základ sdílí .status). */
.status-proforma { background:var(--accent); }
.status-faktura  { background:var(--line); }
.status-danovy   { background:var(--st-hotovo); }
.status-vyuctovani { background:var(--st-realizace); }
.status-zaplaceno { background:var(--st-realizace); }
.status-posplatnosti { background:var(--st-zruseno); }
.status-otevreno { background:var(--st-pauza); }
.status-storno { background:var(--muted-3); text-decoration:line-through; }

/* Zvýraznění řádku po splatnosti (přebíjí zebra pruhy — pozdější pravidlo). */
.styled-table tr.fakt-overdue td { background:#fbe0dc; }
.styled-table tr.fakt-overdue:hover td { background:#f6cfc9; }

/* Podřádek platby: drobný, tichý, bez zebry. */
.styled-table tr.fakt-platba td { background:var(--white); font-size:.78em; color:var(--muted-2);
    padding:.05em .8em .2em; }
.styled-table tr.fakt-platba:hover td { background:var(--white); }

.styled-table td.fakt-akce a { text-decoration:none; opacity:.55; }
.styled-table td.fakt-akce a:hover { opacity:1; }
.styled-table td.fakt-dph { font-size:.8em; color:var(--muted-2); }

/* Modaly (up-layer): širší okno místo fixních 650 px a vodorovné rolování
   dlouhého obsahu (tabulky dokladů/kandidátů) — konec řádku nesmí zmizet.
   Selektor s [size] přebíjí unpoly up-modal[size=medium] (stejná specificita,
   admin.css se načítá později); overflow-x:hidden z unpoly nahrazuje auto. */
up-modal[size] up-modal-box { width: min(1100px, 94vw); overflow-x: auto; }
up-modal #modal-box { overflow-x: auto; }
