:root{--ink:#143953;--surface:#fff;--paper:#f4f7f6;--action:#d2005a;--action-ink:#fff;--muted:#467589;--warn:#e6c317;--danger:#b11e41;--ok:#14b996;--tint:#aadcbe;--tint-soft:#aadcbe59;--line:#14395333;--logo-mark:var(--ok);--font-display:"oook-variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--t-12:.75rem;--t-14:.875rem;--t-16:1rem;--t-20:1.25rem;--t-24:1.5rem;--t-32:2rem;--t-44:2.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--s-12:48px;--target:48px;--target-admin:40px;--row-h:36px;--ease:.15s ease-out}@media (prefers-reduced-motion:reduce){:root{--ease:0s}}*,:before,:after{box-sizing:border-box;border-radius:0}html{-webkit-text-size-adjust:100%}body{background:var(--surface);color:var(--ink);font:400 var(--t-16)/1.5 var(--font-body);font-variant-numeric:tabular-nums;margin:0}body.zone-data{background:var(--paper)}#app{min-height:100vh}a{color:var(--action);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.on-dark :focus-visible{outline-color:#fff}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}h1,h2,h3,h4,p{margin:0}h1{font:800 var(--t-32)/1.05 var(--font-display);text-transform:uppercase;letter-spacing:-.01em;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin:.2em 0 .4em}h2{font:800 var(--t-24)/1.15 var(--font-display);margin:1.4em 0 .5em}h3{font:800 var(--t-20)/1.2 var(--font-display);margin:1em 0 .4em}h4{font:800 var(--t-16)/1.3 var(--font-body)}p+p{margin-top:var(--s-2)}.muted{color:var(--muted)}.small{font-size:var(--t-14)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--t-14);word-break:break-all}.num,td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.wrap{max-width:920px;padding:var(--s-4);margin:0 auto}.wrap.wide{max-width:1100px}.wrap.narrow{max-width:420px}.row{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.row.spread{justify-content:space-between}.grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.scroll{overflow-x:auto}.stack>*+*{margin-top:var(--s-4)}header.top{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:2px solid var(--ink);background:var(--surface);display:flex}header.top .brand{color:var(--ink);align-items:center;text-decoration:none;display:flex}.logo{width:auto;height:20px;color:var(--ink);display:block}.logo .dv-t{fill:currentColor}.logo .dv-m{fill:var(--logo-mark,var(--ok))}.on-dark .logo{color:#fff}.foot{max-width:920px;margin:var(--s-6) auto;padding:0 var(--s-4);font-size:var(--t-14);color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--ink);padding:var(--s-4);margin:var(--s-3) 0}.line{justify-content:space-between;gap:var(--s-2);padding:var(--s-3) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}button,.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--target);padding:0 var(--s-4);border:2px solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer;text-align:center;transition:background var(--ease), color var(--ease);font-weight:800;line-height:1.1;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:var(--ink);color:#fff}button.primary,.btn.primary{background:var(--action);border-color:var(--action);color:var(--action-ink)}button.primary:hover:not(:disabled),.btn.primary:hover{background:var(--ink);border-color:var(--ink)}button.danger,.btn.danger{color:var(--danger);border-color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger);color:#fff}button.quiet,.link-btn{color:var(--action);min-height:40px;padding:0 var(--s-2);background:0 0;border-color:#0000;font-weight:700;text-decoration:underline}button.quiet:hover:not(:disabled),.link-btn:hover{color:var(--ink);background:0 0}button:disabled{opacity:.45;cursor:not-allowed}body.zone-data button,body.zone-data .btn,body.zone-data input,body.zone-data select{min-height:var(--target-admin)}body.zone-data button,body.zone-data .btn{padding:0 var(--s-3);font-size:var(--t-14)}.lang button{min-height:36px;padding:0 var(--s-3);font-size:var(--t-14)}label{margin-bottom:var(--s-1);font-weight:700;display:block}input,select,textarea{width:100%;min-height:var(--target);padding:0 var(--s-3);border:2px solid var(--ink);background:var(--surface)}textarea{padding:var(--s-3);resize:vertical;min-height:96px}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:0;accent-color:var(--ink);flex:none;padding:0}input[type=file]{padding:var(--s-2) var(--s-3);height:auto}.field{margin-bottom:var(--s-4)}.field.error input,.field.error select{border-color:var(--danger)}.help{font-size:var(--t-14);color:var(--muted);margin-top:var(--s-1)}.msg-err{border-left:4px solid var(--danger);padding:2px 0 2px var(--s-2);margin-top:var(--s-2);font-size:var(--t-14);color:var(--danger);font-weight:600}.msg-warn{border-left:4px solid var(--ink);padding:2px 0 2px var(--s-2);margin-top:var(--s-2);font-size:var(--t-14);font-weight:600}.group-title{border-top:2px solid var(--ink);padding-top:var(--s-3);margin-top:var(--s-6)}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{padding:var(--s-2) 0;border-bottom:1px solid var(--line);align-items:center}.design-picker .design{padding:var(--s-3) var(--s-4)}.design-picker .variant-row{padding:var(--s-2) 0;border-top:1px solid var(--line);align-items:center;gap:var(--s-3);flex-wrap:nowrap}.design-picker .variant-row>:first-child{overflow-wrap:anywhere;min-width:0}fieldset.plain{border:0;margin:0;padding:0}fieldset.plain legend{padding:0;font-weight:700}label.check{align-items:center;gap:var(--s-2);margin:0;font-weight:400;display:flex}label.check.strong{font-weight:700}.alert{padding:var(--s-3) var(--s-4);margin:var(--s-3) 0;border-left:6px solid var(--ink);background:var(--paper)}.alert.ok{background:var(--tint-soft);border-left-color:var(--ok)}.alert.warn{background:var(--warn);color:var(--ink);border-left-color:var(--ink)}.alert.err{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--danger);color:var(--ink)}.alert.err:before{content:"Fehler: ";color:var(--danger);font-weight:800}.badge{padding:0 var(--s-2);border:1px solid var(--ink);min-height:24px;font-size:var(--t-12);white-space:nowrap;background:var(--surface);align-items:center;gap:6px;font-weight:800;display:inline-flex}.badge.ok,.badge.warn,.badge.err{font-size:var(--t-14);background:0 0;border-color:#0000;padding-left:0}.badge.ok:before,.badge.warn:before,.badge.err:before{content:"";clip-path:polygon(0 12%,100% 12%,50% 100%);flex:none;width:14px;height:14px}.badge.ok:before{background:var(--ok)}.badge.warn:before{background:var(--action)}.badge.err:before{background:var(--danger)}.badge.err{color:var(--danger)}.vm{vertical-align:-2px;flex:none;width:14px;height:14px;display:inline-block}.vm path{stroke-width:2.2px;stroke-linejoin:miter}.vm.open path{fill:none;stroke:var(--ink)}.vm.done path{fill:var(--ok);stroke:var(--ok)}.vm.action path{fill:var(--action);stroke:var(--action)}.vm.blocked path{fill:var(--danger);stroke:var(--danger)}.vm.blocked .bang{fill:#fff;stroke:none}.state{font-weight:700;font-size:var(--t-14);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.state.is-blocked{color:var(--danger)}progress{appearance:none;border:2px solid var(--ink);background:var(--paper);width:100%;height:12px;display:block}progress::-webkit-progress-bar{background:var(--paper)}progress::-webkit-progress-value{background:var(--ink)}progress::-moz-progress-bar{background:var(--ink)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);vertical-align:top}th{font-size:var(--t-14);border-bottom:2px solid var(--ink);white-space:nowrap;background:var(--paper);font-weight:800}tr.selected td{background:var(--tint-soft)}.tabbar{gap:var(--s-1);border-bottom:2px solid var(--ink);margin:var(--s-3) 0;display:flex;overflow-x:auto}.tabbar button,.tabbar a{color:var(--ink);min-height:44px;padding:0 var(--s-4);white-space:nowrap;background:0 0;border:2px solid #0000;border-bottom:0;align-items:center;margin-bottom:-2px;font-weight:700;text-decoration:none;display:inline-flex}.tabbar button:hover:not(:disabled),.tabbar a:hover{background:var(--tint-soft);color:var(--ink)}.tabbar [aria-selected=true],.tabbar [aria-current=page]{border-color:var(--ink);background:var(--paper);border-bottom:2px solid var(--paper)}.scrim{z-index:100;background:#14395399;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-top:6px solid var(--ink);width:100%;max-height:90vh;padding:var(--s-6) var(--s-4) calc(var(--s-6) + env(safe-area-inset-bottom));animation:up var(--ease);overflow:auto}.sheet .in{max-width:560px;margin:0 auto}.sheet h2{margin:0 0 var(--s-3)}.sheet .actions{gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.sheet .actions button{flex:auto}@keyframes up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (width>=900px){.scrim{align-items:flex-start;padding-top:8vh}.sheet{border:2px solid var(--ink);border-top:8px solid var(--ink);width:600px;padding:var(--s-6);max-height:84vh}}.consequences{border-top:2px solid var(--ink);margin:0;padding:0;list-style:none}.consequences li{gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line);display:flex}.consequences li .vm{margin-top:5px}.toast{left:var(--s-4);right:var(--s-4);bottom:var(--s-6);background:var(--ink);color:#fff;max-width:520px;padding:var(--s-3) var(--s-4);justify-content:space-between;align-items:center;gap:var(--s-4);z-index:110;margin:0 auto;font-weight:600;display:flex;position:fixed}.toast button{color:#fff;min-height:40px;padding:0 var(--s-2);background:0 0;border:0;text-decoration:underline}.toast button:hover:not(:disabled){color:#fff;background:0 0}.barbottom{background:var(--surface);border-top:2px solid var(--ink);padding:var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom));z-index:20;position:fixed;bottom:0;left:0;right:0}.barbottom .in{justify-content:space-between;align-items:center;gap:var(--s-3);max-width:920px;margin:0 auto;display:flex}.price-line .label{font-size:var(--t-12);color:var(--muted);margin:0;font-weight:700}.price-line .amount{font-size:var(--t-24);font-weight:800;line-height:1.1}.kpi-num{font-size:var(--t-24);font-weight:800;font-family:var(--font-display)}.kpi-num.sm{font-size:var(--t-20)}.warn-text{color:var(--ink);background:var(--warn);padding:0 var(--s-1);font-weight:700}.mt-0{margin-top:0!important}.mb-0{margin-bottom:0!important}.m-0{margin:0!important}.mt-1{margin-top:var(--s-1)}.mt-2{margin-top:var(--s-2)}.mt-3{margin-top:var(--s-3)}.mb-2{margin-bottom:var(--s-2)}.mb-3{margin-bottom:var(--s-3)}.ml-1{margin-left:var(--s-2)}.my-2{margin:var(--s-2) 0}.my-3{margin:var(--s-3) 0}.fw-400{font-weight:400}.fw-600{font-weight:600}.self-end{align-self:end}.list-tight{padding-left:var(--s-4);margin:0}.fx-1-140{flex:1;min-width:140px}.fx-1-160{flex:1;min-width:160px}.fx-1-200{flex:1;min-width:200px}.fx-1-220{flex:1;min-width:220px}.fx-2-180{flex:2;min-width:180px}.fx-2-200{flex:2;min-width:200px}.minw-220{min-width:220px}.price-in{text-align:right;font-variant-numeric:tabular-nums;width:7rem;max-width:100%}@media (width<=520px){.wrap{padding:var(--s-3)}h1{font-size:var(--t-24)}}@media print{.barbottom,.toast,.scrim{display:none}}.chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.chip{min-height:var(--target);min-width:var(--target);padding:0 var(--s-4);border:2px solid var(--ink);background:var(--surface);color:var(--ink);font-weight:700}.chip[aria-checked=true]{background:var(--ink);color:#fff}.chip.locked{color:var(--muted);cursor:not-allowed;background:repeating-linear-gradient(135deg,#0000 0 6px,#14395312 6px 7px);border-style:dashed}.chip.locked:hover:not(:disabled){color:var(--muted);background:repeating-linear-gradient(135deg,#0000 0 6px,#14395312 6px 7px)}.reason{border-left:2px solid var(--muted);padding:0 0 0 var(--s-2);margin-top:var(--s-2);font-size:var(--t-14);color:var(--muted)}.reason.flash{color:var(--ink);border-left:4px solid var(--action);font-weight:700}.seg{border:2px solid var(--ink);display:flex}.seg button{background:var(--surface);border:0;flex:1;min-height:44px}.seg button+button{border-left:2px solid var(--ink)}.seg button[aria-checked=true]{background:var(--ink);color:#fff}.stepper{border:2px solid var(--ink);align-items:stretch;display:inline-flex}.stepper button{width:var(--target);font-size:var(--t-20);border:0}.stepper output{min-width:48px;font-weight:800;font-size:var(--t-20);border-left:2px solid var(--ink);border-right:2px solid var(--ink);place-items:center;display:grid}.note{padding:var(--s-3) var(--s-4);border-left:6px solid var(--ink);background:var(--paper)}.note.action{background:var(--surface);border:2px solid var(--ink);border-left:8px solid var(--action)}.errsum{border:2px solid var(--danger);background:var(--surface);padding:var(--s-4);border-left-width:8px}.errsum h4{color:var(--danger);margin-bottom:var(--s-2)}.errsum ul{padding-left:var(--s-4);margin:0}.errsum a{color:var(--ink);font-weight:700}.swatch{align-items:center;gap:var(--s-3);display:flex}.swatch i{border:1px solid var(--line);flex:none;width:40px;height:40px;display:block}.sw-ink{background:var(--ink)}.sw-surface{background:var(--surface)}.sw-paper{background:var(--paper)}.sw-action{background:var(--action)}.sw-muted{background:var(--muted)}.sw-warn{background:var(--warn)}.sw-danger{background:var(--danger)}.sw-ok{background:var(--ok)}.sw-tint{background:var(--tint)}.brand-chip{background:var(--ink);padding:var(--s-2) var(--s-3);display:inline-block}.shell-admin{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.rail{background:var(--ink);color:#fff;padding:var(--s-6) 0;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.rail .brand{padding:0 var(--s-6) var(--s-6);display:block}.rail>a:not(.brand){justify-content:space-between;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-6);color:#ffffffd9;min-height:44px;font-weight:600;text-decoration:none;display:flex}.rail>a:not(.brand):hover{color:#fff;background:#ffffff14}.rail>a.router-link-active:not(.brand){color:#fff;box-shadow:inset 4px 0 0 var(--action);background:#ffffff1a;font-weight:800}.rail .cnt{background:var(--action);color:#fff;font-size:var(--t-12);text-align:center;min-width:22px;padding:0 6px;font-weight:800}.rail .foot{padding:var(--s-4) var(--s-6) 0;font-size:var(--t-12);color:#ffffffbf;max-width:none;margin-top:auto;margin-left:0;margin-right:0}.rail .foot-row{gap:var(--s-2);margin-top:var(--s-2)}.rail .quiet{color:#fff}.rail .lang button{color:#fff;background:0 0;border-color:#fff9}.rail .lang button[aria-pressed=true]{color:var(--ink);background:#fff}.admin-main{min-width:0;padding:var(--s-6) var(--s-8) var(--s-12)}.admin-main>.wrap{max-width:1200px;margin:0;padding:0}.admin-head{justify-content:space-between;align-items:flex-end;gap:var(--s-6);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.crumbs{margin-bottom:var(--s-2)}.crumbs a{color:var(--muted)}@media (width<=899px){.shell-admin{display:block}.rail{height:auto;padding:var(--s-2) 0;flex-direction:row;align-items:center;position:static;overflow-x:auto}.rail .brand{padding:0 var(--s-4);flex:none}.rail .foot{display:none}.rail>a:not(.brand){padding:var(--s-2) var(--s-3);white-space:nowrap}.rail>a.router-link-active:not(.brand){box-shadow:inset 0 -4px 0 var(--action)}.admin-main{padding:var(--s-4) var(--s-4) var(--s-12)}}.gates{border:2px solid var(--ink);background:var(--surface);margin-bottom:var(--s-3);grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,1.4fr);display:grid}.gate{padding:var(--s-3) var(--s-4);border-right:1px solid var(--line);color:var(--ink);flex-direction:column;gap:2px;text-decoration:none;display:flex}a.gate:hover{background:var(--tint-soft)}.gate .name{font-weight:800}.gate .val{font-size:var(--t-14)}.gate .who{font-size:var(--t-12);color:var(--muted)}.gate.result{border-right:0;border-left:6px solid var(--danger);background:var(--paper)}.gate.result.ok{border-left-color:var(--ok);background:var(--tint-soft)}@media (width<=1100px){.gates{grid-template-columns:repeat(3,minmax(0,1fr))}.gate{border-bottom:1px solid var(--line)}.gate.result{grid-column:1/-1}}@media (width<=640px){.gates{grid-template-columns:1fr}.gate{border-right:0}}.tabbar .cnt{background:var(--action);color:#fff;font-size:var(--t-12);text-align:center;min-width:20px;margin-left:var(--s-2);padding:0 6px;font-weight:800}dl.kv{gap:var(--s-1) var(--s-6);margin:var(--s-3) 0;font-size:var(--t-14);grid-template-columns:max-content 1fr;display:grid}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0;font-weight:600}.work{background:var(--surface);border-top:2px solid var(--ink)}.work-item{gap:var(--s-4);padding:var(--s-4);border-bottom:1px solid var(--line);grid-template-columns:24px 1fr auto;align-items:center;display:grid}.work-item h4{margin-bottom:2px}.work-item.waiting .btn{border-color:var(--line);color:var(--muted)}.group-head{margin:var(--s-8) 0 var(--s-2);justify-content:space-between;align-items:baseline;display:flex}.group-head h3{font-size:var(--t-16);margin:0}@media (width<=640px){.work-item{grid-template-columns:24px 1fr}.work-item .btn{grid-column:2;justify-self:start}}.steps{border:2px solid var(--ink);margin:var(--s-3) 0;grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.step{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--target);background:var(--surface);padding:0 var(--s-2);font-weight:700;font-size:var(--t-14);border:0;display:flex}.step+.step{border-left:2px solid var(--ink)}.step[aria-current=step]{background:var(--ink);color:#fff}.step:hover:not([aria-current=step]){background:var(--tint-soft);color:var(--ink)}.note.small{font-size:var(--t-14)}.field-wrap-spacer{margin-bottom:var(--s-4)}
