
:root{
  --bg:#F5F6F9;--surface:#FFF;--ink:#151823;--ink-soft:#5A6072;--ink-faint:#8A90A0;
  --line:#E7E9EF;--line-2:#D5D9E2;
  --brand:#7C3AED;--brand-dark:#6D28D9;--brand-soft:#F3EEFE;--brand-tint:#EDE4FD;
  --ok:#0E9F6E;--ok-soft:#E6F6EF;--ok-line:#B7E4CE;
  --warn:#B42318;--warn-soft:#FEF3F2;--warn-line:#FECDCA;
  --amber:#B54708;--amber-soft:#FFFAEB;--amber-line:#FEDF89;
  --fd:'Sora',sans-serif;--fb:'Inter',sans-serif;--fm:'JetBrains Mono',monospace;
  --nav-h:66px;--sh:0 1px 2px rgba(21,24,35,.05),0 8px 20px -10px rgba(21,24,35,.14);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:var(--fb);background:#20232D;color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--fd);font-weight:700;letter-spacing:-.01em;line-height:1.2}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input{font-family:inherit}

/* ── rozloženie aplikácie ─────────────────────────────────
   Mobil: na celú obrazovku. Desktop: klientsky portál v úzkom
   stĺpci (je navrhnutý pre telefón), správcovský na šírku.      */
body{background:var(--bg)}
.app{position:relative;display:flex;flex-direction:column;background:var(--surface);
  width:100%;min-height:100vh;min-height:100dvh;overflow:hidden}

@media(min-width:900px){
  body{background:#20232D;padding:26px 0;display:flex;justify-content:center}
  .app{width:420px;height:calc(100vh - 52px);min-height:0;border-radius:22px;
    box-shadow:0 30px 70px -25px rgba(0,0,0,.7);
    transition:width .34s cubic-bezier(.16,1,.3,1),border-radius .34s}
  .app.wide{width:min(1060px,calc(100vw - 60px));border-radius:14px}
}

/* top */
.top{background:var(--surface);border-bottom:1px solid var(--line);padding:13px 18px;display:flex;align-items:center;gap:11px;flex-shrink:0;z-index:5}
.mk{width:30px;height:30px;flex-shrink:0}
.top .who{flex:1;min-width:0}
.top .who b{display:block;font-family:var(--fd);font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .who span{display:block;font-size:.73rem;color:var(--ink-faint)}
.icobtn{width:36px;height:36px;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);flex-shrink:0;position:relative}
.icobtn i{position:absolute;top:7px;right:7px;width:8px;height:8px;background:var(--warn);border-radius:50%;border:2px solid var(--bg)}

/* impersonation */
.imp{background:#151823;color:#fff;font-size:.79rem;padding:9px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.imp b{color:#C9B6FF;font-weight:600}
.imp button{margin-left:auto;background:rgba(255,255,255,.14);padding:4px 12px;border-radius:99px;font-size:.75rem;font-weight:600;white-space:nowrap}

.body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-bottom:14px}
.screen{display:none;animation:in .22s ease}
.screen.on{display:block}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pad{padding:16px 16px 0}

/* ════ LOGIN ════ */
.login{min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:32px 26px;text-align:center}
.login .lg{width:52px;height:52px;margin:0 auto 18px}
.login h2{font-size:1.45rem;margin-bottom:6px}
.login>p{font-size:.88rem;color:var(--ink-soft);margin-bottom:24px}
.fld{text-align:left;margin-bottom:12px}
.fld label{display:block;font-size:.8rem;font-weight:600;margin-bottom:6px}
.fld input{width:100%;padding:13px 14px;border:1px solid var(--line-2);border-radius:11px;font-size:.94rem;background:var(--surface);color:var(--ink)}
.fld input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.hintbox{background:var(--brand-soft);border:1px dashed var(--brand);border-radius:11px;padding:12px 14px;font-size:.79rem;color:var(--ink-soft);margin-top:14px;text-align:left}
.hintbox b{color:var(--brand-dark)}
.demo-sep{display:flex;align-items:center;gap:11px;margin:26px 0 14px;color:var(--ink-faint);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.demo-sep::before,.demo-sep::after{content:'';flex:1;height:1px;background:var(--line)}
.demo-btn{display:flex;align-items:center;gap:11px;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px;text-align:left;box-shadow:var(--sh);transition:.16s}
.demo-btn:active{transform:scale(.985)}
.demo-btn:hover{border-color:var(--brand)}
.demo-av{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:.85rem;flex-shrink:0}
.demo-btn b{display:block;font-size:.9rem;font-weight:600}
.demo-btn span{display:block;font-size:.75rem;color:var(--ink-faint)}

/* ════ ADMIN ════ */
.adm-pad{padding:18px 20px 0}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 20px 16px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:15px;box-shadow:var(--sh)}
.kpi .n{font-family:var(--fd);font-weight:800;font-size:1.6rem;line-height:1;color:var(--ink)}
.kpi .n.b{color:var(--brand)}
.kpi .l{font-size:.73rem;color:var(--ink-faint);margin-top:5px}
.kpi .d{font-size:.7rem;font-weight:600;color:var(--ok);margin-top:3px}

.alerts{padding:0 20px 14px;display:flex;flex-direction:column;gap:8px}
.alert{display:flex;align-items:flex-start;gap:10px;border-radius:11px;padding:11px 13px;font-size:.83rem}
.alert.a{background:var(--amber-soft);border:1px solid var(--amber-line);color:var(--amber)}
.alert.r{background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn)}
.alert b{font-weight:700}
.alert .go{margin-left:auto;font-weight:700;white-space:nowrap;text-decoration:underline;flex-shrink:0}

.thead{display:grid;grid-template-columns:1.7fr .9fr 1.15fr .7fr .8fr auto;gap:12px;padding:0 20px 8px;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}
.crow{display:grid;grid-template-columns:1.7fr .9fr 1.15fr .7fr .8fr auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 16px;margin:0 20px 9px;box-shadow:var(--sh);transition:.16s;width:calc(100% - 40px);text-align:left}
.crow:hover{border-color:var(--brand);transform:translateY(-2px)}
.crow:active{transform:scale(.995)}
.cname{display:flex;align-items:center;gap:11px;min-width:0}
.cav{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:.82rem;flex-shrink:0}
.cname b{display:block;font-size:.92rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cname span{display:block;font-size:.73rem;color:var(--ink-faint)}
.plan{font-size:.79rem;font-weight:600}
.plan span{display:block;font-family:var(--fm);font-size:.73rem;color:var(--ink-faint);font-weight:500}
.mini{display:flex;flex-direction:column;gap:5px}
.mini .t{height:6px;background:var(--bg);border-radius:99px;overflow:hidden}
.mini .f{height:100%;background:var(--brand);border-radius:99px}
.mini .f.hot{background:var(--amber)}
.mini .f.max{background:var(--warn)}
.mini .lab{font-family:var(--fm);font-size:.71rem;color:var(--ink-soft)}
.num-c{font-family:var(--fm);font-weight:700;font-size:1rem}
.pend{font-family:var(--fm);font-weight:700;font-size:.8rem;padding:3px 9px;border-radius:99px;display:inline-block}
.pend.z{background:var(--ok-soft);color:var(--ok)}
.pend.n{background:var(--warn-soft);color:var(--warn)}
.open{font-size:.8rem;font-weight:600;color:var(--brand);white-space:nowrap}
.addrow{margin:4px 20px 0;border:1px dashed var(--line-2);border-radius:13px;padding:14px;text-align:center;color:var(--ink-faint);font-size:.85rem;font-weight:600;width:calc(100% - 40px)}
.addrow:hover{border-color:var(--brand);color:var(--brand)}

/* ════ KLIENT ════ */
.tabs{display:flex;gap:7px;padding:14px 16px 4px;position:sticky;top:0;background:var(--bg);z-index:4}
.tab{flex:1;padding:8px 4px;border-radius:9px;font-size:.82rem;font-weight:600;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);text-align:center;transition:.18s}
.tab.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.tab .c{font-family:var(--fm);font-size:.75rem;opacity:.75;margin-left:3px}
.lead{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;margin:0 16px 10px;box-shadow:var(--sh);display:flex;gap:12px;align-items:flex-start;text-align:left;width:calc(100% - 32px);transition:.16s}
.lead:active{transform:scale(.985)}
.lead.new{border-left:3px solid var(--brand)}
.lead-av{width:40px;height:40px;border-radius:11px;background:var(--brand-soft);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:.93rem;flex-shrink:0}
.lead.done .lead-av{background:var(--ok-soft);color:var(--ok)}
.lead-c{flex:1;min-width:0}
.lead-h{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}
.lead-h b{font-size:.94rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-h time{margin-left:auto;font-size:.71rem;color:var(--ink-faint);white-space:nowrap}
.lead-meta{font-size:.75rem;color:var(--ink-faint);margin-bottom:6px}
.lead-txt{font-size:.84rem;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chips{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.chip{font-size:.69rem;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap}
.chip.urg{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-line)}
.chip.time{background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber-line)}
.chip.bk{background:var(--brand-soft);color:var(--brand-dark);border:1px solid var(--brand-tint)}
.chip.ok{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok-line)}
.chip.n{background:var(--bg);color:var(--ink-soft);border:1px solid var(--line)}

.back{display:flex;align-items:center;gap:7px;padding:14px 16px 4px;font-size:.87rem;font-weight:600;color:var(--brand)}
.d-head{padding:6px 16px 14px}
.d-head h2{font-size:1.32rem;margin-bottom:3px}
.d-head .sub{font-size:.82rem;color:var(--ink-faint)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:0 16px 12px;box-shadow:var(--sh);overflow:hidden}
.card-t{font-size:.69rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);padding:14px 15px 0}
.rows{padding:10px 15px 14px}
.row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:none}
.row .k{font-size:.77rem;color:var(--ink-faint);width:90px;flex-shrink:0;padding-top:1px}
.row .v{font-size:.88rem;font-weight:500;flex:1}
.row .v.mono{font-family:var(--fm)}
.play-wrap{padding:14px 15px;display:flex;align-items:center;gap:12px;background:var(--brand-soft);border-top:1px solid var(--brand-tint)}
.play{width:42px;height:42px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.play:active{transform:scale(.92)}
.wave{flex:1;height:30px;display:flex;align-items:center;gap:2.5px}
.wave i{flex:1;background:var(--brand);border-radius:2px;opacity:.32;transition:opacity .12s}
.wave i.hot{opacity:.95}
.dur{font-family:var(--fm);font-size:.77rem;color:var(--brand-dark);font-weight:600}
.tr{padding:0 15px 14px;font-size:.84rem;color:var(--ink-soft);line-height:1.65}
.tr .s{display:block;margin-bottom:9px}
.tr .s b{color:var(--brand-dark);font-weight:600}
.tr .s.c b{color:var(--ink)}
.acts{padding:0 16px 18px;display:flex;flex-direction:column;gap:9px}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;border-radius:12px;font-size:.93rem;font-weight:600;width:100%;transition:.16s}
.btn:active{transform:scale(.985)}
.btn-p{background:var(--brand);color:#fff}
.btn-s{background:var(--surface);color:var(--ink);border:1px solid var(--line-2)}
.btn-ok{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok-line)}
.mrow{display:flex;gap:10px;padding:0 16px 12px}
.mcard{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px 13px;box-shadow:var(--sh);text-align:center}
.mcard .n{font-family:var(--fd);font-weight:800;font-size:1.6rem;color:var(--brand);line-height:1}
.mcard .l{font-size:.71rem;color:var(--ink-faint);margin-top:5px;line-height:1.3}
.bars{padding:16px 15px;display:flex;align-items:flex-end;gap:9px;height:150px}
.bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;height:100%;justify-content:flex-end}
.bar .col{width:100%;background:linear-gradient(180deg,var(--brand),#A855F7);border-radius:6px 6px 3px 3px;min-height:5px;transition:height .5s cubic-bezier(.16,1,.3,1)}
.bar .lb{font-size:.67rem;color:var(--ink-faint)}
.bar .vv{font-family:var(--fm);font-size:.71rem;font-weight:700}
.split{padding:4px 15px 15px}
.sp{display:flex;align-items:center;gap:10px;padding:8px 0}
.sp .lbl{font-size:.83rem;flex:1}
.sp .track{width:92px;height:6px;background:var(--bg);border-radius:99px;overflow:hidden}
.sp .fill{height:100%;background:var(--brand);border-radius:99px}
.sp .num{font-family:var(--fm);font-size:.79rem;font-weight:700;width:22px;text-align:right}
.note{margin:0 16px 14px;background:var(--brand-soft);border:1px dashed var(--brand);border-radius:12px;padding:14px;font-size:.82rem;color:var(--ink-soft)}
.note b{color:var(--brand-dark)}
.mode{display:block;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;margin:0 16px 10px;box-shadow:var(--sh);text-align:left;width:calc(100% - 32px);transition:.16s}
.mode.on{border-color:var(--brand);border-width:2px;padding:14px}
.mode-h{display:flex;align-items:center;gap:11px;margin-bottom:7px}
.dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.mode.on .dot{border-color:var(--brand);background:var(--brand)}
.dot i{width:7px;height:7px;background:#fff;border-radius:50%;opacity:0}
.mode.on .dot i{opacity:1}
.mode-h b{font-size:.94rem;font-weight:600}
.mode p{font-size:.82rem;color:var(--ink-soft);padding-left:31px}
.mode .rec{margin-left:8px;background:var(--ok-soft);color:var(--ok);font-size:.64rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:99px;border:1px solid var(--ok-line)}
.mode .warn-n{margin:9px 0 0 31px;background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:9px;padding:9px 11px;font-size:.77rem;color:var(--amber)}
.sec-h{padding:18px 16px 8px;font-size:.69rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}
.nav{flex-shrink:0;background:var(--surface);border-top:1px solid var(--line);display:flex;height:var(--nav-h)}
.nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.67rem;font-weight:600;color:var(--ink-faint);position:relative}
.nav button.on{color:var(--brand)}
.nav button .bdg{position:absolute;top:9px;right:50%;margin-right:-19px;background:var(--warn);color:#fff;font-size:.59rem;font-weight:700;min-width:16px;height:16px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.empty{text-align:center;padding:50px 30px;color:var(--ink-faint);font-size:.87rem}

/* ════ PREPÍNAČ ════ */
.sw{width:44px;height:26px;border-radius:99px;background:var(--line-2);position:relative;flex-shrink:0;transition:.2s}
.sw::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s}
.sw.on{background:var(--brand)}
.sw.on::after{transform:translateX(18px)}
.swrow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);text-align:left;width:100%}
.swrow:last-child{border-bottom:none}
.swrow .tx{flex:1;min-width:0}
.swrow .tx b{display:block;font-size:.88rem;font-weight:600}
.swrow .tx span{display:block;font-size:.76rem;color:var(--ink-faint);line-height:1.45}
.swrow .pr{font-family:var(--fm);font-size:.77rem;font-weight:700;color:var(--ink-soft);flex-shrink:0}
.swrow .pr.free{color:var(--ok)}

