:root{--chart-in: #2563eb;--chart-out: #c2410c;--chart-grid: #e3e7ec;--chart-axis: #5b6672;--chart-active: rgba(15, 118, 110, .1)}@media (prefers-color-scheme: dark){:root{--chart-in: #60a5fa;--chart-out: #fb923c;--chart-grid: #2a323b;--chart-axis: #9aa5b1;--chart-active: rgba(45, 212, 191, .14)}}.flow-chart{display:block;width:100%;height:auto;max-height:260px}.fc-in{fill:var(--chart-in)}.fc-hatch-base{fill:var(--chart-out)}.fc-hatch-line{stroke:var(--surface);stroke-width:1.6}.fc-grid{stroke:var(--chart-grid);stroke-width:1}.fc-base{stroke:var(--chart-axis);stroke-width:1}.fc-label{fill:var(--chart-axis);font-size:11px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.fc-active{fill:var(--chart-active)}.fc-hit{fill:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.chart-tip{min-height:2.6em;margin:6px 0;font-size:.9rem}.chart-legend{list-style:none;margin:0 0 6px;padding:0;font-size:.85rem}.chart-legend li{display:inline-block;margin-right:16px}.chart-legend .swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}.chart-legend .swatch.in{background:var(--chart-in)}.chart-legend .swatch.out{background:repeating-linear-gradient(45deg,var(--chart-out) 0,var(--chart-out) 3px,var(--surface) 3px,var(--surface) 5px);border:1px solid var(--chart-out)}.chart-nav{margin:0 0 6px}.chart-nav button{min-height:44px;min-width:44px;margin-right:8px}.chart-table summary{cursor:pointer;padding:6px 0;min-height:40px}.review-tabs{display:flex;flex-wrap:wrap;margin:8px 0}.review-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:8px 12px;margin:0 6px 6px 0;border-radius:999px;font-size:.9rem;min-height:40px}.review-tabs button.on{background:var(--brand);color:var(--brand-text);border-color:var(--brand);font-weight:600}.review-toolbar{margin:4px 0 8px}.review-toolbar select{font-size:16px;margin:4px 0;max-width:100%}.group-title{font-size:.95rem;margin:14px 0 4px}.ignore-panel{border:1px solid var(--line);border-radius:10px;padding:10px;margin:8px 0}.ignore-panel legend{font-weight:600;padding:0 6px}.radio{display:block;padding:8px 0 2px;min-height:40px}.radio input{margin-right:8px}.rule-draft{margin:6px 0;padding-left:4px}.warn-text{color:var(--warn-fg);background:var(--warn-bg);padding:4px 8px;border-radius:6px;font-size:.85rem}.undo-bar{display:flex;justify-content:space-between;align-items:center;background:var(--warn-bg);color:var(--warn-fg);padding:8px 12px;border-radius:8px;margin:8px 0}:root{--bg: #f6f7f9;--surface: #ffffff;--text: #1b1f24;--muted: #5b6672;--line: #e3e7ec;--brand: #0f766e;--brand-text: #ffffff;--in: #15803d;--out: #b91c1c;--ok-bg: #dcfce7;--ok-fg: #166534;--warn-bg: #fef3c7;--warn-fg: #92400e;--bad-bg: #fee2e2;--bad-fg: #991b1b;--c0: #2563eb;--c1: #16a34a;--c2: #f59e0b;--c3: #ef4444;--c4: #8b5cf6;--c5: #0891b2;--c-nogoal: #be185d;--muted-bar: #9aa5b1;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #0f1317;--surface: #181d23;--text: #e8ecf0;--muted: #9aa5b1;--line: #2a323b;--brand: #2dd4bf;--brand-text: #06201d;--in: #4ade80;--out: #f87171;--ok-bg: #12341f;--ok-fg: #86efac;--warn-bg: #3a2e0b;--warn-fg: #fcd34d;--bad-bg: #3d1616;--bad-fg: #fca5a5;--c0: #60a5fa;--c1: #4ade80;--c2: #fbbf24;--c3: #f87171;--c4: #a78bfa;--c5: #22d3ee;--c-nogoal: #f472b6}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%}.app{max-width:560px;margin:0 auto;padding:12px 16px calc(84px + env(safe-area-inset-bottom));padding-top:calc(12px + env(safe-area-inset-top))}h2{font-size:1rem;margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:.85rem}.in{color:var(--in)}.out{color:var(--out)}.error{color:var(--bad-fg);background:var(--bad-bg);padding:10px 12px;border-radius:10px}.ok-text{color:var(--ok-fg);margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.kpis .card{margin:0}.kpi .label{display:block;color:var(--muted);font-size:.8rem}.kpi strong{font-size:1.15rem}.btn{display:inline-block;min-height:44px;padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;text-align:center;cursor:pointer}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-text);font-weight:600}.btn[disabled]{opacity:.5;cursor:default}.btn.small{min-height:36px;padding:6px 12px}.link{background:none;border:0;color:var(--brand);font:inherit;text-decoration:underline;padding:6px 0;cursor:pointer}.seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:12px;background:var(--surface)}.seg button{flex:1;min-height:40px;border:0;background:transparent;color:var(--text);font:inherit;cursor:pointer}.seg button.on{background:var(--brand);color:var(--brand-text);font-weight:600}.bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--line);margin-bottom:10px}.bar i{display:block;height:100%}.legend{list-style:none;margin:0;padding:0}.legend li{display:grid;grid-template-columns:14px 1fr auto auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.legend li:last-child{border-bottom:0}.dot{width:10px;height:10px;border-radius:5px;display:inline-block}.dot.gray{background:var(--muted-bar)}.chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;margin-right:4px}.chip.ok{background:var(--ok-bg);color:var(--ok-fg)}.chip.warn{background:var(--warn-bg);color:var(--warn-fg)}.chip.bad{background:var(--bad-bg);color:var(--bad-fg)}.alerts{width:100%;border-collapse:collapse;font-size:.9rem}.alerts th{text-align:left;color:var(--muted);font-weight:500;padding:4px 4px 6px 0}.alerts td{padding:6px 4px 6px 0;border-top:1px solid var(--line);vertical-align:top}.alerts tr.red td:last-child{color:var(--bad-fg)}.alerts tr.yellow td:last-child{color:var(--warn-fg)}.insights{list-style:none;margin:0;padding:0}.insights li{padding:8px 10px;border-radius:10px;margin-bottom:6px;background:var(--bg)}.insights li.warn{background:var(--warn-bg);color:var(--warn-fg)}.banner{display:flex;align-items:center;justify-content:space-between;background:var(--warn-bg);color:var(--warn-fg);border-radius:12px;padding:10px 12px;margin-bottom:12px}.banner span{flex:1;margin-right:10px}.tabbar{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar-inner{display:flex;max-width:560px;margin:0 auto}.tabbar button{flex:1;min-height:56px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer}.tabbar button.on{color:var(--brand);font-weight:700}.empty{text-align:center;padding:28px 16px}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.review{list-style:none;margin:0;padding:0}.review .row{display:flex;padding:10px 0;border-bottom:1px solid var(--line)}.review .row.dim{opacity:.6}.review .check{padding:4px 12px 0 0}.review .check input{width:22px;height:22px}.review .main{flex:1;min-width:0}.review .desc{font-weight:600;overflow-wrap:anywhere}.review .meta{color:var(--muted);font-size:.9rem}.review .badges{margin:4px 0}.review .controls select{display:block;width:100%;margin-top:6px}.savebar{position:fixed;left:0;right:0;bottom:calc(57px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);padding:10px 16px}.savebar-inner{display:flex;align-items:center;max-width:560px;margin:0 auto}.savebar-inner .btn.primary{flex:1}input[type=text],input[type=number],select{font:inherit;font-size:16px;min-height:44px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);width:100%}input[readonly]{opacity:.7}.field{display:block;margin-bottom:12px}.field>span{display:block;font-size:.85rem;color:var(--muted);margin-bottom:4px}.target{padding:10px 0;border-bottom:1px solid var(--line)}.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.list{list-style:none;margin:0;padding:0}.list-row{padding:10px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-main{word-wrap:break-word;overflow-wrap:anywhere}.list .list{margin-left:16px}.actions{margin-top:6px}.actions .btn,.actions .link{margin-right:8px;margin-bottom:4px}.preview{list-style:none;margin:0 0 12px;padding:8px 10px;border-radius:10px;background:var(--bg);font-size:.9rem}.preview li{padding:2px 0}.hint{margin:4px 0 8px}.menu{list-style:none;margin:0;padding:0}.menu li{margin-bottom:8px}.menu button{display:block;width:100%;min-height:56px;padding:10px 14px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.menu button small{display:block;color:var(--muted)}.back{display:inline-block;min-height:44px;margin-bottom:4px;background:none;border:0;color:var(--brand);font:inherit;cursor:pointer}.ocr-text{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:10px;padding:8px 10px;font-size:.85rem}.edit{margin-top:6px}
