@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-vietnamese-wght-normal-BhFYcaJr.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.spark{display:block;width:100%;color:var(--spark-color, var(--orange, #ff8200));overflow:visible}.spark-line-path{stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.spark-dot{fill:currentColor;stroke:none}.spark-bar-rect{fill:currentColor}.spark-block{margin-top:.8rem;border-top:1px solid var(--line, #e3e7ec);padding-top:.7rem}.spark-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.6rem}.spark-toolbar-label{font-size:.8rem;font-weight:600;color:var(--ink-soft, #5b6675)}.spark-window{display:inline-flex;border:1px solid var(--line, #e3e7ec);border-radius:var(--radius, 10px);overflow:hidden}.spark-window button{appearance:none;border:none;background:var(--panel, #fff);color:var(--ink-soft, #5b6675);padding:.25rem .6rem;font-size:.8rem;cursor:pointer}.spark-window button+button{border-left:1px solid var(--line, #e3e7ec)}.spark-window button:hover{background:var(--bg, #f4f6f8)}.spark-window button.active{background:var(--orange, #ff8200);color:#fff;font-weight:600}.spark-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem 1rem}.spark-item{display:flex;flex-direction:column;gap:.2rem}.spark-item-label{font-size:.78rem;color:var(--ink-soft, #5b6675)}.spark-item--danger{--spark-color: var(--red, #ef4a4a)}.spark-hint{font-size:.82rem;color:var(--ink-soft, #5b6675);font-style:italic;padding:.4rem 0}.ld-designer{display:flex;flex-direction:column;gap:.8rem}.ld-toolbar{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:flex-end;padding:.7rem .8rem;border:1px solid var(--line, #e3e7ec);border-radius:var(--radius, 10px);background:var(--panel, #fff)}.ld-toolbar-group{display:flex;flex-direction:column;gap:.3rem}.ld-toolbar-group>span{font-size:.72rem;font-weight:600;color:var(--ink-soft, #5b6675);text-transform:uppercase;letter-spacing:.02em}.ld-toolbar-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.ld-toolbar select,.ld-toolbar input[type=number]{font:inherit;font-size:.85rem;padding:.25rem .4rem;border:1px solid var(--line, #e3e7ec);border-radius:6px;background:#fff;color:var(--ink, #1c2430)}.ld-dim-field{display:inline-flex;flex-direction:column;gap:.1rem}.ld-dim-field input{width:5.5rem}.ld-add-btn{font:inherit;font-size:.85rem;padding:.35rem .7rem;border:1px solid var(--line, #e3e7ec);border-radius:8px;background:#fff;color:var(--ink, #1c2430);cursor:grab;touch-action:none;user-select:none}.ld-add-btn:hover:not(:disabled){border-color:var(--orange, #ff8200);color:var(--accent-ink, #c93c00)}.ld-add-btn:disabled{opacity:.5;cursor:not-allowed}.ld-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--ink, #1c2430);cursor:pointer}.ld-main{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-start}.ld-canvas-wrap{flex:1 1 420px;min-width:0;max-height:70vh;overflow:auto;padding:1.2rem;border:1px solid var(--line, #e3e7ec);border-radius:var(--radius, 10px);background:#dfe3e8}.ld-canvas{position:relative;background:#fff;box-shadow:0 1px 6px #141e2d2e;outline:none}.ld-canvas:focus-visible{box-shadow:0 0 0 2px var(--orange, #ff8200)}.ld-element{position:absolute;box-sizing:border-box;cursor:move;outline:1px dashed rgba(20,30,45,.25);outline-offset:0}.ld-element.ld-selected{outline:2px solid var(--orange, #ff8200);z-index:5}.ld-text{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;white-space:pre;line-height:1;color:#111;overflow:visible}.ld-text-line{white-space:pre}.ld-token{color:var(--accent-ink, #c93c00);background:#fff2e2;border-radius:3px}.ld-box-inner{width:100%;height:100%;box-sizing:border-box;border-style:solid;border-color:#111}.ld-qr{display:block;image-rendering:pixelated}.ld-qr-ph{width:100%;height:100%;background-image:repeating-linear-gradient(45deg,#bbb 0 3px,#eee 3px 6px);border:1px solid #999;box-sizing:border-box}.ld-barcode{width:100%;height:100%;display:flex;flex-direction:column}.ld-barcode-bars{flex:1;display:flex;align-items:stretch;min-height:6px}.ld-barcode-bar{background:#111}.ld-barcode-hr{text-align:center;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:#111;overflow:hidden;white-space:nowrap}.ld-ghost{position:fixed;z-index:100;pointer-events:none;transform:translate(-50%,-50%);padding:.25rem .6rem;border-radius:6px;background:var(--orange, #ff8200);color:#fff;font-size:.8rem;box-shadow:0 4px 12px #141e2d4d}.ld-props{flex:0 0 300px;max-width:100%;display:flex;flex-direction:column;gap:.7rem;padding:.9rem;border:1px solid var(--line, #e3e7ec);border-radius:var(--radius, 10px);background:var(--panel, #fff)}.ld-props h4{margin:0;font-size:.95rem}.ld-props-empty{color:var(--ink-soft, #5b6675);font-size:.9rem}.ld-field{display:flex;flex-direction:column;gap:.2rem}.ld-field>span{font-size:.78rem;font-weight:600;color:var(--ink-soft, #5b6675)}.ld-field input,.ld-field select,.ld-field textarea{font:inherit;font-size:.85rem;padding:.3rem .4rem;border:1px solid var(--line, #e3e7ec);border-radius:6px;background:#fff;color:var(--ink, #1c2430)}.ld-field textarea{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;min-height:4.5rem;resize:vertical}.ld-field-row{display:flex;gap:.5rem}.ld-field-row .ld-field{flex:1}.ld-quant{font-size:.75rem;color:var(--green-ink, #1e8e4e)}.ld-hint{font-size:.75rem;color:var(--ink-soft, #5b6675)}.ld-chip-group-title{font-size:.75rem;font-weight:600;color:var(--ink-soft, #5b6675);margin-top:.2rem}.ld-chips{display:flex;flex-wrap:wrap;gap:.3rem}.ld-chip{font:inherit;font-size:.75rem;padding:.15rem .5rem;border:1px solid var(--line, #e3e7ec);border-radius:999px;background:#fff;color:var(--ink, #1c2430);cursor:pointer}.ld-chip:hover:not(:disabled){border-color:var(--orange, #ff8200);color:var(--accent-ink, #c93c00)}.ld-chip:disabled{opacity:.5;cursor:not-allowed}.ld-props-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem}.ld-layout-issues{margin:.4rem 0;padding:.5rem .75rem .5rem 1.7rem;list-style:disc;border:1px solid var(--red, #d64545);border-radius:8px;background:#fdecec;color:var(--red, #d64545);font-size:.85rem}.ld-layout-issues li{margin:.1rem 0}.ld-discovered{display:flex;flex-direction:column;gap:.5rem;padding:.8rem;border:1px solid var(--line, #e3e7ec);border-radius:var(--radius, 10px);background:var(--panel, #fff)}.ld-discovered-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ld-discovered-stand{font-size:.8rem;color:var(--ink-soft, #5b6675)}.ld-discovered-fields{max-height:140px;overflow:auto}.panel-wide{width:min(96vw,1600px);margin-left:calc(-.5*(min(96vw,1600px) - 100%));margin-right:calc(-.5*(min(96vw,1600px) - 100%))}@media(max-width:1180px){.panel-wide{width:100%;margin-left:0;margin-right:0}}:root{--buehne: #101820;--buehne-elev: #161e27;--line-on-dark: rgba(255, 255, 255, .1);--text-on-dark: #ffffff;--text-on-dark-soft: rgba(255, 255, 255, .72);--papier: #ffffff;--papier-2: #f4f5f6;--stub-bg: #fffdf8;--stub-edge: rgba(16, 24, 32, .14);--tinte: #101820;--tinte-soft: #51596a;--tinte-mute: #8a8d98;--line: rgba(16, 24, 32, .1);--line-strong: rgba(16, 24, 32, .18);--accent: #ff4d06;--accent-ink: #c93c00;--accent-strong: #e64500;--accent-dim: rgba(255, 77, 6, .1);--val-green: #2ad189;--val-green-ink: #177e53;--val-green-dim: rgba(42, 209, 137, .14);--grenze-rot: #d64545;--grenze-rot-ink: #c23434;--grenze-rot-dim: rgba(214, 69, 69, .1);--warn: #ffb020;--warn-ink: #8a5a00;--warn-dim: rgba(255, 176, 32, .14);--remote: #6d5bd0;--remote-ink: #5240c9;--cyan: #00b2f9;--font-sans: "Nunito Sans Variable", "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--fw-regular: 400;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--fs-h1: 1.5rem;--fs-h2: 1.125rem;--fs-overline: .75rem;--fs-body: .9375rem;--fs-small: .8125rem;--lh-body: 1.5;--r-sm: 8px;--r-md: 14px;--r-pill: 999px;--shadow-card: 0 1px 2px rgba(16, 24, 32, .06), 0 10px 30px -22px rgba(16, 24, 32, .25);--dur-instant: .12s;--dur-fast: .25s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-snap: cubic-bezier(.34, 1.42, .64, 1);--topbar-h: 56px}:root{--orange: var(--accent);--orange-dark: var(--accent-strong);--ink: var(--tinte);--ink-soft: var(--tinte-soft);--bg: var(--papier-2);--panel: var(--papier);--green: var(--val-green);--green-ink: var(--val-green-ink);--yellow: var(--warn);--red: var(--grenze-rot);--violet: var(--remote);--violet-ink: var(--remote-ink);--radius: var(--r-sm);--shadow: var(--shadow-card)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.overline{font-size:var(--fs-overline);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.14em;color:var(--tinte-soft);margin:0 0 .5rem}.overline-accent{color:var(--accent-ink)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.6rem;margin:0 0 .2rem}h2{font-size:1.1rem;margin:0 0 .6rem}h3{font-size:.95rem;margin:1rem 0 .4rem;color:var(--ink-soft)}.splash{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--buehne)}.portal{min-height:100vh}.topbar{display:flex;align-items:center;gap:1.5rem;background:var(--buehne);color:var(--text-on-dark);min-height:var(--topbar-h);padding:0 1.5rem}.logo{display:inline-flex;align-items:center;gap:8px;color:var(--text-on-dark)}.logo:hover{text-decoration:none}.logo-mark{height:20px;width:auto;display:block}.logo-sub{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--text-on-dark-soft)}.nav{display:flex;gap:.25rem}.nav a{color:var(--text-on-dark-soft);padding:.35rem .5rem;border-radius:6px;border-bottom:2px solid transparent;transition:color .12s linear,background-color .12s linear}.nav a:hover{color:var(--text-on-dark);text-decoration:none}.nav a.active{color:var(--text-on-dark);border-radius:0;border-bottom-color:var(--accent)}.spacer{flex:1}.user-email{color:#cdd4de;font-size:.85rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{max-width:1100px;margin:0 auto;padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:var(--fw-semibold);border:1px solid var(--line-strong);background:var(--papier);color:var(--tinte);border-radius:var(--r-sm);padding:.55rem 1rem;cursor:pointer;transition:transform .12s var(--ease-out),border-color .12s var(--ease-out),background-color .12s linear}.btn:hover:not(:disabled){border-color:var(--tinte-soft)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,a.logo:focus-visible,.nav a:focus-visible,.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:var(--fw-bold)}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);transform:translateY(-1px)}.btn-danger{background:transparent;border:1.5px solid var(--grenze-rot);color:var(--grenze-rot-ink)}.btn-danger:hover:not(:disabled){border-color:var(--grenze-rot);background:var(--grenze-rot-dim)}.btn-small{padding:.35rem .7rem;font-size:.85rem}.btn-block{width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.filters{display:flex;gap:.6rem}.search,input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{font:inherit;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:-1px;border-color:var(--orange)}.search{min-width:240px}.backlink{font-size:.85rem;display:inline-block;margin-bottom:.3rem}.subline{color:var(--ink-soft);font-size:.9rem}.segment-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 1rem}.segment-chip{border:1px solid var(--line, #d9dee6);background:#fff;color:var(--ink-soft);border-radius:999px;padding:.3rem .8rem;font-size:.88rem;cursor:pointer}.segment-chip:hover{border-color:#b9c2cf}.segment-chip.active{background:#2f5aa8;border-color:#2f5aa8;color:#fff}.segment-count{font-variant-numeric:tabular-nums;opacity:.7;margin-left:.15rem}.segment-chip.active .segment-count{opacity:.9}.table tr.row-active{background:#f3f7fd}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.tile{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);color:var(--ink)}.tile:hover{text-decoration:none;border-color:var(--orange)}.tile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.tile-name{font-weight:700;font-size:1.05rem}.tile-meta{color:var(--ink-soft);font-size:.85rem;display:flex;gap:.5rem;flex-wrap:wrap}.tile-foot{margin-top:.7rem;display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--ink-soft)}.ampel{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600}.ampel-dot{width:11px;height:11px;border-radius:50%;flex:none}.ampel-gruen .ampel-dot{background:var(--green);box-shadow:0 0 0 3px #2ecc7133}.ampel-gelb .ampel-dot{background:var(--yellow);box-shadow:0 0 0 3px #f6b93b33}.ampel-rot .ampel-dot{background:var(--red);box-shadow:0 0 0 3px #ef4a4a33}.ampel-gruen{color:var(--green-ink)}.ampel-rot{color:var(--red)}.env-badge{font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.15rem .45rem;border-radius:5px}.env-prod{background:#edeafb;color:var(--violet-ink)}.env-dev{background:#eef1f5;color:var(--ink-soft)}.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:.12rem .5rem;border-radius:20px;background:#eef1f5;color:var(--ink-soft)}.pill-warn{background:#fdf0d8;color:#9a6a00}.pill-danger{background:transparent;border:1.5px solid var(--grenze-rot);color:var(--grenze-rot-ink);padding:calc(.12rem - 1.5px) calc(.5rem - 1.5px)}.pill-ok{background:#e7f6ee;color:var(--green-ink)}.narrow{max-width:640px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow);margin-bottom:1.2rem}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.panel-grid>*{min-width:0;container-type:inline-size}.form-col{display:flex;flex-direction:column;gap:.9rem}.field{display:flex;flex-direction:column;gap:.3rem;border:none;padding:0;margin:0}.field>span{font-weight:600;font-size:.9rem}.field-hint{font-size:.8rem;color:var(--ink-soft)}.hint{color:var(--ink-soft);font-size:.9rem}.empty-hint{color:var(--ink-soft);padding:1.5rem 0;text-align:center}.form-error{color:var(--red);background:#fdecec;border:1px solid #f7c7c7;padding:.5rem .75rem;border-radius:8px;font-size:.9rem}.ok-hint{color:var(--green-ink);font-weight:600}.claim-code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1.6rem;letter-spacing:.3em;text-align:center;text-transform:uppercase}.radio-row{display:flex;gap:.6rem;flex-wrap:wrap}.radio{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:8px;padding:.5rem .8rem;cursor:pointer}.radio.active{border-color:var(--orange);background:#fff6ec}.radio-dev.active{border-color:var(--orange);background:var(--orange);color:#fff}.inline-form{display:flex;flex-direction:column;gap:.5rem}.inline-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.inline-row input{flex:1;min-width:160px}.key-status{display:flex;gap:.5rem}.sep{border:none;border-top:1px solid var(--line);margin:1.2rem 0}.tabs{display:flex;gap:.3rem;border-bottom:2px solid var(--line);margin-bottom:1.2rem}.tabs button{font:inherit;font-weight:600;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:.6rem .9rem;cursor:pointer;color:var(--ink-soft)}.tabs button.active{color:var(--accent-ink);border-bottom-color:var(--accent)}.kv{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0}.kv dt{color:var(--ink-soft);font-size:.85rem}.kv dd{margin:0;font-weight:600;display:flex;flex-wrap:wrap;gap:.5rem;row-gap:.15rem;align-items:center;min-width:0;overflow-wrap:anywhere}.kv-subline{flex-basis:100%}@container (max-width: 520px){.kv{grid-template-columns:1fr;gap:0}.kv dt{margin-top:.7rem}.kv dt:first-of-type{margin-top:0}.kv dd{margin-top:.15rem}}.action-row{display:flex;gap:.6rem;flex-wrap:wrap}.banner{padding:.8rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.92rem}.banner-info{background:#eaf3ff;border:1px solid #c4defb}.banner-warn{background:#fdf0d8;border:1px solid #f3d79a}.banner-ok{background:#e7f6ee;border:1px solid #b9e6cc}.error-fallback{border-left:4px solid #e0a63a}.error-fallback h2{margin-top:0}.segment-spacer{flex:1}.device-group{margin-bottom:1.6rem}.group-head{display:flex;align-items:baseline;gap:.6rem;border-bottom:2px solid var(--line);margin:1rem 0 .6rem;padding-bottom:.3rem}.group-head h2{margin:0;font-size:1.05rem}.group-sub{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .4rem;font-weight:600}.project-group .tile-grid{margin-bottom:.4rem}.printer-group{margin-bottom:1.1rem}.zuordnung-list{margin:0;padding-left:1.1rem}.zuordnung-list li{margin:.1rem 0}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line)}.table th{color:var(--ink-soft);font-size:.8rem}.inv-tone-error{color:var(--red);font-weight:600}.inv-tone-neutral{color:var(--ink-soft)}.inv-tone-ok{color:var(--green-ink)}.inv-cat{margin-left:.4rem;font-size:.8rem;color:var(--ink-soft);font-weight:400}.json-editor{width:100%;min-height:320px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.5;resize:vertical}.issue-list{color:var(--red);font-size:.85rem;margin:.5rem 0;padding-left:1.2rem}.user-list{list-style:none;padding:0;margin:.5rem 0 0}.user-list li{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.user-list li span:first-child{flex:1}.login-stage{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;gap:.6rem}.login-logo-mark{height:36px;width:auto;color:var(--text-on-dark)}.login-subtitle{color:var(--text-on-dark-soft);font-size:var(--fs-body);margin:0 0 .8rem;text-align:center}.login-card{position:relative;overflow:hidden;background:var(--papier);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);padding:2rem;width:100%;display:flex;flex-direction:column;gap:1rem}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--val-green);transform:scaleX(0);transform-origin:left;animation:login-sweep 1.4s linear forwards}@keyframes login-sweep{0%{transform:scaleX(0);height:2px}85%{transform:scaleX(1);height:2px}to{transform:scaleX(1);height:1px;opacity:.85}}@media(prefers-reduced-motion:reduce){.login-card:before{animation:none;transform:scaleX(1);height:1px;opacity:.85}}.dialog-backdrop{position:fixed;inset:0;background:#141e2d73;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.dialog{background:#fff;border-radius:12px;max-width:460px;width:100%;padding:1.5rem;box-shadow:0 10px 40px #00000040}.dialog-wide{max-width:720px}.dialog-body{color:var(--ink-soft);margin:.5rem 0 1.2rem}.dialog-wide .dialog-body{max-height:60vh;overflow-y:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}.wall-tenant-picker{display:flex;align-items:center;gap:.6rem;margin:.4rem 0 1rem}.wall-tenant-picker label{font-weight:600;color:var(--color-text-dim, #555)}.wall-tenant-picker select{min-width:16rem}.wall-live-badge{font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:.2rem .6rem;border-radius:20px;background:#e7f6ee;color:var(--green-ink)}.wall-live-badge.wall-live-off{background:transparent;border:1.5px solid var(--grenze-rot);color:var(--grenze-rot-ink)}.wall-disconnected .tile-grid{opacity:.55;filter:grayscale(.4);transition:opacity .2s,filter .2s}.wall-tile{display:flex;flex-direction:column}.wall-status{margin-top:.6rem;font-weight:600;font-size:.9rem}.wall-scans{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.wall-scan{display:flex;align-items:center;gap:.5rem;font-size:.8rem;padding:.25rem .5rem;border-radius:6px;background:#f7f9fb}.wall-scan-idle{color:var(--ink-soft);font-style:italic;background:none}.wall-scan-dot{width:9px;height:9px;border-radius:50%;flex:none}.wall-scan-gruen .wall-scan-dot{background:var(--green)}.wall-scan-gelb .wall-scan-dot{background:var(--yellow)}.wall-scan-rot .wall-scan-dot{background:var(--red)}.wall-scan-gruen{background:#edf9f2}.wall-scan-rot{background:#fdeeee}.wall-scan-text{font-weight:600;flex:1}.wall-scan-time{color:var(--ink-soft);font-size:.72rem}.table-wrap{overflow-x:auto}.approval-badge{display:inline-block;font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:20px}.approval-badge-ok{background:#e7f6ee;color:var(--green-ink)}.approval-badge-reject{background:#fdecec;color:var(--red)}.approval-badge-neutral{background:#eef1f5;color:var(--ink-soft)}.approval-badge-open{background:var(--orange);color:#fff}.approval-backdrop{position:fixed;inset:0;background:#141e2d99;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.approval-card{background:#fff;border-radius:16px;width:100%;max-width:480px;padding:1.6rem;box-shadow:0 14px 50px #00000059;border-top:6px solid var(--orange)}.approval-counter{font-size:.85rem;font-weight:700;color:var(--accent-ink);margin-bottom:.8rem;text-align:center}.approval-body{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.2rem}.approval-photo{position:relative;width:120px;height:120px;flex:none}.approval-photo img{width:120px;height:120px;object-fit:cover;border-radius:12px}.approval-avatar{width:120px;height:120px;border-radius:12px;background:#eef1f5;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:700}.approval-ring{position:absolute;top:-10px;right:-10px;width:52px;height:52px}.approval-ring-track{fill:#fff;stroke:var(--line);stroke-width:6}.approval-ring-progress{fill:none;stroke:var(--green);stroke-width:6;stroke-linecap:round;transition:stroke-dasharray .25s linear}.approval-ring-danger{stroke:var(--red)}.approval-ring-text{fill:var(--ink);font-size:26px;font-weight:700;text-anchor:middle}.approval-info{min-width:0}.approval-name{font-size:1.5rem;font-weight:800;line-height:1.2}.approval-subtitle{color:var(--ink-soft);margin-top:.2rem}.approval-ticket{font-size:.85rem;color:var(--ink-soft);margin-top:.3rem}.approval-actions{display:flex;gap:1rem}.approval-btn{flex:1;font:inherit;font-size:1.15rem;font-weight:800;letter-spacing:.02em;padding:1rem .5rem;border-radius:12px;border:none;cursor:pointer;color:#fff}.approval-btn:disabled{opacity:.5;cursor:not-allowed}.approval-btn-approve{background:var(--green-ink)}.approval-btn-reject{background:var(--red)}.approval-status{text-align:center;font-weight:700;padding:1rem;border-radius:12px}.approval-status-taken{background:#eef1f5;color:var(--ink-soft)}.approval-status-expired{background:#fdecec;color:var(--red)}.approval-attendees-wrap{margin-bottom:1.2rem}.approval-attendees-hint{margin:0 0 .5rem}.approval-attendees{display:flex;flex-wrap:wrap;gap:.6rem}.approval-attendee{display:flex;align-items:center;gap:.5rem;font:inherit;padding:.4rem .7rem .4rem .4rem;border-radius:999px;border:2px solid var(--line);background:#fff;cursor:pointer;max-width:100%}.approval-attendee img,.approval-attendee-avatar{width:32px;height:32px;border-radius:50%;flex:none;object-fit:cover}.approval-attendee-avatar{background:#eef1f5;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.approval-attendee-name{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-attendee.selected{border-color:var(--green-ink);background:#e7f6ee}.radio.radio-disabled{opacity:.5;cursor:not-allowed;background:var(--bg)}.env-switch{border:1px solid var(--line);border-radius:8px;padding:.9rem 1rem;margin-top:.6rem}.pill-pool{background:#e9f0fb;color:#2f5aa8}.pill-assigned{background:#e7f6ee;color:var(--green-ink)}.pill-retired{background:#eef1f5;color:var(--ink-soft)}.pill-returning{background:#fdf0d8;color:#9a6a00}.pill-token{font-variant-numeric:tabular-nums}.pill-token-active{background:#e7f6ee;color:var(--green-ink)}.pill-token-exhausted{background:#fdf0d8;color:#9a6a00}.pill-token-expired{background:#eef1f5;color:var(--ink-soft)}.pill-token-revoked{background:#fdecec;color:#b03636}.muted{color:var(--ink-soft)}.row-actions{white-space:nowrap}.token-reveal{margin-top:1rem}.token-reveal p{margin:.4rem 0 .6rem}.token-code-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.token-code{flex:1 1 auto;min-width:0;overflow-x:auto;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;font-weight:700;padding:.5rem .7rem;background:#fff;border:1px dashed var(--orange);border-radius:6px;color:var(--ink);user-select:all}.pool-list{display:flex;flex-direction:column;gap:1rem}.pool-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.pool-card-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.pool-card-open{border-color:var(--orange)}.assign-flow{border-top:1px solid var(--line);padding-top:1rem;margin-top:.4rem}.multiselect{position:relative}.multiselect-control{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:2.6rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:text}.multiselect-control:focus-within{outline:2px solid var(--orange);outline-offset:-1px;border-color:var(--orange)}.multiselect-disabled .multiselect-control{background:var(--bg);opacity:.65;cursor:not-allowed}input.multiselect-input{flex:1;min-width:120px;border:none;padding:.2rem .25rem;background:transparent}input.multiselect-input:focus{outline:none;border:none}.multiselect-list{position:absolute;top:100%;left:0;right:0;z-index:60;margin:.25rem 0 0;padding:.25rem;list-style:none;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #141e2d29;max-height:260px;overflow-y:auto}.multiselect-option{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.4rem .6rem;border-radius:6px;font-size:.9rem;cursor:pointer}.multiselect-option.active{background:#fff6ec}.multiselect-option.selected{font-weight:600}.multiselect-option.disabled{opacity:.5;cursor:not-allowed}.multiselect-option-hint{color:var(--ink-soft);font-size:.78rem;text-align:right}.multiselect-note{padding:.4rem .6rem;color:var(--ink-soft);font-size:.85rem}.multiselect-empty-action{color:var(--accent-ink);font-weight:600}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .3rem .15rem .6rem;border-radius:999px;background:#eef1f5;color:var(--ink);font-size:.82rem;font-weight:600}.chip-stale{background:#fdf0d8;color:#9a6a00;border:1px dashed #f3d79a}.chip-remove{border:none;background:transparent;color:inherit;font:inherit;font-size:.95rem;line-height:1;padding:.05rem .3rem;border-radius:50%;cursor:pointer}.chip-remove:hover{background:#141e2d1f}.palette-group{margin-bottom:.5rem}.palette-group-title{font-size:.78rem;font-weight:600;color:var(--ink-soft);margin:.3rem 0 .25rem}.palette-chips{display:flex;flex-wrap:wrap;gap:.35rem}.palette-chip{font:inherit;font-size:.8rem;padding:.2rem .6rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}.palette-chip:hover:not(:disabled){border-color:var(--orange);color:var(--accent-ink)}.palette-chip:disabled{opacity:.5;cursor:not-allowed}.template-editor-textarea{min-height:220px}.zuordnung-row{display:flex;flex-direction:column;gap:.6rem;border:1px solid var(--line);border-radius:8px;padding:.8rem;margin-bottom:.8rem}.print-log-filter{align-items:center;margin-bottom:.8rem}.print-log-error{font-size:.8rem;margin-top:.2rem}.print-log-incomplete{background:#fdf0d8;color:#9a6a00;border-radius:var(--radius);padding:.5rem .75rem;font-size:.85rem;margin-bottom:.6rem}.print-log-more{margin-top:.6rem}.print-badge-row{display:flex;align-items:center;gap:.5rem;margin:0 0 .6rem}.pill-link{text-decoration:none}.pill-link:hover{filter:brightness(.97)}.zuordnung-row-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.checkbox-field span{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.checkbox-field input[type=checkbox]{width:auto;margin:0}.live-now{display:inline-flex;align-items:center;gap:.4rem;color:var(--green-ink);font-weight:600}.live-dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--green);box-shadow:0 0 0 3px #2ecc7133}.activity-stats{display:flex;flex-wrap:wrap;gap:1rem;margin:.4rem 0 1.2rem}.activity-stat{flex:1 1 12rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.2rem}.activity-stat-live{border-color:var(--green)}.activity-stat-num{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.activity-stat-live .activity-stat-num{color:var(--green-ink)}.activity-stat-label{font-size:.85rem;color:var(--ink-soft)}.activity-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem}.activity-item{display:flex;align-items:flex-start;gap:.7rem;padding:.6rem .2rem;border-bottom:1px solid var(--line)}.activity-dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:.45rem;background:var(--ink-soft)}.activity-dot-live{background:var(--green);box-shadow:0 0 0 3px #2ecc7133}.activity-dot-off{background:var(--ink-soft)}.activity-dot-warn{background:var(--red)}.activity-body{display:flex;flex-direction:column;gap:.1rem}.activity-label{font-weight:600}.activity-time{font-size:.8rem;color:var(--ink-soft)}.hint-subtle{font-size:.85rem;margin-top:-.4rem}.bulk-bar{position:sticky;top:.5rem;z-index:20;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.75rem 0;padding:.6rem .9rem;background:var(--ink);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.bulk-bar-count{font-weight:600}.bulk-bar-actions{display:flex;gap:.5rem;flex-wrap:wrap}.bulk-bar-clear{margin-left:auto}.bulk-select{margin-right:.6rem;align-self:flex-start}.bulk-device-rows{display:flex;flex-direction:column;gap:.4rem;max-height:40vh;overflow-y:auto}.bulk-device-row{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center}.bulk-device-kennung{font-size:.8rem;color:var(--ink-soft);white-space:nowrap}.bulk-fail-list{margin:.4rem 0 0;padding-left:1.1rem;font-size:.85rem}.tile-select{cursor:pointer;margin-right:auto;display:inline-flex;align-items:center}.tile-select input[type=checkbox]{cursor:pointer}.tile-selected{outline:2px solid var(--orange);outline-offset:1px}.bulk-inline-hint{color:#fff;font-size:.85rem;opacity:.85}.bulk-inline-error{color:#ffd5d5;font-size:.85rem}.printer-status-cell{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.issue-list-warn,.field-hint-warn{color:#a5720a}.template-preview-text{background:var(--surface, #f5f7fa);border:1px solid var(--line);border-radius:6px;padding:.6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-word;max-height:16rem;overflow:auto}.template-preview-fields{list-style:none;padding:0;margin:.5rem 0 0;font-size:.85rem;display:flex;flex-direction:column;gap:.2rem}.template-preview-fields code{color:var(--ink-soft)}.template-preview-fields .placeholder-empty{color:var(--red)}.stub-card{background:var(--stub-bg);border:1px solid var(--stub-edge);border-radius:var(--r-md);padding:.7rem .9rem;display:flex;flex-direction:column;gap:.2rem}.stub-card-env{font-size:var(--fs-overline);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.12em;color:var(--tinte-soft)}.stub-card-state{font-weight:var(--fw-semibold)}.wall-scan{animation:wall-scan-rise var(--dur-fast) var(--ease-out)}@keyframes wall-scan-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.wall-scan-gruen .wall-scan-dot{animation:wall-dot-snap var(--dur-fast) var(--ease-snap)}@keyframes wall-dot-snap{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.wall-scan-rot .wall-scan-dot{animation:wall-dot-fade var(--dur-fast) linear}@keyframes wall-dot-fade{0%{opacity:0}to{opacity:1}}.wall-scan-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}@media(prefers-reduced-motion:reduce){.wall-scan,.wall-scan-gruen .wall-scan-dot,.wall-scan-rot .wall-scan-dot{animation:none}}.branding-preview{background:var(--buehne-elev);border-radius:var(--r-md);padding:1rem 1.1rem;margin:.4rem 0 1.2rem}.branding-preview-label{font-size:var(--fs-overline);text-transform:uppercase;letter-spacing:.14em;font-weight:var(--fw-bold);color:var(--text-on-dark-soft);margin:0 0 .7rem}.branding-sb{height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 16px;border-top:1px solid var(--line-on-dark);border-bottom:1px solid var(--line-on-dark)}.branding-sb-logo{display:flex;align-items:center;min-width:0}.branding-wordmark{height:24px;width:auto;color:var(--text-on-dark)}.branding-logo-img{max-height:32px;max-width:160px;object-fit:contain;display:block}.branding-logo-img.mono{width:160px;height:32px;max-width:160px;background:#fff;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left center;mask-position:left center;-webkit-mask-size:contain;mask-size:contain}.branding-sb-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.branding-pin-dots{display:inline-flex;gap:8px}.branding-pin-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.branding-sample-btn{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:var(--r-sm);font-weight:var(--fw-bold);font-size:.85rem;white-space:nowrap}.branding-fields{margin-top:1.1rem}.branding-color-row{display:flex;align-items:center;gap:.5rem}.branding-swatch{width:44px;height:32px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.branding-hex{width:8.5rem;text-transform:lowercase}.branding-logo-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.3rem 0}.branding-fanout-hint{margin-top:1rem}
