/* DataDent – interaktivní zubní kříž (v18) */
.kd-sec .head{margin-bottom:clamp(24px,3vw,36px)}
.kd-app{position:relative;z-index:1;border-radius:24px;background:#fff;box-shadow:var(--shadow-lg),0 0 0 1px rgba(221,235,235,.9);overflow:hidden}
.kd-app .app-top{background:#f8fbfb}
/* pacient + režimy */
.kd-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:14px 18px;border-bottom:1px solid var(--line)}
.kd-pat{display:flex;align-items:center;gap:12px;min-width:0}
.kd-pat .av{width:40px;height:40px;font-size:13px}
.kd-pat b{display:block;font-size:15px;letter-spacing:-.015em}.kd-pat small{display:block;font-size:12px;color:var(--muted)}
.kd-alerts{display:flex;gap:6px;flex-wrap:wrap}
.kd-modes{margin-left:auto;display:flex;gap:4px;padding:4px;border-radius:999px;background:#f1f6f6}
.kd-mode{font:inherit;font-size:13px;font-weight:600;border:0;cursor:pointer;padding:7px 14px;border-radius:999px;background:transparent;color:var(--muted);transition:background .2s,color .2s}
.kd-mode[aria-pressed="true"]{background:var(--ink);color:#fff}
/* lišta nástrojů */
.kd-toolbar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);background:#fafdfd}
.kd-grp{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kd-grp>small{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.kd-seg{display:flex;padding:3px;border-radius:12px;background:#edf4f5}
.kd-seg button{font:inherit;font-size:12.5px;font-weight:500;border:0;cursor:pointer;padding:6px 11px;border-radius:9px;background:transparent;color:var(--ink-2)}
.kd-seg button[aria-pressed="true"]{background:#fff;color:var(--violet);box-shadow:var(--shadow-sm);font-weight:600}
.kd-st[data-st="plan"][aria-pressed="true"]{color:var(--warn)}
.kd-ic{display:flex;gap:6px;margin-left:auto}
.kd-ic button{font:inherit;font-size:12.5px;font-weight:500;border:0;cursor:pointer;height:32px;padding:0 12px;border-radius:10px;background:#fff;color:var(--ink-2);box-shadow:0 0 0 1px var(--line) inset}
.kd-ic button:disabled{opacity:.45;cursor:default}
.kd-tools{display:flex;flex-wrap:wrap;gap:6px;padding:12px 18px;border-bottom:1px solid var(--line)}
.kd-tool{flex:none;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:12.5px;font-weight:500;border:0;cursor:pointer;height:36px;padding:0 10px 0 5px;border-radius:12px;background:#fff;color:var(--ink-2);box-shadow:0 0 0 1px var(--line) inset;transition:box-shadow .2s,background .2s}
.kd-tool:hover{box-shadow:0 0 0 1px #c3e8e9 inset}
.kd-tool[aria-pressed="true"]{background:var(--lav);color:var(--ink);box-shadow:0 0 0 1.5px var(--violet) inset}
.kd-ti{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--c,#6b7177) 14%,#fff);color:var(--c,var(--ink-2))}
.kd-tool kbd,.kd-tip kbd{font-family:var(--f-mono);font-size:10px;padding:1px 5px;border-radius:5px;background:#edf4f5;color:var(--muted)}
[data-mode="paro"] .kd-tools,[data-mode="dh"] .kd-tools,[data-mode="plan"] .kd-tools{opacity:.45}
[data-mode="paro"] .kd-onlyk,[data-mode="dh"] .kd-onlyk,[data-mode="plan"] .kd-onlyk{display:none}
/* hlavní plocha */
.kd-main{display:grid;grid-template-columns:minmax(0,1fr) 300px}
.kd-chartwrap{padding:18px;overflow-x:auto;border-right:1px solid var(--line);background:radial-gradient(ellipse 60% 40% at 50% 50%,#f3fbfc,transparent 70%)}
.kd-chart{min-width:calc(var(--n,16) * 46px);display:grid;gap:4px}
.kd-arch{display:grid;grid-template-columns:repeat(var(--n,16),minmax(0,1fr));gap:2px}
.kd-t.midr{margin-right:8px}
.kd-t.midr::after{content:"";position:absolute;right:-6px;top:8%;bottom:8%;border-right:1px dashed #d4e3e3}
.kd-mid{display:flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#a3aab2;padding:4px 6px}
.kd-mid i{flex:1;height:1px;background:repeating-linear-gradient(90deg,#d5e4e4 0 6px,transparent 6px 10px)}
.kd-mid span:last-child{margin-left:auto}
[data-mode="paro"] .kd-mid{justify-content:center}
.kd-t{position:relative;display:grid;justify-items:center;gap:4px;padding:6px 2px;border-radius:12px;cursor:pointer;outline:none;transition:background .2s}
.kd-t:hover{background:#f2f7f7}
.kd-t:focus-visible{box-shadow:0 0 0 2px var(--violet) inset}
.kd-t.sel{background:var(--lav);box-shadow:0 0 0 1.5px var(--violet) inset}
.kd-num{position:relative;font-family:var(--f-mono);font-size:11.5px;font-weight:500;color:var(--ink-2)}
.kd-t.sel .kd-num{color:var(--violet)}
.kd-alert{position:absolute;top:-6px;right:-12px;width:14px;height:14px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;background:#e0483d;color:#fff}
/* boční pohled */
.kd-side{width:100%;max-width:40px;height:auto;overflow:visible}
.kd-root{fill:#fbf8f2;stroke:#d9d1c4;stroke-width:1.2}
.kd-crown{fill:#fff;stroke:#d2e1e1;stroke-width:1.4}
.kd-crown.is-crown{fill:#f3d488;stroke:#d4a93c}
.kd-crown.is-crown.plan{fill:url(#kd-hatch);stroke:#f0a12a;stroke-dasharray:3 2}
.kd-endo{stroke:#18898b;stroke-width:3;stroke-linecap:round}
.kd-endo.plan{stroke:#f0a12a;stroke-dasharray:3 3}
.kd-impl rect{fill:#c8d5d6;stroke:#8d96a3}
.kd-impl path{stroke:#8d96a3;stroke-width:1.4}
.kd-impl.plan rect{fill:url(#kd-hatch);stroke:#f0a12a}
.kd-crack{fill:none;stroke:#e0483d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kd-side.is-missing>g,.kd-dia.is-missing path.kd-a{opacity:.18}
.kd-x{stroke:#9aa3ad;stroke-width:2.2;stroke-linecap:round}
.kd-x.plan{stroke:#e0483d;stroke-dasharray:4 3}
.kd-t.miss .kd-num{color:#b4bac1}
/* plochy */
.kd-dia{width:100%;max-width:40px;height:auto;display:block}
[data-view="plochy"] .kd-dia,[data-view="kruhy"] .kd-dia{max-width:46px}
.kd-a{fill:#fff;stroke:#d2e1e1;stroke-width:1.2;transition:fill .15s}
.kd-t:hover .kd-a:hover{fill:#e1f8f9}
.kd-sf{stroke:none}
.kd-a.caries,.kd-sf.caries{fill:#e0483d}
.kd-a.comp,.kd-sf.comp{fill:#03b2b5}
.kd-a.amal,.kd-sf.amal{fill:#8d96a3}
.kd-a.gic,.kd-sf.gic{fill:#60e2e4}
.kd-a.cer,.kd-sf.cer{fill:#18898b}
.kd-a.crown{fill:#f3d488}
.kd-a.implc{fill:#dce7e7}
.kd-a.plan,.kd-sf.plan{fill:url(#kd-hatch);stroke:#f0a12a;stroke-width:1.4}
.kd-sf{opacity:.92}
/* paro */
.kd-paro{gap:2px;cursor:default;padding:4px 1px}
.kd-pr,.kd-br{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;width:100%}
.kd-pd{font:500 11px/1 var(--f-mono);border:0;cursor:pointer;height:20px;border-radius:5px;padding:0}
.kd-pd.g{background:#e9f6ef;color:#1a9a55}.kd-pd.y{background:var(--warn-bg);color:var(--warn)}.kd-pd.r{background:var(--bad-bg);color:var(--bad);font-weight:700}
.kd-bop{justify-self:center;width:8px;height:8px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#e5efef}
.kd-bop.on{background:#e0483d;box-shadow:0 0 0 2px rgba(224,72,61,.18)}
.kd-pm{display:flex;gap:2px;font:500 9.5px var(--f-mono);color:var(--muted)}
.kd-pm span{padding:1px 3px;border-radius:4px;background:#f1f6f6}
.kd-gwrap{padding:0 2px}
.kd-graph{width:100%;height:64px;display:block}
.kd-graph polyline{fill:none;stroke:var(--violet);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.kd-graph .kd-zone{fill:rgba(224,72,61,.06)}
.kd-graph .kd-ref{stroke:#e5c07a;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.kd-arch.dn+.kd-gwrap,.kd-gwrap+.kd-arch{margin:0}
/* DH */
.kd-p{stroke:#d2e1e1;stroke-width:1.2;cursor:pointer}
.kd-p.p0{fill:#fff}.kd-p.p1{fill:#fde8b5}.kd-p.p2{fill:#f6c15c}.kd-p.p3{fill:#e08a2e}
.kd-p0c{fill:#f4f8f8;stroke:#d2e1e1;stroke-width:1.2}
.kd-scale{display:flex;gap:4px}
.kd-scale span{flex:1;text-align:center;padding:6px 0;border-radius:8px;font:500 12px var(--f-mono);box-shadow:0 0 0 1px var(--line) inset}
.kd-scale .p1{background:#fde8b5}.kd-scale .p2{background:#f6c15c}.kd-scale .p3{background:#e08a2e;color:#fff}
.kd-iso{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.kd-iso span{display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:12px;background:#f7fafa;box-shadow:0 0 0 1px #eaf2f3 inset;font-size:11.5px}
.kd-iso b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:var(--peri-d);font-size:11px}
.kd-iso em{font-style:normal;font-size:10.5px;color:var(--muted)}
/* plán */
.kd-plan{display:grid;gap:8px;padding:4px}
.kd-plan-h{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:8px;border-bottom:1px solid var(--line)}
.kd-plan-h b{font-size:16px}.kd-plan-h span{font-size:12.5px;color:var(--muted)}
.kd-pi-row{display:grid;grid-template-columns:30px 36px 10px 1fr;gap:2px 10px;align-items:center;padding:10px 12px;border-radius:12px;background:#f7fafa;box-shadow:0 0 0 1px #eaf2f3 inset;font-size:13.5px}
.kd-pn{font-size:11.5px;color:var(--muted)}.kd-pt{font-weight:500;color:var(--violet)}
.kd-pi-row>i{width:10px;height:10px;border-radius:3px}
/* stav záznamu = sdílená komponenta .stav (stavy.css): čtvereček + text, bez pilulky; zde jen menší písmo */
.kd-pi-row em,.kd-rec em,.kd-le em{font-style:normal;font-size:11px;white-space:nowrap}
/* stav záznamu = levý blok pod textem ve sloupci textu (pokyn majitele 31/10/2026, dřív poslední sloupec auto u pravé hrany) */
.kd-pi-row>em{grid-column:4;grid-row:2;justify-self:start}
.kd-rec>em{grid-column:2;grid-row:2;justify-self:start}.kd-rec>button{grid-column:3;grid-row:1}
.kd-le>em{grid-column:3;grid-row:2;justify-self:start}
.kd-plan-f{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}
/* inspektor */
.kd-insp{padding:18px;display:grid;gap:12px;align-content:start;background:#fff}
.kd-ih{display:flex;gap:12px;align-items:center}
.kd-ih>b{min-width:48px;height:48px;padding:0 6px;border-radius:14px;display:grid;place-items:center;font-size:18px;font-weight:500;background:linear-gradient(140deg,#019d9f,var(--violet-2) 55%,var(--peri));color:#fff}
.kd-ih strong{display:block;font-size:14.5px;letter-spacing:-.015em;line-height:1.25}.kd-ih small{display:block;font-size:12px;color:var(--muted)}
.kd-lbl{margin:4px 0 0;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.kd-recs{display:grid;gap:6px}
.kd-rec{display:grid;grid-template-columns:10px 1fr 24px;gap:2px 8px;align-items:center;padding:8px 10px;border-radius:11px;background:#f7fafa;box-shadow:0 0 0 1px #eaf2f3 inset;font-size:13px}
.kd-rec>i{width:10px;height:10px;border-radius:3px}
.kd-rec button{width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font-size:16px;line-height:1}
.kd-rec button:hover{background:var(--bad-bg);color:var(--bad)}
.kd-empty{margin:0;font-size:13px;color:var(--muted);padding:10px 12px;border-radius:11px;background:#f7fafa}
.kd-surf{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.kd-btn{font:inherit;font-size:12.5px;font-weight:600;border:0;cursor:pointer;min-height:34px;padding:0 8px;border-radius:10px;background:#fff;color:var(--ink-2);box-shadow:0 0 0 1px var(--line) inset}
.kd-btn:hover{box-shadow:0 0 0 1px var(--violet) inset;color:var(--violet)}
.kd-row2{display:grid;gap:6px}
.kd-row2 .kd-btn{text-align:left;font-weight:500}
.kd-tip{margin:0;font-size:12px;color:var(--muted);line-height:1.5}
.kd-kpi{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kd-kpi>div{padding:10px 12px;border-radius:12px;background:#f7fafa;box-shadow:0 0 0 1px #eaf2f3 inset}
.kd-kpi small{display:block;font-size:11px;color:var(--muted)}
.kd-kpi b{font-size:20px;font-weight:500;color:var(--violet)}
.kd-stb{font-family:var(--f-display)!important;font-size:15px!important}
.kd-cpitn>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px}
.kd-cpitn span{text-align:center;padding:8px 0;border-radius:9px;font:500 15px var(--f-mono)}
.kd-cpitn .c0{background:#e9f6ef;color:#1a9a55}.kd-cpitn .c1{background:#ecf6f6;color:var(--peri-d)}.kd-cpitn .c3{background:var(--warn-bg);color:var(--warn)}.kd-cpitn .c4{background:var(--bad-bg);color:var(--bad)}
.kd-ul{margin:0;padding-left:18px;font-size:13px;color:var(--ink-2);display:grid;gap:4px}
/* dekurz + legenda */
.kd-foot{display:grid;grid-template-columns:minmax(0,1fr) 300px;border-top:1px solid var(--line)}
.kd-dek{padding:14px 18px;border-right:1px solid var(--line)}
.kd-dek-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.kd-dek-h b{font-size:13.5px}.kd-dek-h span{font-size:11.5px;color:var(--muted)}
.kd-log{display:grid;gap:4px;align-content:start;min-height:196px}
.kd-le{display:grid;grid-template-columns:44px 30px 1fr;gap:2px 10px;align-items:center;font-size:12.5px;padding:6px 8px;border-radius:9px}
.kd-le:first-child{background:#f3fafb}
.kd-le .mono{font-size:11.5px;color:var(--muted)}.kd-le b.mono{color:var(--violet)}
.kd-lt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kd-legend{padding:14px 18px;display:grid;gap:10px;align-content:start}
.kd-lg{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11.5px;color:var(--ink-2)}
.kd-lg span{display:inline-flex;align-items:center;gap:6px}
.kd-lg i{width:12px;height:12px;border-radius:3px}
.kd-lg i.h{background:repeating-linear-gradient(45deg,#fde3b8 0 3px,#fff 3px 6px);box-shadow:0 0 0 1.4px #f0a12a inset}
.kd-counts{display:flex;gap:6px}
.kd-counts span{flex:1;padding:8px 10px;border-radius:11px;background:#f7fafa;box-shadow:0 0 0 1px #eaf2f3 inset;font-size:11px;color:var(--muted)}
.kd-counts b{display:block;font:500 18px var(--f-mono);color:var(--ink)}
.kd-counts .r b{color:var(--bad)}.kd-counts .o b{color:var(--warn)}.kd-counts .t b{color:var(--violet)}
.kd-hint{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin-top:18px;font-size:13px;color:var(--muted)}
.kd-hint span{display:inline-flex;align-items:center;gap:6px}
.kd-hint b{color:var(--ink-2)}
@media(max-width:1100px){.kd-main,.kd-foot{grid-template-columns:minmax(0,1fr)}.kd-chartwrap,.kd-dek{border-right:0;border-bottom:1px solid var(--line)}.kd-insp{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
@media(max-width:700px){.kd-modes{margin-left:0;width:100%;overflow-x:auto}.kd-ic{margin-left:0}.kd-le{grid-template-columns:40px 26px 1fr}}

@media(max-width:700px){.kd-tool kbd{display:none}.kd-tool{height:34px;font-size:12px}}
.kd-mode{white-space:nowrap}
@media(max-width:700px){.kd-modes{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.kd-hint{display:none}.kd-bar{padding:12px}.kd-toolbar,.kd-tools{padding:10px 12px}.kd-chartwrap{padding:12px}}
