/* cifro.cz — design systém. Dark/light přepínatelné (data-theme). Písmo přepínatelné (--app-font, default Lexend). */
:root{
  /* neutrální (nezávislé na tématu) */
  --navy:#0a0e17; --navy-2:#131c2e;
  --accent:#f59e0b;          /* akcent / CTA (stavební oranžová) — v obou tématech */
  --accent-d:#d97706;
  --teal:#3fb8ac;
  --ok:#16a34a; --warn:#d97706; --danger:#dc2626; --info:#2563eb;
  --radius:14px; --radius-sm:10px;
  --maxw:1180px;
  --app-font:'Lexend';       /* přepíše inline bootstrap dle volby */
  --font:var(--app-font),-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  /* ── SVĚTLÉ TÉMA (default) ── */
  --brand:#0f2540;
  --ink:#0f172a; --ink-2:#334155; --muted:#64748b; --faint:#94a3b8;
  --bg:#f6f8fb; --surface:#ffffff; --surface-2:#f1f5f9; --line:#e2e8f0; --line-2:#cbd5e1;
  --ok-bg:#dcfce7; --warn-bg:#fef3c7; --danger-bg:#fee2e2; --info-bg:#dbeafe;
  --shadow:0 1px 2px rgba(15,37,64,.04),0 8px 24px rgba(15,37,64,.06);
  --shadow-lg:0 12px 40px rgba(15,37,64,.12);
  --nav-bg:rgba(255,255,255,.9);
}
/* ── TMAVÉ TÉMA ── */
:root[data-theme="dark"]{
  --brand:#2f6fed;
  --ink:#eef2f8; --ink-2:#b8c2d4; --muted:#8a96aa; --faint:#5f6b82;
  --bg:#0a0e17; --surface:#131c2e; --surface-2:#1b2740; --line:#26324a; --line-2:#3a486a;
  --ok-bg:rgba(34,197,94,.16); --warn-bg:rgba(217,119,6,.18); --danger-bg:rgba(220,38,38,.18); --info-bg:rgba(47,111,237,.18);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.5);
  --shadow-lg:0 16px 48px rgba(0,0,0,.6);
  --nav-bg:rgba(10,14,23,.8);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}
a{color:var(--info);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.cifro-logo{font-weight:800;letter-spacing:-.03em}

/* ── Buttons ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:inherit;font-size:.95rem;font-weight:600;
  padding:.62rem 1.15rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;
  transition:.15s ease;text-decoration:none;white-space:nowrap;line-height:1}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px rgba(245,158,11,.28)}
.btn-primary:hover{background:var(--accent-d);color:#fff}
.btn-dark{background:var(--brand);color:#fff}
.btn-dark:hover{background:var(--navy-2);color:#fff}
.btn-ghost{background:var(--surface);color:var(--ink-2);border-color:var(--line-2)}
.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}
.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#fecaca}
.btn-danger:hover{background:#fecaca}
.btn-sm{padding:.42rem .8rem;font-size:.86rem}
.btn-lg{padding:.85rem 1.6rem;font-size:1.05rem}
.btn-block{width:100%;justify-content:center}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}

/* ── Cards / layout ──────────────────────────────────── */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card-pad{padding:1.5rem}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.grid{display:grid;gap:1.25rem}
.grid-2{grid-template-columns:1fr 1fr}
@media(max-width:720px){.grid-2{grid-template-columns:1fr}}
.muted{color:var(--muted)}.faint{color:var(--faint)}
.small{font-size:.86rem}
.chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;padding:.22rem .6rem;border-radius:999px;background:var(--surface-2);color:var(--ink-2)}
.chip.ok{background:var(--ok-bg);color:var(--ok)}
.chip.warn{background:var(--warn-bg);color:var(--warn)}
.chip.danger{background:var(--danger-bg);color:var(--danger)}
.chip.info{background:var(--info-bg);color:var(--info)}

/* ── Forms ───────────────────────────────────────────── */
label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-2);margin-bottom:.35rem}
/* Základ pro VŠECHNY vstupy — i bez atributu type (jinak by v dark tématu zůstal černý text na tmavém). */
input,select,textarea,button{font-family:inherit;color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--faint)}
/* Boxové stylování pro všechna textová pole — včetně <input> BEZ atributu type. */
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]):not([type=submit]):not([type=button]),
select,textarea{
  width:100%;font-family:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);
  border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:.62rem .8rem;transition:.15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.15)}
