/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}}:root{--bg:#17161a;--surface:#201f24;--surface-2:#2a2930;--border:#38363e;--border-soft:#2e2c33;--text:#f2f1ed;--text-muted:#9c9aa3;--text-faint:#6c6a72;--accent:#7c9cff;--accent-soft:#7c9cff24;--accent-border:#7c9cff59;--accent-tag:#7c9cff29;--accent-grid:#7c9cff0d;--ready:#45d6c4;--progress:#ffb627;--fail:#ff5c5c;--radius:14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:linear-gradient(var(--accent-grid) 1px, transparent 1px) 0 0/48px 48px, linear-gradient(90deg, var(--accent-grid) 1px, transparent 1px) 0 0/48px 48px, radial-gradient(circle at 1px 1px, #ffffff0e 1px, transparent 0) 0 0/24px 24px, var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif}::selection{background:var(--accent-soft);color:var(--text)}a{color:inherit}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft);background:#17161adb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--ready));color:#111;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;display:flex}.brand-text h1{letter-spacing:.01em;margin:0;font-family:Space Grotesk,sans-serif;font-size:19px;font-weight:700}.brand-text p{color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;margin:1px 0 0;font-family:JetBrains Mono,monospace;font-size:11.5px}.toolpath-line{background:repeating-linear-gradient(90deg, var(--accent) 0 5px, transparent 5px 9px);border-radius:2px;width:42px;height:3px;margin-top:6px}.theme-select-wrap{background:var(--surface);border:1px solid var(--border-soft);border-radius:99px;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px 6px 12px;display:flex}.theme-select-wrap .tdot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 6px var(--accent);border-radius:50%;flex-shrink:0}.theme-select-wrap select{color:var(--text);cursor:pointer;background:0 0;border:none;outline:none;font-family:JetBrains Mono,monospace;font-size:11.5px}.theme-select-wrap select option{background:var(--surface);color:var(--text)}.topbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-input{background:var(--surface);border:1px solid var(--border-soft);border-radius:99px;align-items:center;gap:6px;min-width:180px;padding:7px 14px;display:flex}.search-input input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-family:Inter,sans-serif;font-size:12.5px}.search-input input::placeholder{color:var(--text-faint)}.search-input svg{opacity:.6;flex-shrink:0}.seg-switch{background:var(--surface);border:1px solid var(--border-soft);border-radius:99px;gap:2px;padding:3px;display:flex}.seg-btn{color:var(--text-muted);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;border-radius:99px;align-items:center;gap:5px;padding:7px 13px;font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.seg-btn.active{background:var(--surface-2);color:var(--text)}.seg-btn:not(.active):hover{color:var(--text)}.chip{background:var(--surface);border:1px solid var(--border-soft);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:12px;transition:border-color .15s,color .15s,background .15s;display:flex}.chip.active{color:var(--text);border-color:var(--border);background:var(--surface-2)}.chip .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.chip .n{color:var(--text);font-weight:500}.btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 16px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:600;transition:transform .12s,filter .12s;display:inline-flex;position:relative}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#101216}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border-soft)}.btn-ghost:hover{border-color:var(--border)}.btn-sm{border-radius:8px;padding:7px 12px;font-size:12.5px}.btn-xs{border-radius:7px;padding:4px 9px;font-size:11px}.btn-danger-outline{color:var(--fail);background:0 0;border:1px solid #ff5c5c66}.btn-danger-outline:hover{background:#ff5c5c1a}.btn-icon{border-radius:8px;justify-content:center;width:30px;height:30px;padding:0}.badge-count{background:var(--fail);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}main{max-width:1320px;margin:0 auto;padding:24px clamp(16px,4vw,40px) 40px}.info-banner{color:var(--text-muted);background:var(--surface);border:1px solid var(--border-soft);border-left:3px solid var(--accent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:12px 16px;font-size:13px;display:flex}.info-banner strong{color:var(--text);font-weight:600}.mw-link{color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-soft);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;margin-left:auto;padding:6px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.mw-link:hover{filter:brightness(1.15)}.mode-banner{color:var(--text-muted);border:1px solid var(--border-soft);background:var(--surface);border-radius:10px;align-items:center;gap:8px;margin-bottom:10px;padding:9px 14px;font-family:JetBrains Mono,monospace;font-size:11.5px;display:flex}.mode-banner.admin{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}.printer-banner{text-align:left;width:100%;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-soft);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px;padding:10px 14px;font-family:Inter,sans-serif;font-size:12.5px;transition:border-color .15s,background .15s;display:flex}.printer-banner:hover{border-color:var(--ready);background:var(--surface-2)}.printer-banner strong{color:var(--text)}.printer-banner-cta{color:var(--ready);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}.printer-banner-left{align-items:center;gap:8px;display:flex}.pstatus-inline{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.printer-banner-status{font-family:JetBrains Mono,monospace;font-size:11px}.printer-banner-status.ready{color:var(--ready)}.printer-banner-status.busy{color:var(--progress)}.printer-banner-status.offline{color:var(--fail)}.dash-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-family:Space Grotesk,sans-serif;font-size:14px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:26px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border-soft);cursor:pointer;border-radius:12px;padding:14px 16px;transition:border-color .15s,transform .15s}.stat-card:hover{border-color:var(--border);transform:translateY(-1px)}.stat-card.active{border-color:var(--accent);background:var(--accent-soft)}.stat-card .num{font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:700;line-height:1}.stat-card .lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-top:6px;font-family:JetBrains Mono,monospace;font-size:10.5px}.stat-card.c-ready .num{color:var(--ready)}.stat-card.c-progress .num{color:var(--progress)}.stat-card.c-fail .num{color:var(--fail)}.stat-card.c-accent .num{color:var(--accent)}.dash-row{grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:28px;display:grid}@media (width<=820px){.dash-row{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);padding:18px}.panel h3{margin:0 0 12px;font-family:Space Grotesk,sans-serif;font-size:14.5px}.current-print{gap:14px;display:flex}.current-print img,.current-print .swatch-fallback-lg{object-fit:cover;background:var(--surface-2);border-radius:10px;flex-shrink:0;width:96px;height:96px}.swatch-fallback-lg{box-shadow:inset 0 0 0 10px #0000002e}.current-print-body{flex:1;min-width:0}.current-print-body .cp-name{margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:600}.cp-meta{color:var(--text-muted);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.cp-meta span{align-items:center;gap:4px;display:flex}.cp-empty{color:var(--text-faint);text-align:center;padding:20px 0;font-size:13px}.queue-list{flex-direction:column;gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.queue-item{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:9px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.queue-item .qn{color:var(--text-muted);text-align:center;flex-shrink:0;width:18px;font-family:JetBrains Mono,monospace;font-size:11px}.queue-item .qname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.queue-item .qmove{gap:2px;display:flex}.queue-item .qmove button{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:11px;display:flex}.queue-item .qmove button:hover{background:var(--surface);color:var(--text)}.queue-empty{color:var(--text-faint);text-align:center;padding:14px 0;font-size:12.5px}.idea-section,.support-section{margin:0 0 26px}.idea-section h3,.support-section h3{color:var(--progress);align-items:center;gap:8px;margin:0 0 4px;font-family:Space Grotesk,sans-serif;font-size:15px;display:flex}.support-section h3{color:var(--fail)}.idea-section .sub,.support-section .sub{color:var(--text-muted);margin:0 0 12px;font-size:12px}.idea-list,.support-list{flex-direction:column;gap:10px;display:flex}.idea-card,.support-card{background:var(--surface);border:1px dashed #ffb62773;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.support-card{border:1px dashed #ff5c5c66}.idea-thumb{object-fit:cover;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:8px;flex-shrink:0;width:48px;height:48px}.idea-thumb-fallback{background:#ffb62724;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;display:flex}.support-thumb-fallback{background:#ff5c5c24;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;display:flex}.idea-body,.support-body{flex:1;min-width:160px}.idea-title,.support-title{font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600}.idea-note,.support-note{color:var(--text-muted);margin-top:2px;font-size:12.5px;line-height:1.4}.support-time{color:var(--text-faint);margin-top:4px;font-family:JetBrains Mono,monospace;font-size:10.5px}.idea-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.idea-actions,.support-actions{flex-shrink:0;gap:6px;margin-left:auto;display:flex}.idea-waiting{color:var(--progress);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:11px}.empty{text-align:center;border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);margin-top:30px;padding:60px 24px}.empty h2{color:var(--text);margin:0 0 8px;font-family:Space Grotesk,sans-serif;font-size:20px}.empty p{margin:0 0 20px;font-size:14px}.section-heading{color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 12px;font-family:Space Grotesk,sans-serif;font-size:15px;display:flex}.section-heading .count-badge{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:6px;display:grid}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);flex-direction:column;transition:border-color .15s,transform .15s;display:flex;position:relative;overflow:hidden}.card:hover{border-color:var(--border);transform:translateY(-2px)}.clip{background:var(--surface-2);border:1px solid var(--border);z-index:2;border-radius:2px;width:18px;height:10px;position:absolute;top:8px}.clip:after{content:"";border:1px solid var(--border-soft);border-radius:1px;position:absolute;inset:2px}.clip.left{left:8px}.clip.right{right:8px}.card-media{aspect-ratio:4/3;border-bottom:1px solid var(--border-soft);background:repeating-linear-gradient(45deg, #ffffff05 0 5px, transparent 5px 11px), linear-gradient(135deg, #ffffff08, transparent 60%), var(--surface-2);cursor:pointer;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%}.swatch-fallback{border-radius:50%;width:64px;height:64px;box-shadow:inset 0 0 0 4px #00000024,inset 0 0 0 11px #ffffff0f,inset 0 0 0 18px #0000001f,inset 0 0 0 25px #ffffff0d,0 0 0 1px #ffffff14}.status-tag{letter-spacing:.02em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:99px;align-items:center;gap:6px;padding:4px 9px 4px 7px;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:500;display:flex;position:absolute;bottom:8px;left:8px}.status-tag .led{border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px}.status-ready{color:var(--ready);background:#45d6c429}.status-progress{color:var(--progress);background:#ffb62729}.status-fail{color:var(--fail);background:#ff5c5c29}.priority-tag{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:99px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:9.5px;position:absolute;bottom:8px;right:8px}.priority-high{color:var(--fail);background:#ff5c5c29}.priority-medium{color:var(--progress);background:#ffb62729}.priority-low{background:var(--accent-tag);color:var(--accent)}.card-body{flex-direction:column;flex:1;gap:8px;padding:14px 14px 12px;display:flex}.card-title{word-break:break-word;cursor:pointer;font-family:Space Grotesk,sans-serif;font-size:15.5px;font-weight:600;line-height:1.3}.card-title:hover{color:var(--accent)}.card-meta-line{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--surface-2);border:1px solid var(--border-soft);color:var(--text-muted);border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:10.5px;display:flex}.tag.idea-flag{color:var(--progress);border-color:#ffb62759}.tag.warn-flag{color:var(--fail);border-color:#ff5c5c59}.tag .swatch-dot{border-radius:50%;width:8px;height:8px;box-shadow:inset 0 0 0 1px #ffffff26}.info-lines{color:var(--text-muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.info-lines .missing{color:var(--text-faint);font-style:italic}.card-note{color:var(--text-muted);font-size:12.5px;line-height:1.4}.card-footer{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.link-btn{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;max-width:160px;font-size:12px;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.link-btn:hover{text-decoration:underline}.link-empty{color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:12px}.icon-actions{gap:4px;display:flex}.icon-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.del:hover{color:var(--fail);background:#ff5c5c1f}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;opacity:0;pointer-events:none;background:#0a0a0c99;justify-content:center;align-items:center;padding:20px;transition:opacity .15s;display:flex;position:fixed;inset:0}.overlay.open{opacity:1;pointer-events:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:460px;max-height:90vh;padding:24px;transition:transform .15s;overflow-y:auto;transform:translateY(10px)scale(.98)}.modal.wide{max-width:600px}.overlay.open .modal{transform:none}.modal h2{justify-content:space-between;align-items:center;margin:0 0 16px;font-family:Space Grotesk,sans-serif;font-size:18px;display:flex}.modal h2 .x{cursor:pointer;color:var(--text-muted);font-size:20px;line-height:1}.modal p.hint{color:var(--text-muted);margin:0 0 16px;font-size:12px;line-height:1.5}.field{margin-bottom:14px}.field label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:11.5px;display:block}.field input[type=text],.field input[type=url],.field input[type=number],.field select,.field textarea{background:var(--surface-2);border:1px solid var(--border-soft);width:100%;color:var(--text);border-radius:9px;outline:none;padding:10px 12px;font-family:Inter,sans-serif;font-size:13.5px;transition:border-color .12s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:56px}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field.admin-only{border-left:2px solid var(--accent);padding-left:10px}.field-hint{color:var(--text-faint);margin-top:5px;font-size:11px}.field-hint a{color:var(--accent)}.field-hint.warn{color:var(--fail)}.subsection-label{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin:18px 0 10px;font-family:Space Grotesk,sans-serif;font-size:12.5px}.subsection-label:first-of-type{margin-top:0}.img-input-row{align-items:center;gap:8px;display:flex}.img-input-row input[type=text]{flex:1}.file-btn{border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-muted);cursor:pointer;border-radius:9px;flex-shrink:0;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:12px}.file-btn:hover{color:var(--text)}.img-preview{aspect-ratio:16/9;background:var(--surface-2);border:1.5px dashed var(--border-soft);width:100%;color:var(--text-faint);text-align:center;border-radius:9px;justify-content:center;align-items:center;margin-top:10px;padding:10px;font-size:11.5px;line-height:1.5;transition:border-color .12s,background .12s;display:flex;overflow:hidden}.img-preview.drag-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.img-preview img{object-fit:cover;width:100%;height:100%}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.toast{background:var(--surface-2);border:1px solid var(--border);color:var(--text);z-index:60;opacity:0;pointer-events:none;text-align:center;border-radius:99px;max-width:90vw;padding:10px 18px;font-family:JetBrains Mono,monospace;font-size:13px;transition:opacity .2s,transform .2s;position:fixed;bottom:22px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}footer{max-width:1320px;color:var(--text-faint);border-top:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:16px;margin:0 auto;padding:20px clamp(16px,4vw,40px) 50px;font-size:12px;display:flex}footer button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:12px;text-decoration:underline}footer button:hover{color:var(--text)}.text-modal-body{color:var(--text-muted);font-size:13px;line-height:1.65}.text-modal-body h3{color:var(--text);margin:18px 0 6px;font-family:Space Grotesk,sans-serif;font-size:14.5px}.text-modal-body h3:first-child{margin-top:0}.text-modal-body p{margin:0 0 10px}.text-modal-body ul{margin:0 0 10px;padding-left:18px}.text-modal-body li{margin-bottom:4px}.text-modal-body .disclaimer{background:var(--accent-soft);color:var(--accent);border-radius:9px;margin-top:16px;padding:10px 12px;font-size:12px}.filament-table-wrap{border:1px solid var(--border-soft);border-radius:12px;overflow-x:auto}table.filament-table{border-collapse:collapse;width:100%;min-width:520px}table.filament-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border-soft);padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:10.5px;position:sticky;top:0}table.filament-table td{border-bottom:1px solid var(--border-soft);color:var(--text-muted);vertical-align:top;padding:11px 14px;font-size:12.5px;line-height:1.5}table.filament-table tr:last-child td{border-bottom:none}table.filament-table tr:hover td{background:var(--surface-2)}table.filament-table .fname{color:var(--text);white-space:nowrap;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}table.filament-table .fuse{color:var(--ready)}.printer-hero{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:12px;align-items:center;gap:16px;margin-bottom:16px;padding:16px;display:flex}.printer-icon{flex-shrink:0;width:64px;height:64px}.printer-hero-text h4{color:var(--text);margin:0 0 4px;font-family:Space Grotesk,sans-serif;font-size:15px}.printer-hero-text p{color:var(--text-muted);margin:0;font-size:12px}.admin-printer-badge{color:var(--ready);background:#45d6c424;border:1px solid #45d6c459;border-radius:99px;align-items:center;gap:5px;margin-top:6px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:10.5px;display:inline-flex}.spec-groups{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.spec-group h4{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-family:Space Grotesk,sans-serif;font-size:12.5px}.spec-group dl{flex-direction:column;gap:6px;margin:0;display:flex}.spec-group .srow{justify-content:space-between;gap:10px;font-size:12px;display:flex}.spec-group .srow dt{color:var(--text-muted)}.spec-group .srow dd{color:var(--text);text-align:right;margin:0;font-family:JetBrains Mono,monospace;font-size:11.5px}@media (width<=520px){.spec-groups{grid-template-columns:1fr}}.printer-row{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.printer-row .pstatus{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pstatus.ready{background:var(--ready);box-shadow:0 0 6px var(--ready)}.pstatus.busy{background:var(--progress);box-shadow:0 0 6px var(--progress)}.pstatus.offline{background:var(--fail);box-shadow:0 0 6px var(--fail)}.printer-row .pname{flex:1;min-width:120px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.printer-row .pmodel{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.printer-row .pactions{gap:6px;margin-left:auto;display:flex}.add-row-form{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.add-row-form input,.add-row-form select{background:var(--surface-2);border:1px solid var(--border-soft);min-width:100px;color:var(--text);border-radius:8px;flex:1;padding:9px 10px;font-family:Inter,sans-serif;font-size:12.5px}.inv-row{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.inv-row .iname{font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600}.inv-row .imeta{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.inv-status{border-radius:99px;margin-left:auto;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:10.5px}.inv-status.green{color:var(--ready);background:#45d6c424}.inv-status.yellow{color:var(--progress);background:#ffb62724}.inv-status.red{color:var(--fail);background:#ff5c5c24}.cost-settings-row{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:14px;display:flex}.cost-settings-row .cs-field{flex:1;min-width:120px}.cost-settings-row label{color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:10.5px;display:block}.cost-settings-row input{background:var(--surface-2);border:1px solid var(--border-soft);width:100%;color:var(--text);border-radius:8px;padding:8px 10px;font-size:12.5px}.detail-hero{gap:14px;margin-bottom:16px;display:flex}.detail-hero img,.detail-hero .swatch-fallback-lg{object-fit:cover;border-radius:12px;flex-shrink:0;width:100px;height:100px}.detail-hero-text .dname{margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700}.detail-block{margin-bottom:16px}.detail-block h4{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-family:Space Grotesk,sans-serif;font-size:12.5px}.detail-grid{grid-template-columns:1fr 1fr;gap:8px 16px;display:grid}.detail-grid .drow dt{color:var(--text-muted);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10.5px}.detail-grid .drow dd{color:var(--text);margin:2px 0 0;font-size:13px}.cost-line{color:var(--text-muted);justify-content:space-between;padding:4px 0;font-size:12.5px;display:flex}.cost-line.total{border-top:1px solid var(--border-soft);color:var(--text);margin-top:4px;padding-top:8px;font-weight:600}.cost-line.profit{color:var(--ready);font-weight:600}.warn-box{color:var(--fail);background:#ff5c5c1a;border:1px solid #ff5c5c59;border-radius:9px;margin-bottom:12px;padding:10px 12px;font-size:12.5px}.activity-list{flex-direction:column;gap:8px;max-height:180px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.activity-list li{color:var(--text-muted);gap:8px;font-size:12px;display:flex}.activity-list .at{color:var(--text-faint);white-space:nowrap;flex-shrink:0;font-family:JetBrains Mono,monospace}@media (width<=640px){.two-col{grid-template-columns:1fr}.brand-text p{display:none}.topbar-right{justify-content:space-between;width:100%}.mw-link{margin-left:0}.idea-actions,.support-actions{justify-content:flex-end;width:100%;margin-left:0}.detail-grid{grid-template-columns:1fr}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.sync-pill{border:1px solid var(--border-soft);background:var(--surface);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font:500 11px JetBrains Mono,monospace;display:inline-flex}.sync-pill span{background:var(--ready);border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #45d6c4b3}.sync-pill[data-state=busy] span{background:var(--progress);box-shadow:0 0 8px #ffb627b3}.sync-pill[data-state=error] span{background:var(--fail);box-shadow:0 0 8px #ff5c5cb3}

/* === Compact Admin Customer Directory v1 === */

/* Auftraggeber-Bereich kompakter halten */
#userSection {
  width: 100%;
}

