/* =====================================================================
   RLM Partner – brand
   Teplá kamenná neutrální, grafitová a firemní červená RLM jako jediný akcent.
   Zaoblené tvary, měkké stíny, písmo Figtree (přívětivé), čísla v IBM Plex Mono.
   ===================================================================== */
:root{
  --bg:#F8F6F4; --surface:#FFFFFF; --surface-2:#FBF9F8; --sunk:#F3F0ED;
  --ink:#24272C; --ink-2:#51565D; --muted:#88827D; --line:#EFEAE6; --line-2:#E3DCD7;
  --brand:#BA0927; --brand-hover:#A30822; --brand-soft:#FDEFF1; --brand-ink:#FFFFFF;
  --night:#2B2F35; --night-2:#383D44; --night-ink:#F6F2EF; --night-muted:#B9B2AD;
  --ok:#1F8A5B; --ok-soft:#E9F6EF; --warn:#B26F12; --warn-soft:#FFF5E4; --info:#3B6FCC; --info-soft:#EEF3FD;
  --gA:#3FA474; --gB:#5B86D6; --gC:#D08A2A; --gD:#A39C97;
  --bar-ok:#9FD9BC; --bar-ok-ink:#145C3D; --bar-warn:#F7CF8F; --bar-warn-ink:#7A4A0B; --bar-bad:#F4A9B5; --bar-bad-ink:#8A0A20; --bar-done:#DAD4CF; --bar-done-ink:#5E5853;
  --r-lg:20px; --r:14px; --r-sm:10px; --pill:999px;
  --sh-1:0 1px 2px rgba(28,31,35,.05),0 2px 8px rgba(28,31,35,.04);
  --sh-2:0 2px 6px rgba(28,31,35,.06),0 14px 34px rgba(28,31,35,.10);
  --f:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-num:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#17191C; --surface:#202327; --surface-2:#262A2F; --sunk:#1B1D21;
  --ink:#F1ECE8; --ink-2:#CFC8C3; --muted:#9C958F; --line:#2C3035; --line-2:#383D43;
  --brand:#E8405C; --brand-hover:#F2617A; --brand-soft:#3A1820; --brand-ink:#FFFFFF;
  --night:#131518; --night-2:#24282D; --night-ink:#F1ECE8; --night-muted:#9C958F;
  --ok:#5CCB95; --ok-soft:#173023; --warn:#F2B55C; --warn-soft:#382A13; --info:#8EB1F5; --info-soft:#1B2945;
  --gA:#5CCB95; --gB:#8EB1F5; --gC:#F2B55C; --gD:#9C958F;
  --bar-ok:#2E6B50; --bar-ok-ink:#E3F7EC; --bar-warn:#7A5A26; --bar-warn-ink:#FFF0D6; --bar-bad:#7A2B39; --bar-bad-ink:#FFE4E9; --bar-done:#3A3E44; --bar-done-ink:#D6D0CB;
  --sh-1:0 1px 2px rgba(0,0,0,.3); --sh-2:0 14px 34px rgba(0,0,0,.45); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#17191C; --surface:#202327; --surface-2:#262A2F; --sunk:#1B1D21;
  --ink:#F1ECE8; --ink-2:#CFC8C3; --muted:#9C958F; --line:#2C3035; --line-2:#383D43;
  --brand:#E8405C; --brand-hover:#F2617A; --brand-soft:#3A1820; --brand-ink:#FFFFFF;
  --night:#131518; --night-2:#24282D; --night-ink:#F1ECE8; --night-muted:#9C958F;
  --ok:#5CCB95; --ok-soft:#173023; --warn:#F2B55C; --warn-soft:#382A13; --info:#8EB1F5; --info-soft:#1B2945;
  --gA:#5CCB95; --gB:#8EB1F5; --gC:#F2B55C; --gD:#9C958F;
  --bar-ok:#2E6B50; --bar-ok-ink:#E3F7EC; --bar-warn:#7A5A26; --bar-warn-ink:#FFF0D6; --bar-bad:#7A2B39; --bar-bad-ink:#FFE4E9; --bar-done:#3A3E44; --bar-done-ink:#D6D0CB;
  --sh-1:0 1px 2px rgba(0,0,0,.3); --sh-2:0 14px 34px rgba(0,0,0,.45); color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15.5px/1.55 var(--f);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--brand)}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px;border-radius:6px}
h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-.01em}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)} .small{font-size:13.5px} .xs{font-size:12.5px}
.stack{display:flex;flex-direction:column;gap:12px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.spacer{flex:1}
.eyebrow{font:700 11.5px/1 var(--f);letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}

/* logo */
.logo{display:block;color:var(--ink)} .logo svg{display:block;width:100%;height:auto}

/* tlačítka */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);
  padding:9px 18px;border-radius:var(--pill);font-weight:650;font-size:14.5px;cursor:pointer;white-space:nowrap;text-decoration:none;line-height:1.2;
  transition:background .15s,border-color .15s,transform .05s}
