/* KaM Nabídkovač – vzhled sjednocený s KaMflow (stejná paleta --kf-*) */
:root{
  --kf-accent:#C8A84B; --kf-accent-bg:#2A2418; --kf-accent-text:#F0D070;
  --kf-bg-card:#1E231C; --kf-bg-deep:#0A0D09; --kf-bg-hover:#1A1E18; --kf-bg-input:#141810; --kf-bg-page:#181C17; --kf-bg-nav:#0F1210;
  --kf-border:#2E3428; --kf-border-input:#363C30; --kf-border-strong:#4A4A3A; --kf-border-soft:#1E231C;
  --kf-danger:#E07060; --kf-danger-bg:#2A1A18; --kf-success:#4A9E6A; --kf-success-bg:#1A2E1E; --kf-info:#6B8FE0; --kf-info-bg:#1A1E30;
  --kf-text-heading:#F0EDD5; --kf-text-primary:#E8E4C0; --kf-text-body:#C8C5A0; --kf-text-label:#9A977A; --kf-text-secondary:#8A8770; --kf-text-tertiary:#6A6850;

  /* mapování na tokeny aplikace */
  --bg:var(--kf-bg-page); --surface:var(--kf-bg-card); --surface-2:var(--kf-bg-input); --line:var(--kf-border); --line-strong:var(--kf-border-strong);
  --fg:var(--kf-text-primary); --muted:var(--kf-text-secondary); --heading:var(--kf-text-heading);
  --accent:var(--kf-accent); --accent-fg:var(--kf-bg-deep); --accent-soft:var(--kf-accent-bg);
  --primary-bg:var(--kf-accent); --primary-fg:var(--kf-bg-deep);
  --ok:var(--kf-success); --ok-soft:var(--kf-success-bg); --warn:var(--kf-accent-text); --warn-soft:var(--kf-accent-bg);
  --bad:var(--kf-danger); --bad-soft:var(--kf-danger-bg); --info:var(--kf-info); --info-soft:var(--kf-info-bg);
  --brand:var(--kf-bg-deep); --brand-2:var(--kf-bg-nav); --brand-line:var(--kf-border); --brand-fg:var(--kf-text-primary); --brand-muted:var(--kf-text-secondary);
  --gold:var(--kf-accent); --gold-deep:var(--kf-accent); --gold-soft:var(--kf-accent-bg);
  --paper:#ffffff; --paper-fg:#1A1A1A; --paper-line:#E8E8E8; --paper-accent:#C8A84B;

  --f-display:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --r:7px;
  color-scheme:dark;
}
html{-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
img{max-width:100%}
body{margin:0;font-size:13.5px}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.45}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}
button,input,select,textarea{font:inherit;color:inherit}
button:disabled{opacity:.45;cursor:default}
:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.num,.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}

.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));max-width:1440px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:800;font-size:17px;letter-spacing:-.01em;white-space:nowrap}
.brand-mark{width:28px;height:28px;border-radius:5px;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-size:12px;letter-spacing:0}
.brand small{font-family:var(--f-body);font-weight:500;font-size:12px;color:var(--muted);letter-spacing:0}
nav.tabs{display:flex;gap:2px;overflow-x:auto;flex:1;min-width:0}
nav.tabs button{background:none;border:0;padding:8px 11px;border-radius:var(--r);color:var(--muted);font-weight:500;cursor:pointer;white-space:nowrap}
nav.tabs button:hover{background:var(--surface-2);color:var(--fg)}
nav.tabs button[aria-current="page"]{background:var(--accent-soft);color:var(--accent);font-weight:600}
.top-right{display:flex;align-items:center;gap:10px;margin-left:auto}
.sample{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--warn);background:var(--warn-soft);padding:3px 8px;border-radius:99px;font-weight:600;white-space:nowrap}
.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--muted);user-select:none;white-space:nowrap}
.switch input{appearance:none;width:34px;height:20px;border-radius:99px;background:var(--line-strong);position:relative;cursor:pointer;transition:background .15s;margin:0}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--surface);transition:transform .15s}
.switch input:checked{background:var(--accent)}
.switch input:checked::after{transform:translateX(14px)}