/* Suchfeld und Dropdown nicht unnötig über die ganze PC-Seite ziehen */
#userSection input[type="search"],
#userSection input[type="text"],
#userSection select {
  width: min(100%, 560px);
  min-height: 36px;
  padding: 7px 10px;
  font-size: 12px;
  border-radius: 8px;
}

/* Nur der ausgewählte Auftraggeber erscheint hier */
#registeredUserList {
  width: min(100%, 680px);
  margin-top: 8px;
}

/* Kleine Benutzerkarte */
#registeredUserList .user-card {
  margin: 0;
  border-radius: 10px;
}

/* Kopfzeile stark verkleinern */
#registeredUserList .user-card-summary {
  min-height: 0;
  padding: 8px 10px;
  gap: 8px;
}

/* Name + Mail kompakt */
#registeredUserList .user-compact-identity {
  min-width: 0;
  gap: 1px;
}

#registeredUserList .user-compact-identity strong {
  font-size: 12.5px;
  line-height: 1.25;
}

#registeredUserList .user-compact-identity span {
  font-size: 10.5px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Aufklapp-Pfeil kleiner */
#registeredUserList .user-expand-icon {
  font-size: 12px;
  flex-shrink: 0;
}

/* Inhalt viel kompakter */
#registeredUserList .user-card-details {
  padding: 7px 10px 9px;
}