/* ════ KALENDÁR ════ */
.calsync{display:flex;align-items:center;gap:11px;margin:0 16px 14px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 14px;box-shadow:var(--sh)}
.calsync .g{width:34px;height:34px;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-soft)}
.calsync .tx{flex:1;min-width:0}
.calsync .tx b{display:block;font-size:.86rem;font-weight:600}
.calsync .tx span{display:block;font-size:.75rem;color:var(--ink-faint);line-height:1.4}
.dayg{margin:0 16px 14px}
.dayl{display:flex;align-items:center;gap:9px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}
.dayl .td{background:var(--brand);color:#fff;font-size:.61rem;padding:2px 8px;border-radius:99px;letter-spacing:.04em}
.cit{display:flex;gap:12px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:12px;padding:12px 14px;margin-bottom:8px;box-shadow:var(--sh);align-items:flex-start}
.cit.man{border-left-color:var(--line-2)}
.cit.fresh{animation:pop .5s cubic-bezier(.16,1,.3,1)}
@keyframes pop{from{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}
.cit .tm{font-family:var(--fm);font-weight:700;font-size:.85rem;width:42px;flex-shrink:0;padding-top:1px}
.cit .cc{flex:1;min-width:0}
.cit .cc b{display:block;font-size:.89rem;font-weight:600}
.cit .cc span{display:block;font-size:.76rem;color:var(--ink-faint);line-height:1.4}
.cit .src{font-size:.61rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:99px;background:var(--brand-soft);color:var(--brand-dark);flex-shrink:0;align-self:center;white-space:nowrap}
.cit.man .src{background:var(--bg);color:var(--ink-faint)}

/* ════ SPODNÝ PANEL ════ */
.sheet-bg{position:absolute;inset:0;background:rgba(21,24,35,.52);z-index:60;display:flex;align-items:flex-end;animation:fade .2s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.sheet{background:var(--surface);width:100%;border-radius:20px 20px 0 0;padding:16px 16px 20px;animation:up .3s cubic-bezier(.16,1,.3,1);max-height:84%;overflow-y:auto}
@keyframes up{from{transform:translateY(100%)}to{transform:none}}
.sheet .grab{width:38px;height:4px;background:var(--line-2);border-radius:99px;margin:0 auto 14px}
.sheet h3{font-size:1.08rem;margin-bottom:3px}
.sheet .sub{font-size:.79rem;color:var(--ink-faint);margin-bottom:14px;line-height:1.5}
.slot{display:flex;align-items:center;gap:11px;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:8px;text-align:left;transition:.16s}
.slot:hover{border-color:var(--brand);background:var(--brand-soft)}
.slot:active{transform:scale(.985)}
.slot b{font-size:.9rem;font-weight:600;display:block}
.slot span{font-size:.76rem;color:var(--ink-faint);display:block}
.slot .ar{margin-left:auto;color:var(--brand);font-weight:700;flex-shrink:0}
.sheet .cancel{width:100%;text-align:center;padding:12px;font-size:.87rem;font-weight:600;color:var(--ink-faint);margin-top:4px}
.sheet .cf{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:13px}
.sheet .cf div{display:flex;gap:9px;font-size:.81rem;color:var(--ink-soft);padding:4px 0;line-height:1.45;align-items:flex-start}
.sheet .cf div::before{content:'✓';color:var(--ok);font-weight:700;flex-shrink:0}
.sheet .cf div.x::before{content:'•';color:var(--ink-faint)}
.sheet .btn{margin-bottom:8px}
.sheet .prc{display:flex;align-items:baseline;gap:8px;background:var(--brand-soft);border:1px solid var(--brand-tint);border-radius:12px;padding:12px 14px;margin-bottom:13px}
.sheet .prc b{font-family:var(--fd);font-size:1.3rem;color:var(--brand-dark)}
.sheet .prc span{font-size:.79rem;color:var(--ink-soft)}
.gsheet{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:13px}
.gsheet .gi{width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:800;color:#4285F4;flex-shrink:0}
.gsheet b{display:block;font-size:.87rem}
.gsheet span{display:block;font-size:.76rem;color:var(--ink-faint)}
.on-since{font-size:.69rem;font-weight:700;color:var(--ok);display:block;margin-top:3px}

/* ════ ADMIN: ZMENY OD KLIENTOV ════ */
.lgrow{display:flex;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 16px;margin:0 20px 9px;box-shadow:var(--sh);align-items:flex-start}
.lgrow.wait{border-left:3px solid var(--amber)}
.lgrow.auto{border-left:3px solid var(--ok)}
.lgrow.sched{border-left:3px solid var(--brand)}
.lgrow .lav{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:.78rem;flex-shrink:0}
.lgrow .lc{flex:1;min-width:0}
.lgrow .lc b{display:block;font-size:.89rem;font-weight:600}
.lgrow .lc span{display:block;font-size:.81rem;color:var(--ink-soft);line-height:1.45}
.lgrow .rt{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}
.lgrow time{font-size:.71rem;color:var(--ink-faint);white-space:nowrap}
.tag{font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 9px;border-radius:99px;white-space:nowrap}
.tag.a{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok-line)}
.tag.w{background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber-line)}
.tag.s{background:var(--brand-soft);color:var(--brand-dark);border:1px solid var(--brand-tint)}

/* ════ ZNÍŽENIE BALÍKA ════ */
.down{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin:0 16px 9px;width:calc(100% - 32px);text-align:left;box-shadow:var(--sh);transition:.16s}
.down:hover{border-color:var(--line-2)}
.down:active{transform:scale(.99)}
.down .dc{flex:1;min-width:0}
.down .dc b{display:block;font-size:.92rem;font-weight:600}
.down .dc span{display:block;font-size:.77rem;color:var(--ink-faint);line-height:1.4}
.down .dm{font-family:var(--fm);font-size:.8rem;font-weight:700;color:var(--ink-soft);flex-shrink:0}
.pendb{margin:0 16px 14px;background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:13px;padding:14px 16px;font-size:.82rem;color:var(--amber);line-height:1.5}
.pendb b{display:block;font-size:.89rem;margin-bottom:3px}
.pendb button{margin-top:9px;font-size:.8rem;font-weight:700;color:var(--amber);text-decoration:underline}
.killrow{display:block;width:100%;text-align:center;padding:15px;font-size:.81rem;color:var(--ink-faint);text-decoration:underline}
.sheet .wrn{background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:11px;padding:12px 14px;font-size:.81rem;color:var(--amber);margin-bottom:13px;line-height:1.5}
.stab .cnt{font-family:var(--fm);font-size:.73rem;margin-left:5px;opacity:.7}
.autonote{margin:0 20px 14px;background:var(--ok-soft);border:1px solid var(--ok-line);border-radius:13px;padding:14px 16px;font-size:.83rem;color:#0B7355;line-height:1.55}
.autonote b{color:#075E45}

/* ════ BALÍK ════ */
.pbox{margin:0 16px 14px;background:linear-gradient(135deg,var(--brand),#9333EA);color:#fff;border-radius:16px;padding:18px;box-shadow:0 14px 30px -16px rgba(124,58,237,.9)}
.pbox .lbl{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.78}
.pbox h3{font-size:1.42rem;margin:3px 0 1px}
.pbox .pri{font-family:var(--fm);font-size:.84rem;opacity:.92}
.pbox .ubar{height:7px;background:rgba(255,255,255,.28);border-radius:99px;margin:15px 0 6px;overflow:hidden}
.pbox .ubar i{display:block;height:100%;background:#fff;border-radius:99px;transition:width .6s cubic-bezier(.16,1,.3,1)}
.pbox .ul{font-size:.75rem;opacity:.92;display:flex;justify-content:space-between}
.upg{display:block;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;margin:0 16px 10px;box-shadow:var(--sh);text-align:left;width:calc(100% - 32px);transition:.16s}
.upg:hover{border-color:var(--brand);transform:translateY(-2px)}
.upg:active{transform:scale(.99)}
.upg .uh{display:flex;align-items:baseline;gap:8px;margin-bottom:5px}
.upg .uh b{font-size:.97rem;font-weight:600}
.upg .uh .df{margin-left:auto;font-family:var(--fm);font-size:.8rem;font-weight:700;color:var(--brand);white-space:nowrap}
.upg>p{font-size:.81rem;color:var(--ink-soft);margin-bottom:9px}
.upg ul{list-style:none;display:flex;flex-direction:column;gap:5px}
.upg li{font-size:.79rem;color:var(--ink-soft);display:flex;gap:8px;align-items:flex-start}
.upg li::before{content:'✓';color:var(--ok);font-weight:700;flex-shrink:0}
.upg .cta{margin-top:11px;font-size:.83rem;font-weight:700;color:var(--brand)}
.sup{margin:0 16px 12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--sh)}
.sup-h{display:flex;align-items:center;gap:12px;margin-bottom:11px}
.sup-av{width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:.92rem;flex-shrink:0}
.sup-h b{display:block;font-size:.94rem;font-weight:600}
.sup-h span{display:block;font-size:.76rem;color:var(--ink-faint)}
.sla{background:var(--ok-soft);border:1px solid var(--ok-line);color:var(--ok);border-radius:10px;padding:10px 12px;font-size:.78rem;font-weight:600;margin-bottom:11px;line-height:1.45}
.sup-btns{display:flex;gap:8px}
.sup-btns .btn{padding:11px;font-size:.85rem}

/* ════ BANNER NA PLOCHU ════ */
.banner{display:flex;align-items:center;gap:11px;margin:0 16px 10px;background:var(--ink);color:#fff;border-radius:13px;padding:12px 13px}
.banner .bi{width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.banner .bt{flex:1;min-width:0;font-size:.75rem;line-height:1.4;color:rgba(255,255,255,.7)}
.banner .bt b{display:block;font-size:.85rem;color:#fff;margin-bottom:1px;font-weight:600}
.banner .ba{background:#fff;color:var(--ink);font-size:.77rem;font-weight:700;padding:7px 12px;border-radius:9px;white-space:nowrap;flex-shrink:0}
.banner .bx{color:rgba(255,255,255,.45);font-size:1.15rem;line-height:1;padding:2px;flex-shrink:0}

/* ════ ADMIN: FAKTURÁCIA ════ */
.stabs{display:flex;gap:8px;padding:0 20px 15px}
.stab{padding:8px 17px;border-radius:99px;font-size:.83rem;font-weight:600;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);transition:.16s}
.stab.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.ihead{display:grid;grid-template-columns:1.7fr 1fr 1.1fr 1fr .9fr;gap:12px;padding:0 20px 8px;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}
.irow{display:grid;grid-template-columns:1.7fr 1fr 1.1fr 1fr .9fr;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 16px;margin:0 20px 9px;box-shadow:var(--sh)}
.irow .mono{font-family:var(--fm);font-size:.86rem;font-weight:600}
.irow .over{font-family:var(--fm);font-size:.79rem;color:var(--amber);font-weight:600}
.st{font-size:.71rem;font-weight:700;padding:3px 10px;border-radius:99px;display:inline-block}
.st.p{background:var(--ok-soft);color:var(--ok)}
.st.w{background:var(--amber-soft);color:var(--amber)}
.sumrow{display:flex;justify-content:space-between;align-items:center;margin:4px 20px 0;background:var(--brand-soft);border:1px dashed var(--brand);border-radius:13px;padding:15px 17px;font-size:.87rem;color:var(--ink-soft)}
.sumrow b{font-family:var(--fd);font-size:1.2rem;color:var(--brand-dark)}
.opp{margin:14px 20px 0;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:15px 17px;box-shadow:var(--sh)}
.opp h4{font-size:.93rem;margin-bottom:8px}
.opp p{font-size:.82rem;color:var(--ink-soft);line-height:1.55}
.opp p+p{margin-top:7px}
.opp b{color:var(--ink)}

@media(max-width:1000px){
  .app,.app.wide{width:100%;height:100vh;max-height:none;border-radius:0;box-shadow:none}
  .kpis{grid-template-columns:1fr 1fr}
  .thead{display:none}
  .crow{grid-template-columns:1fr;gap:10px;width:calc(100% - 32px);margin:0 16px 9px}
  .crow .open{display:none}
  .ihead{display:none}
  .irow{grid-template-columns:1fr 1fr;gap:9px;margin:0 16px 9px}
  .stabs,.sumrow,.opp{padding-left:16px;padding-right:16px}
  .sumrow,.opp{margin-left:16px;margin-right:16px}
  .lgrow,.autonote{margin-left:16px;margin-right:16px}
}
