:root{
  --modra:#003da5; --modra2:#1763c7; --cervena:#e2231a; --seda:#f4f6f9;
  --tmava:#1c2530; --muted:#6b7785; --ok:#1a7f37; --warn:#b54708; --line:#e2e7ee;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",Roboto,Arial,sans-serif;color:var(--tmava);background:var(--seda)}

/* === Aplikační rám: boční panel + obsah (styl Raynet) =================== */
.app{display:flex;min-height:100vh}
.side{width:225px;flex:none;background:#fff;border-right:1px solid var(--line);
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.side-brand{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:1.2rem;
  color:var(--modra);text-decoration:none;padding:1rem 1.1rem .8rem;border-bottom:1px solid var(--line)}
.side-brand img{height:28px;width:28px}
.side-hledat{padding:.6rem .55rem 0}
.side-hledat input{width:100%;padding:.42rem .6rem;border:1px solid var(--line);
  border-radius:9px;font-size:.85rem;font-family:inherit;background:var(--seda)}
.side-hledat input:focus{outline:2px solid #cfe0ff;background:#fff}
.side-nav{flex:1;padding:.5rem .55rem;display:flex;flex-direction:column;gap:2px}
.sn-group{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);padding:.85rem .55rem .25rem}
.sn{display:flex;align-items:center;gap:.6rem;padding:.42rem .55rem;border-radius:9px;
  color:var(--tmava);text-decoration:none;font-size:.92rem;font-weight:500;border-left:3px solid transparent}
.sn .ic{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;
  border-radius:8px;font-size:.95rem;background:var(--c,#eef2f7);flex:none}
.sn:hover{background:var(--seda)}
.sn.on{background:var(--con,#eef4ff);border-left-color:var(--cakt,var(--modra));font-weight:700}
/* barvy sekcí */
.c-blue{--c:#dbe7ff;--con:#eaf1ff;--cakt:#003da5}
.c-blue2{--c:#d6e6f7;--con:#eaf3fc;--cakt:#1763c7}
.c-violet{--c:#e7defa;--con:#f2edfd;--cakt:#6d3fc4}
.c-red{--c:#fcdcda;--con:#fdefee;--cakt:#e2231a}
.c-orange{--c:#ffe6cc;--con:#fff4e8;--cakt:#c46a10}
.c-green{--c:#d4f0dd;--con:#ecf9f1;--cakt:#1a7f37}
.c-teal{--c:#cdeeed;--con:#e9f8f7;--cakt:#0f766e}
.c-cyan{--c:#d3ecf8;--con:#eaf6fc;--cakt:#0e7490}
.c-indigo{--c:#dee2fa;--con:#eef0fd;--cakt:#4338ca}
.c-slate{--c:#dfe5ec;--con:#eff2f6;--cakt:#475569}
.c-gray{--c:#e6e8eb;--con:#f1f2f4;--cakt:#5b6673}
.c-amber{--c:#fbe8b8;--con:#fdf4dd;--cakt:#9a6b00}
.side-out{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;color:var(--muted);
  text-decoration:none;font-size:.9rem;border-top:1px solid var(--line)}
.side-out:hover{color:var(--tmava);background:var(--seda)}
.side-out .ic{font-size:1rem}
.main-col{flex:1;min-width:0;display:flex;flex-direction:column}
main{width:100%;max-width:1080px;margin:1.5rem auto 0;padding:0 1.2rem;flex:1}
footer{text-align:center;color:var(--muted);padding:2rem 1rem}
h1{font-size:1.5rem;margin:.2rem 0 1rem}
h2{font-size:1.1rem;margin:1.6rem 0 .6rem}
a{color:var(--modra2)}

.cards{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.2rem}
.card.stat{flex:1;min-width:150px}
.card.stat .num{display:block;font-size:1.8rem;font-weight:700;color:var(--modra)}
.card.warn{border-color:#f3c79a;background:#fff8f0}
.card.warn .num{color:var(--warn)}
.card.ok{border-color:#abe6bd;background:#f0fbf4}

section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.2rem;margin-bottom:1rem}
.people{list-style:none;padding:0;margin:0}
.people li{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.people li:last-child{border-bottom:none}
.muted{color:var(--muted)}
.note{background:#eef4ff;border:1px solid #cfe0ff;border-radius:10px;padding:.8rem 1rem;color:#244}

.badge{font-size:.72rem;font-weight:700;border-radius:20px;padding:.12rem .55rem;color:#fff;background:#9aa7b4}
.badge.tier-A{background:var(--cervena)} .badge.tier-B{background:var(--modra2)} .badge.tier-C{background:#7a8a99}
.badge.call{background:#8a5a00}
.badge.warn{background:var(--warn)}
.badge.ok{background:var(--ok)}

table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--line);font-size:.92rem}
th{background:#f0f3f8;font-weight:600}
tr.dnc{opacity:.55;text-decoration:line-through}

.btn{display:inline-block;background:var(--modra);color:#fff;border:none;border-radius:8px;
  padding:.5rem .95rem;font-size:.92rem;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--modra2)}
.btn.ghost{background:#fff;color:var(--modra);border:1px solid var(--modra)}
.btn.danger{background:var(--cervena)}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.subactions{margin-top:1rem}

.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}
.filters input,.filters select,.form input,.form select,.form textarea{
  padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;font-size:.92rem;font-family:inherit}
.filters input[type=text]{flex:1;min-width:220px}

.form{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.2rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted);font-weight:600}
.form label input,.form label select,.form label textarea{color:var(--tmava);font-weight:400}
.form label.wide{grid-column:1 / -1}
.form label.check{flex-direction:row;align-items:center;gap:.5rem;grid-column:1 / -1}
.form textarea{min-height:70px}
.actions{margin-top:1rem;display:flex;gap:.6rem}

.bar{display:inline-block;width:80px;height:8px;background:#eee;border-radius:6px;vertical-align:middle;overflow:hidden;margin-right:.4rem}
.bar span{display:block;height:100%;background:var(--warn)}
details summary{cursor:pointer}
code{background:#eef1f5;padding:.05rem .35rem;border-radius:4px}
@media(max-width:680px){.grid2{grid-template-columns:1fr}}
.sablona-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.sablona-grid textarea{width:100%}
@media(max-width:900px){.sablona-grid{grid-template-columns:1fr}}

/* --- Karta zakázky: záložky (jako v Raynetu) --- */
.taby{display:flex;gap:.35rem;flex-wrap:nowrap;overflow-x:auto;margin:0 0 1rem;
  border-bottom:2px solid var(--line);scrollbar-width:none}
.taby::-webkit-scrollbar{display:none}
.tab-btn{border:1px solid var(--line);border-bottom:none;background:#f6f8fb;
  border-radius:10px 10px 0 0;padding:.55rem .95rem;font-size:.92rem;font-weight:600;
  cursor:pointer;color:var(--muted);border-top:3px solid var(--line);white-space:nowrap;
  font-family:inherit}
.tab-btn.aktivni{color:var(--tc,var(--modra));background:#fff;border-top-color:var(--tc,var(--modra));
  position:relative;top:2px;border-bottom:2px solid #fff}
.tab-btn .poc{display:inline-block;background:var(--tc,var(--modra));color:#fff;border-radius:20px;
  font-size:.72rem;padding:.02rem .45rem;margin-left:.35rem;opacity:.85}
.tb-blue{--tc:#003da5}.tb-red{--tc:#c22017}.tb-violet{--tc:#6d3fc4}
.tb-orange{--tc:#c46a10}.tb-teal{--tc:#0f766e}.tb-green{--tc:#1a7f37}.tb-cyan{--tc:#0e7490}
/* editovatelná Vstupní data přímo na kartě */
.vstup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.7rem .9rem}
.vstup-grid label.f.siroke{grid-column:1 / -1}
.vstup-grid label.f>input{padding:.5rem .6rem;font-size:.92rem}
.tab-obsah{display:none}
.tab-obsah.aktivni{display:block}
.lv-stav{display:inline-block;font-weight:700;border-radius:20px;padding:.18rem .65rem;font-size:.8rem}
.lv-stav.ok{background:#e6f6ec;color:var(--ok);border:1px solid #abe6bd}
.lv-stav.chybi{background:#fff8f0;color:var(--warn);border:1px solid #f3c79a}

/* --- Karta zakázky --- */
.zak-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.zak-status{background:#eef4ff;color:var(--modra);border:1px solid #cfe0ff;border-radius:20px;
  padding:.3rem .85rem;font-weight:700;font-size:.82rem;white-space:nowrap}
.zak-progress{height:8px;background:#e9eef5;border-radius:6px;overflow:hidden;margin:.9rem 0 .2rem}
.zak-progress span{display:block;height:100%;background:var(--modra)}
.zak-kv{width:100%;border-collapse:collapse;border:none;background:transparent}
.zak-kv td{border:none;padding:.32rem 0;font-size:.92rem;vertical-align:top}
.zak-kv td.k{color:var(--muted);width:44%;font-weight:600}
.zak-acts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.6rem}
.zak-act{display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:#fff;
  border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;font-size:.9rem;color:var(--tmava)}
.zak-soon{font-size:.68rem;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:.05rem .45rem;white-space:nowrap}
.zak-steps{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none}
.zak-step{font-size:.74rem;border:1px solid var(--line);border-radius:20px;padding:.18rem .6rem;color:var(--muted);background:#fff}
.zak-step .n{font-weight:700;margin-right:.3rem;opacity:.7}
.zak-step.done{background:#eef4ff;border-color:#cfe0ff;color:var(--modra)}
.zak-step.now{background:var(--cervena);border-color:var(--cervena);color:#fff}
.zak-step.now .n{opacity:1}
.zak-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.8rem}
.zak-chip{font-size:.74rem;background:#f0f3f8;color:var(--muted);border-radius:20px;padding:.14rem .55rem}
.lhuty{list-style:none;padding:0;margin:.2rem 0 0}
.lhuty li{padding:.32rem 0;font-size:.9rem;border-bottom:1px solid var(--line)}
.lhuty li:last-child{border-bottom:none}
.zak-warn{background:#fff4f3;border:1px solid #f3c0bb;color:#8a1f17;border-radius:10px;padding:.7rem .9rem;margin:0 0 1rem;font-size:.9rem}
.zak-flag{color:var(--cervena);font-weight:600}
a.zak-act{text-decoration:none;color:var(--tmava)}
a.zak-act:hover{background:var(--seda)}
.osoba{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.4rem 0;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.osoba input{padding:.35rem .5rem;border:1px solid var(--line);border-radius:6px;font-size:.82rem;font-family:inherit}
/* barevné odlišení stran + hierarchie */
.osoba.sell{border-left:4px solid var(--modra);background:#f5f8fe}
.osoba.buy{border-left:4px solid var(--cervena);background:#fdf5f4}
.osoba input.jmeno{flex:2;min-width:175px;font-size:.98rem;font-weight:700;border-color:#c7d3e3}
.pnum{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;
  border-radius:50%;color:#fff;font-weight:700;font-size:.8rem;flex:none}
.pnum.sell{background:var(--modra)} .pnum.buy{background:var(--cervena)}
.h-sell{color:var(--modra);border-left:4px solid var(--modra);padding-left:.5rem}
.h-buy{color:var(--cervena);border-left:4px solid var(--cervena);padding-left:.5rem}
.hcount{display:inline-block;font-size:.78rem;font-weight:700;color:#fff;border-radius:20px;
  padding:.02rem .5rem;vertical-align:middle}
.hcount.sell{background:var(--modra)} .hcount.buy{background:var(--cervena)}

/* --- Dashboard: zakázky + lhůty --- */
.dash-zak{list-style:none;padding:0;margin:0}
.dz{display:grid;grid-template-columns:1.6fr 1.5fr auto;gap:.9rem;align-items:center;
  padding:.7rem .6rem;border-bottom:1px solid var(--line)}
.dz:last-child{border-bottom:none}
.dz-red{background:#fff4f3;border-left:3px solid var(--cervena);border-radius:6px}
.dz-orange{background:#fff8f0;border-left:3px solid var(--warn);border-radius:6px}
.dz-name{font-size:1.05rem;font-weight:700;text-decoration:none;margin-right:.45rem}
.dz-faze{font-size:.85rem;color:var(--muted)}
.dz-fnum{font-weight:700;color:var(--modra)}
.dz-prog{display:block;height:6px;background:#e9eef5;border-radius:6px;overflow:hidden;margin-top:.3rem;max-width:230px}
.dz-prog span{display:block;height:100%;background:var(--modra)}
.dz-lhuta{font-size:.86rem;text-align:right;white-space:nowrap}
.dz-red .dz-lhuta{color:var(--cervena)} .dz-orange .dz-lhuta{color:var(--warn)}
.dash-prani{background:#fafbfc}
.prani-cols{display:flex;gap:2.5rem;flex-wrap:wrap}
.prani-lab{font-size:.78rem;color:var(--muted);margin-bottom:.3rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.prani-pill{display:inline-block;background:#eef2f7;border-radius:20px;padding:.16rem .6rem;
  margin:.15rem .25rem .15rem 0;font-size:.85rem;text-decoration:none;color:var(--tmava)}
.prani-pill:hover{background:#e3e9f1}
@media(max-width:680px){.dz{grid-template-columns:1fr;gap:.35rem}.dz-lhuta{text-align:left}}

/* --- Odhad pro notáře --------------------------------------------------- */
.tbl{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.92rem}
.tbl th,.tbl td{border:1px solid #e2e6ec;padding:.35rem .5rem;text-align:left;vertical-align:middle}
.tbl thead th{background:#f4f6f9;font-weight:600}
.tbl tbody tr:hover{background:#f8fafc}
.tbl input{width:100%;box-sizing:border-box;padding:.2rem .3rem;border:1px solid #d6dbe2;border-radius:4px}
.linkbtn{background:none;border:none;color:#003da5;cursor:pointer;padding:.15rem .3rem;font-size:.9rem;text-decoration:underline}
.linkbtn.danger{color:#e2231a}
.linkbtn:hover{opacity:.8}
.kv{display:grid;gap:.35rem;margin:.4rem 0}
.kv>div{display:grid;grid-template-columns:190px 1fr;gap:.6rem;align-items:baseline}
.kv>div>span{color:#667;font-size:.85rem}
.actions.wrap{display:flex;flex-wrap:wrap;gap:.4rem}
.form fieldset{border:1px solid #e2e6ec;border-radius:8px;padding:.6rem .8rem;margin:0}
.form fieldset legend{color:#667;font-size:.85rem;padding:0 .3rem}
@media(max-width:680px){.kv>div{grid-template-columns:1fr}}

/* === Mobil (telefon) ==================================================== */
@media(max-width:900px){
  /* boční panel se položí nahoru: jeden posuvný řádek barevných dlaždic */
  .app{flex-direction:column}
  .side{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--line)}
  .side-brand{padding:.7rem .9rem .4rem;border-bottom:none}
  .side-hledat{padding:.15rem .9rem .35rem}
  .side-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    gap:.3rem;padding:.2rem .7rem .6rem;scrollbar-width:none}
  .side-nav::-webkit-scrollbar{display:none}
  .sn{border-left:none;border:1px solid var(--line);padding:.34rem .65rem .34rem .4rem;
    font-size:.88rem;white-space:nowrap;flex:none}
  .sn.on{border-color:var(--cakt)}
  .side-out{border-top:none;position:absolute;top:.55rem;right:.6rem;padding:.3rem .5rem}
  .side{position:relative}
}
@media(max-width:680px){
  main{margin:1rem auto;padding:0 .8rem}
  h1{font-size:1.3rem}
  h2{font-size:1.05rem}
  /* široké tabulky lze odsunout do strany místo rozbití layoutu */
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .card.stat{min-width:calc(50% - .5rem)}
  .filters input[type=text]{min-width:100%}
  .row-between{flex-wrap:wrap}
  .zak-head{flex-direction:column}
  .prani-cols{gap:1.3rem}
  /* pohodlnější klikání a psaní prstem */
  .btn{padding:.6rem 1rem;font-size:1rem}
  .form input,.form select,.form textarea,.filters input,.filters select{font-size:16px}
  .faze-select,.stav-select,.zdroj-select{font-size:.95rem}
  .postup-chk input,.akt input[type=checkbox],.uk input[type=checkbox]{width:1.3rem;height:1.3rem}

  /* hlavní seznamy: místo širokých tabulek karty pod sebou */
  table.mobkarty{display:block;border:none;background:transparent;overflow:visible}
  .mobkarty thead{display:none}
  .mobkarty tbody{display:block}
  .mobkarty tr{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;
    padding:.65rem .8rem;margin-bottom:.6rem}
  .mobkarty td{display:block;border:none;padding:.2rem 0;font-size:.95rem}
  .mobkarty td:empty{display:none}
  .mobkarty .faze-select,.mobkarty .stav-select,.mobkarty .zdroj-select{max-width:100%;width:100%}
  .mobkarty .akt-mini-form{min-width:0}
}

/* --- Zájemci (poptávky ze Srealit/iDnes + ruční) --- */
.zajemci{margin:.4rem 0 1rem}
.zaj-tab{width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.95rem}
.zaj-tab th,.zaj-tab td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--line)}
.zaj-tab th{color:var(--muted);font-weight:600}
.zaj-inz{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.3rem 0}
.zaj-add{margin-top:.6rem}
.zaj-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}
.zaj-row input{flex:1 1 130px;padding:.45rem .6rem}
.btn.small{padding:.2rem .5rem;font-size:.85rem}

.zaj-akce{display:flex;gap:.35rem;align-items:center;white-space:nowrap}
.zaj-akce .btn.small{text-decoration:none}

/* editovatelná tabulka zájemců */
.zaj-scroll{overflow-x:auto}
.zaj-tab input{width:100%;min-width:60px;padding:.3rem .4rem;font-size:.9rem;box-sizing:border-box}
.zaj-tab td{vertical-align:top}
.zaj-kont a{font-size:.85rem}

.zaj-tab input.wide{min-width:230px}

/* === Leady ============================================================== */
.badge.kat-prodej{background:var(--modra2)}
.badge.kat-pronajem{background:#0f766e}
.badge.kat-dedic{background:#c46a10}
.badge.lst-novy{background:var(--cervena)}
.badge.lst-jednani{background:var(--modra)}
.badge.lst-predano{background:#6d3fc4}
.badge.lst-promenen{background:var(--ok)}
.badge.lst-ztraceny{background:#7a8a99}
/* hlavní seznamy (zakázky/leady/odhady): výrazné oddělení řádků */
@media(min-width:681px){
  .mobkarty td{border-bottom:2px solid #ccd6e3;padding:.7rem .7rem}
  .mobkarty tr:nth-child(even) td{background:#f3f6fa}
  .mobkarty tr:hover td{background:#eaf1fb}
  .mobkarty th{border-bottom:2px solid #b9c6d6}
}

/* stav placeného odhadu v seznamu */
.badge.ost-nove{background:var(--cervena)}
.badge.ost-prohlidka{background:var(--modra)}
.badge.ost-platba{background:var(--warn)}
.badge.ost-odhad{background:var(--modra2)}
.badge.ost-notar{background:#6d3fc4}
.badge.ost-hotovo{background:var(--ok)}
.badge.ost-seda{background:#9aa7b4}
/* karta odhadu — dvě větve postupu (placení / odhad) */
.postup-blok{border:1px solid var(--line);border-radius:10px;padding:.7rem .95rem;background:#fafbfc}
.postup-blok h3{margin:.1rem 0 .55rem;font-size:.98rem}
.postup-radek{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin:.2rem 0 .5rem}
.postup-radek input[type=text],.postup-radek input:not([type]){padding:.3rem .45rem;
  border:1px solid var(--line);border-radius:7px;font-size:.88rem;font-family:inherit}
.postup-chk{display:flex;gap:.55rem;align-items:flex-start;padding:.3rem 0;font-size:.92rem;cursor:pointer}
.postup-chk input{width:1.05rem;height:1.05rem;margin-top:.1rem;accent-color:var(--ok);cursor:pointer}
/* aktivity u leadu (úkol / událost / schůzka) */
.akt-seznam{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.7rem}
.akt{display:flex;gap:.5rem;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:9px;padding:.45rem .6rem;font-size:.92rem}
.akt input[type=checkbox]{width:1.05rem;height:1.05rem;margin-top:.15rem;accent-color:var(--ok);cursor:pointer}
.akt-ik{flex:none}
.akt-text{flex:1}
.akt.hotova{opacity:.55}
.akt.hotova .akt-text{text-decoration:line-through}
.akt.prosla{border-left:4px solid var(--cervena);background:#fff4f3}
.akt-add{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
.akt-add input,.akt-add select{padding:.42rem .55rem;border:1px solid var(--line);
  border-radius:8px;font-size:.9rem;font-family:inherit}
/* pevné mini popisky polí (nahradily šedé našeptávače, které mátly) */
label.f{display:flex;flex-direction:column;gap:2px;font-size:.66rem;color:var(--muted);
  font-weight:600;text-transform:uppercase;letter-spacing:.02em}
label.f>input,label.f>select,label.f>textarea{font-weight:400;color:var(--tmava);
  width:100%;box-sizing:border-box;text-transform:none;letter-spacing:0;
  padding:.35rem .5rem;border:1px solid var(--line);border-radius:6px;
  font-size:.85rem;font-family:inherit}
.side-hledat{display:flex;align-items:center;gap:.4rem}
.side-hledat .lupa{flex:none;font-size:.95rem}

/* stav systému (semafor automatik v Nastavení) */
.stav-sys{display:flex;flex-direction:column;gap:.15rem}
.stav-radek{display:flex;align-items:center;gap:.6rem;padding:.32rem .4rem;
  border-radius:8px;font-size:.92rem}
.stav-radek.spatne{background:#fff4f3}
.stav-nazev{flex:1}
.stav-kdy{color:var(--muted);font-size:.85rem;white-space:nowrap}

/* úkolníček na Přehledu (rychlé úkoly bez termínu) */
.uk-add{display:flex;gap:.45rem;margin-bottom:.6rem}
.uk-add input{flex:1;padding:.5rem .65rem;border:1px solid var(--line);border-radius:9px;
  font-size:.92rem;font-family:inherit}
.uk-seznam{display:flex;flex-direction:column;gap:.15rem}
.uk{display:flex;gap:.55rem;align-items:center;padding:.3rem .35rem;border-radius:8px;font-size:.93rem}
.uk:hover{background:var(--seda)}
.uk input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--ok);cursor:pointer;flex:none}
.uk-text{flex:1;overflow-wrap:anywhere}
.uk.hotovy .uk-text{text-decoration:line-through;color:var(--muted)}
.uk .linkbtn{visibility:hidden}
.uk:hover .linkbtn{visibility:visible}

/* pošta — seznam mailů (na kartách i v /posta) */
.mail-seznam{display:flex;flex-direction:column;gap:.35rem}
.mail-radek{display:flex;gap:.55rem;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:9px;padding:.5rem .65rem;font-size:.9rem}
/* příchozí vlevo (modře), odeslané odsazené vpravo (zeleně) — jako v chatu */
.mail-radek.prijaty{margin-right:12%;border-left:4px solid var(--modra2);background:#f7faff}
.mail-radek.odeslany{margin-left:12%;border-left:4px solid var(--ok);background:#f3faf5}
@media(max-width:680px){.mail-radek.prijaty{margin-right:5%}.mail-radek.odeslany{margin-left:5%}}
.mail-smer{flex:none;margin-top:.05rem}
.mail-info{flex:1;min-width:0;overflow-wrap:anywhere}
.mail-akce{flex:none;display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}
.mail-akce select{max-width:230px;padding:.3rem .4rem;border:1px solid var(--line);
  border-radius:7px;font-size:.82rem;font-family:inherit}
@media(max-width:680px){.mail-radek{flex-wrap:wrap}.mail-akce{width:100%;justify-content:flex-end}}

/* rychlé přidání aktivity ze seznamu leadů */
.akt-mini summary{cursor:pointer;color:var(--modra2);font-size:.78rem;list-style:none;
  padding:.15rem 0}
.akt-mini summary::-webkit-details-marker{display:none}
.akt-mini summary:hover{text-decoration:underline}
.akt-mini-form{display:flex;flex-direction:column;gap:.3rem;margin-top:.3rem;
  padding:.5rem;background:#f8fafc;border:1px solid var(--line);border-radius:9px;min-width:165px}
.akt-mini-form input,.akt-mini-form select{padding:.32rem .45rem;border:1px solid var(--line);
  border-radius:7px;font-size:.85rem;font-family:inherit;width:100%}
.ost-mini span{opacity:.22;font-size:1rem;margin-right:.15rem}
.ost-mini span.on{opacity:1}

/* klikatelná fáze zakázky v seznamu */
.faze-select{border:1px solid var(--line);border-radius:8px;padding:.3rem 1.4rem .3rem .5rem;
  font-size:.85rem;font-family:inherit;color:var(--modra);font-weight:600;background:#fff;
  cursor:pointer;max-width:230px;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='6'><path d='M0 0h8L4 6z' fill='%23003da5'/></svg>");
  background-repeat:no-repeat;background-position:right .45rem center}
.stav-pozn{display:inline-block;font-size:.8rem;color:var(--warn);background:#fff8f0;
  border:1px solid #f3c79a;border-radius:14px;padding:.1rem .5rem;margin-top:.25rem}
/* klikatelný zdroj leadu v seznamu */
.zdroj-select{border:1px solid var(--line);border-radius:8px;padding:.28rem 1.3rem .28rem .45rem;
  font-size:.8rem;font-family:inherit;color:var(--muted);background:#fff;cursor:pointer;
  max-width:160px;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='6'><path d='M0 0h8L4 6z' fill='%236b7785'/></svg>");
  background-repeat:no-repeat;background-position:right .4rem center}

/* klikatelný stav přímo v seznamu (vypadá jako štítek) */
.stav-select{border:none;border-radius:20px;padding:.2rem 1.3rem .2rem .6rem;font-size:.78rem;
  font-weight:700;color:#fff;cursor:pointer;font-family:inherit;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='6'><path d='M0 0h8L4 6z' fill='white'/></svg>");
  background-repeat:no-repeat;background-position:right .45rem center}
.stav-select option{color:var(--tmava);background:#fff;font-weight:400}
.stav-select.lst-novy{background-color:var(--cervena)}
.stav-select.lst-jednani{background-color:var(--modra)}
.stav-select.lst-predano{background-color:#6d3fc4}
.stav-select.lst-promenen{background-color:var(--ok)}
.stav-select.lst-ztraceny{background-color:#7a8a99}
.lead-filtr{display:inline-block;border:1px solid var(--line);border-radius:20px;
  padding:.28rem .8rem;font-size:.86rem;text-decoration:none;color:var(--tmava);background:#fff}
.lead-filtr:hover{background:var(--seda)}
.lead-filtr.on{border-color:var(--modra);background:#eaf1ff;color:var(--modra);font-weight:700}

/* === Karta zakázky: barevné sekce (hlavička = plný barevný pruh à la Raynet) */
section.sec{border-left:5px solid var(--sc,var(--modra));padding-top:0;overflow:hidden}
.sec-h{display:flex;align-items:center;gap:.55rem;font-size:.98rem;font-weight:700;
  margin:0 -1.2rem .9rem;padding:.55rem 1.2rem;background:var(--sc,var(--modra));color:#fff}
.sec-h .se{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;
  border-radius:7px;background:rgba(255,255,255,.25);font-size:.95rem;flex:none}
.sec-h .muted{font-weight:400;font-size:.78rem;color:rgba(255,255,255,.8)}
.sec-h .kod{margin-left:auto;font-size:.85rem;font-weight:700;letter-spacing:.03em;opacity:.95}
.sec-h .hcount{background:rgba(255,255,255,.28)}
/* popisky polí v barvě sekce + výraznější pole */
.sec label.f{color:var(--sc,var(--modra))}
label.f>input,label.f>select,label.f>textarea{background:#fbfcfe;border-color:#c3cede}
label.f>input:focus,label.f>select:focus,label.f>textarea:focus{outline:none;
  border-color:var(--modra2);box-shadow:0 0 0 3px #dbe7ff;background:#fff}
.sec-blue{--sc:#003da5;--scb:#dbe7ff}
.sec-green{--sc:#1a7f37;--scb:#d4f0dd}
.sec-red{--sc:#c22017;--scb:#fcdcda}
.sec-violet{--sc:#6d3fc4;--scb:#e7defa}
.sec-orange{--sc:#c46a10;--scb:#ffe6cc}
.sec-teal{--sc:#0f766e;--scb:#cdeeed}
.sec-gray{--sc:#64748b;--scb:#e2e8f0}
.sec-gold{--sc:#a16a00;--scb:#ffe9b3}
/* 💰 provize — motivační okénko a graf po měsících */
.prov-radek-dash{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.prov-velke{font-size:1.6rem;font-weight:800;color:#a16a00;letter-spacing:.01em}
.prov-graf{display:flex;align-items:flex-end;gap:6px;height:110px;margin-top:.4rem}
.prov-sloupec{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;
  justify-content:flex-end}
.prov-tyc{width:100%;max-width:44px;background:linear-gradient(180deg,#ffd36b,#e3a812);
  border-radius:6px 6px 0 0;min-height:2px}
.prov-pop{font-size:.72rem;color:var(--muted);margin-top:.15rem}
/* prodávající po osobách ve Vstupních datech (jen zobrazení, editace dole) */
.prod-radek{background:#fbfcfe;border:1px solid #c3cede;border-radius:8px;
  padding:.32rem .55rem;margin:.18rem 0;font-size:.86rem;color:var(--tmava);
  font-weight:400;text-transform:none;letter-spacing:normal}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.5rem}
details.pridat,details.op-det{margin:.5rem 0}
details.pridat>summary,details.op-det>summary{cursor:pointer;color:var(--modra2);font-size:.88rem;
  padding:.3rem .1rem}
details.pridat .zaj-add-lab{font-size:.8rem;font-weight:700;color:var(--muted);margin:.5rem 0 .1rem}

/* === Kalendář =========================================================== */
.kal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}
.kal-head h1{margin:0}
.kal-nav{display:flex;gap:.4rem;align-items:center}
.kal-nav .btn.ghost{padding:.35rem .75rem}
.kal-legenda{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin-bottom:.7rem}
.kal-legenda span{display:inline-flex;align-items:center;gap:.35rem}
.kal-tecka{display:inline-block;width:10px;height:10px;border-radius:50%}
/* minmax(0,1fr) + min-width:0 — dlouhé názvy nesmí roztáhnout sloupce,
   jinak se rozjedou hlavičky dnů (PO–NE) proti buňkám */
.kal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.kal-dny{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px}
.kal-dny div{text-align:center;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
/* buňky se roztahují podle nejdelšího dne v řádku — celý den vidíš bez klikání */
.kal-den{background:#fff;border:1px solid var(--line);border-radius:10px;min-height:110px;padding:.35rem .4rem;font-size:.78rem;min-width:0}
.kal-den.mimo{background:transparent;border:none}
.kal-den.vikend{background:#f8fafc}
.kal-den.minuly{opacity:.55}
.kal-den.dneska{border:2px solid var(--modra);box-shadow:0 0 0 3px #dbe7ff}
.kal-cislo{font-weight:700;color:var(--muted);margin-bottom:.25rem;display:flex;
  align-items:center;justify-content:space-between}
.kal-plus{border:none;background:transparent;color:var(--modra2);font-size:1rem;
  line-height:1;cursor:pointer;padding:0 .15rem;border-radius:6px;opacity:.35}
.kal-den:hover .kal-plus,.kal-plus:focus{opacity:1;background:#dbe7ff}
.kal-dialog{border:none;border-radius:14px;padding:1rem 1.2rem;max-width:min(520px,94vw);
  width:100%;box-shadow:0 18px 50px rgba(0,20,60,.25)}
.kal-dialog::backdrop{background:rgba(10,25,50,.45)}
.kal-pill[draggable="true"]{cursor:grab}
.kal-pill[draggable="true"]:active{cursor:grabbing}
.kal-den.pretahuje{outline:2px dashed var(--modra2);outline-offset:-2px;background:#eef4ff}
.kal-den.dneska .kal-cislo{color:var(--modra)}
/* text se zalamuje (ne „…") — v týdenním zobrazení je na to místo */
.kal-pill{display:block;border-radius:7px;padding:.14rem .4rem;margin:.15rem 0;text-decoration:none;
  color:var(--tmava);overflow-wrap:anywhere;border-left:3px solid transparent;
  line-height:1.25;max-width:100%}
.kal-pill:hover{filter:brightness(.96)}
.kal-pill.rezervace{background:#fdeceb;border-left-color:var(--cervena);font-weight:700}
.kal-pill.prohlidka{background:#eaf1ff;border-left-color:var(--modra)}
.kal-pill.narozeniny{background:#fdf0f5;border-left-color:#d6337a}
.kal-pill.svatek{background:#fff6e3;border-left-color:#d99a06}
.kal-pill.gkal{background:#e8f6ee;border-left-color:#1a7f37}
.kal-pill.gkalos{background:#fbcfe3;border-left-color:#d6337a}  /* osobní Google — růžová */
.kal-pill.aktivita{background:#f2edfd;border-left-color:#6d3fc4}
/* agenda (mobil) */
.kal-agenda{display:none}
.kal-agenda .kal-aden{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;margin-bottom:.5rem}
.kal-agenda .kal-aden.dneska{border-color:var(--modra)}
.kal-agenda h3{margin:.1rem 0 .3rem;font-size:.95rem}
@media(max-width:680px){
  .kal-grid,.kal-dny{display:none}
  .kal-agenda{display:block}
}