/* Status-Badges */
#registeredUserList .user-card-title {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0 0 6px;
}

/* Zeiten auf PC zweispaltig */
#registeredUserList .user-times {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 12px;
  margin: 0 0 7px;
  font-size: 10.5px;
  line-height: 1.35;
}

/* Hinweis für eigenes Admin-Konto */
#registeredUserList .user-self-note {
  margin: 5px 0 0;
  padding: 6px 8px;
  font-size: 10.5px;
  line-height: 1.35;
  border-radius: 7px;
}

/* Aktionen kleiner */
#registeredUserList .btn,
#registeredUserList .btn-xs {
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 7px;
  font-size: 10.5px;
  line-height: 1.15;
}

/* Auswahl-Hinweis */
#registeredUserList .user-pick-hint {
  padding: 9px 11px;
  margin: 0;
  font-size: 11px;
  border-radius: 8px;
}

/* Handy */
@media (max-width: 640px) {
  #userSection input[type="search"],
  #userSection input[type="text"],
  #userSection select,
  #registeredUserList {
    width: 100%;
    max-width: none;
  }

  #registeredUserList {
    margin-top: 6px;
  }

  #registeredUserList .user-card-summary {
    padding: 7px 9px;
  }

  #registeredUserList .user-card-details {
    padding: 6px 9px 8px;
  }

  #registeredUserList .user-times {
    grid-template-columns: 1fr;
    gap: 2px;
    font-size: 10px;
  }

  #registeredUserList .user-compact-identity strong {
    font-size: 12px;
  }

  #registeredUserList .user-compact-identity span {
    font-size: 10px;
  }

  #registeredUserList .btn,
  #registeredUserList .btn-xs {
    padding: 5px 8px;
    font-size: 10px;
  }
}

