:root{--b:#1f4e79;--b2:#2e75b6;--bg:#f4f6f9;--c:#fff;--t:#1d2733;--m:#6b7785;--ok:#1e8e3e;--warn:#c77700;--err:#c5221f;--r:10px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.45 -apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--t)}
a{color:var(--b2);text-decoration:none}
header.top{position:sticky;top:0;z-index:20;background:var(--b);color:#fff;display:flex;align-items:center;gap:10px;padding:10px 14px}
header.top .brand{font-weight:700;color:#fff;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
header.top .who{font-size:13px;opacity:.85;display:none}
#mtoggle{background:none;border:0;color:#fff;font-size:26px;line-height:1;padding:2px 6px;cursor:pointer}
nav.menu{display:none;background:#fff;border-bottom:1px solid #dde3ea}
nav.menu.open{display:block}
nav.menu a{display:block;padding:13px 18px;border-top:1px solid #eef1f5;color:var(--t)}
nav.menu a.act{font-weight:700;color:var(--b)}
main{padding:14px;max-width:1200px;margin:auto}
h1{font-size:22px;margin:6px 0 14px}
h2{font-size:18px;margin:22px 0 10px}
.card{background:var(--c);border-radius:var(--r);box-shadow:0 1px 3px rgba(0,0,0,.08);padding:14px;margin-bottom:14px}
.grid{display:grid;gap:12px;grid-template-columns:1fr}
.kpi{font-size:28px;font-weight:700;color:var(--b)}
.muted{color:var(--m);font-size:14px}
.btn,button.btn{display:inline-block;background:var(--b);color:#fff;border:0;border-radius:8px;padding:11px 16px;font-size:15px;cursor:pointer;margin:3px 2px;text-align:center}
.btn.sec{background:#e8eef5;color:var(--b)}
.btn.warn{background:var(--warn)}
.btn.small{padding:6px 10px;font-size:13px}
.btn.block{display:block;width:100%}
.flash{padding:11px 14px;border-radius:8px;margin-bottom:12px}
.flash.ok{background:#e6f4ea;color:#185c2c}.flash.err{background:#fce8e6;color:#8c1d18}.flash.info{background:#e8f0fe;color:#174ea6}
.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;background:#e8eef5;color:var(--b)}
.badge.ok{background:#e6f4ea;color:var(--ok)}.badge.warn{background:#fef7e0;color:var(--warn)}.badge.err{background:#fce8e6;color:var(--err)}
form .f{margin-bottom:12px}
label{display:block;font-size:13px;color:var(--m);margin-bottom:4px}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=search],select,textarea{width:100%;padding:11px;border:1px solid #cfd7e1;border-radius:8px;font-size:16px;background:#fff}
textarea{min-height:70px}
.chk{display:flex;align-items:center;gap:8px}.chk input{width:22px;height:22px}
table.t{width:100%;border-collapse:collapse;background:#fff}
table.t th,table.t td{padding:9px 8px;border-bottom:1px solid #eef1f5;text-align:left;vertical-align:top}
table.t th{font-size:13px;color:var(--m);font-weight:600;background:#fafbfc}
td.r,th.r{text-align:right;white-space:nowrap}
tr.sum td{font-weight:700;background:#f6f8fb}
.amount{font-size:30px;font-weight:700;color:var(--b)}
.qr{display:flex;justify-content:center;margin:10px 0}.qr img,.qr svg{width:200px;height:200px}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.list a.item{display:block;background:#fff;border-radius:var(--r);padding:12px 14px;margin-bottom:8px;box-shadow:0 1px 2px rgba(0,0,0,.06);color:var(--t)}
.list a.item b{color:var(--b)}
.kv{display:grid;grid-template-columns:1fr;gap:2px 14px}.kv dt{color:var(--m);font-size:13px;margin-top:6px}.kv dd{margin:0}
/* tabele -> karty na telefonie */
@media (max-width:719px){
 table.t.resp thead{display:none}
 table.t.resp tr{display:block;border-bottom:8px solid var(--bg)}
 table.t.resp td{display:flex;justify-content:space-between;gap:12px;border:0;padding:6px 10px;text-align:right}
 table.t.resp td::before{content:attr(data-l);color:var(--m);font-size:13px;text-align:left}
 table.t.resp td.r{white-space:normal}
}
@media (min-width:720px){
 .grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}
 .kv{grid-template-columns:220px 1fr}.kv dt{margin-top:0}
 header.top .who{display:block}
 #mtoggle{display:none}
 nav.menu{display:flex!important;flex-wrap:wrap;padding:0 10px}
 nav.menu a{border:0;padding:12px 12px}
 .fields2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
}
@media print{header.top,nav.menu,.noprint,.btn{display:none!important}body{background:#fff}.card{box-shadow:none;padding:0}}
.login{max-width:400px;margin:8vh auto}
.scroll{overflow-x:auto}
