:root{--bg: #f6f5f2;--panel: #ffffff;--ink: #1d1d1b;--muted: #6b6a66;--line: #dddad3;--accent: #2563eb;--accent-weak: #e6eefc;--wood: #c98a3c;--steel: #6b7280;--ok: #15803d;--warn: #b45309;--err: #b91c1c;--hint: #475569;--ok-bg: #e8f5ec;--warn-bg: #fdf3e2;--err-bg: #fde8e8;--hint-bg: #eef2f6;--radius: 8px;--font: "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--mono: "Cascadia Mono", Consolas, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #17181a;--panel: #1f2023;--ink: #ececea;--muted: #a3a29d;--line: #34353a;--accent: #6b9cff;--accent-weak: #1f2a44;--ok-bg: #12301d;--warn-bg: #3a2a10;--err-bg: #3d1515;--hint-bg: #222a33;--ok: #4ade80;--warn: #fbbf24;--err: #f87171;--hint: #94a3b8;color-scheme:dark}}:root[data-theme=dark]{--bg: #17181a;--panel: #1f2023;--ink: #ececea;--muted: #a3a29d;--line: #34353a;--accent: #6b9cff;--accent-weak: #1f2a44;--ok-bg: #12301d;--warn-bg: #3a2a10;--err-bg: #3d1515;--hint-bg: #222a33;--ok: #4ade80;--warn: #fbbf24;--err: #f87171;--hint: #94a3b8;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:14px/1.45 var(--font);color:var(--ink);background:var(--bg)}h1{font-size:20px;margin:0 0 12px}h2{font-size:16px;margin:20px 0 8px}h3{font-size:14px;margin:16px 0 6px}.app{display:grid;grid-template-columns:220px 1fr;height:100%}.app.site{grid-template-columns:1fr}.nav{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:auto}.nav .brand{padding:14px 16px;font-weight:700;border-bottom:1px solid var(--line)}.nav .brand small{display:block;font-weight:400;color:var(--muted)}.nav button{all:unset;cursor:pointer;padding:9px 16px;display:flex;justify-content:space-between;gap:8px}.nav button:hover{background:var(--accent-weak)}.nav button.active{background:var(--accent-weak);color:var(--accent);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.nav .sep{padding:12px 16px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.main{overflow:auto;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:5}.topbar .title{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{padding:16px 20px 40px;max-width:1400px;width:100%}.page.full{max-width:none;padding:0;flex:1;min-height:0;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.btn{font:inherit;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.small{padding:3px 8px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:5px 8px}input[type=number]{width:100px;text-align:right}label.field{display:grid;grid-template-columns:220px auto 1fr;gap:8px;align-items:center;padding:3px 0}label.field .hint{color:var(--muted);font-size:12px}table.grid{border-collapse:collapse;width:100%}table.grid th,table.grid td{border-bottom:1px solid var(--line);padding:5px 8px;text-align:left;vertical-align:top}table.grid th{font-size:12px;color:var(--muted);font-weight:600;background:var(--bg);position:sticky;top:0}table.grid td.num,table.grid th.num{text-align:right;font-variant-numeric:tabular-nums}table.grid tr.sel td{background:var(--accent-weak)}.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;font-weight:600}.badge.fehler{background:var(--err-bg);color:var(--err)}.badge.warnung{background:var(--warn-bg);color:var(--warn)}.badge.hinweis{background:var(--hint-bg);color:var(--hint)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.src{font-size:11px;padding:0 6px;border-radius:8px;background:var(--hint-bg);color:var(--hint)}.src.aufmass,.src.entscheidung,.src.statik,.src.angebot{background:var(--ok-bg);color:var(--ok)}.src.annahme{background:var(--warn-bg);color:var(--warn)}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px;flex-wrap:wrap}.tabs button{all:unset;cursor:pointer;padding:7px 12px;border-bottom:2px solid transparent}.tabs button.active{border-color:var(--accent);color:var(--accent);font-weight:600}.svgwrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.toast{position:fixed;bottom:16px;right:16px;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px;z-index:50}@media (max-width: 820px){.app{grid-template-columns:1fr}.nav{display:none}.app.navopen .nav{display:flex;position:fixed;top:0;right:30%;bottom:0;left:0;z-index:20}label.field{grid-template-columns:1fr auto}label.field .hint{grid-column:1 / -1}.page{padding:12px}}@media print{.nav,.topbar,.noprint{display:none!important}.app{display:block}body{background:#fff}}.mobile-only{display:none}@media (max-width: 820px){.mobile-only{display:inline-block}}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.card h3{margin:0}.vfield{display:flex;flex-direction:column;gap:4px}.vfield>span{font-size:12px;color:var(--muted)}.viewer-load{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 92%,transparent);padding:16px}.viewer-pw{display:flex;flex-direction:column;gap:10px;width:min(360px,100%)}.viewer-pw input[type=password]{font-size:16px;padding:10px 12px}.viewer-pw .btn{padding:10px;font-size:15px}.viewer-help{max-width:460px}.viewer-help ul{padding-left:18px}.bottomnav{display:none}@media (max-width: 820px){.app.viewer .main{padding-bottom:62px}.app.viewer .bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottomnav button{all:unset;flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 0 7px;font-size:11px;color:var(--muted);cursor:pointer}.bottomnav button .ic{font-size:20px;line-height:1.1}.bottomnav button.active{color:var(--accent);font-weight:600}.app.viewer .vhide{display:none}.app.viewer .topbar .btn.small{padding:6px 10px;font-size:14px}.app.viewer.navopen .nav{bottom:62px}table.grid{font-size:13px}.app.viewer .page.full{min-height:calc(100dvh - 110px)}}