/* === Admin Mobile Polish v48 === */

/* gesamter Admin-Benutzerbereich kompakter */
#userSection {
  margin-top: 10px;
}

/* obere Filterbox */
#userSection .panel,
#userSection > div {
  border-radius: 12px;
}

/* Eingaben kompakter */
#userSection input,
#userSection select {
  min-height: 34px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
}

/* Labels kleiner */
#userSection label {
  margin-bottom: 4px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}

/* Auftraggeberliste */
#registeredUserList {
  margin-top: 6px !important;
}

/* ausgewählte Benutzerkarte */
#registeredUserList .user-card-summary {
  padding: 7px 10px !important;
}

#registeredUserList .user-card-details {
  padding: 7px 10px 9px !important;
}

#registeredUserList .user-compact-identity strong {
  font-size: 12px !important;
}

#registeredUserList .user-compact-identity span {
  font-size: 10px !important;
}

#registeredUserList .user-times {
  margin-bottom: 6px !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
}

/* Buttons kompakter */
#userSection .btn,
#registeredUserList .btn,
#registeredUserList .btn-xs {
  min-height: 30px !important;
  padding: 6px 10px !important;
  font-size: 10.5px !important;
  border-radius: 8px !important;
}

/* Handy */
@media (max-width: 640px) {
  #userSection {
    margin-top: 6px;
  }

  #userSection .panel,
  #userSection > div {
    padding: 10px !important;
    border-radius: 12px !important;
  }

  #userSection input,
  #userSection select {
    min-height: 38px !important;
    padding: 7px 10px !important;
    font-size: 11.5px !important;
  }

  #userSection label {
    font-size: 9.5px !important;
    margin-bottom: 4px !important;
  }

  /* vertikale Abstände reduzieren */
  #userSection .field {
    margin-bottom: 8px !important;
  }

  #registeredUserList {
    margin-top: 5px !important;
  }

  #registeredUserList .user-card-summary {
    padding: 7px 9px !important;
  }

  #registeredUserList .user-card-details {
    padding: 7px 9px 8px !important;
  }

  #registeredUserList .user-times {
    grid-template-columns: 1fr !important;
    gap: 1px !important;
    margin-bottom: 6px !important;
  }

  #registeredUserList .btn,
  #registeredUserList .btn-xs {
    width: 100% !important;
    min-height: 36px !important;
    padding: 7px 9px !important;
    font-size: 10.5px !important;
  }

  /* Direktnachricht kompakter */
  #userSection select + .btn,
  #userSection .btn-primary,
  #userSection .btn-ghost {
    min-height: 36px !important;
  }
}

