/* ============ SUPERFLY HQ — premium SaaS design ============ */
:root {
  --sa-test: env(safe-area-inset-bottom, 0px);
  --sa-top-test: env(safe-area-inset-top, 0px);
  --bg: #0B0B0C;
  --surface: #121214;
  --surface-2: #19191C;
  --border: #25242A;
  --gold: #C9A96E;
  --gold-hi: #F1DDAE;
  --gold-lo: #9C7C45;
  --gold-soft: rgba(201,169,110,0.10);
  --gold-line: rgba(201,169,110,0.30);
  --line: rgba(201,169,110,0.14);
  --white: #F2EDE4;
  --muted: #9A9388;
  --muted-2: #6E685F;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Manrope', system-ui, sans-serif;
  --ui-scale: 1;
  --gold-rgb: 201,169,110;
  --green: #3FB950;
  --globe-sea-1: #1b1b24;
  --globe-sea-2: #101016;
  --globe-sea-3: #08080b;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 2px 12px rgba(0,0,0,0.35);
  --ease: 180ms cubic-bezier(0.4, 0, 0.2, 1);
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; height: 100%; overscroll-behavior: none; }
body {
  background: var(--bg); color: var(--white);
  font-family: var(--font-body, "Inter"), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.5;
  position: fixed; inset: 0; overflow: hidden; overscroll-behavior: none;
}
#app { height: 100%; position: relative; z-index: 1; overflow: hidden; }
/* pozadí je vždy fixed a nemá žádnou vazbu na náklon/gyroskop — appka to fyzicky nepoužívá,
   tohle je jen tvrdé pojistka proti jakémukoliv "plavání" kompozitní vrstvy prohlížeče */
