:root{--bg:#ecebe8;--card:#fff;--fg:#2a211c;--mut:#7c7069;--line:#e3ddd6;--brand:#5a3426;--ok:#15803d;--warn:#a16207;--bad:#b91c1c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1b1715;--card:#26201d;--fg:#f3ede8;--mut:#a89c94;--line:#3d3430;--brand:#c08a6a;--ok:#4ade80;--warn:#facc15;--bad:#f87171}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:14px/1.4 system-ui,sans-serif}main{padding:12px}h1{margin:0;font-size:20px}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin:0 0 8px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-top:12px;padding:12px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.muted{color:var(--mut)}.mono{word-break:break-all;font:12px/1.4 ui-monospace,monospace}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.stat{border:1px solid var(--line);border-radius:8px;padding:8px}.stat b{font-size:20px;display:block}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);border-radius:7px;padding:8px 14px}button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.layout{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:12px;display:grid}.col-log{top:calc(12px + var(--banner-h,0px));height:calc(100vh - 24px - var(--banner-h,0px));flex-direction:column;min-width:0;display:flex;position:sticky}.col-log>#log{flex-direction:column;flex:1;min-height:0;display:flex}.col-log .card{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.col-main{min-width:0}.col-main>#app>.row:first-child{margin-top:2px}.col-main .card:first-of-type{margin-top:12px}@media (width<=900px){.layout{grid-template-columns:minmax(0,1fr)}.col-log{order:2;height:60vh;position:static}}ul{margin:0;padding:0;list-style:none}.sale{border-top:1px solid var(--line);padding:8px 0}.sale:first-child{border-top:0}.badge{border:1px solid;border-radius:4px;padding:1px 6px;font-size:11px}.sale[data-state=wartend] .badge{color:var(--warn)}.sale[data-state=hochgeladen] .badge{color:var(--ok)}.error{color:var(--bad)}[hidden]{display:none!important}#banner{z-index:10;margin:-12px -12px 12px;position:sticky;top:0}.banner{background:var(--warn);color:#fff;border-radius:0 0 8px 8px;padding:8px 12px;font-weight:600;box-shadow:0 2px 6px #00000040}.faults{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:8px;display:grid}.faults label{color:var(--mut);flex-direction:column;gap:4px;font-size:12px;display:flex}.faults select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:6px;padding:6px}summary{cursor:pointer}[data-testid=zentralrechner-panel]>div{margin-top:4px}.zr-status{border:1px solid;border-radius:999px;padding:1px 8px;font-size:12px}[data-state=reachable] .zr-status{color:var(--ok)}[data-state=unreachable] .zr-status{color:var(--bad)}[data-testid=zentralrechner-data][data-kind=memory]{color:var(--warn);font-weight:600}.notice{border-color:var(--warn)}.notice p{margin:6px 0}.check{align-items:flex-start;gap:8px;margin-top:10px;font-size:13px;display:flex}.check input{margin-top:2px}.data-groups h3{margin:12px 0 6px;font-size:13px}.data-groups{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 16px;display:grid}button.danger{border-color:var(--bad);color:var(--bad)}.confirm{border:1px solid var(--bad);border-radius:8px;margin-top:10px;padding:8px 12px}.col-main #data .card,.col-main #debug .card,.col-main #dataset .card{margin-top:12px}.log{flex:1;min-height:0;margin-top:8px;overflow:auto}.log-entry{border-bottom:1px solid var(--line);padding:2px 0}.log-entry .t{color:var(--mut)}.log-entry .src{min-width:46px;color:var(--mut);display:inline-block}.log-entry .d{color:var(--mut)}.log-entry[data-level=ok]{color:var(--ok)}.log-entry[data-level=warn]{color:var(--warn)}.log-entry[data-level=bad]{color:var(--bad)}.fatal{border-color:var(--bad)}.fatal h1{color:var(--bad)}.results h3{margin:14px 0 6px;font-size:13px}.results-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:8px;display:grid}.results label{color:var(--mut);flex-direction:column;gap:4px;font-size:12px;display:flex}.results input,.results select,.results textarea{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:6px;padding:6px}.results label.stacked{margin:8px 0}.record{border-top:1px solid var(--line);padding:8px 0}.record:first-child{border-top:0}.record[data-verdict=pass] .badge{color:var(--ok)}.record[data-verdict=fail] .badge{color:var(--bad)}.record[data-verdict=recorded] .badge{color:var(--warn)}.record[data-uploaded=false]{background:color-mix(in srgb,var(--warn) 8%,transparent)}
