.mavk{
  --bg:#f3f5f8;--panel:#ffffff;--panel2:#e9edf3;--line:#d3d9e2;--text:#1c2430;--muted:#5d6b7c;
  --accent:#0076BE;--accent2:#005a92;--orange:#f4702b;--ok:#2e8b57;--warn:#c98a00;--crit:#c0392b;
  --canvas:#f8f9fb;--shadow:0 1px 3px rgba(20,35,60,.12);
  font-family:'Barlow',system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){
.mavk:not([data-theme="light"]){color-scheme:dark;
  --bg:#141a22;--panel:#1d2530;--panel2:#252f3c;--line:#36424f;--text:#e8edf3;--muted:#9aa8b8;--accent:#5b9bd5;--accent2:#7fb4e6;--canvas:#2a333f;--shadow:0 1px 3px rgba(0,0,0,.4)}
}
.mavk[data-theme="dark"]{color-scheme:dark;
  --bg:#141a22;--panel:#1d2530;--panel2:#252f3c;--line:#36424f;--text:#e8edf3;--muted:#9aa8b8;--accent:#5b9bd5;--accent2:#7fb4e6;--canvas:#2a333f;--shadow:0 1px 3px rgba(0,0,0,.4)}
.mavk *{box-sizing:border-box}
.mavk [hidden]{display:none!important}
.mavk h1,.mavk h2,.mavk h3{font-family:'Barlow Semi Condensed','Barlow',sans-serif;text-wrap:balance;margin:0}
.mavk .app{display:grid;grid-template-rows:auto 1fr;height:100%;min-height:100%}
.mavk header.top{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--accent);color:#fff;flex-wrap:wrap}
.mavk header.top h1{font-size:19px;font-weight:700;letter-spacing:.2px}
.mavk header.top .brand{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.mavk header.top .logo{background:#fff;border-radius:6px;padding:7px 12px;display:flex;align-items:center}
.mavk header.top .logo img{display:block;height:22px;width:auto}
.mavk .price{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}
.mavk .price b{font-size:18px;font-family:'Barlow Semi Condensed',sans-serif;display:block}
.mavk.is-kunde .price{max-width:360px;text-align:right}
.mavk.is-kunde .price small{white-space:normal;line-height:1.3}
.mavk .price small{display:block;font-size:11px;opacity:.85}
.mavk .tools{display:flex;gap:6px;flex-wrap:wrap}
.mavk button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:4px;padding:6px 10px}
.mavk button:focus-visible,.mavk input:focus-visible,.mavk select:focus-visible{outline:2px solid var(--orange);outline-offset:1px}
.mavk button.primary{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:600}
.mavk button.ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.mavk button.sel{background:var(--accent);border-color:var(--accent);color:#fff}
.mavk main{display:grid;grid-template-columns:400px 1fr;min-height:0}
.mavk aside{overflow:auto;border-right:1px solid var(--line);background:var(--panel);padding:12px 16px 40px}
.mavk .stage{display:grid;grid-template-rows:minmax(300px,1fr) auto;min-height:0}
.mavk #view{position:relative;background:var(--canvas);min-height:300px}
.mavk #view canvas{display:block;position:absolute;inset:0;width:100%!important;height:100%!important}
.mavk .overlay{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;gap:6px;pointer-events:none}
.mavk .chip{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px;font-variant-numeric:tabular-nums;box-shadow:var(--shadow);pointer-events:auto}
.mavk .chip.warn{border-color:var(--warn);color:var(--warn)}
.mavk .chip.crit{border-color:var(--crit);color:var(--crit)}
.mavk .chip.ok{border-color:var(--ok);color:var(--ok)}
.mavk .viewbtns{position:absolute;right:10px;top:10px;display:flex;gap:6px}
.mavk .viewbtns button{font-size:12px;padding:4px 8px}
.mavk #loading[hidden]{display:none}
.mavk .wm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-20deg);width:38%;opacity:.13;pointer-events:none;user-select:none}
.mavk .wm img{width:100%;height:auto;display:block}
.mavk #loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);color:#fff;font-size:15px}
.mavk .bottom{border-top:1px solid var(--line);background:var(--panel);max-height:42vh;overflow:auto}
.mavk .tabs{display:flex;gap:0;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}
.mavk .tabs button{border:0;border-radius:0;border-bottom:2px solid transparent;padding:8px 14px;background:transparent}
.mavk .tabs button.sel{border-bottom-color:var(--orange);color:var(--text);background:transparent;font-weight:600}
.mavk .tabpane{padding:12px 16px}
.mavk .step{border-top:1px solid var(--line);padding:12px 0}
.mavk .step:first-child{border-top:0}
.mavk .step h2{font-size:15px;display:flex;align-items:center;gap:8px;margin-bottom:8px}
.mavk .step h2 .n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px}
.mavk .step .hint{color:var(--muted);font-size:12px;margin-bottom:8px}
.mavk .opts{display:flex;flex-wrap:wrap;gap:6px}
.mavk .opts button{padding:6px 10px;font-size:13px}
.mavk .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0}
.mavk .row label{min-width:120px;color:var(--muted);font-size:12px}
.mavk input[type=number],.mavk select,.mavk input[type=text]{font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--text);width:110px}
.mavk input[type=range]{width:100%}
.mavk .fields{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}
.mavk .fields button{padding:4px 9px;font-size:12px}
.mavk .sub{background:var(--panel2);border-radius:6px;padding:8px 10px;margin-top:6px}
.mavk .sub h3{font-size:13px;margin-bottom:4px}
.mavk table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.mavk th,.mavk td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.mavk th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.mavk td.r,.mavk th.r{text-align:right}
.mavk .tot td{font-weight:600}
.mavk .warnbox{border-left:3px solid var(--warn);background:var(--panel2);padding:8px 10px;margin:6px 0;font-size:13px}
.mavk .warnbox.crit{border-left-color:var(--crit)}
.mavk .warnbox.info{border-left-color:var(--accent)}
.mavk .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 24px}
.mavk .kv{display:grid;grid-template-columns:1fr auto;gap:2px 12px;font-size:13px}
.mavk .kv span:nth-child(odd){color:var(--muted)}
.mavk .kv span:nth-child(even){text-align:right;font-variant-numeric:tabular-nums}
.mavk .levels{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:4px 8px;font-size:12px;align-items:center}
.mavk .levels select{width:100%;font-size:12px;padding:3px 4px}
.mavk details.step summary::-webkit-details-marker{display:none}
.mavk details.step summary{list-style:none}
.mavk details.step summary h2{margin:0}
.mavk details.step summary::before{content:'▸';display:inline-block;width:14px;color:var(--muted)}
.mavk details.step[open] summary::before{content:'▾'}
.mavk dialog{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);max-width:560px;width:calc(100% - 32px);padding:18px}
.mavk dialog:not([open]){display:none}
.mavk #dlgPdf[open]{display:flex;flex-direction:column}
.mavk dialog::backdrop{background:rgba(0,0,0,.4)}
.mavk dialog h2{margin-bottom:10px}
.mavk .settings .row label{min-width:190px}
.mavk textarea{width:100%;font:12px/1.4 ui-monospace,monospace;min-height:70px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:4px}
.mavk .muted{color:var(--muted)}
.mavk .small{font-size:12px}
.mavk .est{color:var(--warn)}
html.kunde .intern-only,.mavk.is-kunde .intern-only{display:none!important}
html.intern .kunde-only{display:none!important}
@media (max-width:900px){
/* Mobil: alles untereinander, keine feste Höhe – 3D-Ansicht oben, darunter Bedienung, nichts wird abgeschnitten */
.mavk{min-height:0}
.mavk .app{height:auto;display:block}
.mavk main{display:flex;flex-direction:column;min-height:0}
.mavk aside{border-right:0;border-top:1px solid var(--line);max-height:none;overflow:visible;order:2;padding:12px 14px 24px}
.mavk .stage{order:1;display:block}
.mavk #view{height:56vh;min-height:320px}
.mavk .bottom{max-height:45vh;overflow:auto}
.mavk header.top{padding:8px 12px;gap:8px}
.mavk header.top h1{font-size:16px}
}
@media (prefers-reduced-motion: reduce){
.mavk *{transition:none!important}
}
.mavk{background:var(--bg);color:var(--text);font-family:"Barlow",system-ui,sans-serif;font-size:14px;line-height:1.4;min-height:88vh}
.mavk .app{height:88vh}
.mavk header.top h1,.mavk header.top .brand{color:#fff}
.mavk .admin-tools{display:inline-flex;gap:6px}
.mavk .admin-tools[hidden]{display:none}

/* Kunden: nur 3D-Ansicht, keine Reiter (Zusammenfassung/Materialliste/Belastungsschild/Zeichnung) – die Details kommen im Angebots-PDF */
.mavk.is-kunde .bottom{display:none}
.mavk.is-kunde .stage{grid-template-rows:1fr}
.mavk.is-kunde #view{min-height:520px}
@media (max-width:900px){.mavk.is-kunde #view{height:62vh}}