/* === Admin UX v50 === */

/* -----------------------------
   Admin Benutzerverwaltung
   ----------------------------- */

#userSection {
  width: 100%;
  margin: 14px 0 20px !important;
}

/* Bereich insgesamt aufgeräumter */
#userSection .section-heading {
  margin: 0 0 10px !important;
}

/* Zähler */
#registeredUserCount {
  color: var(--text-muted);
  font-family: JetBrains Mono, monospace;
  font-size: 10.5px !important;
}

/* -----------------------------
   Filter / Auftraggeberauswahl
   ----------------------------- */

#userSection .admin-user-controls,
#userSection .user-directory-controls {
  gap: 8px !important;
}

/* normale Formfelder kompakt */
#userSection input,
#userSection select {
  min-height: 36px !important;
  height: 36px;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  font-size: 11.5px !important;
}

/* kleine technische Labels */
#userSection label {
  margin-bottom: 4px !important;
  color: var(--text-muted);
  letter-spacing: .07em;
  font-family: JetBrains Mono, monospace;
  font-size: 9px !important;
  line-height: 1.1 !important;
}

/* Boxen weniger massiv */
#userSection .panel,
#userSection > div {
  border-radius: 11px !important;
}

/* -----------------------------
   gewählter Auftraggeber
   ----------------------------- */