input[type=file]{font-size:.9rem;color:var(--ink-2)}
input[type=color]{padding:2px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface)}
textarea{resize:vertical;min-height:90px}
.field{margin-bottom:1.1rem}
.field .hint{font-size:.78rem;color:var(--muted);margin-top:.3rem}

/* ── Landing nav (tlačítkové menu) ───────────────────── */
.lp-nav{position:sticky;top:0;z-index:40;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
/* Theme + font přepínač */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:.15s}
.icon-btn:hover{background:var(--surface-2);color:var(--ink)}
.theme-toggle .moon{display:none}.theme-toggle .sun{display:block}
:root[data-theme="dark"] .theme-toggle .moon{display:block}:root[data-theme="dark"] .theme-toggle .sun{display:none}
.pop{position:relative}
.pop-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:.4rem;min-width:180px;z-index:60;display:none}
.pop-menu.open{display:block}
.pop-menu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .7rem;border:none;background:none;color:var(--ink-2);border-radius:8px;cursor:pointer;font:inherit;font-size:.9rem;text-align:left}
.pop-menu button:hover{background:var(--surface-2);color:var(--ink)}
.pop-menu button.active{color:var(--accent);font-weight:600}
.pop-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:.4rem .7rem .2rem;font-weight:700}
.lp-nav-in{max-width:var(--maxw);margin:0 auto;padding:.7rem 24px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.lp-nav-links{display:flex;align-items:center;gap:.35rem}
.lp-nav-links a{color:var(--ink-2);font-weight:600;font-size:.92rem;padding:.5rem .85rem;border-radius:999px;transition:.15s}
.lp-nav-links a:hover{background:var(--surface-2);text-decoration:none;color:var(--ink)}
.lp-nav-links a.active{background:var(--surface-2);color:var(--brand)}
.lp-nav-toggle{display:none;background:none;border:none;color:var(--ink);cursor:pointer}
@media(max-width:860px){
  .lp-nav-links{position:fixed;inset:56px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--surface);
    border-bottom:1px solid var(--line);padding:.8rem 24px;gap:.2rem;box-shadow:var(--shadow-lg);display:none}
  .lp-nav-links.open{display:flex}
  .lp-nav-links a{padding:.75rem .85rem}
  .lp-nav-toggle{display:inline-flex}
}

/* ── Hero + sections ─────────────────────────────────── */
.hero{padding:5rem 0 4rem;background:
  radial-gradient(900px 500px at 85% -10%,rgba(245,158,11,.10),transparent 60%),
  radial-gradient(700px 500px at 0% 0%,rgba(15,118,110,.08),transparent 55%)}
.hero h1{font-size:clamp(2.1rem,5vw,3.5rem);max-width:16ch}
.hero .sub{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--ink-2);max-width:56ch;margin:1.2rem 0 1.8rem}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-d);margin-bottom:1rem}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--accent)}
.section{padding:4rem 0;border-top:1px solid var(--line)}
.section h2{font-size:clamp(1.6rem,3.4vw,2.4rem);max-width:20ch}
.section .lead{font-size:1.1rem;color:var(--ink-2);max-width:60ch;margin-top:.8rem}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.trust-row{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;color:var(--muted);font-size:.9rem}
.trust-row span{display:inline-flex;align-items:center;gap:.45rem}
.trust-row svg{color:var(--teal)}

