:root{--color-primary: #3498db;--color-primary-hover: #2980b9;--color-primary-alpha: rgba(52, 152, 219, .2);--color-dark: #2c3e50;--color-muted: #7f8c8d;--color-secondary: #95a5a6;--color-danger: #e74c3c;--color-danger-hover: #c0392b;--color-success: #27ae60;--color-warning: #e67e22;--color-accent: #8e44ad;--color-text-body: #555;--color-border: #ddd;--color-border-light: #ecf0f1;--color-group-bg: #e8f4f8;--color-bg: #f5f5f5;--color-panel: #ffffff;--color-text: #2c3e50;--color-on-primary: #ffffff;--color-fill-info: #2471a8;--color-fill-danger: #cc3a29;--color-badge-success: #2a9d5c;--color-badge-warning: #e08000;--color-badge-info: #2a7fd4;--color-badge-purple: #7c3aed;--color-code-bg: #f6f8fa;--color-code-border: #d0d7de;--color-code-text: #24292e;--color-code-kw: #d73a49;--color-code-builtin: #6f42c1;--color-code-string: #032f62;--color-code-number: #005cc5;--color-code-comment: #6a737d;--color-code-fn: #6f42c1;--color-code-prop: #005cc5;--color-code-literal: #005cc5;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 9999px;--font-2xs: 10px;--font-xs: 11px;--font-sm: 12px;--font-base: 13px;--font-md: 14px;--font-lg: 15px;--font-xl: 18px;--font-2xl: 22px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-xs: var(--space-4);--space-sm: var(--space-8);--space-md: var(--space-16);--space-lg: var(--space-24);--transition-fast: .1s;--transition-base: .15s;--transition-slow: .2s;--z-raised: 1;--z-toolbar: 10;--z-overlay: 50;--z-dropdown: 100;--z-dragover: 200;--z-modal: 1000;--z-popover: 1200;--z-dialog: 2000;--z-toast: 3000}:root.dark{--color-dark: #dce8f2;--color-primary: #5dade2;--color-primary-hover: #7ec8f0;--color-muted: #6a8ea4;--color-secondary: #4a6678;--color-success: #2ecc71;--color-warning: #f39c12;--color-accent: #a569bd;--color-text-body: #9ab8cc;--color-border: #283a4c;--color-border-light: #1b2c3c;--color-group-bg: #192738;--color-bg: #111d28;--color-panel: #19283a;--color-text: #c4d8e8;--color-code-bg: #1e2235;--color-code-border: rgba(255, 255, 255, .08);--color-code-text: #abb2bf;--color-code-kw: #c678dd;--color-code-builtin: #e6c07b;--color-code-string: #98c379;--color-code-number: #d19a66;--color-code-comment: #5c6370;--color-code-fn: #61afef;--color-code-prop: #e06c75;--color-code-literal: #56b6c2}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--color-bg)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text-body);padding:var(--space-20)}h1{color:var(--color-dark);margin-bottom:var(--space-4)}.page-wrap{max-width:1400px;margin:0 auto}.subtitle{color:var(--color-muted);margin-bottom:var(--space-20);font-size:var(--font-md)}.page-title{font-size:var(--font-2xl);font-weight:600;margin:0;color:var(--color-text-body)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);margin-bottom:var(--space-20)}button{padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);font-size:var(--font-md);background:var(--color-primary);color:#fff;border:1px solid transparent;cursor:pointer;font-weight:500;transition:background var(--transition-slow)}button:hover{background:var(--color-primary-hover)}button.secondary{background:var(--color-panel);border:1px solid var(--color-border);color:var(--color-text-body)}button.secondary:hover:not(:disabled){background:var(--color-border-light)}button.secondary:disabled{opacity:.35;cursor:default}button.danger{background:var(--color-danger)}button.danger:hover{background:var(--color-danger-hover)}.panels{display:flex;flex-direction:column;gap:16px}ProjectSettings* tab * components render identically whether hosted in a TabbedModal or on a routed * settings surface (the platform Preferences views,#751). Previously scoped * inside TabbedModal via :deep(:where(...)),which left them unstyled when a tab * component was reused outside the modal. Same drift rationale as .panels/.btn-*. */ .section-label{font-size:var(--font-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:var(--space-8)}.section-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-16) 0 var(--space-12)}.settings-fields{display:flex;flex-direction:column;gap:var(--space-10);margin-top:var(--space-4)}.settings-hint{margin:0 0 16px;font-size:.85em;color:var(--color-muted);line-height:1.5}button.danger-hover:hover{border-color:var(--color-danger);color:var(--color-danger)}button.row-action.row-action-danger{color:var(--color-danger);border-color:var(--color-danger)}button.row-action.row-action-danger:hover{background:var(--color-danger);color:var(--color-on-primary)}.nav-link{display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:.875em;color:var(--color-muted);text-decoration:none;border-radius:4px;transition:background .15s,color .15s}.nav-link:hover{background:var(--color-bg);color:var(--color-text-body)}.nav-link[aria-current=page]{background:var(--color-bg);color:var(--color-text-body);font-weight:500}.btn-primary,.btn-secondary,.btn-danger{display:inline-block;padding:7px 18px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--font-md);font-weight:500;white-space:nowrap;text-decoration:none;cursor:pointer}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{padding:7px 14px;background:none;border-color:var(--color-border);color:var(--color-text-body)}.btn-secondary:hover:not(:disabled){background:var(--color-bg)}.btn-secondary:disabled{opacity:.6;cursor:default}.btn-danger{padding:7px 14px;background:none;border-color:var(--color-danger);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-danger:disabled{opacity:.6;cursor:default}select,input[type=text],input[type=number],input[type=date],input[type=email],input[type=url],input[type=password],input[type=color],textarea{padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-md);background:var(--color-bg);color:var(--color-text)}.panel{background:var(--color-panel);color:var(--color-text-body);border-radius:var(--radius-lg);padding:var(--space-20);box-shadow:0 2px 8px #0000001a}.panel h2{color:var(--color-dark);margin-bottom:var(--space-16);font-size:1.2em;display:flex;justify-content:space-between;align-items:center}.field-group{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-12)}.field-group:last-child{margin-bottom:0}.field-group label{font-size:var(--font-base);font-weight:500}.field-group input,.field-group select,.field-group textarea{width:100%}.field-group textarea{padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-md);resize:vertical;font-family:inherit}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10)}.checkbox-field{display:flex;align-items:center;gap:var(--space-8)}.checkbox-field input[type=checkbox]{width:auto}.hint{color:var(--color-muted);font-size:var(--font-sm);margin-top:var(--space-4)}.error-msg{color:var(--color-danger);font-size:var(--font-base);margin-top:var(--space-8)}.req{color:var(--color-danger);margin-left:var(--space-2);font-style:normal}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:var(--z-dropdown)}.modal-dialog{background:var(--color-panel);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;width:min(480px,90vw);max-height:85vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-lg);font-weight:600;color:var(--color-dark)}.modal-close{background:none;border:none;font-size:var(--font-2xl);line-height:1;cursor:pointer;color:var(--color-muted);padding:0 var(--space-2)}.modal-close:hover{color:var(--color-text)}.modal-body{padding:var(--space-20)}.modal-body label{display:block;font-size:var(--font-sm);font-weight:600;margin-bottom:var(--space-6);color:var(--color-muted)}.modal-body input[type=text]{width:100%;box-sizing:border-box}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-8);margin-top:var(--space-12)}.modal-hint{font-size:var(--font-sm);color:var(--color-muted);margin-top:var(--space-6)}.modal-hint code{font-family:monospace;background:var(--color-border-light);padding:1px var(--space-4);border-radius:var(--radius-xs)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-8);padding:var(--space-12) var(--space-20);border-top:1px solid var(--color-border)}footer{text-align:center;padding:var(--space-20);margin-top:var(--space-20);color:var(--color-muted);font-size:var(--font-md)}a{color:var(--color-primary)}a:hover{color:var(--color-primary-hover)}footer a{text-decoration:none}footer a:hover{text-decoration:underline}span.pill.status-quoted{color:var(--color-badge-info);border-color:var(--color-badge-info)}span.pill.status-approved{color:var(--color-badge-purple);border-color:var(--color-badge-purple)}span.pill.status-in_production{color:var(--color-badge-warning);border-color:var(--color-badge-warning)}span.pill.status-complete{color:var(--color-badge-success);border-color:var(--color-badge-success)}span.pill.invoice-partially_paid{color:var(--color-badge-warning);border-color:var(--color-badge-warning)}span.pill.invoice-paid{color:var(--color-badge-success);border-color:var(--color-badge-success)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll.table-scroll>table{min-width:100%;width:max-content}@media (max-width: 768px){.shell-nav--secondary .nav-link{white-space:nowrap;flex:0 0 auto}}.autocomplete-wrap[data-v-494a4861]{position:relative}.autocomplete-wrap input[data-v-494a4861]{width:100%;box-sizing:border-box}.autocomplete-dropdown[data-v-494a4861]{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:var(--z-dropdown);list-style:none;margin:0;padding:var(--space-4) 0;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0000001f;max-height:180px;overflow-y:auto}.autocomplete-dropdown li[data-v-494a4861]{padding:var(--space-4) var(--space-10);font-size:var(--font-base);cursor:pointer}.autocomplete-dropdown li[data-v-494a4861]:hover,.autocomplete-dropdown li.active[data-v-494a4861]{background:var(--color-bg)}.badge[data-v-bdfc63de]{display:inline-block;border-radius:10px;white-space:nowrap}.badge-md[data-v-bdfc63de]{padding:2px 8px;font-size:.8em;font-weight:500}.badge-sm[data-v-bdfc63de]{padding:1px 6px;font-size:.72em}.badge-outline[data-v-bdfc63de]{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-muted)}.badge-outline.badge-success[data-v-bdfc63de]{color:var(--color-badge-success);border-color:var(--color-badge-success)}.badge-outline.badge-warning[data-v-bdfc63de]{color:var(--color-badge-warning);border-color:var(--color-badge-warning)}.badge-outline.badge-danger[data-v-bdfc63de]{color:var(--color-danger);border-color:var(--color-danger)}.badge-outline.badge-info[data-v-bdfc63de]{color:var(--color-badge-info);border-color:var(--color-badge-info)}.badge-outline.badge-purple[data-v-bdfc63de]{color:var(--color-badge-purple);border-color:var(--color-badge-purple)}.badge-outline.badge-primary[data-v-bdfc63de]{color:var(--color-primary);border-color:var(--color-primary)}.badge-solid[data-v-bdfc63de]{border:none;color:#fff;font-weight:600}.badge-solid.badge-default[data-v-bdfc63de]{background:none;border:1px solid var(--color-border);color:var(--color-muted);font-weight:500}.badge-solid.badge-primary[data-v-bdfc63de]{background:var(--color-primary)}.badge-solid.badge-purple[data-v-bdfc63de]{background:var(--color-badge-purple)}.badge-solid.badge-success[data-v-bdfc63de]{background:var(--color-badge-success)}.badge-solid.badge-warning[data-v-bdfc63de]{background:var(--color-badge-warning)}.badge-solid.badge-danger[data-v-bdfc63de]{background:var(--color-danger)}.badge-solid.badge-info[data-v-bdfc63de]{background:var(--color-badge-info)}.code-output{position:relative;display:flex;align-items:flex-start;background:var(--color-code-bg);color:var(--color-code-text);border:1px solid var(--color-code-border);border-radius:var(--radius-md);font-family:Courier New,monospace;font-size:var(--font-base);line-height:1.6;overflow:auto;min-height:120px}.code-gutter{display:flex;flex-direction:column;text-align:right;padding:var(--space-16) var(--space-12) var(--space-16) var(--space-16);color:var(--color-muted);border-right:1px solid var(--color-code-border);-webkit-user-select:none;user-select:none;flex-shrink:0;position:sticky;left:0;background:var(--color-code-bg)}.code-body{padding:var(--space-16);flex:1;white-space:pre;min-width:0}.code-output .hljs-keyword{color:var(--color-code-kw)}.code-output .hljs-string{color:var(--color-code-string)}.code-output .hljs-number{color:var(--color-code-number)}.code-output .hljs-property{color:var(--color-code-prop)}.code-output .hljs-literal{color:var(--color-code-literal)}.code-output .hljs-comment{color:var(--color-code-comment);font-style:italic}.code-copy-btn{position:absolute;top:8px;right:8px;padding:var(--space-2) var(--space-10);font-size:var(--font-xs);font-family:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-code-border);background:var(--color-code-bg);color:var(--color-muted);cursor:pointer;opacity:0;transition:opacity var(--transition-base),background var(--transition-base);z-index:var(--z-raised)}.code-output:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:var(--color-border);color:var(--color-text-body)}.code-copy-btn.copied{color:var(--color-primary);border-color:var(--color-primary);opacity:1}.dialog-backdrop[data-v-0bc6192a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;background:#00000073}.dialog-box[data-v-0bc6192a]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:calc(var(--z-dialog) + 1);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000040;padding:var(--space-24) var(--space-24) var(--space-20);width:min(400px,calc(100vw - 32px));display:flex;flex-direction:column;gap:var(--space-16)}.dialog-title[data-v-0bc6192a]{font-size:var(--font-lg);font-weight:600;color:var(--color-dark);margin:0 0 -10px}.sr-only[data-v-0bc6192a]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dialog-message[data-v-0bc6192a]{font-size:var(--font-md);line-height:1.55;margin:0}.dialog-actions[data-v-0bc6192a]{display:flex;justify-content:flex-end;gap:var(--space-8);margin-top:var(--space-4)}.btn-cancel[data-v-0bc6192a]{padding:var(--space-8) var(--space-16);font-size:var(--font-md);font-weight:500;border-radius:var(--radius-sm);cursor:pointer;background:transparent;border:1px solid var(--color-border);color:var(--color-text-body);transition:background var(--transition-base)}.btn-cancel[data-v-0bc6192a]:hover{background:var(--color-group-bg)}.btn-primary[data-v-0bc6192a]{padding:var(--space-8) var(--space-16);font-size:var(--font-md);font-weight:600;border-radius:var(--radius-sm);cursor:pointer;border:none;background:var(--color-primary);color:#fff;transition:background var(--transition-base)}.btn-primary[data-v-0bc6192a]:hover{background:var(--color-primary-hover)}.btn-primary[data-v-0bc6192a]:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary.danger[data-v-0bc6192a]{background:var(--color-danger)}.btn-primary.danger[data-v-0bc6192a]:hover{background:var(--color-danger-hover)}.btn-primary.danger[data-v-0bc6192a]:focus{outline-color:var(--color-danger)}.dd-panel{width:max-content;min-width:var(--reka-dropdown-menu-trigger-width, 180px);max-width:420px;max-height:calc(var(--reka-dropdown-menu-content-available-height, 100dvh) - 8px);overflow-y:auto;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;z-index:var(--z-popover);padding:var(--space-6);display:grid;grid-template-columns:repeat(var(--dd-cols, 1),1fr);gap:var(--space-4) var(--space-12)}.dd-group{display:contents}.dd-group-label{grid-column:1 / -1;font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);background:var(--color-primary-alpha);border-radius:var(--radius-xs);padding:var(--space-4) var(--space-8);margin-top:var(--space-4)}.dd-group:first-child .dd-group-label{margin-top:0}.dd-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);background:none;border:1px solid transparent;cursor:pointer;text-align:left;width:100%;font-family:inherit;transition:background var(--transition-fast),border-color var(--transition-fast)}.dd-item:hover{background:var(--color-border-light)}.dd-item-active{background:var(--color-primary-alpha);border-color:var(--color-primary)}.dd-item-active:hover{background:var(--color-group-bg)}.dd-item[data-disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.dd-item-danger .dd-item-label{color:var(--color-danger, #e74c3c)}.dd-item-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8)}.dd-item-label{font-size:var(--font-base);font-weight:500;color:var(--color-dark)}.dd-item-note{font-size:var(--font-xs);color:var(--color-muted);font-family:monospace;font-style:normal;white-space:nowrap;flex-shrink:0}.dd-item-desc{font-size:var(--font-xs);color:var(--color-muted);line-height:1.4}.currency-trigger[data-v-90b90971]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 10px;background:var(--color-panel);border:1px solid var(--color-border);border-radius:4px;font-size:var(--font-md);color:var(--color-text-body);cursor:pointer;text-align:left}.currency-trigger[data-v-90b90971]:hover:not(:disabled){border-color:var(--color-primary)}.currency-trigger[data-v-90b90971]:disabled{opacity:.5;cursor:default}.currency-trigger.open[data-v-90b90971]{border-color:var(--color-primary)}.currency-trigger-label[data-v-90b90971]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-chevron[data-v-90b90971]{font-size:.8em;color:var(--color-muted);transition:transform .15s}.dd-chevron.open[data-v-90b90971]{transform:rotate(180deg)}.modal-backdrop[data-v-8e577acc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#00000073}.modal-dialog[data-v-8e577acc]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:calc(var(--z-modal) + 1);width:min(520px,calc(100vw - 32px));max-height:85vh;display:flex;flex-direction:column;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;overflow:hidden}.modal-header[data-v-8e577acc]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-title[data-v-8e577acc]{font-size:var(--font-lg);font-weight:600;color:var(--color-dark);margin:0}.modal-close[data-v-8e577acc]{background:none;border:none;font-size:var(--font-2xl);line-height:1;cursor:pointer;color:var(--color-muted);padding:0 var(--space-2)}.modal-close[data-v-8e577acc]:hover{color:var(--color-text-body)}.modal-body[data-v-8e577acc]{padding:var(--space-20);overflow-y:auto;flex:1;min-height:0}.modal-footer[data-v-8e577acc]{display:flex;justify-content:flex-end;gap:var(--space-8);padding:var(--space-12) var(--space-20);border-top:1px solid var(--color-border);flex-shrink:0}.overlay-page[data-v-2076b0ed]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--color-bg, #f5f5f5);overflow-y:auto}.overlay-content[data-v-2076b0ed]{max-width:1200px;margin:0 auto;padding:var(--space-20) var(--space-24) 40px}.overlay-header[data-v-2076b0ed]{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) 0 var(--space-20);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-20)}.overlay-header-title[data-v-2076b0ed]{flex:1;font-size:var(--font-xl);font-weight:700;color:var(--color-dark)}.pagination[data-v-06a45624]{margin-top:16px}.pagination-list[data-v-06a45624]{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;font-size:.85em;color:var(--color-muted)}.page-btn[data-v-06a45624]{padding:4px 12px;font-size:.85em;font-family:inherit;background:none;border:1px solid var(--color-border);border-radius:4px;color:var(--color-muted);cursor:pointer}.page-btn[data-v-06a45624]:not(:disabled):hover{background:var(--color-bg);color:var(--color-text-body)}.page-btn[data-v-06a45624]:disabled{opacity:.4;cursor:default}.page-num[data-v-06a45624]{padding:4px 10px;min-width:2em}.page-num[data-selected=true][data-v-06a45624]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.page-ellipsis[data-v-06a45624]{padding:0 2px;color:var(--color-muted)}.panel-actions{display:flex;gap:var(--space-8)}.panel-actions button:not([class*=btn-]){padding:6px 10px;font-size:var(--font-base)}.panel-toggle{background:transparent;border:none;padding:var(--space-2) var(--space-6);cursor:pointer;font-size:var(--font-sm);color:var(--color-muted);transition:transform var(--transition-slow);margin-right:var(--space-4)}.panel-toggle.expanded{transform:rotate(90deg)}.panel-toggle:hover{color:var(--color-dark);background:transparent}.panel--slim{padding:var(--space-10) var(--space-8)}.panel--slim h2{font-size:var(--font-sm);font-weight:600;margin-bottom:0}.panel--slim .panel-toggle{font-size:var(--font-2xs);padding:1px var(--space-4);margin-right:var(--space-4)}.panel--slim .panel-body{padding:var(--space-10) var(--space-10) var(--space-10) var(--space-20)}.param-checkbox-label{display:inline-flex;align-items:center;gap:var(--space-4);cursor:pointer;font-size:var(--font-sm)}.param-toggle{display:inline-flex;align-items:center;gap:var(--space-4);cursor:pointer}.param-toggle-label{font-size:var(--font-sm)}.param-toggle-input{position:absolute;opacity:0;width:0;height:0}.param-toggle-track{width:32px;height:18px;background:var(--color-border);border-radius:var(--radius-pill);position:relative;transition:background var(--transition-base);flex-shrink:0}.param-toggle-track:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform var(--transition-base)}.param-toggle-input:checked+.param-toggle-track{background:var(--color-primary)}.param-toggle-input:checked+.param-toggle-track:after{transform:translate(14px)}.param-slider-wrap{display:flex;align-items:center;gap:var(--space-6)}.param-slider-value{min-width:2.5em;color:var(--color-muted);font-size:var(--font-xs)}.param-radio-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.param-radio-option{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-sm);cursor:pointer}.param-radio-option input{width:auto}.param-checkbox-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.param-checkbox-option{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-sm);cursor:pointer}.param-checkbox-option input{width:auto}.param-array{display:flex;flex-direction:column;gap:var(--space-6)}.param-array-empty{font-size:var(--font-xs);color:var(--color-muted);margin:0}.param-array-row{display:flex;align-items:flex-start;gap:var(--space-6)}.param-array-row-body{flex:1;min-width:0;padding:var(--space-6);background:var(--color-bg);border-radius:var(--radius-sm)}.param-array-row-actions{display:flex;flex-direction:column;gap:2px}.param-array-row-actions button{padding:0 var(--space-4);font-size:var(--font-xs);line-height:1.4;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-text-body);cursor:pointer}.param-array-row-actions button:disabled{opacity:.4;cursor:default}.param-array-add{align-self:flex-start;padding:var(--space-4) var(--space-8);font-size:var(--font-sm);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-primary);cursor:pointer}.param-array-add:disabled{opacity:.5;cursor:default}.param-object{display:flex;flex-direction:column;gap:var(--space-4);border-left:2px solid var(--color-border);padding-left:var(--space-8)}.param-object-field{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:var(--space-8)}.param-object-label{font-size:var(--font-sm);color:var(--color-muted)}.param-json{display:flex;flex-direction:column;gap:var(--space-4)}.param-json-editor{width:100%;box-sizing:border-box;resize:vertical;font-family:var(--font-mono, monospace);font-size:var(--font-sm);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-body)}.param-json-error{margin:0;font-size:var(--font-xs);color:var(--color-danger)}.param-json-hint{margin:0;font-size:var(--font-xs);color:var(--color-muted)}.param-inputs{display:flex;flex-direction:column;gap:var(--space-4)}.preview-group{display:flex;flex-direction:column;margin-top:var(--space-6)}.preview-group:first-child{margin-top:0}.preview-group-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 0 var(--space-4);border-bottom:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.preview-group-header:hover{color:var(--color-text-body)}.preview-group-chevron{font-size:8px;color:var(--color-primary);display:inline-block;transition:transform var(--transition-base);line-height:1}.preview-group-chevron.open{transform:rotate(90deg)}.preview-group-description{margin:var(--space-4) 0 0;font-size:var(--font-xs);color:var(--color-muted);line-height:1.4}.preview-group-info{font-size:var(--font-xs);color:var(--color-muted);margin-right:var(--space-4)}.preview-group-content{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-4)}.preview-param{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:var(--space-8);padding:1px 0}.preview-param label{font-size:var(--font-sm);color:var(--color-muted);font-weight:500;display:flex;align-items:center;gap:var(--space-4);min-width:0}.param-info-btn{position:relative;font-size:var(--font-xs);color:var(--color-muted);line-height:1;cursor:default;flex-shrink:0}.param-info-btn:after{content:attr(data-tooltip);position:absolute;left:18px;top:50%;transform:translateY(-50%);background:var(--color-text-body);color:var(--color-panel);font-size:var(--font-sm);font-weight:400;padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);white-space:pre-wrap;max-width:220px;width:max-content;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:var(--z-toolbar)}.param-info-btn:hover:after{opacity:1}.preview-param input:not([type=checkbox]):not([type=radio]):not([type=range]),.preview-param select,.preview-param textarea{padding:var(--space-4) var(--space-8);font-size:var(--font-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-body);width:100%;box-sizing:border-box}.preview-param input[type=range]{width:100%}.preview-param input[type=checkbox]{width:auto}.preview-param .param-checkbox-label{justify-self:start}.tabbed-overlay[data-v-f194a917]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dropdown);background:#0006}.tabbed-card[data-v-f194a917]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:calc(var(--z-dropdown) + 1);display:flex;flex-direction:column;width:min(var(--modal-width, 520px),90vw);height:80vh;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;overflow:hidden}@media (max-width: 480px){.tabbed-card[data-v-f194a917]{width:95vw;height:90vh}}@media (max-height: 500px){.tabbed-card[data-v-f194a917]{height:95vh}}.tabbed-header[data-v-f194a917]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--color-border);flex-shrink:0}.tabbed-title[data-v-f194a917]{font-size:var(--font-lg);font-weight:600;color:var(--color-dark);margin:0}.tabbed-close[data-v-f194a917]{background:none;border:none;font-size:var(--font-2xl);line-height:1;cursor:pointer;color:var(--color-muted);padding:0 var(--space-2)}.tabbed-close[data-v-f194a917]:hover{color:var(--color-text-body)}.tabbed-body[data-v-f194a917]{display:flex;flex:1;min-height:0;overflow:hidden}.tabbed-sidebar[data-v-f194a917]{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-12) var(--space-8);border-right:1px solid var(--color-border);background:var(--color-group-bg);flex-shrink:0}.tab-btn[data-v-f194a917]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:var(--font-lg);line-height:1;border-radius:var(--radius-md);border:1px solid transparent;background:none;color:var(--color-muted);cursor:pointer;transition:background var(--transition-base),color var(--transition-base)}.tab-btn[data-v-f194a917]:hover{background:var(--color-border);color:var(--color-text-body)}.tab-btn[data-state=active][data-v-f194a917]{background:var(--color-primary-alpha);border-color:var(--color-primary);color:var(--color-primary)}.tabbed-content[data-v-f194a917]{flex:1;padding:var(--space-20);overflow-y:auto;min-width:0}.tabbed-content[data-v-f194a917] :where(.tab-intro){font-size:var(--font-base);color:var(--color-muted);line-height:1.5;margin:0 0 var(--space-12)}.tabbed-content[data-v-f194a917] :where(.tab-intro) a{color:var(--color-primary)}.tabbed-content[data-v-f194a917] :where(.tab-empty){font-size:var(--font-base);color:var(--color-muted);font-style:italic;margin:0}.tabbed-footer[data-v-f194a917]{display:flex;justify-content:flex-end;gap:var(--space-8);padding:var(--space-12) var(--space-20);border-top:1px solid var(--color-border);flex-shrink:0}.toast-host[data-v-0b541fc9]{position:fixed;bottom:40px;left:50%;transform:translate(-50%);z-index:var(--z-toast);pointer-events:none}.toast-list[data-v-0b541fc9]{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.toast[data-v-0b541fc9]{background:var(--color-text-body);color:var(--color-bg);padding:var(--space-8) var(--space-16);border-radius:var(--radius-pill);font-size:var(--font-base);font-weight:500;white-space:nowrap;box-shadow:0 4px 14px #00000040}.toast-enter-active[data-v-0b541fc9]{transition:opacity var(--transition-base),transform var(--transition-base)}.toast-leave-active[data-v-0b541fc9]{transition:opacity var(--transition-slow)}.toast-enter-from[data-v-0b541fc9]{opacity:0;transform:translateY(6px)}.toast-leave-to[data-v-0b541fc9]{opacity:0}.rk-tooltip{max-width:240px;padding:6px 10px;border-radius:6px;background:var(--color-panel);border:1px solid var(--color-border);color:var(--color-text-body);font-size:.78rem;line-height:1.4;box-shadow:0 4px 14px #0000002e;z-index:10000;-webkit-user-select:none;user-select:none;will-change:transform,opacity}.rk-tooltip-arrow{fill:var(--color-panel)}.rk-tooltip[data-state=delayed-open],.rk-tooltip[data-state=instant-open]{animation:rk-tooltip-in .12s ease-out}@keyframes rk-tooltip-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