main{max-width:1440px;margin:0 auto;padding-block:20px 60px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);letter-spacing:-.01em;text-wrap:balance;margin:0}
h1{font-size:24px;font-weight:700}
h2{font-size:16px;font-weight:700}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.muted{color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.pad{padding:16px}
.stack{display:flex;flex-direction:column;gap:16px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.spacer{flex:1}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--surface);padding:7px 12px;border-radius:var(--r);cursor:pointer;font-weight:500;font-size:13px;white-space:nowrap}
.btn:hover:not(:disabled){background:var(--surface-2)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}
.btn.ghost{border-color:transparent;background:transparent;color:var(--accent)}
.btn.ghost:hover:not(:disabled){background:var(--accent-soft)}
.btn.sm{padding:4px 9px;font-size:12px}
.btn[data-armed="1"]{background:var(--bad);border-color:var(--bad);color:#fff}
.icon-btn{border:0;background:none;width:26px;height:26px;border-radius:var(--r);cursor:pointer;color:var(--muted);font-size:16px;line-height:1;display:inline-grid;place-items:center}
.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--fg)}
.icon-btn.del:hover{background:var(--bad-soft);color:var(--bad)}
.icon-btn[data-armed="1"]{background:var(--bad);color:#fff}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field label,.flabel{font-size:12px;color:var(--muted);font-weight:500}
.field input,.field select,.field textarea,.inp{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:7px 9px;width:100%;min-width:0}
.field textarea{resize:vertical;min-height:70px}
.grid-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.hint{font-size:12px;color:var(--muted);margin-top:6px}

.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:99px;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.st-rozpracovana{color:var(--muted);background:var(--surface-2)}
.st-odeslana{color:var(--info);background:var(--info-soft)}
.st-prijata{color:var(--ok);background:var(--ok-soft)}
.st-odmitnuta{color:var(--bad);background:var(--bad-soft)}
.bdg{display:inline-block;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:4px;margin-left:7px;vertical-align:1px;white-space:nowrap}
.bdg-opt{background:var(--surface-2);color:var(--muted)}
.bdg-sel{background:var(--ok-soft);color:var(--ok)}
.bdg-price{background:var(--warn-soft);color:var(--warn)}

/* přehled */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-block:16px}
.kpi{padding:14px 16px}
.kpi .v{font-family:var(--f-mono);font-size:22px;font-weight:500;margin-top:4px;font-variant-numeric:tabular-nums}
.kpi .s{font-size:12px;color:var(--muted)}
.attn{margin-bottom:16px}
.attn-h{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}
.attn ul{list-style:none;margin:0;padding:0}
.attn li button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 16px;cursor:pointer}
.attn li:last-child button{border-bottom:0}
.attn li button:hover{background:var(--surface-2)}
.attn .what{font-weight:600}
.attn .who{font-size:12.5px;color:var(--muted)}
.attn .go{font-size:12.5px;color:var(--accent);white-space:nowrap}
.dot{width:9px;height:9px;border-radius:50%}
.dot-bad{background:var(--bad)} .dot-warn{background:var(--warn)} .dot-info{background:var(--info)}
.board-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.board-tools input{max-width:360px}
.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
@media (max-width:1000px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.board{grid-template-columns:1fr}}
.col{background:var(--surface-2);border-radius:var(--r);padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.col-h{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 4px}
.col-h .num{font-size:12px;color:var(--muted)}
.ncard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px;cursor:pointer;text-align:left;width:100%;display:flex;flex-direction:column;gap:6px;transition:border-color .12s}
.ncard:hover{border-color:var(--accent)}
.ncard .c{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.ncard .t{font-weight:600;line-height:1.3}
.ncard .z{font-size:12.5px;color:var(--muted)}
.ncard .b{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:2px}
.ncard .b .num{font-weight:500}
.ncard .why{font-size:12px;color:var(--bad)}
.empty-col{font-size:12.5px;color:var(--muted);padding:8px 4px}

/* editor */
.ed{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
@media (max-width:1020px){.ed{grid-template-columns:minmax(0,1fr)}}
.side{display:flex;flex-direction:column;gap:16px}
.ed-head{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.title-in{font-family:var(--f-display);font-size:22px;font-weight:700;border:1px solid transparent;background:transparent;padding:2px 6px;margin-left:-7px;border-radius:var(--r);width:100%;min-width:0;letter-spacing:-.01em}
.title-in:hover{border-color:var(--line)}
.title-in:focus{border-color:var(--accent);background:var(--surface)}
.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden;flex-wrap:wrap}
.seg button{border:0;background:var(--surface);padding:7px 12px;cursor:pointer;font-size:13px;border-right:1px solid var(--line)}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-fg);font-weight:600}