.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}
@media(max-width:860px){.feat-grid{grid-template-columns:1fr}}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column}
.feat>ul{flex:1}                 /* seznam funkcí roztáhne kartu → CTA zarovnané na spodu */
.feat>.btn{margin-top:auto}
/* Totéž pro karty tarifů (feat-grid > .card) — CTA na jedné lince napříč kartami */
.feat-grid>.card{display:flex;flex-direction:column}
.feat-grid>.card>ul{flex:1}
.feat-grid>.card>.btn{margin-top:auto}
.feat .ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--brand);margin-bottom:1rem}
.feat h3{font-size:1.15rem;margin-bottom:.5rem}
.feat p{color:var(--ink-2);font-size:.95rem}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem;counter-reset:st}
@media(max-width:860px){.steps{grid-template-columns:1fr}}
.step{counter-increment:st;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.5rem 1.5rem}
.step::before{content:counter(st);position:absolute;top:-14px;left:1.5rem;width:34px;height:34px;border-radius:10px;background:var(--brand);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.step h3{font-size:1.1rem;margin:.5rem 0 .4rem}
.step p{color:var(--ink-2);font-size:.94rem}

.callout{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:var(--radius);padding:2.5rem;margin-top:1rem;border:1px solid var(--line)}
.callout h2{color:#fff}.callout p{color:#cbd5e1;margin-top:.8rem;max-width:60ch}

/* ── LANDING dark-first (styl aiframe) ───────────────── */
.landing{position:relative}
.lp-ambient{position:fixed;inset:0;z-index:-2;pointer-events:none;background:
  radial-gradient(ellipse 80% 55% at 12% 6%,rgba(245,158,11,.10),transparent 60%),
  radial-gradient(ellipse 55% 45% at 88% 92%,rgba(63,184,172,.10),transparent 60%)}
.lp-grid{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 100% 70% at 50% 0%,#000 25%,transparent 85%);mask-image:radial-gradient(ellipse 100% 70% at 50% 0%,#000 25%,transparent 85%)}
:root[data-theme="light"] .lp-grid{opacity:.25}
/* Glass karty na tmavém landingu */
:root[data-theme="dark"] .landing .feat,:root[data-theme="dark"] .landing .step,:root[data-theme="dark"] .landing .card{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08);backdrop-filter:blur(12px)}
:root[data-theme="dark"] .landing .feat .ic{background:rgba(255,255,255,.05);color:var(--accent-light,#fbbf24)}
.hero h1{background:linear-gradient(180deg,var(--ink),color-mix(in srgb,var(--ink) 65%,var(--muted)));-webkit-background-clip:text;background-clip:text}
/* Světlá sekce uvnitř tmavého landingu (přepíše tokeny lokálně) */
.lp-light{--bg:#f4efe6;--surface:#ffffff;--surface-2:#faf6ef;--ink:#1a1410;--ink-2:#4a4038;--muted:#7c6f60;--faint:#a99d8c;--line:#e8e0d2;--line-2:#d8cdbb;--brand:#0f2540;
  background:#f4efe6;color:#1a1410;border-top:none;position:relative;z-index:1}
.lp-light .eyebrow{color:var(--accent-d)}
.lp-light .feat,.lp-light .step,.lp-light .card{background:#fff;border-color:#e8e0d2;box-shadow:0 8px 30px rgba(26,20,16,.06);backdrop-filter:none}

/* ── Landing footer (stylizovaná patička) ────────────── */
.lp-footer{background:var(--navy);color:#cbd5e1;padding:3rem 0 2rem;margin-top:2rem}
.lp-footer-in{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
@media(max-width:860px){.lp-footer-in{grid-template-columns:1fr 1fr}}
.lp-footer h4{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.9rem}
.lp-footer a{display:block;color:#94a3b8;font-size:.92rem;padding:.2rem 0}
.lp-footer a:hover{color:#fff;text-decoration:none}
.lp-footer .tag{color:#94a3b8;font-size:.9rem;margin:.8rem 0;max-width:34ch}
.lp-footer .philo{display:flex;gap:.5rem;color:#64748b;font-size:.82rem;margin-top:.8rem}
.lp-footer .philo svg{color:var(--teal);flex-shrink:0}
.lp-footer-bottom{max-width:var(--maxw);margin:2rem auto 0;padding:1.4rem 24px 0;border-top:1px solid #1e3a5f;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;color:#64748b;font-size:.85rem}

/* ── App shell (přihlášený workspace) ────────────────── */
.app{display:flex;min-height:100vh}
.side{width:250px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:30}
.side-top{padding:1.1rem 1.2rem;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.side-nav{flex:1;overflow-y:auto;padding:.8rem}
.side-nav a{display:flex;align-items:center;gap:.7rem;padding:.62rem .8rem;border-radius:var(--radius-sm);color:var(--ink-2);font-weight:600;font-size:.93rem;margin-bottom:.15rem}
.side-nav a:hover{background:var(--surface-2);text-decoration:none;color:var(--ink)}
.side-nav a.active{background:var(--brand);color:#fff}
.side-nav a.active svg{color:#fff}
.side-nav svg{color:var(--muted);flex-shrink:0}
.side-nav a.active svg{color:#fff}
.side-sec{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:.9rem .8rem .3rem;font-weight:700}
.side-bottom{padding:.8rem;border-top:1px solid var(--line)}
.main{margin-left:250px;flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:60px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:20}
.topbar-title{font-weight:700;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
@media(max-width:520px){.topbar{padding:0 .8rem}.topbar-title{max-width:32vw;font-size:.95rem}}
.content{padding:1.75rem;max-width:1100px;width:100%}
.burger{display:none;background:none;border:none;cursor:pointer;color:var(--ink)}
@media(max-width:900px){
  .side{transform:translateX(-100%);transition:.2s;box-shadow:var(--shadow-lg)}
  .side.open{transform:translateX(0)}
  .main{margin-left:0}
  .burger{display:inline-flex}
}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.page-head h1{font-size:1.6rem}
.page-head p{color:var(--muted);margin-top:.25rem}

/* ── Stat tiles ──────────────────────────────────────── */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow)}
.tile .v{font-size:1.8rem;font-weight:800;letter-spacing:-.02em}
@media(max-width:520px){
  .content{padding:1rem}
  .tiles{gap:.7rem}
  .tile{padding:.9rem}
  .tile .v{font-size:1.5rem}
  .page-head h1{font-size:1.35rem}
  .card-pad{padding:1.1rem}
}
.tile .l{color:var(--muted);font-size:.88rem;margin-top:.2rem}
.tile .ic{float:right;color:var(--faint)}

/* ── Tables (rozpočtový editor) ──────────────────────── */
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;padding:.6rem .7rem;border-bottom:2px solid var(--line)}
.tbl td{padding:.6rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:hover td{background:var(--surface-2)}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl .total td{font-weight:800;background:var(--surface-2);border-top:2px solid var(--line-2)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}

/* ── Flash / toast ───────────────────────────────────── */
.flash{padding:.85rem 1.1rem;border-radius:var(--radius-sm);margin-bottom:1.25rem;font-weight:500;display:flex;gap:.6rem;align-items:center}
.flash.success{background:var(--ok-bg);color:#15803d}
.flash.error{background:var(--danger-bg);color:var(--danger)}
.flash.info{background:var(--info-bg);color:var(--info)}
.flash.warn{background:var(--warn-bg);color:var(--warn)}
#toasts{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column;gap:.6rem}
.toast{background:var(--navy);color:#fff;padding:.8rem 1.1rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-size:.92rem;max-width:340px;animation:slideIn .2s ease}
.toast.success{background:#15803d}.toast.error{background:var(--danger)}
@keyframes slideIn{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}

/* ── Auth pages ──────────────────────────────────────── */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;
  background:radial-gradient(800px 500px at 50% -10%,rgba(245,158,11,.08),transparent 60%),var(--bg)}
.auth-card{width:100%;max-width:420px}
.auth-card .card-pad{padding:2rem}
.auth-logo{text-align:center;margin-bottom:1.5rem}
.auth h1{font-size:1.5rem;text-align:center;margin-bottom:.3rem}
.auth .subtitle{text-align:center;color:var(--muted);margin-bottom:1.5rem;font-size:.95rem}
.auth-alt{text-align:center;margin-top:1.25rem;font-size:.92rem;color:var(--muted)}

/* ── Utility ─────────────────────────────────────────── */
.stack>*+*{margin-top:1rem}
.row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.between{justify-content:space-between}
.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}
.hidden{display:none!important}
.divider{height:1px;background:var(--line);margin:1.5rem 0}
.badge-role{font-size:.72rem;padding:.15rem .5rem;border-radius:6px;background:var(--surface-2);color:var(--ink-2);font-weight:600}
.linkbtn{background:none;border:1px solid var(--line-2);color:var(--muted);border-radius:6px;padding:.1rem .4rem;font-size:.72rem;cursor:pointer;font-family:inherit}
.linkbtn:hover{color:var(--accent);border-color:var(--accent)}
/* Výběr dodavatelů při rozesílání poptávky */
.rfq-list{max-height:190px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.4rem;background:var(--surface)}
.rfq-item{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border-radius:6px;cursor:pointer;font-weight:400;margin:0}
.rfq-item:hover{background:var(--surface-2)}

/* Onboarding — průvodce prvními kroky */
.onb{margin-bottom:1.5rem;border-left:4px solid var(--accent)}
.onb-progress{text-align:right}
.onb-progress strong{font-size:1.5rem;color:var(--accent)}
.onb-steps{display:flex;flex-direction:column;gap:.55rem}
.onb-step{display:flex;align-items:center;gap:.9rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.onb-step.done{opacity:.6}
.onb-step.done strong{text-decoration:line-through;text-decoration-color:var(--faint)}
.onb-step.active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.onb-num{width:28px;height:28px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.85rem;background:var(--surface-2);color:var(--muted)}
.onb-step.done .onb-num{background:var(--ok-bg);color:var(--ok)}
.onb-step.active .onb-num{background:var(--accent);color:#fff}
@media(max-width:520px){.onb-step{flex-wrap:wrap}.onb-step .btn{width:100%;justify-content:center}}

/* Rychlý dotaz nad znalostní bází (FAB + panel) */
.ask-fab{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;
  background:var(--accent);color:#fff;box-shadow:0 6px 22px rgba(245,158,11,.4);display:flex;align-items:center;justify-content:center;z-index:90;transition:.15s}
.ask-fab:hover{background:var(--accent-d);transform:translateY(-2px)}
.ask-panel{position:fixed;right:22px;bottom:86px;width:380px;max-width:calc(100vw - 44px);max-height:min(560px,calc(100vh - 130px));
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);
  display:none;flex-direction:column;z-index:91;overflow:hidden}
.ask-panel.open{display:flex}
.ask-head{padding:.9rem 1rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}
.ask-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem}
.ask-hint{line-height:2}
.ask-q{align-self:flex-end;background:var(--brand);color:#fff;padding:.5rem .8rem;border-radius:12px 12px 4px 12px;max-width:85%;font-size:.9rem}
.ask-a{align-self:flex-start;background:var(--surface-2);padding:.7rem .9rem;border-radius:12px 12px 12px 4px;max-width:92%;font-size:.92rem;line-height:1.55}
.ask-a .src{display:block;margin-top:.5rem;font-size:.75rem;color:var(--muted)}
.ask-foot{padding:.7rem;border-top:1px solid var(--line);display:flex;gap:.5rem}
.ask-foot input{flex:1}
@media(max-width:520px){.ask-panel{right:10px;left:10px;width:auto;bottom:80px}}

/* Modal (reusable) */
.modal-ov{position:fixed;inset:0;background:rgba(10,14,23,.55);backdrop-filter:blur(3px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-width:520px;width:100%;max-height:80vh;overflow:auto}
.modal-h{padding:1rem 1.3rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--surface)}
.modal-h h3{font-size:1.1rem}
.modal-b{padding:.6rem}
.match-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;margin-bottom:.4rem;text-align:left;font:inherit;color:var(--ink)}
.match-item:hover{border-color:var(--accent);background:var(--surface-2)}
.match-item .sc{font-size:.72rem;color:var(--muted)}
/* Zdroj položky — dlouhý text zkrátit s ellipsis (plné znění v title) */
.src-cell{max-width:190px}
.src-txt{display:inline-block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
/* Číslo řádku + úchyt na jednom řádku (jinak se lámaly pod sebe) */
#rows td:first-child{white-space:nowrap}
/* Ověřeno / odhad — klíčová metrika důvěry (vážená penězi) */
.ov-badge{font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:.16rem .5rem;border-radius:999px;
  border:1px solid transparent;cursor:pointer;font-family:inherit;white-space:nowrap}
.ov-badge[disabled]{cursor:default}
.ov-ano{background:var(--ok-bg);color:#15803d;border-color:rgba(22,163,74,.3)}
.ov-odhad{background:var(--warn-bg);color:var(--warn);border-color:rgba(217,119,6,.3)}
.ov-rucni{box-shadow:inset 0 0 0 1px currentColor}
.ov-bar{height:9px;border-radius:5px;background:var(--warn-bg);overflow:hidden;position:relative}
.ov-bar>i{position:absolute;left:0;top:0;bottom:0;background:var(--ok);display:block;transition:width .2s}
.ov-summary{padding:.2rem 0}

/* Jistota ceny — barevná tečka u zdroje položky */
.jist-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem;vertical-align:middle;flex-shrink:0;cursor:help}
.drag-h{cursor:grab;color:var(--faint);user-select:none;font-size:.9rem}
.drag-h:active{cursor:grabbing}
tr.drow.dragging{opacity:.4;background:var(--surface-2)}