#bg-fx { position: fixed; inset: 0; z-index: 0; pointer-events: none; transform: translateZ(0); backface-visibility: hidden; will-change: auto; }
button { font-family: inherit; cursor: pointer; }
input, textarea, select { font-family: inherit; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #2A2A32; border-radius: 4px; }
::-webkit-scrollbar-track { background: transparent; }
.serif { font-family: "Playfair Display", Georgia, serif; font-style: italic; }
[data-lucide] { width: 18px; height: 18px; stroke-width: 2; }

/* ---------- LOGIN ---------- */
.login-wrap { height: 100%; display: flex; align-items: center; justify-content: center; padding: 20px; }
.card { width: 100%; max-width: 400px; background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 36px 30px; box-shadow: var(--shadow); }
.brandmark { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.brandmark .logo-badge { width: 34px; height: 34px; border-radius: 9px; background: linear-gradient(135deg, var(--gold), #C79A2E); display: flex; align-items: center; justify-content: center; color: #14100A; font-weight: 800; font-size: 18px; flex-shrink: 0; }
.eyebrow { font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.login-title { font-size: 34px; font-weight: 800; letter-spacing: -0.02em; margin: 10px 0 22px; }
.auth-switch { display: flex; gap: 6px; background: var(--bg); padding: 4px; border-radius: 12px; margin-bottom: 18px; }
.auth-switch button { flex: 1; background: none; border: none; color: var(--muted); border-radius: 9px; padding: 10px; font-size: 13px; font-weight: 600; transition: var(--ease); }
.auth-switch button.active { background: var(--surface-2); color: var(--gold); box-shadow: 0 1px 3px rgba(0,0,0,0.3); }
.lbl { display: block; font-size: 12px; color: var(--muted); margin: 14px 0 6px; font-weight: 500; }
.inp { width: 100%; background: var(--bg); color: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 14px; font-size: 14.5px; outline: none; transition: var(--ease); }
.inp:focus { border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-soft); }
textarea.inp { resize: none; }
.btn { background: linear-gradient(135deg, var(--gold), #D4A838); color: #14100A; border: none; border-radius: var(--radius-sm); padding: 12px 18px; font-size: 14px; font-weight: 700; transition: var(--ease); display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn:disabled { opacity: 0.5; transform: none; cursor: default; }
.btn.full { width: 100%; margin-top: 20px; }
.btn.small { padding: 8px 13px; font-size: 12.5px; }
.btn.ghost:hover { border-color: var(--gold-line); filter: none; }
.err { color: #FF7B72; font-size: 13px; margin-top: 12px; min-height: 0; }
.note { color: var(--muted); font-size: 12px; margin-top: 14px; line-height: 1.55; }

/* ---------- APP SHELL ---------- */
.shell { display: grid; grid-template-columns: 250px 1fr; grid-template-rows: 100%; height: 100%; }
.sidebar { background: var(--surface); border-right: 1px solid var(--border); display: flex; flex-direction: column; padding: 16px 12px; gap: 4px; }
.side-brand { display: flex; align-items: center; gap: 10px; padding: 6px 8px 14px; }
.side-brand .logo-badge { width: 30px; height: 30px; border-radius: 8px; background: linear-gradient(135deg, var(--gold), #C79A2E); display: flex; align-items: center; justify-content: center; color: #14100A; font-weight: 800; font-size: 15px; }
.side-brand .name { font-weight: 800; font-size: 16px; letter-spacing: -0.01em; }
.company-switch { position: relative; margin-bottom: 10px; }
.cs-btn { width: 100%; display: flex; align-items: center; gap: 9px; background: var(--bg); color: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 8px 10px; font-size: 13px; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s; }
.cs-btn:hover { border-color: var(--gold); }
.cs-badge { width: 26px; height: 26px; flex: 0 0 26px; border-radius: 7px; background: linear-gradient(135deg, var(--gold), #C79A2E); color: #14100A; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 12px; }
.cs-badge.sm { width: 24px; height: 24px; flex-basis: 24px; }
.cs-name { flex: 1; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-chev { width: 15px; height: 15px; color: var(--muted); flex: 0 0 auto; }
.cs-menu { position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: 0 12px 32px rgba(0,0,0,.5); padding: 6px; z-index: 200; animation: cs-pop .12s ease; }
.cs-menu[hidden] { display: none; }
@keyframes cs-pop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.cs-menu-head { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: 6px 8px 4px; }
.cs-item { width: 100%; display: flex; align-items: center; gap: 9px; background: none; border: 0; color: var(--white); padding: 8px; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; text-align: left; }
.cs-item:hover { background: var(--bg); }
.cs-item.active { color: var(--gold); }
.cs-item-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cs-item [data-lucide] { width: 15px; height: 15px; color: var(--gold); }
.mobile-topbar { display: none; }
.nav-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--radius-sm); background: none; border: none; color: var(--muted); font-size: 14px; font-weight: 500; width: 100%; text-align: left; transition: var(--ease); position: relative; }
.nav-item:hover { background: var(--surface-2); color: var(--white); }
.nav-item.active { background: var(--gold-soft); color: var(--gold); font-weight: 600; }
.nav-item .badge { margin-left: auto; background: var(--gold); color: #14100A; font-size: 11px; font-weight: 700; min-width: 20px; height: 20px; border-radius: 10px; display: flex; align-items: center; justify-content: center; padding: 0 6px; }
.nav-item .nav-badge { background: #E5473F; color: #fff; box-shadow: 0 0 0 2px var(--bg-elev, var(--bg)); animation: nb-pop .25s ease; }
@keyframes nb-pop { from { transform: scale(.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.mobile-tabbar button { position: relative; }
.mobile-tabbar .nav-badge { position: absolute; top: 2px; right: calc(50% - 22px); min-width: 16px; height: 16px; border-radius: 8px; background: #E5473F; color: #fff; font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
.more-item { position: relative; }
.more-item .nav-badge { position: absolute; top: 6px; right: 10px; min-width: 16px; height: 16px; border-radius: 8px; background: #E5473F; color: #fff; font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
.side-spacer { flex: 1; }
.side-profile { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: var(--radius-sm); background: var(--bg); border: 1px solid var(--border); }
.side-profile .who { flex: 1; min-width: 0; }
.side-profile .who .n { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.side-profile .who .r { font-size: 11px; color: var(--muted); }
.icon-btn { background: none; border: none; color: var(--muted); padding: 6px; border-radius: 8px; display: inline-flex; transition: var(--ease); }
.icon-btn:hover { background: var(--surface-2); color: var(--white); }

/* ---------- MAIN ---------- */
.main { display: flex; flex-direction: column; min-width: 0; height: 100%; overflow: hidden; }
.main > #main-slot { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.topbar { display: flex; align-items: center; gap: 14px; padding: 14px 22px; border-bottom: 1px solid var(--border); flex-shrink: 0; }
.topbar .search { flex: 1; max-width: 420px; position: relative; }
.topbar .search input { width: 100%; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 9px 12px 9px 36px; color: var(--white); font-size: 13.5px; outline: none; }
.topbar .search input:focus { border-color: var(--gold-line); }
.topbar .search [data-lucide] { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--muted); width: 16px; height: 16px; }
.topbar .page-title { font-size: 17px; font-weight: 700; letter-spacing: -0.01em; }
.topbar .spacer { flex: 1; }
.content { flex: 1; overflow-y: auto; padding: 22px; }
.motto-bar { margin: 0 0 18px; border: 1px solid var(--gold-line); border-radius: var(--radius); background: linear-gradient(100deg, var(--gold-soft), transparent); padding: 14px 18px; }
.motto-bar .txt { font-size: 16px; margin-top: 3px; }

/* ---------- STAT TILES ---------- */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.stat-tile { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; transition: var(--ease); }
.stat-tile:hover { border-color: var(--gold-line); transform: translateY(-2px); }
.stat-tile .top { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12.5px; font-weight: 500; }
.stat-tile .top [data-lucide] { width: 15px; height: 15px; color: var(--gold); }
.stat-tile .num { font-size: 28px; font-weight: 800; margin: 8px 0 2px; letter-spacing: -0.02em; color: var(--white); }
.stat-tile .sub { font-size: 11.5px; color: var(--muted-2); }

/* ---------- SECTIONS / CARDS ---------- */
.section { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px; margin-bottom: 16px; }
.section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.section-head h3 { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: -0.01em; }
.section-head .link { color: var(--gold); font-size: 12.5px; font-weight: 600; background: none; border: none; }
.row { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.row .inp { flex: 1; min-width: 150px; }
.pills { display: flex; gap: 6px; margin-bottom: 14px; flex-wrap: wrap; }
.pill { background: var(--bg); border: 1px solid var(--border); color: var(--muted); border-radius: 999px; padding: 6px 14px; font-size: 12.5px; font-weight: 600; transition: var(--ease); }
.pill.active { background: var(--gold-soft); color: var(--gold); border-color: var(--gold-line); }

/* ---------- CHAT (WhatsApp) ---------- */
.chat-layout { display: grid; grid-template-columns: 300px 1fr; height: 100%; flex: 1; min-height: 0; overflow: hidden; }
.chat-list { border-right: 1px solid var(--border); display: flex; flex-direction: column; overflow: hidden; }
.chat-list-head { padding: 16px 16px 10px; }
.chat-list-head .t { font-size: 17px; font-weight: 700; }
.conv-scroll { flex: 1; overflow-y: auto; padding: 0 8px 8px; }
.conv { display: flex; align-items: center; gap: 11px; padding: 10px; border-radius: 12px; transition: var(--ease); width: 100%; border: none; background: none; text-align: left; }
.conv:hover { background: var(--surface-2); }
.conv.active { background: var(--gold-soft); }
.avatar { width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0; object-fit: cover; background: linear-gradient(135deg, #F5D77A, #C79A2E); display: flex; align-items: center; justify-content: center; color: #14100A; font-weight: 700; font-size: 16px; position: relative; overflow: hidden; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.avatar.sm { width: 34px; height: 34px; font-size: 13px; }
.avatar.lg { width: 64px; height: 64px; font-size: 24px; }
.avatar .dot { position: absolute; bottom: 0; right: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--green); border: 2px solid var(--surface); }
.conv .ci { flex: 1; min-width: 0; }
.conv .ci .cn { font-size: 14px; font-weight: 600; display: flex; justify-content: space-between; }
.conv .ci .cn .time { font-size: 11px; color: var(--muted-2); font-weight: 400; }
.conv .ci .cl { font-size: 12.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.conv .unread { background: var(--gold); color: #14100A; font-size: 11px; font-weight: 700; min-width: 19px; height: 19px; border-radius: 10px; display: flex; align-items: center; justify-content: center; padding: 0 5px; }

.chat-main { display: flex; flex-direction: column; min-width: 0; overflow: hidden; will-change: transform; }
.chat-header { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--border); flex-shrink: 0; }
.chat-header .hn { font-size: 15px; font-weight: 700; }
.chat-header .hs { font-size: 12px; color: var(--green); }
.chat-header .actions { margin-left: auto; display: flex; gap: 4px; }
.messages { flex: 1; overflow-y: auto; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.msg { max-width: 68%; }
.msg.mine { align-self: flex-end; }
.bubble { padding: 6px 10px; border-radius: 16px; font-size: 14px; line-height: 1.4; white-space: pre-wrap; word-break: break-word; background: var(--surface-2); border-bottom-left-radius: 5px; display: flex; align-items: flex-end; flex-wrap: wrap; gap: 6px; }
.msg.mine .bubble { background: linear-gradient(135deg, var(--gold), #D4A838); color: #14100A; border-bottom-left-radius: 16px; border-bottom-right-radius: 5px; }
.msg.agent .bubble { border: 1px solid var(--gold-line); background: var(--gold-soft); }
.bubble .bubble-text { flex: 0 1 auto; }
.bubble .meta-inline { margin-left: auto; font-size: 10.5px; color: var(--muted-2); white-space: nowrap; display: flex; align-items: center; gap: 4px; flex-shrink: 0; padding-top: 2px; }
.msg.mine .bubble .meta-inline { color: rgba(20,16,10,.55); }
.bubble.file-bubble { display: block; padding: 6px 8px 8px; }
.bubble.file-bubble .meta { font-size: 10.5px; color: var(--muted-2); margin-top: 4px; padding: 0 4px; display: flex; gap: 5px; align-items: center; }
.pdf-ic { color: #E5473F; }

/* náhled obrázku/videa přímo v bublině (jako Telegram/WhatsApp) */
.bubble.media-bubble { display: block; padding: 4px; max-width: 260px; }
.media-preview { border-radius: 12px; overflow: hidden; background: var(--surface); min-height: 140px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.media-preview img { display: block; width: 100%; max-height: 320px; object-fit: cover; border-radius: 12px; }
.media-preview video { display: block; width: 100%; max-height: 320px; border-radius: 12px; }
.media-loading { color: var(--muted); display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 30px; }
.media-loading [data-lucide] { width: 28px; height: 28px; }
.media-err { color: #E5807A; font-size: 12px; display: flex; align-items: center; gap: 6px; padding: 16px; }
.bubble.media-bubble .meta { font-size: 10.5px; color: var(--muted-2); padding: 4px 6px 2px; display: flex; gap: 5px; align-items: center; }

/* album víc fotek najednou (WhatsApp styl) */
.album-bubble { display: block; padding: 4px; max-width: 280px; background: var(--surface-2); }
.album-grid { display: grid; gap: 2px; border-radius: 10px; overflow: hidden; }
.album-grid.n2 { grid-template-columns: 1fr 1fr; }
.album-grid.n3 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.album-grid.n3 .album-item:first-child { grid-row: span 2; }
.album-grid.n4 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.album-grid.n5, .album-grid.n6 { grid-template-columns: repeat(3, 1fr); }
.album-item { position: relative; aspect-ratio: 1/1; background: var(--surface); cursor: pointer; }
.album-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.album-item .media-loading { padding: 0; height: 100%; }
.album-more { position: absolute; inset: 0; background: rgba(0,0,0,.55); color: #fff; font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.msg.album-msg { max-width: 78%; }

/* fullscreen prohlížeč médií */
.media-viewer { position: fixed; inset: 0; background: rgba(0,0,0,.92); z-index: 50; display: flex; align-items: center; justify-content: center; }
.media-viewer img, .media-viewer video { max-width: 94vw; max-height: 88vh; border-radius: 8px; }
.media-viewer-close { position: absolute; top: max(16px, env(safe-area-inset-top)); right: 16px; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.12); border: none; color: #fff; display: flex; align-items: center; justify-content: center; }
.media-viewer-dl { position: absolute; bottom: max(16px, env(safe-area-inset-bottom)); right: 16px; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; display: flex; align-items: center; justify-content: center; }
.msg.mine .bubble.file-bubble .meta { color: rgba(20,16,10,.55); justify-content: flex-end; }
.msg .author-name { font-size: 11px; font-weight: 700; color: var(--gold); margin: 0 4px 2px; }
.msg .tick { color: var(--muted-2); display: inline-flex; }
.msg.mine .tick { color: rgba(20,16,10,.7); }
.msg .tick [data-lucide] { width: 13px; height: 13px; }
.filebox { display: flex; align-items: center; gap: 10px; }
.filebox .fn { font-size: 13px; font-weight: 500; }
.filebox .fs { font-size: 11px; color: var(--muted); }
.typing { align-self: flex-start; color: var(--muted); font-size: 12.5px; padding: 4px 8px; display: flex; align-items: center; gap: 6px; }
.typing .dots span { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--muted); margin: 0 1px; animation: blink 1.4s infinite both; }
.typing .dots span:nth-child(2) { animation-delay: 0.2s; }
.typing .dots span:nth-child(3) { animation-delay: 0.4s; }
@keyframes blink { 0%, 80%, 100% { opacity: 0.3; } 40% { opacity: 1; } }

.composer { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--border); flex-shrink: 0; padding-bottom: max(12px, env(safe-area-inset-bottom)); }
.composer .inp-wrap { flex: 1; min-width: 0; display: flex; align-items: center; background: var(--surface); border: 1px solid var(--border); border-radius: 22px; padding: 0 6px 0 14px; }
.composer .inp-wrap:focus-within { border-color: var(--gold-line); }
.composer textarea { flex: 1; min-width: 0; background: none; border: none; color: var(--white); font-size: 16px; outline: none; resize: none; padding: 12px 0; max-height: 100px; }
.composer .round { width: 42px; height: 42px; border-radius: 50%; border: none; background: linear-gradient(135deg, var(--gold), #D4A838); color: #14100A; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: var(--ease); }
.composer .round:hover { filter: brightness(1.08); }
.composer .in-btn { background: none; border: none; color: var(--muted); padding: 7px; display: inline-flex; border-radius: 8px; }
.composer .in-btn:hover { color: var(--gold); }
.composer-right { display: flex; align-items: center; gap: 2px; flex-shrink: 0; }
.composer-wrap { flex-shrink: 0; display: flex; flex-direction: column; position: relative; }
.reply-preview { border-top: 1px solid var(--border); }
.rp-bar { display: flex; align-items: center; gap: 10px; padding: 8px 16px; background: var(--surface-2); }
.rp-bar [data-lucide]:first-child { width: 16px; height: 16px; color: var(--gold); flex: none; }
.rp-bar.edit [data-lucide]:first-child { color: var(--gold); }
.rp-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.rp-mid b { font-size: 12px; color: var(--gold); }
.rp-mid span { font-size: 12.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-x { background: none; border: none; color: var(--muted); flex: none; display: inline-flex; padding: 4px; }
.rp-x [data-lucide] { width: 16px; height: 16px; }
.bubble-wrap { display: flex; flex-direction: column; }
.msg-reply-ref { background: rgba(255,255,255,.06); border-left: 3px solid var(--gold); border-radius: 8px; padding: 5px 9px; margin-bottom: 4px; font-size: 12px; }
.msg-reply-ref b { display: block; color: var(--gold); font-size: 11px; margin-bottom: 1px; }
.msg.mine .msg-reply-ref { background: rgba(0,0,0,.12); border-left-color: #14100A; }
.bubble.del { display: flex; align-items: center; gap: 6px; font-style: italic; color: var(--muted); background: var(--surface-2) !important; }
.bubble.del [data-lucide] { width: 14px; height: 14px; }
.deleted-msg .msg-reacts, .deleted-msg .author-name { display: none; }

/* ===== Dlouhé podržení zprávy — kontextové menu ===== */
.msg-menu-overlay { position: fixed; inset: 0; z-index: 300; }
.msg-menu-back { position: absolute; inset: 0; background: rgba(0,0,0,.5); backdrop-filter: blur(2px); }
.msg-menu-card { position: absolute; left: 50%; transform: translateX(-50%); width: min(320px, 92vw); background: var(--surface); border: 1px solid var(--border); border-radius: 18px; overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,.5); animation: mm-pop .15s ease; }
@keyframes mm-pop { from { opacity: 0; transform: translateX(-50%) scale(.92); } to { opacity: 1; transform: translateX(-50%) scale(1); } }
.msg-menu-quick { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-bottom: 1px solid var(--border); }
.msg-menu-quick button { font-size: 22px; background: none; border: none; padding: 4px; border-radius: 50%; transition: var(--ease); line-height: 1; }
.msg-menu-quick button:active { background: var(--surface-2); transform: scale(1.15); }
.msg-menu-quick .mm-plus { display: flex; align-items: center; justify-content: center; color: var(--muted); }
.msg-menu-quick .mm-plus [data-lucide] { width: 18px; height: 18px; }
.msg-menu-list { display: flex; flex-direction: column; padding: 6px; }
.msg-menu-list button { display: flex; align-items: center; gap: 12px; padding: 11px 12px; background: none; border: none; color: var(--white); font-size: 14px; text-align: left; border-radius: 10px; }
.msg-menu-list button:active { background: var(--surface-2); }
.msg-menu-list button [data-lucide] { width: 17px; height: 17px; color: var(--muted); }
.msg-menu-list button[data-mmact="delete"] { color: #E5807A; }
.msg-menu-list button[data-mmact="delete"] [data-lucide] { color: #E5807A; }

/* ===== Obecný bottom sheet — připnuté zprávy + výběr emoji ===== */
.sheet-overlay { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,.5); display: flex; align-items: flex-end; justify-content: center; }
.sheet-panel { width: 100%; max-width: 480px; max-height: 78vh; background: var(--surface); border-radius: 20px 20px 0 0; border: 1px solid var(--border); border-bottom: none; display: flex; flex-direction: column; padding-bottom: env(safe-area-inset-bottom); animation: sheet-up .2s ease; }
@keyframes sheet-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
.sheet-grab { width: 36px; height: 4px; background: var(--border); border-radius: 3px; margin: 10px auto 4px; flex: none; }
.sheet-head { display: flex; align-items: center; gap: 8px; padding: 6px 18px 12px; font-size: 15px; font-weight: 700; color: var(--white); flex: none; }
.sheet-head span { font-size: 12px; font-weight: 600; color: var(--gold); background: var(--gold-soft); border-radius: 999px; padding: 2px 9px; }
.sheet-head .icon-btn { margin-left: auto; }
.sheet-body { overflow-y: auto; padding: 0 14px 18px; }
.pin-row { display: block; width: 100%; text-align: left; background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; }
.pin-row b { font-size: 12px; color: var(--gold); }
.pin-t { font-size: 13.5px; color: var(--white); margin: 3px 0; line-height: 1.4; }
.pin-meta { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: var(--muted); }
.pin-unpin { color: #E5807A; font-size: 11.5px; font-weight: 600; }
.pin-bar-btn { display: flex; align-items: center; gap: 8px; background: var(--surface-2); border-radius: 12px; padding: 7px 8px 7px 10px; width: 100%; }
.pin-accent { width: 2px; height: 24px; background: var(--gold); border-radius: 2px; flex-shrink: 0; }
.pin-mid { flex: 1; min-width: 0; background: none; border: none; text-align: left; padding: 0; cursor: pointer; }
.pin-label { color: var(--white); font-size: 11px; font-weight: 700; }
.pin-preview { color: var(--muted); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pin-count { color: var(--muted-2); font-size: 10px; flex-shrink: 0; }
.pin-bar-btn #pin-open { background: none; border: none; color: var(--muted); flex: none; padding: 6px; display: inline-flex; cursor: pointer; }
.pin-bar-btn #pin-open [data-lucide] { width: 15px; height: 15px; }

/* Telegram-styl "skoč na zprávu" — krátké zablikání, ať člověk hned vidí, na co klikl */
.msg-flash .bubble { animation: msgflash 1.5s ease; }
@keyframes msgflash { 0% { box-shadow: 0 0 0 2px var(--gold); } 35% { box-shadow: 0 0 0 2px var(--gold); } 100% { box-shadow: 0 0 0 0 transparent; } }

/* Podržení zprávy nesmí spouštět nativní výběr textu / callout na iOS — bije se to s naším
   vlastním menu (Kopírovat tam už je), a dělalo to přesně tenhle zmatek na screenshotu */
.msg .bubble, .msg-menu-card { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
#pin-bar { margin: 7px 10px 0; }
#pin-bar:empty { margin: 0; }
.emoji-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; padding: 4px 4px 10px; }
.emoji-grid button { font-size: 24px; background: none; border: none; padding: 6px 0; border-radius: 10px; line-height: 1; }
.emoji-grid button:active { background: var(--surface-2); }
@media (max-width: 420px) { .emoji-grid { grid-template-columns: repeat(7, 1fr); } }
.pinned-bar { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: var(--gold-soft); border-bottom: 1px solid var(--gold-line); font-size: 12.5px; }
.pinned-bar .pt { flex: 1; }
.pinned-bar .pt b { color: var(--gold); }

/* ---------- TASKS ---------- */
.task-card { display: flex; align-items: flex-start; gap: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 10px; transition: var(--ease); }
.task-card:hover { border-color: var(--gold-line); }
.task-card.done { opacity: 0.6; }
.check { width: 22px; height: 22px; border-radius: 7px; border: 2px solid var(--muted); background: none; flex-shrink: 0; margin-top: 1px; display: flex; align-items: center; justify-content: center; color: #14100A; transition: var(--ease); }
.check.on { background: linear-gradient(135deg, var(--gold), #D4A838); border-color: var(--gold); }
.check [data-lucide] { width: 14px; height: 14px; }
.task-body { flex: 1; min-width: 0; }
.task-body .tt { font-size: 14.5px; font-weight: 500; }
.task-card.done .tt { text-decoration: line-through; color: var(--muted); }
.task-tags { display: flex; align-items: center; gap: 6px; margin-top: 7px; flex-wrap: wrap; }
.tag { font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 8px; display: inline-flex; align-items: center; gap: 4px; }
.tag.prio-high { background: rgba(255,123,114,0.14); color: #FF7B72; }
.tag.prio-mid { background: rgba(var(--gold-rgb), 0.14); color: var(--gold); }
.tag.prio-low { background: rgba(138,138,148,0.14); color: var(--muted); }
.tag.who { background: var(--surface-2); color: var(--muted); }
.tag.when { background: var(--surface-2); color: var(--muted); }
.task-del { background: none; border: none; color: var(--muted-2); padding: 4px; border-radius: 6px; }
.task-del:hover { color: #FF7B72; }

/* ---------- LEADERBOARD ---------- */
.podium { display: flex; align-items: flex-end; justify-content: center; gap: 14px; margin: 8px 0 22px; }
.podium .p { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.podium .rank-badge { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; margin-bottom: -18px; z-index: 2; position: relative; }
.podium .p1 .rank-badge { background: var(--gold); color: #14100A; }
.podium .p2 .rank-badge { background: #B8B8C0; color: #14100A; }
.podium .p3 .rank-badge { background: #CD8B5A; color: #14100A; }
.podium .p1 .avatar { width: 76px; height: 76px; font-size: 28px; border: 3px solid var(--gold); }
.podium .pn { font-size: 13.5px; font-weight: 700; }
.podium .pp { font-size: 12px; color: var(--gold); font-weight: 600; }
.lb-row { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--border); }
.lb-row .rk { width: 26px; font-size: 14px; font-weight: 700; color: var(--muted); text-align: center; }
.lb-row .ln { flex: 1; font-size: 14px; font-weight: 600; }
.lb-row .lbar { flex: 1.4; height: 7px; background: var(--bg); border-radius: 4px; overflow: hidden; }
.lb-row .lbar .fill { height: 100%; background: linear-gradient(90deg, #C79A2E, var(--gold)); border-radius: 4px; transition: width 0.6s; }
.lb-row .lp { font-size: 13px; font-weight: 700; color: var(--gold); min-width: 46px; text-align: right; }
.lb-row .ln-lvl { display: block; font-size: 11px; color: var(--muted); font-weight: 500; margin-top: 1px; }
.podium .plvl { font-size: 10.5px; color: var(--muted); font-weight: 600; margin-top: -3px; }
.level-card { border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 20px; background: linear-gradient(135deg, var(--gold-soft), transparent 65%); margin-bottom: 16px; }
.lc-top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.lc-lvl { font-size: 20px; font-weight: 800; }
.lc-streak { font-size: 14px; color: var(--gold); margin-top: 3px; font-weight: 600; }
.xpbar { height: 12px; background: var(--bg); border-radius: 7px; overflow: hidden; }
.xpfill { height: 100%; background: linear-gradient(90deg, #C79A2E, var(--gold)); border-radius: 7px; box-shadow: 0 0 12px rgba(var(--gold-rgb), .5); transition: width .9s cubic-bezier(.25,.8,.25,1); }
.xp-note { font-size: 12px; color: var(--muted); margin-top: 7px; }
.badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.badge { display: flex; align-items: center; gap: 6px; background: rgba(0,0,0,.28); border: 1px solid var(--gold-line); border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 600; }
.badge [data-lucide] { width: 14px; height: 14px; color: var(--gold); }
.hof { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.hof-card { background: rgba(0,0,0,.25); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 16px; text-align: center; }
.hof-ico { width: 40px; height: 40px; margin: 0 auto 8px; border-radius: 50%; background: var(--gold-soft); display: flex; align-items: center; justify-content: center; }
.hof-ico [data-lucide] { width: 20px; height: 20px; color: var(--gold); }
.hof-label { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.hof-value { font-size: 20px; font-weight: 800; color: var(--gold); margin: 4px 0 2px; }
.hof-who { font-size: 12px; color: var(--white); }

/* ---------- GOAL ---------- */
.goal-card { border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 18px; background: linear-gradient(135deg, var(--gold-soft), transparent); margin-bottom: 16px; }
.goal-card .gnums { display: flex; justify-content: space-between; align-items: baseline; margin: 8px 0; }
.goal-card .gcur { font-size: 26px; font-weight: 800; color: var(--gold); }
.goal-card .gtar { font-size: 13px; color: var(--muted); }
.bar { height: 10px; background: var(--bg); border-radius: 6px; overflow: hidden; }
.bar .fill { height: 100%; background: linear-gradient(90deg, #C79A2E, var(--gold)); border-radius: 6px; transition: width 0.9s cubic-bezier(.25,.8,.25,1); }
.bar.big { height: 16px; border-radius: 9px; }
.bar.big .fill { border-radius: 9px; box-shadow: 0 0 14px rgba(var(--gold-rgb), .5); }
.mission { border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 20px; background: linear-gradient(135deg, var(--gold-soft), transparent 60%); margin-bottom: 16px; }
.mission-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; }
.mission-label { font-size: 22px; font-weight: 700; margin-top: 2px; }
.mission-pct { font-size: 34px; font-weight: 800; color: var(--gold); line-height: 1; }
.mission-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 16px; }
.mission-stats .ms { background: rgba(0,0,0,.25); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px; }
.mission-stats .ms-n { font-size: 19px; font-weight: 800; }
.mission-stats .ms-l { font-size: 11px; color: var(--muted); margin-top: 3px; }
.contrib { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.contrib:last-child { border-bottom: 0; }
.contrib-body { flex: 1; min-width: 0; }
.contrib-top { display: flex; justify-content: space-between; margin-bottom: 6px; }
.contrib-name { font-weight: 600; font-size: 14px; }
.contrib-amt { font-weight: 700; color: var(--gold); font-size: 14px; }
.cbar { height: 7px; background: var(--bg); border-radius: 4px; overflow: hidden; }
.cfill { height: 100%; background: linear-gradient(90deg, #C79A2E, var(--gold)); border-radius: 4px; transition: width .9s cubic-bezier(.25,.8,.25,1); }
.contrib-pct { font-weight: 800; color: var(--gold); font-size: 15px; min-width: 44px; text-align: right; }
.tl { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.tl:last-child { border-bottom: 0; }
.tl-body { flex: 1; min-width: 0; }
.tl-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tl-name { font-weight: 600; font-size: 14px; }
.tl-date { font-size: 12px; color: var(--muted); }
.tl-amt { font-weight: 700; color: var(--gold); font-size: 14px; margin-left: auto; }
.tl-text { font-size: 13.5px; color: var(--white); margin-top: 3px; }
.gpct { font-size: 12.5px; color: var(--gold); font-weight: 600; margin-top: 7px; }

/* ---------- WINS FEED ---------- */
.win-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; margin-bottom: 14px; transition: var(--ease); }
.win-card:hover { border-color: var(--gold-line); }
.win-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.win-head .wh-name { font-size: 13.5px; font-weight: 600; }
.win-head .wh-time { font-size: 11.5px; color: var(--muted); }
.win-text { font-size: 15px; font-weight: 500; line-height: 1.5; }
.win-amount { font-size: 22px; font-weight: 800; color: var(--gold); margin: 8px 0; letter-spacing: -0.01em; }
.win-actions { display: flex; gap: 16px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.win-actions button { background: none; border: none; color: var(--muted); font-size: 12.5px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; transition: var(--ease); }
.win-actions button:hover { color: var(--gold); }
.win-actions button [data-lucide] { width: 15px; height: 15px; }

/* ---------- ADMIN ---------- */
.codebox { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; border-top: 1px solid var(--border); flex-wrap: wrap; }
.codebox:first-child { border-top: none; }
.codebox code { font-size: 16px; font-weight: 700; letter-spacing: 0.04em; color: var(--gold); background: var(--gold-soft); padding: 4px 10px; border-radius: 8px; }
.user-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--border); }
.user-row:first-child { border-top: none; }
.user-row .ui { flex: 1; min-width: 0; }
.user-row .un { font-size: 14px; font-weight: 600; }
.user-row .us { font-size: 11.5px; color: var(--muted); }
.user-row select { background: var(--bg); color: var(--white); border: 1px solid var(--border); border-radius: 8px; padding: 7px 10px; font-size: 12.5px; max-width: 150px; }

/* ---------- EMPTY STATE ---------- */
.empty { text-align: center; padding: 40px 20px; color: var(--muted); }
.empty .emoji { font-size: 40px; margin-bottom: 12px; }
.empty .et { font-size: 15px; font-weight: 600; color: var(--white); margin-bottom: 4px; }
.empty .es { font-size: 13px; }

/* ---------- avatar edit ---------- */
.avatar-edit, .avatar-btn { position: relative; cursor: pointer; }
.avatar-btn { background: none; border: 0; padding: 0; display: inline-flex; line-height: 0; }
.avatar-btn:hover .cam { transform: scale(1.12); }
.avatar-edit .cam, .avatar-btn .cam { position: absolute; bottom: -2px; right: -2px; width: 20px; height: 20px; border-radius: 50%; background: var(--gold); color: #14100A; display: flex; align-items: center; justify-content: center; border: 2px solid var(--surface); transition: transform .15s; }
.avatar-btn.xs .cam { width: 16px; height: 16px; }
.avatar-edit .cam [data-lucide], .avatar-btn .cam [data-lucide] { width: 11px; height: 11px; }
.avatar-btn.xs .cam [data-lucide] { width: 9px; height: 9px; }

/* ---------- NOTICE ---------- */
.notice { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background: var(--surface-2); border: 1px solid var(--gold-line); color: var(--white); border-radius: 12px; padding: 12px 18px; font-size: 13px; z-index: 100; box-shadow: var(--shadow); animation: slideUp 0.2s ease; max-width: 90%; }
@keyframes slideUp { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.fade-in { animation: fadeIn 0.18s ease; }

/* ---------- MOBILE ---------- */
.mobile-tabbar { display: none; }
@media (max-width: 820px) {
  /* Lišta je normální řádek mřížky, ne plovoucí prvek. Layout si tak sám odečte její výšku —
     odpadá ruční rezerva pod obsahem (magická čísla 52/44px), která nikdy neseděla na všech
     telefonech a dělala černý pruh dole. */
  .shell { grid-template-columns: 1fr; grid-template-rows: 1fr auto; min-height: 0; }
  .main, .main > #main-slot, .content { min-height: 0; }
  .sidebar { display: none; }
  .mobile-topbar { display: flex; align-items: center; gap: 10px; padding: 8px 12px; padding-top: max(8px, env(safe-area-inset-top)); border-bottom: 1px solid var(--border); background: var(--surface); flex: 0 0 auto; }
  .mobile-topbar .company-switch { margin-bottom: 0; flex: 0 1 auto; max-width: 58%; min-width: 0; }
  .mt-brand { display: flex; align-items: center; gap: 9px; flex: 1; min-width: 0; }
  .mt-brand .logo-badge { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 8px; background: linear-gradient(135deg, var(--gold), #C79A2E); display: flex; align-items: center; justify-content: center; color: #14100A; font-weight: 800; font-size: 14px; }
  .mt-title { font-weight: 800; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mt-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; margin-left: auto; }
  .mt-actions .icon-btn { color: var(--white); background: var(--bg); width: 38px; height: 38px; align-items: center; justify-content: center; }
  .mt-actions .icon-btn [data-lucide] { width: 19px; height: 19px; }
  .mt-actions .avatar-btn.xs .cam { width: 15px; height: 15px; }
  .topbar { padding: 12px 16px; }
  .topbar .page-title { font-size: 16px; }
  .content { padding: 16px; }
  .stats { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 16px; }
  .stat-tile { padding: 13px; }
  .stat-tile .num { font-size: 23px; margin: 5px 0 1px; }
  .level-card, .mission { padding: 16px; }
  .lc-lvl { font-size: 18px; }
  .hof { gap: 10px; }
  .hof-card { padding: 13px; }
  .hof-value { font-size: 17px; }
  .section { padding: 15px; }
  .mission-stats { grid-template-columns: repeat(2, 1fr); }
  .mission-pct { font-size: 28px; }
  .mission-label { font-size: 18px; }
  .chat-layout { grid-template-columns: 1fr; }
  input, textarea, select { font-size: 16px !important; }
  .chat-layout.show-chat .chat-list { display: none; }
  .chat-layout:not(.show-chat) .chat-main { display: none; }
  .msg { max-width: 82%; }
  .mobile-tabbar { display: flex; position: relative; background: var(--surface); border-top: 1px solid var(--border); padding: 8px 6px; padding-bottom: max(8px, var(--sa-bottom, 0px)); z-index: 50; justify-content: space-around;
    /* Natáhne barvu lišty i pod její box — pokryje případný zbytkový pruh dole
       (systémové pozadí prosvítající v oblasti home indikátoru). */
    box-shadow: 0 200px 0 var(--surface); }
  .mobile-tabbar button { background: none; border: none; color: var(--muted); display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 10px; font-weight: 500; flex: 1; padding: 4px; }
  .mobile-tabbar button.active { color: var(--gold); }
  .mobile-tabbar button [data-lucide] { width: 20px; height: 20px; }
  /* klávesnice otevřená → schovej spodní navigaci, composer dostane celý prostor (fix z master promptu) */
  body.kb-open .mobile-tabbar { display: none !important; }
  /* uvnitř otevřené konverzace schovej spodní navigaci úplně (ne jen s klávesnicí) —
     ten rezervovaný pruh dole byl pořád vidět i bez klávesnice, tohle ho odstraní natrvalo */
  body.chat-open .mobile-tabbar { display: none !important; }
  /* kompaktnější mobilní chat — hustota blíž WhatsAppu */
  .chat-header { padding: 6px 10px; gap: 7px; }
  .chat-header .hn { font-size: 13.5px; }
  .chat-header .hs { font-size: 10.5px; }
  .avatar.sm, .conv-ava { width: 29px; height: 29px; }
  .messages { padding: 6px 9px; gap: 3px; }
  .bubble { padding: 5px 8px; font-size: 12.5px; border-radius: 13px; }
  .bubble .meta-inline { font-size: 9.5px; }
  .msg .author-name { font-size: 10px; margin: 0 4px 1px; }
  .composer { padding: 5px 9px; padding-bottom: max(5px, env(safe-area-inset-bottom)); }
  .composer textarea { padding: 7px 0; font-size: 16px; }
  .composer .round { width: 34px; height: 34px; }
  .composer .in-btn { padding: 4px; flex-shrink: 0; }
  .composer .in-btn [data-lucide] { width: 18px; height: 18px; }
  .composer .inp-wrap { padding: 0 4px 0 11px; }
  .conv-item { padding: 8px 4px; gap: 10px; }
  /* POZOR: shorthand 'padding' prepise padding-bottom se safe-area z pravidla vyse.
     Safe-area proto musi byt primo tady — jinak lista ztrati spodni odsazeni
     a pod obsahem zbyde cerny pruh (presne ten bug, co se resil dokola). */
  .mobile-tabbar { padding: 6px 6px max(10px, var(--sa-bottom, 0px)); }
  .mobile-tabbar button [data-lucide] { width: 18px; height: 18px; }
  .mobile-tabbar button { font-size: 9.5px; }
}
@media (min-width: 821px) {
  .chat-back { display: none; }
}

/* ============ DOMŮ dashboard ============ */
.home { max-width: 760px; }
.morning { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--gold-line); border-radius: var(--radius); background: linear-gradient(120deg, rgba(var(--gold-rgb), .16), transparent 75%); margin-bottom: 16px; }
.morning .m-sun { font-size: 28px; }
.morning .m-hi { font-weight: 800; font-size: 16px; }
.morning .m-quote { font-size: 13px; color: var(--muted); margin-top: 2px; }
.home-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.oh-head { margin-bottom: 18px; }
.oh-sub { font-size: 13px; color: var(--muted); margin-top: 4px; }
.oh-stats { margin-bottom: 22px; }
.stat-tile-btn { display: block; width: 100%; background: none; border: none; padding: 0; text-align: left; cursor: pointer; }
.stat-tile-btn .stat-tile { height: 100%; }
.oh-pins { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.oh-pin { display: flex; align-items: center; gap: 10px; background: var(--gold-soft); border: 1px solid var(--gold-line); border-radius: var(--radius-sm); padding: 9px 12px; }
.oh-pin [data-lucide="pin"] { width: 15px; height: 15px; color: var(--gold); flex: none; }
.oh-pin-t { flex: 1; font-size: 13px; color: var(--white); }
.oh-pin-x { background: none; border: none; color: var(--muted); flex: none; display: inline-flex; padding: 2px; }
.oh-pin-x:hover { color: var(--white); }
.oh-pin-x [data-lucide] { width: 15px; height: 15px; }
.oh-pin-add { display: flex; gap: 8px; margin-top: 10px; }
.oh-pin-add .inp { flex: 1; }
@media (max-width: 720px) { .oh-stats.stats { grid-template-columns: repeat(2, 1fr); } }

/* ===== Nastavení — nový panel (Corporate Partneři / Uživatelé / Co můžeš vytvářet) ===== */
.ns-top { margin-top: 22px; }
.ns-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 14px; }
@media (max-width: 720px) { .ns-grid { grid-template-columns: 1fr; } }
.ns-col { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px; }
.ns-col-head { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 700; color: var(--white); margin-bottom: 10px; }
.ns-col-head [data-lucide] { width: 16px; height: 16px; color: var(--gold); }
.ns-count { margin-left: auto; font-size: 12px; color: var(--muted); font-weight: 500; }
.ns-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.ns-row:last-of-type { border-bottom: none; }
.ns-row.inactive { opacity: .5; }
.ns-row-full { flex-wrap: wrap; padding: 10px 0; }
.ns-row-full .ns-name { flex: 1 1 100%; order: -1; margin-bottom: 2px; }
.ns-row-full .avatar-btn { order: -2; }
.ns-row-full select.ns-role-select { flex: 1 1 130px; min-width: 0; }
@media (min-width: 620px) { .ns-row-full .ns-name { flex: 1 1 auto; order: 0; margin-bottom: 0; } .ns-row-full .avatar-btn { order: 0; } }
.ns-badge { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 9px; color: #14100A; font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; }
[data-nslogo] { cursor: pointer; background-size: cover; background-position: center; }
[data-nslogo]:hover { box-shadow: 0 0 0 2px var(--gold-line); }
.tg-admin-row { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.tg-admin-row:last-of-type { border-bottom: none; }
.tg-admin-thumb { width: 44px; height: 44px; border-radius: 10px; background-size: cover; background-position: center; background-color: var(--surface-2); flex-shrink: 0; }
.tg-admin-thumb.empty { display: flex; align-items: center; justify-content: center; color: var(--muted-2); }
.tg-admin-thumb.empty [data-lucide] { width: 18px; height: 18px; }
.tg-admin-mid { flex: 1; min-width: 0; }
.tg-admin-n { font-size: 13.5px; font-weight: 700; color: var(--white); }
.tg-admin-sub { font-size: 11.5px; color: var(--muted); margin-top: 2px; }
.team-goal-banner { overflow: hidden; position: relative; }
.tg-media { width: 100%; aspect-ratio: 16/8; background-size: cover; background-position: center; border-radius: 12px; margin-bottom: 10px; background-color: var(--surface-2); overflow: hidden; }
.tg-media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ns-name { flex: 1; min-width: 0; font-size: 13.5px; font-weight: 600; color: var(--white); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; flex-direction: column; }
.ns-sub, .ns-sub-r { font-size: 11px; color: var(--muted-2); font-weight: 400; }
.ns-pill { background: var(--bg); border: 1px solid var(--border); border-radius: 999px; padding: 4px 12px; font-size: 11.5px; font-weight: 600; color: var(--muted); flex: none; }
.ns-pill.on { color: #6FCF97; border-color: rgba(111,207,151,.35); }
.ns-pill.off { color: var(--muted); }
.ns-del { background: none; border: none; color: var(--muted); padding: 4px; flex: none; margin-left: 2px; }
.ns-del:hover { color: #E5807A; }
.ns-del [data-lucide] { width: 15px; height: 15px; }
.ns-name[data-nsrename] { cursor: pointer; }
.ns-name[data-nsrename]:hover { text-decoration: underline; text-decoration-color: var(--gold-line); }
.fp-row { padding: 10px 4px; gap: 14px; }
.ns-role-select { background: var(--surface-2); border: 1px solid var(--border); border-radius: 8px; color: var(--muted); font-size: 11.5px; font-weight: 600; padding: 4px 6px; flex: none; max-width: 108px; }
.ns-deact { background: none; border: none; font-size: 11.5px; font-weight: 600; color: #E5807A; flex: none; padding: 4px 2px; }
.ns-deact.reactivate { color: #6FCF97; }
.ns-add { display: flex; align-items: center; gap: 6px; background: none; border: none; color: var(--gold); font-size: 13px; font-weight: 600; padding: 10px 0 0; }
.ns-add [data-lucide] { width: 15px; height: 15px; }
.ns-label { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin: 20px 0 10px; }
.ns-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (max-width: 720px) { .ns-cards { grid-template-columns: repeat(2, 1fr); } }
.ns-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 10px; color: var(--white); font-size: 13px; font-weight: 600; transition: var(--ease); }
.ns-card:hover { border-color: var(--gold-line); }
.ns-card [data-lucide] { width: 20px; height: 20px; color: var(--gold); }
.ns-flash { animation: ns-flash-kf 1.2s ease; }
@keyframes ns-flash-kf { 0% { box-shadow: 0 0 0 3px var(--gold-line); } 100% { box-shadow: none; } }

/* ===== Sidebar — skupinové nadpisy (Komunikace / Práce / Přehledy) ===== */
.nav-group-label { font-size: 10.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted-2); font-weight: 600; margin: 16px 14px 6px; }
.nav-group-label:first-child { margin-top: 4px; }
.nav-item .soon-dot { display: none; }

/* ===== Results & Targets ===== */
.rt-card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; margin-top: 12px; }
.rt-card.no-goal { border-style: dashed; border-color: var(--gold-line); }
.rt-top { display: flex; align-items: center; gap: 12px; }
.rt-nm { flex: 1; min-width: 0; }
.rt-n { font-size: 14.5px; font-weight: 700; color: var(--white); }
.rt-sub { font-size: 12px; color: var(--muted); margin-top: 2px; }
.rt-pill { flex: none; border-radius: 999px; padding: 4px 12px; font-size: 11.5px; font-weight: 700; }
.rt-pill.done { color: #6FCF97; background: rgba(111,207,151,.12); }
.rt-pill.ok { color: var(--gold); background: var(--gold-soft); }
.rt-pill.risk { color: #E5807A; background: rgba(229,128,122,.12); }
.rt-pill.none { color: var(--muted); background: var(--surface-2); }
.rt-bar { height: 8px; border-radius: 999px; background: var(--surface-2); margin-top: 14px; overflow: hidden; }
.rt-fill { display: block; height: 100%; border-radius: 999px; }
.rt-fill.done { background: #6FCF97; }
.rt-fill.ok { background: var(--gold); }
.rt-fill.risk { background: #E5807A; }
.rt-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; font-size: 12.5px; color: var(--muted); }
.rt-prize { color: var(--gold); font-weight: 600; }
.rt-need { color: #E5807A; font-weight: 600; }

/* ===== Prominentní banner na Domů — Výzva pro tým + Osobní cíl ===== */
.challenge-banner { background: linear-gradient(135deg, var(--gold-soft), var(--bg)); border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 16px; margin-bottom: 16px; }
.challenge-banner.done { border-color: rgba(111,207,151,.4); }
.challenge-banner.goal { background: linear-gradient(135deg, rgba(90,120,190,.12), var(--bg)); border-color: rgba(90,120,190,.3); }
.cb-top { display: flex; align-items: center; gap: 12px; }
.cb-emoji { font-size: 24px; flex: none; }
.cb-tit { flex: 1; min-width: 0; }
.cb-h { font-size: 15px; font-weight: 700; color: var(--white); }
.cb-sub { font-size: 12px; color: var(--muted); margin-top: 2px; }
.cb-claimed { flex: none; font-size: 12px; font-weight: 700; color: #6FCF97; }
.cb-rows { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.cb-row { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--muted); }
.cb-row span:first-child { flex: 0 0 130px; }
.cb-num { flex: none; font-weight: 600; color: var(--white); font-size: 12px; }
.rt-bar.sm { height: 6px; flex: 1; }
.challenge-banner .rt-bar { background: rgba(255,255,255,.08); }
.cb-list { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.cb-list-i { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px 12px; width: 100%; }
.cb-list-i b { font-size: 13px; color: var(--white); }
.cb-list-i span { font-size: 11.5px; color: var(--muted); }

/* ===== Pozice & úrovně / Osobní cíle — editor v Nastavení ===== */
.rk-row { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.rk-row input[type="number"] { flex: 0 0 80px; }
.rk-row input[type="text"] { flex: 1; }
.pg-row { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px; margin-top: 10px; background: var(--bg); }
.pg-head { display: flex; align-items: center; gap: 10px; }
.pg-progress { margin-top: 10px; }

/* ===== Motto banner na Domů — krátký citát/heslo, ne progress karta ===== */
.motto-banner { display: flex; align-items: center; gap: 10px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 14px; margin-bottom: 12px; }
.mb-emoji { font-size: 16px; flex: none; }
.mb-txt { font-family: "Playfair Display", serif; font-style: italic; color: var(--white); font-size: 14px; }

/* ===== Groups ===== */
.grp-off { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .02em; color: var(--gold); background: var(--gold-soft); border: 1px solid var(--gold-line); border-radius: 999px; padding: 1px 8px; margin-left: 4px; vertical-align: middle; }
.grp-panel-inner { padding: 14px 16px; border-bottom: 1px solid var(--border); background: var(--surface-2); max-height: 40vh; overflow-y: auto; }

/* ===== Skutečná oznámení — permission box v Nastavení ===== */
.notif-perm { display: flex; align-items: center; gap: 10px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 14px; margin-bottom: 10px; }
.notif-perm [data-lucide] { width: 18px; height: 18px; color: var(--gold); flex: none; }
.notif-perm span { flex: 1; font-size: 13px; color: var(--white); }
.notif-perm .btn { flex: none; }
.notif-perm.ok { border-color: rgba(111,207,151,.35); }
.notif-perm.ok [data-lucide] { color: #6FCF97; }
.notif-perm.off [data-lucide] { color: #E5807A; }
.notif-perm.off span { color: var(--muted); }

/* ===== Project Room ===== */
/* ===== Project Room — mřížka karet ("bublinka" = jeden projekt) ===== */
.proj-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); gap: 12px; }
.proj-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: left; background: var(--surface-2); border: 1px solid var(--border); border-radius: 16px; padding: 14px; transition: var(--ease); }
.proj-card:hover { border-color: var(--gold-line); }
.proj-dot { position: absolute; top: 10px; right: 10px; min-width: 18px; height: 18px; border-radius: 9px; background: #E5473F; color: #fff; font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; padding: 0 4px; box-shadow: 0 0 0 2px var(--surface-2); }
.proj-card-badge { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #14100A; font-weight: 800; font-size: 16px; margin-bottom: 10px; flex-shrink: 0; }
.proj-card-name { font-size: 13.5px; font-weight: 700; color: var(--white); line-height: 1.25; margin-bottom: 2px; width: 100%; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.proj-card-co { font-size: 11px; color: var(--muted); margin-bottom: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.proj-card-bar { width: 100%; height: 5px; border-radius: 999px; background: var(--surface); overflow: hidden; margin-top: auto; }
.proj-card-bar.off { background: var(--border); }
.proj-card-bar span { display: block; height: 100%; background: linear-gradient(135deg, var(--gold), #D4A838); border-radius: 999px; }
.proj-card-pct { font-size: 11px; color: var(--gold); font-weight: 600; margin-top: 6px; }
.proj-card-pct.muted { color: var(--muted-2); font-weight: 500; }
.proj-card-foot { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--muted); margin-top: 8px; }
.proj-card-foot [data-lucide] { width: 12px; height: 12px; }
.proj-card-cover { width: 100%; aspect-ratio: 16/9; border-radius: 12px; background-size: cover; background-position: center; margin-bottom: 10px; }
.proj-card.has-cover .proj-card-name { font-size: 14px; }

/* fotka projektu (v novém projektu i v Overview) */
.proj-cover-pick { position: relative; width: 100%; aspect-ratio: 16/7; border-radius: 14px; border: 1.5px dashed var(--border); background: var(--surface-2); background-size: cover; background-position: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--muted); font-size: 12.5px; font-weight: 600; cursor: pointer; overflow: hidden; }
.proj-cover-pick.has-img { border-style: solid; border-color: var(--gold-line); }
.proj-cover-pick.has-img::after { content: "Změnit fotku"; position: absolute; inset: auto 0 0 0; background: linear-gradient(0deg, rgba(0,0,0,.65), transparent); color: #fff; font-size: 11px; font-weight: 600; padding: 16px 10px 6px; text-align: center; }
.proj-cover-pick [data-lucide] { width: 22px; height: 22px; }
.proj-avatars { display: flex; flex-wrap: wrap; gap: 6px; }

/* @zmínky */
.mention-dd { position: absolute; bottom: 100%; left: 10px; right: 10px; margin-bottom: 6px; background: var(--surface-2); border: 1px solid var(--gold-line); border-radius: 12px; padding: 4px; display: flex; flex-direction: column; max-height: 180px; overflow-y: auto; z-index: 5; box-shadow: 0 8px 24px rgba(0,0,0,.4); }
.mention-dd button { background: none; border: none; text-align: left; padding: 8px 10px; border-radius: 8px; color: var(--white); font-size: 13px; font-weight: 500; }
.mention-dd button:hover { background: var(--gold-soft); color: var(--gold); }
.mention-tag { color: var(--gold); font-weight: 700; }
.msg.mine .mention-tag { color: #14100A; text-decoration: underline; }
@media (max-width: 480px) { .proj-grid { grid-template-columns: repeat(2, 1fr); } }

.proj-tabs { display: flex; gap: 4px; padding: 8px 14px; border-bottom: 1px solid var(--border); flex-shrink: 0; overflow-x: auto; }
.proj-tab { display: flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: none; border: 1px solid transparent; color: var(--muted); font-size: 12.5px; font-weight: 600; white-space: nowrap; flex: none; }
.proj-tab [data-lucide] { width: 14px; height: 14px; }
.proj-tab.on { background: var(--gold-soft); color: var(--gold); border-color: var(--gold-line); }
.proj-tab-body { flex: 1; overflow-y: auto; padding: 16px 18px; display: flex; flex-direction: column; }
.proj-tab-body.chat-fill { padding: 0; overflow: hidden; }
.proj-tab-body.chat-fill .messages { flex: 1; }
.proj-update-form { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.proj-update-form textarea { resize: vertical; }
.proj-result-row { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px 12px; margin-top: 8px; }
.pr-h { display: flex; justify-content: space-between; font-size: 11px; color: var(--muted); }
.pr-h b { color: var(--gold); font-size: 12px; }
.pr-t { font-size: 13px; color: var(--white); margin-top: 3px; }
.pr-amt { color: #6FCF97; font-weight: 700; }
.pr-comment { font-size: 12px; color: var(--muted); margin-top: 4px; font-style: italic; line-height: 1.4; }
.pr-files { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.pr-file { display: flex; align-items: center; gap: 5px; background: var(--surface-2); border: 1px solid var(--border); border-radius: 8px; padding: 5px 9px; font-size: 11.5px; color: var(--gold); font-weight: 600; }
.pr-file [data-lucide] { width: 12px; height: 12px; }
.pr-actions { display: flex; gap: 14px; margin-top: 8px; }
.pr-attach { background: none; border: none; color: var(--muted); font-size: 11px; font-weight: 600; padding: 0; display: flex; align-items: center; gap: 4px; }
.pr-attach [data-lucide] { width: 12px; height: 12px; }
.pr-attach:hover { color: var(--gold); }
.pr-del { background: none; border: none; color: #E5807A; font-size: 11px; font-weight: 600; margin-top: 0; padding: 0; }
.proj-update { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 14px; margin-bottom: 10px; }
.pu-h { display: flex; justify-content: space-between; font-size: 11.5px; color: var(--muted); margin-bottom: 4px; }
.pu-h b { color: var(--white); font-size: 12.5px; }
.pu-t { font-size: 13.5px; color: var(--white); line-height: 1.5; }

/* ===== Reakce na zprávy ===== */
.msg-reacts { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px; }
.react-btn { display: inline-flex; align-items: center; gap: 3px; background: var(--surface-2); border: 1px solid var(--border); border-radius: 999px; padding: 2px 7px; font-size: 12px; color: var(--muted); line-height: 1.6; }
.react-btn span { font-size: 10.5px; font-weight: 700; color: var(--muted); }
.react-btn.mine { background: var(--gold-soft); border-color: var(--gold-line); }
.react-btn.mine span { color: var(--gold); }
.react-add { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: var(--surface-2); border: 1px solid var(--border); border-radius: 999px; color: var(--muted); }
.react-add [data-lucide] { width: 12px; height: 12px; }
.hh-greet { font-size: 22px; font-weight: 800; }
.hh-greet .serif { font-family: "Playfair Display", serif; font-style: italic; color: var(--gold); }
.home-edit { width: 42px; height: 42px; border-radius: 12px; background: var(--surface); border: 1px solid var(--border); color: var(--white); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: var(--ease); }
.home-edit [data-lucide] { width: 20px; height: 20px; }
.home-edit.on { background: var(--gold); color: #14100A; border-color: var(--gold); }
.home-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.home-grid .widget { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 16px; position: relative; }
.home-grid .widget[data-wgoto] { cursor: pointer; transition: border-color .15s; }
.home-grid .widget[data-wgoto]:hover { border-color: var(--gold-line); }
.home-grid .widget.wide { grid-column: 1 / -1; }
.home-grid .wh { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; }
.home-grid .wt { font-size: 12.5px; font-weight: 700; color: var(--muted); display: flex; align-items: center; gap: 6px; }
.home-grid .wt [data-lucide] { width: 15px; height: 15px; color: var(--gold); }
.home-grid .wtools { display: none; align-items: center; gap: 9px; }
.home-grid .w-grip { width: 16px; height: 16px; color: var(--muted); cursor: grab; }
.home-grid .w-x { width: 20px; height: 20px; color: #e5695f; cursor: pointer; background: rgba(229,105,95,.14); border-radius: 6px; padding: 2px; }
.home-grid.editing .widget { border-color: var(--gold-line); border-style: dashed; animation: wiggle 2.6s ease-in-out infinite; }
.home-grid.editing .widget:nth-child(even) { animation-delay: .15s; }
.home-grid.editing .wtools { display: flex; }
.widget.dragging { opacity: .5; }
@keyframes wiggle { 0%,100% { transform: rotate(-.5deg); } 50% { transform: rotate(.5deg); } }
.dash-big { font-size: 30px; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.dash-mini { font-size: 11.5px; color: var(--muted); margin-top: 4px; }
.dg-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 9px; }
.dg-lbl { font-size: 16px; font-weight: 700; }
.dg-pct { font-size: 24px; font-weight: 800; color: var(--gold); line-height: 1; }
.dash-bar { height: 12px; background: var(--bg); border-radius: 7px; overflow: hidden; }
.dash-bar .f { height: 100%; background: linear-gradient(90deg, #C79A2E, var(--gold)); border-radius: 7px; box-shadow: 0 0 12px rgba(var(--gold-rgb), .4); transition: width .8s; }
.dash-sub { font-size: 12px; color: var(--muted); margin-top: 8px; }
.dash-impact { font-size: 13.5px; line-height: 1.55; }
.dash-impact b { color: var(--gold); }
.dash-task { display: flex; align-items: center; gap: 9px; padding: 7px 0; font-size: 13.5px; border-bottom: 1px solid var(--border); }
.dash-task:last-child { border-bottom: 0; }
.dt-dot { width: 9px; height: 9px; border-radius: 3px; background: var(--muted); flex: 0 0 auto; }
.dt-dot.hi { background: #e5695f; } .dt-dot.mid { background: var(--gold); }
.dash-top3 { display: flex; flex-direction: column; gap: 2px; }
.dt3 { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 13.5px; font-weight: 600; border-bottom: 1px solid var(--border); }
.dt3:last-child { border-bottom: 0; }
.dt3-rk { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; background: var(--surface-2, #202027); color: var(--muted); flex: 0 0 auto; }
.dt3-rk.r1 { background: var(--gold); color: #14100A; } .dt3-rk.r2 { background: #B8B8C0; color: #14100A; } .dt3-rk.r3 { background: #CD8B5A; color: #14100A; }
.dt3-p { margin-left: auto; color: var(--gold); font-weight: 700; font-size: 12.5px; }
.dash-qa { display: flex; gap: 10px; }
.dash-qb { flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px; background: var(--bg); border: 1px solid var(--border); color: var(--white); border-radius: 11px; padding: 12px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: var(--ease); }
.dash-qb:hover { border-color: var(--gold-line); }
.dash-qb [data-lucide] { width: 16px; height: 16px; color: var(--gold); }
.home-hidden { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--border); }
.home-hidden .hh-lbl { font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.hidden-chip { display: inline-flex; align-items: center; gap: 6px; background: var(--surface); border: 1px dashed var(--gold-line); color: var(--gold); border-radius: 999px; padding: 8px 14px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; margin: 0 8px 8px 0; }
.hidden-chip [data-lucide] { width: 15px; height: 15px; }
@media (max-width: 820px) {
  .home-grid { gap: 11px; }
  .home-grid .widget { padding: 14px; }
  .dash-big { font-size: 26px; }
  .hh-greet { font-size: 20px; }
}

/* ============ WhatsApp seznam chatů ============ */
.chat-list-view { max-width: 760px; }
.chat-search { display: flex; align-items: center; gap: 9px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 11px 14px; margin-bottom: 16px; }
.chat-search [data-lucide] { width: 17px; height: 17px; color: var(--muted); }
.chat-search input { flex: 1; background: none; border: 0; outline: 0; color: var(--white); font: inherit; font-size: 14px; }
.conv-sec { display: flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--gold); margin: 8px 2px 6px; }
.conv-sec [data-lucide] { width: 14px; height: 14px; }
.conv-item { display: flex; align-items: center; gap: 13px; width: 100%; background: none; border: 0; border-bottom: 1px solid var(--border); padding: 12px 4px; cursor: pointer; text-align: left; transition: var(--ease); }
.conv-item.unread { background: rgba(255,255,255,.035); border-radius: 12px; }
.conv-item.unread .conv-n { color: var(--white); font-weight: 800; }
.conv-item.unread .conv-last { color: #C9CBD1; }
.conv-item:hover { background: var(--surface); border-radius: 12px; }
.conv-item .avatar, .conv-ava { width: 48px; height: 48px; flex: 0 0 auto; }
.conv-ava { border-radius: 50%; background: linear-gradient(135deg, var(--gold), #C79A2E); color: #14100A; font-weight: 800; font-size: 18px; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; }
.conv-ava.grp { border-radius: 15px; }
.conv-mid { flex: 1; min-width: 0; }
.conv-n { font-size: 15px; font-weight: 700; color: var(--white); display: flex; align-items: center; gap: 8px; }
.conv-t { margin-left: auto; font-size: 11px; color: var(--muted); font-weight: 500; }
.conv-last { font-size: 13px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.conv-empty { font-size: 13px; color: var(--muted); padding: 10px 4px 14px; }
.chat-header .chat-back { background: none; border: 0; color: var(--white); margin-right: 2px; }

/* ============ SCHŮZKY & DENÍK ============ */
.btn.big { width: 100%; justify-content: center; padding: 14px; font-size: 15px; margin-bottom: 16px; }
.btn.ghost { background: var(--surface); color: var(--white); border: 1px solid var(--border); }
.reflect-card { border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 18px; background: linear-gradient(135deg, var(--gold-soft), transparent 70%); margin-bottom: 16px; }
.rc-head { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15.5px; }
.rc-head [data-lucide] { width: 18px; height: 18px; color: var(--gold); }
.rc-time { margin-left: auto; font-size: 11.5px; color: var(--muted); font-weight: 500; }
.rc-cli { font-size: 13px; color: var(--muted); margin: 4px 0 12px; }
.rc-q { font-size: 13.5px; font-weight: 600; margin: 14px 0 7px; }
.scale { display: flex; gap: 5px; }
.scale .sc { flex: 1; padding: 9px 0; background: var(--bg); border: 1px solid var(--border); border-radius: 8px; font: inherit; font-size: 12px; font-weight: 700; color: var(--muted); cursor: pointer; transition: var(--ease); }
.scale .sc.on { background: var(--gold); color: #14100A; border-color: var(--gold); }
.diary { display: flex; gap: 13px; padding: 13px 0; border-bottom: 1px solid var(--border); }
.diary:last-child { border-bottom: 0; }
.d-date { font-size: 13px; font-weight: 800; color: var(--gold); min-width: 40px; }
.d-body { flex: 1; min-width: 0; }
.d-cli { font-size: 14.5px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.d-note { font-size: 12.5px; color: var(--muted); margin-top: 4px; line-height: 1.45; }
.d-note b { color: var(--white); font-weight: 600; }
.d-scale { font-size: 12px; color: var(--muted); margin-top: 6px; }
.d-scale b { color: var(--gold); }
.d-del { margin-left: auto; background: none; border: 0; color: var(--muted-2); cursor: pointer; padding: 4px; }
.d-del:hover { color: #e5695f; }
.d-del [data-lucide] { width: 15px; height: 15px; }
.tag { font-size: 9.5px; font-weight: 700; padding: 3px 9px; border-radius: 20px; }
.tag.win { background: rgba(87,192,122,.16); color: #57c07a; }
.tag.hot { background: var(--gold-soft); color: var(--gold); }
.tag.new { background: var(--bg); color: var(--muted); }

/* ============ NASTAVENÍ ============ */
.profile-hero { display: flex; align-items: center; gap: 16px; padding: 20px; border: 1px solid var(--gold-line); border-radius: var(--radius); background: linear-gradient(135deg, var(--gold-soft), transparent 65%); margin-bottom: 22px; }
.avatar-btn.lg { position: relative; background: none; border: 0; padding: 0; cursor: pointer; }
.ph-name { font-size: 20px; font-weight: 800; }
.ph-sub { font-size: 13px; color: var(--gold); margin-top: 3px; font-weight: 600; }
.set-group { margin-bottom: 20px; }
.set-label { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin: 0 4px 9px; font-weight: 700; }
.set-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.set-row { display: flex; align-items: center; gap: 13px; width: 100%; padding: 15px; border: 0; border-bottom: 1px solid var(--border); background: none; color: var(--white); font: inherit; text-align: left; cursor: pointer; }
.set-row:last-child { border-bottom: 0; }
button.set-row:hover { background: rgba(255,255,255,.03); }
.set-row .si { width: 34px; height: 34px; border-radius: 10px; background: var(--bg); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.set-row .si [data-lucide] { width: 18px; height: 18px; color: var(--gold); }
.set-row .st { flex: 1; min-width: 0; display: block; }
.set-row .st .a { display: block; font-size: 14.5px; font-weight: 600; }
.set-row .st .b { display: block; font-size: 12px; color: var(--muted); margin-top: 1px; }
.set-row .chev { width: 18px; height: 18px; color: var(--muted-2); flex: 0 0 auto; }
.toggle { width: 46px; height: 28px; border-radius: 16px; background: var(--bg); border: 1px solid var(--border); position: relative; flex: 0 0 auto; cursor: pointer; transition: var(--ease); padding: 0; }
.toggle i { position: absolute; top: 2px; left: 2px; width: 22px; height: 22px; border-radius: 50%; background: #6a6a74; transition: var(--ease); }
.toggle.on { background: var(--gold); border-color: var(--gold); }
.toggle.on i { left: 20px; background: #14100A; }
.owner-settings .section:first-of-type { margin-top: 0; }

/* ============ Systémová oznámení v chatu ============ */
.msg-sys { display: flex; justify-content: center; margin: 12px 0; }
.msg-sys span { background: var(--gold-soft); border: 1px solid var(--gold-line); color: var(--gold); font-size: 12.5px; font-weight: 600; padding: 8px 16px; border-radius: 20px; text-align: center; max-width: 90%; }

/* ============ Žebříček Lidé/Firmy ============ */
.lb-toggle { display: flex; gap: 5px; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 5px; margin-bottom: 18px; max-width: 420px; }
.lb-toggle button { flex: 1; background: none; border: 0; color: var(--muted); font: inherit; font-weight: 600; font-size: 13.5px; padding: 10px; border-radius: 10px; cursor: pointer; transition: var(--ease); }
.lb-toggle button.on { background: var(--gold); color: #14100A; }
.co-winner { display: flex; align-items: center; gap: 16px; }
.cw-name { font-size: 21px; font-weight: 700; color: var(--gold); font-style: italic; }
.cw-sub { font-size: 12.5px; color: var(--muted); margin-top: 3px; }

/* ============ Klienti ============ */
.cl-filters { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 14px; }
.cl-f { background: var(--surface); border: 1px solid var(--border); color: var(--muted); border-radius: 999px; padding: 7px 14px; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: var(--ease); }
.cl-f.on { background: var(--gold); color: #14100A; border-color: var(--gold); }
.client { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 14px; margin-bottom: 11px; }
.cl-head { display: flex; align-items: center; gap: 11px; }
.cl-i { flex: 1; min-width: 0; }
.cl-n { font-size: 15px; font-weight: 700; }
.cl-o { font-size: 11.5px; color: var(--muted); margin-top: 1px; }
.cl-next { display: flex; align-items: center; gap: 8px; background: var(--bg); border-radius: 10px; padding: 10px 12px; margin-top: 11px; font-size: 13px; }
.cl-next [data-lucide] { width: 14px; height: 14px; color: var(--gold); flex: 0 0 auto; }
.cl-foot { display: flex; align-items: center; gap: 10px; margin-top: 11px; }
.cl-v { font-size: 15px; font-weight: 800; color: var(--gold); flex: 1; }
.cl-v.muted { color: var(--muted-2); font-weight: 500; }
.cl-sel { background: var(--bg); border: 1px solid var(--border); color: var(--white); border-radius: 9px; padding: 7px 10px; font: inherit; font-size: 12.5px; cursor: pointer; }
.cl-del { background: none; border: 0; color: var(--muted-2); cursor: pointer; padding: 6px; }
.cl-del:hover { color: #e5695f; }
.cl-del [data-lucide] { width: 16px; height: 16px; }
.tag.lost { background: rgba(229,105,95,.14); color: #e5807a; }
.tag.mid { background: var(--bg); color: var(--white); }

/* ============ Reporty ============ */
.rep-row { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--border); }
.rep-row:last-of-type { border-bottom: 0; }
.rr-i { flex: 1; min-width: 0; }
.rr-n { font-size: 14.5px; font-weight: 700; }
.rr-s { font-size: 12px; color: var(--muted); margin-top: 1px; }
.rr-g { font-size: 15px; font-weight: 800; color: var(--muted); }
.rr-g.up { color: #57c07a; }
.rr-g.down { color: #e5807a; }
.firm-team { padding: 13px 0; border-bottom: 1px solid var(--border); }
.firm-team:last-of-type { border-bottom: 0; }
.ft-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.ft-name { font-size: 14.5px; font-weight: 700; }
.ft-meta { margin-left: auto; font-size: 11.5px; color: var(--muted); }
.ft-people { display: flex; flex-wrap: wrap; gap: 8px; }
.ft-p { display: flex; align-items: center; gap: 6px; background: var(--bg); border: 1px solid var(--border); border-radius: 999px; padding: 4px 11px 4px 4px; font-size: 12.5px; font-weight: 600; }
.ft-p b { color: var(--gold); font-size: 11px; }
.ft-p .avatar.xs { width: 22px; height: 22px; font-size: 10px; }
.ft-empty { font-size: 12.5px; color: var(--muted-2); }

/* ============ Mystery Box ============ */
.widget .myst-body { display: flex; align-items: center; gap: 14px; }
.myst-box { font-size: 36px; filter: drop-shadow(0 4px 10px rgba(var(--gold-rgb), .4)); animation: float 3s ease-in-out infinite; }
.myst-box.ready { animation: shake .8s ease-in-out infinite; }
.myst-box.open { animation: none; }
@keyframes float { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-5px) rotate(3deg); } }
@keyframes shake { 0%,100% { transform: rotate(-8deg) scale(1.05); } 50% { transform: rotate(8deg) scale(1.1); } }
.myst-info { flex: 1; min-width: 0; }
.myst-title { font-size: 13.5px; font-weight: 600; }

/* ============ AI kouč ============ */
.coach-card { border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 16px; background: linear-gradient(135deg, var(--gold-soft), transparent 70%); margin-bottom: 16px; }
.cc-head { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; margin-bottom: 10px; }
.cc-head [data-lucide] { width: 18px; height: 18px; color: var(--gold); }
.cc-tag { margin-left: auto; font-size: 10.5px; font-weight: 700; color: var(--gold); background: rgba(0,0,0,.3); border: 1px solid var(--gold-line); padding: 3px 10px; border-radius: 999px; }
.cc-body { font-size: 13.5px; line-height: 1.6; color: var(--white); }
.cc-loading { color: var(--muted); font-style: italic; }

/* ============ MAPA SVĚTA ============ */
.map-bar { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.map-wrap { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 10px; margin-bottom: 16px; overflow: hidden; }
.world { width: 100%; height: auto; display: block; }
.world .land { fill: #1e1e25; stroke: #2c2c35; stroke-width: .5; }
/* rozsvícená země */
.ctry .glow { fill: var(--gold); opacity: .28; filter: blur(6px); }
.ctry .fill { fill: var(--gold); stroke: #F5D77E; stroke-width: .8; }
.ctry .clabel { fill: #fff; font-size: 17px; font-weight: 800; font-family: Inter, sans-serif; paint-order: stroke; stroke: rgba(0,0,0,.65); stroke-width: 3px; }
.ctry.good .glow { fill: #57c07a; } .ctry.good .fill { fill: #57c07a; stroke: #7fd89b; }
.ctry.warn .glow { fill: #e5807a; } .ctry.warn .fill { fill: #e5807a; stroke: #f0a29c; }
.ctry { animation: ctryPulse 3.2s ease-in-out infinite; transform-origin: center; }
@keyframes ctryPulse { 0%, 100% { opacity: .92; } 50% { opacity: 1; } }
.map-row { display: flex; align-items: center; gap: 13px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.map-row:last-child { border-bottom: 0; }
.mr-flag { font-size: 26px; }
.mr-i { flex: 1; min-width: 0; }
.mr-n { font-size: 15px; font-weight: 700; }
.mr-c { font-size: 12px; color: var(--muted); margin-top: 1px; }
.mr-r { text-align: right; }
.mr-pct { font-size: 17px; font-weight: 800; color: var(--gold); }
.mr-pct.good { color: #57c07a; } .mr-pct.warn { color: #e5807a; }
.mr-t { font-size: 11.5px; color: var(--muted); }
/* nastavení mapy (majitel) */
.map-cfg { border-color: var(--gold-line); }
.mcfg-row { display: flex; align-items: center; gap: 11px; padding: 11px 0; border-bottom: 1px solid var(--border); }
.mcfg-row:last-child { border-bottom: 0; }
.mcfg-flag { font-size: 22px; }
.mcfg-n { flex: 1; min-width: 0; font-size: 14.5px; font-weight: 700; }
.mcfg-sel { width: 175px; flex: 0 0 auto; padding: 9px 10px; font-size: 13px; }
@media (max-width: 820px) {
  .mcfg-row { flex-wrap: wrap; }
  .mcfg-sel { width: 100%; }
}

/* ============ RANNÍ AI BRIEFING ============ */
.morning.ai { align-items: flex-start; }
.morning .m-body { flex: 1; min-width: 0; }
.m-brief { font-size: 13.5px; color: var(--white); margin-top: 5px; line-height: 1.6; white-space: pre-wrap; }
.m-ask { margin-top: 9px; background: rgba(0,0,0,.28); border: 1px solid var(--gold-line); color: var(--gold); border-radius: 999px; padding: 7px 14px; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: var(--ease); }
.m-ask:hover { background: var(--gold); color: #14100A; }

/* ============ ACHIEVEMENTY ============ */
.ach-count { font-size: 12px; color: var(--gold); font-weight: 700; margin-left: 6px; }
.ach-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ach { background: var(--bg); border: 1px solid var(--border); border-radius: 11px; padding: 9px 6px; text-align: center; opacity: .45; transition: var(--ease); cursor: pointer; }
.ach.got { opacity: 1; border-color: var(--gold-line); background: linear-gradient(160deg, var(--gold-soft), transparent 70%); }
.ach-e { font-size: 19px; filter: grayscale(1); }
.ach.got .ach-e { filter: none; }
.ach-n { font-size: 10.5px; font-weight: 700; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ach-h { font-size: 8.5px; color: var(--muted); margin-top: 1px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.ach.got .ach-h { color: var(--gold); }
@media (max-width: 820px) { .ach-grid { grid-template-columns: repeat(2, 1fr); } }

/* ============ SCHŮZKY — kalendář ============ */
.f-lbl { display: block; font-size: 12px; color: var(--muted); margin: 10px 2px 5px; font-weight: 600; }
.pending-note { display: flex; align-items: center; gap: 9px; background: var(--gold-soft); border: 1px solid var(--gold-line); color: var(--gold); border-radius: 12px; padding: 12px 14px; font-size: 13px; font-weight: 600; margin-bottom: 16px; }
.pending-note [data-lucide] { width: 16px; height: 16px; flex: 0 0 auto; }
.cal { display: flex; flex-direction: column; }
.cal-day { display: flex; align-items: center; gap: 10px; margin: 18px 0 8px; }
.cal-day:first-child { margin-top: 4px; }
.cal-day span { font-size: 12px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: .05em; }
.cal-day::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.meet { display: flex; align-items: center; gap: 13px; width: 100%; text-align: left; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 14px; margin-bottom: 9px; cursor: pointer; color: var(--white); font: inherit; transition: var(--ease); }
.meet:hover { border-color: var(--gold-line); transform: translateY(-1px); }
.meet.todo { border-left: 3px solid var(--gold); }
.meet.done { border-left: 3px solid #57c07a; }
.meet-time { font-size: 15px; font-weight: 800; color: var(--gold); min-width: 46px; }
.meet.done .meet-time { color: var(--muted); }
.meet-b { flex: 1; min-width: 0; }
.meet-c { font-size: 15px; font-weight: 700; }
.meet-n { font-size: 12.5px; color: var(--muted); margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meet-n b { color: var(--white); font-weight: 600; }
.meet-r { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.meet-sc { font-size: 12px; font-weight: 800; color: var(--gold); }
.meet-r [data-lucide] { width: 17px; height: 17px; color: var(--muted-2); }
.tag.todo { background: var(--gold-soft); color: var(--gold); }

/* detail schůzky */
.back-btn { margin-bottom: 14px; }
.meet-hero { border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 18px; background: linear-gradient(135deg, var(--gold-soft), transparent 65%); margin-bottom: 16px; }
.mh-when { font-size: 12px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: .05em; }
.mh-client { font-size: 22px; font-weight: 800; margin-top: 5px; }
.mh-note { font-size: 13px; color: var(--muted); margin-top: 7px; line-height: 1.5; }
.reflect-card.done { border-color: rgba(87,192,122,.35); background: linear-gradient(135deg, rgba(87,192,122,.08), transparent 70%); }
.reflect-card.done .rc-head [data-lucide] { color: #57c07a; }
.r-block { padding: 12px 0; border-bottom: 1px solid var(--border); }
.r-block:last-of-type { border-bottom: 0; }
.r-q { font-size: 11.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.r-a { font-size: 14px; margin-top: 5px; line-height: 1.5; }
.r-scale { display: flex; align-items: center; gap: 11px; margin-top: 7px; }
.r-scale b { color: var(--gold); font-size: 14px; }
.rs-bar { flex: 1; height: 9px; background: var(--bg); border-radius: 5px; overflow: hidden; }
.rs-f { height: 100%; background: linear-gradient(90deg, #C79A2E, var(--gold)); border-radius: 5px; }
.danger-btn { margin-top: 14px; color: #e5807a; border-color: rgba(229,105,95,.3); }
.danger-btn:hover { background: rgba(229,105,95,.1); }

/* ============ AI FOCUS ============ */
.focus-lead { font-size: 13px; color: var(--muted); margin-bottom: 12px; line-height: 1.5; }
.focus-i { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.focus-i:last-child { border-bottom: 0; }
.fi-n { width: 24px; height: 24px; border-radius: 50%; background: var(--gold); color: #14100A; font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.fi-b { flex: 1; min-width: 0; }
.fi-a { font-size: 14px; font-weight: 600; line-height: 1.4; }
.fi-w { font-size: 12px; color: var(--muted); margin-top: 3px; line-height: 1.4; }
.fi-c { font-size: 14px; font-weight: 800; color: #57c07a; flex: 0 0 auto; }
.widget[data-w="focus"] { border-color: var(--gold-line); background: linear-gradient(150deg, var(--gold-soft), var(--surface) 60%); }

/* ============ KPI ============ */
.kpi-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.kpi { background: var(--bg); border: 1px solid var(--border); border-radius: 11px; padding: 12px 8px; text-align: center; }
.k-n { font-size: 20px; font-weight: 800; letter-spacing: -.02em; }
.k-n.gold { color: var(--gold); font-size: 17px; }
.k-l { font-size: 10.5px; color: var(--muted); margin-top: 3px; }
@media (max-width: 820px) { .kpi-row { grid-template-columns: repeat(2, 1fr); } }

/* ============ TÝDENNÍ VÝZVA ============ */
.widget[data-w="vyzva"] { border-color: var(--gold-line); }
.ch-title { font-size: 15px; font-weight: 700; margin-bottom: 11px; }
.ch-row { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.ch-ok { font-size: 14px; color: var(--gold); width: 16px; }
.ch-l { font-size: 13px; font-weight: 600; min-width: 130px; }
.ch-bar { flex: 1; height: 7px; background: var(--bg); border-radius: 4px; overflow: hidden; }
.ch-f { height: 100%; background: linear-gradient(90deg, #C79A2E, var(--gold)); border-radius: 4px; }
.ch-foot { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--border); }
.ch-rew { font-size: 12.5px; color: var(--gold); font-weight: 700; flex: 1; }
.ch-done { font-size: 12.5px; color: #57c07a; font-weight: 700; }
.ch-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 12px 0; }
.ch-grid label { font-size: 12px; color: var(--muted); font-weight: 600; }
.ch-grid input { margin-top: 5px; }

/* ============ ÚKOLY s ikonkami ============ */
button.dash-task { display: flex; align-items: center; gap: 9px; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--border); padding: 9px 0; font: inherit; font-size: 13.5px; color: var(--white); cursor: pointer; }
button.dash-task:last-of-type { border-bottom: 0; }
.tk-e { font-size: 15px; flex: 0 0 auto; }
.tk-do { margin-left: auto; font-size: 11px; color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: 3px 10px; }
button.dash-task:hover .tk-do { background: var(--gold); color: #14100A; border-color: var(--gold); }
.done-list { margin-top: 12px; padding-top: 11px; border-top: 1px dashed var(--border); }
.dl-h { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 7px; }
.dl-i { font-size: 12.5px; color: #57c07a; padding: 3px 0; }
.dl-i span { color: var(--muted); }
.done-sec .ds-n { color: var(--gold); font-size: 13px; margin-left: 5px; }
.done-row { display: flex; align-items: center; gap: 9px; padding: 9px 0; border-bottom: 1px solid var(--border); font-size: 13.5px; }
.done-row:last-child { border-bottom: 0; }
.dr-ok { color: #57c07a; font-weight: 800; }
.dr-t { flex: 1; color: var(--muted); text-decoration: line-through; }
.dr-w { font-size: 11.5px; color: var(--muted-2); }

/* ============ VÝKON / AKTIVITA / HEATMAPA ============ */
.dash-big.gold { color: var(--gold); }
.dash-big .of { font-size: 15px; color: var(--muted); font-weight: 600; }
.act-i { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.act-i:last-child { border-bottom: 0; }
.act-i [data-lucide] { width: 15px; height: 15px; color: var(--gold); flex: 0 0 auto; }
.ai-t { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-s { font-size: 11.5px; color: var(--muted); flex: 0 0 auto; }
/* ============ REFLEXE — jednoklikové volby ============ */
.pick { display: flex; flex-wrap: wrap; gap: 7px; }
.pk { background: var(--bg); border: 1px solid var(--border); color: var(--white); border-radius: 11px; padding: 10px 13px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: var(--ease); }
.pk:hover { border-color: var(--gold-line); }
.pk.on { background: var(--gold); color: #14100A; border-color: var(--gold); }
.pick.moods .pk { display: flex; flex-direction: column; align-items: center; gap: 2px; flex: 1; min-width: 62px; padding: 9px 5px; }
.pk-e { font-size: 20px; }
.pk-l { font-size: 10.5px; }
.big-ta { min-height: 78px; }
.rc-hint { font-size: 11.5px; color: var(--muted-2); margin-top: 6px; }

/* ============ AI COACH karta ============ */
.ai-card { border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 18px; background: linear-gradient(140deg, var(--gold-soft), transparent 70%); margin-bottom: 16px; }
.ai-head { display: flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 700; }
.ai-head [data-lucide] { width: 19px; height: 19px; color: var(--gold); }
.ai-stars { margin-left: auto; color: var(--gold); font-size: 16px; letter-spacing: 2px; }
.ai-text { font-size: 13.5px; line-height: 1.6; margin: 12px 0 16px; }
.ai-prob { display: flex; align-items: center; gap: 11px; }
.ap-l { font-size: 11.5px; color: var(--muted); flex: 0 0 auto; }
.ap-bar { flex: 1; height: 9px; background: var(--bg); border-radius: 5px; overflow: hidden; }
.ap-f { height: 100%; background: linear-gradient(90deg, #C79A2E, var(--gold)); border-radius: 5px; }
.ap-n { font-size: 15px; font-weight: 800; color: var(--gold); }

/* ============ AI TRENÉR ============ */
.trainer-card { border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 20px; background: linear-gradient(150deg, rgba(var(--gold-rgb), .14), transparent 70%); margin-bottom: 18px; }
.tc-head { display: flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 800; }
.tc-head [data-lucide] { width: 20px; height: 20px; color: var(--gold); }
.tc-n { margin-left: auto; font-size: 11.5px; color: var(--muted); font-weight: 500; }
.tc-sum { font-size: 14px; line-height: 1.6; margin: 12px 0 14px; }
.tc-pats { display: flex; flex-direction: column; gap: 9px; }
.tc-p { display: flex; gap: 9px; font-size: 13.5px; line-height: 1.45; }
.tc-num { color: var(--gold); font-weight: 800; flex: 0 0 auto; }
.tc-rates { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 16px 0; padding: 14px; background: rgba(0,0,0,.25); border-radius: 12px; }
.tc-rates [data-lucide] { width: 20px; height: 20px; color: var(--muted); }
.tr-b { text-align: center; }
.tr-l { font-size: 10.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.tr-v { font-size: 26px; font-weight: 800; margin-top: 2px; }
.tr-b.up .tr-v { color: #57c07a; }
.tc-chall { background: rgba(0,0,0,.25); border-left: 3px solid var(--gold); border-radius: 0 10px 10px 0; padding: 13px 15px; font-size: 13px; line-height: 1.5; }
.tch-l { font-size: 11px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 5px; }
.tc-empty { font-size: 13px; color: var(--muted); margin: 10px 0 12px; line-height: 1.5; }

/* ============ STATISTIKY ============ */
.stat-line { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--border); font-size: 13.5px; }
.stat-line:last-child { border-bottom: 0; }
.stat-line span { color: var(--muted); }
.stat-line b { color: var(--white); }
.stat-line.warn b { color: #e5807a; }
.r-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 6px; }
.chip { background: var(--bg); border: 1px solid var(--border); border-radius: 999px; padding: 6px 12px; font-size: 12.5px; font-weight: 600; }
.chip.strong { background: var(--gold-soft); border-color: var(--gold-line); color: var(--gold); }
.r-quote { font-size: 14px; font-style: italic; color: var(--white); margin-top: 6px; line-height: 1.5; padding-left: 11px; border-left: 2px solid var(--gold); }

/* ============ KALENDÁŘ AKTIVITY ============ */
.cal-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.cal-b { width: 30px; height: 30px; border-radius: 9px; background: var(--bg); border: 1px solid var(--border); color: var(--white); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.cal-b [data-lucide] { width: 15px; height: 15px; }
.cal-m { font-size: 14px; font-weight: 700; }
.cal-h { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; margin-bottom: 6px; }
.cal-h span { text-align: center; font-size: 10.5px; color: var(--muted); font-weight: 700; }
.cal-g { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.cal-e { aspect-ratio: 1; }
.cal-d { aspect-ratio: 1; border-radius: 8px; background: var(--bg); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 11.5px; color: var(--muted-2); font-weight: 600; transition: var(--ease); }
.cal-d.l1 { background: rgba(var(--gold-rgb), .22); border-color: transparent; color: var(--white); }
.cal-d.l2 { background: rgba(var(--gold-rgb), .45); border-color: transparent; color: var(--white); }
.cal-d.l3 { background: rgba(var(--gold-rgb), .7); border-color: transparent; color: #14100A; }
.cal-d.l4 { background: var(--gold); border-color: transparent; color: #14100A; font-weight: 800; }
.cal-d.today { box-shadow: 0 0 0 2px var(--gold); color: var(--gold); }
.cal-d.today.l3, .cal-d.today.l4 { color: #14100A; }
.cal-legend { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--muted); margin-top: 11px; }
.cl-scale { display: flex; align-items: center; gap: 4px; }
.cl-scale i { width: 11px; height: 11px; border-radius: 3px; background: var(--bg); border: 1px solid var(--border); }
.cl-scale i.l1 { background: rgba(var(--gold-rgb), .22); border-color: transparent; }
.cl-scale i.l2 { background: rgba(var(--gold-rgb), .45); border-color: transparent; }
.cl-scale i.l3 { background: rgba(var(--gold-rgb), .7); border-color: transparent; }
.cl-scale i.l4 { background: var(--gold); border-color: transparent; }

/* ============ AI HODNOCENÍ (2 týdny) ============ */
.review-card { border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 20px; background: linear-gradient(150deg, rgba(var(--gold-rgb), .13), transparent 70%); margin-bottom: 18px; }
.rv-head { display: flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 800; }
.rv-head [data-lucide] { width: 20px; height: 20px; color: var(--gold); }
.rv-tr { margin-left: auto; font-size: 11.5px; font-weight: 700; padding: 4px 11px; border-radius: 999px; background: var(--bg); color: var(--muted); }
.rv-tr.up { color: #57c07a; background: rgba(87,192,122,.14); }
.rv-tr.down { color: #e5807a; background: rgba(229,105,95,.14); }
.rv-line { font-size: 14.5px; line-height: 1.6; margin: 12px 0 16px; }
.rv-nums { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-bottom: 16px; }
.rv-n { background: rgba(0,0,0,.25); border-radius: 11px; padding: 11px 6px; text-align: center; }
.rvn-v { font-size: 20px; font-weight: 800; }
.rvn-l { font-size: 10px; color: var(--muted); margin-top: 2px; }
.rvn-d { font-size: 11px; font-weight: 700; color: var(--muted-2); margin-top: 3px; }
.rvn-d.up { color: #57c07a; } .rvn-d.down { color: #e5807a; }
.rv-sec { margin-bottom: 14px; }
.rv-l { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 7px; }
.rv-l.good { color: #57c07a; } .rv-l.warn { color: #e5807a; }
.rv-i { font-size: 13.5px; line-height: 1.5; padding: 4px 0; }
.rv-goal { background: rgba(0,0,0,.25); border-left: 3px solid var(--gold); border-radius: 0 10px 10px 0; padding: 13px 15px; font-size: 13.5px; line-height: 1.5; }
.rvg-l { font-size: 11px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 5px; }
.rv-empty { font-size: 13px; color: var(--muted); margin: 11px 0 13px; line-height: 1.55; }

/* ============ CO SE TI POVEDLO ============ */
.win-i { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.win-i:last-child { border-bottom: 0; }
.wi-ic { width: 36px; height: 36px; border-radius: 10px; background: var(--bg); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.wi-ic [data-lucide] { width: 17px; height: 17px; color: var(--gold); }
.wi-ic.meet [data-lucide] { color: #7aa7e5; }
.wi-ic.task [data-lucide] { color: #57c07a; }
.wi-b { flex: 1; min-width: 0; }
.wi-t { font-size: 14px; font-weight: 600; }
.wi-s { font-size: 12px; color: var(--muted); margin-top: 2px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wi-tag { display: inline-flex; align-items: center; gap: 4px; background: var(--gold-soft); border: 1px solid var(--gold-line); color: var(--gold); font-size: 10.5px; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.wi-tag.meeting { background: rgba(90,120,190,.12); border-color: rgba(90,120,190,.3); color: #7C9EE0; }
.wi-tag [data-lucide] { width: 11px; height: 11px; }

/* žebříček v Reportech */
.lb-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 640px) { .lb-cols { grid-template-columns: 1fr; } }
.lb-col-h { font-size: 11px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px; }
.lb-row { display: flex; align-items: center; gap: 9px; padding: 6px 0; border-top: none; border-bottom: 1px solid var(--border); }
.lb-row:last-child { border-bottom: none; }
.lb-rank { font-size: 11px; font-weight: 700; color: var(--muted-2); width: 14px; flex-shrink: 0; }
.lb-badge { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #14100A; font-weight: 700; font-size: 10.5px; flex-shrink: 0; }
.lb-name { flex: 1; min-width: 0; font-size: 13px; color: var(--white); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-val { font-size: 12.5px; font-weight: 700; color: var(--gold); flex-shrink: 0; }

/* přepínač "Hlubší analýza" v Reportech — schované ve výchozím stavu */
.reports-adv-toggle { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 3px; background: var(--surface); border: 1px dashed var(--border); border-radius: 14px; padding: 14px; margin-top: 18px; color: var(--white); font-size: 13.5px; font-weight: 700; }
.reports-adv-toggle:hover { border-color: var(--gold-line); }
.reports-adv-toggle [data-lucide] { width: 16px; height: 16px; color: var(--gold); }
.reports-adv-sub { font-size: 11px; font-weight: 500; color: var(--muted); }
.reports-adv-body { margin-top: 4px; }
.wi-d { font-size: 11.5px; color: var(--muted-2); flex: 0 0 auto; }
@media (max-width: 820px) { .rv-nums { grid-template-columns: repeat(2, 1fr); } }

/* ============ 3D GLÓBUS ============ */
.globe-wrap { position: relative; background: radial-gradient(120% 100% at 50% 0%, #14141a 0%, var(--bg) 70%); border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: 16px; overflow: hidden; }
.globe { width: 100%; max-width: 620px; height: auto; margin: 0 auto; display: block; cursor: grab; }
.globe.dragging { cursor: grabbing; }
.globe .g-land { fill: #22222b; stroke: #32323d; stroke-width: .4; }
.globe .g-grat { fill: none; stroke: rgba(var(--gold-rgb), .10); stroke-width: .5; }
.globe .gc-glow { fill: var(--gold); opacity: .5; filter: url(#gGlow); }
.globe .gc-fill { fill: var(--gold); stroke: #FFE39A; stroke-width: .7; }
.globe .g-ctry { animation: gPulse 3.4s ease-in-out infinite; }
.globe .g-ctry.good .gc-glow, .globe .g-ctry.good .gc-fill { fill: var(--green); }
.globe .g-ctry.good .gc-fill { stroke: #86e39a; }
.globe .g-ctry.warn .gc-glow, .globe .g-ctry.warn .gc-fill { fill: #e5807a; }
.globe .g-ctry.warn .gc-fill { stroke: #f0a29c; }
@keyframes gPulse { 0%, 100% { opacity: .82; } 50% { opacity: 1; } }
.globe .gp-dot { fill: #fff; }
.globe .gp-ring { fill: none; stroke: var(--gold); stroke-width: 1.4; transform-origin: center; animation: gRing 2s ease-out infinite; }
.globe .gp-flag { font-size: 15px; paint-order: stroke; stroke: rgba(0,0,0,.55); stroke-width: 3px; }
@keyframes gRing { 0% { r: 4; opacity: .9; } 100% { r: 16; opacity: 0; } }
.globe .gp-lbl { fill: #fff; font: 700 11px Inter, sans-serif; paint-order: stroke; stroke: rgba(0,0,0,.75); stroke-width: 3px; }
.globe-hint { position: absolute; right: 12px; bottom: 10px; font-size: 11px; color: var(--muted-2); pointer-events: none; }
.map-row[data-goto] { cursor: pointer; }
.map-row[data-goto]:hover { background: var(--surface-2); }
@media (prefers-reduced-motion: reduce) { .globe .g-ctry, .globe .gp-ring { animation: none; } }

/* ============ PARTNEŘI (bez žebříčku) ============ */
.dash-role { font: 700 26px/1.1 Inter, sans-serif; color: var(--gold); letter-spacing: .01em; }
.dash-partners { display: flex; flex-direction: column; gap: 2px; margin-top: 6px; }
.dp { display: flex; align-items: center; gap: 9px; padding: 7px 8px; border-radius: var(--radius-sm); }
.dp.me { background: var(--gold-soft); }
.dp-n { font-weight: 600; color: var(--white); }
.dp-r { font-size: 11px; color: var(--gold); border: 1px solid var(--gold-line); border-radius: 999px; padding: 1px 8px; }
.dp-c { margin-left: auto; font-size: 12px; color: var(--muted); }

/* ============ KARIÉRA ============ */
.side-profile .r.gold { color: var(--gold); font-size: 11px; }
.xp-mini { height: 3px; background: var(--border); border-radius: 2px; margin-top: 4px; overflow: hidden; }
.xp-mini span { display: block; height: 100%; background: var(--gold); border-radius: 2px; transition: width var(--ease); }

.kar-hero { display: flex; align-items: center; gap: 20px; padding: 22px; margin-bottom: 16px;
  background: radial-gradient(120% 140% at 15% 0%, rgba(var(--gold-rgb), .10) 0%, var(--surface) 60%);
  border: 1px solid var(--gold-line); border-radius: var(--radius); }
.lvl-ring { width: 104px; height: 104px; flex: none; }
.lr-bg { fill: none; stroke: var(--border); stroke-width: 8; }
.lr-fg { fill: none; stroke: var(--gold); stroke-width: 8; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 55px 55px; transition: stroke-dashoffset 600ms var(--ease); }
.lr-n { fill: var(--white); font: 800 30px Inter, sans-serif; text-anchor: middle; }
.lr-l { fill: var(--muted-2); font: 700 9px Inter, sans-serif; letter-spacing: .14em; text-anchor: middle; }
.kh-i { flex: 1; min-width: 0; }
.kh-t { font-size: 26px; color: var(--gold); line-height: 1.2; }
.kh-x { font-size: 13px; color: var(--muted); margin-top: 4px; }
.kh-tot { font-size: 12px; color: var(--muted-2); margin-top: 2px; }
.kh-streak { text-align: center; flex: none; padding: 10px 14px; border-radius: var(--radius-sm); background: var(--surface-2); }
.kh-streak.hot { background: rgba(var(--gold-rgb), .10); border: 1px solid var(--gold-line); }
.ks-n { font: 800 22px Inter, sans-serif; color: var(--white); }
.ks-l { font-size: 11px; color: var(--muted); }
.ks-b { font-size: 10px; color: var(--muted-2); margin-top: 2px; }
.ks-days { font-size: 12px; color: var(--muted); }

.st-bar { position: relative; height: 10px; background: var(--surface-2); border-radius: 999px; margin: 16px 0 10px; }
.st-fill { height: 100%; background: linear-gradient(90deg, #8a6d1f, var(--gold)); border-radius: 999px; transition: width 600ms var(--ease); }
.st-pip { position: absolute; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--bg); border: 1.5px solid var(--border); }
.st-pip.on { background: var(--gold); border-color: #FFE39A; box-shadow: 0 0 8px rgba(var(--gold-rgb), .7); }
.st-now { font-size: 13px; color: var(--muted); }
.st-prize { margin-top: 10px; padding: 10px 12px; border: 1px dashed var(--gold-line); border-radius: var(--radius-sm); font-size: 13px; color: var(--white); }
.gold { color: var(--gold); }

.mb-row { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.mb-icon { font-size: 34px; flex: none; }
.mb-icon.ready { animation: shake 1.1s ease-in-out infinite; }
.mb-i { flex: 1; min-width: 0; }
.mb-p { font-size: 13px; color: var(--muted); margin-bottom: 6px; }
.mb-bar { height: 8px; background: var(--surface-2); border-radius: 999px; overflow: hidden; }
.mb-bar div { height: 100%; background: var(--gold); border-radius: 999px; transition: width var(--ease); }
.mb-won { margin-top: 6px; font-size: 13px; }

.badge-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.bdg { padding: 9px 6px; text-align: center; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); opacity: .45; cursor: pointer; }
.bdg i { width: 17px; height: 17px; color: var(--muted); }
.bdg.on { opacity: 1; border-color: var(--gold-line); background: var(--gold-soft); }
.bdg.on i { color: var(--gold); }
.bdg-n { font-size: 10.5px; font-weight: 700; color: var(--white); margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bdg-h { font-size: 8.5px; color: var(--muted-2); margin-top: 1px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }

.rec-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 10px; }
.rec { padding: 10px 8px; text-align: center; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); cursor: pointer; }
.rec i { width: 15px; height: 15px; color: var(--gold); }
.rec-n { font: 800 16px Inter, sans-serif; color: var(--white); margin-top: 3px; }
.rec-l { font-size: 9.5px; color: var(--muted); }

.xp-list { margin-top: 10px; }
.xp-i { display: flex; justify-content: space-between; padding: 9px 2px; border-bottom: 1px solid var(--border); font-size: 13px; color: var(--muted); }
.xp-i:last-child { border-bottom: 0; }

@media (max-width: 640px) {
  .kar-hero { flex-wrap: wrap; gap: 14px; }
  .kh-streak { width: 100%; }
}

/* ---- Rozvoj: co ti chybí ---- */
.near-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.near-row:last-child { border-bottom: 0; }
.near-row i { width: 20px; height: 20px; color: var(--gold); flex: none; }
.nr-i { flex: 1; min-width: 0; }
.nr-n { font-weight: 600; color: var(--white); font-size: 14px; }
.nr-l { font-size: 12px; color: var(--gold); margin-top: 1px; }
.nr-bar { height: 4px; background: var(--surface-2); border-radius: 2px; margin-top: 6px; overflow: hidden; }
.nr-bar span { display: block; height: 100%; background: var(--gold); border-radius: 2px; }
.nr-p { font: 700 15px Inter, sans-serif; color: var(--muted); flex: none; }
.bdg.near { opacity: .8; border-color: var(--gold-line); }
.bdg-bar { height: 3px; background: var(--border); border-radius: 2px; margin-top: 6px; overflow: hidden; }
.bdg-bar span { display: block; height: 100%; background: var(--gold); }

/* ---- Mapa pro partnery: jen země ---- */
.ctry-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.cchip { padding: 6px 12px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-2); font-size: 13px; color: var(--white); cursor: pointer; }
.cchip:hover { border-color: var(--gold-line); }

/* ---- Cíl firmy + odměna ---- */
.goal-card.won { border-color: var(--green); }
.gc-prize { display: flex; align-items: center; gap: 12px; margin: 12px 0; padding: 12px 14px; border: 1px dashed var(--gold-line); border-radius: var(--radius-sm); background: var(--gold-soft); }
.gc-prize.sm { margin: 0 0 10px; padding: 9px 11px; }
.gc-prize.won { border-style: solid; border-color: var(--green); background: rgba(63,185,80,.10); }
.gcp-e { font-size: 22px; }
.gcp-l { font-size: 10px; letter-spacing: .1em; color: var(--muted); text-transform: uppercase; }
.gcp-t { font-size: 14px; font-weight: 700; color: var(--white); }
.gc-bar { height: 10px; background: var(--surface-2); border-radius: 999px; overflow: hidden; }
.gc-fill { height: 100%; background: linear-gradient(90deg, #8a6d1f, var(--gold)); border-radius: 999px; transition: width 600ms var(--ease); }
.goal-card.won .gc-fill { background: var(--green); }
.gc-nums { margin-top: 8px; font-size: 13px; color: var(--muted); }

/* ---- Reporty: tempo firem ---- */
.ft-goal { margin-top: 10px; }
.ft-bar { position: relative; height: 8px; background: var(--surface-2); border-radius: 999px; }
.ft-fill { height: 100%; border-radius: 999px; background: var(--gold); transition: width var(--ease); }
.ft-fill.ok { background: var(--green); }
.ft-fill.risk { background: #E0A33E; }
.ft-fill.behind { background: #E5807A; }
.ft-should { position: absolute; top: -3px; width: 2px; height: 14px; background: var(--muted); opacity: .7; }
.ft-pace { margin-top: 6px; font-size: 12px; color: var(--muted); }
.ft-pace.ok { color: var(--green); }
.ft-pace.risk { color: #E0A33E; }
.ft-pace.behind { color: #E5807A; }
.ft-need { color: var(--muted-2); }
.ft-prize { margin-top: 6px; font-size: 12px; color: var(--gold); }

/* ---- reflexe: další krok ---- */
.req { font-size: 10px; color: var(--gold); border: 1px solid var(--gold-line); border-radius: 999px; padding: 1px 7px; margin-left: 6px; font-weight: 700; }
#p-due { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* ---- klienti: termíny ---- */
.cl-next .cl-due { margin-left: auto; font-size: 11px; color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: 2px 8px; }
.cl-next.late { color: #E5807A; }
.cl-next.late .cl-due { color: #E5807A; border-color: rgba(229,128,122,.4); }
.cl-next.nostep { color: #E0A33E; }

/* ---- Domů: Dnes tě čeká ---- */
.td-top { display: flex; gap: 18px; font-size: 13px; color: var(--muted); margin-bottom: 10px; }
.td-list { display: flex; flex-direction: column; }
.td-row { display: flex; align-items: center; gap: 10px; padding: 9px 4px; border-bottom: 1px solid var(--border); cursor: pointer; }
.td-row:last-child { border-bottom: 0; }
.td-row:hover { background: var(--surface-2); }
.td-tag { flex: none; font-size: 10px; font-weight: 700; letter-spacing: .04em; color: var(--gold); border: 1px solid var(--gold-line); border-radius: 999px; padding: 2px 8px; text-transform: uppercase; }
.td-tag.late { color: #E5807A; border-color: rgba(229,128,122,.4); }
.td-tag.warn { color: #E0A33E; border-color: rgba(224,163,62,.4); }
.td-t { font-size: 13px; color: var(--white); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.td-more { font-size: 12px; color: var(--muted-2); padding-top: 8px; }
.td-clear { font-size: 13px; color: var(--green); padding: 6px 0; }

/* ---- Reporty: Vyžaduje pozornost ---- */
.att .att-row { display: flex; align-items: center; gap: 12px; padding: 10px 10px; border-radius: var(--radius-sm); margin-top: 8px; border: 1px solid var(--border); background: var(--surface-2); width: 100%; font: inherit; text-align: left; cursor: pointer; transition: var(--ease); }
.att .att-row:hover { border-color: var(--gold-line); }
.att .att-row i { width: 18px; height: 18px; flex: none; }
.att .sev3 { border-color: rgba(229,128,122,.5); }
.att .sev3 i { color: #E5807A; }
.att .sev2 { border-color: rgba(224,163,62,.4); }
.att .sev2 i { color: #E0A33E; }
.att .sev1 i { color: var(--muted); }
.att-t { font-size: 13px; color: var(--white); }
.att-s { font-size: 11px; color: var(--muted-2); margin-top: 1px; }

/* ============ MAPA — záložky, offshore, bottom sheet ============ */
.map-tabs { display: flex; gap: 8px; margin-bottom: 14px; }
.map-tabs .mtab { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-2); color: var(--muted); font-size: 13px; font-weight: 600; cursor: pointer; }
.map-tabs .mtab i { width: 15px; height: 15px; }
.map-tabs .mtab.on { background: var(--gold-soft); border-color: var(--gold-line); color: var(--gold); }
.map-tabs .mtab.cfg { margin-left: auto; }

.map-cfg-box { margin-bottom: 14px; }

/* offshore piny na glóbu */
.globe .g-ctry.off .gc-glow, .globe .g-ctry.off .gc-fill { fill: var(--gold); }
.globe .g-off .go-dot { fill: var(--gold); }
.globe .g-off.mine .go-dot { fill: #FFE08A; }
.globe .g-off .go-ring { fill: none; stroke: var(--gold); stroke-width: 1; transform-origin: center; animation: gRing 2.4s ease-out infinite; }
.globe .g-off.haven .go-ring { display: none; }
.globe .g-off .go-lbl { fill: #FFE08A; font: 700 9px Inter, sans-serif; paint-order: stroke; stroke: rgba(0,0,0,.8); stroke-width: 2.5px; }

/* jurisdikce grid */
.jur-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 12px; }
.jur { padding: 13px 14px; border: 1px solid var(--gold-line); border-radius: var(--radius-sm); background: var(--gold-soft); cursor: pointer; }
.jur-n { font-weight: 700; color: var(--gold); font-size: 14px; }
.jur-t { font-size: 12px; color: var(--muted); margin-top: 2px; }

.chip-wrap { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.cchip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-2); font-size: 13px; color: var(--white); cursor: pointer; }
.cchip:hover { border-color: var(--gold-line); }
.cchip b { color: var(--gold); font-weight: 700; }

/* bottom sheet */
.map-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: var(--surface); border-top: 1px solid var(--gold-line); border-radius: 18px 18px 0 0; padding: 8px 20px 26px; transform: translateY(100%); transition: transform .22s cubic-bezier(.4,0,.2,1); box-shadow: 0 -8px 40px rgba(0,0,0,.5); }
.map-sheet.up { transform: translateY(0); }
.ms-grab { width: 40px; height: 4px; border-radius: 2px; background: var(--border); margin: 6px auto 16px; cursor: pointer; }
.ms-title { font: 700 20px Inter, sans-serif; color: var(--white); }
.ms-tag { display: inline-block; margin-top: 8px; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 999px; letter-spacing: .04em; }
.ms-tag.mine { background: var(--gold-soft); color: var(--gold); border: 1px solid var(--gold-line); }
.ms-tag.haven { background: var(--surface-2); color: var(--muted); border: 1px solid var(--border); }
.ms-note { margin-top: 12px; font-size: 14px; color: var(--muted); }
@media (min-width: 720px) {
  .map-sheet { left: auto; right: 24px; bottom: 24px; width: 320px; border-radius: 16px; border: 1px solid var(--gold-line); }
}

/* ============ JAK ROSTU ============ */
.gr-hero { display: flex; align-items: center; gap: 14px; }
.gr-ring { width: 56px; height: 56px; flex: none; }
.grr-bg { fill: none; stroke: var(--border); stroke-width: 5; }
.grr-fg { fill: none; stroke: var(--gold); stroke-width: 5; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 30px 30px; transition: stroke-dashoffset .6s var(--ease); }
.grr-n { fill: var(--white); font: 500 20px Inter, sans-serif; }
.gr-i { flex: 1; min-width: 0; }
.gr-t { color: var(--gold); font-size: 15px; font-weight: 600; }
.gr-x { color: var(--muted); font-size: 12px; margin-top: 2px; }
.gr-streak { flex: none; text-align: center; background: var(--surface-2); border-radius: 10px; padding: 7px 11px; font: 700 18px Inter, sans-serif; color: var(--white); }
.gr-streak span { display: block; font-size: 10px; font-weight: 400; color: var(--muted); }
.gr-grid { display: flex; margin-top: 14px; padding-top: 12px; border-top: 0.5px solid var(--border); }
.gr-cell { flex: 1; text-align: center; }
.gr-cell + .gr-cell { border-left: 0.5px solid var(--border); }
.gr-l { font-size: 11px; color: var(--muted); }
.gr-v { font: 500 16px Inter, sans-serif; color: var(--white); margin: 2px 0; }
.gr-up { font-size: 11px; color: var(--green); }
.gr-dn { font-size: 11px; color: #E5807A; }
.gr-eq { font-size: 11px; color: var(--muted-2); }

/* ============ ZLEPŠENÍ DOVEDNOSTÍ ============ */
.dv-row { margin-bottom: 11px; }
.dv-head { display: flex; justify-content: space-between; font-size: 13px; color: #c9c9cd; margin-bottom: 5px; }
.dv-pct { font-weight: 600; }
.dv-pct.good { color: var(--green); }
.dv-pct.mid { color: #E0A33E; }
.dv-pct.low { color: #E5807A; }
.dv-pct .dv-up { color: var(--green); margin-left: 5px; font-size: 11px; }
.dv-pct .dv-dn { color: #E5807A; margin-left: 5px; font-size: 11px; }
.dv-track { height: 6px; background: var(--surface-2); border-radius: 3px; overflow: hidden; }
.dv-fill { height: 100%; border-radius: 3px; transition: width .5s var(--ease); }
.dv-fill.good { background: var(--green); }
.dv-fill.mid { background: #E0A33E; }
.dv-fill.low { background: #E5807A; }
.dv-tip { margin-top: 14px; }
.dv-tip-l { color: var(--gold); font-size: 11px; letter-spacing: .04em; margin-bottom: 3px; }
.dv-tip-t { color: var(--white); font-size: 13px; line-height: 1.5; background: var(--surface-2); border-left: 2px solid var(--gold); padding: 10px 12px; }
.dv-empty { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 13px; line-height: 1.5; padding: 6px 0; }
.dv-empty i { width: 22px; height: 22px; color: var(--muted-2); flex: none; }

/* ============ MOBILNÍ "VÍC" PANEL ============ */
.more-sheet { display: none; }
@media (max-width: 820px) {
  .mobile-tabbar button i[data-lucide], .mobile-tabbar button [data-lucide] { width: 20px; height: 20px; }
  .more-sheet { display: block; position: fixed; inset: 0; z-index: 80; }
  .more-sheet[hidden] { display: none; }
  .more-back { position: absolute; inset: 0; background: rgba(0,0,0,.55); opacity: 0; transition: opacity .22s; }
  .more-sheet.up .more-back { opacity: 1; }
  .more-panel { position: absolute; left: 0; right: 0; bottom: 0; background: var(--surface); border-top: 1px solid var(--gold-line); border-radius: 20px 20px 0 0; padding: 10px 16px calc(20px + env(safe-area-inset-bottom)); transform: translateY(100%); transition: transform .24s cubic-bezier(.4,0,.2,1); }
  .more-sheet.up .more-panel { transform: translateY(0); }
  .more-grab { width: 42px; height: 4px; border-radius: 2px; background: var(--border); margin: 4px auto 16px; }
  .more-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .more-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 18px 8px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); color: var(--muted); font-size: 12px; font-weight: 500; }
  .more-item i[data-lucide], .more-item [data-lucide] { width: 24px; height: 24px; }
  .more-item.active { background: var(--gold-soft); border-color: var(--gold-line); color: var(--gold); }
}

/* ============ MAPA — legenda ============ */
.globe-legend { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; padding: 10px 14px 2px; }
.gl-i { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.gl-dot { width: 10px; height: 10px; border-radius: 50%; }
.gl-dot.gold { background: var(--gold); box-shadow: 0 0 8px var(--gold); }
.gl-dot.mine { background: #FFE08A; box-shadow: 0 0 8px #FFE08A; }
.gl-dot.haven { background: var(--gold); }
.gl-dot.good { background: var(--green); box-shadow: 0 0 8px var(--green); }
.gl-dot.warn { background: #E5807A; box-shadow: 0 0 8px #E5807A; }
.ms-use { margin-top: 12px; font-size: 14px; line-height: 1.55; color: #c9c9cd; }

/* ============ SEGMENT PŘEPÍNAČ (období) ============ */
.seg { display: inline-flex; background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 4px; gap: 4px; margin-bottom: 12px; }
.seg button { border: none; background: transparent; color: var(--muted); cursor: pointer; font: inherit; font-size: 14px; font-weight: 600; padding: 9px 20px; border-radius: 9px; transition: var(--ease); }
.seg button.on { background: linear-gradient(180deg, #E8CD73, #C9A848); color: #1a1500; }
.lbl-sm { font-size: 13px; color: var(--muted); margin: 12px 0 6px; }
.ch-grid label small { display: block; color: var(--muted-2); font-size: 11px; font-weight: 400; margin-top: 1px; margin-bottom: 5px; }

/* ---- editor Moje jurisdikce ---- */
.jur-edit { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.jur-edit:last-child { border-bottom: 0; }
.je-flag { flex: none; font-size: 16px; }
.je-n { flex: 0 0 130px; font-weight: 600; color: var(--white); font-size: 14px; }
.je-note { flex: 1; }
.je-del { flex: none; color: var(--muted-2); }
.je-del:hover { color: #E5807A; }
.pick-firm { display: flex; align-items: center; gap: 8px; padding: 7px 2px; font-size: 14px; color: var(--white); cursor: pointer; }
.pick-firm input { width: 16px; height: 16px; accent-color: var(--gold); }

/* ============ PRÁCE — sjednocené záložky ============ */
.prace-seg { display: flex; gap: 6px; margin-bottom: 18px; background: var(--surface-2); border: 1px solid var(--border); border-radius: 14px; padding: 5px; }
.prace-seg .pseg { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 12px; background: transparent; border: none; border-radius: 10px; color: var(--muted); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: var(--ease); white-space: nowrap; }
.prace-seg .pseg i[data-lucide], .prace-seg .pseg [data-lucide] { width: 16px; height: 16px; flex: none; }
.prace-seg .pseg:hover { color: var(--white); }
.prace-seg .pseg.on { background: linear-gradient(180deg, #E8CD73, #C9A848); color: #1a1500; box-shadow: 0 2px 8px rgba(0,0,0,.3); }
.prace-seg .pseg-n { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: rgba(0,0,0,.18); color: inherit; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.prace-seg .pseg:not(.on) .pseg-n { background: var(--surface); color: var(--muted); }
@media (max-width: 640px) {
  .prace-seg .pseg { padding: 11px 6px; font-size: 13px; gap: 5px; }
  .prace-seg .pseg-l { font-size: 13px; }
}
.meet-val { font-size: 12px; color: var(--gold); font-weight: 700; margin-left: 6px; }

/* ============ REPORTY — CEO dashboard ============ */
.ceo-head { margin-bottom: 14px; }
.ceo-t { font: 700 20px Inter, sans-serif; color: var(--white); }
.ceo-sub { font-size: 13px; color: var(--muted); margin-top: 2px; }
.ceo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 10px; }
.ceo-box { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 13px 14px; }
.ceo-box.gold { border-color: var(--gold-line); background: var(--gold-soft); }
.ceo-box .cb-top { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--muted); }
.ceo-box .cb-top [data-lucide] { width: 13px; height: 13px; }
.cb-v { font: 700 22px Inter, sans-serif; color: var(--white); margin-top: 5px; }
.ceo-box.up .cb-v { color: var(--green); }
.ceo-box.down .cb-v { color: #E5807A; }
.ceo-box.gold .cb-v { color: var(--gold); }
.cb-s { font-size: 11px; color: var(--muted-2); margin-top: 2px; }

/* pipeline */
.pipe-row { display: flex; align-items: center; gap: 12px; padding: 9px 0; }
.pipe-l { flex: 0 0 110px; font-size: 13px; color: var(--muted); }
.pipe-l b { color: var(--white); }
.pipe-bar { flex: 1; height: 8px; background: var(--surface-2); border-radius: 4px; overflow: hidden; }
.pipe-bar div { height: 100%; background: var(--gold); border-radius: 4px; }
.pipe-v { flex: 0 0 90px; text-align: right; font-size: 13px; font-weight: 700; color: var(--white); }

/* tabulka lidí */
.ppl-scroll { overflow-x: auto; margin-top: 10px; }
.ppl-tab { width: 100%; border-collapse: collapse; font-size: 13px; white-space: nowrap; }
.ppl-tab th { text-align: left; font-size: 11px; color: var(--muted); font-weight: 600; padding: 8px 10px; border-bottom: 1px solid var(--border); }
.ppl-tab td { padding: 10px; border-bottom: 1px solid var(--border); color: var(--white); }
.ppl-tab td:first-child { display: flex; align-items: center; gap: 8px; }
.pt-n { font-weight: 600; }
.pt-c { color: var(--muted-2); font-size: 11px; }
.ppl-tab td.good { color: var(--green); }
.ppl-tab td.bad { color: #E5807A; }

/* ztráty */
.loss-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.loss-l { flex: 0 0 130px; font-size: 13px; color: var(--white); }
.loss-bar { flex: 1; height: 8px; background: var(--surface-2); border-radius: 4px; overflow: hidden; }
.loss-bar div { height: 100%; background: #E5807A; border-radius: 4px; }
.loss-p { flex: 0 0 44px; text-align: right; font-size: 13px; font-weight: 700; color: #E5807A; }
.loss-v { flex: 0 0 80px; text-align: right; font-size: 12px; color: var(--muted-2); }

/* dny v týdnu */
.wd-wrap { display: flex; gap: 8px; align-items: flex-end; margin-top: 14px; height: 120px; }
.wd { flex: 1; display: flex; flex-direction: column; align-items: center; height: 100%; }
.wd-bar { position: relative; flex: 1; width: 100%; display: flex; align-items: flex-end; }
.wd-bar div { width: 100%; background: linear-gradient(180deg, var(--gold), #8a6d1f); border-radius: 4px 4px 0 0; }
.wd-sg { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); font-size: 10px; font-weight: 700; color: var(--green); }
.wd-d { font-size: 11px; color: var(--muted); margin-top: 6px; }
.wd-n { font-size: 12px; font-weight: 700; color: var(--white); }

/* čas v appce */
.tm-bars { margin-top: 12px; }
.tm-row { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.tm-l { flex: 0 0 90px; font-size: 13px; color: var(--white); }
.tm-bar { flex: 1; height: 8px; background: var(--surface-2); border-radius: 4px; overflow: hidden; }
.tm-bar div { height: 100%; background: var(--gold); border-radius: 4px; }
.tm-v { flex: 0 0 70px; text-align: right; font-size: 12px; color: var(--muted); }
.tm-people { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); }
.tmp { display: flex; align-items: center; gap: 7px; padding: 7px 11px; background: var(--surface-2); border-radius: 999px; font-size: 12px; }
.tmp-n { color: var(--white); font-weight: 600; }
.tmp-t { color: var(--gold); font-weight: 700; }
.tmp-s { color: var(--muted-2); }

/* stagnující */
.stag-row { display: flex; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--border); }
.stag-row:last-child { border-bottom: 0; }
.stag-n { font-weight: 600; color: var(--white); font-size: 14px; }
.stag-c { color: var(--muted-2); font-size: 12px; font-weight: 400; }
.stag-x { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.stag-tag { font-size: 11px; padding: 3px 9px; border-radius: 999px; background: rgba(229,128,122,.12); color: #E5807A; }

/* žebříčky */
.bd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin-top: 12px; }
.bd { padding: 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); }
.bd i[data-lucide], .bd [data-lucide] { width: 17px; height: 17px; color: var(--gold); }
.bd-l { font-size: 11px; color: var(--muted); margin-top: 5px; }
.bd-w { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--white); margin-top: 6px; }
.bd-v { font: 700 17px Inter, sans-serif; color: var(--gold); margin-top: 3px; }

/* health score */
.hs-all { font-size: 13px; font-weight: 700; }
.hs-all.good, .hs-dot.good, .hs-bar .good { color: var(--green); }
.hs-all.mid { color: #E0A33E; }
.hs-all.bad { color: #E5807A; }
.hs-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; }
.hs-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.hs-dot.good { background: var(--green); }
.hs-dot.mid { background: #E0A33E; }
.hs-dot.bad { background: #E5807A; }
.hs-n { flex: 0 0 120px; font-size: 13px; color: var(--white); font-weight: 600; }
.hs-bar { flex: 1; height: 8px; background: var(--surface-2); border-radius: 4px; overflow: hidden; }
.hs-bar div { height: 100%; border-radius: 4px; }
.hs-bar div.good { background: var(--green); }
.hs-bar div.mid { background: #E0A33E; }
.hs-bar div.bad { background: #E5807A; }
.hs-v { flex: 0 0 32px; text-align: right; font-size: 13px; font-weight: 700; color: var(--white); }

@media (max-width: 640px) {
  .ceo-grid { grid-template-columns: repeat(2, 1fr); }
  .loss-l, .tm-l, .hs-n { flex-basis: 90px; font-size: 12px; }
  .pipe-l { flex-basis: 80px; }
}

/* ============================================================
   LIMITOVANÉ EDICE (akce) — karty, odpočet, detail, diskuze
   ============================================================ */
.ed-chips { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; justify-content: space-between; gap: 8px; z-index: 3; pointer-events: none; }
.ed-badge { background: rgba(10,10,12,.72); backdrop-filter: blur(6px); border: 1px solid var(--gold-line); color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: 1.5px; padding: 5px 10px; border-radius: 999px; text-transform: uppercase; }
.ed-cd { background: rgba(10,10,12,.72); backdrop-filter: blur(6px); border: 1px solid var(--border); border-radius: 999px; padding: 5px 10px; font-size: 11px; font-weight: 700; color: var(--white); margin-left: auto; }
.ed-cd.urgent { border-color: rgba(217,88,79,.6); color: #f0a49d; }
.team-goal-banner.is-edition { cursor: pointer; transition: border-color .15s, transform .08s; }
.team-goal-banner.is-edition:active { transform: scale(.994); }
.ed-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; }
.ed-done { color: var(--gold); font-weight: 600; font-size: 12px; }
.ed-open { color: var(--gold); font-weight: 700; font-size: 12px; margin-left: auto; }

/* ---- detail overlay ---- */
#ed-overlay { position: fixed; inset: 0; z-index: 4000; background: rgba(6,6,8,.55); backdrop-filter: blur(4px); display: flex; justify-content: center; }
.ed-sheet { width: 100%; max-width: 520px; background: var(--bg); display: flex; flex-direction: column; height: 100%; animation: edUp .28s cubic-bezier(.2,.9,.3,1); }
@keyframes edUp { from { transform: translateY(30px); opacity: .6 } to { transform: none; opacity: 1 } }
.ed-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; padding-top: max(14px, env(safe-area-inset-top)); border-bottom: 1px solid var(--border); position: sticky; top: 0; background: var(--bg); z-index: 5; }
.ed-back { width: 36px; height: 36px; border-radius: 50%; background: var(--surface); border: 1px solid var(--border); color: var(--white); font-size: 20px; display: grid; place-items: center; }
.ed-head-t { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); font-weight: 700; }
.ed-body { flex: 1; overflow-y: auto; padding: 16px 16px 24px; }
.ed-title { font-size: 26px; line-height: 1.15; margin: 16px 0 6px; }
.ed-assign { display: inline-flex; align-items: center; gap: 6px; background: var(--surface); border: 1px solid var(--border); border-radius: 999px; padding: 5px 12px; font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.ed-desc { color: #cfcbc0; font-size: 14px; line-height: 1.6; margin: 6px 0 4px; }
.ed-sec-t { font-size: 11px; letter-spacing: 2px; color: var(--muted); font-weight: 700; text-transform: uppercase; margin: 22px 0 10px; }
.ed-sub { font-size: 12.5px; color: var(--muted); margin: -6px 0 10px; }

/* countdown box */
.ed-cd-box { background: linear-gradient(160deg,#1b1b20,#141418); border: 1px solid var(--gold-line); border-radius: 16px; padding: 15px; }
.ed-cd-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.ed-cd-lbl { font-size: 10px; letter-spacing: 2px; color: var(--gold); font-weight: 700; text-transform: uppercase; }
.ed-cd-state { font-size: 11px; color: var(--muted); }
.ed-cd-units { display: flex; gap: 8px; }
.ed-u { flex: 1; background: #101013; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; padding: 9px 4px; text-align: center; }
.ed-u .n { font-size: 24px; font-weight: 800; line-height: 1; color: #fff; }
.ed-u .l { font-size: 9px; letter-spacing: 1.5px; color: #9a9aa2; margin-top: 5px; }
.ed-u.crit .n { color: #f0a49d; }
.ed-timebar { height: 5px; border-radius: 99px; background: #232329; margin-top: 13px; overflow: hidden; }
.ed-timebar > i { display: block; height: 100%; background: linear-gradient(90deg, var(--gold), #e0894a); transition: width 1s linear; }

/* target stat */
.ed-stat { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 14px; }
.ed-stat-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 9px; }
.ed-stat-n { font-size: 21px; font-weight: 800; }
.ed-stat-n .of { color: var(--muted); font-size: 13px; font-weight: 500; }
.ed-stat-pct { color: var(--gold); font-weight: 800; font-size: 15px; }
.ed-stat-foot { font-size: 12.5px; color: var(--muted); margin-top: 9px; }
.ed-stat-foot b { color: var(--white); }

/* reward */
.ed-reward { display: flex; align-items: center; gap: 12px; background: linear-gradient(160deg, var(--gold-soft), var(--surface)); border: 1px solid var(--gold-line); border-radius: 14px; padding: 14px; }
.ed-r-ico { width: 42px; height: 42px; border-radius: 11px; background: linear-gradient(150deg, var(--gold), #b8922f); display: grid; place-items: center; font-size: 20px; flex: none; }
.ed-r-t { font-weight: 700; font-size: 15px; }
.ed-r-s { font-size: 12px; color: var(--muted); }

/* gallery */
.ed-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ed-g { aspect-ratio: 1; border-radius: 11px; border: 1px solid var(--border); background: var(--surface-2) center/cover no-repeat; position: relative; cursor: pointer; }
.ed-g .ed-play { position: absolute; inset: 0; margin: auto; width: 38px; height: 38px; border-radius: 50%; background: rgba(var(--gold-rgb), .92); color: #14100A; display: grid; place-items: center; font-size: 15px; padding-left: 3px; }
.ed-g .ed-g-tag { position: absolute; bottom: 6px; left: 6px; font-size: 9px; letter-spacing: 1px; color: #e8e4d8; background: rgba(8,8,10,.6); padding: 2px 6px; border-radius: 5px; text-transform: uppercase; }
.ed-g.add { display: grid; place-items: center; color: var(--muted); font-size: 24px; border-style: dashed; background: var(--surface); }
.ed-g.add:active { border-color: var(--gold); color: var(--gold); }

.ed-actions { display: flex; flex-direction: column; gap: 9px; }
.ed-actions .btn { width: 100%; }
.ed-doneb { opacity: .7; }

/* thread */
.ed-thread { display: flex; flex-direction: column; gap: 11px; }
.ed-msg { display: flex; gap: 9px; }
.ed-msg.mine { flex-direction: row-reverse; }
.ed-msg-a { width: 30px; height: 30px; border-radius: 50%; flex: none; display: grid; place-items: center; font-weight: 700; font-size: 12px; background: var(--surface-2); border: 1px solid var(--border); color: var(--gold); }
.ed-msg.mine .ed-msg-a { background: linear-gradient(150deg, var(--gold), #b8922f); color: #14100A; border: none; }
.ed-msg-b { background: var(--surface); border: 1px solid var(--border); border-radius: 4px 13px 13px 13px; padding: 8px 12px; max-width: 82%; }
.ed-msg.mine .ed-msg-b { border-radius: 13px 4px 13px 13px; background: linear-gradient(160deg, var(--gold-soft), var(--surface)); border-color: var(--gold-line); }
.ed-msg-n { font-size: 11px; font-weight: 600; color: var(--gold); margin-bottom: 2px; }
.ed-msg-x { font-size: 13.5px; line-height: 1.45; }
.ed-msg-tm { font-size: 10px; color: var(--muted-2); margin-top: 3px; }
.ed-sys { text-align: center; font-size: 12px; color: var(--gold); background: var(--gold-soft); border: 1px solid var(--gold-line); border-radius: 999px; padding: 6px 12px; align-self: center; max-width: 90%; }
.ed-empty-thread { text-align: center; color: var(--muted); font-size: 13px; padding: 22px; }

.ed-reply { display: flex; gap: 9px; align-items: center; padding: 11px 14px; padding-bottom: max(11px, env(safe-area-inset-bottom)); border-top: 1px solid var(--border); background: var(--bg); flex: none; }
.ed-reply input { flex: 1; background: var(--surface); border: 1px solid var(--border); border-radius: 999px; padding: 11px 15px; color: var(--white); font-size: 14px; outline: none; }
.ed-reply input:focus { border-color: var(--gold-line); }
.ed-send { width: 42px; height: 42px; border-radius: 50%; background: var(--gold); color: #14100A; display: grid; place-items: center; font-size: 16px; flex: none; }

/* generic bottom sheet */
.sf-sheet-bg { position: fixed; inset: 0; z-index: 4100; background: rgba(0,0,0,.6); backdrop-filter: blur(3px); display: flex; align-items: flex-end; justify-content: center; }
.sf-sheet { width: 100%; max-width: 520px; background: var(--surface); border: 1px solid var(--border); border-radius: 20px 20px 0 0; padding: 18px 16px calc(20px + env(safe-area-inset-bottom)); max-height: 88vh; overflow-y: auto; animation: edUp .26s cubic-bezier(.2,.9,.3,1); }
.sf-sheet-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.sf-sheet-h h3 { margin: 0; font-size: 21px; }
.sf-sheet-x { width: 32px; height: 32px; border-radius: 50%; background: var(--bg); border: 1px solid var(--border); color: var(--muted); font-size: 14px; }

/* ---- edition fields in tg form ---- */
.tg-ed-divider { margin: 16px 0 4px; font-size: 11px; letter-spacing: 1px; color: var(--gold); text-transform: uppercase; font-weight: 700; border-top: 1px solid var(--gold-line); padding-top: 12px; }
.tg-adv { margin-top: 10px; }
.tg-adv summary { cursor: pointer; font-size: 12.5px; color: var(--muted); padding: 6px 0; }
.tg-adv[open] summary { color: var(--gold); }

/* ============================================================
   MŮJ DENÍK — trofeje + schůzky (bez levelů)
   ============================================================ */
.denik-hero { display: flex; gap: 10px; margin-bottom: 16px; }
.dh-cell { flex: 1; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 14px 8px; text-align: center; }
.dh-n { font-size: 22px; font-weight: 800; }
.dh-n.gold { color: var(--gold); }
.dh-l { font-size: 11px; color: var(--muted); margin-top: 4px; }
.tro-row { display: flex; align-items: center; gap: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 13px; padding: 12px; margin-bottom: 9px; position: relative; overflow: hidden; }
.tro-row::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg, var(--gold), #b8922f); }
.tro-ico { width: 42px; height: 42px; border-radius: 11px; background: linear-gradient(150deg, rgba(var(--gold-rgb), .9), #a37f26); display: grid; place-items: center; font-size: 20px; flex: none; color: #14100A; }
.tro-t { font-weight: 700; font-size: 14.5px; }
.tro-s { font-size: 12px; color: var(--muted); margin-top: 2px; }
.tro-perm { margin-left: auto; font-size: 9px; letter-spacing: 1px; color: var(--green); border: 1px solid rgba(63,185,80,.4); border-radius: 6px; padding: 3px 6px; text-transform: uppercase; flex: none; }
.denik-meet { display: flex; gap: 10px; margin-top: 12px; }
.dm-cell { flex: 1; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: 12px 6px; text-align: center; }
.dm-cell b { display: block; font-size: 19px; font-weight: 800; }
.dm-cell span { font-size: 11px; color: var(--muted); }

/* Časový limit edice — víc voleb (týden…rok): zalomit řádek a zmenšit tlačítka */
#tg-dur { flex-wrap: wrap; }
#tg-dur button { padding: 8px 13px; font-size: 13px; }

/* Chat list — zlaté odznaky nepřečtených, filtrovací taby, ADD na Dashboardu */
.conv-badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--gold); color: #14100A; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex: none; }
.conv-item.unread .conv-t { color: var(--gold); }
.chat-tabs { display: flex; gap: 7px; padding: 2px 2px 12px; flex-wrap: wrap; }
.ctab { font-size: 12px; font-weight: 600; padding: 7px 13px; border-radius: 999px; border: 1px solid var(--border); color: var(--muted); background: transparent; cursor: pointer; transition: var(--ease); }
.ctab.on { background: rgba(var(--gold-rgb), .14); border-color: rgba(var(--gold-rgb), .5); color: var(--gold); }
.oh-head { position: relative; padding-right: 50px; }
.oh-add { position: absolute; top: -2px; right: 0; width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface); color: var(--gold); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.oh-add [data-lucide] { width: 20px; height: 20px; }

/* Chat list: připínání držením — potlačit výběr/callout na iOS */
.conv-item { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }

html { background: var(--surface); } /* co prosvita na okrajich, ma barvu listy, ne cernou */

/* Cíl typu Schůzky — seznam zapsaných schůzek + stavy */
.ed-mlist { display: flex; flex-direction: column; gap: 8px; margin: 4px 0 8px; }
.ed-m { display: flex; align-items: center; gap: 10px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; }
.ed-m-main { flex: 1; min-width: 0; }
.ed-m-t { font-size: 14px; font-weight: 600; }
.ed-m-s { font-size: 12px; color: var(--muted); margin-top: 2px; }
.ed-mst { font-size: 11px; font-weight: 700; padding: 4px 8px; border-radius: 999px; background: var(--surface-2); color: var(--muted); flex: none; white-space: nowrap; }
.ed-mst.wait { background: rgba(224,137,74,.15); color: #e0894a; }
.ed-mst.done { background: rgba(95,191,138,.15); color: var(--green); }
.ed-mfill { flex: none; margin-left: 6px; background: rgba(var(--gold-rgb), .14); border: 1px solid var(--gold-line); color: var(--gold); border-radius: 999px; padding: 5px 10px; font-size: 12px; font-weight: 600; cursor: pointer; }

.logo-badge { overflow: hidden; }
.logo-badge img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; display: block; }

/* ===== BAREVNÁ TÉMATA (přepis proměnných) — Onyx je default (:root) ===== */
:root[data-theme="pearl"] {
  --bg: #F4F1EA; --surface: #FFFFFF; --surface-2: #F0ECE2; --border: #E5DFD1;
  --gold: #B4882E; --gold-soft: rgba(180,136,46,0.12); --gold-line: rgba(180,136,46,0.32);
  --white: #1A1712; --muted: #8A8272; --muted-2: #B0A896; --green: #2E7D46;
  --shadow: 0 2px 12px rgba(0,0,0,0.08);
  --globe-sea-1: #2f5c86; --globe-sea-2: #1a3a5c; --globe-sea-3: #0d1f33;
}
:root[data-theme="midnight"] {
  --bg: #0C1526; --surface: #14203A; --surface-2: #1B2A48; --border: #24365A;
  --white: #EAEFF9; --muted: #8FA0BE; --muted-2: #5E6E8C;
}
:root[data-theme="emerald"] {
  --bg: #0C1A14; --surface: #123024; --surface-2: #163B2C; --border: #1E4A38;
  --white: #EAF3EE; --muted: #8FB3A0; --muted-2: #5E8570;
}

/* přepínač témat v Nastavení */
.theme-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.theme-tile { border: 1px solid var(--border); border-radius: 14px; padding: 12px; cursor: pointer; text-align: left; position: relative; background: var(--surface); transition: var(--ease); }
.theme-tile.on { border-color: var(--gold); box-shadow: 0 0 0 2px var(--gold-line); }
.theme-tile .tt-sw { display: flex; gap: 6px; margin-bottom: 8px; }
.theme-tile .tt-dot { width: 22px; height: 22px; border-radius: 6px; border: 1px solid rgba(128,128,128,.25); }
.theme-tile .tt-name { font-size: 13px; font-weight: 600; color: var(--white); }
.theme-tile .tt-sub { font-size: 11px; color: var(--muted); margin-top: 2px; }
.theme-tile .tt-check { position: absolute; top: 10px; right: 10px; color: var(--gold); opacity: 0; }
.theme-tile .tt-check [data-lucide] { width: 16px; height: 16px; }
.theme-tile.on .tt-check { opacity: 1; }

/* Odkazy v přihlašovací obrazovce (zapomenuté heslo, zpět na krok 1…) */
.note a { color: var(--gold); text-decoration: none; font-weight: 600; }
.note a:hover { text-decoration: underline; }

/* Detail bez postranního seznamu (projekt, skupina, firemní chat, DM) — na webu
   se má roztáhnout přes celou šířku, ne zůstat vměstnaný do 300px sloupce pro seznam. */
.chat-layout.no-list { grid-template-columns: 1fr; }

/* Project Tasks — sdílený checklist */
.task-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; margin-bottom: 8px; background: var(--surface); }
.task-row.done { opacity: .55; }
.task-row.done .task-txt { text-decoration: line-through; }
.task-check [data-lucide] { width: 20px; height: 20px; }
.task-mid { flex: 1; min-width: 0; }
.task-txt { font-size: 14px; font-weight: 600; color: var(--white); }
.task-meta { font-size: 11.5px; color: var(--muted); margin-top: 2px; }
.task-row .task-del { flex: none; background: none; border: none; color: var(--muted); cursor: pointer; }
.task-del [data-lucide] { width: 16px; height: 16px; }
.task-del:hover { color: #e0894a; }

/* Project gallery — mřížka fotek (jen majitel edituje, ostatní jen prohlíží) */
.proj-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 4px; }
@media (min-width: 700px) { .proj-gallery { grid-template-columns: repeat(5, 1fr); } }
.proj-g { position: relative; aspect-ratio: 1; border-radius: 12px; background: var(--surface-2); background-size: cover; background-position: center; border: 1px solid var(--border); cursor: pointer; }
.proj-g.add { display: flex; align-items: center; justify-content: center; color: var(--muted); border-style: dashed; cursor: pointer; }
.proj-g.add:hover { border-color: var(--gold-line); color: var(--gold); }
.proj-g-del { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; border-radius: 50%; background: rgba(0,0,0,.6); border: none; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.proj-g-del [data-lucide] { width: 13px; height: 13px; }

/* Popis projektu — vlastní hezčí karta místo obyčejné poznámky */
.proj-desc-card { display: flex; gap: 10px; align-items: flex-start; background: var(--gold-soft); border: 1px solid var(--gold-line); border-radius: 12px; padding: 12px 14px; margin-top: 12px; }
.proj-desc-card [data-lucide] { color: var(--gold); width: 17px; height: 17px; flex: none; margin-top: 1px; }
.proj-desc-txt { font-size: 13.5px; line-height: 1.55; color: var(--white); }

/* Tasks: krokový checklist s číslováním a přílohami (instrukce od zadavatele, důkaz od toho, kdo splnil) */
.task-add { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.task-add .inp:first-child { flex: 1 1 100%; }
@media (min-width: 640px) { .task-add .inp:first-child { flex: 1 1 auto; } }
.task-add select.inp { flex: 1 1 140px; }
.task-add-hint { font-size: 12px; color: var(--gold); margin: -2px 0 12px; min-height: 1px; }
.task-num { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--surface-2); border: 1px solid var(--border); color: var(--muted); font-size: 11px; font-weight: 700; }
.task-atts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.task-att [data-lucide] { width: 12px; height: 12px; }
.task-proof-btn { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--gold); background: none; border: 1px dashed var(--gold-line); border-radius: 8px; padding: 6px 10px; margin-top: 6px; cursor: pointer; }
.task-proof-btn [data-lucide] { width: 13px; height: 13px; }
.done-meta { color: var(--green) !important; }

/* Reports: splněné úkoly z projektů u firmy, s odkazem na přiložený dokument */
.ft-tasks { border-top: 1px dashed var(--border); margin-top: 10px; padding-top: 4px; }
.ft-task-row { padding: 6px 0; border-bottom: 1px solid var(--border); }
.ft-task-row:last-child { border-bottom: none; }
.ft-task-txt { font-size: 12.5px; color: var(--white); }
.ft-task-meta { font-size: 11px; color: var(--muted); margin-top: 2px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ft-task-doc { display: inline-flex; align-items: center; gap: 4px; color: var(--green); background: rgba(63,185,80,.1); border: 1px solid rgba(63,185,80,.3); border-radius: 999px; padding: 3px 8px; font-size: 10.5px; font-weight: 600; cursor: pointer; }
.ft-task-doc [data-lucide] { width: 11px; height: 11px; }

/* Galerie edice/cíle — tlačítko smazat na dlaždici (jen majitel) */
.ed-g-del { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; border-radius: 50%; background: rgba(0,0,0,.65); border: none; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; }
.ed-g-del [data-lucide] { width: 11px; height: 11px; }

/* Dashboard: rozdělení cílů na Firemní / Osobní růst + zvýraznění důležitých */
.tg-section-lbl { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 700; color: var(--muted); margin: 18px 0 8px; }
.tg-section-lbl:first-child { margin-top: 0; }
.team-goal-banner.is-important { border-color: var(--gold-line); box-shadow: 0 0 0 1px var(--gold-line); }
.tg-star { position: absolute; top: 10px; left: 10px; font-size: 15px; z-index: 2; filter: drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
.tg-important { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--white); margin-top: 10px; cursor: pointer; }

/* Tasks v2: kruhové checkboxy (podle referenčního designu), poznámky, víc dokumentů na úkol */
.task-check { flex: none; background: none; border: none; cursor: pointer; padding: 2px; display: flex; }
.task-circle { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--border); display: flex; align-items: center; justify-content: center; transition: var(--ease); }
.task-circle.on { background: var(--gold); border-color: var(--gold); color: #14100A; }
.task-circle.on [data-lucide] { width: 14px; height: 14px; stroke-width: 3; }
.task-notes { font-size: 12.5px; color: var(--muted); line-height: 1.5; margin-top: 4px; white-space: pre-line; }
.task-att { display: inline-flex; align-items: center; }
.task-att-open { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; padding: 5px 6px 5px 9px; border-radius: 999px 0 0 999px; border: 1px solid var(--border); border-right: none; background: var(--surface-2); color: var(--muted); cursor: pointer; }
.task-att.instr .task-att-open { color: var(--gold); border-color: var(--gold-line); background: var(--gold-soft); }
.task-att.proof .task-att-open { color: var(--green); border-color: rgba(63,185,80,.35); background: rgba(63,185,80,.1); border-radius: 999px; border-right: 1px solid rgba(63,185,80,.35); }
.task-att-open [data-lucide] { width: 12px; height: 12px; }
.task-att-x { display: flex; align-items: center; padding: 5px 8px 5px 4px; border-radius: 0 999px 999px 0; border: 1px solid var(--gold-line); border-left: none; background: var(--gold-soft); color: var(--gold); cursor: pointer; }
.task-att-x [data-lucide] { width: 11px; height: 11px; }
.task-addmore { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; color: var(--muted); background: none; border: 1px dashed var(--border); border-radius: 8px; padding: 5px 9px; margin-top: 6px; cursor: pointer; }
.task-addmore:hover { color: var(--gold); border-color: var(--gold-line); }
.task-addmore [data-lucide] { width: 12px; height: 12px; }

/* Jednoduchý vizuální přepínač (Aktivita a online stav v Nastavení) */
.switch { flex: none; width: 40px; height: 22px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--border); position: relative; transition: var(--ease); }
.switch::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--muted); transition: var(--ease); }
.switch.on { background: var(--gold-soft); border-color: var(--gold-line); }
.switch.on::after { left: 20px; background: var(--gold); }
.presence-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 5px; }
.presence-dot.online { background: var(--green); box-shadow: 0 0 6px var(--green); }

/* Historie výsledků — časová osa Leden 92%, Únor 105%... */
.rh-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.rh-row:last-child { border-bottom: none; }
.rh-period { font-size: 13.5px; font-weight: 600; color: var(--white); display: flex; align-items: center; gap: 8px; }
.rh-closed { font-size: 9.5px; letter-spacing: .5px; text-transform: uppercase; color: var(--gold); border: 1px solid var(--gold-line); background: var(--gold-soft); border-radius: 6px; padding: 2px 6px; font-weight: 700; }
.rh-val { font-size: 13.5px; font-weight: 700; color: var(--white); display: flex; align-items: center; gap: 8px; }
.rh-pct { font-size: 12px; font-weight: 700; color: var(--gold); background: var(--gold-soft); border-radius: 999px; padding: 3px 9px; }
.rh-pct.done { color: var(--green); background: rgba(63,185,80,.12); }

/* Plány od Superfly — publikování (majitel) i zobrazení (partner na dashboardu) */
.pp-form select.inp { margin-top: 0; }
.pp-row, .pp-item { padding: 12px 16px; border-bottom: 1px solid var(--border); }
.pp-item { padding: 10px 0; border-bottom: 1px solid var(--border); }
.pp-item:last-child, .pp-row:last-child { border-bottom: none; }
.pp-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.pp-type { font-size: 9.5px; letter-spacing: .5px; text-transform: uppercase; color: var(--gold); border: 1px solid var(--gold-line); background: var(--gold-soft); border-radius: 6px; padding: 2px 7px; font-weight: 700; }
.pp-title { font-size: 13.5px; font-weight: 700; color: var(--white); }
.pp-content { font-size: 12.5px; color: var(--muted); line-height: 1.5; margin-top: 3px; }
.pp-feed { display: flex; flex-direction: column; }

/* Hlasové zprávy — nahrávací lišta v composeru + přehrávací bublina v chatu */
.voice-rec-bar { display: flex; align-items: center; gap: 10px; padding: 12px 16px; padding-bottom: max(12px, env(safe-area-inset-bottom)); background: var(--bg); }
.voice-rec-bar .vr-dot { width: 10px; height: 10px; border-radius: 50%; background: #e05252; flex: none; animation: vrpulse 1.1s infinite; }
@keyframes vrpulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
.voice-rec-bar .vr-time { font-weight: 700; font-size: 14px; color: var(--white); font-variant-numeric: tabular-nums; }
.voice-rec-bar .vr-hint { flex: 1; font-size: 12.5px; color: var(--muted); }
.voice-bubble { display: flex; align-items: center; gap: 8px; padding: 10px 12px !important; }
.voice-bubble > [data-lucide] { color: var(--gold); width: 18px; height: 18px; flex: none; }
.voice-bubble audio { height: 32px; max-width: 220px; }

/* Reports: Top projekty */
.rt-project-row { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 0; border-bottom: 1px solid var(--border); background: none; border-left: none; border-right: none; border-top: none; text-align: left; cursor: pointer; }
.rt-project-row:last-child { border-bottom: none; }
.rt-project-mid { flex: 1; min-width: 0; }
.rt-project-n { font-size: 13.5px; font-weight: 700; color: var(--white); }

/* Achievementy — zobraz jen prvních 6, zbytek na rozkliknutí */
.ach-extra { display: none; }
.ach-grid.expanded .ach-extra { display: block; }

/* Banner "nová verze je připravena" */
.update-banner { position: fixed; left: 12px; right: 12px; bottom: calc(var(--tabbar-h, 0px) + 12px); z-index: 400; display: flex; align-items: center; gap: 10px; background: var(--surface); border: 1px solid var(--gold-line); border-radius: 14px; padding: 12px 14px; box-shadow: 0 8px 30px rgba(0,0,0,.45); font-size: 13px; color: var(--white); }
.update-banner span { flex: 1; }
.update-banner button { background: var(--gold); color: #14100A; border: none; border-radius: 9px; padding: 8px 14px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex: none; }
.update-banner .ub-x { background: none; color: var(--muted); padding: 6px 4px; font-weight: 400; }
@media (min-width: 620px) { .update-banner { left: auto; right: 20px; bottom: 20px; max-width: 380px; } }

/* Superfly moment — 2× měsíčně, příjemné překvapení */
.life-card { display: flex; align-items: flex-start; gap: 14px; background: linear-gradient(140deg, var(--gold-soft), transparent 75%); border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 18px; margin-bottom: 14px; position: relative; }
.life-card.preview { opacity: .72; border-style: dashed; }
.life-emoji { font-size: 30px; line-height: 1; flex: none; }
.life-body { flex: 1; min-width: 0; }
.life-title { font-size: 10.5px; letter-spacing: 1.6px; font-weight: 800; color: var(--gold); margin-bottom: 7px; }
.life-text { font-size: 15px; line-height: 1.6; color: var(--white); }
.life-sign { font-size: 12px; color: var(--muted); margin-top: 10px; font-style: italic; }
.life-edit { position: absolute; top: 12px; right: 12px; background: none; border: none; color: var(--muted); cursor: pointer; padding: 4px; }
.life-edit [data-lucide] { width: 15px; height: 15px; }
.life-edit:hover { color: var(--gold); }

/* Potažení zprávy doprava = odpověď (jako ve WhatsAppu) */
.msg[data-msgid] { touch-action: pan-y; position: relative; }
.msg.swiping { transition: none; }
.msg[data-msgid]::before {
  content: "↩";
  position: absolute; left: -34px; top: 50%; transform: translateY(-50%) scale(.7);
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--gold-soft); border: 1px solid var(--gold-line); color: var(--gold);
  display: flex; align-items: center; justify-content: center; font-size: 13px;
  opacity: 0; transition: opacity .12s ease, transform .12s ease; pointer-events: none;
}
.msg.swiping::before { opacity: 1; transform: translateY(-50%) scale(1); }

/* Štítek „kdo úkol zadal“ — ať je jasné, odkud úkol přišel */
.tag.from { color: var(--gold); border-color: var(--gold-line); background: var(--gold-soft); }

/* Úkoly na dashboardu — kompaktní karta s info kdo zadal + rozbalení */
.dash-task .dt-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; text-align: left; }
.dash-task .dt-txt { font-size: 13.5px; color: var(--white); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dash-task .dt-meta { font-size: 10.5px; color: var(--muted); }
.dash-task .dt-from { color: var(--gold); }
.dt-extra { display: none; }
#dash-tasks.show-all .dt-extra { display: block; }

/* iOS: vypnout "poklepání = přiblížit". Bez toho stránka při dvojkliku cukne nahoru.
   'manipulation' nechá běžet scrollování i gesta, jen zruší reakci na dvojité klepnutí. */
html, body { touch-action: manipulation; }
button, a, .set-row, .conv-item, .dash-task, .task-row, .pill, .pk, .proj-tab, .pseg, .seg button, .ach, .bdg, .rec {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Můj růst na stránce Schůzky — AI hodnocení dovedností z reflexí (žádné body) */
.growth-card { background: linear-gradient(150deg, var(--gold-soft), transparent 70%); border: 1px solid var(--gold-line); border-radius: var(--radius); padding: 16px 18px; margin-bottom: 14px; }
.growth-card.locked { background: var(--surface); border-color: var(--border); border-style: dashed; }
.gw-head { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--gold); margin-bottom: 12px; }
.gw-head [data-lucide] { width: 16px; height: 16px; }
.growth-card.locked .gw-head { color: var(--muted); }
.gw-n { margin-left: auto; font-size: 11px; font-weight: 500; color: var(--muted); }
.gw-row { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.gw-l { flex: 0 0 118px; font-size: 12px; color: var(--muted); }
.gw-bar { flex: 1; height: 7px; border-radius: 4px; background: var(--surface-2); overflow: hidden; }
.gw-f { display: block; height: 100%; border-radius: 4px; transition: width .5s ease; }
.gw-f.good { background: var(--green); }
.gw-f.mid { background: var(--gold); }
.gw-f.low { background: #e0894a; }
.gw-v { flex: 0 0 26px; text-align: right; font-size: 12px; font-weight: 700; color: var(--white); }
.gw-note { font-size: 12px; color: var(--muted); margin-top: 10px; line-height: 1.5; }
.gw-note.good { color: var(--green); }

/* Next move — compact, touch-friendly Czech dashboard */
.next-move{padding:22px;margin:0 0 20px;border:1px solid #b99a4b66;border-radius:20px;background:linear-gradient(135deg,#26231b,#161616);color:#faf7ef}
.next-move h2{font-size:24px;margin:8px 0}.next-move h3{font-size:18px;margin:16px 0 6px}.next-move p,.nm-method{color:#c5c0b5;font-size:13px;line-height:1.5}.next-move ol{list-style:none;padding:0;margin:12px 0}.nm-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 0;border:0;border-bottom:1px solid #ffffff18;background:none;color:inherit;cursor:pointer;min-height:64px}.nm-rank{color:#e5c66a;font-size:18px}.nm-item>span:nth-child(2){flex:1;min-width:0}.nm-item strong{display:block;font-size:15px;overflow-wrap:anywhere}.nm-item small{display:block;color:#c5c0b5;margin-top:5px;line-height:1.5}.nm-primary,.nm-results{width:100%;margin-top:8px;min-height:48px;white-space:normal}.nm-method{display:block;margin-top:14px;font-size:11px}.next-move .eyebrow{color:#e5c66a}#w-add{min-height:48px;width:100%}@media(max-width:480px){.next-move{padding:17px;border-radius:16px}.next-move h2{font-size:22px}}

/* v62 — focused dashboard and flat navigation */
.nav-group-label{display:none}.nav-item{margin:3px 0!important;min-height:48px}.next-move{background:var(--surface,#123227);border-color:#bba15d55;margin-bottom:18px}.next-move h2{font-size:26px;letter-spacing:-.5px}.next-move h3{font-size:17px}.next-move~.home .hh-greet{display:none}.next-move~.home .home-head{justify-content:flex-end}.next-move~.home .home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.next-move~.home .home-grid>.wide{grid-column:1/-1}.next-move~.home .section{margin-top:14px}.result-detail{border-bottom:1px solid #8caa9433;padding:14px 0}.result-detail summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;min-height:44px;align-items:center}.result-detail summary strong{overflow-wrap:anywhere}.result-detail summary:after{content:'＋';color:#d9ba62}.result-detail[open] summary:after{content:'−'}.result-detail p{font-size:13px;opacity:.8}#content:has(.next-move),#content:has(#w-add){max-width:1100px;width:100%;margin-inline:auto}.oh-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}.nm-item:focus-visible,.nav-item:focus-visible,summary:focus-visible{outline:2px solid #e7c666;outline-offset:3px}#w-add:disabled{opacity:.65;cursor:wait}@media(max-width:600px){.next-move~.home .home-grid{grid-template-columns:1fr}.next-move{padding:18px}.next-move h2{font-size:23px}.next-move~.home .section{padding:16px}.result-detail summary{font-size:14px}.oh-stats .stat-tile{padding:14px}}

/* v63: compact goals, one greeting, services */
.member-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.member-banners>.motto-banner,.member-banners>.tg-section-lbl{grid-column:1/-1}.member-banners>.challenge-banner{margin:0!important;padding:14px!important;border-radius:14px}.member-banners .tg-media{height:100px!important;min-height:0!important;aspect-ratio:auto!important;margin-bottom:10px}.member-banners .cb-h{font-size:16px!important;line-height:1.3}.member-banners .cb-sub{font-size:13px!important;line-height:1.4}.member-banners .rt-bottom{font-size:12px;gap:8px;flex-wrap:wrap}.member-banners .ed-badge,.member-banners .ed-cd{font-size:10px;padding:5px 8px}.member-banners .ed-foot{font-size:12px}.motto-day-label{display:block;font-size:11px;font-style:normal;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;opacity:.75}.motto-banner{padding:14px 18px!important}.service-rank{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #93aa9433}.service-rank>strong{flex:1;min-width:140px}.service-rank>span{font-size:13px;opacity:.75}.service-rank>b{margin-left:auto}#service-form{display:grid;gap:12px}#service-form label{display:grid;gap:6px;font-size:13px}#service-form .row>label{flex:1;min-width:0}.home-head .hh-greet:empty,.oh-head .hh-greet:empty{display:none}.next-move{padding:18px}.nm-method{font-size:11px}.nm-item{padding:10px 0;min-height:56px}.nm-primary,.nm-results{min-height:42px}@media(max-width:600px){.member-banners{grid-template-columns:1fr}.member-banners .tg-media{height:80px!important}.member-banners .cb-emoji{font-size:22px}.member-banners .ed-chips{position:static!important;margin-bottom:8px}.service-rank{gap:8px}.service-rank>b{font-size:14px}}
:root{--note-bg:rgba(221,183,80,.08)}
.result-note{margin:10px 0;padding:10px 12px;border-left:3px solid var(--gold);background:var(--note-bg);font-size:13px;line-height:1.45}
.w-move{border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer;padding:2px 5px}
.map-mode-label{position:absolute;right:14px;top:12px;z-index:4;padding:7px 10px;border-radius:999px;background:rgba(8,18,22,.62);border:1px solid rgba(var(--gold-rgb), .35);font-size:11px;color:var(--gold);backdrop-filter:blur(8px)}.globe-wrap.map-day{background:radial-gradient(circle at 50% 35%,#1c3b4f,#10261f 68%,#08150f)}.globe-wrap.map-night{background:radial-gradient(circle at 30% 25%,#263552,#0a1221 62%,#050812)}.globe-wrap.map-night:after{content:'✦  ·  ⋆   ·  ✦     ⋆  ·   ✦';position:absolute;inset:10% 8%;color:rgba(255,255,255,.32);font-size:18px;letter-spacing:18px;pointer-events:none}.globe-wrap{position:relative;overflow:hidden}.home-grid .widget{min-height:0}.home-grid{align-items:start}.home-hidden{display:flex;flex-wrap:wrap;gap:8px}.hidden-chip{border-radius:999px!important;padding:9px 13px!important}.wtools .w-move{display:inline-flex}.home-grid.editing .widget{animation:none}.map-only-form{display:grid;gap:8px;margin-top:10px}.map-only-form .btn{justify-self:start}.map-only-list{display:grid;gap:7px;margin-top:12px}.map-only-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid rgba(212,175,55,.22);border-radius:10px;background:rgba(8,29,24,.42)}.map-only-row span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.map-only-badge{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:5px;background:rgba(212,175,55,.18);color:var(--gold);font-size:9px;letter-spacing:.08em;vertical-align:middle}
.add-friend-top{width:calc(100% - 22px);margin:12px 11px 8px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:1px solid rgba(var(--gold-rgb), .48);border-radius:12px;background:linear-gradient(135deg,rgba(var(--gold-rgb), .22),rgba(var(--gold-rgb), .08));color:var(--gold);font-weight:700;cursor:pointer}.add-friend-top:hover{background:rgba(var(--gold-rgb), .3)}.add-friend-top svg{width:18px;height:18px}.home-date-row{display:flex;align-items:baseline;gap:9px;margin:0 0 10px;padding:0 3px;color:var(--muted);font-size:13px}.home-date-row strong{color:var(--white);font-size:16px;font-weight:700}.home-date-label{text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--gold)}
.g-exp .ge-ring{fill:none;stroke-width:2.5;stroke-opacity:.95}.g-exp .ge-dot{stroke:#fff;stroke-width:1}.g-exp .ge-lbl{font-size:13px}.g-exp.red .ge-ring{stroke:#e6bf55}.g-exp.red .ge-dot{fill:#d8ad38}.g-exp.purple .ge-ring{stroke:#79c99b}.g-exp.purple .ge-dot{fill:#58ad7d}.globe-wrap.map-day{background:linear-gradient(145deg,#193f53 0%,#0f2e2a 52%,#102019 100%)!important}.globe-wrap.map-night{background:linear-gradient(145deg,#172b55 0%,#111a35 52%,#070c1a 100%)!important}.globe-wrap.map-day #g-sea{filter:brightness(1.18) saturate(1.15)}.globe-wrap.map-night #g-sea{filter:brightness(.72) saturate(1.35)}
@media(max-width:700px){.sidebar .add-friend-top{display:none}}@media(min-width:701px){.mobile-topbar [data-add-friend]{display:none}}
/* Reporty: měny zůstávají oddělené a čitelné bez přepínání filtru. */
.currency-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.currency-summary>div{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:1px solid rgba(238,190,63,.22);border-radius:12px;background:rgba(8,35,27,.35)}
.currency-summary b{font-size:12px;color:var(--muted,#9ab8a9);text-transform:uppercase;letter-spacing:.08em}
.currency-summary span{font-weight:700;color:var(--cream,#f5f2e9);line-height:1.35}
@media(max-width:700px){.currency-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.currency-summary>div{padding:10px;font-size:13px}}

/* Pearl: světlý motiv musí zůstat čitelný i na panelech s bílým pozadím.
   Kritické barvy jsou zde záměrně explicitní, aby je nepřebily starší inline styly. */
:root[data-theme="pearl"] body,
:root[data-theme="pearl"] #app { background: var(--bg); color: var(--white); }
:root[data-theme="pearl"] .main,
:root[data-theme="pearl"] .content { background: var(--bg); }
:root[data-theme="pearl"] .topbar,
:root[data-theme="pearl"] .sidebar,
:root[data-theme="pearl"] .section,
:root[data-theme="pearl"] .card,
:root[data-theme="pearl"] .home-grid .widget,
:root[data-theme="pearl"] .ai-card,
:root[data-theme="pearl"] .trainer-card,
:root[data-theme="pearl"] .growth-card,
:root[data-theme="pearl"] .next-move { color: var(--white); }
:root[data-theme="pearl"] .next-move { background: linear-gradient(145deg,#fffdf8,#f4efe3); border-color: #c7a34e; }
:root[data-theme="pearl"] .next-move p,
:root[data-theme="pearl"] .next-move .nm-method,
:root[data-theme="pearl"] .next-move .nm-item small { color: #655e52; }
:root[data-theme="pearl"] .next-move .nm-item { border-bottom-color: #d9d1c2; }
:root[data-theme="pearl"] .ai-card,
:root[data-theme="pearl"] .trainer-card,
:root[data-theme="pearl"] .growth-card { background: linear-gradient(145deg,#fffdf8,#f4efe3); }
:root[data-theme="pearl"] .topbar .page-title,
:root[data-theme="pearl"] .section-head h3,
:root[data-theme="pearl"] .hh-greet,
:root[data-theme="pearl"] .dg-lbl,
:root[data-theme="pearl"] .dash-big,
:root[data-theme="pearl"] .ai-head,
:root[data-theme="pearl"] .tc-head,
:root[data-theme="pearl"] .nm-item strong,
:root[data-theme="pearl"] .home-grid .widget { color: #1a1712; }
:root[data-theme="pearl"] .muted,
:root[data-theme="pearl"] .dash-mini,
:root[data-theme="pearl"] .dash-sub,
:root[data-theme="pearl"] .ai-text,
:root[data-theme="pearl"] .tc-sum,
:root[data-theme="pearl"] .home-grid .wt,
:root[data-theme="pearl"] .home-grid .dash-mini { color: #655e52; }
:root[data-theme="pearl"] .inp,
:root[data-theme="pearl"] .topbar .search input,
:root[data-theme="pearl"] .dash-qb,
:root[data-theme="pearl"] .pk,
:root[data-theme="pearl"] .chat-search { color: #1a1712; background: #fffdf8; }
:root[data-theme="pearl"] .inp::placeholder,
:root[data-theme="pearl"] .topbar .search input::placeholder,
:root[data-theme="pearl"] .chat-search input::placeholder { color: #8a8272; opacity: 1; }
:root[data-theme="pearl"] .nav-item { color: #756d60; }
:root[data-theme="pearl"] .nav-item:hover { color: #1a1712; }
:root[data-theme="pearl"] .nav-item.active { color: #9a6f16; }
:root[data-theme="pearl"] .currency-summary>div { background: #fffdf8; border-color: #dfd5c3; }
:root[data-theme="pearl"] .currency-summary span,
:root[data-theme="pearl"] .report-history-grid,
:root[data-theme="pearl"] .report-history-grid * { color: #1a1712; }
:root[data-theme="pearl"] .report-history-grid .dash-mini,
:root[data-theme="pearl"] .report-history-grid .rh-period { color: #655e52; }

/* Startovací animace Superfly — zobrazí se místo bílé plochy při otevření appky. */
#superfly-splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;overflow:hidden;background:#050807;color:#f5f0e6;isolation:isolate;opacity:1;transition:opacity .72s ease,visibility .72s ease}
#superfly-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
#superfly-splash:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 43%,rgba(225,177,45,.13),transparent 25%),radial-gradient(circle at 50% 85%,rgba(31,117,80,.2),transparent 44%)}
.splash-glow{position:absolute;border-radius:50%;filter:blur(24px);opacity:.5;pointer-events:none}
.splash-glow-a{width:180px;height:180px;background:#d8a92f;animation:splashGlow 3.8s ease-in-out infinite}
.splash-glow-b{width:360px;height:160px;background:#174a36;transform:translateY(230px);filter:blur(55px);animation:splashGlowB 4.5s ease-in-out infinite}
.splash-orbit{position:absolute;width:min(66vw,330px);aspect-ratio:1;border:1px solid rgba(235,190,64,.2);border-radius:50%;transform:rotate(-21deg);animation:splashOrbit 8s linear infinite}
.splash-orbit:before,.splash-orbit:after{content:"";position:absolute;inset:12%;border:1px solid rgba(235,190,64,.1);border-radius:50%;transform:rotate(56deg)}
.splash-orbit span{position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:#f4c94c;box-shadow:0 0 20px 7px rgba(244,201,76,.75);transform:translateX(-50%)}
.splash-brand{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;animation:splashBrandIn 1s cubic-bezier(.22,.8,.25,1) both}
.splash-mark{width:clamp(112px,34vw,174px);height:clamp(112px,34vw,174px);border-radius:34%;overflow:hidden;box-shadow:0 0 0 1px rgba(240,195,68,.35),0 0 50px rgba(215,166,39,.25);animation:splashFloat 3.2s ease-in-out .9s infinite}
.splash-mark img{width:100%;height:100%;display:block;object-fit:cover}
.splash-mark img{mix-blend-mode:screen}
.splash-word{font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,8vw,44px);letter-spacing:.18em;margin-left:.18em;color:#f1c84b;text-shadow:0 0 22px rgba(241,200,75,.24);animation:splashWordIn 1.1s ease .25s both}
.splash-line{width:90px;height:1px;background:rgba(242,200,78,.28);overflow:hidden}
.splash-line i{display:block;width:38%;height:100%;background:#f5c94b;box-shadow:0 0 10px #f5c94b;animation:splashSweep 1.5s ease-in-out infinite}
.splash-caption{font-size:10px;letter-spacing:.36em;color:#9fbcae;margin-left:.36em;animation:splashCaptionIn 1s ease .55s both}
.splash-loading{position:absolute;bottom:max(34px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:10px;color:#7d9d8e;font-size:11px;letter-spacing:.12em;text-transform:uppercase;animation:splashCaptionIn 1s ease .8s both}
.splash-loading b{display:block;width:100px;height:2px;background:rgba(241,200,75,.18);overflow:hidden;border-radius:2px}
.splash-loading b:after{content:"";display:block;width:42%;height:100%;background:#e9ba3f;box-shadow:0 0 9px #e9ba3f;animation:splashLoad 1.25s ease-in-out infinite}
@keyframes splashBrandIn{from{opacity:0;transform:translateY(15px) scale(.94)}to{opacity:1;transform:none}}
@keyframes splashWordIn{from{opacity:0;letter-spacing:.42em;transform:translateY(8px)}to{opacity:1;letter-spacing:.18em;transform:none}}
@keyframes splashCaptionIn{from{opacity:0}to{opacity:1}}
@keyframes splashFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes splashOrbit{to{transform:rotate(339deg)}}
@keyframes splashGlow{0%,100%{opacity:.28;transform:scale(.86)}50%{opacity:.62;transform:scale(1.12)}}
@keyframes splashGlowB{0%,100%{opacity:.22;transform:translateY(230px) scale(.9)}50%{opacity:.48;transform:translateY(210px) scale(1.08)}}
@keyframes splashSweep{0%{transform:translateX(-100%)}100%{transform:translateX(270%)}}
@keyframes splashLoad{0%{transform:translateX(-120%)}100%{transform:translateX(260%)}}
@media(prefers-reduced-motion:reduce){#superfly-splash *{animation:none!important}.splash-brand{opacity:1}}
.report-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.report-history-grid>div{padding:13px;border:1px solid rgba(238,190,63,.18);border-radius:12px;background:rgba(8,35,27,.28)}
.report-history-grid>div:last-child{grid-column:1/-1}
.report-history-grid h4{margin:0 0 8px;color:#efc344;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.report-period-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(157,196,175,.13);padding:8px 0;font-size:13px}
.report-period-row:first-of-type{border-top:0;padding-top:0}.report-period-row span{display:flex;flex-direction:column;gap:2px}.report-period-row small{color:var(--muted,#9ab8a9);font-size:11px}.report-period-row strong{color:#f5f0e6;text-align:right}
@media(max-width:700px){.report-history-grid{grid-template-columns:1fr 1fr;gap:8px}.report-history-grid>div:last-child{grid-column:1/-1}.report-period-row{font-size:12px;gap:6px}}
.goal-photo{height:150px;margin:12px 0 4px;border-radius:14px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(238,190,63,.2);cursor:pointer}

/* ============ OFFSHORE INTEL ============ */
.oi-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.oi-searchbox { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.oi-searchbox input { flex: 1; min-width: 0; }
.oi-headline { margin: 6px 0 8px; font-size: 18px; line-height: 1.35; color: var(--gold); }
.oi-summary { color: var(--white); opacity: .9; line-height: 1.6; }
.oi-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.oi-row { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: start; }
.oi-rank { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: var(--gold); background: var(--gold-soft); border: 1px solid var(--gold-line); margin-top: 12px; }
.oi-item { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 10px; min-width: 0; }
.oi-row .oi-item { margin-bottom: 0; }
.oi-item-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 6px; }
.oi-jur { font-weight: 700; font-size: 12.5px; color: var(--gold); background: var(--gold-soft); border-radius: 999px; padding: 3px 10px; }
.oi-cat { font-size: 11.5px; color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: 2px 9px; }
.oi-item-top .rt-pill { margin-left: auto; }
.rt-pill.none { color: var(--muted); background: rgba(138,138,148,.12); }
.oi-title { font-weight: 700; font-size: 15px; line-height: 1.4; }
.oi-date { font-size: 12px; color: var(--muted); margin-top: 2px; }
.oi-what { margin-top: 8px; line-height: 1.55; overflow-wrap: anywhere; }
.oi-impact { margin-top: 8px; padding: 8px 10px; border-left: 3px solid var(--gold); background: var(--surface-2); border-radius: 0 8px 8px 0; line-height: 1.5; overflow-wrap: anywhere; }
.oi-srcs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.oi-src { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--muted); text-decoration: none; border: 1px solid var(--border); border-radius: 8px; padding: 4px 8px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oi-src:hover { color: var(--gold); border-color: var(--gold-line); }
.oi-src svg { width: 12px; height: 12px; flex: none; }
.oi-ul { margin: 0; padding-left: 18px; line-height: 1.6; }
.oi-status { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 12px 0; }
.oi-status > div { background: var(--surface-2); border: 1px solid var(--border); border-radius: 10px; padding: 8px 10px; }
.oi-status span { display: block; font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.oi-arch { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; text-align: left; background: transparent; color: var(--white); border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.oi-arch.on { border-color: var(--gold-line); background: var(--gold-soft); }
.oi-arch-w { font-size: 12px; color: var(--gold); font-weight: 700; }
.oi-arch-h { font-size: 13px; opacity: .85; }
.oi-check { display: flex; align-items: center; gap: 10px; padding: 10px 4px; border-bottom: 1px solid var(--border); cursor: pointer; }
.oi-check input { width: 18px; height: 18px; accent-color: var(--gold); flex: none; }
@media (max-width: 520px) {
  .oi-row { grid-template-columns: minmax(0, 1fr); }
  .oi-rank { display: none; }
  .oi-actions { justify-content: flex-start; margin-top: 8px; }
  .oi-head { flex-direction: column; align-items: flex-start; gap: 4px; }
}

/* ============ API A NAPOJENÍ ============ */
.api-steps { margin: 0; padding-left: 20px; line-height: 1.65; }
.api-steps li { margin-bottom: 8px; }
.api-steps a { color: var(--gold); }
.api-steps code, .section code { background: var(--surface-2); border: 1px solid var(--border); border-radius: 6px; padding: 1px 6px; font-size: 12.5px; }
.api-row { display: flex; gap: 8px; margin: 10px 0; }
.api-row input, .api-grid input { flex: 1; min-width: 0; background: var(--surface-2); color: var(--white); border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.api-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 6px 0 10px; }
.api-grid label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); }
.api-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.api-test { margin-top: 10px; font-size: 13px; padding: 8px 10px; border-radius: 10px; background: var(--surface-2); overflow-wrap: anywhere; }
.api-test.ok { border-left: 3px solid var(--green); } .api-test.bad { border-left: 3px solid #E5807A; }
.api-ts { color: var(--muted); font-size: 11px; margin-left: 6px; }
.api-table { display: flex; flex-direction: column; gap: 2px; overflow-x: auto; }
.api-tr { display: grid; grid-template-columns: 1.2fr repeat(5, 1fr); gap: 8px; padding: 8px 10px; border-radius: 8px; background: var(--surface-2); font-size: 13px; min-width: 460px; }
.api-th { background: transparent; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }

/* ============ SÍŤ KONTAKTŮ ============ */
.net-stats { margin-top: 12px; }
.net-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; }
.net-filters .chat-search { flex: 1 1 260px; margin: 0; }
.net-filters select { background: var(--surface-2); color: var(--white); border: 1px solid var(--border); border-radius: 10px; padding: 9px 10px; font-size: 13px; max-width: 100%; }
.net-toggle { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); cursor: pointer; }
.net-toggle input { accent-color: var(--gold); }
.net-wrap { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 16px; }
.net-stage { position: relative; height: min(68vh, 680px); min-height: 380px; border-radius: var(--radius); border: 1px solid var(--border); overflow: hidden;
  background: radial-gradient(ellipse at 50% 45%, rgba(var(--gold-rgb), .07), transparent 60%), radial-gradient(circle at 50% 50%, #17171d 0%, #0c0c10 100%); touch-action: none; }
.net-stage svg { width: 100%; height: 100%; display: block; cursor: grab; user-select: none; -webkit-user-select: none; }
.net-stage svg:active { cursor: grabbing; }
.net-e { stroke: rgba(var(--gold-rgb), .28); stroke-linecap: round; transition: opacity .2s, stroke .2s; }
.net-e.rec { stroke: rgba(63,185,80,.5); }
.net-e.inf { stroke: rgba(180,180,200,.28); stroke-dasharray: 3 5; }
.net-e.on { stroke: rgba(var(--gold-rgb), .85); }
.net-e.path { stroke: #F5D27A; stroke-width: 3.2 !important; stroke-dasharray: none; filter: drop-shadow(0 0 4px rgba(var(--gold-rgb), .8)); }
.net-e.dim { opacity: .08; }
.net-n { cursor: pointer; transition: opacity .2s; }
.net-n .net-c { stroke: rgba(0,0,0,.45); stroke-width: 1.5; filter: drop-shadow(0 3px 8px rgba(0,0,0,.55)); }
.net-n .net-glow { opacity: .16; }
.net-n.team .net-c { stroke: #FFE9A8; stroke-width: 2; }
.net-n.root .net-glow { opacity: .35; animation: netPulse 2.6s ease-in-out infinite; }
@keyframes netPulse { 0%,100% { opacity: .22; } 50% { opacity: .45; } }
.net-n:hover .net-glow, .net-n.hl .net-glow { opacity: .45; }
.net-n.sel .net-c { stroke: #fff; stroke-width: 3; }
.net-n.sel .net-glow { opacity: .6; }
.net-n.dim { opacity: .14; }
.net-ini { fill: rgba(10,10,14,.85); font-weight: 800; text-anchor: middle; pointer-events: none; }
.net-n.team .net-ini { fill: #3a2a05; }
.net-lbl { fill: #E8E8EE; font-size: 11px; font-weight: 600; text-anchor: middle; pointer-events: none; paint-order: stroke; stroke: #0c0c10; stroke-width: 3px; }
svg.zoomed-out .net-n:not(.team):not(.sel):not(.hl) .net-lbl { display: none; }
.net-zoom { position: absolute; right: 10px; top: 10px; display: flex; flex-direction: column; gap: 6px; }
.net-zoom .icon-btn { background: rgba(24,24,29,.9); border: 1px solid var(--border); width: 34px; height: 34px; font-size: 18px; color: var(--white); }
.net-legend { position: absolute; left: 10px; bottom: 10px; right: 56px; display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 11.5px; color: var(--muted); pointer-events: none; }
.net-legend span { display: inline-flex; align-items: center; gap: 5px; background: rgba(12,12,16,.75); padding: 2px 8px; border-radius: 999px; }
.net-legend i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.net-legend .net-lg-note { background: transparent; padding: 0; opacity: .8; }
.net-panel { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; }
.net-pempty, .net-p-empty { color: var(--muted); font-size: 13px; line-height: 1.5; }
@media (min-width: 1000px) {
  .net-wrap { grid-template-columns: minmax(0, 1fr) 340px; }
  .net-panel:not(.net-panel-static) { max-height: min(68vh, 680px); overflow-y: auto; }
}
.net-p-head { display: flex; align-items: center; gap: 10px; }
.net-p-bub { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #111; flex: none; box-shadow: 0 0 0 3px rgba(255,255,255,.08); }
.net-p-t { flex: 1; min-width: 0; }
.net-p-n { font-weight: 800; font-size: 16px; }
.net-p-s { color: var(--muted); font-size: 12.5px; }
.net-p-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.net-tag { font-size: 11.5px; border: 1px solid var(--border); border-radius: 999px; padding: 2px 9px; color: var(--white); }
.net-p-own { margin-top: 8px; font-size: 13px; color: var(--muted); }
.net-p-notes { margin-top: 8px; font-size: 13px; line-height: 1.5; background: var(--surface-2); border-radius: 10px; padding: 8px 10px; white-space: pre-wrap; overflow-wrap: anywhere; }
.net-p-sec { margin: 14px 0 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--gold); font-weight: 700; }
.net-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.net-chip { background: var(--surface-2); color: var(--white); border: 1px solid var(--border); border-radius: 999px; padding: 4px 10px; font-size: 12.5px; }
.net-chip small { color: var(--gold); font-size: 8px; letter-spacing: 1px; margin-left: 2px; }
.net-chip.inf { border-style: dashed; color: var(--muted); }
.net-chip:hover { border-color: var(--gold-line); color: var(--gold); }
.net-p-btns { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.btn.danger { color: #E5807A; }
.net-path, .net-match, .net-opp { background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; }
.net-path-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.net-arrow { color: var(--gold); font-weight: 800; }
.net-conf { margin-left: auto; font-weight: 800; color: var(--gold); font-size: 13px; }
.net-path-how { font-size: 12.5px; color: var(--muted); margin-top: 6px; line-height: 1.5; }
.net-msg { margin-top: 8px; font-size: 13px; line-height: 1.5; border-left: 3px solid var(--gold); padding: 6px 10px; background: var(--surface); border-radius: 0 8px 8px 0; }
.net-msg .btn { margin-top: 6px; display: block; }
.net-opp-t { font-weight: 700; margin-bottom: 6px; }
.net-next { margin-top: 6px; font-size: 13px; }
.net-ai-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.net-goal { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.net-goal input { flex: 1; min-width: 0; }
.net-score { display: flex; align-items: center; gap: 10px; margin: 8px 0; }
.net-score-bar { flex: 1; height: 8px; border-radius: 999px; background: var(--surface-2); overflow: hidden; }
.net-score-bar span { display: block; height: 100%; background: linear-gradient(90deg, #9C7422, var(--gold), #FFE9A8); }
.net-li { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: transparent; color: var(--white); border: none; border-bottom: 1px solid var(--border); padding: 10px 4px; }
.net-dot { width: 12px; height: 12px; border-radius: 50%; flex: none; }
.net-li-m { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.net-li-m small { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.net-li-n { color: var(--gold); font-size: 12px; flex: none; }
.net-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.net-f { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); min-width: 0; }
.net-f.full { grid-column: 1 / -1; }
.net-f input:not([type=range]), .net-f select, .net-f textarea { background: var(--surface-2); color: var(--white); border: 1px solid var(--border); border-radius: 10px; padding: 9px 10px; font-size: 14px; font-family: inherit; width: 100%; box-sizing: border-box; }
.net-f input[type=range] { accent-color: var(--gold); }
.net-via { background: var(--gold-soft); border: 1px solid var(--gold-line); border-radius: 12px; padding: 10px; }
.net-via2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 6px; }
@media (max-width: 560px) {
  .net-form { grid-template-columns: 1fr; }
  .net-stage { height: 58vh; min-height: 340px; }
  .net-legend .net-lg-note { display: none; }
  .net-stats { grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 4px; }
  .net-stats .stat-tile { padding: 8px 6px; text-align: center; }
  .net-stats .stat-tile .top { font-size: 10px; justify-content: center; line-height: 1.2; }
  .net-stats .stat-tile .top [data-lucide] { display: none; }
  .net-stats .stat-tile .num { font-size: 17px; margin: 4px 0 0; }
  .net-stats .stat-tile .sub { display: none; }
  .net-filters select { flex: 1 1 45%; }
}
.oi-overlay .sheet-panel { max-width: 640px; max-height: 88vh; }


/* ================================================================
   PRIVATE NOIR (v113) — luxusní vrstva nad původním designem.
   Barvy, písmo a velikost řídí proměnné, které nastavuje Nastavení → Vzhled.
   ================================================================ */
:root[data-theme="pearl"] { --line: rgba(138,106,52,0.22); }
body { background: radial-gradient(900px 520px at 88% -8%, var(--gold-soft), transparent 60%), var(--bg); }
button, input, textarea, select { font-family: inherit; }
.content { zoom: var(--ui-scale, 1); }
.content.no-zoom { zoom: 1; }

/* nadpisy a čísla = serif (privátní banka) */
.topbar .page-title { font-family: var(--font-display); font-weight: 500; font-size: 24px; letter-spacing: 0; }
.section-head h3, .oi-headline, .net-p-n, .ph-name, .rt-n, .empty .et, .sheet-head { font-family: var(--font-display); font-weight: 500; letter-spacing: 0; }
.section-head h3 { font-size: 22px; }
.oi-headline { font-size: 24px; }
.stat-tile .num { font-family: var(--font-display); font-weight: 500; font-size: 36px; letter-spacing: 0; line-height: 1.05; }
:root[data-font="modern"] .stat-tile .num, :root[data-font="original"] .stat-tile .num { font-weight: 700; font-size: 30px; }
:root[data-font="modern"] .section-head h3, :root[data-font="original"] .section-head h3 { font-weight: 700; font-size: 17px; }
:root[data-font="modern"] .topbar .page-title, :root[data-font="original"] .topbar .page-title { font-weight: 700; font-size: 18px; }
.stat-tile .top { text-transform: uppercase; letter-spacing: 0.2em; font-size: 10px; font-weight: 600; }
.eyebrow, .set-label { letter-spacing: 0.28em; }
.set-label { text-transform: uppercase; font-size: 10.5px; color: var(--gold); }

/* karty: jemná zlatá linka, víc vzduchu */
.section { background: linear-gradient(180deg, rgba(255,255,255,0.022), rgba(255,255,255,0) 40%), var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 22px; }
.stat-tile { background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0)), var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 18px 20px; }
.stat-tile:hover { border-color: var(--gold-line); transform: none; }
.set-card, .rt-card, .oi-item, .net-panel { border-color: var(--line) !important; }
:root[data-theme="pearl"] .section, :root[data-theme="pearl"] .stat-tile { background: var(--surface); }

/* tlačítka: hlavní = zlatý přechod, vedlejší = zlatá linka */
.btn { background: linear-gradient(135deg, var(--gold-hi), var(--gold) 45%, var(--gold-lo)); color: #1A1408; border-radius: 999px; padding: 12px 20px; letter-spacing: 0.02em; box-shadow: 0 6px 18px -8px var(--gold-line); }
.btn.small { padding: 8px 14px; }
.btn.ghost { background: transparent; color: var(--gold); border: 1px solid var(--gold-line); box-shadow: none; }
.btn.ghost:hover { background: var(--gold-soft); border-color: var(--gold); }
.btn.danger { color: #D9918A; border-color: rgba(217,145,138,0.35); }
:root[data-theme="pearl"] .btn { color: #FFFFFF; }
:root[data-theme="pearl"] .btn.ghost { color: var(--gold); }

/* navigace */
.sidebar { background: color-mix(in srgb, var(--surface) 88%, transparent); border-right: 1px solid var(--line); }
.side-brand .name { font-weight: 600; font-size: 13px; letter-spacing: 0.42em; }
.nav-item { border-radius: 12px; letter-spacing: 0.01em; }
.nav-item.active { background: var(--gold-soft); color: var(--gold); }
.topbar { border-bottom: 1px solid var(--line); }
.topbar .search input, .chat-search, .net-filters select, .cl-sel { border-color: var(--line) !important; }
.topbar .search input { border-radius: 999px; }
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--gold-line) !important; }
@media (max-width: 820px) {
  .mobile-tabbar { background: color-mix(in srgb, var(--surface) 92%, transparent); border-top: 1px solid var(--line); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
  .mobile-tabbar button { letter-spacing: 0.04em; }
  .topbar .page-title { font-size: 21px; }
  .section { padding: 18px; border-radius: 18px; }
  .stat-tile .num { font-size: 28px; }
}

/* štítky a pilulky */
.rt-pill, .oi-jur, .net-tag, .oi-cat { letter-spacing: 0.08em; }
.oi-jur { background: transparent; border: 1px solid var(--gold-line); }
.oi-impact, .net-msg { border-left-color: var(--gold); }

/* bublinková síť — skleněné koule, soustředné kruhy */
.net-stage { background: repeating-radial-gradient(circle at 50% 50%, transparent 0 139px, rgba(201,169,110,0.05) 139px 140px), radial-gradient(ellipse at 50% 45%, var(--gold-soft), transparent 62%), radial-gradient(circle at 50% 50%, #151517 0%, #0A0A0B 100%); border-color: var(--line); }
.net-n .net-c { stroke-opacity: 1; filter: drop-shadow(0 4px 10px rgba(0,0,0,0.6)); }
.net-n.team .net-c { stroke: var(--gold-hi); stroke-width: 1.2; }
.net-ini { font-family: var(--font-display); font-weight: 500; }
.net-n.team .net-ini { fill: #2A1E08; }
.net-e { stroke: var(--gold-line); }
.net-e.on, .net-e.path { stroke: var(--gold-hi); }

/* Nastavení → Vzhled */
.ap-swatches { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.ap-sw { display: flex; flex-direction: column; align-items: center; gap: 6px; background: none; border: none; color: var(--muted); padding: 4px; }
.ap-sw span { width: 44px; height: 44px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.18); }
.ap-sw small { font-size: 11px; text-align: center; }
.ap-sw.on span { box-shadow: 0 0 0 2px var(--bg), 0 0 0 3.5px var(--gold); }
.ap-sw.on small { color: var(--white); }
.ap-fonts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ap-font { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); color: var(--white); text-align: left; }
.ap-font.on { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold-line); }
.ap-font-s { font-size: 26px; line-height: 1.1; }
.ap-font-n { font-size: 13px; font-weight: 600; }
.ap-font-d { font-size: 11px; color: var(--muted); }
.ap-seg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 4px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); }
.ap-seg-b { height: 40px; border-radius: 999px; border: none; background: transparent; color: var(--muted); }
.ap-seg-b.on { background: var(--gold-soft); color: var(--gold); font-weight: 600; }
.ap-owner { margin-top: 14px; }

.serif, .mb-txt, .hh-greet .serif { font-family: var(--font-display); }

.auth-lang { position: absolute; top: 14px; right: 14px; display: flex; gap: 2px; padding: 3px; border-radius: 999px; border: 1px solid var(--line); z-index: 2; }
.auth-lang button { border: none; background: transparent; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; padding: 5px 10px; border-radius: 999px; }
.auth-lang button.on { background: var(--gold-soft); color: var(--gold); }
@media (max-width: 560px) {
  .net-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .net-stats .stat-tile { text-align: left; padding: 10px 12px; }
  .net-stats .stat-tile .top { letter-spacing: 0.1em; justify-content: flex-start; font-size: 9.5px; }
  .net-stats .stat-tile .num { font-size: 22px; }
}

/* v113.1 — levé menu na PC jde scrollovat, když se položky nevejdou (Nastavení bylo schované dole) */
.sidebar { height: 100%; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--gold-line) transparent; }
.sidebar > * { flex-shrink: 0; }
.sidebar .side-spacer { flex: 1 0 12px; }
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-thumb { background: var(--gold-line); border-radius: 3px; }
@media (max-height: 900px) and (min-width: 821px) {
  .sidebar .nav-item { padding-top: 8px; padding-bottom: 8px; }
}

/* v115 — galerie projektu: náhledy se vejdou do čtverečku (dřív velká fotka rozbila celý Overview) */
.proj-gallery { width: 100%; min-width: 0; }
.proj-g { overflow: hidden; min-width: 0; }
.proj-g img, .proj-g video, .proj-g .proj-g-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; pointer-events: none; }
.proj-g-del { z-index: 2; }
.proj-g-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1; width: 38px; height: 38px; border-radius: 50%; background: rgba(0,0,0,.55); border: 1px solid rgba(255,255,255,.35); display: flex; align-items: center; justify-content: center; color: #fff; pointer-events: none; }
.proj-g-play [data-lucide] { width: 18px; height: 18px; margin-left: 2px; }
.proj-g.add { flex-direction: column; gap: 4px; }
.proj-g-addt { font-size: 10.5px; }
.proj-g.media-error::after { content: "!"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--muted); }

/* galerie přes celou obrazovku se swipem */
.mg-overlay { position: fixed; inset: 0; z-index: 5000; background: #050506; opacity: 1; display: flex; flex-direction: column; }
.mg-top { display: flex; align-items: center; justify-content: space-between; padding: max(12px, env(safe-area-inset-top)) 14px 8px; color: var(--white); }
.mg-count { font-size: 13px; letter-spacing: .12em; color: var(--gold); font-weight: 600; }
.mg-actions { display: flex; gap: 8px; }
.mg-btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; display: flex; align-items: center; justify-content: center; }
.mg-track { flex: 1; display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.mg-track::-webkit-scrollbar { display: none; }
.mg-slide { flex: 0 0 100%; width: 100%; height: 100%; scroll-snap-align: center; scroll-snap-stop: always; display: flex; align-items: center; justify-content: center; padding: 8px; box-sizing: border-box; }
.mg-slide img, .mg-slide video { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 10px; background: #000; }
.mg-load { color: var(--muted); font-size: 14px; }
.mg-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: rgba(0,0,0,.45); color: #fff; display: flex; align-items: center; justify-content: center; }
.mg-nav.prev { left: 14px; } .mg-nav.next { right: 14px; }
@media (max-width: 700px) { .mg-nav { display: none; } }
.mg-dots { display: flex; justify-content: center; gap: 6px; padding: 10px 0 max(16px, env(safe-area-inset-bottom)); }
.mg-dots span { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.25); cursor: pointer; }
.mg-dots span.on { background: var(--gold); width: 18px; border-radius: 4px; }

/* v116 — „AI pracuje" animace */
.ai-loader { display: flex; align-items: center; gap: 18px; margin: 14px 0 4px; padding: 16px 18px; border-radius: 16px; border: 1px solid var(--gold-line); background: linear-gradient(135deg, var(--gold-soft), transparent 70%); }
.ai-orb { position: relative; width: 54px; height: 54px; flex: none; }
.ai-ring { position: absolute; inset: 0; border-radius: 50%; border: 2px solid transparent; border-top-color: var(--gold); border-right-color: var(--gold-line); animation: aiSpin 1.1s linear infinite; }
.ai-ring.r2 { inset: 8px; border-top-color: var(--gold-hi); border-right-color: transparent; border-left-color: var(--gold-line); animation-duration: 1.7s; animation-direction: reverse; }
.ai-core { position: absolute; inset: 20px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, var(--gold-hi), var(--gold) 55%, var(--gold-lo)); box-shadow: 0 0 18px var(--gold-line); animation: aiPulse 1.6s ease-in-out infinite; }
.ai-ltxt { flex: 1; min-width: 0; }
.ai-ltitle { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); font-weight: 700; }
.ai-lstep { margin-top: 5px; font-size: 15px; color: var(--white); min-height: 22px; }
.ai-lstep.in { animation: aiStepIn .45s ease; }
.ai-lbar { position: relative; height: 3px; margin-top: 10px; border-radius: 3px; overflow: hidden; background: rgba(var(--gold-rgb), .14); }
.ai-lbar span { position: absolute; top: 0; bottom: 0; width: 35%; border-radius: 3px; background: linear-gradient(90deg, transparent, var(--gold-hi), var(--gold), transparent); animation: aiBar 1.6s ease-in-out infinite; }
.ai-ltime { margin-top: 6px; font-size: 11.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.btn.is-busy [data-lucide], .btn.is-busy svg { animation: aiSpin 1s linear infinite; }
@keyframes aiSpin { to { transform: rotate(360deg); } }
@keyframes aiPulse { 0%, 100% { transform: scale(.85); opacity: .8; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes aiBar { 0% { left: -35%; } 100% { left: 100%; } }
@keyframes aiStepIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ai-ring, .ai-core, .ai-lbar span, .btn.is-busy svg { animation: none; } }

/* v118 — spolumajitelé */
.co-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; margin-top: 8px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface-2); }
.co-crown { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--gold-soft); color: var(--gold); flex: none; }
.co-crown svg { width: 17px; height: 17px; }
.co-name { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.co-name small { color: var(--muted); font-size: 12px; }
.co-tag { font-size: 11px; color: var(--gold); border: 1px solid var(--gold-line); border-radius: 999px; padding: 2px 8px; margin-left: 8px; }
.co-legacy { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 10px; }
.co-legacy summary { cursor: pointer; color: var(--muted); font-size: 13px; }

/* v121 — Offshore Desk */
.dk-gmail { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 12px 14px; border-radius: 14px; border: 1px dashed var(--gold-line); }
.dk-gmail.on { border-style: solid; background: var(--gold-soft); }
.dk-gmail > svg { color: var(--gold); flex: none; }
.dk-gmail-t { flex: 1; min-width: 0; font-size: 13.5px; }
.dk-muted { color: var(--muted); font-size: 12.5px; }
.dk-stages { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.dk-st { border: 1px solid var(--line); background: transparent; color: var(--muted); border-radius: 999px; padding: 6px 12px; font-size: 12.5px; }
.dk-st b { color: var(--white); margin-left: 4px; }
.dk-st.on { border-color: var(--gold); color: var(--gold); background: var(--gold-soft); }
.dk-client { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; padding: 12px; margin-bottom: 8px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface-2); color: var(--white); flex-wrap: wrap; }
.dk-av { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--gold-soft); color: var(--gold); font-family: var(--font-display); font-size: 18px; flex: none; }
.dk-cm { flex: 1; min-width: 160px; display: flex; flex-direction: column; }
.dk-cm small { color: var(--muted); font-size: 12px; }
.dk-badge { font-size: 11px; border-radius: 999px; padding: 3px 8px; background: rgba(229,128,122,.15); color: #E5807A; }
.dk-badge.gold { background: var(--gold-soft); color: var(--gold); }
.dk-when { color: var(--muted); font-size: 11.5px; }
.dk-draft { border: 1px solid var(--gold-line); border-radius: 14px; padding: 12px 14px; margin-bottom: 10px; background: linear-gradient(135deg, var(--gold-soft), transparent 60%); }
.dk-draft-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.dk-link { background: none; border: none; color: var(--gold); font-weight: 700; padding: 0; }
.dk-to { color: var(--muted); font-size: 12.5px; overflow-wrap: anywhere; }
.dk-reason { margin-top: 6px; font-size: 12.5px; color: var(--muted); }
.dk-warn { margin-top: 6px; font-size: 13px; color: #E5A04A; }
.dk-subj { margin-top: 6px; font-weight: 600; }
.dk-subj-in { margin-top: 8px; width: 100%; box-sizing: border-box; font-weight: 600; }
.dk-body-in { margin-top: 8px; width: 100%; box-sizing: border-box; line-height: 1.5; font-family: inherit; }
.dk-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.dk-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dk-head-t { flex: 1; min-width: 180px; }
.dk-stage-sel { width: auto; min-width: 180px; }
.dk-suggest { margin-top: 10px; padding: 8px 12px; border-radius: 12px; background: var(--gold-soft); font-size: 13px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dk-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; margin-top: 14px; }
.dk-facts > div { background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; min-width: 0; }
.dk-facts span { display: block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.dk-facts b { font-size: 13.5px; font-weight: 600; overflow-wrap: anywhere; }
.dk-compose { display: flex; gap: 8px; flex-wrap: wrap; }
.dk-compose select { flex: 0 0 auto; width: auto; }
.dk-compose input { flex: 1 1 260px; }
.dk-files { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.dk-msg { border-radius: 14px; padding: 12px 14px; margin-bottom: 10px; border: 1px solid var(--line); background: var(--surface-2); }
.dk-msg.out { border-color: var(--gold-line); background: linear-gradient(135deg, var(--gold-soft), var(--surface-2) 70%); }
.dk-msg-h { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 12.5px; }
.dk-msg-h span { color: var(--muted); }
.dk-msg-s { margin-top: 4px; font-weight: 600; font-size: 14px; }
.dk-msg-b { margin-top: 8px; white-space: pre-wrap; font-size: 13.5px; line-height: 1.55; max-height: 320px; overflow: auto; overflow-wrap: anywhere; }
.dk-ai { margin-top: 8px; padding: 8px 10px; border-left: 3px solid var(--gold); background: var(--surface); border-radius: 0 8px 8px 0; font-size: 13px; line-height: 1.5; }

/* v122 — Offshore Desk: přehled, úkoly, bezpečnost */
.dk-sec { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 16px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(111,207,151,.35); background: rgba(111,207,151,.07); font-size: 13px; line-height: 1.5; }
.dk-sec > svg { color: #6FCF97; flex: none; margin-top: 2px; }
.dk-warn-inline { color: #E5A04A; }
.dk-need { border-color: var(--gold-line); }
.dk-req { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 12px; margin-bottom: 8px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--line); }
.dk-req-i { font-size: 18px; }
.dk-req-t { flex: 1; min-width: 160px; display: flex; flex-direction: column; }
.dk-req-t small { color: var(--muted); font-size: 12px; }
.dk-check { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.dk-check span { font-size: 12.5px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); }
.dk-check .ok { color: #6FCF97; border-color: rgba(111,207,151,.35); }
.dk-check .miss { color: #E5A04A; border-color: rgba(229,160,74,.35); }
.dk-what { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; padding: 12px 14px; border-radius: 14px; background: var(--gold-soft); border: 1px solid var(--gold-line); }
.dk-what > span:first-child { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.dk-what b { font-family: var(--font-display); font-weight: 500; font-size: 20px; }
.dk-what em { font-style: normal; color: var(--muted); font-size: 13px; }
.dk-what .rt-pill { margin-left: auto; }
.dk-steps { display: flex; gap: 4px; margin-top: 12px; overflow-x: auto; }
.dk-step { flex: 1; min-width: 74px; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.dk-step span { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; border: 1px solid var(--line); color: var(--muted); }
.dk-step small { font-size: 10.5px; color: var(--muted); line-height: 1.2; }
.dk-step.done span { background: var(--gold-soft); color: var(--gold); border-color: var(--gold-line); }
.dk-step.cur span { background: linear-gradient(135deg, var(--gold-hi), var(--gold)); color: #1A1408; border: none; }
.dk-step.cur small { color: var(--white); font-weight: 600; }
.dk-attach { font-size: 12px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); }
.dk-audit { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.dk-audit small { display: block; color: var(--muted); font-size: 11.5px; }

.dk-rowdel { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; color: var(--muted, #8F887D); opacity: .7; cursor: pointer; margin-left: auto; }
.dk-rowdel:hover { color: #e0894a; opacity: 1; background: rgba(224,137,74,.1); }
.dk-rowdel svg { width: 16px; height: 16px; }

.dk-partner { padding: 14px; margin-bottom: 12px; border-radius: 16px; border: 1px solid var(--line); background: var(--surface-2); }
.dk-partner .btn { margin-top: 8px; }
.dk-partner-hint { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--gold, #C9A96E); padding: 8px 12px; border-radius: 12px; background: rgba(var(--gold-rgb, 201,169,110), .08); border: 1px solid rgba(var(--gold-rgb, 201,169,110), .25); }
.dk-partner-hint svg { width: 16px; height: 16px; flex-shrink: 0; }

/* Offshore prodej (tým) */
.os-h { font-size: 10.5px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold, #C9A96E); margin: 16px 0 8px; }
.os-h:first-child { margin-top: 0; }
.os-card { padding: 14px; margin-bottom: 10px; border-radius: 16px; border: 1px solid var(--line); background: var(--surface-2); display: flex; flex-direction: column; gap: 10px; }
.os-top { display: flex; align-items: center; gap: 12px; }
.os-top .dk-cm { flex: 1; min-width: 0; }
.os-files { display: flex; flex-direction: column; gap: 8px; }
.os-files #os-flist { display: flex; flex-wrap: wrap; gap: 6px; }
.os-file { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); font-size: 12.5px; }
.os-file button { background: none; border: 0; color: inherit; cursor: pointer; font-size: 15px; line-height: 1; padding: 0 2px; }
.dk-intake { margin-top: 12px; padding: 14px; border-radius: 16px; border: 1px solid rgba(var(--gold-rgb, 201,169,110), .3); background: rgba(var(--gold-rgb, 201,169,110), .06); }
.dk-intake-h { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.dk-intake-h svg { width: 16px; height: 16px; color: var(--gold, #C9A96E); }
.dk-intake-h small { margin-left: auto; opacity: .6; }
.dk-intake-go { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

/* v126 — hlasovky (vlastní přehrávač) */
.voice-bubble { min-width: 230px; max-width: 290px; }
.vb { display: flex; align-items: center; gap: 10px; width: 100%; }
.vb audio { display: none; }
.vb-play { width: 38px; height: 38px; flex: none; border-radius: 50%; border: none; background: linear-gradient(145deg, var(--gold, #C9A96E), #9C7C45); color: #14100A; display: grid; place-items: center; cursor: pointer; }
.vb-play svg { width: 17px; height: 17px; fill: currentColor; }
.vb-play.busy { opacity: .55; }
.vb-track { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.vb-bar { height: 4px; border-radius: 99px; background: rgba(255,255,255,.14); overflow: hidden; cursor: pointer; position: relative; }
.vb-bar::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; bottom: -8px; }
.vb-bar > i { display: block; height: 100%; width: 0; background: var(--gold, #C9A96E); border-radius: inherit; transition: width .2s linear; }
.vb-t { font-size: 11px; color: var(--muted, #8F887D); font-variant-numeric: tabular-nums; }
.vb-mic { width: 15px !important; height: 15px !important; color: var(--gold, #C9A96E); flex: none; opacity: .8; }

/* v126 — detail akce: video v galerii bylo obří a stránka se hýbala do stran */
.ed-sheet { max-width: min(520px, 100vw); overflow: hidden; }
.ed-body { overflow-x: hidden; overscroll-behavior-x: none; touch-action: pan-y; }
.ed-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ed-g { overflow: hidden; min-width: 0; }
.ed-g > video, .ed-g > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; pointer-events: none; display: block; }
.ed-g .ed-play, .ed-g .ed-g-tag, .ed-g .ed-g-del { z-index: 2; }
.ed-msg-b { min-width: 0; overflow-wrap: anywhere; }
.msg.mine .vb-play { background: #14100A; color: var(--gold, #C9A96E); }
.msg.mine .vb-bar { background: rgba(20,16,10,.22); }
.msg.mine .vb-bar > i { background: #14100A; }
.msg.mine .vb-t, .msg.mine .vb-mic { color: rgba(20,16,10,.75); }

/* v127 — rychlá volba jurisdikce v novém klientovi */
.dk-quick { margin-bottom: 14px; display: flex; flex-direction: column; gap: 8px; }
.dk-quick > span { font-size: 12.5px; color: var(--muted, #8F887D); }
.dk-quick-row { display: flex; flex-wrap: wrap; gap: 8px; }
.dk-qchip { padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(var(--gold-rgb, 201,169,110), .4); background: transparent; color: var(--gold, #C9A96E); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.dk-qchip:hover { background: rgba(var(--gold-rgb, 201,169,110), .08); }
.dk-qchip.on { background: linear-gradient(135deg, #F1DDAE, #C9A96E 45%, #9C7C45); color: #1A1408; border-color: transparent; }
.net-f.dk-partner-hint { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px; min-height: 0; height: auto; padding: 8px 12px; text-align: left; }
.net-f.full:has(> input[type="checkbox"]) { justify-content: flex-start; text-align: left; }
.net-f.full > input[type="checkbox"] { width: 18px; height: 18px; flex: none; margin: 0; }

/* v128 — Plány od Superfly: na iPhonu to byla šedá systémová tlačítka */
.pp-item-btn { -webkit-appearance: none; appearance: none; display: block; width: 100%; text-align: left; background: transparent; color: inherit; font: inherit; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; padding: 12px 0; cursor: pointer; }
.pp-item-btn:last-child { border-bottom: 0; }
.pp-item-btn:active { background: rgba(var(--gold-rgb, 201,169,110), .06); }
.pp-item-btn .pp-title { color: var(--white); }
.pp-item-btn .pp-content { color: var(--muted); }
.os-all { margin-bottom: 10px; border: 1px solid rgba(var(--gold-rgb, 201,169,110), .35); border-radius: 12px; padding: 10px 12px; }

/* ============ TRADING (jen hlavní majitel) ============ */
:root { --tr-up: #3FBF8A; --tr-dn: #E0645A; }
.tr-wrap h3 i, .tr-set summary i { width: 18px; height: 18px; vertical-align: -3px; color: var(--gold); }
.tr-lock { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); border: 1px solid var(--gold-line); border-radius: 999px; padding: 5px 10px; }
.tr-lock i { width: 13px; height: 13px; }
.tr-syms, .tr-tfs { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; align-items: center; }
.tr-sym, .tr-tf { background: var(--surface-2); color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: 7px 13px; font-size: 13px; font-weight: 600; cursor: pointer; }
.tr-sym.on, .tr-tf.on { color: #14100A; background: linear-gradient(135deg, var(--gold), #D4A838); border-color: transparent; }
.tr-tf { padding: 5px 11px; font-size: 12px; }
.tr-symadd { width: 210px; padding: 7px 12px; font-size: 13px; border-radius: 999px; }
.tr-chart { position: relative; height: 520px; border-radius: 12px; overflow: hidden; border: 1px solid var(--border); background: #0B0B0C; }
.tr-chart iframe { width: 100%; height: 100%; border: 0; display: block; }
.tr-live { margin-top: 16px; }
.tr-muted { color: var(--muted); font-size: 12px; }
.tr-up { color: var(--tr-up) !important; } .tr-dn { color: var(--tr-dn) !important; }
.tr-price-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tr-big { font-size: 30px; font-weight: 800; color: var(--white, #fff); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.tr-spark { width: 220px; height: 44px; max-width: 100%; }
.tr-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin: 14px 0; }
.tr-tile { background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; }
.tr-tl { font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.tr-tv { font-size: 18px; font-weight: 700; margin-top: 3px; font-variant-numeric: tabular-nums; }
.tr-ts { font-size: 11px; color: var(--muted); margin-top: 2px; }
.tr-cols { display: grid; grid-template-columns: 1fr 1.25fr; gap: 16px; }
@media (max-width: 860px) { .tr-cols { grid-template-columns: 1fr; } .tr-chart { height: 380px; } .tr-symadd { width: 100%; } }
.tr-h4 { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 8px; }
.tr-h5 { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); font-weight: 700; margin: 14px 0 6px; }
.tr-levels { display: flex; flex-direction: column; gap: 3px; }
.tr-lv { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; padding: 5px 9px; border-radius: 8px; background: var(--surface-2); font-variant-numeric: tabular-nums; }
.tr-lv.above b { color: var(--tr-dn); } .tr-lv.below b { color: var(--tr-up); }
.tr-lv.now { background: var(--gold-soft); border: 1px solid var(--gold-line); color: var(--gold); font-weight: 700; }
.tr-liq { font-size: 13px; margin: 4px 0; }
.tr-book { background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; margin-bottom: 10px; }
.tr-bh { font-weight: 700; font-size: 13px; margin-bottom: 6px; }
.tr-imb { display: grid; grid-template-columns: 46px 1fr auto; gap: 8px; align-items: center; font-size: 11.5px; margin: 3px 0; color: var(--muted); }
.tr-imbbar { height: 7px; border-radius: 4px; background: var(--tr-dn); overflow: hidden; }
.tr-imbbar i { display: block; height: 100%; background: var(--tr-up); }
.tr-imbv { font-variant-numeric: tabular-nums; }
.tr-walls { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
@media (max-width: 520px) { .tr-walls { grid-template-columns: 1fr; } }
.tr-wt { font-size: 11px; font-weight: 700; margin-bottom: 4px; }
.tr-wall { display: grid; grid-template-columns: 72px 1fr 52px; gap: 6px; align-items: center; font-size: 11.5px; margin: 2px 0; font-variant-numeric: tabular-nums; }
.tr-wbar { height: 8px; background: rgba(255,255,255,.04); border-radius: 4px; overflow: hidden; }
.tr-wall.bid .tr-wbar i { display: block; height: 100%; background: var(--tr-up); opacity: .8; }
.tr-wall.ask .tr-wbar i { display: block; height: 100%; background: var(--tr-dn); opacity: .8; }
.tr-wu { text-align: right; color: var(--muted); }
.tr-ask textarea { resize: vertical; }
.tr-askrow { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 4px; align-items: center; }
.tr-file { cursor: pointer; }
.tr-analysis { margin-top: 14px; }
.tr-verdict { border-radius: 14px; padding: 16px 18px; border: 1px solid var(--border); background: var(--surface-2); }
.tr-verdict.long { border-color: rgba(63,191,138,.5); background: rgba(63,191,138,.08); }
.tr-verdict.short { border-color: rgba(224,100,90,.5); background: rgba(224,100,90,.08); }
.tr-verdict.wait { border-color: var(--gold-line); background: var(--gold-soft); }
.tr-verdict.no { border-color: rgba(154,147,136,.4); }
.tr-vbig { font-size: 26px; font-weight: 800; letter-spacing: .02em; }
.tr-verdict.long .tr-vbig { color: var(--tr-up); } .tr-verdict.short .tr-vbig { color: var(--tr-dn); } .tr-verdict.wait .tr-vbig { color: var(--gold); }
.tr-vmeta { font-size: 12px; color: var(--muted); margin-top: 4px; }
.tr-headline { font-size: 16px; font-weight: 600; margin: 12px 0 6px; line-height: 1.45; }
.tr-answer { background: var(--surface-2); border-left: 3px solid var(--gold); padding: 10px 12px; border-radius: 8px; margin: 8px 0; font-size: 14px; line-height: 1.5; }
.tr-p { font-size: 13.5px; line-height: 1.55; margin: 8px 0; }
.tr-avoid { color: #e0894a; }
.tr-ul { margin: 0; padding-left: 18px; font-size: 13.5px; line-height: 1.55; }
.tr-ev { display: grid; grid-template-columns: minmax(120px, 210px) 1fr auto; gap: 10px; font-size: 13px; padding: 6px 9px; border-radius: 8px; background: var(--surface-2); margin: 3px 0; }
.tr-ev span { color: var(--muted); } .tr-ev em { font-style: normal; font-size: 11px; color: var(--muted); }
.tr-ev.hi { border: 1px solid rgba(224,100,90,.45); } .tr-ev.hi em { color: var(--tr-dn); font-weight: 700; }
.tr-plan { display: grid; gap: 4px; }
.tr-plan div { display: grid; grid-template-columns: 110px 1fr; gap: 10px; font-size: 13.5px; padding: 6px 10px; background: var(--surface-2); border-radius: 8px; }
.tr-plan span { color: var(--gold); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding-top: 2px; }
.tr-calc { margin-top: 8px; font-size: 13px; padding: 9px 12px; border-radius: 8px; border: 1px dashed var(--gold-line); }
.tr-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.tr-chip { font-size: 12px; padding: 5px 10px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--border); font-variant-numeric: tabular-nums; }
.tr-src { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 12px; font-size: 11.5px; }
.tr-src a { color: var(--gold); text-decoration: none; opacity: .85; }
.tr-hist { display: flex; flex-direction: column; gap: 4px; }
.tr-hrow { display: grid; grid-template-columns: 170px 170px 1fr; gap: 10px; text-align: left; align-items: center; background: var(--surface-2); border: 1px solid var(--border); color: inherit; border-radius: 10px; padding: 8px 12px; font-size: 12.5px; cursor: pointer; }
.tr-hrow.on { border-color: var(--gold-line); }
@media (max-width: 700px) { .tr-hrow { grid-template-columns: 1fr; gap: 2px; } .tr-ev { grid-template-columns: 1fr; gap: 2px; } .tr-plan div { grid-template-columns: 1fr; gap: 2px; } }
.tr-hv { font-weight: 700; }
.tr-set summary { cursor: pointer; font-weight: 700; font-size: 15px; list-style: none; }
.tr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0 14px; }
.tr-grid .tr-full { grid-column: 1 / -1; }
.tr-grid .lbl .inp { margin-top: 6px; }
.tr-wrap a.btn { text-decoration: none; }

/* ============ PROJEKT → PRODEJ JEDNOTEK ============ */
:root { --un-free: #3FBF8A; --un-res: #E0A33E; --un-pend: #5B9BE0; --un-sold: #E0645A; }
.un-admin { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.un-sum { background: var(--surface-2); border: 1px solid var(--border); border-radius: 14px; padding: 14px 16px; margin-bottom: 12px; }
.un-big { font-size: 15px; color: var(--muted); } .un-big b { font-size: 26px; color: var(--white, #fff); font-family: var(--font-display); }
.un-big span { float: right; color: var(--gold); font-weight: 700; font-size: 18px; }
.un-bar { display: flex; height: 10px; border-radius: 6px; overflow: hidden; background: rgba(63,191,138,.25); margin: 10px 0 8px; }
.un-bar i { display: block; height: 100%; }
.un-bar i.sold { background: var(--un-sold); } .un-bar i.reserved { background: var(--un-res); } .un-bar i.pending { background: var(--un-pend); }
.un-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12.5px; }
.un-legend span::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 3px; margin-right: 5px; vertical-align: 0; }
.un-legend .free::before { background: var(--un-free); } .un-legend .reserved::before { background: var(--un-res); } .un-legend .pending::before { background: var(--un-pend); } .un-legend .sold::before { background: var(--un-sold); }
.un-val { margin-top: 8px; font-size: 13px; color: var(--gold); font-weight: 600; }
.un-top { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 8px; font-size: 12.5px; color: var(--muted); } .un-top b { color: var(--white, #fff); }
.un-pendbox { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(91,155,224,.5); background: rgba(91,155,224,.08); font-size: 13px; margin-bottom: 12px; }
.un-pendbox i { width: 16px; height: 16px; color: var(--un-pend); }
.un-filters { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 10px; }
.un-chip { background: var(--surface-2); color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: 6px 12px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.un-chip.on { color: #14100A; background: linear-gradient(135deg, var(--gold), #D4A838); border-color: transparent; }
.un-sel { width: auto; padding: 6px 10px; font-size: 12.5px; border-radius: 999px; }
.un-q { flex: 1; min-width: 140px; padding: 7px 12px; font-size: 13px; border-radius: 999px; }
.un-glbl { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); font-weight: 700; margin: 14px 0 6px; }
.un-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 6px; }
.un-tile { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; text-align: left; padding: 8px 9px; border-radius: 10px; border: 1px solid rgba(63,191,138,.45); background: rgba(63,191,138,.07); color: inherit; cursor: pointer; min-height: 58px; }
.un-tile b { font-size: 13.5px; } .un-tile span { font-size: 10.5px; color: var(--muted); } .un-tile em { font-style: normal; font-size: 10.5px; color: var(--muted); margin-top: auto; }
.un-tile.reserved { border-color: rgba(224,163,62,.6); background: rgba(224,163,62,.10); }
.un-tile.pending { border-color: rgba(91,155,224,.7); background: rgba(91,155,224,.12); }
.un-tile.sold { border-color: rgba(224,100,90,.55); background: rgba(224,100,90,.12); }
.un-tile.sold b { color: var(--un-sold); } .un-tile.reserved b { color: var(--un-res); } .un-tile.pending b { color: var(--un-pend); }
.un-tile.mine { box-shadow: 0 0 0 2px var(--gold) inset; }
.un-detail .lbl { margin-top: 12px; }
.un-dst { display: inline-block; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; margin-bottom: 10px; }
.un-dst.free { color: var(--un-free); background: rgba(63,191,138,.12); } .un-dst.reserved { color: var(--un-res); background: rgba(224,163,62,.12); } .un-dst.pending { color: var(--un-pend); background: rgba(91,155,224,.12); } .un-dst.sold { color: var(--un-sold); background: rgba(224,100,90,.12); }
.un-drows { display: flex; flex-direction: column; gap: 3px; }
.un-drows div { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; padding: 6px 10px; background: var(--surface-2); border-radius: 8px; } .un-drows span { color: var(--muted); }
.un-acts { display: flex; gap: 8px; margin-top: 14px; } .un-acts .btn { flex: 1; }
.un-rel { margin-top: 10px; }
.un-edit { margin-top: 14px; } .un-edit summary { cursor: pointer; color: var(--gold); font-size: 13px; font-weight: 600; }
.un-egrid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; } .un-egrid .lbl .inp { margin-top: 5px; }
.un-hist { font-size: 12px; color: var(--muted); display: flex; flex-direction: column; gap: 3px; max-height: 160px; overflow-y: auto; } .un-hist span { color: var(--muted-2, #6E685F); }
.un-addtabs { display: flex; gap: 6px; margin-bottom: 6px; }
.un-radio { display: flex; align-items: center; gap: 8px; font-size: 13.5px; padding: 6px 0; }
.un-people { padding: 4px 0 4px 22px; max-height: 180px; overflow-y: auto; }
.tr-poscols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 860px) { .tr-poscols { grid-template-columns: 1fr; } }
.tr-card { background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px; min-width: 0; }
.tr-card .tr-tile { background: var(--surface); }
.tr-card .tr-lv { background: var(--surface); }
.tr-tiles-sm { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); margin: 6px 0; }
.tr-tiles-sm .tr-tv { font-size: 16px; }
.tr-cot { display: flex; flex-direction: column; gap: 6px; }
.tr-cotrow { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "l v" "e e" "bar n"; gap: 2px 10px; font-size: 12.5px; padding: 7px 10px; background: var(--surface); border-radius: 8px; }
.tr-cotrow span { grid-area: l; color: var(--muted); } .tr-cotrow b { grid-area: v; font-variant-numeric: tabular-nums; } .tr-cotrow em { grid-area: e; font-style: normal; font-size: 11px; color: var(--muted); }
.tr-cotidx { grid-area: bar; position: relative; height: 6px; border-radius: 3px; background: linear-gradient(90deg, var(--tr-dn), #555 50%, var(--tr-up)); margin-top: 4px; align-self: center; }
.tr-cotidx i { position: absolute; top: -3px; width: 4px; height: 12px; border-radius: 2px; background: #fff; transform: translateX(-2px); }
.tr-cotrow small { grid-area: n; font-size: 11px; color: var(--muted); align-self: center; }
/* ===== Trading: KOLÁČ ===== */
.tr-cakewrap { margin: 14px 0 6px; }
.tr-cakebar { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--gold-line); background: var(--gold-soft); }
.tr-cakebar b { font-size: 16px; } .tr-cakebar span { font-size: 13px; color: var(--muted); }
.tr-cakebar.long { border-color: rgba(63,191,138,.5); background: rgba(63,191,138,.08); } .tr-cakebar.long b { color: var(--tr-up); }
.tr-cakebar.short { border-color: rgba(224,100,90,.5); background: rgba(224,100,90,.08); } .tr-cakebar.short b { color: var(--tr-dn); }
.tr-cakebar.wait b { color: var(--gold); }
.tr-cakes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 10px; }
@media (max-width: 860px) { .tr-cakes { grid-template-columns: 1fr; } }
.tr-cake { background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 12px; min-width: 0; }
.tr-cake-top { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
.tr-donut { width: 96px; height: 96px; flex-shrink: 0; }
.tr-donut-n { font-size: 24px; font-weight: 800; fill: var(--gold); font-family: var(--font-display); } .tr-donut-n.up { fill: var(--tr-up); } .tr-donut-n.dn { fill: var(--tr-dn); }
.tr-donut-s { font-size: 10px; fill: var(--muted); }
.tr-cake-cnt { font-size: 18px; font-weight: 700; margin: 4px 0 2px; }
.tr-fl { display: flex; flex-direction: column; gap: 3px; }
.tr-f { display: grid; grid-template-columns: 34px 1fr; gap: 8px; align-items: start; padding: 6px 8px; border-radius: 8px; background: var(--surface); font-size: 12.5px; }
.tr-f b { text-align: center; border-radius: 6px; padding: 2px 0; font-size: 12px; }
.tr-f.p b { background: rgba(63,191,138,.18); color: var(--tr-up); } .tr-f.m b { background: rgba(224,100,90,.18); color: var(--tr-dn); } .tr-f.z b { background: rgba(255,255,255,.06); color: var(--muted); }
.tr-f em { display: block; font-style: normal; font-size: 11px; color: var(--muted); margin-top: 1px; }
.tr-f.ai { box-shadow: inset 2px 0 0 var(--gold); }
.tr-aitag { font-style: normal; font-size: 9.5px; font-weight: 700; color: #14100A; background: var(--gold); border-radius: 4px; padding: 0 4px; vertical-align: 1px; }
.tr-hbars { display: flex; gap: 4px; align-items: flex-end; height: 70px; padding: 4px 0 14px; position: relative; }
.tr-hb { flex: 1; max-width: 26px; height: 100%; display: flex; gap: 2px; align-items: flex-end; position: relative; }
.tr-hb i { flex: 1; min-height: 3px; border-radius: 3px 3px 0 0; } .tr-hb i.u { background: var(--tr-up); } .tr-hb i.n { background: var(--tr-dn); } .tr-hb i.w { opacity: .55; }
.tr-hb small { position: absolute; bottom: -14px; left: 0; right: 0; text-align: center; font-size: 9px; color: var(--muted); }
/* ===== Trading: nápady, toky peněz, vyhodnocení ===== */
.tr-dirbtn { background: var(--surface-2); color: var(--muted); border: 1px solid var(--border); border-radius: 999px; padding: 8px 16px; font-weight: 700; cursor: pointer; }
.tr-dirbtn.long.on { background: rgba(63,191,138,.15); border-color: rgba(63,191,138,.6); color: var(--tr-up); }
.tr-dirbtn.short.on { background: rgba(224,100,90,.15); border-color: rgba(224,100,90,.6); color: var(--tr-dn); }
.tr-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 10px; } .tr-grid3 .lbl .inp { margin-top: 5px; }
@media (max-width: 600px) { .tr-grid3 { grid-template-columns: 1fr 1fr; } }
.tr-idea { background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; }
.tr-idea-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 13px; }
.tr-idel { margin-left: auto; width: 30px; height: 30px; } .tr-idel i { width: 15px; height: 15px; }
.tr-dirtag { font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 6px; } .tr-dirtag.long { background: rgba(63,191,138,.18); color: var(--tr-up); } .tr-dirtag.short { background: rgba(224,100,90,.18); color: var(--tr-dn); }
.tr-idea-ai { margin-top: 8px; font-size: 13px; line-height: 1.5; padding: 8px 10px; border-left: 3px solid var(--gold); background: var(--surface); border-radius: 6px; }
.tr-flowbars { display: flex; flex-direction: column; gap: 5px; margin-top: 6px; }
.tr-fb { display: grid; grid-template-columns: 140px 1fr 80px; gap: 10px; align-items: center; font-size: 13px; }
@media (max-width: 600px) { .tr-fb { grid-template-columns: 105px 1fr 66px; font-size: 12px; } }
.tr-fbt { position: relative; height: 12px; background: var(--surface-2); border-radius: 6px; overflow: hidden; }
.tr-fbt em { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--muted-2, #6E685F); }
.tr-fbt i { position: absolute; top: 0; bottom: 0; } .tr-fbt i.up { background: var(--tr-up); border-radius: 0 6px 6px 0; } .tr-fbt i.dn { background: var(--tr-dn); border-radius: 6px 0 0 6px; }
.tr-fb b { text-align: right; font-variant-numeric: tabular-nums; }
.tr-tablewrap { overflow-x: auto; }
.tr-table { width: 100%; border-collapse: separate; border-spacing: 0 3px; font-size: 13px; }
.tr-table th { text-align: left; font-size: 11px; color: var(--muted); font-weight: 600; padding: 4px 8px; }
.tr-table td { background: var(--surface-2); padding: 6px 8px; } .tr-table td:first-child { border-radius: 8px 0 0 8px; } .tr-table td:last-child { border-radius: 0 8px 8px 0; }
.tr-pc b { font-variant-numeric: tabular-nums; } .tr-pc small { display: block; font-size: 10px; color: var(--muted); }
.tr-pc.good b { color: var(--tr-up); } .tr-pc.bad b { color: var(--tr-dn); } .tr-pc.low b { color: var(--muted); } .tr-pc.mid b { color: var(--gold); }
.tr-review { margin-top: 10px; padding: 12px 14px; background: var(--surface-2); border: 1px solid var(--gold-line); border-radius: 12px; font-size: 13.5px; line-height: 1.6; }
.tr-donebox { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(63,191,138,.45); background: rgba(63,191,138,.07); font-size: 13.5px; line-height: 1.5; }
.tr-donebox i { width: 18px; height: 18px; color: var(--tr-up); flex-shrink: 0; margin-top: 2px; }
/* ===== Kdo vidí jaké složky ===== */
.sec-lock { display: inline-flex; align-items: center; gap: 5px; margin-left: 12px; background: none; border: 1px solid var(--gold-line); color: var(--gold); border-radius: 999px; padding: 5px 11px; font-size: 12px; font-weight: 600; cursor: pointer; }
.sec-lock i { width: 13px; height: 13px; }
@media (max-width: 600px) { .sec-lock span { display: none; } .sec-lock { padding: 6px 8px; } }
.sa-opt { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; margin-top: 8px; cursor: pointer; }
.sa-opt input { margin-top: 3px; } .sa-opt b { display: block; font-size: 14px; } .sa-opt em { font-style: normal; font-size: 12px; color: var(--muted); }
.sa-opt:has(input:checked) { border-color: var(--gold-line); background: var(--gold-soft); }
/* ===== Týmový odkaz ===== */
.tl-item { background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; }
.tl-item.dead { opacity: .55; }
.tl-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .tl-top code { font-size: 12.5px; color: var(--gold); word-break: break-all; flex: 1; min-width: 180px; }
.tl-users { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; } .tl-users span { font-size: 11.5px; padding: 2px 8px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); }
/* ===== Orderflow graf (jako Coinee) ===== */
.tr-chartsrc { align-items: center; } .tr-clink { font-size: 12px; color: var(--gold); text-decoration: none; margin-left: 8px; }
.fc-wrap { position: relative; background: #0B0B0C; border: 1px solid var(--border); border-radius: 12px; padding: 6px; margin: 8px 0 12px; }
.fc-svg { width: 100%; height: 520px; display: block; }
@media (max-width: 700px) { .fc-svg { height: 440px; } }
.fc-t { font-size: 12px; fill: var(--muted); } .fc-ax { font-size: 11px; fill: var(--muted); }
.fc-sep { stroke: rgba(255,255,255,.07); }
.fc-tip { position: absolute; top: 10px; width: 220px; background: rgba(20,20,22,.95); border: 1px solid var(--gold-line); border-radius: 8px; padding: 8px 10px; font-size: 11.5px; line-height: 1.5; pointer-events: none; }
