/* ============================================================
   BUCHARŮV JOB RADAR — vzhled
   Stejný systém jako cv.znouze.eu: barevná + ČB verze, tisk A4,
   hustá sazba, plně použitelné na mobilu.
   ============================================================ */

/* Výchozí je vždy plně černé pozadí — nezávisle na nastavení systému.
   Bílou verzi si uživatel zapne tlačítkem ČB (hodí se na tisk). */
:root{
  --bg:#000000; --surf:#0B0D10; --surf2:#14181D; --line:#242A31; --line2:#39424C;
  --text:#E4EBF2; --muted:#93A2B1; --acc:#FFB23F; --acc2:#46CFD6;
  --ok:#5FD98C; --warn:#FF7A66; --hvezda:#FFC857;
  color-scheme:dark;
  --ff-d:"Oxanium","Trebuchet MS",sans-serif;
  --ff-b:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --ff-m:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}
body.bw{
  --bg:#fff; --surf:#fff; --surf2:#f2f2f2; --line:#c9c9c9; --line2:#8f8f8f;
  --text:#000; --muted:#3d3d3d; --acc:#000; --acc2:#000; --ok:#000; --warn:#000;
  --hvezda:#000; color-scheme:light;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--text); font-family:var(--ff-b);
  font-size:15px; line-height:1.45; -webkit-text-size-adjust:100%;
}
.wrap{max-width:1280px;margin:0 auto;padding-inline:14px;padding-block:0 34px}
a{color:var(--acc2)}
a:hover{color:var(--acc)}
h1,h2,h3{font-family:var(--ff-d);margin:0;text-wrap:balance}
h1{font-size:23px;font-weight:800;letter-spacing:-.01em}
h2{font-size:18px;font-weight:700;margin:18px 0 6px;break-after:avoid}
h3{font-size:15px;font-weight:700;margin:12px 0 4px}
p{margin:0 0 8px;max-width:78ch}
code,.mono{font-family:var(--ff-m);font-size:.88em}
hr{border:0;border-top:1px solid var(--line);margin:14px 0}

/* ---------- lišta ---------- */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;
  background:var(--bg);border-bottom:1px solid var(--line)}
.bar-in{max-width:1280px;margin:0 auto;padding:6px 14px;
  display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap}
.brand{font-family:var(--ff-d);font-weight:800;font-size:13px;letter-spacing:.05em;
  color:var(--acc);text-decoration:none;white-space:nowrap}
.bar nav{display:flex;gap:10px;flex-wrap:wrap;flex:1;min-width:0}
.bar nav a{color:var(--muted);text-decoration:none;font-size:13px;white-space:nowrap;
  padding:3px 0}
.bar nav a.akt{color:var(--acc);border-bottom:2px solid var(--acc)}
.bar nav a:hover{color:var(--text)}

/* ---------- tlačítka ---------- */
.btn,button.btn,a.btn{display:inline-block;font-family:var(--ff-m);font-size:11.5px;
  letter-spacing:.05em;text-transform:uppercase;color:var(--text);background:var(--surf);
  border:1px solid var(--line2);border-radius:5px;padding:6px 10px;cursor:pointer;
  text-decoration:none;line-height:1.35;min-height:32px}