.btn:hover{border-color:var(--ink-2)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.btn.soft{background:var(--brand-soft);border-color:transparent;color:var(--brand)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}
.btn.ghost:hover{background:var(--sunk)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.sm{padding:6px 13px;font-size:13.5px}
.btn.lg{padding:14px 24px;font-size:16.5px}
.btn.block{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.icon{width:18px;height:18px;flex:none;display:inline-block}

/* karty */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:18px 20px;min-width:0}
.card.flat{box-shadow:none}
.card h3{font-size:16.5px;font-weight:700}

/* štítky */
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--pill);font-size:12.5px;font-weight:650;background:var(--sunk);color:var(--ink-2);white-space:nowrap}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.85}
.chip.plain::before{display:none}
.chip.ok{background:var(--ok-soft);color:var(--ok)} .chip.warn{background:var(--warn-soft);color:var(--warn)}
.chip.bad{background:var(--brand-soft);color:var(--brand)} .chip.info{background:var(--info-soft);color:var(--info)}
.tag{display:inline-block;font-size:12.5px;padding:2px 9px;border-radius:var(--pill);background:var(--sunk);color:var(--ink-2);margin:2px 3px 2px 0;white-space:nowrap}

/* hodnocení A–D */
.grade{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;font:800 16px var(--f);color:#fff;flex:none}
.grade.A{background:var(--gA)}.grade.B{background:var(--gB)}.grade.C{background:var(--gC)}.grade.D{background:var(--gD)}
.grade.sm{width:26px;height:26px;border-radius:9px;font-size:13.5px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .grade{color:#131416}}
:root[data-theme="dark"] .grade{color:#131416}

/* avatar */
.avatar{width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;font:750 14px var(--f);flex:none;background:var(--brand-soft);color:var(--brand)}
.avatar.lg{width:52px;height:52px;font-size:18px}
.avatar.c1{background:#FDE8D7;color:#9A4A0B}.avatar.c2{background:#E3EEFB;color:#2558B8}.avatar.c3{background:#E2F3EA;color:#127A4B}.avatar.c4{background:#F0E6FA;color:#6B3FA0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .avatar.c1,:root:not([data-theme="light"]) .avatar.c2,:root:not([data-theme="light"]) .avatar.c3,:root:not([data-theme="light"]) .avatar.c4{background:var(--sunk);color:var(--ink)}}
:root[data-theme="dark"] .avatar.c1,:root[data-theme="dark"] .avatar.c2,:root[data-theme="dark"] .avatar.c3,:root[data-theme="dark"] .avatar.c4{background:var(--sunk);color:var(--ink)}

/* formuláře */
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label,.lbl{font-size:13px;font-weight:650;color:var(--ink-2)}
.field .hint{font-size:12.5px;color:var(--muted)}
.input,.field input,.field select,.field textarea{width:100%;min-width:0;padding:10px 13px;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);transition:border-color .15s}
.field input:focus,.field select:focus,.field textarea:focus,.input:focus{outline:none;border-color:var(--brand)}
.field textarea{resize:vertical;line-height:1.5}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--brand);margin-top:1px;flex:none}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.span2{grid-column:span 2}.span-all{grid-column:1/-1}
@media (max-width:820px){.grid3,.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.grid2,.grid3,.grid4{grid-template-columns:1fr}.span2{grid-column:auto}}

/* segment */
.seg{display:inline-flex;background:var(--sunk);border-radius:var(--pill);padding:3px;gap:2px}
.seg button{border:0;background:transparent;padding:6px 13px;border-radius:var(--pill);font-weight:650;font-size:13.5px;color:var(--muted);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);opacity:0;pointer-events:none;
  background:var(--ink);color:var(--surface);padding:12px 18px;border-radius:var(--pill);font-weight:600;font-size:14.5px;z-index:90;max-width:calc(100% - 32px);
  box-shadow:var(--sh-2);transition:opacity .2s,transform .2s}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.err{background:var(--brand);color:#fff}
.toast.ok{background:var(--ok);color:#fff}

/* úrovně jazyka */
.lv{display:inline-flex;gap:2px;vertical-align:middle}.lv i{width:6px;height:11px;border-radius:2px;background:var(--line-2)}.lv i.on{background:var(--ink)}

/* tisk objednávky */
#print{display:none}
@media print{
  body>*:not(#print){display:none!important}
  #print{display:block!important;color:#000;background:#fff;font:11pt/1.45 var(--f)}
  @page{size:A4;margin:16mm 16mm 18mm}
}
.doc{max-width:180mm;margin:0 auto;color:#1C1F23}
.doc .dhead{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #BA0927;padding-bottom:10px;margin-bottom:16px}
.doc .dhead .logo{width:120px;color:#1C1F23}
.doc h1{font-size:20pt;margin:0 0 2px}
.doc h2{font-size:12pt;margin:18px 0 6px;color:#BA0927;text-transform:uppercase;letter-spacing:.06em}
.doc table{width:100%;border-collapse:collapse;font-size:10.5pt}
.doc td{padding:5px 8px;border-bottom:1px solid #E6E0DC;vertical-align:top}
.doc td:first-child{width:38%;color:#5B5550}
.doc .parties{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.doc .party{border:1px solid #E6E0DC;border-radius:8px;padding:10px 12px;font-size:10.5pt}
.doc .party b{display:block;font-size:9pt;text-transform:uppercase;letter-spacing:.08em;color:#5B5550;margin-bottom:4px}
.doc .terms{font-size:9.5pt;white-space:pre-wrap;color:#333}
.doc .sigs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.doc .sig{border-top:1px solid #333;padding-top:6px;font-size:9.5pt;min-height:70px;position:relative}
.doc .sig img{position:absolute;bottom:26px;left:0;height:60px}
.doc .foot{margin-top:18px;font-size:8.5pt;color:#7C7671}

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

/* mapa */
.emap{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#DCE8F0;aspect-ratio:3/2;max-width:100%}
.emap svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none}
.emap .sea{fill:#DCE8F0}
.emap .ctr path{fill:#F4F1EC;stroke:#BDB3AA;stroke-width:.6;vector-effect:non-scaling-stroke}
.emap .ctr path.cz{fill:#FBEFF1}
.emap .pin{cursor:pointer}
.emap .pin text{font-family:var(--f);font-weight:700;fill:#1C1F23;paint-order:stroke;stroke:#fff;stroke-linejoin:round}
.emap .mctl{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:4px}
.emap .mbtn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line-2);background:#fff;color:#1C1F23;font:700 18px var(--f);cursor:pointer;box-shadow:var(--sh-1)}
.emap .mleg{position:absolute;left:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:6px 12px;background:rgba(255,255,255,.92);color:#1C1F23;border-radius:10px;padding:6px 10px;font-size:12.5px;font-weight:600}
.emap .mleg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.emap.pick svg{cursor:crosshair}

/* odpočet */
.countdown{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13.5px;color:var(--warn);background:var(--warn-soft);padding:4px 11px;border-radius:var(--pill)}
.countdown.urgent{color:var(--brand);background:var(--brand-soft)}
.countdown.over{color:var(--muted);background:var(--sunk)}
.doc table.vk td{width:auto;color:#1C1F23;height:26px;border:1px solid #DED5CF}
.doc table.vk td:first-child{width:auto;color:#1C1F23}
.chip.hpp{background:#E8F0FB;color:#1F4E8C}

/* ---------- v6: stavy projektu (barvy jako v Caflou, světlé) ---------- */
.pst{display:inline-flex;align-items:center;padding:3px 11px;border-radius:var(--pill);font:700 11.5px/1.4 var(--f);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.st-0{background:#EFECEA;color:#6E6862}.st-plan{background:#FFF6C9;color:#7A6200}.st-rec{background:#EFE7FB;color:#6A3FB0}.st-pred{background:#E6EFFC;color:#2E5DAE}
.st-real{background:#FFE9C7;color:#8F5200}.st-fakt{background:#DDF4F1;color:#13756B}.st-done{background:#E3F4EA;color:#1F7A4D}
:root[data-theme="dark"] .st-0{background:#2E3136;color:#C9C3BE}:root[data-theme="dark"] .st-plan{background:#3D3713;color:#F3DE7A}:root[data-theme="dark"] .st-rec{background:#33284A;color:#CDB6F5}
:root[data-theme="dark"] .st-pred{background:#1E2D48;color:#A9C4F5}:root[data-theme="dark"] .st-real{background:#45321A;color:#F7C27F}:root[data-theme="dark"] .st-fakt{background:#173A36;color:#86DDD2}:root[data-theme="dark"] .st-done{background:#1B3527;color:#8FDCB3}
.ptyp{display:inline-flex;padding:2px 9px;border-radius:var(--pill);font:650 11.5px/1.5 var(--f);letter-spacing:.03em;text-transform:uppercase;background:var(--sunk);color:var(--ink-2);white-space:nowrap}
.monty-av{display:inline-grid;width:26px;height:26px;flex:none}.monty-av svg{width:100%;height:100%;display:block}