#registeredUserList {
  width: 100% !important;
  max-width: 840px !important;
  margin-top: 8px !important;
}

#registeredUserList .user-card {
  background: var(--surface);
  border: 1px solid var(--border-soft);
  border-radius: 10px !important;
  overflow: hidden;
}

#registeredUserList .user-card[open] {
  border-color: var(--accent-border);
}

/* kompakter Kopf */
#registeredUserList .user-card-summary {
  min-height: 0 !important;
  padding: 8px 11px !important;
}

#registeredUserList .user-compact-identity {
  gap: 2px !important;
}

#registeredUserList .user-compact-identity strong {
  font-size: 12.5px !important;
  line-height: 1.2 !important;
}

#registeredUserList .user-compact-identity span {
  color: var(--accent);
  font-size: 10.5px !important;
  line-height: 1.2 !important;
}

/* Pfeil dezent */
#registeredUserList .user-expand-icon {
  color: var(--text-faint);
  font-size: 11px !important;
}

/* Details */
#registeredUserList .user-card-details {
  border-top: 1px solid var(--border-soft);
  padding: 8px 11px 10px !important;
}

/* Loginzeiten nicht wie großer Textblock */
#registeredUserList .user-times {
  display: flex !important;
  flex-wrap: wrap;
  gap: 4px 14px !important;
  margin: 0 0 8px !important;
  color: var(--text-muted);
  font-family: JetBrains Mono, monospace;
  font-size: 9.5px !important;
  line-height: 1.3 !important;
}

/* Status */
#registeredUserList .user-card-title {
  margin-bottom: 6px !important;
}

/* Aktionsbuttons auf Desktop nebeneinander */
#registeredUserList .user-card-details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

#registeredUserList .user-card-details .user-card-title,
#registeredUserList .user-card-details .user-times,
#registeredUserList .user-card-details .user-self-note {
  flex-basis: 100%;
}

/* Buttons deutlich kompakter */
#registeredUserList .btn,
#registeredUserList .btn-xs {
  min-height: 30px !important;
  width: auto !important;
  padding: 5px 10px !important;
  border-radius: 7px !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
}

/* Delete bleibt bewusst dezent rot */
#registeredUserList .btn-danger-outline {
  margin-left: 0;
}