.btn:hover{border-color:var(--acc);color:var(--acc)}
.btn.on{background:var(--acc);border-color:var(--acc);color:var(--bg);font-weight:600}
body.bw .btn.on{background:#000;color:#fff}
.btn.prim{background:var(--acc);border-color:var(--acc);color:var(--bg);font-weight:600}
body.bw .btn.prim{background:#000;color:#fff}
.btn.mini{font-size:10.5px;padding:3px 7px;min-height:0}
.btn.nebezpeci{border-color:var(--warn);color:var(--warn)}
.btns{display:flex;gap:5px;flex-wrap:wrap;align-items:center}

/* ---------- formuláře ---------- */
input,select,textarea{font-family:var(--ff-b);font-size:14px;color:var(--text);
  background:var(--surf);border:1px solid var(--line2);border-radius:5px;
  padding:6px 8px;min-height:34px;max-width:100%}
textarea{min-height:150px;line-height:1.45;resize:vertical;width:100%}
input[type=checkbox],input[type=radio]{min-height:0;width:17px;height:17px;
  accent-color:var(--acc);vertical-align:-3px}
input[type=range]{padding:0;accent-color:var(--acc)}
label{font-size:13.5px}
.pole{display:flex;flex-direction:column;gap:3px;min-width:0}
.pole>span{font-family:var(--ff-m);font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted)}
fieldset{border:1px solid var(--line);border-radius:7px;padding:10px 12px;margin:0 0 12px}
legend{font-family:var(--ff-m);font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--acc2);padding:0 5px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

/* ---------- karty a mřížky ---------- */
.karta{background:var(--surf);border:1px solid var(--line);border-radius:8px;
  padding:11px 13px;min-width:0;break-inside:avoid}
.mrizka{display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.dlazdice{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:8px;overflow:hidden;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  margin:10px 0}
.dlazdice>div{background:var(--surf);padding:8px 11px}
.dlazdice dt{font-family:var(--ff-m);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)}
.dlazdice dd{margin:1px 0 0;font-family:var(--ff-d);font-weight:700;font-size:19px;
  font-variant-numeric:tabular-nums}

/* ---------- tabulky ---------- */
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surf);
  margin:10px 0}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th,td{text-align:left;padding:6px 9px;border-bottom:1px solid var(--line);
  vertical-align:top;line-height:1.38}
thead th{background:var(--surf2);font-family:var(--ff-m);font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;
  position:sticky;top:0;z-index:2}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--surf2)}
