:root{
  --bg:#f4f6f8; --card:#fff; --ink:#2A2350; --ink-soft:#4A4374; --muted:#6F6C8A;
  --line:#E5E3F2; --accent:#6E5BE6; --accent-2:#3E9B5F; --ai:#6E5BE6;
  --glass:rgba(255,255,255,.75);
  --violet:#6E5BE6; --violet-dark:#5847C7; --violet-soft:#EDEAFB;
  --green:#3E9B5F; --green-soft:#E4F3EA; --blue:#4A5A78; --blue-soft:#EAEDF4; --red:#C94F3D;
  --radius:16px;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Barlow',-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);font-size:14px;
  background:
    radial-gradient(900px 600px at 88% 8%, #CFC9F2 0%, transparent 60%),
    radial-gradient(700px 500px at 100% 90%, #C7D6F2 0%, transparent 55%),
    radial-gradient(600px 500px at 0% 100%, #E4E0F6 0%, transparent 55%),
    linear-gradient(135deg,#F7F6FB 0%,#F1F0F8 100%);
  background-attachment:fixed;min-height:100vh}

/* ============ SHELL: app + sidebar + main ============ */
.app{display:flex;min-height:100vh;gap:22px;padding:22px}
.sidebar{width:264px;flex-shrink:0;background:var(--glass);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:0 10px 40px rgba(42,35,80,.08);
  padding:22px 14px 18px 16px;display:flex;flex-direction:column;gap:16px;
  position:sticky;top:22px;height:calc(100vh - 44px)}
.brand{display:flex;align-items:center;gap:10px;padding:2px 6px}
.brand-mark{width:34px;height:34px;background:linear-gradient(135deg,#7C6BEB,#5E8BE8);border-radius:10px;position:relative;flex-shrink:0}
.brand-mark::before{content:"";position:absolute;left:7px;right:7px;top:16px;border-top:2.5px solid #fff}
.brand-mark::after{content:"";position:absolute;top:11px;bottom:11px;left:7px;border-left:2.5px solid #fff;box-shadow:17.5px 0 0 #fff}
.brand-name{font-weight:700;font-size:20px}
.brand-name span{color:var(--violet)}
.brand-logo{width:100%;max-width:180px;height:auto;display:block}
.btn-new{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#7C6BEB,#5E8BE8);
  color:#fff;border:none;font:inherit;font-weight:600;font-size:15px;padding:12px 17px;border-radius:999px;cursor:pointer;
  box-shadow:0 6px 18px rgba(110,91,230,.35)}
.btn-new:hover{filter:brightness(1.06)}
.btn-new .plus{font-size:18px;margin-right:8px}
.side-nav{flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto}
.nav-item{display:flex;align-items:center;gap:12px;color:var(--muted);background:none;border:none;font:inherit;text-align:left;
  padding:10px 14px;border-radius:999px;font-weight:500;font-size:14.5px;cursor:pointer}
.nav-item svg{width:18px;height:18px;flex-shrink:0}
.nav-item:hover{background:rgba(110,91,230,.08);color:var(--ink)}
.nav-item:focus-visible{outline:2px solid var(--violet);outline-offset:1px}
.nav-item.active{background:var(--ink);color:#fff;font-weight:600;box-shadow:0 6px 16px rgba(42,35,80,.25)}
.nav-item.active svg{color:#B9AFF5}
.nav-group{margin:12px 14px 5px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#9C99B5;font-weight:600}
.tenant{display:flex;align-items:center;gap:10px;background:rgba(110,91,230,.06);border:1px solid var(--line);
  border-radius:14px;padding:10px 12px;cursor:pointer;font:inherit;text-align:left;color:var(--ink)}
.tenant-avatar{width:30px;height:30px;border-radius:9px;background:#36BCA8;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}
.tenant div small{display:block;color:var(--muted);font-size:12px}
.tenant div strong{font-size:14px;font-weight:600}
.tenant .chev{margin-left:auto;color:var(--muted)}
.main{flex:1;min-width:0;padding:0 0 20px}
.screen[hidden]{display:none}
.screen-head{margin:2px 4px 16px}
.screen-head h1{font-family:'Barlow Semi Condensed',sans-serif;font-size:24px;margin:0}
.screen-head .hint{margin-top:4px}

/* ============ CALC-BAR (horní lišta kalkulátoru) ============ */
.calc-bar{background:var(--glass);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.85);
  border-radius:18px;box-shadow:0 8px 28px rgba(42,35,80,.07);padding:14px 18px 0;margin-bottom:18px;
  position:sticky;top:22px;z-index:20}
.calc-bar .row1{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:12px}
.calc-bar h1{font-family:'Barlow Semi Condensed',sans-serif;font-size:21px;font-weight:700;margin:0 4px 0 0}
.calc-bar .row2{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);
  padding:8px 18px;margin:0 -18px}

.tabs{display:flex;gap:6px}
.tab{padding:8px 15px;border:1px solid transparent;background:transparent;border-radius:999px;cursor:pointer;
  font:inherit;font-weight:600;font-size:13.5px;color:var(--muted)}
.tab:hover{color:var(--ink);background:rgba(110,91,230,.07)}
.tab.active{background:var(--ink);color:#fff;box-shadow:0 4px 12px rgba(42,35,80,.22)}
.tabpane{display:none}
.tabpane.active{display:block}

/* ---- Přepínač verzí (rychlá / detailní) ---- */
.mode-switch{display:flex;gap:6px;background:rgba(110,91,230,.08);border-radius:999px;padding:4px}
.mode-btn{display:flex;align-items:center;gap:10px;padding:7px 14px;border:none;border-radius:999px;
  background:transparent;cursor:pointer;font:inherit;color:var(--muted);text-align:left}
.mode-btn .mode-ico{font-size:18px;line-height:1}
.mode-btn .mode-txt{display:flex;flex-direction:column;line-height:1.15}
.mode-btn .mode-txt strong{font-size:13px;color:inherit}
.mode-btn .mode-txt small{font-size:11px;opacity:.8}
.mode-btn.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px rgba(42,35,80,.12)}
.mode-btn.active .mode-txt small{color:var(--violet)}
.mode-btn:focus-visible{outline:2px solid var(--violet);outline-offset:2px}

/* ---- Cenové pilulky v liště ---- */
.price-pill{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;padding:7px 15px;border-radius:14px}
.price-pill small{font-size:11px;color:var(--muted);font-weight:500}
.price-pill b{font-family:'Barlow Semi Condensed',sans-serif;font-size:18px}
.price-pill.vat{background:var(--violet-soft)}
.price-pill.vat small,.price-pill.vat b{color:var(--violet-dark)}

/* ============ DASHBOARD (Přehled) ============ */
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 4px 16px}
.stat-card{background:var(--glass);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.85);
  border-radius:var(--radius);box-shadow:0 8px 28px rgba(42,35,80,.07);padding:16px 18px}
.stat-card small{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:6px}
.stat-card b{font-family:'Barlow Semi Condensed',sans-serif;font-size:24px;font-weight:700;display:block}
.dash-cols{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start;margin:0 4px}
.dash-side .card-body{display:flex;flex-direction:column;gap:8px}
.dash-side .btn-dark,.dash-side .btn-line{width:100%}
.dash-cases,.vyk-list{display:flex;flex-direction:column}
.dash-case{display:flex;align-items:center;gap:12px;padding:11px 20px;border-top:1px solid var(--line);
  text-decoration:none;color:var(--ink);background:none;border-left:none;border-right:none;border-bottom:none;
  width:100%;font:inherit;text-align:left;cursor:pointer}
.dash-case:hover{background:rgba(110,91,230,.05)}
.dash-case .nm{flex:1;min-width:0}
.dash-case .nm strong{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-case .nm small{color:var(--muted);font-size:12px}
.dash-case .pr{font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:14px;white-space:nowrap}
.dash-empty{padding:16px 20px;color:var(--muted)}

/* ============ VÝKRESY ============ */
.vyk-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--line)}
.vyk-item .nm{flex:1;min-width:0}
.vyk-item .nm strong{display:block;font-size:13.5px;font-weight:600}
.vyk-item .nm small{color:var(--muted);font-size:12px}

/* ---- glass karty ---- */
.card,.result,.doc-block{background:var(--glass);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.85);
  box-shadow:0 8px 28px rgba(42,35,80,.07)}
.card-head{display:flex;align-items:center;gap:10px;padding:15px 20px 4px}
.card-head h2{font-family:'Barlow Semi Condensed',sans-serif;font-size:16.5px;font-weight:700;margin:0}
.card-body{padding:12px 20px 18px}

@media(max-width:1150px){.dash-cols{grid-template-columns:1fr}.dash-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.sidebar{display:none}.app{padding:14px}.calc-bar{position:static}}

/* ---- Tlačítko Případy + modal historie ---- */
.btn-cases{margin-left:8px;padding:8px 14px;border:1px solid var(--line);background:#fafbfc;border-radius:8px;
  cursor:pointer;font:inherit;font-weight:600;color:var(--ink)}
.btn-cases:hover{border-color:var(--accent);color:var(--accent)}
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(15,25,40,.45)}
.modal-box{position:relative;background:var(--bg);width:min(860px,94vw);max-height:90vh;overflow:auto;
  margin-top:40px;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;
  padding:16px 22px;background:#fff;border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}
.modal-head h2{margin:0;font-size:18px}
.modal-x{border:none;background:none;font-size:18px;cursor:pointer;color:var(--muted)}
.modal-body{padding:18px 22px}
.cs-save{margin-bottom:18px}
.cs-current{margin-bottom:10px;font-size:13px;color:var(--muted)}
.cs-save-actions{display:flex;align-items:center;gap:10px;margin-top:12px}
.cs-mini{margin-left:8px;border:none;background:none;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline}
.cs-list-head{display:flex;align-items:center;justify-content:space-between;margin:6px 0 10px}
.cs-list-head h3{margin:0;font-size:15px}
.cs-list-tools{display:flex;gap:8px}
.cs-import{cursor:pointer}
.cs-list{display:flex;flex-direction:column;gap:8px}
.cs-empty{color:var(--muted);padding:12px;text-align:center}
.cs-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.cs-name{font-weight:600}
.cs-meta{font-size:12px;color:var(--muted);margin-top:2px}
.cs-price{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.cs-price small{display:block;font-size:10px;color:var(--muted);font-weight:400}
.cs-actions{display:flex;gap:6px}
.cs-actions button{border:1px solid var(--line);background:#fafbfc;border-radius:7px;cursor:pointer;font:inherit;padding:6px 10px}
.cs-open{color:var(--accent);font-weight:600}
.cs-del:hover{color:#c0392b;border-color:#c0392b}
.cs-versions{grid-column:1/-1;border-top:1px dashed var(--line);padding-top:8px;margin-top:2px;
  display:flex;flex-direction:column;gap:6px}
.cs-ver{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}
.cs-ver-info{display:flex;flex-direction:column;gap:2px}
.cs-prov{font-size:11px;color:#93a1b0;font-variant-numeric:tabular-nums}
.cs-prov-flag{color:#b26a00;font-weight:600;cursor:help}
.cs-prov-now{font-size:11px;color:var(--muted);margin-top:8px;font-variant-numeric:tabular-nums}
.cs-ver-open{border:1px solid var(--line);background:#fafbfc;border-radius:6px;cursor:pointer;font:inherit;padding:4px 8px;white-space:nowrap}
.prov-banner{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:10px 18px;background:#fff6e5;border-bottom:1px solid #f0c674;color:#8a5a00;font-size:13px}
.prov-banner button{border:none;background:none;cursor:pointer;color:#8a5a00;font-size:15px}

/* ---- Ceník rychlé kalkulace ---- */
.sc-h{font-size:14px;margin:18px 0 8px}
.sc-h:first-child{margin-top:0}
.sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.sc-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.sc-grid input{padding:7px 8px;border:1px solid var(--line);border-radius:6px;font:inherit}

/* ---- Výsledek rychlé kalkulace ---- */
.simple-result{width:100%;border-collapse:collapse}
.simple-result td{padding:8px 6px;border-bottom:1px solid var(--line);font-size:14px}
.simple-result td.r{text-align:right;font-variant-numeric:tabular-nums}
.simple-result tr.sr-big td{font-size:16px;font-weight:700;border-bottom:none;padding-top:12px}
.simple-result tr.sr-big.accent td{color:var(--accent)}
.simple-result tr.sr-big td:first-child{font-weight:600}
.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px;align-items:start}
.totals{display:flex;gap:12px}
.total-box{display:flex;flex-direction:column;align-items:flex-end;padding:6px 14px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}
.total-box span{font-size:11px;color:var(--muted)}
.total-box strong{font-size:18px}
.total-box.accent{background:#eef7ff;border-color:#cfe4ff}
.total-box.accent strong{color:var(--accent)}

main{padding:18px}
#tab-rozpocet, #tab-interpretace{max-width:1100px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.card h2{font-size:14px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.hint{font-size:12px;color:var(--muted);margin:0 0 8px}

.params-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.params-grid label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:3px}
.params-grid.full label{grid-column:1/-1}
input,select{font:inherit;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus{outline:2px solid var(--accent);border-color:var(--accent)}

.rooms{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.room-row{display:grid;grid-template-columns:1fr 80px;gap:6px}
.garaz{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:3px;margin-top:6px}

/* ---- Konfigurátor: kapitoly (sbalitelné sekce) ---- */
.tg-group{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden;background:#fff}
.tg-head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:#f5f8fb;
  border:none;border-bottom:1px solid var(--line);cursor:pointer;font:inherit;text-align:left;color:var(--ink)}
.tg-head:hover{background:#eaf0f6}
.tg-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.tg-head[aria-expanded="false"]{border-bottom-color:transparent}
.tg-chevron{font-size:11px;color:var(--muted);transition:transform .15s;width:12px;flex:0 0 auto}
.tg-head[aria-expanded="false"] .tg-chevron{transform:rotate(-90deg)}
.tg-title{flex:1;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.tg-count{font-size:11px;color:var(--muted);background:var(--bg);border:1px solid var(--line);
  border-radius:20px;padding:1px 9px;font-variant-numeric:tabular-nums}
.tg-count.on{color:#fff;background:var(--accent-2);border-color:var(--accent-2)}
.tg-body[hidden]{display:none}
.tg-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;border-bottom:1px solid var(--line)}
.tg-row:last-child{border-bottom:none}
.tg-row:hover{background:#f7f9fb}
.tg-label{font-size:13px;cursor:pointer;flex:1;color:var(--ink)}
.tg-note{cursor:help;color:var(--muted);margin-left:4px}
.tg-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;
  padding:10px 12px 12px;background:#fffdf6;border-bottom:1px solid var(--line);
  border-left:3px solid #f0c674}
.tg-inputs[hidden]{display:none}
.tg-inputs label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:3px}
.tg-inputs .tin-cell{color:var(--muted);font-weight:400;font-size:11px}
.tg-inputs .tin-unit{color:var(--ink);font-weight:600}
.tg-inputs input,.tg-inputs select{border-color:#e6c37a}
.tin-openings{grid-column:1 / -1;display:flex;flex-direction:column;gap:4px}
.tin-openings-cap{font-size:12px;font-weight:600;color:var(--ink)}
.tin-openings-tbl{width:100%;border-collapse:collapse;font-size:12px}
.tin-openings-tbl th{color:var(--muted);font-weight:600;text-align:left;padding:2px 4px}
.tin-openings-tbl td{padding:2px 4px}
.tin-openings-idx{color:var(--muted);text-align:right;width:1.5em}
.tin-openings-tbl input{width:100%;border-color:#e6c37a;box-sizing:border-box}
.inputs-card .tin-unit{color:var(--ink);font-weight:600}
.inputs-card select{border-color:#e6c37a}
.switch{position:relative;width:42px;height:23px;flex:0 0 auto}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;inset:0;background:#cdd6e0;border-radius:20px;transition:.2s;cursor:pointer}
.slider::before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked+.slider{background:var(--accent-2)}
.switch input:checked+.slider::before{transform:translateX(19px)}

.btn-ai{width:100%;margin-top:8px;padding:9px;border:none;border-radius:8px;background:var(--ai);color:#fff;font-weight:600;cursor:pointer}
.btn-ai:disabled{opacity:.6;cursor:wait}
.btn-light{padding:7px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
.ai-status{font-size:12px;margin-top:8px;min-height:16px;white-space:pre-line}
.ai-status.ok{color:var(--accent-2)} .ai-status.err{color:#c0392b}
.ai-status.warn{color:#b7791f}
input.verify,select.verify{background:#fff8e1;border-color:#f0c040;box-shadow:0 0 0 2px rgba(240,192,64,.25)}

/* ---- Režim „nutná kontrola": AI vs. rozpočtář ---- */
.verify-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 18px 0;padding:10px 14px;background:#fff8e1;border:1px solid #f0c040;
  border-radius:10px;font-size:13px;color:#7a5a10}
.verify-bar .vb-count{font-variant-numeric:tabular-nums}
.vb-btn{flex:0 0 auto;padding:6px 14px;border:1px solid var(--accent-2);border-radius:8px;
  background:var(--accent-2);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.vb-btn:hover{filter:brightness(1.05)}
input.ai-filled,select.ai-filled{background:#fff8e1;border-color:#f0c040;box-shadow:0 0 0 2px rgba(240,192,64,.25)}
input.ai-filled.ai-low,select.ai-filled.ai-low{border-color:#e0803a;box-shadow:0 0 0 2px rgba(224,128,58,.3)}
input.ai-confirmed,select.ai-confirmed{background:#eafaf0;border-color:var(--accent-2);
  box-shadow:0 0 0 2px rgba(10,143,91,.2);transition:background .3s,box-shadow .3s}
.ai-confirm{display:inline-flex;gap:4px;margin-top:4px}
.ai-confirm button{width:24px;height:24px;line-height:1;padding:0;border-radius:6px;
  border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px;font-weight:700}
.ai-confirm .ai-ok{color:var(--accent-2);border-color:#bfe3cf}
.ai-confirm .ai-ok:hover{background:#eafaf0}
.ai-confirm .ai-no{color:#c0392b;border-color:#f0cfc9}
.ai-confirm .ai-no:hover{background:#fbe3df}

/* ---- Souhrn extrakce (co Claude přečetl) ---- */
.extract-summary{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fafbfc}
.es-title{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.es-table{width:100%;border-collapse:collapse;margin:0}
.es-table td{padding:4px 6px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}
.es-table tr:last-child td{border-bottom:none}
.es-k{color:var(--muted);width:48%}
.es-v{text-align:right;font-variant-numeric:tabular-nums}
.es-v em{color:#aab4c0;font-style:normal}
.conf-badge{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;margin-left:4px;color:#fff}
.conf-badge.ok{background:var(--accent-2)}
.conf-badge.mid{background:#b7791f}
.conf-badge.low{background:#c0392b}
.es-sub{margin-top:10px;font-size:13px}
.es-sub strong{font-size:12px;color:var(--muted)}
.es-sub ul{margin:4px 0 0;padding-left:18px;line-height:1.5}
.es-rooms{margin-top:10px;font-size:13px}
.es-rooms summary{cursor:pointer;color:var(--accent);font-size:12px}
.es-rooms ul{margin:6px 0 0;padding-left:18px;line-height:1.5;columns:2}
.es-np{display:inline-block;font-size:10px;font-weight:700;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0 4px;margin-right:2px}
.es-warn{margin-top:10px;font-size:13px;background:#fff8e1;border:1px solid #f0c040;border-radius:8px;padding:8px 10px}
.es-warn strong{color:#b7791f;font-size:12px}
.es-warn ul{margin:4px 0 0;padding-left:18px;line-height:1.5}

.result{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.result-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.result-head h2{margin:0;font-size:16px}
.result-actions{display:flex;align-items:center;gap:12px}
.calc-status{font-size:12px;color:var(--muted)}
table{width:100%;border-collapse:collapse}
th,td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}
th.r,td.r{text-align:right;white-space:nowrap}
tr.dil td{background:#f0f4f9;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.3px}
tr.zero{color:#aab4c0}
tr.needs-input{background:#fff6e5}
tr.needs-input:hover:not(.dil){background:#fff0d6}
.badge-input{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;
  background:#f0c674;color:#8a5a00;font-size:11px;font-weight:600;white-space:nowrap;cursor:help;vertical-align:middle}
/* ---- Doplňující vstupy (nutno zadat) ---- */
.inputs-card{border-left:3px solid #f0c674;background:#fffdf6}
.inputs-card .tin-cell{color:var(--muted);font-weight:400;font-size:11px}
.inputs-card input{border-color:#e6c37a}
tbody tr:hover:not(.dil){background:#fafcff}
tr.adjustment td{background:#fff7ec;font-style:italic}
tr.adjustment td:last-child{font-weight:700}

/* ---- AI chat: přirážky ---- */
.ai-chat{margin-top:16px}
.chat-row{display:flex;gap:8px;align-items:center}
.chat-row input{flex:1;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px}
.adj-list{margin-top:12px}
.adj-list h4{margin:0 0 6px;font-size:13px;color:var(--muted)}
.adj-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;background:#fff7ec;border:1px solid #f0e0c4;border-radius:8px;margin-bottom:6px;font-size:13px}
.adj-desc small{color:var(--muted)}
.adj-del{border:none;background:transparent;color:#c0392b;cursor:pointer;font-size:14px;padding:2px 6px;border-radius:6px}
.adj-del:hover{background:#fbe3df}

/* ---- Interpretace ---- */
.docs{display:flex;flex-direction:column;gap:18px}
.doc-block{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}
.doc-block h2{margin:0 0 12px;font-size:16px}
.doc-block.highlight{border-color:#cfe4ff;background:#f6fbff}
.flow{margin:0;padding-left:20px;line-height:1.6}
.flow li{margin-bottom:8px}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cols h4{margin:0 0 6px}
.cols ul{margin:0;padding-left:18px;font-size:13px;line-height:1.5}
.dils{display:flex;flex-direction:column;gap:6px}
.dil-doc{border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.dil-doc summary{cursor:pointer;font-size:14px}
.dil-doc p{margin:8px 0;color:var(--ink)}
.dil-doc .items{columns:2;font-size:12px;color:var(--muted);margin:6px 0 0;padding-left:18px}
.simpl{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.simpl-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}
.simpl-card h4{margin:0 0 8px}
.simpl-card p{margin:6px 0;font-size:13px;line-height:1.5}
.lbl{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:5px;margin-right:6px;color:#fff}
.lbl.problem{background:#c0392b}.lbl.sol{background:var(--accent)}.lbl.impact{background:var(--accent-2)}
.unif{line-height:1.7}

/* ---- Engine switch + Ceník ---- */
.engine-sw{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.engine-sw select{width:auto;padding:5px 8px}
.cenik-grp{margin-bottom:18px}
.cenik-grp h4{margin:0 0 8px}
.ci-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ci-grid label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:3px}
.cenik-tbl{width:100%;border-collapse:collapse}
.cenik-tbl th,.cenik-tbl td{padding:5px 8px;border-bottom:1px solid var(--line);font-size:13px}
.cenik-tbl input{width:110px}

/* ---- Tiskový výstup nabídky (rychlá kalkulace) ---- */
.offer-print{display:none}
.offer-print .op-head{display:flex;justify-content:space-between;align-items:flex-start;
  border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:18px}
.offer-print h1{font-size:22px;margin:0}
.offer-print .op-meta{font-size:12px;text-align:right;line-height:1.6}
.offer-print .op-meta span{color:var(--muted)}
.offer-print .op-table{width:100%;border-collapse:collapse;margin-bottom:16px}
.offer-print .op-table td{padding:8px 4px;border-bottom:1px solid var(--line);font-size:14px}
.offer-print .op-table td.r{text-align:right;font-variant-numeric:tabular-nums}
.offer-print .op-total td{font-size:17px;font-weight:700;border-top:2px solid var(--ink);border-bottom:none;padding-top:12px}
.offer-print .op-total.accent td{color:var(--accent)}
.offer-print .op-note{font-size:11px;color:var(--muted);line-height:1.5;margin-top:24px}

/* ===== OCN – položkový rozpočet (on-screen i tisk) ===== */
.ocn-doc:empty::after,.offer-print:empty::after{content:""}
.ocn-doc:empty{display:none}
.ocn-head{border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:16px}
.ocn-firma{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ocn-head h1{font-size:22px;margin:2px 0 10px}
.ocn-meta{font-size:12px;line-height:1.6}
.ocn-meta span{color:var(--muted)}
.ocn-params{margin-top:8px;font-size:12px;color:var(--muted);line-height:1.5}
.ocn-table{width:100%;border-collapse:collapse;margin-bottom:16px}
.ocn-table td{padding:9px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.ocn-c{width:44px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}
.ocn-body strong{font-size:14px}
.ocn-popis{font-size:12px;color:var(--muted);line-height:1.5;margin-top:3px}
.ocn-total{width:100%;border-collapse:collapse;margin-bottom:18px}
.ocn-total td{padding:10px 6px;font-size:16px;font-weight:700;border-top:2px solid var(--ink)}
.ocn-total td.r{text-align:right;font-variant-numeric:tabular-nums}
.ocn-total tr.accent td{color:var(--accent);border-top:none;padding-top:2px}
.ocn-pozn h3{font-size:13px;margin:0 0 6px}
.ocn-pozn ul{margin:0;padding-left:18px}
.ocn-pozn li{font-size:11.5px;color:var(--muted);line-height:1.6}
.ocn-foot{font-size:11px;color:var(--muted);line-height:1.5;margin-top:18px}
.offer-print .ocn-head h1{font-size:24px}

@media print{
  header,.panel,.btn-light,.result-actions,.mode-switch,.tabs{display:none!important}
  main{grid-template-columns:1fr;padding:0}
  .result{border:none;position:static}
  /* v režimu export PDF nabídky ukaž jen čistou nabídku */
  body.printing-offer .tabpane{display:none!important}
  body.printing-offer #p-r-rozpocet{display:block!important}
  body.printing-offer *{visibility:hidden!important}
  body.printing-offer #offerPrint,body.printing-offer #offerPrint *{visibility:visible!important}
  body.printing-offer #offerPrint{display:block!important;position:absolute;left:0;top:0;width:100%;padding:0}
}

/* ---- Uživatelské menu (vlevo dole) + logout ---- */
.tenant-logout{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--muted);
  padding:6px;border-radius:8px;display:flex;align-items:center}
.tenant-logout svg{width:18px;height:18px}
.tenant-logout:hover{background:rgba(201,79,61,.1);color:var(--red)}
.tenant-logout:focus-visible{outline:2px solid var(--violet);outline-offset:1px}

/* ---- Správa uživatelů ---- */
.field-err{display:block;color:var(--red);font-size:12.5px;margin-top:4px;min-height:1em}
.user-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line)}
.user-row:first-child{border-top:none}
.user-main{flex:1;min-width:160px}
.user-main strong{display:block}
.user-main small{color:var(--muted);font-size:12px}
.user-state.on{color:var(--green);font-weight:600}
.user-state.off{color:var(--red);font-weight:600}
.user-actions{display:flex;gap:8px}
.user-reset{flex-basis:100%;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.user-reset-pw{flex:1;min-width:180px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font:inherit}
.user-reset-pw:focus{outline:2px solid var(--violet);border-color:var(--violet)}
.ro-note{margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--muted,#6b7280);max-width:420px}
button:disabled{opacity:.5;cursor:not-allowed}