/* Leerhinweis klein */
#registeredUserList .user-pick-hint {
  width: 100%;
  max-width: 680px;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 1px dashed var(--border);
  border-radius: 8px !important;
  color: var(--text-faint);
  text-align: center;
  font-size: 9.5px !important;
}

/* -----------------------------
   Desktop
   ----------------------------- */

@media (min-width: 641px) {

  /* weniger vertikaler Raum */
  #userSection .field {
    margin-bottom: 0 !important;
  }

  #userSection .btn {
    min-height: 32px;
  }

  /* Direktnachrichten wirken wie Werkzeugleiste */
  #userSection select + .btn {
    margin-left: 4px;
  }
}

/* -----------------------------
   Mobile
   ----------------------------- */

@media (max-width: 640px) {

  #userSection {
    margin: 8px 0 14px !important;
  }

  /* Kopf kompakt */
  #userSection .section-heading {
    margin-bottom: 8px !important;
  }

  #registeredUserCount {
    font-size: 9.5px !important;
  }

  /* große Außenpolster reduzieren */
  #userSection .panel,
  #userSection > div {
    padding: 9px !important;
    border-radius: 10px !important;
  }

  /* Labels kleiner */
  #userSection label {
    margin-bottom: 3px !important;
    font-size: 8.5px !important;
  }

  /* Inputs */
  #userSection input,
  #userSection select {
    width: 100% !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 6px 9px !important;
    font-size: 11px !important;
  }

  #userSection .field {
    margin-bottom: 7px !important;
  }

  /* Buttons im Filterbereich nicht riesig */
  #userSection .btn {
    min-height: 36px !important;
    padding: 6px 10px !important;
    font-size: 10.5px !important;
  }

  /* Auswahlkarte */
  #registeredUserList {
    max-width: none !important;
    margin-top: 7px !important;
  }

  #registeredUserList .user-card-summary {
    padding: 7px 9px !important;
  }

  #registeredUserList .user-card-details {
    padding: 7px 9px 9px !important;
    gap: 5px !important;
  }

  #registeredUserList .user-compact-identity strong {
    font-size: 11.5px !important;
  }

  #registeredUserList .user-compact-identity span {
    font-size: 9.5px !important;
  }

  /* Zeiten kompakt untereinander */
  #registeredUserList .user-times {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1px !important;
    margin-bottom: 6px !important;
    font-size: 9px !important;
  }

  /* Aktionen auf Handy 2-spaltig */
  #registeredUserList .btn,
  #registeredUserList .btn-xs {
    flex: 1 1 calc(50% - 4px);
    width: auto !important;
    min-height: 34px !important;
    padding: 6px 8px !important;
    font-size: 9.5px !important;
  }

  /* Nachricht bekommt volle Breite */
  #registeredUserList [data-message-user] {
    flex-basis: 100%;
  }

  /* Blockieren / Löschen nebeneinander */
  #registeredUserList [data-block-user],
  #registeredUserList [data-delete-user] {
    flex-basis: calc(50% - 4px);
  }

  /* eigener Admin-Hinweis */
  #registeredUserList .user-self-note {
    padding: 6px 8px !important;
    font-size: 9px !important;
  }

  #registeredUserList .user-pick-hint {
    font-size: 9px !important;
    padding: 6px 8px !important;
  }
}

/* === Modal Layer Fix v56 === */

/*
 * Alle Pop-ups müssen über der mobilen Bottom-Navigation liegen.
 * Gilt zentral für Konto, Auftrag, Support, Nachrichten,
 * Broadcast, Inventar, Drucker usw.
 */
.overlay {
  z-index: 10000 !important;
}

.overlay .modal {
  position: relative;
  z-index: 10001 !important;
}


/* === Central Modal Manager v57 === */

/* Seite hinter einem geöffneten Dialog nicht scrollen */
body.modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

/* Modal bleibt per Tastatur fokussierbar */
.overlay .modal:focus {
  outline: none;
}


/* === Multi-Color Filament Preview === */

#multiFilamentUsageField{
  margin-top:12px;
}

#multiFilamentUsageRows{
  display:grid;
  gap:10px;
  margin-top:10px;
}

.multi-filament-preview-row{
  padding:11px;
  border:1px solid var(--border);
  border-radius:11px;
}

.multi-filament-preview-color{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}

.multi-filament-preview-controls{
  display:grid;
  grid-template-columns:minmax(100px,.6fr) minmax(220px,1.4fr);
  gap:10px;
}

.multi-filament-preview-controls label{
  display:grid;
  gap:5px;
}

.multi-filament-preview-grams{
  display:flex;
  align-items:center;
  gap:6px;
}

.multi-filament-preview-grams input{
  width:100%;
}

.filament-multi-total{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:10px;
  padding:9px 11px;
  border-radius:9px;
  background:rgba(127,127,127,.06);
}

@media (max-width:640px){
  .multi-filament-preview-controls{
    grid-template-columns:1fr;
  }
}


/* === Active Multi-Color Filament v66 === */

.two-col.multi-filament-single-column{
  grid-template-columns:1fr !important;
}

.multi-filament-preview-row{
  background:rgba(255,255,255,.018);
}