td.c,th.c{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr{break-inside:avoid}

/* ---------- štítky ---------- */
.s{display:inline-block;font-family:var(--ff-m);font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;padding:1px 6px;border-radius:99px;border:1px solid;
  white-space:nowrap}
.s-nove{color:var(--ok);border-color:var(--ok)}
.s-videno{color:var(--muted);border-color:var(--line2)}
.s-zajimave{color:var(--hvezda);border-color:var(--hvezda)}
.s-skryto,.s-zamitnuto{color:var(--warn);border-color:var(--warn)}
.s-odeslano{color:var(--acc2);border-color:var(--acc2)}
.s-agentura{color:var(--warn);border-color:var(--warn)}
.s-zmena{color:var(--acc);border-color:var(--acc)}

/* skóre */
.skore{font-family:var(--ff-d);font-weight:800;font-size:15px;
  font-variant-numeric:tabular-nums;color:var(--acc)}
.skore.nizke{color:var(--muted)}

/* ---------- hodiny a razítko aktualizace ---------- */
.hodiny{font-family:var(--ff-m);font-size:12px;color:var(--acc2);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.razitko{font-family:var(--ff-m);font-size:11.5px;color:var(--muted);
  font-variant-numeric:tabular-nums}
.razitko b{color:var(--text);font-weight:600}
.razitko.stara{color:var(--warn)}

/* ---------- řaditelné hlavičky tabulky ---------- */
th.sort a{color:inherit;text-decoration:none;display:inline-flex;gap:3px;align-items:center;
  white-space:nowrap}
th.sort a:hover{color:var(--acc)}
th.sort.akt a{color:var(--acc)}
th.sort .sip{font-size:9px;opacity:.85}

/* ---------- přehled místa ---------- */
.mistokarta .radek-mista{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.mistokarta .popisek{font-family:var(--ff-m);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);flex:1;min-width:0}
.mistokarta .cislo{font-family:var(--ff-d);font-weight:700;font-size:16px;
  font-variant-numeric:tabular-nums}
.pruh{height:9px;border-radius:99px;background:var(--surf2);border:1px solid var(--line);
  overflow:hidden;margin-top:4px}
.pruh i{display:block;height:100%;border-radius:99px;min-width:2px}
.pruh i.klidny{background:var(--ok)}
.pruh i.varovny{background:var(--acc)}
.pruh i.kriticky{background:var(--warn)}
body.bw .pruh i{background:#000}
body.bw .pruh i.varovny{background:repeating-linear-gradient(45deg,#000 0 3px,#fff 3px 6px)}
body.bw .pruh i.kriticky{background:repeating-linear-gradient(45deg,#000 0 2px,#fff 2px 4px)}
table.rozpad{margin-top:6px;font-size:13px}
table.rozpad td{border:0;padding:2px 0}
table.rozpad td.c{text-align:right;font-variant-numeric:tabular-nums;
  font-family:var(--ff-m);white-space:nowrap;padding-right:10px}
table.rozpad tr:hover{background:none}

/* ---------- hlášky ---------- */
.hlaska{border-left:3px solid var(--acc2);background:var(--surf);border-radius:0 7px 7px 0;
  padding:9px 11px;margin:10px 0}
.hlaska.chyba{border-left-color:var(--warn)}
.hlaska.ok{border-left-color:var(--ok)}
.hlaska.pozor{border-left-color:var(--acc)}
.hlaska p:last-child{margin-bottom:0}

.muted{color:var(--muted)}
.maly{font-size:12.5px}
.prazdno{text-align:center;color:var(--muted);padding:34px 14px}

/* ---------- seznam nabídek: na mobilu karty ---------- */
.nabidka-hlava{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.pozice{font-family:var(--ff-d);font-weight:700;font-size:15px;text-decoration:none;
  color:var(--text)}
.pozice:hover{color:var(--acc)}
.firma{text-decoration:none}

@media (max-width:820px){
  .bar nav{order:3;width:100%}
  table.nabidky, table.nabidky thead, table.nabidky tbody, table.nabidky tr,
  table.nabidky td{display:block;width:100%}
  table.nabidky thead{display:none}
  table.nabidky tr{border-bottom:1px solid var(--line);padding:9px 10px}
  table.nabidky td{border:0;padding:1px 0}
  table.nabidky td.c{text-align:left}
  table.nabidky td[data-l]::before{content:attr(data-l) " ";
    font-family:var(--ff-m);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--muted)}
  .tw{overflow:visible}
}

/* ============================================================
   TISK — A4, barevná i černobílá tiskárna
   ============================================================ */
@page{size:A4;margin:11mm 12mm}
@page landscape{size:A4 landscape}
@media print{
  :root,body,body.bw{
    --bg:#fff;--surf:#fff;--surf2:#fff;--line:#cfcfcf;--line2:#9a9a9a;
    --text:#000;--muted:#464646;--acc:#8a5a00;--acc2:#0b5d55;--ok:#0b5d55;
    --warn:#8a3a22;--hvezda:#7a5a00;
  }
  body.bw{--acc:#000;--acc2:#000;--ok:#000;--warn:#000;--hvezda:#000;--muted:#333}
  html,body{background:#fff!important;color:#000}
  body{font-size:8.8pt;line-height:1.32;
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bar,.netisknout,.btns,.filtr,form.netisknout,footer{display:none!important}
  .jentisk{display:block!important}
  *{box-shadow:none!important;text-shadow:none!important}
  a{color:inherit!important;text-decoration:none}
  .wrap{max-width:none;padding:0}
  h1{font-size:15pt;margin-bottom:1mm}
  h2{font-size:10.4pt;margin:2.6mm 0 1mm;padding-bottom:.5mm;
    border-bottom:.6pt solid var(--line2)}
  h3{font-size:9pt;margin:2mm 0 .6mm}
  p{margin:0 0 1.2mm;max-width:none}
  .tw{overflow:visible;border-radius:1.2mm;margin:1.6mm 0}
  table{font-size:8pt}
  th,td{padding:.9mm 1.5mm;line-height:1.28}
  thead th{font-size:6.4pt;position:static}
  thead{display:table-header-group}
  tbody tr:hover{background:none}
  .karta{padding:1.4mm 2mm;border-radius:1.2mm}
  .mrizka{gap:1.6mm}
  .dlazdice{margin:1.6mm 0;border-radius:1.2mm}
  .dlazdice>div{padding:1.2mm 1.6mm}
  .dlazdice dt{font-size:6.2pt}
  .dlazdice dd{font-size:10pt}
  .s{font-size:6.4pt;padding:0 1.2mm}
  .hlaska{padding:1.2mm 2mm;margin:1.6mm 0;border-left-width:1.4pt}
  .skore{font-size:9pt}
  .hlavicka-tisku{display:block!important;border-bottom:1.2pt solid var(--acc);
    padding-bottom:2mm;margin-bottom:2.6mm}
  .patka-tisku{display:block!important;margin-top:3mm;padding-top:1.4mm;
    border-top:.6pt solid var(--line);font-size:7pt;color:var(--muted)}
}
.jentisk,.hlavicka-tisku,.patka-tisku{display:none}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