.oddil{overflow:hidden}
.oddil-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.oddil-h .d{font-family:var(--f-mono);font-size:12px;color:var(--muted);font-weight:500}
.oddil-h input.on{font-weight:600;border:1px solid transparent;background:transparent;padding:4px 6px;border-radius:var(--r);flex:1;min-width:160px}
.oddil-h input.on:hover{border-color:var(--line-strong)}
.oddil-h input.on:focus{border-color:var(--accent);background:var(--surface)}
.mz{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.mz input{width:56px;border:1px solid var(--line);border-radius:var(--r);padding:4px 6px;text-align:right;background:var(--surface);font-family:var(--f-mono)}
.oddil-sum{font-family:var(--f-mono);font-weight:500;white-space:nowrap}
.tbl-wrap{overflow-x:auto}
table.items{width:100%;border-collapse:collapse;min-width:760px}
table.items th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);white-space:nowrap}
table.items th.num,table.items td.num{text-align:right}
table.items td{padding:3px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
table.items tr:last-child td{border-bottom:0}
table.items tr:hover td{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}
table.items input:not([type=checkbox]),table.items select{border:1px solid transparent;background:transparent;padding:5px 6px;border-radius:4px;width:100%;min-width:0}
table.items input:not([type=checkbox]):hover,table.items select:hover{border-color:var(--line)}
table.items input:not([type=checkbox]):focus,table.items select:focus{border-color:var(--accent);background:var(--surface);outline:none}
table.items input.n{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
table.items input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
tr.opt td:not(.int-col){color:var(--muted)}
tr.opt td.c-tot{font-style:italic}
.c-idx{width:30px;color:var(--muted);font-family:var(--f-mono);font-size:12px;text-align:right}
.c-typ{width:56px}
.c-mj{width:60px}
.c-n{width:88px}
.c-nc{width:96px}
.c-mz{width:70px}
.c-nh{width:70px}
.c-pc{width:100px}
.c-tot{width:116px}
.c-opt{width:40px;text-align:center}
.c-x{width:84px;white-space:nowrap;text-align:right}
select.typ{font-weight:700;font-family:var(--f-mono);cursor:pointer}
select.typ-P{color:var(--accent)}
select.typ-M{color:var(--warn)}
.kod{display:block;font-family:var(--f-mono);font-size:10.5px;color:var(--muted);padding-left:7px;margin-top:-3px}
td.strong{font-weight:600}
.int-col{background:color-mix(in srgb,var(--warn-soft) 55%,transparent)}
table.items tr:hover td.int-col{background:var(--warn-soft)}
input.lowm{color:var(--bad)!important;font-weight:600}
.oddil-f{display:flex;gap:6px;flex-wrap:wrap;padding:8px 10px;border-top:1px solid var(--line)}

.sum-t{width:100%;border-collapse:collapse}
.sum-t td{padding:5px 0;font-size:13.5px}
.sum-t td.num{text-align:right}
.sum-t tr.sep td{border-top:1px solid var(--line);padding-top:9px}
.sum-t tr.total td{font-family:var(--f-display);font-weight:700;font-size:18px;padding-top:10px;border-top:2px solid var(--fg)}
.sum-t tr.total td.num{font-family:var(--f-mono);font-weight:500}
.sum-t tr.opt td{color:var(--muted);font-size:12.5px}
.internal{margin-top:12px;padding:12px;border-radius:var(--r);background:var(--warn-soft);font-size:13px}
.internal .eyebrow{color:var(--warn)}
.internal .sum-t td{font-size:13px}
.lowtxt{color:var(--bad)}
.bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:6px}
.bar span{display:block;height:100%;background:var(--ok)}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ck{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;font-size:13px;align-items:start}
.ci{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;margin-top:1px}
.ck-err .ci{background:var(--bad);color:#fff}
.ck-warn .ci{background:var(--warn-soft);color:var(--warn);outline:1px solid var(--warn)}
.ck-info .ci{background:var(--info-soft);color:var(--info)}
.ck-ok .ci{background:var(--ok);color:#fff}
.kv{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:5px 0;font-size:13.5px}
.kv b{font-family:var(--f-mono);font-weight:500;white-space:nowrap}
.mini{width:62px;border:1px solid var(--line);border-radius:var(--r);padding:4px 6px;text-align:right;background:var(--surface);font-family:var(--f-mono)}
.pl-row{display:grid;grid-template-columns:minmax(0,1fr) 60px 110px 26px;gap:6px;align-items:center;padding:3px 0}
.pl-row input{border:1px solid var(--line);border-radius:var(--r);padding:5px 7px;background:var(--surface);min-width:0;width:100%}
.pl-row input.n{text-align:right;font-family:var(--f-mono)}
.pl-row .num{text-align:right;font-size:12.5px}
.ver{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-top:1px solid var(--line)}
.ver:first-of-type{border-top:0}
.ver-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.ver-h b{font-family:var(--f-mono);font-weight:500}
.ver .acts{display:flex;gap:4px;margin-top:4px}
.log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.log li{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:13px}
.log time{font-family:var(--f-mono);font-size:11.5px;color:var(--muted);padding-top:1px;white-space:nowrap}
.mbar{display:none}
@media (max-width:1020px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;gap:12px;align-items:center;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08);padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .mbar b{display:block;font-family:var(--f-mono);font-weight:500;font-size:16px}
  .mb-space{height:70px}
}

/* katalog */
.kat-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-block:14px}
.kat-tools input[type=search]{flex:1;max-width:380px}
table.kat{width:100%;border-collapse:collapse;min-width:760px}
table.kat th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);background:var(--surface-2)}
table.kat td{padding:6px 10px;border-bottom:1px solid var(--line)}
table.kat th.num,table.kat td.num{text-align:right}
table.kat input{border:1px solid transparent;background:transparent;padding:5px 6px;border-radius:4px;width:100%}
table.kat input:hover{border-color:var(--line)}
table.kat input:focus{border-color:var(--accent);background:var(--surface);outline:none}
table.kat input.n{text-align:right;font-family:var(--f-mono)}
.tag{font-family:var(--f-mono);font-weight:700;font-size:12px;padding:1px 7px;border-radius:4px}
.tag-P{color:var(--accent);background:var(--accent-soft)}
.tag-M{color:var(--warn);background:var(--warn-soft)}

