/* Plant Diagnostician · demo-specific layout on top of app-base.css */
.title{font-size:34px;font-weight:700;letter-spacing:-.02em;margin:6px 0 10px}
.tabs{display:flex;gap:6px;margin:26px 0 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs [role=tab]{appearance:none;border:0;background:none;font:600 13px var(--sans);color:var(--cap);padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}
.tablede{max-width:80ch;color:var(--body);margin:0 0 18px}

.pick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.day{appearance:none;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 14px;cursor:pointer;font-family:var(--sans)}
.day:hover{border-color:var(--accent)}
.day.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.day .s{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;color:var(--cap);text-transform:uppercase}
.day .d{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-top:3px}
.day .v{display:block;font-family:var(--mono);font-size:10px;margin-top:4px;color:var(--cap)}
.day .v.ok{color:var(--ok)} .day .v.bad{color:var(--danger)} .day .v.na{color:var(--cap)}

.dxgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
@media(max-width:960px){.dxgrid{grid-template-columns:1fr}}
.colhead{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--cap);margin-bottom:10px}

.chart{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px 6px;margin-bottom:12px}
.chart .ch-t{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:600;color:var(--ink);margin-bottom:2px}
.chart .ch-t .u{font-family:var(--mono);font-size:10px;font-weight:400;color:var(--cap)}
.chart svg{display:block;width:100%;height:auto}
.chart .lgd{display:flex;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:9.5px;color:var(--cap);padding:4px 0 4px}
.chart .lgd i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:4px;vertical-align:middle}

.schemwrap{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px}
.schemwrap svg{display:block;width:100%;height:auto}
.schemwrap .comp rect,.schemwrap .comp circle,.schemwrap .comp path.body{fill:var(--bg);stroke:var(--line2)}
.schemwrap .comp.ok rect,.schemwrap .comp.ok circle,.schemwrap .comp.ok path.body{stroke:#9DC4AC;fill:var(--allow-bg)}
.schemwrap .comp.sus rect,.schemwrap .comp.sus circle,.schemwrap .comp.sus path.body{stroke:#E0B96A;fill:var(--esc-bg)}
.schemwrap .comp.bad rect,.schemwrap .comp.bad circle,.schemwrap .comp.bad path.body{stroke:var(--danger);fill:var(--block-bg);stroke-width:2}
.schemwrap text{font-family:var(--sans);font-size:11px;fill:var(--ink)}
.schemwrap .sm{font-family:var(--mono);font-size:8.5px;fill:var(--cap)}
.schemwrap .flow{stroke:var(--muted);fill:none;stroke-width:1.4}
.schemwrap .sens{fill:var(--accent)}
.schemwrap .sensv{font-family:var(--mono);font-size:9px;fill:var(--accent)}

.finding{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-top:12px;animation:rise .3s ease}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.finding .fh{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--ink)}
.finding .bd{margin-top:8px;font-size:13px;color:var(--body2);line-height:1.55}
.tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;padding:2.5px 8px;border-radius:20px;border:1px solid}
.tag-sys{color:var(--accent);background:#E9EFFB;border-color:#C9D8F4}
.tag-warn{color:var(--warn);background:var(--esc-bg);border-color:#E9D9B8}
.tag-bad{color:var(--danger);background:var(--block-bg);border-color:#EAC8C4}
.tag-ok{color:var(--ok);background:var(--allow-bg);border-color:#CDE6D7}

.evd{margin:8px 0 0;padding:0;list-style:none}
.evd li{position:relative;padding:5px 0 5px 22px;font-size:12.5px;color:var(--body2);border-bottom:1px dashed var(--line2)}
.evd li:last-child{border-bottom:0}
.evd li::before{content:"→";position:absolute;left:2px;color:var(--accent);font-family:var(--mono)}
.evd .mono{font-size:11px}
.whynot{margin-top:10px;padding:9px 13px;border-left:3px solid var(--line);background:var(--wash);font-size:12px;color:var(--body2);border-radius:0 6px 6px 0}
.whynot b{color:var(--ink)}
.verdict{margin-top:10px;padding:11px 14px;border-radius:6px;font-size:13px}
.verdict.bad{border-left:3px solid var(--danger);background:var(--block-bg)}
.verdict.ok{border-left:3px solid var(--ok);background:var(--allow-bg)}
.actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;align-items:center}
.btn{appearance:none;border:1px solid var(--ink);background:var(--ink);color:#fff;font:600 12.5px var(--sans);padding:9px 16px;border-radius:6px;cursor:pointer}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.reveal{font-size:12.5px}
.reveal .match{font-weight:600}
.score{font-family:var(--mono);font-size:11px;color:var(--cap)}

.rulecard{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:12px}
.rulecard .rt{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;font-weight:600;color:var(--ink)}
.rulecard .rid{font-family:var(--mono);font-size:10px;color:var(--cap)}
.rulecard .frm{font-family:var(--mono);font-size:11.5px;background:var(--wash);border-radius:6px;padding:8px 11px;margin:8px 0;color:var(--body2);overflow-x:auto}
.rulecard .why{font-size:12.5px;color:var(--body)}
.rulecard .bl{font-family:var(--mono);font-size:11px;color:var(--accent);margin-top:6px}

.databody{max-width:80ch;color:var(--body);font-size:14px}
.databody h3{font-size:15px;color:var(--ink);margin:22px 0 8px}
.databody .src{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 15px;font-size:12.5px;color:var(--body2)}
.databody .src .mono{font-size:11px}
.kv{display:grid;grid-template-columns:170px 1fr;gap:3px 14px;font-size:12.5px}
.kv .k{font-family:var(--mono);font-size:10.5px;color:var(--cap);text-transform:uppercase;letter-spacing:.05em;padding-top:2px}
.kv .v{color:var(--body2)}
.foot{margin-top:34px;font-family:var(--mono);font-size:11px;color:var(--cap)}