.multi-filament-preview-controls input,
.multi-filament-preview-controls select{
  opacity:1 !important;
  cursor:auto;
}

.multi-filament-preview-controls select{
  width:100%;
  min-width:0;
}

.multi-filament-row-hint.warn,
#multiFilamentUsageHint.warn{
  color:var(--fail);
}

@media (max-width:760px){
  .multi-filament-preview-controls{
    grid-template-columns:1fr !important;
  }

  .multi-filament-preview-row{
    padding:12px;
  }

  .multi-filament-preview-grams{
    max-width:180px;
  }
}

/* E-Mail- und Benachrichtigungszentrale: bestehende Druckplatte-Formensprache */
.mail-center-modal{max-width:980px}
.mail-mode-banner{margin:14px 0;padding:13px 15px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-2);font-weight:700}
.mail-mode-banner[data-mode="test"]{border-color:#d97706;background:rgba(217,119,6,.1);color:#f59e0b}
.mail-mode-banner[data-mode="production"]{border-color:#16a34a;background:rgba(22,163,74,.1);color:#22c55e}
.mail-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.mail-status-card{padding:13px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-2);min-width:0}
.mail-status-card span{display:block;color:var(--text-muted);font-size:12px;margin-bottom:5px}
.mail-status-card strong{display:block;color:var(--text);font-size:14px;overflow-wrap:anywhere}
.mail-inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.mail-center-section{margin-top:18px;padding:17px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-1)}
.mail-center-section h3{margin:0 0 5px;font-size:17px}
.mail-center-section>p,.mail-section-heading p{margin:0 0 14px;color:var(--text-muted);font-size:13px;line-height:1.5}
.mail-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.mail-event-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.mail-event-option{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2);font-size:13px}
.mail-event-option input{width:17px;height:17px;margin:0}
.mail-test-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.mail-test-form .field{margin:0}
.mail-test-recipient-heading{margin:14px 0 8px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700}
.mail-test-recipient-list{display:grid;gap:8px;margin:12px 0}
.mail-test-recipient-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-2)}
.mail-test-recipient-row span{min-width:0;overflow-wrap:anywhere;font-weight:700}
.mail-test-recipient-empty{padding:12px;border:1px dashed var(--border-soft);border-radius:12px;color:var(--text-muted)}
.mail-test-recipient-add-form{margin-bottom:12px}
.mail-test-recipient-add-form input[type=email]{background:var(--surface-2);border:1px solid var(--border-soft);width:100%;color:var(--text);border-radius:9px;outline:none;padding:10px 12px;font-family:Inter,sans-serif;font-size:13.5px}
.mail-preview{margin-top:14px;padding:14px;border:1px solid var(--accent-border);border-radius:12px;background:var(--accent-soft)}
.mail-preview-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.mail-preview-summary div{padding:9px;border-radius:9px;background:var(--surface-1);font-size:12px;color:var(--text-muted)}
.mail-preview-summary strong{display:block;margin-top:3px;color:var(--text);font-size:13px;overflow-wrap:anywhere}
.mail-preview-body{display:block;width:100%;height:360px;border:1px solid var(--border-soft);border-radius:10px;background:#f2f4f7;color:#101828}
.mail-broadcast-test-controls{margin:14px 0}
.mail-broadcast-test-notice{padding:10px 12px;border:1px solid var(--accent-border);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:12.5px;line-height:1.5}
.mail-broadcast-feedback{margin-top:12px;padding:10px 12px;border:1px solid var(--accent-border);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:13px;line-height:1.5}
.mail-broadcast-feedback[data-tone="error"]{border-color:var(--fail);color:var(--fail)}
.mail-broadcast-feedback[data-tone="success"]{border-color:var(--ready);color:var(--ready)}
.mail-history{display:grid;gap:8px;max-height:460px;overflow:auto}
.mail-history-item{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(130px,.8fr) minmax(120px,.7fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2);font-size:12px}
.mail-history-main strong,.mail-history-main span{display:block;overflow-wrap:anywhere}
.mail-history-main span,.mail-history-meta{color:var(--text-muted);margin-top:3px}
.mail-history-state{font-weight:700}
.mail-history-state[data-status="sent"]{color:#22c55e}
.mail-history-state[data-status="failed"]{color:#ef4444}
.mail-history-state[data-status="pending"],.mail-history-state[data-status="sending"]{color:#f59e0b}
.mail-history-state[data-status="suppressed"]{color:#94a3b8}
.mail-history-error{grid-column:1/-1;color:#ef4444;overflow-wrap:anywhere}
#mailAudienceOrders,#mailAudienceUsers{min-height:140px}
@media(max-width:760px){
  .mail-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mail-event-options{grid-template-columns:1fr}
  .mail-test-form{grid-template-columns:1fr}
  .mail-section-heading{display:block}
  .mail-section-heading .btn{margin-top:8px}
  .mail-preview-summary{grid-template-columns:1fr}
  .mail-history-item{grid-template-columns:1fr}
  .mail-history-error{grid-column:auto}
}