/* strom katalogu */
.kat-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:880px){.kat-layout{grid-template-columns:minmax(0,1fr)}}
.tree-panel{position:sticky;top:calc(env(safe-area-inset-top,0px) + 72px);max-height:calc(100vh - 100px);overflow:auto}
@media (max-width:880px){.tree-panel{position:static;max-height:420px}}
.tp-h{display:flex;align-items:center;gap:8px;padding:12px 12px 6px}
.tp-f{display:flex;gap:4px;padding:6px 8px 10px;border-top:1px solid var(--line)}
ul.tree,ul.tree ul{list-style:none;margin:0;padding:0}
ul.tree{padding:2px 6px 8px}
.tn{display:flex;align-items:center;gap:2px;padding:1px 4px 1px calc(2px + var(--d,0) * 18px);border-radius:var(--r);position:relative}
.tn::before{content:"";position:absolute;left:calc(var(--d,0) * 18px - 7px);top:0;bottom:0;border-left:1px solid var(--line);display:var(--guide,block)}
.tn[style*="--d:0"]::before{display:none}
.tn:hover{background:var(--surface-2)}
.tn.sel{background:var(--accent-soft)}
.tn.sel .tl{color:var(--accent);font-weight:600}
.tn.over{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}
.tn[draggable="true"]{cursor:grab}
.tw{width:22px;height:26px;border:0;background:none;color:var(--muted);cursor:pointer;flex:none;font-size:11px;display:inline-grid;place-items:center}
.tw:disabled{opacity:.5;cursor:default}
.tl{flex:1;min-width:0;text-align:left;border:0;background:none;padding:6px 4px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}
.tn.root .tl{font-weight:600}
.tc{font-family:var(--f-mono);font-size:11px;color:var(--muted);padding:0 4px;flex:none}
.tadd{opacity:0;border:0;background:none;width:24px;height:24px;border-radius:4px;color:var(--accent);cursor:pointer;font-size:16px;flex:none}
.tadd:hover{background:var(--surface)}
.tn:hover .tadd,.tn.sel .tadd,.tadd:focus-visible{opacity:1}
@media (hover:none){.tadd{opacity:1}}
.grp-bar{display:flex;flex-direction:column;gap:8px}
.crumbs{font-size:12.5px;color:var(--muted)}
.crumbs button{border:0;background:none;color:var(--accent);cursor:pointer;padding:0;font-size:inherit}
.crumbs button:hover{text-decoration:underline}
.grp-title{font-size:24px}
table.kat tr.gh td{background:var(--surface-2);font-size:12.5px;color:var(--muted);padding:7px 10px;border-bottom:1px solid var(--line)}
table.kat tr.gh button{border:0;background:none;padding:0;color:var(--muted);cursor:pointer;font-size:inherit;text-align:left}
table.kat tr.gh button:hover b{color:var(--accent)}
table.kat tr.gh b{color:var(--fg)}
table.kat tr.picked td{background:var(--accent-soft)}
table.kat select{border:1px solid transparent;background:transparent;padding:5px 4px;border-radius:4px;width:100%;font-size:13px}
table.kat select:hover{border-color:var(--line)}
table.kat input[type=checkbox],.tree-panel input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}
.grip{cursor:grab;white-space:nowrap;user-select:none}
.grip::before{content:"⠿";color:var(--muted);margin-right:5px}
.bulk{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:var(--accent-soft);border-radius:var(--r)}
details.pt{border-left:1px solid var(--line);margin-left:2px}
.modal-b > details.pt{border-left:0;margin-left:0;border-bottom:1px solid var(--line)}
details.pt summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 6px;cursor:pointer;font-weight:600;list-style:none;border-radius:4px}
details.pt summary:hover{background:var(--surface-2)}
details.pt summary::-webkit-details-marker{display:none}
details.pt summary span:first-child::before{content:"▸";color:var(--muted);margin-right:8px;display:inline-block;transition:transform .15s}
details.pt[open] > summary span:first-child::before{transform:rotate(90deg)}
.pt-b{padding-left:14px}
#pick-list > details.pt{border-left:0;border-bottom:1px solid var(--line)}

