/* Úkolovník – vzhled. Barvy BETEXA: červená #D33318, tmavé menu #231F20. */
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/schibsted-grotesk-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/schibsted-grotesk-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --cervena:#D33318;--cervena-tmava:#A82610;--cervena-svetla:#FCEFEB;
  --menu:#231F20;--menu-akt:#3B3536;--menu-text:#F1EEED;--menu-slabe:#BDB6B4;
  --text:#1D1A1A;--slabe:#5F5958;--linka:#E2DFDD;--linka-jemna:#EFEDEB;--ram:#8A8382;--podklad:#F6F5F4;
  --pozde:#B42A21;--zelena:#1D4A3E;--zelena-ram:#1F7A54;
  --panel:480px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.45;color:var(--text);background:#fff}
h1{margin:0;font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
h2{margin:0;font-size:15px;font-weight:700}
p{margin:0}
a{color:var(--cervena)}a:hover{color:var(--cervena-tmava)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid #2563C9;outline-offset:2px}
.skryty{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.preskocit{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:100}.preskocit:focus{left:8px;top:8px}
.pruzina{flex:1 1 0}
.slabe{color:var(--slabe)}.male{font-size:12px}.zalomit{overflow-wrap:anywhere}
.pozde{color:var(--pozde)!important;font-weight:700}
.odkaz{font-weight:600}

/* --- rozvržení --- */
.app{display:flex;min-height:100vh}
.hlavni{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
main{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;container-type:inline-size}
.side{flex:0 0 240px;width:240px;background:var(--menu);color:var(--menu-text);padding:16px 12px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh;overflow-y:auto}
.side-hlava{display:flex;align-items:center;justify-content:space-between;padding-left:8px}
.logo{font-size:20px;font-weight:700;letter-spacing:-.01em;color:#fff;text-decoration:none}.logo:hover{color:#fff}.logo.tmave{color:var(--text)}
.novy{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:6px;background:var(--cervena);color:#fff;font-weight:600;text-decoration:none}.novy:hover{background:var(--cervena-tmava);color:#fff}
.side-hledat{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px;border:1px solid #5A5352;border-radius:6px;color:#D2CCCA}
.side-hledat input[type=search]{flex:1;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#fff;outline:0}.side-hledat input::placeholder{color:#D2CCCA}
.side-hledat:focus-within{border-color:#fff}
.side-ikona{display:none}
.side-skupina{display:flex;flex-direction:column;gap:2px}
.side-nadpis{display:flex;align-items:center;justify-content:space-between;padding:0 0 2px 8px;font-size:13px;font-weight:600;color:var(--menu-slabe)}
.side-prazdno{padding:4px 8px;font-size:13px;color:var(--menu-slabe)}
.pol{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 8px;border-radius:6px;color:#fff;text-decoration:none}
.pol.nizka{min-height:40px}.pol:hover{background:#322D2E;color:#fff}.pol.akt{background:var(--menu-akt)}
.pol .txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tecka{flex:0 0 10px;width:10px;height:10px;border-radius:3px}
.bublina{min-width:22px;padding:2px 6px;border-radius:11px;background:var(--cervena);color:#fff;font-size:12px;font-weight:700;text-align:center}
.bublina.mala{position:absolute;top:4px;right:2px;min-width:18px;padding:1px 4px;font-size:11px}
.sprava{padding-top:10px;border-top:1px solid var(--menu-akt)}
.side-ja{display:flex;align-items:center;gap:10px;padding:8px}
.side-ja .kdo{flex:1;min-width:0;display:flex;flex-direction:column}.side-ja .kdo span{font-size:12px;color:var(--menu-slabe)}
.odhlasit{border:0;background:transparent;color:#D2CCCA;font-size:13px;text-decoration:underline;cursor:pointer;min-height:36px}
.topbar{display:none}

html.menu-sbalene .side{flex-basis:64px;width:64px;padding:16px 10px;align-items:center}
html.menu-sbalene .side .txt,html.menu-sbalene .side-hledat,html.menu-sbalene .projekty,html.menu-sbalene .logo{display:none}
html.menu-sbalene .side-hlava{padding:0}
html.menu-sbalene .novy,html.menu-sbalene .pol,html.menu-sbalene .side-ikona{width:44px;justify-content:center;padding:0}
html.menu-sbalene .side-ikona{display:flex;align-items:center;height:44px;border-radius:6px;color:#fff}
html.menu-sbalene .pol{position:relative}html.menu-sbalene .pol .bublina{position:absolute;top:2px;right:0;min-width:18px;padding:1px 4px;font-size:11px}
html.menu-sbalene .side-ja{padding:8px 0}

/* --- obecné prvky --- */
.ikonka{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--slabe);cursor:pointer;text-decoration:none}
.ikonka:hover{background:var(--linka-jemna);color:var(--text)}
.ikonka.svetla{color:var(--menu-slabe)}.ikonka.svetla:hover{background:var(--menu-akt);color:#fff}
.ikonka.velka{width:48px;height:48px;color:#fff}.ikonka.plus{width:44px;height:44px;background:var(--cervena);color:#fff}
.ikonka.mala{width:28px;height:28px}.ikonka.ram{border:1px solid var(--linka)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--ram);border-radius:6px;background:#fff;color:var(--text);font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--podklad);color:var(--text)}
.btn.maly{min-height:32px;padding:0 10px;font-size:13px}
.btn.hlavni-btn{border-color:var(--cervena);background:var(--cervena);color:#fff}.btn.hlavni-btn:hover{background:var(--cervena-tmava);border-color:var(--cervena-tmava)}
.btn.zelene{border-color:var(--zelena-ram);color:var(--zelena)}
.btn.nebezpecne{border-color:var(--pozde);color:var(--pozde)}
.zpravy{padding:12px 24px 0;display:flex;flex-direction:column;gap:6px}
.zprava{padding:10px 14px;border-radius:6px;background:#D3EBDD;color:var(--zelena);font-weight:600}.zprava.chyba{background:#F8DAD7;color:#8A1F18}
.hlava{padding:20px 24px 0;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid var(--linka)}
.hlava>:last-child{margin-bottom:14px}.hlava>.zalozky:last-child{margin-bottom:0}.hlava.bez-linky{border-bottom:0}
.hlava-radek{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.hlava-radek h1{flex:1 1 auto}
.zalozky{display:flex;flex-wrap:wrap;gap:4px 20px;font-weight:600}
.zalozky a{padding:8px 0;color:var(--slabe);text-decoration:none;border-bottom:3px solid transparent}.zalozky a.akt{color:var(--text);border-bottom-color:var(--cervena)}
.pocet{font-weight:500;color:var(--slabe);font-size:13px;display:inline-flex;align-items:center;gap:3px}
.stav{display:inline-block;padding:2px 8px;border-radius:2px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--c) 38%,#fff);color:var(--text);white-space:nowrap}
.tah{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;padding:2px 8px;border-radius:2px;font-size:13px;font-weight:600;background:var(--linka-jemna);color:var(--text)}
.tah.ja{background:var(--cervena);color:#fff}.tah.velky{padding:3px 10px;font-size:14px;font-weight:700}
.termin{font-size:13px;white-space:nowrap}
.proj{display:inline-flex;align-items:center;gap:6px;color:var(--slabe)}a.proj{color:var(--cervena)}
.proj i,.stitek i{flex:0 0 8px;width:8px;height:8px;border-radius:2px}
.stitek{display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:1px solid var(--linka);border-radius:10px;font-size:12px;background:#fff;color:var(--text)}
.dotaz{display:inline-block;padding:0 6px;border-radius:2px;background:var(--text);color:#fff;font-size:11px;font-weight:700;vertical-align:2px}
.chip{display:block;padding:2px 6px;border-radius:3px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--c) 38%,#fff);color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip:hover{color:var(--text);text-decoration:underline}
.chip.ukol{background:#fff;border:1px solid var(--ram)}.chip.ukol.pozde{border-color:var(--pozde)}
.av{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;object-fit:cover;vertical-align:middle}
.av0{background:#DCE7F8;color:#1E3F7A}.av1{background:#F9CFC6;color:#6E1509}.av2{background:#FBE3C4;color:#6B3A04}.av3{background:#EBDDF2;color:#5A2670}.av4{background:#D3EBDD;color:#1D4A3E}
.av.system{background:#E9E6E4;color:#3A3433;font-size:13px}
.prazdno{padding:48px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--slabe);font-size:15px}
.typ{flex:0 0 46px;padding:3px 0;border-radius:3px;background:var(--linka-jemna);font-size:11px;font-weight:700;text-align:center;color:var(--text)}
.info-box{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:6px;background:var(--podklad);font-size:13px}
.bok .info-box{background:#fff;border:1px solid var(--linka)}

/* --- formuláře --- */
.pole{display:flex;flex-direction:column;gap:6px;min-width:0}
.pole>label,.popisek,legend{font-size:13px;font-weight:600;color:var(--slabe);padding:0}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=search],select,textarea{min-height:40px;padding:8px 10px;border:1px solid var(--ram);border-radius:6px;background:#fff;width:100%;min-width:0}
textarea{resize:vertical;line-height:1.5}
input[type=color]{width:36px;height:36px;padding:2px;border:1px solid var(--ram);border-radius:6px;background:#fff;flex:0 0 36px}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--cervena);flex:0 0 18px;margin:0}
input.velke{min-height:48px;font-size:18px;font-weight:600}
.jen-cteni{display:flex;align-items:center;min-height:40px;padding:0 10px;border-radius:6px;background:var(--podklad);font-weight:600}
.napoveda{font-size:13px;color:var(--slabe)}
.dve{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dve.siroke{grid-template-columns:minmax(0,1fr) auto}
.tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
fieldset{margin:0;padding:0;border:0;min-width:0}fieldset.bez-ramu{display:flex;flex-direction:column;gap:16px}
.volby{display:flex;flex-wrap:wrap;gap:6px}.volby legend{margin-bottom:6px}.volby.sloupcem{flex-direction:column}
.volba{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--linka);border-radius:6px;background:#fff;cursor:pointer}
.volba.oval{border-radius:20px;min-height:36px}.volba:has(input:checked){border-color:var(--text);font-weight:600}
.volby.ctyri{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.volby.ctyri legend{grid-column:1/-1}.volby.ctyri .volba{justify-content:center;padding:0 6px;font-size:13px}
.volby.ctyri input{position:absolute;opacity:0}.volby.ctyri .volba:has(input:checked){border-width:2px}
.tlacitka{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.karta{width:100%;max-width:760px;padding:24px;display:flex;flex-direction:column;gap:16px}.karta.uzka{max-width:600px}
.f-check{display:inline-flex;align-items:center;gap:8px;min-height:36px;white-space:nowrap}
.filtr-box summary{cursor:pointer;font-weight:600;min-height:32px;display:inline-flex;align-items:center}
.filtry{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 0 2px}
.filtry.volne{padding:0}
.filtry select,.filtry input[type=search]{width:auto;min-height:34px;padding:4px 8px;font-size:13px;border-radius:17px;max-width:100%}
.filtry input[type=search]{flex:1 1 180px;border-radius:6px}
.odznaky{display:flex;flex-wrap:wrap;gap:6px}
.odznak{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:15px;background:var(--text);color:#fff;font-size:13px;font-weight:600;text-decoration:none}.odznak:hover{color:#fff;background:#000}
.pohled{display:flex;align-items:center;gap:8px}.pohled label{font-size:13px;color:var(--slabe)}.pohled select{width:auto;font-weight:600}

/* --- seznam úkolů --- */
.dvoj{display:flex;flex:1 1 auto;min-width:0;align-items:stretch}
.seznam{flex:1 1 0;min-width:0;container-type:inline-size;padding-bottom:40px}
.seznam.vnitrni{padding:20px 24px;display:flex;flex-direction:column;gap:28px}
.bok{flex:0 0 340px;padding:20px 24px;background:var(--podklad);border-left:1px solid var(--linka);display:flex;flex-direction:column;gap:14px}
.bok ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.radek,.radek-hlava{display:grid;grid-template-columns:32px minmax(0,1fr) 104px 112px 132px 78px;gap:10px;align-items:center;padding:0 24px 0 16px}
.radek.siroky,.radek-hlava.siroky{grid-template-columns:32px minmax(0,1fr) 104px 104px 112px 132px 78px}
.radek-hlava{padding-top:10px;padding-bottom:10px;font-size:12px;font-weight:600;color:var(--slabe);border-bottom:1px solid var(--linka)}
.radek{min-height:56px;padding-top:6px;padding-bottom:6px;border-bottom:1px solid var(--linka-jemna)}
.radek:hover{background:#FBFAFA}.radek.vybrany{background:var(--cervena-svetla)}
.radek.hotovy .nazev{color:var(--slabe);text-decoration:line-through}
.sekce{padding:16px 24px 8px;display:flex;align-items:center;gap:8px}
.sekce .tah{font-size:15px;font-weight:700;overflow:visible}
.r-hot{display:flex}
.kolecko{width:32px;height:32px;padding:0;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff}
.kolecko::before{content:"";position:absolute;width:20px;height:20px;border:1.6px solid var(--ram);border-radius:50%;background:#fff}
.kolecko{position:relative}.kolecko svg{position:relative}
.kolecko.je::before{background:var(--zelena-ram);border-color:var(--zelena-ram)}.kolecko:hover::before{border-color:var(--zelena-ram)}
.r-nazev{display:flex;flex-direction:column;gap:3px;min-width:0;color:var(--text);text-decoration:none;padding:4px 0}
.r-nazev:hover .nazev{text-decoration:underline}.r-nazev:hover{color:var(--text)}
.nazev{font-weight:600;overflow-wrap:anywhere}
.r-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;color:var(--slabe)}.r-meta:empty{display:none}
.r-prio{font-size:13px;font-weight:600}.r-zodp{font-size:13px;overflow:hidden;text-overflow:ellipsis}
.hotove-skupina summary{padding:14px 24px;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px}
@container (max-width:700px){
  .radek-hlava{display:none}
  .radek,.radek.siroky{display:flex;flex-wrap:wrap;gap:4px 8px;padding:8px 16px 10px 8px}
  .r-nazev{flex:1 1 calc(100% - 64px)}
  .r-tah{margin-left:48px}
  .r-zodp::before{content:"zodp. ";color:var(--slabe)}
  .sekce{padding-left:16px}
}

/* --- detail úkolu --- */
.panel{position:relative;flex:0 0 var(--panel);width:var(--panel);min-width:340px;max-width:70%;border-left:1px solid var(--linka);background:#fff}
.tahlo{position:absolute;left:-9px;top:45vh;width:18px;height:64px;padding:0;border:1px solid var(--ram);border-radius:9px;background:#fff;cursor:col-resize;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;z-index:5;touch-action:none}
.tahlo i{width:4px;height:4px;border-radius:50%;background:var(--slabe)}
.detail{display:flex;flex-direction:column;min-width:0}
.d-lista{display:flex;align-items:center;gap:6px;padding:12px 20px;border-bottom:1px solid var(--linka);position:sticky;top:0;background:#fff;z-index:4}
.d-telo{padding:20px;display:flex;flex-direction:column;gap:18px}
.d-titul{font-size:22px;overflow-wrap:anywhere}
.d-meta{margin:0;display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px 8px;align-items:center}
.d-meta dt{color:var(--slabe)}.d-meta dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}
.osoba{display:inline-flex;align-items:center;gap:8px}.osoby{gap:6px 14px}
.stav-select{width:auto;min-height:32px;padding:2px 8px;font-weight:600;font-size:13px;background:color-mix(in srgb,var(--c) 38%,#fff);border-color:transparent}
.stitek-form{display:inline-flex}.stitek button{border:0;background:transparent;padding:2px;cursor:pointer;color:var(--slabe);display:inline-flex}
.pridat-stitek summary{cursor:pointer;display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border:1px dashed var(--ram);border-radius:13px;font-size:13px;color:var(--slabe);list-style:none}
.pridat-stitek summary::-webkit-details-marker{display:none}
.pridat-stitek[open]{flex:1 1 100%}.pridat-stitek form{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pridat-stitek select,.pridat-stitek input{flex:1 1 130px;width:auto}
.d-obsah{display:flex;flex-direction:column;gap:18px;min-width:0}
.d-obsah section{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--linka)}
.zadani{font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.zadani p,.zadani ul,.zadani ol,.zadani blockquote,.zadani pre{margin:0 0 8px}.zadani>:last-child{margin-bottom:0}
.zadani h2,.zadani h3{margin:10px 0 4px;font-size:16px}.zadani ul,.zadani ol{padding-left:22px}
.zadani blockquote{padding-left:12px;border-left:3px solid var(--linka);color:var(--slabe)}.zadani pre{padding:10px;background:var(--podklad);border-radius:6px;white-space:pre-wrap}
.prilohy{display:flex;flex-wrap:wrap;gap:8px}
.priloha{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 6px 0 10px;border:1px solid var(--linka);border-radius:6px;max-width:100%;color:var(--text);text-decoration:none}
.priloha a{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;min-width:0}a.priloha{gap:8px;padding-right:10px}
.priloha:hover{border-color:var(--ram)}.nazev-s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:600}
.prubeh{gap:14px!important}
.udalost{font-size:13px;color:var(--slabe);padding-left:42px}
.komentar{display:flex;gap:10px}.komentar>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.komentar:target{background:var(--cervena-svetla);outline:6px solid var(--cervena-svetla)}
.posun{display:inline-block;padding:1px 8px;border-radius:2px;background:#FBE3C4;color:#6B3A04;font-size:12px;font-weight:700}
.odpoved{display:flex;flex-direction:column;border:1px solid var(--ram);border-radius:8px;overflow:hidden}
.odpoved textarea{border:0;border-radius:0;outline-offset:-3px}
.odpoved-lista{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;background:var(--podklad);border-top:1px solid var(--linka)}
.odpoved-lista select{width:auto;min-height:36px;font-weight:600;max-width:100%}
.soubor-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid var(--ram);border-radius:6px;background:#fff;cursor:pointer;font-weight:600;font-size:13px}
.soubor-btn input,.dropzona input{position:absolute;width:1px;height:1px;opacity:0}
.drobky{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 24px;border-bottom:1px solid var(--linka);color:var(--slabe)}
.drobky a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text);text-decoration:none}
.detail.r-stranka .d-lista{position:static;padding:12px 24px}
.detail.r-stranka .d-telo{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"titul meta" "obsah meta";gap:22px 40px;padding:28px 40px;align-items:start}
.detail.r-stranka .d-titul{grid-area:titul;font-size:30px;max-width:860px}
.detail.r-stranka .d-obsah{grid-area:obsah;max-width:860px}
.detail.r-stranka .d-meta{grid-area:meta;padding:20px;background:var(--podklad);border-radius:8px;gap:14px 8px}

/* --- formulář úkolu --- */
.formular{display:flex;flex-direction:column;flex:1}
.form-telo{display:flex;flex:1;align-items:stretch}
.form-hlavni{flex:1 1 0;min-width:0;padding:24px 32px;display:flex;flex-direction:column;gap:20px;max-width:900px}
.form-bok{flex:0 0 400px;padding:24px;background:var(--podklad);border-left:1px solid var(--linka);display:flex;flex-direction:column;gap:18px}
.editor-obal{border:1px solid var(--ram);border-radius:6px;overflow:hidden;background:#fff}
.editor-obal .ql-toolbar.ql-snow{border:0;border-bottom:1px solid var(--linka);background:var(--podklad);font-family:inherit}
.editor-obal .ql-container.ql-snow{border:0;font-family:inherit;font-size:15px}
.editor-obal .ql-editor{min-height:240px;line-height:1.55}
.dropzona{display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;padding:10px;border:1.5px dashed var(--ram);border-radius:6px;color:var(--slabe);cursor:pointer;text-align:center}

/* --- projekt --- */
.proj-ctverec{flex:0 0 36px;width:36px;height:36px;border-radius:8px}
.proj-nazev{flex:1 1 200px;display:flex;flex-direction:column;min-width:0}
.proj-popis{max-width:800px;color:var(--slabe)}
.postup{display:flex;flex-direction:column;gap:4px;width:200px}
.postup-lista,.pruh-lista{height:8px;border-radius:4px;background:var(--linka-jemna);overflow:hidden}.postup-lista div{height:8px;background:var(--cervena)}
.clenove{display:flex;gap:4px}
.proj-udalosti{display:flex;flex-wrap:wrap;gap:6px;padding:12px 24px;border-bottom:1px solid var(--linka-jemna)}.proj-udalosti .chip{white-space:normal}
.nastenka{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:20px 24px;background:var(--podklad);flex:1;align-items:start}
.sloupec{display:flex;flex-direction:column;gap:10px;min-width:0;padding:4px;border-radius:8px}
.sloupec.nad{outline:2px dashed var(--cervena)}
.sloupec h2{display:flex;align-items:center;gap:8px}
.karty{display:flex;flex-direction:column;gap:10px;min-height:20px}
.karticka{display:flex;flex-direction:column;gap:10px;padding:12px;background:#fff;border:1px solid var(--linka);border-radius:8px;cursor:grab}
.karticka.tazena{opacity:.5}.karticka .nazev{color:var(--text);text-decoration:none}.karticka .nazev:hover{text-decoration:underline}
.karticka.hotovy .nazev{color:var(--slabe);text-decoration:line-through}
.k-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.pridat{display:flex;align-items:center;min-height:44px;padding:0 12px;color:var(--slabe);text-decoration:none}

/* --- výpisy (hledání, soubory) --- */
.vypis{padding:8px 24px 40px;display:flex;flex-direction:column;gap:24px}
.vypis section{display:flex;flex-direction:column}.vypis h2{padding:12px 0 6px}
.vysledek{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:52px;padding:8px 0;border-bottom:1px solid var(--linka-jemna);color:var(--text);text-decoration:none}
.vysledek.sloupcem{flex-direction:column;align-items:flex-start;gap:2px}
a.vysledek:hover strong{text-decoration:underline}a.vysledek:hover{color:var(--text)}
.v-hlavni{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;overflow-wrap:anywhere}.v-hlavni a{color:var(--text)}
.hledat-pole{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:52px;padding:6px 8px 6px 16px;border:2px solid var(--text);border-radius:8px}
.hledat-pole input{flex:1 1 200px;border:0;outline:0;font-size:18px;font-weight:600;padding:0;min-height:36px}

/* --- kalendář --- */
.kal{display:flex;flex:1;align-items:flex-start}
.kal-hlavni{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.kal-nav{display:flex;gap:4px;align-items:center}
.kal-mrizka{display:flex;flex-direction:column;flex:1;border-top:1px solid var(--linka)}
.kal-dny,.kal-tyden{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.kal-dny{font-size:12px;font-weight:600;color:var(--slabe);border-bottom:1px solid var(--linka)}.kal-dny span{padding:8px 10px}
.kal-tyden{flex:1 1 0}
.kal-den{min-height:118px;padding:6px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--linka-jemna);border-bottom:1px solid var(--linka-jemna);min-width:0}
.kal-den.vikend{background:#FAF9F8}.kal-den.mimo .cislo{color:var(--ram)}
.kal-cislo{display:flex;justify-content:space-between;align-items:center}
.cislo{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;border-radius:13px;font-size:13px;font-weight:500}
.cislo.dnes{background:var(--cervena);color:#fff;font-weight:700}
.kal-plus{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--slabe);text-decoration:none;font-size:18px;opacity:0}
.kal-den:hover .kal-plus,.kal-plus:focus{opacity:1}.kal-plus:hover{background:var(--linka-jemna)}
.kal-bok{flex:0 0 300px;padding:20px;border-left:1px solid var(--linka);align-self:stretch;display:flex;flex-direction:column;gap:22px}
.kal-filtr fieldset{display:flex;flex-direction:column;gap:2px}.kal-filtr legend{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px}
.kal-filtr label{display:flex;align-items:center;gap:10px;min-height:36px}
.ctverecek{width:12px;height:12px;border-radius:3px;background:color-mix(in srgb,var(--c) 38%,#fff);border:1px solid color-mix(in srgb,var(--c) 70%,#000)}.ctverecek.prazdny{background:#fff;border:1px solid var(--ram)}
.agenda{display:flex;flex-direction:column;gap:10px}
.agenda-den{display:flex;gap:10px}
.agenda-datum{flex:0 0 62px;display:flex;flex-direction:column;font-size:13px}.agenda-datum span{color:var(--slabe)}.agenda-datum.dnes strong{color:var(--cervena)}
.agenda-veci{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.agenda-veci .chip{white-space:normal;padding:6px 8px}
.odber summary{cursor:pointer;font-weight:600;color:var(--cervena)}.odber p{margin:8px 0}

/* --- oznámení --- */
.oznameni{display:flex;gap:14px;padding:14px 24px;border-bottom:1px solid var(--linka-jemna);color:var(--text);text-decoration:none}
.oznameni:hover{background:#FBFAFA;color:var(--text)}.oznameni.nove{background:var(--cervena-svetla)}.oznameni.nove .o-text{font-weight:700}
.o-telo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.o-hlava{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px}
.o-detail{font-size:13px;padding:6px 10px;background:#fff;border:1px solid var(--linka);border-radius:6px;margin-top:4px}
.typ-oz{padding:1px 8px;border-radius:2px;font-weight:700;background:#E9E6E4;color:#3A3433}
.typ-oz.tah{background:var(--cervena);color:#fff}.typ-oz.pozde{background:#F8DAD7;color:#8A1F18}.typ-oz.novy{background:#DCE7F8;color:#1E3F7A}
.typ-oz.hotovo{background:#D3EBDD;color:var(--zelena)}.typ-oz.termin,.typ-oz.pripominka{background:#FBE3C4;color:#6B3A04}

/* --- nastavení, tým --- */
.ciselniky{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px;padding:20px 24px}
.ciselnik{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--linka);border-radius:8px;min-width:0}
.c-radek{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.c-radek input[type=text]{flex:1 1 120px;font-weight:600;min-height:36px;padding:4px 10px}
.c-radek.novy-radek{padding-top:8px;border-top:1px dashed var(--linka)}
.sloupec-form{display:flex;flex-direction:column;gap:14px}.sloupec-form+.sloupec-form{padding-top:20px;border-top:1px solid var(--linka)}
.fotka-radek{display:flex;align-items:center;gap:16px}.fotka-radek>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.clovek{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 24px;border-bottom:1px solid var(--linka-jemna)}
.clovek.vypnuty{opacity:.6}.c-kdo{flex:1 1 220px;min-width:0;display:flex;flex-direction:column}.c-info{flex:0 1 auto;font-size:13px}
.clovek select{width:auto}.c-odkaz{flex:1 1 220px;font-size:12px;min-height:32px!important}
.role-popis{padding:24px;display:flex;flex-direction:column;gap:12px}.role-popis .ram{padding:14px;border:1px solid var(--linka);border-radius:8px;display:flex;flex-direction:column;gap:6px}

/* --- statistiky --- */
.kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--linka)}
.kpi>div{padding:18px 24px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--linka)}.kpi>div:last-child{border-right:0}
.kpi strong{font-size:30px;letter-spacing:-.02em;line-height:1.15}
.graf-hlava{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:10px}.graf-hlava h2{flex:1 1 auto}
.legenda{display:inline-flex;align-items:center;gap:6px;font-size:13px}.legenda i{width:12px;height:12px}.zal{background:#BDB6B4}.hot{background:var(--cervena)}
.graf{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.g-tyden{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.g-sloupce{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:170px;width:100%;padding-top:18px;border-bottom:1px solid var(--ram)}
.g-s{position:relative;flex:0 1 22px;min-height:1px}.g-s span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:12px}.g-s.hot span{font-weight:700}
.tabulka{width:100%;border-collapse:collapse}.tabulka th{text-align:left;font-size:12px;color:var(--slabe);padding:8px 8px 8px 0;border-bottom:1px solid var(--linka)}
.tabulka td{padding:10px 8px 10px 0;border-bottom:1px solid var(--linka-jemna)}
.stoji{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--linka);color:var(--text);text-decoration:none}
.pruh{display:flex;flex-direction:column;gap:4px}.pruh-popis{display:flex;justify-content:space-between;font-size:13px}.pruh-lista div{height:8px;background:var(--text)}

/* --- přihlášení --- */
body.auth{background:var(--menu);display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}
.auth-karta{width:100%;max-width:420px;padding:32px;background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:16px}

/* --- úzké zobrazení a mobil --- */
@media (max-width:1180px){
  .ma-detail>.seznam{display:none}
  .panel{flex:1 1 100%;width:100%;max-width:none;min-width:0;border-left:0}.tahlo{display:none}
  .detail.r-stranka .d-telo{grid-template-columns:minmax(0,1fr);grid-template-areas:"titul" "meta" "obsah";padding:20px 24px}
  .form-telo,.kal{flex-direction:column}.form-bok,.kal-bok{flex:0 0 auto;border-left:0;border-top:1px solid var(--linka)}
}
@media (max-width:860px){
  .jen-desktop{display:none!important}
  .app{display:block}
  .topbar{display:flex;align-items:center;gap:4px;height:56px;padding:0 8px 0 4px;background:var(--menu);color:#fff;position:sticky;top:0;z-index:40}
  .topbar .logo{flex:1;font-size:18px}
  .side,html.menu-sbalene .side{display:none;position:fixed;top:56px;left:0;right:0;bottom:0;width:auto;height:auto;z-index:50;padding:12px;align-items:stretch}
  html.menu-otevrene .side{display:flex}html.menu-otevrene body{overflow:hidden}
  .side-hlava{display:none}
  html.menu-sbalene .side .txt{display:initial}html.menu-sbalene .side-hledat{display:flex}html.menu-sbalene .projekty{display:flex}html.menu-sbalene .side-ikona{display:none}
  html.menu-sbalene .novy,html.menu-sbalene .pol{width:auto;justify-content:flex-start;padding:0 8px}html.menu-sbalene .novy{justify-content:center}
  .pol,.pol.nizka{min-height:48px;font-size:16px}
  body{font-size:15px}
  h1{font-size:21px}
  .hlava{padding:14px 16px 0}.zpravy{padding:10px 16px 0}
  .dvoj{flex-direction:column}
  .bok{flex:0 0 auto;border-left:0;border-top:1px solid var(--linka);padding:20px 16px}
  .btn,.soubor-btn{min-height:44px}.btn.maly{min-height:40px}.ikonka{width:44px;height:44px}.ikonka.mala{width:36px;height:36px}
  input[type=text],input[type=email],input[type=password],input[type=date],input[type=search],select,textarea{min-height:46px;font-size:16px}
  .filtry select,.filtry input[type=search]{min-height:42px;font-size:15px;flex:1 1 44%}
  .kolecko{width:40px;height:44px}.kolecko::before{width:24px;height:24px}
  .nazev{font-size:16px;line-height:1.3}
  .d-lista{padding:8px 12px;top:56px}.d-telo,.detail.r-stranka .d-telo{padding:16px}.d-titul,.detail.r-stranka .d-titul{font-size:21px}
  .d-meta{grid-template-columns:96px minmax(0,1fr)}.detail.r-stranka .d-meta{padding:14px}
  .drobky{padding:8px 16px}
  .odpoved{position:sticky;bottom:0;background:#fff;box-shadow:0 -6px 16px rgba(29,26,26,.12)}
  .odpoved textarea{min-height:46px;height:46px;resize:none}.odpoved textarea:focus{height:120px}.odpoved-lista select{flex:1 1 140px}
  .form-hlavni{padding:16px}.form-bok{padding:16px}.volby.ctyri .volba{min-height:46px}
  .karta{padding:16px}.tri{grid-template-columns:minmax(0,1fr)}.dve.siroke{grid-template-columns:minmax(0,1fr) auto}
  .nastenka{grid-template-columns:minmax(0,1fr);padding:16px}.karticka{cursor:default}
  .vypis{padding:8px 16px 32px}
  .kal-mrizka{display:none}.kal-bok{border-top:0;padding:8px 16px 24px}
  .oznameni,.clovek{padding:12px 16px}
  .ciselniky{grid-template-columns:minmax(0,1fr);padding:16px}
  .kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi>div{padding:14px 16px;border-bottom:1px solid var(--linka)}.kpi>div:nth-child(2n){border-right:0}.kpi strong{font-size:24px}
  .seznam.vnitrni{padding:16px}.g-sloupce{height:130px}.g-s span{font-size:11px}
  .tabulka thead{display:none}.tabulka,.tabulka tbody,.tabulka tr,.tabulka td{display:block;width:100%}
  .tabulka tr{padding:10px 0;border-bottom:1px solid var(--linka)}.tabulka td{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border:0}
  .tabulka td::before{content:attr(data-th);color:var(--slabe)}.tabulka td:first-child::before{content:none}
  .postup{width:100%}.proj-udalosti{padding:10px 16px}.role-popis{padding:16px}
  .hledat-pole input{font-size:16px}
}
@media print{.side,.topbar,.odpoved,.d-lista{display:none!important}}