/* modal */
.backdrop{position:fixed;inset:0;background:rgba(10,15,25,.5);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 40px) max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px));overflow-y:auto}
.modal{background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;max-width:740px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.modal-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.modal-b{padding:14px 16px;max-height:68vh;overflow-y:auto}
.modal-f{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line)}
.pick-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.pick-row .pn{font-size:13.5px}
.pick-row .pk{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.pick-row .num{font-size:12.5px;color:var(--muted);white-space:nowrap}
@media (max-width:520px){.pick-row{grid-template-columns:auto minmax(0,1fr) auto}.pick-row .num{display:none}}
.tpl{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.tpl button{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.tpl button:hover{border-color:var(--accent);background:var(--accent-soft)}
.tpl b{font-weight:600}
.tpl span{font-size:12.5px;color:var(--muted)}
.diff{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.diff li{padding:8px 10px;border-radius:var(--r);font-size:13px;display:flex;gap:10px;align-items:baseline}
.diff .k{font-family:var(--f-mono);font-weight:700;width:14px;flex:none}
.d-add{background:var(--ok-soft)} .d-add .k{color:var(--ok)}
.d-del{background:var(--bad-soft)} .d-del .k{color:var(--bad)}
.d-chg{background:var(--info-soft)} .d-chg .k{color:var(--info)}
table.mt{width:100%;border-collapse:collapse;font-size:13px}
table.mt th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:6px;border-bottom:1px solid var(--line)}
table.mt td{padding:6px;border-bottom:1px solid var(--line)}
table.mt .num{text-align:right}
.up{color:var(--bad)} .down{color:var(--ok)}
textarea.paste{width:100%;min-height:150px;font-family:var(--f-mono);font-size:12.5px;border:1px solid var(--line);border-radius:var(--r);padding:10px;background:var(--surface);resize:vertical;white-space:pre;overflow-x:auto}

/* náhled */
.pv-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.pv-desk{background:var(--surface-2);border-radius:var(--r);padding:24px 12px;overflow-x:auto}
.paper{background:var(--paper);color:var(--paper-fg);width:794px;max-width:none;margin:0 auto;padding:48px 52px 56px;box-shadow:0 2px 3px rgba(0,0,0,.08),0 10px 30px rgba(0,0,0,.12);font-size:12.5px;line-height:1.45}
.paper .p-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:14px;border-bottom:3px solid var(--paper-accent)}
.paper .p-logo{font-family:var(--f-display);font-weight:800;font-size:24px;color:var(--paper-accent);letter-spacing:-.02em;line-height:1}
.paper .p-logo span{display:block;font-family:var(--f-body);font-weight:500;font-size:10.5px;color:#5b6a7f;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
.paper .p-firm{text-align:right;font-size:11px;color:#4a5668;line-height:1.5}
.paper h1{font-size:22px;margin:26px 0 4px;color:var(--paper-fg)}
.paper .p-meta{display:flex;gap:28px;flex-wrap:wrap;font-size:11.5px;color:#4a5668}
.paper .p-meta b{color:var(--paper-fg);font-weight:600}
.paper .p-parties{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}
.paper .p-box{border:1px solid var(--paper-line);padding:10px 12px}
.paper .p-box .eyebrow{color:#5b6a7f;margin-bottom:4px}
.paper h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--paper-accent);margin:22px 0 8px}
.paper table{width:100%;border-collapse:collapse}
.paper th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#5b6a7f;font-weight:600;text-align:left;padding:5px 6px;border-bottom:1.5px solid var(--paper-fg)}
.paper td{padding:4px 6px;border-bottom:1px solid var(--paper-line);vertical-align:top}
.paper .num{text-align:right;font-family:var(--f-mono);font-size:11.5px;white-space:nowrap}
.paper tr.p-odd td{background:#eef2f8;font-weight:600;border-bottom:1px solid #c7d1df}
.paper tr.p-sub td{font-weight:600;border-bottom:0}
.paper tr.p-tot td{font-family:var(--f-display);font-weight:700;font-size:15px;border-top:2px solid var(--paper-fg);border-bottom:0;padding-top:8px}
.paper tr.p-tot td.num{font-family:var(--f-mono);font-weight:500;font-size:14px}
.paper .p-note{margin-top:10px;padding:8px 10px;background:#f3f6fa;border-left:3px solid var(--paper-accent);font-size:11.5px}
.paper .p-cond{white-space:pre-line;font-size:11.5px;color:#333d4b}
.paper .p-sign{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}
.paper .p-sign div{border-top:1px solid var(--paper-fg);padding-top:6px;font-size:11px;color:#4a5668}
.paper .p-int{background:#fbeed2;color:#7a4d00;border:1px dashed #c99a3a;padding:8px 12px;font-weight:600;margin-bottom:16px;font-size:12px}
.paper td.p-i{background:#fdf6e6;color:#7a4d00}
.paper .p-foot{margin-top:28px;padding-top:8px;border-top:1px solid var(--paper-line);font-size:10px;color:#6b7788;display:flex;justify-content:space-between}
.prod-note{font-size:12.5px;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--r);padding:10px 12px}

/* zákaznický odkaz */
.portal{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.portal-sim{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);background:var(--info-soft);border-radius:var(--r);padding:10px 14px}
.portal-sim code{font-family:var(--f-mono);color:var(--info);font-size:12.5px;word-break:break-all}
.ph{padding:26px 24px;border-radius:8px;background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden}
.ph::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--accent)}
.ph .firm{font-family:var(--f-display);font-weight:800;color:var(--accent);font-size:15px}
.ph h1{font-size:26px;margin:14px 0 4px}
.ph .amt{font-family:var(--f-mono);font-size:32px;font-weight:500;margin-top:18px;font-variant-numeric:tabular-nums}
.ph .amt-l{font-size:12.5px;color:var(--muted)}
.ph .meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:10px}
.ph .meta b{color:var(--fg);font-weight:600}
details.po{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
details.po summary{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;cursor:pointer;font-weight:600;list-style:none}
details.po summary::-webkit-details-marker{display:none}
details.po summary::before{content:"▸";color:var(--muted);margin-right:8px;transition:transform .15s;display:inline-block}
details.po[open] summary::before{transform:rotate(90deg)}
details.po summary .nm{flex:1}
details.po summary .num{font-weight:500}
.po-items{border-top:1px solid var(--line);padding:6px 16px 10px}
.po-it{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--line)}
.po-it:last-child{border-bottom:0}
.po-it .q{color:var(--muted);white-space:nowrap}
.opt-list{display:flex;flex-direction:column;gap:8px}
.opt-c{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer}
.opt-c:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.opt-c input{width:18px;height:18px;accent-color:var(--accent)}
.opt-c .num{font-weight:500;white-space:nowrap}
.accept{padding:20px}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:13px;cursor:pointer}
.chk input{width:16px;height:16px;margin-top:2px;accent-color:var(--accent)}
.done{background:var(--ok-soft);color:var(--ok);border-radius:var(--r);padding:14px 16px;font-weight:600}

.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:9px 16px;border-radius:var(--r);font-size:13px;z-index:60;box-shadow:0 6px 20px rgba(0,0,0,.2);max-width:calc(100% - 32px);text-align:center}
@media (min-width:1021px){.toast{bottom:calc(env(safe-area-inset-bottom,0px) + 24px)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ====================== KaM Energy – identita ====================== */
body{padding-top:env(safe-area-inset-top,0px)}
body::before{background:var(--brand)}
.top{background:var(--brand);border-bottom:3px solid var(--gold);color:var(--brand-fg)}
.brand{text-decoration:none;color:var(--brand-fg);gap:12px}
.logo{display:inline-flex;align-items:center}
.logo img{height:30px;width:auto;display:block}
.logo.has-img .logo-txt{display:none}
.logo-txt{font-family:var(--f-display);font-weight:800;font-size:21px;letter-spacing:-.01em;color:var(--brand-fg)}
.logo-txt b{color:var(--gold);font-weight:800}
.brand-app{font-family:var(--f-body);font-weight:500;font-size:13px;color:var(--brand-muted);letter-spacing:.06em;text-transform:uppercase;border-left:1px solid var(--brand-line);padding-left:12px}
nav.tabs button,nav.tabs a{color:var(--brand-muted);text-decoration:none;background:none;border:0;padding:8px 12px;border-radius:var(--r);font-weight:500;cursor:pointer;white-space:nowrap;font-size:14.5px}
nav.tabs a:hover{background:var(--brand-2);color:var(--brand-fg)}
nav.tabs a[aria-current="page"]{background:transparent;color:var(--gold);font-weight:600;box-shadow:inset 0 -2px 0 var(--gold);border-radius:0}
.btn.on-dark{background:transparent;border-color:var(--brand-line);color:var(--brand-fg)}
.btn.on-dark:hover:not(:disabled){background:var(--brand-2)}
.switch.on-dark{color:var(--brand-muted)}
.switch.on-dark input{background:var(--brand-line)}
.switch.on-dark input:checked{background:var(--gold)}
.switch.on-dark input::after{background:var(--brand-fg)}
.user-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--brand-line);background:var(--brand-2);color:var(--gold);font-weight:700;font-family:var(--f-display);cursor:pointer;font-size:13px}
.user-btn:hover{border-color:var(--gold)}
.btn.primary{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-fg)}
.btn.primary:hover:not(:disabled){filter:none;background:var(--primary-bg);box-shadow:inset 0 0 0 1px var(--gold)}
h1{font-size:26px}
.eyebrow{letter-spacing:.1em}
.kpi .v{font-family:var(--f-display);font-weight:700;font-size:26px;letter-spacing:-.01em}
.boot{padding:60px 0;text-align:center;color:var(--muted)}
a.btn{text-decoration:none;color:inherit}
a.btn.primary{color:var(--primary-fg)}

/* stav ukládání */
.save-st{font-size:12.5px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.save-st::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.save-st.saving::before{background:var(--warn)}
.save-st.err{color:var(--bad)}
.save-st.err::before{background:var(--bad)}

/* přihlášení */
.login{min-height:100vh;display:grid;place-items:center;background:var(--brand);padding:24px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px));}
.login-card{width:100%;max-width:380px;background:var(--surface);border-radius:10px;padding:28px 26px;border-top:4px solid var(--gold);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.login-card .logo-txt{color:var(--fg);font-size:26px}
.login-card form{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.login-err{color:var(--bad);font-size:13px;min-height:18px}
.login-tag{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* odkaz pro zákazníka */
.linkbox{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.linkbox code{font-family:var(--f-mono);font-size:12px;background:var(--surface-2);padding:6px 8px;border-radius:var(--r);word-break:break-all;flex:1;min-width:0}
.drop{border:2px dashed var(--line-strong);border-radius:8px;padding:26px 16px;text-align:center;color:var(--muted);cursor:pointer;display:block}
.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}
.drop input{display:none}
.steps{display:flex;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:12px}
.steps span{padding:3px 9px;border-radius:99px;background:var(--surface-2)}
.steps span.on{background:var(--accent);color:var(--accent-fg);font-weight:600}
.map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:6px 0 12px}
.stat{background:var(--surface-2);border-radius:var(--r);padding:10px 12px}
.stat b{display:block;font-family:var(--f-display);font-size:22px;font-weight:700}
.stat span{font-size:12px;color:var(--muted)}
.radio{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;cursor:pointer;padding:4px 0}
.radio input{margin-top:3px;accent-color:var(--accent)}
.menu-wrap{position:relative;display:inline-block}
.menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 30px rgba(0,0,0,.15);min-width:220px;z-index:30;padding:4px}
.menu button,.menu a{display:block;width:100%;text-align:left;background:none;border:0;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:13.5px;color:var(--fg);text-decoration:none}
.menu button:hover,.menu a:hover{background:var(--surface-2)}
.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.footer-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px;font-size:12.5px}
.footer-links a{color:var(--muted)}

/* papír – firemní hlavičkový styl */
.paper .p-head{border-bottom:2px solid var(--paper-accent);padding-bottom:12px}
.paper .p-logo{color:var(--paper-fg);font-family:var(--f-display);font-weight:800;font-size:26px}
.paper .p-logo b{color:var(--paper-accent)}
.paper .p-logo img{height:46px;width:auto;display:block}
.paper .p-logo.has-img .logo-txt{display:none}
.paper .p-logo .logo-txt{color:var(--paper-fg);font-size:26px}
.paper .p-tag{font-family:var(--f-body);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7a7468;margin-top:4px}
.paper .p-firm{font-size:10.5px;line-height:1.55}
.paper .p-firm .gold{color:var(--paper-accent);font-weight:600;letter-spacing:.04em}
.paper h1{font-family:var(--f-display)}
.paper h2{color:var(--paper-accent)}
.paper th{border-bottom-color:var(--paper-fg)}
.paper tr.p-odd td{background:#f5f1e8;border-bottom-color:#e2d9c4}
.paper .p-note{background:#f7f3ea;border-left-color:var(--paper-accent)}
.paper .p-foot{border-top:2px solid var(--paper-accent);color:#6b665c}

/* tisk do PDF */
@media print{
  @page{size:A4;margin:12mm 12mm 14mm}
  body{background:#fff!important;padding:0}
  body::before,.top,.pv-bar,.prod-note,.mbar,.toast,.backdrop{display:none!important}
  main{padding:0!important;max-width:none}
  .pv-desk{background:none!important;padding:0!important;overflow:visible}
  .paper{box-shadow:none!important;width:auto!important;padding:0!important;font-size:11.5px}
  .paper tr{break-inside:avoid}
  .paper h2{break-after:avoid}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ====================== rozložení jako KaMflow ====================== */
body{padding-top:0;background:var(--kf-bg-page);color:var(--kf-text-primary)}
body::before{display:none}
.shell{display:grid;grid-template-columns:184px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh}
.shell > .top{grid-column:1 / -1}
.top{position:sticky;top:0;z-index:20;background:var(--kf-bg-deep);border-bottom:1px solid var(--kf-border-soft);padding-top:env(safe-area-inset-top,0px)}
.top-in{max-width:none;padding-block:8px;gap:14px}
.brand{gap:12px;text-decoration:none}
.logo img{height:30px;width:auto;display:block}
.logo-inv img{filter:brightness(0) invert(1)}
.logo.has-img .logo-txt{display:none}
.logo-txt{font-family:var(--f-body);font-weight:800;font-size:19px;color:var(--kf-text-heading);letter-spacing:-.02em}
.logo-txt b{color:var(--kf-accent)}
.brand-app{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--kf-text-secondary);border-left:1px solid var(--kf-border);padding-left:12px;font-weight:600}
nav.kf-nav{background:var(--kf-bg-nav);border-right:1px solid var(--kf-border-soft);padding:10px 0;position:sticky;top:47px;align-self:start;height:calc(100vh - 47px);overflow-y:auto}
.kf-nav-btn{display:flex;align-items:center;gap:10px;padding:10px 18px;border-left:3px solid transparent;color:var(--kf-text-primary);text-decoration:none;font-size:13px;background:none;border-top:0;border-right:0;border-bottom:0;width:100%;cursor:pointer}
.kf-nav-btn:hover{background:var(--kf-bg-hover)}
.kf-nav-btn .ic{font-size:17px;width:22px;text-align:center;line-height:1}
.kf-nav-label{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.kf-nav-btn[aria-current="page"]{border-left-color:var(--kf-accent);background:var(--kf-accent-bg)}
.kf-nav-btn[aria-current="page"] .kf-nav-label{color:var(--kf-accent)}
.kf-nav-sep{height:1px;background:var(--kf-border-soft);margin:8px 14px}
.kf-nav-sub{padding:4px 18px 4px 21px;font-size:10.5px;color:var(--kf-text-tertiary);text-transform:uppercase;letter-spacing:.08em}
main{max-width:1400px;width:100%;margin:0;padding-block:18px 60px}
@media (max-width:900px){
  .shell{grid-template-columns:minmax(0,1fr)}
  nav.kf-nav{position:sticky;top:47px;z-index:15;height:auto;display:flex;overflow-x:auto;padding:0;border-right:0;border-bottom:1px solid var(--kf-border-soft)}
  .kf-nav-btn{flex-direction:column;gap:4px;width:auto;padding:8px 14px;border-left:0;border-bottom:3px solid transparent;flex:none}
  .kf-nav-btn[aria-current="page"]{border-bottom-color:var(--kf-accent);background:transparent}
  .kf-nav-btn .ic{font-size:22px}
  .kf-nav-sep,.kf-nav-sub{display:none}
  .brand-app{display:none}
}

/* typografie a prvky */
h1,h2,h3{font-family:var(--f-body);color:var(--kf-text-heading);letter-spacing:-.01em}
h1{font-size:20px;font-weight:700}
h2{font-size:14px;font-weight:700}
.eyebrow,.flabel,.field label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--kf-text-label)}
.muted{color:var(--kf-text-secondary)}
.card{background:var(--kf-bg-card);border:1px solid var(--kf-border);border-radius:10px}
.field input,.field select,.field textarea,.inp,.kat-tools input[type=search]{background:var(--kf-bg-input);border:1.5px solid var(--kf-border-input);border-radius:7px;color:var(--kf-text-primary);padding:8px 10px;font-size:13px}
.field input:focus,.field select:focus,.field textarea:focus,.inp:focus{outline:none;border-color:var(--kf-accent)}
.btn{background:transparent;border:1px solid var(--kf-border-input);color:var(--kf-text-body);border-radius:7px;font-size:12.5px;font-weight:500}
.btn:hover:not(:disabled){background:var(--kf-bg-hover);color:var(--kf-text-primary)}
.btn.primary,a.btn.primary{background:var(--kf-accent);border-color:var(--kf-accent);color:var(--kf-bg-deep);font-weight:600;border-radius:8px}
.btn.primary:hover:not(:disabled){background:var(--kf-accent-text);border-color:var(--kf-accent-text);box-shadow:none}
.btn.ghost{color:var(--kf-accent)}
.btn.ghost:hover:not(:disabled){background:var(--kf-accent-bg)}
.btn.on-dark{border-color:var(--kf-border-input);color:var(--kf-text-secondary)}
.switch.on-dark{color:var(--kf-text-secondary)}
.switch input,.switch.on-dark input{background:var(--kf-border-input)}
.switch input:checked,.switch.on-dark input:checked{background:var(--kf-accent)}
.switch input::after,.switch.on-dark input::after{background:var(--kf-text-primary)}
.user-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--kf-border);border-radius:8px;padding:3px 10px 3px 4px;background:transparent;cursor:pointer;color:var(--kf-text-primary)}
.user-chip .av{width:26px;height:26px;border-radius:50%;background:var(--kf-accent-bg);color:var(--kf-accent);display:grid;place-items:center;font-weight:700;font-size:11px;border:1px solid var(--kf-accent)}
.user-chip .nm{font-size:12px;font-weight:600;line-height:1.1;text-align:left}
.user-chip .nm small{display:block;color:var(--kf-text-tertiary);font-weight:500;font-size:10.5px}
.user-chip:hover{border-color:var(--kf-accent)}
@media (max-width:600px){.user-chip .nm{display:none}.switch.on-dark{font-size:0;gap:0}}

/* přehled – seznamové řádky ve stylu KaMflow */
.kpi .v{font-family:var(--f-mono);font-weight:500;font-size:22px;color:var(--kf-accent-text)}
.col{background:transparent;border:1px solid var(--kf-border-soft);border-radius:10px}
.ncard{background:var(--kf-bg-card);border:1px solid var(--kf-border);border-radius:8px;border-left:3px solid var(--kf-border-strong)}
.ncard:hover{border-color:var(--kf-accent);border-left-color:var(--kf-accent)}
.ncard .t{color:var(--kf-text-heading)}
.ncard .b .num{color:var(--kf-accent-text)}
.attn{border-color:#E0706066;background:#1d1514}
.attn-h h2{color:var(--kf-danger);text-transform:uppercase;letter-spacing:.04em}
.attn li button{border-bottom-color:var(--kf-border)}
.attn li button:hover{background:var(--kf-bg-hover)}
.pill{background:transparent;border:1px solid currentColor}
.st-rozpracovana{color:var(--kf-text-secondary)}
.st-odeslana{color:var(--kf-info)}
.st-prijata{color:var(--kf-success)}
.st-odmitnuta{color:var(--kf-danger)}

/* editor */
.oddil-h{background:var(--kf-bg-input);border-bottom-color:var(--kf-border)}
.oddil-h input.on{color:var(--kf-text-heading)}
.oddil-sum{color:var(--kf-accent-text)}
table.items th,table.kat th{color:var(--kf-text-tertiary);font-size:10px;background:transparent}
table.items td,table.kat td{border-bottom-color:var(--kf-border-soft)}
table.items input:not([type=checkbox]),table.items select,table.kat input,table.kat select{color:var(--kf-text-primary)}
table.items input.n,table.kat input.n{background:var(--kf-bg-input);border-color:var(--kf-border-input)}
table.items tr:hover td{background:var(--kf-bg-hover)}
td.c-tot{color:var(--kf-accent-text)}
.int-col{background:#1d1a12}
table.items tr:hover td.int-col{background:#262113}
select.typ-P{color:#E0A050}
select.typ-M{color:#7FA0F0}
.tag-P{background:#3a2a14;color:#E0A050}
.tag-M{background:#1A1E30;color:#7FA0F0}
.sum-t tr.total td{border-top-color:var(--kf-accent);color:var(--kf-text-heading)}
.sum-t tr.total td.num{color:var(--kf-accent-text)}
.internal{background:#1d1a12;border:1px solid #3a3220}
.mbar{background:var(--kf-bg-deep);border-top-color:var(--kf-border)}
.mbar b{color:var(--kf-accent-text)}
table.kat tr.gh td{background:var(--kf-bg-input);color:var(--kf-text-secondary)}
table.kat tr.gh b{color:var(--kf-text-heading)}
table.kat tr.picked td{background:var(--kf-accent-bg)}
.tree-panel{top:58px}
.tn.sel{background:var(--kf-accent-bg)}
.tn.sel .tl{color:var(--kf-accent)}
.modal{background:var(--kf-bg-card);border-color:var(--kf-border);border-radius:12px}
.backdrop{background:rgba(0,0,0,.65)}
.toast{background:var(--kf-accent);color:var(--kf-bg-deep);font-weight:600}
.linkbox code{background:var(--kf-bg-input);color:var(--kf-text-body)}
.stat{background:var(--kf-bg-input)}
.stat b{color:var(--kf-accent-text)}

/* náhled exportu */
.pv-tools{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}
.pv-frame{width:100%;height:calc(100vh - 230px);min-height:520px;border:0;border-radius:8px;background:#fff;display:block}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--kf-border-input);background:transparent;color:var(--kf-text-body);border-radius:7px;padding:6px 12px;font-size:12.5px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--kf-accent);border-color:var(--kf-accent);color:var(--kf-bg-deep);font-weight:600}
.chip input{width:46px;background:transparent;border:0;color:inherit;font:inherit;text-align:center;padding:0}

/* přihlášení */
.login{background:var(--kf-bg-deep)}
.login-card{background:var(--kf-bg-card);border:1px solid var(--kf-border);border-top:3px solid var(--kf-accent)}
.login-card .logo img{height:70px}
.login-card .logo-txt{font-size:26px}
.paper .p-logo .logo-txt{display:inline;text-transform:none;letter-spacing:-.01em;margin:0;font-weight:800}
main.bare{padding:0!important;max-width:none}
main.bare .login{margin:0}
.shell.bare{display:block}
/* šířky tabulek */
table.items{min-width:900px}
table.items td:nth-child(3){min-width:240px}
.c-typ{width:46px}
select.typ{appearance:none;-webkit-appearance:none;text-align:center;padding:5px 0!important;font-size:13px}
.c-nh{width:78px}
table.kat{min-width:1020px}
table.kat td:nth-child(4){min-width:260px}
.ed{grid-template-columns:minmax(0,1fr) 320px}
@media (max-width:1280px){.ed{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1500px){.ed{grid-template-columns:minmax(0,1fr)}}
.c-mj{width:64px}
table.items input.n{padding:5px 5px}
