@charset "UTF-8";.sidebar-container{position:absolute;top:0;left:0;bottom:0;display:flex;z-index:100;pointer-events:none;width:100%;transition:width .2s ease}.sidebar-tabs{display:flex;flex-direction:column;background:var(--ui-ribbon-tabs-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:8px 0;gap:4px;position:relative;pointer-events:auto;box-shadow:2px 0 15px #0000004d}.sidebar-tab{display:flex;align-items:center;justify-content:center;padding:12px 0;border:none;background:var(--ui-ribbon-bg);color:var(--ui-text-muted);cursor:pointer;transition:all .2s ease;position:relative;width:42px;min-height:72px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);border-right:2px solid var(--ui-border)}.sidebar-tab:hover{background:var(--ui-ribbon-tab-hover);color:var(--ui-text)}.sidebar-tab.active{background:var(--ui-panel-bg);color:var(--ui-text);border-right-color:var(--ui-accent);z-index:1}.sidebar-tab.active:after{content:"";position:absolute;right:-2px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--ui-accent) 0%,var(--ui-accent) 100%);box-shadow:0 0 8px color-mix(in srgb,var(--ui-accent) 60%,transparent)}.sidebar-tabs-spacer{flex:1}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:100%;height:32px;flex-shrink:0;background:transparent;border:none;border-bottom:1px solid var(--ui-border);color:var(--ui-text-muted);cursor:pointer;transition:all .15s;padding:0}.sidebar-collapse-btn:hover{background:var(--ui-ribbon-tab-hover);color:var(--ui-text)}.tab-icon{display:none}.tab-label{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--ui-font-family, "Inter", "Segoe UI", sans-serif);font-size:10px;font-weight:700;line-height:1.15;text-transform:uppercase;letter-spacing:.9px;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.sidebar-content{width:calc(100% - 42px);min-width:200px;background:var(--ui-panel-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow-y:auto;padding:5px;pointer-events:auto;box-shadow:2px 0 20px #0006;border-right:1px solid color-mix(in srgb,var(--ui-accent) 20%,transparent);z-index:0;position:relative;left:0;scrollbar-width:thin;scrollbar-color:var(--ui-accent) var(--ui-bg-tertiary)}.sidebar-content::-webkit-scrollbar{width:8px}.sidebar-content::-webkit-scrollbar-track{background:var(--ui-bg-tertiary);border-radius:4px}.sidebar-content::-webkit-scrollbar-thumb{background:var(--ui-accent);border-radius:4px;border:2px solid var(--ui-bg-tertiary)}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--ui-accent-hover)}.modern-number-input{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;width:100%;max-width:100%;box-sizing:border-box}.modern-number-label{font-size:9px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.modern-number-label.required{color:var(--ui-text)}.modern-number-label .required-mark{margin-left:4px;color:var(--ui-accent)}.modern-number-label.error{color:var(--ui-error)}.modern-number-wrapper{position:relative;display:flex;align-items:center;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;transition:all .2s ease;min-height:26px}.modern-number-wrapper:hover{background:var(--ui-bg-secondary)}.modern-number-wrapper.focused{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.modern-number-wrapper.error{border-color:var(--ui-error)}.modern-number-wrapper.disabled{opacity:.5;cursor:not-allowed}.modern-number-input-field{flex:1;padding:4px 6px;background:transparent;border:none;color:var(--ui-text);font-size:11px;font-weight:500;width:100%;box-sizing:border-box}.modern-number-input-field:focus{outline:none}.modern-number-input-field::placeholder{color:var(--ui-text-muted)}.modern-number-input-field:disabled{cursor:not-allowed}.modern-number-input-field::-webkit-outer-spin-button,.modern-number-input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modern-number-input-field[type=number]{-moz-appearance:textfield}.modern-number-unit{padding:0 6px;font-size:10px;font-weight:600;color:var(--ui-text-muted);border-left:1px solid var(--ui-border)}.modern-number-error{font-size:10px;color:var(--ui-error);margin-top:-2px}.input-tooltip-trigger{position:relative;display:inline-flex;align-items:center;margin-left:4px;cursor:help;color:var(--ui-accent);font-size:10px;line-height:1;vertical-align:middle;-webkit-user-select:none;user-select:none}.input-tooltip-bubble{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--ui-panel-bg, #1e1e2e);color:var(--ui-text, #cdd6f4);border:1px solid var(--ui-border, #45475a);border-radius:6px;padding:6px 10px;font-size:10px;font-weight:400;line-height:1.4;white-space:normal;width:220px;text-transform:none;letter-spacing:0;box-shadow:0 4px 12px #0006;z-index:9999;pointer-events:none}.input-tooltip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--ui-border, #45475a)}.input-tooltip-trigger:hover .input-tooltip-bubble{display:block}.modern-select-wrapper{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;width:100%;box-sizing:border-box}.modern-select-label{font-size:9px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.modern-select-label--required{color:var(--ui-text)}.modern-select-required-mark{color:var(--ui-accent)}.modern-select-label--error{color:var(--ui-error)}.modern-select-input{height:26px;width:100%;padding:0 6px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;appearance:auto}.modern-select-input:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-light)}.modern-select-input:hover:not(:disabled){border-color:var(--ui-accent)}.modern-select-input--disabled{opacity:.45;cursor:not-allowed}.modern-select-input--error{border-color:var(--ui-error)}.modern-select-error{font-size:10px;color:var(--ui-error);margin-top:-2px}.modern-select-input option{background:var(--ui-bg-secondary, #2a3340);color:var(--ui-text);font-size:11px}.complementary-tab{padding:12px 8px;max-width:100%;width:100%;box-sizing:border-box;overflow-x:hidden;background:var(--ui-panel-bg);overflow-y:visible}.complementary-tab .tab-title{font-size:11px;font-weight:700;color:var(--ui-text);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.complementary-tab .tab-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.complementary-tab-tour-button{border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-button-ghost-bg, transparent);color:var(--ui-text-secondary);font-size:10px;font-weight:600;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.complementary-tab-tour-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.complementary-tab .section-title--highlight{color:var(--ui-accent);border-left:3px solid var(--ui-accent);padding-left:6px}.complementary-tab .section-title{font-size:10px;font-weight:700;color:var(--ui-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.complementary-tab .complementary-side-group{border-left:2px solid var(--ui-border);padding-left:10px;margin-bottom:10px}.complementary-tab .complementary-side-group:last-child{margin-bottom:0}.complementary-tab .side-label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ui-text-muted, var(--ui-text-secondary));margin-bottom:4px;opacity:.7}.complementary-tab .form-section{display:flex;flex-direction:column;gap:6px;background:var(--ui-panel-bg);padding:8px;border-radius:4px;border:1px solid var(--ui-border);margin-bottom:8px;width:100%;max-width:100%;box-sizing:border-box}.complementary-tab .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;width:100%;box-sizing:border-box}.complementary-tab .form-group{display:flex;flex-direction:column;gap:3px;width:100%;max-width:100%;box-sizing:border-box;min-width:0}.complementary-tab .form-group label{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.complementary-tab .select-input{padding:6px 8px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;max-width:100%;box-sizing:border-box;height:28px}.complementary-tab .select-input:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.complementary-tab .select-input:disabled{opacity:.5;cursor:not-allowed;background:var(--ui-bg-tertiary)}.complementary-tab .select-input option{background:var(--ui-tabs-bg);color:var(--ui-text)}.complementary-tab .info-box{margin-top:12px;padding:10px 12px;background:var(--ui-input-bg);border-left:3px solid var(--ui-accent);border-radius:4px;font-size:11px;line-height:1.4;color:var(--ui-text)}.complementary-tab .info-box strong{color:var(--ui-text);font-weight:700}.complementary-tab .info-box.warning{border-left-color:var(--ui-danger, #f97373)}.tour-prompt-banner{display:flex;flex-direction:column;gap:6px;padding:8px 10px;margin-bottom:8px;background:var(--ui-accent-subtle, rgba(59, 130, 246, .08));border:1px solid var(--ui-accent, #3b82f6);border-radius:6px;font-size:11px}.tour-prompt-header{display:flex;align-items:center;gap:6px}.tour-prompt-icon{font-size:13px;flex-shrink:0}.tour-prompt-text{color:var(--ui-text);font-weight:500}.tour-prompt-actions{display:flex;gap:6px}.tour-prompt-btn{flex:1;border-radius:4px;font-size:10px;font-weight:600;padding:4px 6px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease;text-align:center}.tour-prompt-btn--accept{background:var(--ui-accent, #3b82f6);border:1px solid var(--ui-accent, #3b82f6);color:#fff}.tour-prompt-btn--accept:hover{opacity:.85}.tour-prompt-btn--dismiss{background:transparent;border:1px solid var(--ui-border);color:var(--ui-text-secondary)}.tour-prompt-btn--dismiss:hover{border-color:var(--ui-text-secondary);color:var(--ui-text)}.modern-slider-input{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;width:100%;max-width:100%;box-sizing:border-box}.modern-slider-header{display:flex;justify-content:space-between;align-items:center}.modern-slider-label{font-size:9px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.modern-slider-label.required{color:var(--ui-text)}.modern-slider-label .required-mark{margin-left:4px;color:var(--ui-accent)}.modern-slider-label.disabled{opacity:.5}.modern-slider-number{width:60px;padding:4px 6px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:11px;font-weight:600;text-align:center;transition:all .2s ease;min-height:26px}.modern-slider-number:hover{background:var(--ui-bg-secondary)}.modern-slider-number:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.modern-slider-number:disabled{opacity:.5;cursor:not-allowed}.modern-slider-number::-webkit-outer-spin-button,.modern-slider-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modern-slider-number[type=number]{-moz-appearance:textfield}.modern-slider-track-container{padding:4px 0}.modern-slider-track{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--ui-slider-track-bg);border-radius:3px;outline:none;cursor:pointer;transition:opacity .2s;border:1px solid var(--ui-slider-track-border)}.modern-slider-track:hover{opacity:.9}.modern-slider-track:disabled{opacity:.5;cursor:not-allowed}.modern-slider-track::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ui-accent);cursor:pointer;border:2px solid var(--ui-slider-thumb-border);box-shadow:var(--ui-shadow-slider);transition:all .2s ease}.modern-slider-track::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:var(--ui-shadow-slider-hover)}.modern-slider-track::-webkit-slider-thumb:active{transform:scale(1.05)}.modern-slider-track::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ui-accent);cursor:pointer;border:2px solid var(--ui-slider-thumb-border);box-shadow:var(--ui-shadow-slider);transition:all .2s ease}.modern-slider-track::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:var(--ui-shadow-slider-hover)}.modern-slider-track::-moz-range-thumb:active{transform:scale(1.05)}.modern-slider-input.disabled{opacity:.6;pointer-events:none}.advanced-geometry-section{margin-top:16px;border-top:1px solid var(--ui-border, var(--border-color, #e0e0e0))}.advanced-geometry-toggle{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;padding:10px 0;cursor:pointer;font-size:13px;font-weight:600;color:var(--ui-text-secondary, var(--text-secondary, #555));text-align:left}.advanced-geometry-toggle:hover{color:var(--ui-text, var(--text-primary, #222))}.advanced-geometry-toggle__label{flex:1}.advanced-geometry-toggle__badge{color:var(--color-accent, #2563eb);font-size:10px}.advanced-geometry-toggle__arrow{font-size:10px;opacity:.6}.advanced-geometry-body{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.advanced-geometry-group{display:flex;flex-direction:column;gap:8px}.advanced-geometry-group--longitudinal{order:1}.advanced-geometry-group--transversal{order:2}.advanced-geometry-group__title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--ui-text, var(--text-primary, #333));cursor:pointer}.advanced-geometry-group__title input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--ui-accent, var(--color-accent, #2563eb))}.advanced-geometry-group__fields{display:flex;flex-direction:column;gap:6px;padding-left:22px}.advanced-geometry-group--admin{border-left:2px solid var(--color-warning, #f59e0b);padding-left:8px}.advanced-geometry-group__admin-badge{font-size:9px;font-weight:700;color:#fff;background:var(--color-warning, #f59e0b);border-radius:3px;padding:1px 4px;letter-spacing:.05em;margin-left:4px}.control-point-editor{display:flex;flex-direction:column;gap:6px}.control-point-editor__header{display:flex;align-items:center;justify-content:space-between}.control-point-editor__label{font-size:11px;font-weight:600;color:var(--ui-text-secondary, var(--text-secondary, #666))}.control-point-editor__add{font-size:11px;padding:2px 8px;border:1px solid var(--ui-border, var(--color-accent, #2563eb));color:var(--ui-text, var(--color-accent, #2563eb));background:var(--ui-input-bg, transparent);border-radius:4px;cursor:pointer}.control-point-editor__add:hover{background:var(--ui-accent, var(--color-accent, #2563eb));color:var(--ui-text-on-accent, #fff)}.control-point-editor__row{display:grid;grid-template-columns:18px 1fr 1fr 1fr 20px;align-items:center;gap:4px}.control-point-editor__index{font-size:10px;font-weight:700;color:var(--ui-text-secondary, var(--text-secondary, #888));text-align:center}.control-point-editor__remove{background:none;border:none;color:var(--color-danger, #ef4444);cursor:pointer;font-size:11px;padding:0;line-height:1}.control-point-editor__remove:disabled{opacity:.3;cursor:default}.control-point-editor__warn{font-size:11px;color:var(--color-danger, #ef4444);margin:0}.control-point-editor__hint{font-size:10px;color:var(--ui-text-secondary, var(--text-secondary, #888));margin:0;line-height:1.4}[data-theme=dark] .advanced-geometry-toggle{color:var(--ui-text-secondary, #aab4c5)}[data-theme=dark] .advanced-geometry-toggle:hover{color:var(--ui-text, #e5e7eb)}[data-theme=dark] .control-point-editor__add{border-color:var(--renderer-input-border, var(--ui-border));background:var(--renderer-input-bg, var(--ui-input-bg));color:var(--renderer-text-primary, var(--ui-text))}[data-theme=dark] .control-point-editor__add:hover{background:var(--ui-accent, var(--color-accent, #2563eb));color:var(--ui-text-on-accent, #fff)}.config-tab{padding:12px 8px;max-width:100%;width:100%;box-sizing:border-box;overflow-x:hidden;position:relative;background:var(--ui-panel-bg)}.config-tab .tab-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.config-tab-tour-button{border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-button-ghost-bg, transparent);color:var(--ui-text-secondary);font-size:10px;font-weight:600;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.config-tab-tour-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.tab-title{font-size:11px;font-weight:700;color:var(--ui-text);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.section-title--highlight{color:var(--ui-accent);border-left:3px solid var(--ui-accent);padding-left:6px}.section-title{font-size:10px;font-weight:700;color:var(--ui-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.form-section{display:flex;flex-direction:column;gap:6px;background:var(--ui-panel-bg);padding:8px;border-radius:4px;border:1px solid var(--ui-border);margin-bottom:8px;width:100%;max-width:100%;box-sizing:border-box}.altura-with-calc{display:flex;align-items:flex-end;gap:6px}.altura-with-calc>:first-child{flex:1;min-width:0}.altura-with-calc .calculator-button{margin-bottom:12px}.calculator-button{display:flex;align-items:center;gap:4px;height:25px;padding:0 8px;background:transparent;border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-secondary);font-size:10px;font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s ease}.calculator-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.calculator-button.active{border-color:var(--ui-accent);color:var(--ui-accent);background:var(--ui-accent-light, rgba(0, 120, 212, .08))}.comprimento-with-sum{display:flex;flex-direction:column}.calculator-panel{margin-top:6px;background:var(--ui-bg-secondary);border:1px solid var(--ui-border);border-radius:6px;overflow:hidden;animation:slideDown .2s ease}.calculator-header{display:flex;align-items:baseline;gap:6px;padding:7px 10px;background:var(--ui-panel-bg);border-bottom:1px solid var(--ui-border)}.calculator-header h3{font-size:10px;font-weight:700;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.4px;margin:0;white-space:nowrap}.calculator-formula{font-size:10px;color:var(--ui-text-muted);font-style:italic;margin:0}.calculator-inputs{display:flex;flex-direction:column;gap:6px;padding:10px 10px 8px}.config-tab .calc-info-field{display:flex;flex-direction:column;gap:3px}.config-tab .calc-info-field label{font-size:9px;font-weight:700;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.4px}.config-tab .calc-info-value{display:flex;align-items:center;justify-content:center;padding:0 8px;height:26px;background:var(--ui-panel-bg);border:1px solid var(--ui-border);border-radius:4px;font-size:11px;font-weight:600;color:var(--ui-text);line-height:1;box-sizing:border-box;overflow:hidden}.config-tab .calc-info-hint{font-size:10px;color:var(--ui-text-muted);font-weight:400;white-space:nowrap}.calculator-apoios{padding:0 10px 10px}.apoios-title{font-size:9px;font-weight:700;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.apoios-grid{display:flex;flex-direction:column;gap:6px}.apoio-calc-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:flex-end}.apoio-calc-row .calc-result{margin-bottom:12px}.calc-result{display:flex;align-items:center;gap:4px;padding:0 8px;height:26px;border-radius:4px;border:1px solid;font-size:10px;font-weight:600;white-space:nowrap;flex-shrink:0}.calc-result.match{background:#2ecc711f;border-color:#2ecc7180;color:#2ecc71}.calc-result.over{background:#e74c3c1a;border-color:#e74c3c80;color:#e74c3c}.calc-result.under{background:var(--ui-accent-light, rgba(0, 120, 212, .08));border-color:var(--ui-accent);color:var(--ui-accent)}.result-label{font-size:10px;font-weight:400;opacity:.7}.result-value{font-size:11px;font-weight:700}.result-icon{font-size:10px;display:inline-flex;align-items:center;line-height:1}.result-diff{font-size:10px;opacity:.85}.calculator-summary{padding:8px 10px;background:var(--ui-panel-bg);border-top:1px solid var(--ui-border)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:10px;color:var(--ui-text-secondary)}.summary-row+.summary-row{border-top:1px solid var(--ui-border);margin-top:2px;padding-top:5px}.summary-row strong{color:var(--ui-text);font-size:11px;font-weight:700}.summary-message{margin-top:6px;padding:5px 8px;background:var(--ui-bg-secondary);border-left:2px solid var(--ui-accent);border-radius:2px;color:var(--ui-text-secondary);font-size:10px;line-height:1.5}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tramos-sum-display{padding:4px 8px;background:var(--ui-bg-secondary);border:1px solid var(--ui-border);border-radius:6px;color:var(--ui-text);font-size:11px;font-weight:500;text-align:center;margin-top:6px}.tramos-sum-display.ok{background:#2ecc711a;border:1px solid #2ecc71;color:var(--ui-text)}.tramos-sum-display.error{background:#e74c3c1f;border:1px solid #e74c3c;color:var(--ui-text)}.tramos-sum-error{margin-top:8px;padding:6px 8px;border-radius:6px;background:#e74c3c1f;border:1px solid #e74c3c;color:#e74c3c;font-size:11px;font-weight:500;text-align:center}.tramo-value-broken .modern-number-wrapper{border-color:#e67e22;background:#e67e2214;box-shadow:0 0 0 1px #e67e2240}.tramo-value-broken .modern-number-wrapper:hover{background:#e67e221f}.tramos-suggestion{margin:0 0 8px;padding:6px 8px;border-radius:4px;background:#e67e221a;border-left:3px solid #e67e22;color:var(--ui-text);font-size:10px;line-height:1.4}.admin-config-tab{display:flex;flex-direction:column;gap:24px}.admin-config-tab .tab-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-config-tab .tab-title{margin:0}.admin-config-tab--locked{display:flex;align-items:center;justify-content:center;min-height:200px}.admin-locked-message{text-align:center;color:var(--muted-foreground)}.admin-locked-message h2{font-size:18px;margin-bottom:8px}.admin-locked-message p{font-size:14px}.admin-region{display:flex;flex-direction:column;gap:10px}.region-title{font-size:13px;font-weight:600;color:var(--foreground);padding-bottom:4px;border-bottom:1px solid var(--border)}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.admin-config-tour-button{border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-button-ghost-bg, transparent);color:var(--ui-text-secondary);font-size:10px;font-weight:600;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.admin-config-tour-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}@media(max-width:400px){.admin-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000000000;padding:16px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay .modal-container{background:#2d3741fa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 8px 32px #0009;width:100%;max-width:650px;max-height:90vh;display:flex;flex-direction:column;animation:zoomIn .2s ease-out;border:1px solid rgba(255,255,255,.1)}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-overlay .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:transparent}.modal-overlay .modal-title{font-size:13px;font-weight:700;color:#a0a0a0;text-transform:uppercase;letter-spacing:1px;margin:0}.modal-close-btn{background:transparent;border:none;color:#888;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:4px}.modal-close-btn:hover{color:#ccc;background:#ffffff0d}.modal-close-icon{width:16px;height:16px}.modal-overlay .modal-body{padding:20px;overflow-y:auto;flex:1}.modal-overlay .modal-body::-webkit-scrollbar{width:8px}.modal-overlay .modal-body::-webkit-scrollbar-track{background:#323c4680;border-radius:4px}.modal-overlay .modal-body::-webkit-scrollbar-thumb{background:var(--ui-accent, #e74c3c);border-radius:4px;border:2px solid rgba(50,60,70,.5)}.modal-content-wrapper{display:flex;gap:16px}.modal-icon-container{flex-shrink:0}.modal-icon{font-size:22px;line-height:1}.modal-icon.info{color:#5b9bd5}.modal-icon.warning{color:#f5a623}.modal-icon.error{color:#e74c3c}.modal-icon.question{color:#52c41a}.modal-text-container{flex:1}.modal-message{color:#b0b0b0;font-size:14px;line-height:1.6;margin:0 0 16px;font-weight:400;white-space:pre-line;overflow-wrap:anywhere}.modal-input,.modal-select,.modal-textarea{width:100%;padding:8px 12px;background:#323c46b3;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#d0d0d0;font-size:13px;font-weight:400;transition:all .2s ease;box-sizing:border-box;margin-top:8px}.modal-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,#a0a0a0 50%),linear-gradient(135deg,#a0a0a0 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 1px),calc(100% - 12px) calc(50% - 1px);background-size:4px 4px,4px 4px;background-repeat:no-repeat;color-scheme:dark}.modal-select option,.modal-select optgroup{background:#2d3741;color:#d0d0d0}.modal-input:focus,.modal-select:focus,.modal-textarea:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-accent) 22%,transparent)}.modal-input::placeholder,.modal-textarea::placeholder{color:#666}.modal-textarea{min-height:80px;resize:vertical}.modal-checkbox-container{margin-top:12px;max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.modal-checkbox-container::-webkit-scrollbar{width:8px}.modal-checkbox-container::-webkit-scrollbar-track{background:color-mix(in srgb,var(--ui-tabs-bg) 70%,transparent);border-radius:4px}.modal-checkbox-container::-webkit-scrollbar-thumb{background:var(--ui-accent);border-radius:4px;border:2px solid color-mix(in srgb,var(--ui-tabs-bg) 80%,transparent)}.modal-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background .2s ease;-webkit-user-select:none;user-select:none}.modal-checkbox-label:hover{background:color-mix(in srgb,var(--ui-tabs-bg) 50%,transparent)}.modal-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--ui-accent)}.modal-checkbox-text{color:#b0b0b0;font-size:14px;font-weight:400}.modal-form-section{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-form-group{display:flex;flex-direction:column;gap:6px}.modal-form-group.full-width{grid-column:1 / -1}.modal-form-group.half-width{grid-column:span 1}@media(max-width:500px){.modal-form-section{grid-template-columns:1fr}.modal-form-group.half-width{grid-column:1 / -1}}.modal-form-label{font-size:11px;font-weight:600;color:#909090;text-transform:uppercase;letter-spacing:1px}.modal-form-label.required:after{content:" *";color:var(--ui-accent)}.modal-form-input,.modal-form-select,.modal-form-textarea{padding:8px 12px;background:#323c46b3;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#d0d0d0;font-size:13px;font-weight:400;transition:all .2s ease;width:100%;box-sizing:border-box}.modal-form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,#a0a0a0 50%),linear-gradient(135deg,#a0a0a0 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 1px),calc(100% - 12px) calc(50% - 1px);background-size:4px 4px,4px 4px;background-repeat:no-repeat;color-scheme:dark}.modal-form-select option,.modal-form-select optgroup{background:#2d3741;color:#d0d0d0}.modal-form-input:focus,.modal-form-select:focus,.modal-form-textarea:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-accent) 22%,transparent)}.modal-form-textarea{min-height:80px;resize:vertical}.modal-form-input-error{border-color:#e74c3c!important;box-shadow:0 0 0 3px #e74c3c33!important}.modal-form-error{font-size:11px;color:#e74c3c;margin-top:2px}.modal-form-checkbox-wrapper{display:flex;align-items:center;gap:10px;cursor:pointer}.modal-form-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--ui-accent)}.modal-overlay .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid rgba(255,255,255,.1);background:transparent}.modal-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid var(--ui-border);text-transform:uppercase;letter-spacing:.5px}.modal-btn-cancel{background:#3c465080;color:#d0d0d0;border-color:#ffffff26}.modal-btn-cancel:hover{background:#46505ab3;border-color:#ffffff40;box-shadow:0 2px 8px #0000004d}.modal-btn-confirm{background:#5b9bd5;color:#fff;border-color:#5b9bd5}.modal-btn-confirm:hover{background:#6aa8df;box-shadow:0 4px 12px #5b9bd559;transform:translateY(-1px)}.modal-btn-confirm:active,.modal-btn-cancel:active{transform:translateY(0)}.info-tab{padding:12px 8px;max-width:100%;width:100%;box-sizing:border-box;overflow-x:hidden;background:var(--ui-panel-bg)}.info-tab .tab-title{font-size:11px;font-weight:700;color:var(--ui-text);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.info-tab .tab-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.info-tab-tour-button{border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-button-ghost-bg, transparent);color:var(--ui-text-secondary);font-size:10px;font-weight:600;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.info-tab-tour-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.info-tab-tour-button--import{width:100%;justify-content:center;align-items:center;display:inline-flex;gap:6px;min-height:30px;border-radius:6px;border-color:var(--ui-accent);color:var(--ui-accent);background:var(--ui-button-ghost-bg, rgba(142, 200, 238, .12))}.info-tab-tour-button--import:hover{background:var(--ui-bg-hover)}.import-upload-card{width:100%;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-input-bg);padding:8px;display:flex;flex-direction:column;gap:6px}.import-upload-file{font-size:10px;color:var(--ui-text-muted);border:1px dashed var(--ui-border);border-radius:6px;padding:5px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-file-input{display:none!important}.info-tab .section-title--highlight{color:var(--ui-accent);border-left:3px solid var(--ui-accent);padding-left:6px}.info-tab .section-title{font-size:10px;font-weight:700;color:var(--ui-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.info-tab .form-section{display:flex;flex-direction:column;gap:6px;background:var(--ui-panel-bg);padding:8px;border-radius:4px;border:1px solid var(--ui-border);margin-bottom:8px;width:100%;max-width:100%;box-sizing:border-box}.info-tab .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;width:100%;box-sizing:border-box}.info-tab .form-group{display:flex;flex-direction:column;gap:3px;width:100%;max-width:100%;box-sizing:border-box;min-width:0}.info-tab .form-group.full-width{grid-column:1 / -1}.info-tab .form-group label{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.info-tab .form-group label.required:after{content:" *";color:#8ec8ee}.info-label{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.info-label.required:after{content:" *";color:var(--ui-accent)}.info-input,.text-input{padding:0 8px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:11px;font-weight:500;font-family:inherit;transition:border-color .15s,box-shadow .15s;width:100%;max-width:100%;box-sizing:border-box;height:25px}.info-input:focus,.text-input:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-light)}.info-input::placeholder,.text-input::placeholder{color:var(--ui-text-muted)}.info-tab .checkbox-group{display:flex;align-items:center;min-height:28px}.info-tab .form-section:first-child .form-row:first-child .checkbox-group:nth-child(1){position:relative}.info-tab .form-section:first-child .form-row:first-child .checkbox-group:nth-child(1)>div[class*=flex]{position:absolute;left:30px}.info-tab .form-section:first-child .form-row:first-child .checkbox-group:nth-child(2){position:relative}.info-tab .form-section:first-child .form-row:first-child .checkbox-group:nth-child(2)>div[class*=flex]{position:absolute;left:30px;top:100px}.info-tab .checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.info-tab .checkbox-input{width:20px;height:20px;cursor:pointer;accent-color:var(--ui-accent)}.checkbox-text{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.codigo-group{flex:2}.codigo-wrapper{display:flex;gap:8px;width:100%}.codigo-wrapper .text-input{flex:1}.info-tab input[type=text],.codigo-wrapper input{height:25px!important}.search-btn{display:flex;align-items:center;gap:5px;padding:0 10px;background:var(--ui-accent);border:1px solid var(--ui-accent);border-radius:4px;color:#fff;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;height:25px;flex-shrink:0}.search-btn:hover{background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.search-btn:active{background:var(--ui-accent-active);transform:translateY(1px)}.maps-link{display:inline-block;padding:6px 12px;background:linear-gradient(135deg,var(--ui-button-bg) 0%,var(--ui-button-bg-hover) 100%);color:var(--ui-text);text-decoration:none;border-radius:4px;font-weight:600;font-size:11px;box-shadow:0 2px 8px #0003;transition:all .3s ease;border:1px solid var(--ui-border)}.maps-link:hover{background:linear-gradient(135deg,var(--ui-button-secondary-hover) 0%,var(--ui-bg-tertiary) 100%);border-color:#8ec8ee;box-shadow:var(--ui-shadow-md);transform:translateY(-2px)}.maps-link:active{transform:translateY(0)}.superstructure-tab{padding:12px 8px;max-width:100%;width:100%;box-sizing:border-box;overflow-x:hidden;background:var(--ui-panel-bg);overflow-y:visible}.superstructure-tab .tab-title{font-size:11px;font-weight:700;color:var(--ui-text);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.superstructure-tab .tab-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.superstructure-tab-tour-button{border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-button-ghost-bg, transparent);color:var(--ui-text-secondary);font-size:10px;font-weight:600;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.superstructure-tab-tour-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.superstructure-tab .section-title--highlight{color:var(--ui-accent);border-left:3px solid var(--ui-accent);padding-left:6px}.superstructure-tab .section-title{font-size:10px;font-weight:700;color:var(--ui-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.superstructure-tab .form-section{display:flex;flex-direction:column;gap:6px;background:var(--ui-panel-bg);padding:8px;border-radius:4px;border:1px solid var(--ui-border);margin-bottom:8px;width:100%;max-width:100%;box-sizing:border-box}.superstructure-tab .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;width:100%;box-sizing:border-box}.superstructure-tab .form-group{display:flex;flex-direction:column;gap:3px;width:100%;max-width:100%;box-sizing:border-box;min-width:0}.superstructure-tab .form-group label{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.superstructure-tab .select-input{padding:6px 8px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;max-width:100%;box-sizing:border-box;height:28px}.superstructure-tab .select-input:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.superstructure-tab .select-input:disabled{opacity:.5;cursor:not-allowed;background:var(--ui-bg-tertiary)}.superstructure-tab .select-input option{background:var(--ui-tabs-bg);color:var(--ui-text)}.superstructure-tab .checkbox-group{display:flex;align-items:center;justify-content:center;padding-top:28px}.superstructure-tab .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.superstructure-tab .checkbox-input{width:20px;height:20px;cursor:pointer;accent-color:var(--ui-accent)}.superstructure-tab .info-box{margin-top:12px;padding:12px 16px;background:var(--renderer-accent-light);border-left:4px solid var(--ui-accent);border-radius:6px;font-size:12px;line-height:1.5;color:var(--ui-text)}.superstructure-tab .info-box strong{color:var(--ui-accent)}.superstructure-checkbox-group{display:flex;align-items:center;gap:6px;margin-top:20px;margin-bottom:12px}.superstructure-checkbox{width:15px;height:15px;cursor:pointer;accent-color:var(--ui-accent);flex-shrink:0}.superstructure-checkbox-label{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px;cursor:pointer;-webkit-user-select:none;user-select:none}.support-tab .section-title--highlight{color:var(--ui-accent);border-left:3px solid var(--ui-accent);padding-left:6px}.support-tab{padding:12px 8px;max-width:100%;width:100%;box-sizing:border-box;overflow-x:hidden;background:var(--ui-panel-bg);overflow-y:visible}.support-tab .tab-title{font-size:10px;font-weight:700;color:var(--ui-text);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.support-tab .tab-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.support-tab-tour-button{border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-button-ghost-bg, transparent);color:var(--ui-text-secondary);font-size:10px;font-weight:600;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.support-tab-tour-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.support-tab .section-title{font-size:9px;font-weight:700;color:var(--ui-text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.support-tab .form-section{display:flex;flex-direction:column;gap:6px;background:var(--ui-panel-bg);padding:8px;border-radius:4px;border:1px solid var(--ui-border);margin-bottom:8px;width:100%;max-width:100%;box-sizing:border-box}.support-tab .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;width:100%;box-sizing:border-box}.support-tab .form-group{display:flex;flex-direction:column;gap:3px;width:100%;max-width:100%;box-sizing:border-box;min-width:0}.support-tab .form-group label{font-size:9px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.support-tab .select-input{padding:4px 6px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;max-width:100%;box-sizing:border-box;height:26px}.support-tab .select-input:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.support-tab .select-input:disabled{opacity:.5;cursor:not-allowed;background:var(--ui-bg-tertiary)}.support-tab .select-input option{background:var(--ui-tabs-bg);color:var(--ui-text)}.support-tab .info-box{margin-top:12px;padding:12px 16px;background:var(--renderer-accent-light);border-left:4px solid var(--ui-accent);border-radius:4px;font-size:12px;line-height:1.4;color:var(--ui-text)}.support-tab .info-box.warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-left:4px solid #f39c12;color:#856404}.support-tab .info-box strong{color:var(--ui-accent)}.apoios-container{display:flex;flex-direction:column;gap:0;margin-top:16px;border:1px solid var(--ui-border);border-radius:6px;overflow:hidden}.apoios-header{display:grid;grid-template-columns:55px repeat(3,1fr);gap:0;background:var(--ui-bg-tertiary);border-bottom:2px solid var(--ui-border)}.apoio-col-header{padding:6px 4px;font-size:8px;font-weight:600;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.3px;text-align:center;border-right:1px solid var(--ui-border)}.apoio-col-header:last-child{border-right:none}.apoio-row{display:grid;grid-template-columns:55px repeat(3,1fr);gap:0;background:var(--ui-card-bg);border-bottom:1px solid var(--ui-border);align-items:stretch}.apoio-row:last-child{border-bottom:none}.apoio-label{display:flex;align-items:center;justify-content:center;padding:4px 2px 4px 0;font-size:9px!important;font-weight:600!important;color:var(--ui-text);text-align:center;background:var(--ui-bg-secondary);border-right:1px solid var(--ui-border);line-height:1.2;white-space:nowrap}.apoio-input-wrapper{display:flex;align-items:center;padding:4px;border-right:1px solid var(--ui-border)}.apoio-input-wrapper:last-child{border-right:none}.apoio-input{width:100%;padding:2px 4px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text);font-size:8px;font-weight:500;transition:all .2s ease;text-align:center;min-height:10px;height:10px;min-width:25px}.apoio-input::-webkit-outer-spin-button,.apoio-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.apoio-input[type=number]{appearance:textfield;-moz-appearance:textfield}[data-theme=dark] .apoio-input{background:var(--renderer-input-bg);border-color:var(--renderer-input-border);color:var(--renderer-text-primary)}[data-theme=dark] .apoio-input:focus{background:var(--renderer-input-focus-bg);border-color:var(--renderer-input-focus-border)}.apoio-input:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.apoio-input.auto-calc{background:var(--renderer-accent-light);border-color:var(--ui-accent);color:var(--ui-accent);cursor:not-allowed;font-style:italic;font-size:12px}.calc-info-field{display:flex;flex-direction:column;gap:8px;flex:1}.calc-info-field label{font-size:13px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.5px}.calc-info-value{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:var(--renderer-accent-light);border:2px solid var(--ui-accent);border-radius:6px;color:var(--ui-accent);font-size:16px;font-weight:700}.calc-info-hint{font-size:11px;color:var(--ui-text-muted);font-weight:500;font-style:italic}.apoio-label{font-size:13px;font-weight:600;color:var(--ui-text-muted);text-transform:uppercase;letter-spacing:.5px;padding-left:0}.apoio-number-input{margin:0}.apoio-number-input .modern-number-label{display:none}.apoio-number-input .modern-number-wrapper{height:24px;min-height:24px}.apoio-number-input .modern-number-input-field{width:100%;padding:2px 6px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text);font-size:11px;font-weight:500;text-align:center;height:24px}.apoio-number-input .modern-number-input-field:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.apoio-number-input .modern-number-input-field::-webkit-outer-spin-button,.apoio-number-input .modern-number-input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.apoio-number-input .modern-number-input-field[type=number]{appearance:textfield;-moz-appearance:textfield}[data-theme=dark] .apoio-number-input .modern-number-input-field{background:var(--renderer-input-bg);border-color:var(--renderer-input-border);color:var(--renderer-text-primary)}[data-theme=dark] .apoio-number-input .modern-number-input-field:focus{background:var(--renderer-input-focus-bg);border-color:var(--renderer-input-focus-border)}.transition-tab{padding:12px 8px;max-width:100%;width:100%;box-sizing:border-box;overflow-x:hidden;background:var(--ui-panel-bg);overflow-y:visible}.transition-tab .tab-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.transition-tab .tab-title{font-size:11px;font-weight:700;color:var(--ui-text);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.transition-tab-tour-button{border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-button-ghost-bg, transparent);color:var(--ui-text-secondary);font-size:10px;font-weight:600;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}.transition-tab-tour-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.transition-tab .section-title{font-size:10px;font-weight:700;color:var(--ui-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.transition-tab .section-title--highlight{color:var(--ui-accent);border-left:3px solid var(--ui-accent);padding-left:6px}.transition-tab .form-section{display:flex;flex-direction:column;gap:6px;background:var(--ui-panel-bg);padding:8px;border-radius:4px;border:1px solid var(--ui-border);margin-bottom:8px;width:100%;max-width:100%;box-sizing:border-box}.transition-tab .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;width:100%;box-sizing:border-box}.transition-tab .form-group{display:flex;flex-direction:column;gap:3px;width:100%;max-width:100%;box-sizing:border-box;min-width:0}.transition-tab .form-group label{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.transition-tab .select-input{padding:6px 8px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;max-width:100%;box-sizing:border-box;height:28px}.transition-tab .select-input:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.transition-tab .select-input option{background:var(--ui-tabs-bg);color:var(--ui-text)}._damages-tab_91epr_1{padding:12px 8px;max-width:100%;width:100%;box-sizing:border-box;overflow-x:hidden;background:var(--ui-panel-bg)}._tab-header-row_91epr_10{display:flex;align-items:center;gap:8px;margin-bottom:8px}._tab-title_91epr_17{font-size:11px;font-weight:700;color:var(--ui-text);margin:0;text-transform:uppercase;letter-spacing:.3px}._damages-tab-tour-button_91epr_26{border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-button-ghost-bg, transparent);color:var(--ui-text-secondary);font-size:10px;font-weight:600;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}._damages-tab-tour-button_91epr_26:hover{border-color:var(--ui-accent);color:var(--ui-accent)}._damages-hint_91epr_45{font-size:10px;line-height:1.5;color:var(--ui-text-secondary);margin:0 0 10px}._damages-section_91epr_52{background:var(--ui-panel-bg);border:1px solid var(--ui-border);border-radius:4px;padding:8px;margin-bottom:8px}._damages-section-title_91epr_60{font-size:9px;font-weight:700;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}._damages-empty_91epr_69{font-size:10px;color:var(--ui-text-muted);margin:0}._damages-table_91epr_75{width:100%;border-collapse:collapse;table-layout:fixed}._damages-table_91epr_75 th{font-size:8px;font-weight:700;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.2px;padding:3px 3px 4px;border-bottom:1px solid var(--ui-border);text-align:left;overflow:hidden;line-height:1.2}._damages-table_91epr_75 th:nth-child(1){width:26%}._damages-table_91epr_75 th:nth-child(2){width:34%}._damages-table_91epr_75 th:nth-child(3){width:10%}._damages-table_91epr_75 th:nth-child(4){width:10%}._damages-table_91epr_75 th:nth-child(5){width:20%}._damages-table_91epr_75 td{padding:4px 3px;font-size:9px;color:var(--ui-text);border-bottom:1px solid var(--ui-border);overflow:hidden;min-width:0}._damages-table_91epr_75 td:last-child{white-space:nowrap}._damages-table_91epr_75 tr:last-child td{border-bottom:none}._damages-row_91epr_117{cursor:pointer}._damages-row_91epr_117:hover td{background:color-mix(in srgb,var(--ui-text) 6%,transparent)}._damages-td-truncate_91epr_125{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._damages-remove-btn_91epr_131{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;border:1px solid var(--ui-border);background:transparent;color:var(--ui-text-secondary);font-size:14px;line-height:1;cursor:pointer;font-family:inherit;padding:0;transition:all .12s}._damages-edit-btn_91epr_149{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;border:1px solid var(--ui-border);background:transparent;color:var(--ui-text-secondary);font-size:12px;line-height:1;cursor:pointer;font-family:inherit;padding:0;margin-right:4px;transition:all .12s}._damages-edit-btn_91epr_149:hover{border-color:var(--ui-accent);color:var(--ui-accent)}._damages-remove-btn_91epr_131:hover{border-color:#ef4444;color:#ef4444}._damages-form_91epr_178{display:flex;flex-direction:column;gap:8px}._damages-field_91epr_184{display:flex;flex-direction:column;gap:3px}._damages-label_91epr_190{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}._damages-kv-list_91epr_198{display:flex;flex-direction:column;gap:3px}._damages-kv-row_91epr_204{display:grid;grid-template-columns:76px 1fr;gap:6px;align-items:start}._damages-kv-k_91epr_211{font-size:9px;font-weight:600;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.3px;padding-top:1px}._damages-kv-v_91epr_220{font-size:10px;color:var(--ui-text);min-width:0}._damages-truncate_91epr_226{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._damages-mono_91epr_232{font-family:ui-monospace,monospace;font-size:9px}._damages-pset_91epr_237{margin-top:4px}._damages-pset-name_91epr_241{font-size:9px;font-weight:600;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.3px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 0;list-style:none}._damages-pset-name_91epr_241::-webkit-details-marker{display:none}._damages-pset-name_91epr_241:before{content:"▶ ";font-size:7px;opacity:.6}._damages-pset_91epr_237[open] ._damages-pset-name_91epr_241:before{content:"▼ "}._damages-pset_91epr_237[open] ._damages-kv-list_91epr_198{margin-top:4px;padding-left:4px;border-left:2px solid var(--ui-border)}._damages-metrics_91epr_273{display:flex;gap:10px;font-size:10px;font-family:ui-monospace,monospace;color:var(--ui-text-secondary);background:var(--ui-panel-bg);border:1px dashed var(--ui-border);border-radius:4px;padding:5px 8px;flex-wrap:wrap}._damages-select_91epr_286{height:26px;padding:0 6px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:11px;font-weight:500;font-family:inherit;width:100%;cursor:pointer;transition:border-color .15s;appearance:auto}._damages-select_91epr_286:focus{outline:none;border-color:var(--ui-accent)}._damages-dim-grid_91epr_307{display:flex;flex-direction:column;gap:6px}._damages-stepper_91epr_313{display:flex;align-items:center;gap:2px}._damages-step-btn_91epr_319{width:22px;height:26px;border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-input-bg);color:var(--ui-text);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;padding:0;transition:border-color .12s}._damages-step-btn_91epr_319:hover{border-color:var(--ui-accent);color:var(--ui-accent)}._damages-step-input_91epr_343{flex:1;height:26px;padding:0 3px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:10px;font-family:ui-monospace,monospace;text-align:center;width:0;min-width:0;transition:border-color .12s}._damages-step-input_91epr_343:focus{outline:none;border-color:var(--ui-accent)}._damages-grade-group_91epr_364{display:flex;gap:4px}._damages-grade-btn_91epr_369{flex:1;height:28px;border-radius:4px;border:1px solid var(--ui-border);background:transparent;color:var(--ui-text-secondary);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s}._damages-grade-btn_91epr_369:hover{border-color:var(--ui-accent);color:var(--ui-accent)}._selected_91epr_388{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}._damages-textarea_91epr_394{resize:vertical;min-height:58px;font-size:11px;background:var(--ui-input-bg);border:1px solid var(--ui-border);color:var(--ui-text);border-radius:4px;padding:5px 8px;font-family:inherit;line-height:1.4;transition:border-color .12s;width:100%;box-sizing:border-box}._damages-textarea_91epr_394:focus{outline:none;border-color:var(--ui-accent)}._damages-textarea_91epr_394::placeholder{color:var(--ui-text-muted)}._damages-actions_91epr_419{display:flex;gap:6px;justify-content:flex-end;padding-top:2px}._damages-action-btn_91epr_426{height:26px;min-width:72px;padding:0 10px;border-radius:4px;border:1px solid var(--ui-border);background:transparent;color:var(--ui-text);font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .12s}._damages-action-btn_91epr_426:hover{border-color:var(--ui-accent)}._damages-action-btn-secondary_91epr_445{background:transparent;color:var(--ui-text-secondary)}._damages-action-btn-secondary_91epr_445:hover{color:var(--ui-text)}._damages-action-btn-primary_91epr_454{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}._damages-action-btn-primary_91epr_454:hover{filter:brightness(1.05)}.family-3d-parameter-editor{width:100%;max-width:100%;overflow-x:hidden}.family-3d-parameter-editor .grid-cols-6{display:grid;grid-template-columns:minmax(70px,1.5fr) minmax(55px,.9fr) minmax(55px,.8fr) minmax(65px,.9fr) minmax(50px,.7fr) auto;gap:.25rem;align-items:center;font-size:.7rem}@media(max-width:350px){.family-3d-parameter-editor .grid-cols-6{grid-template-columns:1fr;gap:.25rem}.family-3d-parameter-editor .grid-cols-6>div{display:flex;justify-content:space-between;align-items:center}.family-3d-parameter-editor .grid-cols-6>div:before{content:attr(data-label);font-size:.75rem;color:var(--muted-foreground);font-weight:500}}@media(min-width:351px)and (max-width:450px){.family-3d-parameter-editor .grid-cols-6{grid-template-columns:1fr 1fr;gap:.375rem}.family-3d-parameter-editor .grid-cols-6>div:first-child{grid-column:1 / -1}}.family-3d-parameter-editor .bg-muted\/50 .grid-cols-2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@media(max-width:320px){.family-3d-parameter-editor .bg-muted\/50 .grid-cols-2{grid-template-columns:1fr}}.family-3d-parameter-editor .badge{font-size:.65rem;padding:.125rem .375rem;white-space:nowrap}.family-3d-parameter-editor .font-medium.text-sm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.family-3d-parameter-editor button[size=icon]{width:1.5rem;height:1.5rem}.family-3d-parameter-editor button[size=icon] svg{width:.875rem;height:.875rem}.family-3d-parameter-editor .text-xs ul{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}@media(max-width:300px){.family-3d-parameter-editor .text-xs ul{grid-template-columns:1fr}}.family-3d-parameter-editor{scrollbar-width:thin;scrollbar-color:var(--muted) transparent}.family-3d-parameter-editor input,.family-3d-parameter-editor select{max-width:100%;min-width:0}.profile-preview-3d{width:100%;height:100%;flex:1;min-height:0;position:relative;overflow:hidden;background:var(--viewer-bg, #263238);z-index:0;isolation:isolate}.profile-preview-3d canvas{width:100%!important;height:100%!important;position:relative;z-index:0}.preview-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background-color:#0009;color:#aaa;padding:4px 12px;border-radius:4px;font-size:11px;pointer-events:none;white-space:nowrap}.preview-create-family-3d{position:absolute;top:10px;right:10px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--viewer-bg, #263238);background:var(--zs-accent, #4fc3f7);border:none;border-radius:6px;cursor:pointer;box-shadow:0 2px 6px #0003;transition:opacity .15s,transform .1s}.preview-create-family-3d:hover{opacity:.95;transform:scale(1.02)}.preview-create-family-3d:active{transform:scale(.98)}.preview-family-name{position:absolute;top:10px;left:10px;padding:8px 14px;font-size:13px;font-weight:600;color:#fff;background:#000000b3;border:1px solid rgba(255,255,255,.2);border-radius:6px;z-index:10;pointer-events:none;box-shadow:0 2px 8px #0000004d}.profile-preview-help-overlay{position:absolute;inset:0;background:#0f172af5;color:var(--ui-text, #e5e5e5);display:flex;flex-direction:column;padding:var(--ui-spacing-lg, 16px);z-index:20;overflow:auto}.profile-preview-help-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--ui-spacing-md, 12px)}.profile-preview-help-title{font-size:var(--ui-font-size-base, 14px);font-weight:600}.profile-preview-help-close{width:28px;height:28px;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:transparent;color:#e5e7eb;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px}.profile-preview-help-body{display:flex;flex-direction:column;gap:var(--ui-spacing-md, 12px)}.profile-preview-help-image{width:100%;max-height:40vh;object-fit:contain;border-radius:6px;border:1px solid rgba(148,163,184,.4)}.profile-preview-help-text{font-size:var(--ui-font-size-sm, 13px);line-height:1.5}.profile-preview-help-text ul{margin:8px 0;padding-left:18px}.profile-preview-help-text li{margin-bottom:4px}.type-properties-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:flex-start;z-index:999999999;padding:60px 20px 20px;transform:translateZ(0)}.type-properties-window{background:var(--renderer-bg-primary);border:1px solid var(--renderer-border);border-radius:12px;box-shadow:var(--renderer-shadow-lg);width:min(90vw,780px);min-width:360px;height:min(600px,calc(100vh - 120px));max-height:calc(100vh - 80px);min-height:340px;display:flex;flex-direction:column;position:relative;resize:both;overflow:hidden}.title-bar{background:var(--renderer-bg-secondary);border-bottom:1px solid var(--renderer-border);padding:12px 15px;display:flex;align-items:center;justify-content:space-between}.title-text{font-size:14px;font-weight:600;color:var(--renderer-text-primary)}.close-btn{background:var(--renderer-button-bg);border:1px solid var(--renderer-border);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--renderer-text-primary);transition:all .2s}.close-btn:hover{background:var(--renderer-button-hover)}.selection-section{background:var(--renderer-bg-secondary);padding:15px;border-bottom:1px solid var(--renderer-border)}.selection-row{display:grid;grid-template-columns:100px 1fr auto;gap:10px;align-items:center;margin-bottom:10px}.selection-row:last-child{margin-bottom:0}.selection-label{font-size:12px;color:var(--renderer-text-secondary);white-space:nowrap}.selection-dropdown{background:var(--renderer-input-bg);border:1px solid var(--renderer-input-border);padding:6px 10px;font-size:12px;color:var(--renderer-text-primary);border-radius:4px;outline:none;cursor:pointer;transition:all .2s}.selection-dropdown:focus{border-color:var(--renderer-input-focus-border);background:var(--renderer-input-focus-bg)}.action-btn{background:var(--renderer-button-bg);border:1px solid var(--renderer-border);padding:6px 15px;font-size:12px;color:var(--renderer-text-primary);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap}.action-btn:hover{background:var(--renderer-button-hover)}.parameters-container{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--renderer-bg-primary);min-height:0}.table-header{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(260px,2fr) 96px;background:var(--renderer-bg-secondary);border-bottom:1px solid var(--renderer-border);position:sticky;top:0;z-index:10}.header-cell{padding:10px;font-size:12px;font-weight:600;color:var(--renderer-text-primary);border-right:1px solid var(--renderer-border);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.header-cell:last-child{border-right:none}.header-cell-formula{padding:8px}.header-cell-instance{text-align:center;padding:8px 4px}.param-group{border-bottom:1px solid var(--renderer-border-light)}.param-group .group-header{background:var(--renderer-bg-tertiary);padding:8px 15px;display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.param-group .group-header:hover{background:var(--renderer-bg-hover)}.group-expand-icon{width:12px;height:12px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--renderer-text-primary);transition:transform .2s;flex-shrink:0}.group-expand-icon.collapsed{transform:rotate(-90deg)}.param-group .group-title{font-size:12px;font-weight:600;color:var(--renderer-text-primary)}.param-group .group-content{display:block;max-height:1000px;overflow:hidden;transition:max-height .3s ease}.param-group .group-content.collapsed{max-height:0}.param-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(260px,2fr) 96px;border-bottom:1px solid var(--renderer-border-light);min-height:36px}.param-row:hover{background:var(--renderer-bg-hover)}.param-cell{padding:6px 10px;font-size:12px;color:var(--renderer-text-primary);border-right:1px solid var(--renderer-border-light);display:flex;align-items:center;overflow:hidden;min-width:0}.param-cell:last-child{border-right:none}.param-cell-formula{padding:4px 8px;overflow:visible}.param-input-formula{font-family:monospace;font-size:11px}.param-input-formula.formula-error{border-color:var(--ui-error, #ef4444);background-color:#ef44441a}.formula-input-container{position:relative;display:flex;align-items:center;width:100%;min-width:0}.formula-input-container .param-input-formula{padding-right:22px}.formula-error-message{position:absolute;right:4px;color:var(--ui-error, #ef4444);font-size:14px;cursor:help;z-index:1}.param-cell-instance{justify-content:center;padding:4px 8px}.param-cell-instance .param-checkbox{margin:0 auto}.param-add-container{padding:8px 15px;border-top:1px solid var(--renderer-border);background:var(--renderer-bg-secondary)}.param-add-btn{background:var(--renderer-button-bg);border:1px solid var(--renderer-border);color:var(--renderer-text-primary);padding:6px 14px;font-size:11px;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;white-space:nowrap}.param-add-btn:hover{background:var(--renderer-button-hover)}.selection-actions{display:flex;gap:8px;flex-wrap:wrap}.selection-actions .action-btn{display:flex;align-items:center;gap:6px}.param-input,.param-select{width:100%;background:var(--renderer-input-bg);border:1px solid var(--renderer-input-border);padding:5px 8px;font-size:12px;color:var(--renderer-text-primary);border-radius:4px;outline:none;transition:all .2s;min-height:28px;box-sizing:border-box;min-width:0}.param-input:focus,.param-select:focus{border-color:var(--renderer-input-focus-border);background:var(--renderer-input-focus-bg);box-shadow:0 0 0 2px #5dade233}.param-input:not([readonly]):hover{border-color:var(--renderer-input-focus-border)}.param-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--renderer-accent);flex-shrink:0}.param-readonly{color:var(--renderer-text-muted);font-style:italic}.param-input[readonly]{background:var(--renderer-bg-tertiary, #2a3a4a);border-color:var(--renderer-border-light);color:var(--renderer-accent, #5dade2);cursor:not-allowed}.param-text{color:var(--renderer-text-primary)}.footer-section{background:var(--renderer-bg-secondary);border-top:1px solid var(--renderer-border);padding:12px 15px;display:flex;align-items:center;justify-content:space-between}.sort-controls{display:flex;align-items:center;gap:10px}.sort-label{font-size:11px;color:var(--renderer-text-secondary)}.sort-btn{background:var(--renderer-button-bg);border:1px solid var(--renderer-border);width:32px;height:32px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--renderer-text-primary)}.sort-btn:hover{background:var(--renderer-button-hover)}.sort-btn-active{background:var(--renderer-accent, #3b82f6)!important;border-color:var(--renderer-accent, #3b82f6)!important;color:#fff!important}.footer-buttons-container{display:flex;gap:15px;align-items:center}.visualize-btn{background:var(--renderer-button-bg);border:1px solid var(--renderer-border);padding:6px 15px;font-size:12px;color:var(--renderer-text-primary);border-radius:4px;cursor:pointer;transition:all .2s}.visualize-btn:hover{background:var(--renderer-button-hover)}.footer-buttons{display:flex;gap:10px}.footer-btn{background:var(--renderer-button-bg);border:1px solid var(--renderer-border);padding:7px 20px;font-size:12px;color:var(--renderer-text-primary);border-radius:4px;cursor:pointer;transition:all .2s;min-width:80px}.footer-btn:hover{background:var(--renderer-button-hover)}.footer-btn.primary{background:var(--renderer-button-primary-bg);border-color:var(--renderer-accent);color:var(--ui-text-inverse, #ffffff)}.footer-btn.primary:hover{background:var(--renderer-button-primary-hover)}.shared-row{display:grid;grid-template-columns:100px 1fr auto;gap:10px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--renderer-border-light)}@media(max-width:720px){.type-properties-overlay{padding:44px 12px 12px}.type-properties-window{min-width:0;resize:none;max-width:100%;height:calc(100vh - 64px);max-height:calc(100vh - 64px)}.selection-row,.shared-row{grid-template-columns:1fr;gap:8px}.selection-label{white-space:normal}.table-header,.param-row{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(220px,2fr) 72px}}.shared-row .selection-label{display:flex;align-items:center;gap:6px;color:var(--renderer-accent)}.shared-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.shared-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--renderer-accent)}.shared-text{font-size:12px;color:var(--renderer-text-primary)}.spm-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2147483647;isolation:isolate}.spm-main-modal{display:flex;flex-direction:column;height:75vh;max-width:1400px;margin:120px auto 0;background:var(--ui-bg);color:var(--ui-text);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;border-radius:8px;overflow:hidden;z-index:2147483647;position:relative}.spm-header{background:var(--ui-card-bg, #ffffff);border-bottom:1px solid var(--ui-border, #e0e0e0);padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.spm-header-left{display:flex;flex-direction:column;gap:4px}.spm-last-update{font-size:11px;color:var(--ui-text-muted, #6a6a6a)}.spm-header-actions{display:flex;gap:8px;align-items:center}.spm-title{font-size:20px;font-weight:600;color:var(--ui-text, #2d2d2d);margin:0}.spm-body{display:flex;flex:1;overflow:hidden}.spm-panel-left{width:500px;background:var(--ui-card-bg, #ffffff);border-right:1px solid var(--ui-border, #e0e0e0);display:flex;flex-direction:column;padding:16px}.spm-panel-right{flex:1;background:var(--ui-bg-secondary, #f8f9fa);padding:16px;overflow-y:auto}.spm-footer{background:var(--ui-card-bg, #ffffff);border-top:1px solid var(--ui-border, #e0e0e0);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.spm-footer-group-selector{display:flex;align-items:center;gap:8px}.spm-footer-label{font-size:12px;color:var(--ui-text-secondary, #666);white-space:nowrap}.spm-group-dropdown{background:var(--ui-input-bg, #fff);border:1px solid var(--ui-border, #e0e0e0);padding:5px 10px;font-size:12px;color:var(--ui-text, #333);border-radius:4px;outline:none;cursor:pointer;min-width:160px}.spm-group-dropdown:focus{border-color:var(--ui-primary, #3b82f6)}.spm-footer-actions{display:flex;gap:8px;align-items:center}.spm-form-group{margin-bottom:16px}.spm-search-with-icon{position:relative}.spm-label{display:block;margin-bottom:4px;font-size:12px;font-weight:500;color:var(--ui-text, #2d2d2d)}.spm-input,.spm-select{width:100%;padding:8px;background:var(--ui-input-bg, #ffffff);border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;color:var(--ui-text, #2d2d2d);font-size:14px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:border-color .15s ease}.spm-input:focus,.spm-select:focus{outline:none;border-color:var(--ui-accent, #5a6570)}.spm-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;background:var(--ui-button-bg);color:var(--ui-button-text);border:none;border-radius:6px;font-size:14px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:500;cursor:pointer;transition:background var(--ui-transition-fast)}.spm-btn:hover{background:var(--ui-button-hover)}.spm-btn:active{background:var(--ui-button-active)}.spm-btn:disabled{opacity:.5;cursor:not-allowed}.spm-btn-secondary{background:var(--ui-button-secondary-bg);color:var(--ui-button-secondary-text)}.spm-btn-secondary:hover{background:var(--ui-button-secondary-hover)}.spm-btn-success{background:var(--ui-button-bg);color:var(--ui-button-text)}.spm-btn-success:hover{background:var(--ui-button-hover)}.spm-btn-error{background:var(--ui-error, #dc3545);color:#fff}.spm-btn-error:hover{filter:brightness(.9)}.spm-search-group{display:flex;gap:8px}.spm-search-group .spm-input{flex:1}.spm-controls-group{display:flex;gap:8px;margin-bottom:16px}.spm-action-buttons{display:flex;gap:8px;margin-top:16px}.spm-table-container{flex:1;overflow-y:auto;background:var(--ui-input-bg, #ffffff);border:1px solid var(--ui-border, #e0e0e0);border-radius:4px}.spm-table{width:100%;border-collapse:collapse}.spm-table thead{position:sticky;top:0;background:var(--ui-bg-tertiary, #f0f2f5);z-index:10}.spm-table th{padding:8px;text-align:left;font-size:12px;font-weight:600;border-bottom:2px solid var(--ui-border, #e0e0e0);color:var(--ui-text, #2d2d2d);cursor:pointer;-webkit-user-select:none;user-select:none}.spm-table th:hover{background:var(--ui-border-light, #f0f0f0)}.spm-table td{padding:8px;border-bottom:1px solid var(--ui-border-light, #f0f0f0);font-size:12px}.spm-table tbody tr{cursor:pointer;transition:background .15s ease}.spm-table tbody tr:hover{background:var(--ui-bg-secondary, #f8f9fa)}.spm-table tbody tr.selected{background:#8ec8ee33}.spm-guid{color:var(--spm-text-muted);font-size:var(--spm-font-size-xs);font-family:monospace}.spm-badge{display:inline-block;padding:2px 8px;border-radius:var(--spm-radius-sm);font-size:var(--spm-font-size-xs);font-weight:600;background:var(--spm-bg-tertiary);color:var(--spm-text)}.spm-empty{text-align:center;padding:24px!important;color:var(--ui-text-muted, #6a6a6a)}.spm-loading{text-align:center;padding:24px;color:var(--ui-text-muted, #6a6a6a);font-size:14px}.spm-empty-state{text-align:center;padding:32px;color:var(--ui-text-muted, #6a6a6a)}.spm-empty-state p{font-size:16px;margin-bottom:8px;color:var(--ui-warning, #ffc107)}.spm-empty-state small{font-size:12px;color:var(--ui-text-muted, #6a6a6a);display:flex;align-items:center;justify-content:center;gap:4px}.inline-icon{width:14px;height:14px;display:inline-block;vertical-align:middle}.spm-error{text-align:center;padding:24px;color:var(--ui-error, #dc3545)}.spm-action-buttons{display:flex;gap:var(--spm-spacing-sm)}.spm-config-section{background:var(--ui-card-bg, #ffffff);border-radius:6px;padding:16px;margin-bottom:16px;border:1px solid var(--ui-border, #e0e0e0)}.spm-config-title{font-size:16px;font-weight:600;margin-bottom:16px;color:var(--ui-text, #2d2d2d);margin-top:0}.spm-radio-group{display:flex;gap:24px;margin-bottom:16px}.spm-radio-item{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:14px}.spm-radio-item input[type=radio],.spm-radio-item input[type=checkbox]{cursor:pointer}.spm-radio-item label{cursor:pointer;-webkit-user-select:none;user-select:none}.spm-category-list{max-height:250px;overflow-y:auto;border:1px solid var(--ui-border);border-radius:6px;padding:8px;background:var(--ui-bg)}.spm-category-item{padding:4px 0;display:flex;align-items:center;gap:4px;cursor:pointer;font-size:12px}.spm-category-item input[type=checkbox]{cursor:pointer}.spm-category-item label{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1}.spm-category-actions{display:flex;gap:8px;margin-top:16px}.spm-modal-backdrop .spm-modal-backdrop{z-index:2147483647}.spm-modal{background:var(--ui-card-bg, #ffffff);border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.spm-modal-header{padding:16px 24px;border-bottom:1px solid var(--ui-border, #e0e0e0);display:flex;align-items:center;justify-content:space-between}.spm-modal-title{font-size:16px;font-weight:600;color:var(--ui-text, #2d2d2d);margin:0}.spm-modal-close,.spm-btn-icon{background:none;border:none;cursor:pointer;color:var(--ui-text-secondary, #4a4a4a);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.spm-modal-close:hover,.spm-btn-icon:hover:not(:disabled){background:var(--ui-bg-tertiary, #f0f2f5);color:var(--ui-accent, #5a6570)}.spm-btn-icon:disabled{opacity:.5;cursor:not-allowed}.spm-spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spm-modal-body{padding:24px;display:flex;flex-direction:column;gap:16px}.spm-modal-footer{padding:16px 24px;border-top:1px solid var(--ui-border, #e0e0e0);display:flex;justify-content:flex-end;gap:8px}.spm-text-muted,.text-muted{color:var(--ui-text-muted, #6a6a6a);font-size:12px}.spm-table-container::-webkit-scrollbar,.spm-category-list::-webkit-scrollbar,.spm-panel-right::-webkit-scrollbar,.spm-modal::-webkit-scrollbar{width:8px;height:8px}.spm-table-container::-webkit-scrollbar-track,.spm-category-list::-webkit-scrollbar-track,.spm-panel-right::-webkit-scrollbar-track,.spm-modal::-webkit-scrollbar-track{background:var(--ui-bg-secondary, #f8f9fa)}.spm-table-container::-webkit-scrollbar-thumb,.spm-category-list::-webkit-scrollbar-thumb,.spm-panel-right::-webkit-scrollbar-thumb,.spm-modal::-webkit-scrollbar-thumb{background:var(--ui-border, #e0e0e0);border-radius:4px}.spm-table-container::-webkit-scrollbar-thumb:hover,.spm-category-list::-webkit-scrollbar-thumb:hover,.spm-panel-right::-webkit-scrollbar-thumb:hover,.spm-modal::-webkit-scrollbar-thumb:hover{background:var(--ui-text-muted, #6a6a6a)}.family-3d-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:99999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.family-3d-modal{background:var(--background, #1a1a1a);border:1px solid var(--border, #333);border-radius:12px;width:90%;max-width:650px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.family-3d-form{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--background, #1a1a1a)}.family-3d-form-inline{border-radius:0;max-width:none}.family-3d-modal .modal-header,.family-3d-form .modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border, #333)}.family-3d-modal .modal-title,.family-3d-form .modal-title{display:flex;align-items:center;font-size:15px;font-weight:600;margin:0}.family-3d-modal .modal-error,.family-3d-form .modal-error{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#dc26261a;border-bottom:1px solid rgba(220,38,38,.3);color:#ef4444;font-size:14px}.family-3d-modal .modal-tabs,.family-3d-form .modal-tabs{flex:1;display:flex;flex-direction:column;overflow:hidden}.family-3d-modal .tabs-list,.family-3d-form .tabs-list{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;flex-shrink:0;padding:0 4px;border-bottom:1px solid var(--border, #333);background:var(--muted, #262626);height:auto;border-radius:0}.family-3d-modal .tab-trigger,.family-3d-form .tab-trigger{display:flex;align-items:center;padding:5px;font-size:10px;gap:3px}.family-3d-modal .tab-trigger svg,.family-3d-form .tab-trigger svg{width:12px;height:12px;flex-shrink:0}.family-3d-modal .tab-content,.family-3d-form .tab-content{flex:1;min-height:0;min-width:0;padding:12px;overflow-y:auto}.family-3d-form input[type=text],.family-3d-form input[type=number],.family-3d-form input[type=url],.family-3d-form textarea,.family-3d-form [role=combobox]{font-size:12px!important;height:auto!important;min-height:30px!important;padding-top:4px!important;padding-bottom:4px!important}.family-3d-modal .form-section,.family-3d-form .form-section{display:flex;flex-direction:column;gap:10px;min-width:0}.family-3d-modal .form-group,.family-3d-form .form-group{display:flex;flex-direction:column;gap:4px;min-width:0}.family-3d-checkbox-row{display:flex;align-items:flex-start;gap:.5rem;width:100%;min-width:0;box-sizing:border-box}.family-3d-modal .family-3d-checkbox-row [role=checkbox],.family-3d-form .family-3d-checkbox-row [role=checkbox]{width:1.25rem;height:1.25rem;min-width:1.25rem;flex-shrink:0;margin-top:.125rem;box-sizing:border-box;border-radius:.25rem;border:2px solid var(--ui-checkbox-border, #3d5a80);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.family-3d-modal .family-3d-checkbox-row [role=checkbox][data-state=checked],.family-3d-form .family-3d-checkbox-row [role=checkbox][data-state=checked]{background-color:var(--ui-checkbox-checked, #7ab4da);border-color:var(--ui-checkbox-checked, #7ab4da);color:#fff}.family-3d-checkbox-label{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;line-height:1.35;font-size:12px;font-weight:500;cursor:pointer}.family-3d-shared-icon{width:1rem;height:1rem;flex-shrink:0;color:var(--ui-accent, #3b82f6)}.family-3d-shared-hint{width:100%;max-width:100%;margin:.35rem 0 0;padding:0;font-size:.75rem;line-height:1.45;color:var(--muted-foreground, #a3a3a3);word-break:normal;overflow-wrap:break-word}.family-3d-modal .form-group label,.family-3d-form .form-group label{font-size:12px;font-weight:500;color:var(--foreground, #e5e5e5)}.family-3d-modal .form-select,.family-3d-form .form-select{width:100%;padding:5px 8px;border:1px solid var(--border, #333);border-radius:6px;background:var(--background, #1a1a1a);color:var(--foreground, #e5e5e5);font-size:13px}.family-3d-modal .form-select:focus,.family-3d-form .form-select:focus{outline:none;border-color:var(--primary, #3b82f6)}.profile-selection-section{display:flex;flex-direction:column;gap:20px}.selected-profile-info{background:var(--muted, #262626);border-radius:8px;padding:16px}.selected-profile-info h4{font-size:14px;font-weight:600;margin:0 0 12px}.selected-profile-info .profile-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.selected-profile-info .info-item{display:flex;flex-direction:column;gap:2px}.selected-profile-info .info-item .label{font-size:11px;text-transform:uppercase;color:var(--muted-foreground, #a3a3a3)}.selected-profile-info .info-item .value{font-size:14px;font-weight:500;font-family:monospace}.no-profiles-message{text-align:center;padding:40px 20px;color:var(--muted-foreground, #a3a3a3);background:var(--muted, #262626);border-radius:8px}.operation-section{display:flex;flex-direction:column;gap:20px}.operation-type-selector{display:flex;gap:12px}.operation-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border:2px solid var(--border, #333);border-radius:8px;background:transparent;color:var(--foreground, #e5e5e5);cursor:pointer;transition:all .2s ease}.operation-btn:hover:not(.disabled){border-color:var(--primary, #3b82f6);background:#3b82f61a}.operation-btn.active{border-color:var(--primary, #3b82f6);background:#3b82f626}.operation-btn.disabled{opacity:.4;cursor:not-allowed}.operation-btn span{font-size:13px;font-weight:500}.extrusion-config{background:var(--muted, #262626);border-radius:8px;padding:16px}.extrusion-config h4{font-size:14px;font-weight:600;margin:0 0 16px}.config-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.preview-info{margin-top:20px;padding-top:16px;border-top:1px solid var(--border, #333)}.preview-info h5{font-size:13px;font-weight:600;margin:0 0 12px;color:var(--primary, #3b82f6)}.preview-stats{display:flex;gap:24px}.preview-stats .stat{display:flex;flex-direction:column;gap:2px}.preview-stats .stat .label{font-size:11px;text-transform:uppercase;color:var(--muted-foreground, #a3a3a3)}.preview-stats .stat .value{font-size:16px;font-weight:600;font-family:monospace;color:var(--primary, #3b82f6)}.family-3d-modal .modal-footer,.family-3d-form .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:8px 12px;border-top:1px solid var(--border, #333);flex-shrink:0}.family-3d-modal .modal-footer button,.family-3d-form .modal-footer button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.25rem;padding:.4rem 1rem;font-size:13px;font-weight:500;border-radius:6px;box-sizing:border-box;cursor:pointer}.family-3d-modal .modal-footer button:first-of-type,.family-3d-form .modal-footer button:first-of-type{border:1px solid var(--ui-border, #444);background:var(--ui-input-bg, transparent);color:var(--ui-text, #e5e5e5)}.family-3d-modal .modal-footer button:last-of-type,.family-3d-form .modal-footer button:last-of-type{border:1px solid var(--ui-accent, #0078d4);background:var(--ui-accent, #0078d4);color:#fff}.sweep-config{background:var(--muted, #262626);border-radius:8px;padding:16px}.sweep-config h4{font-size:14px;font-weight:600;margin:0 0 16px}.sweep-config-layout{display:grid;grid-template-columns:1fr 220px;gap:20px}.sweep-config-layout .connection-type{margin-top:16px}.path-editor{display:flex;flex-direction:column;gap:16px}.path-editor-header{display:flex;justify-content:space-between;padding:12px 16px;background:var(--background, #1a1a1a);border-radius:6px;border:1px solid var(--border, #333)}.path-editor-header .label{font-size:12px;color:var(--muted-foreground, #a3a3a3)}.path-editor-header .value{font-size:14px;font-weight:600;font-family:monospace;color:var(--primary, #3b82f6);margin-left:8px}.path-points-list{display:flex;flex-direction:column;gap:4px}.path-point-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--background, #1a1a1a);border:1px solid var(--border, #333);border-radius:6px;transition:all .2s ease}.path-point-item:hover{border-color:var(--primary, #3b82f6)}.path-point-item.selected{border-color:var(--primary, #3b82f6);background:#3b82f61a}.path-point-item.first{border-left:3px solid #22c55e}.path-point-item.last{border-left:3px solid #ef4444}.path-point-item.intermediate{border-left:3px solid #3b82f6}.path-point-item .point-handle{color:var(--muted-foreground, #a3a3a3);cursor:grab}.path-point-item .point-label{min-width:70px;font-size:12px;font-weight:600;color:var(--foreground, #e5e5e5)}.path-point-item .point-coordinates{display:flex;gap:8px;flex:1}.path-point-item .coordinate-input{display:flex;flex-direction:column;gap:2px;flex:1}.path-point-item .coordinate-input label{font-size:10px;text-transform:uppercase;color:var(--muted-foreground, #a3a3a3)}.path-point-item .coordinate-input input{padding:6px 8px;font-size:13px;font-family:monospace}.path-point-item .point-actions{display:flex;gap:4px}.path-point-item .point-actions .delete-btn:hover{color:#ef4444}.add-point-between{display:flex;justify-content:center;padding:4px 0}.add-point-btn{font-size:11px;padding:4px 12px;height:auto;opacity:.6;transition:opacity .2s ease}.add-point-btn:hover{opacity:1}.path-advanced-options{padding:16px;background:var(--background, #1a1a1a);border:1px solid var(--border, #333);border-radius:6px;margin-top:16px}.path-advanced-options h4{font-size:13px;font-weight:600;margin:0 0 12px;color:var(--muted-foreground, #a3a3a3)}.path-advanced-options .option-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.path-advanced-options .option-row label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.path-advanced-options .option-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary, #3b82f6)}.path-advanced-options .option-row input[type=number]{width:100px;padding:6px 8px;font-size:13px}.path-preview-2d{background:var(--background, #1a1a1a);border:1px solid var(--border, #333);border-radius:6px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.path-preview-2d svg{background:#0a0a0a;border-radius:4px}.path-preview-2d .preview-legend{display:flex;gap:16px;font-size:11px;color:var(--muted-foreground, #a3a3a3)}.path-preview-2d .legend-item{display:flex;align-items:center;gap:4px}.path-preview-2d .legend-item .dot{width:8px;height:8px;border-radius:50%}.path-preview-2d .legend-item .dot.start{background:#22c55e}.path-preview-2d .legend-item .dot.end{background:#ef4444}.path-preview-2d .legend-item .dot.intermediate{background:#3b82f6}.preview-section{display:flex;align-items:center;gap:12px;padding:16px;background:var(--muted, #262626);border-radius:8px;margin-top:16px}.preview-section .preview-btn{display:flex;align-items:center;gap:8px}.f3d-title-icon{width:1.25rem;height:1.25rem;margin-right:.5rem;flex-shrink:0}.f3d-close-icon{width:1.25rem;height:1.25rem}.f3d-error-close-icon{width:1rem;height:1rem}.f3d-tab-icon{width:.75rem;height:.75rem;flex-shrink:0}.f3d-btn-icon{width:.75rem;height:.75rem;flex-shrink:0;margin-right:.25rem}.f3d-save-icon{width:1rem;height:1rem;margin-right:.5rem;flex-shrink:0}.parameters-section{display:flex;flex-direction:column;gap:8px}.f3d-params-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;margin-bottom:8px}.f3d-params-title{font-size:13px;font-weight:600;margin:0;color:var(--foreground, #e5e5e5)}.f3d-params-actions{display:flex;gap:4px}.f3d-params-btn{font-size:11px!important;height:28px!important;padding:0 8px!important;display:inline-flex!important;align-items:center!important;gap:0!important}.f3d-host-types{margin-top:8px;padding-left:24px}.f3d-host-types-label{display:block!important;font-size:11px!important;color:var(--muted-foreground, #a3a3a3)!important;margin-bottom:4px!important;font-weight:400!important}.f3d-host-types-grid{display:flex;flex-wrap:wrap;gap:4px}.f3d-host-type-btn{font-size:11px;padding:3px 8px;border-radius:4px;border:1px solid var(--border, #444);background:transparent;color:var(--muted-foreground, #a3a3a3);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;line-height:1.4}.f3d-host-type-btn:hover:not(.f3d-host-type-btn--active){background:var(--accent, rgba(59, 130, 246, .1));color:var(--foreground, #e5e5e5)}.f3d-host-type-btn--active{background:#2563eb;color:#fff;border-color:#2563eb}.f3d-host-type-btn--active:hover{background:#1d4ed8;border-color:#1d4ed8}@media(max-width:768px){.family-3d-modal{width:95%;max-height:95vh}.config-grid{grid-template-columns:1fr}.operation-type-selector{flex-direction:column}.selected-profile-info .profile-info-grid,.sweep-config-layout{grid-template-columns:1fr}.path-point-item{flex-wrap:wrap}.path-point-item .point-coordinates{width:100%;margin-top:8px}}.new-schedule-modal-content{max-width:720px}.new-schedule-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:8px 0}.new-schedule-modal-column{display:flex;flex-direction:column;gap:12px}.new-schedule-form-group{display:flex;flex-direction:column;gap:4px}.new-schedule-label{font-size:12px;font-weight:500;color:var(--renderer-text-primary, #1a1a1a)}.new-schedule-input,.new-schedule-select{width:100%;padding:8px 10px;font-size:14px;border:1px solid var(--renderer-border, #e5e7eb);border-radius:6px;background:var(--renderer-bg-primary, #fff);color:var(--renderer-text-primary, #1a1a1a)}.new-schedule-input:focus,.new-schedule-select:focus{outline:none;border-color:var(--renderer-accent, #2563eb)}.new-schedule-category-list{border:1px solid var(--renderer-border, #e5e7eb);border-radius:6px;background:var(--renderer-bg-primary, #fff);max-height:280px;overflow-y:auto;padding:4px}.new-schedule-category-item{display:block;width:100%;padding:6px 10px;font-size:13px;text-align:left;color:var(--renderer-text-primary, #1a1a1a);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background .15s}.new-schedule-category-item:hover{background:var(--renderer-bg-hover, #f3f4f6)}.new-schedule-category-item.selected{background:var(--renderer-accent, #2563eb);color:#fff}.new-schedule-category-empty{padding:16px;font-size:13px;color:var(--renderer-text-muted, #6b7280);text-align:center}.new-schedule-radio-group{display:flex;flex-direction:column;gap:6px}.new-schedule-radio-option{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.new-schedule-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--renderer-border, #e5e7eb)}.new-schedule-btn{padding:8px 16px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:background .15s;min-width:80px}.new-schedule-btn.primary{background:var(--renderer-accent, #2563eb);color:#fff;border:none}.new-schedule-btn.primary:hover:not(:disabled){background:var(--renderer-accent-hover, #1d4ed8)}.new-schedule-btn.primary:disabled{opacity:.6;cursor:not-allowed}.new-schedule-btn.secondary{background:transparent;color:var(--renderer-text-primary, #1a1a1a);border:1px solid var(--renderer-border, #e5e7eb)}.new-schedule-btn.secondary:hover{background:var(--renderer-bg-hover, #f3f4f6)}@media(max-width:640px){.new-schedule-modal-body{grid-template-columns:1fr}}.project-browser{display:flex;flex-direction:column;background:transparent;border-radius:0;box-shadow:none;width:100%;max-width:none;height:100%;overflow:hidden}.browser-header{background:var(--renderer-bg-secondary);padding:8px 12px;border-bottom:1px solid var(--renderer-border)}.browser-title{font-size:13px;font-weight:600;color:var(--renderer-text-primary);margin-bottom:6px}.search-box{position:relative}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--renderer-text-muted);pointer-events:none;font-size:14px}.search-input{width:100%;padding:5px 10px 5px 32px;background:var(--renderer-input-bg);border:1px solid var(--renderer-input-border);border-radius:4px;color:var(--renderer-text-primary);font-size:12px;outline:none;transition:all .2s ease}.search-input:focus{border-color:var(--renderer-input-focus-border);background:var(--renderer-input-focus-bg)}.search-input::placeholder{color:var(--renderer-text-muted)}.tree-container{flex:1;overflow-y:auto;padding:8px 0;background:var(--renderer-bg-primary);height:530px}.tree-root{list-style:none;margin:0;padding:0}.tree-node{list-style:none;-webkit-user-select:none;user-select:none}.tree-node-content{display:flex;align-items:center;padding:6px 12px;cursor:pointer;transition:background-color .2s ease;position:relative}.tree-node-content:hover{background:var(--renderer-bg-hover)}.tree-node-content.selected{background:var(--renderer-bg-active);border-left:3px solid var(--renderer-accent)}.tree-node-content.dragging{opacity:.5;cursor:grabbing}.tree-node-content.droppable{position:relative}.tree-node-content.drag-over{background:var(--renderer-accent);background-opacity:.2;border:2px dashed var(--renderer-accent);border-radius:4px}.tree-node-content[draggable=true]{cursor:grab}.tree-node-content[draggable=true]:active{cursor:grabbing}.expand-icon{width:20px;height:20px;margin-right:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--renderer-text-muted);transition:transform .2s ease}.expand-icon.expanded{transform:rotate(90deg)}.expand-icon.placeholder{visibility:hidden}.category-icon{width:18px;height:18px;margin-right:8px;flex-shrink:0;color:var(--renderer-accent);display:flex;align-items:center;justify-content:center}.category-icon svg{width:18px;height:18px;stroke:currentColor}.node-label{flex:1;font-size:13px;color:var(--renderer-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-children{list-style:none;padding:0;margin:0;max-height:0;overflow:hidden;transition:max-height .3s ease}.tree-children.expanded{max-height:10000px}.empty-state{text-align:center;padding:40px 20px;color:var(--renderer-text-muted)}.empty-state-icon{display:flex;align-items:center;justify-content:center;margin-bottom:12px;opacity:.5}.empty-state-icon svg{width:48px;height:48px;stroke:currentColor}.empty-state-text{font-size:14px;color:var(--renderer-text-secondary)}.properties-palette{display:flex;flex-direction:column;background:var(--ui-panel-bg);width:100%;max-width:420px;height:100%;overflow:hidden;position:relative;z-index:50}.properties-header{background:var(--ui-ribbon-bg);padding:8px 10px;border-bottom:1px solid var(--ui-border);display:flex;align-items:center;gap:8px;min-height:38px}.header-icon{width:20px;height:20px;color:var(--ui-accent);flex-shrink:0;display:flex;align-items:center;justify-content:center}.header-icon svg{width:14px;height:14px}.header-info{flex:1;min-width:0}.header-title{font-size:11px;font-weight:700;color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle{font-size:10px;color:var(--ui-text-secondary);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-type-btn{background:transparent;border:1px solid var(--ui-border);color:var(--ui-text-secondary);padding:3px 8px;border-radius:4px;cursor:pointer;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;gap:4px;transition:all .15s;white-space:nowrap;flex-shrink:0}.edit-type-btn:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.properties-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:var(--ui-accent) var(--ui-bg-secondary)}.properties-content::-webkit-scrollbar{width:5px}.properties-content::-webkit-scrollbar-track{background:var(--ui-bg-secondary);border-radius:3px}.properties-content::-webkit-scrollbar-thumb{background:var(--ui-border-light);border-radius:3px}.properties-content::-webkit-scrollbar-thumb:hover{background:var(--ui-accent)}.property-group{border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-panel-bg)}.group-header{background:var(--ui-ribbon-bg);padding:5px 8px;cursor:pointer;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none;transition:background-color .15s;border-bottom:1px solid var(--ui-border)}.group-header:hover{background:var(--ui-ribbon-tab-hover)}.prop-expand-icon{width:20px;height:20px;margin-right:2px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--ui-text-muted);transition:transform .2s ease}.prop-expand-icon.expanded{transform:rotate(90deg)}.group-title{font-size:10px;font-weight:700;color:var(--ui-text-secondary);flex:1;text-transform:uppercase;letter-spacing:.3px}.group-content{display:none}.group-content.expanded{display:block}.property-row{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:4px 8px;align-items:center;min-height:26px;border-bottom:1px solid rgba(255,255,255,.04)}.property-row:last-child{border-bottom:none}.property-row:hover{background:var(--ui-ribbon-tab-hover)}.property-label{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-value{display:flex;align-items:center;gap:4px}.prop-input,.prop-select{width:100%;background:var(--ui-input-bg);border:1px solid var(--ui-border);color:var(--ui-text);padding:2px 6px;font-size:11px;border-radius:3px;outline:none;transition:border-color .15s;height:22px}.prop-input:focus,.prop-select:focus{border-color:var(--ui-accent)}.prop-input[type=number]{text-align:right;appearance:textfield;-moz-appearance:textfield}.prop-input[type=number]::-webkit-outer-spin-button,.prop-input[type=number]::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}.prop-input:read-only{background:var(--ui-bg-secondary);cursor:not-allowed;opacity:.6}.prop-select{cursor:pointer}.prop-select:disabled{cursor:not-allowed;opacity:.6}.prop-checkbox{width:14px;height:14px;cursor:pointer;accent-color:var(--ui-accent)}.prop-checkbox:disabled{cursor:not-allowed;opacity:.6}.prop-button{width:100%;background:transparent;border:1px solid var(--ui-border);color:var(--ui-text-secondary);padding:3px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:3px;cursor:pointer;transition:all .15s;text-align:left}.prop-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.prop-readonly{font-size:11px;color:var(--ui-text-muted)}.prop-text{font-size:11px;color:var(--ui-text)}.properties-footer{background:var(--ui-ribbon-bg);padding:8px 10px;border-top:1px solid var(--ui-border);display:flex;justify-content:flex-end;gap:8px}.footer-button{background:transparent;border:1px solid var(--ui-border);color:var(--ui-text-secondary);padding:4px 14px;border-radius:4px;cursor:pointer;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;transition:all .15s}.footer-button:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.footer-button.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-contrast, #fff)}.footer-button.primary:hover{background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.context-menu{position:fixed;z-index:10000;transform:translateZ(0);background:var(--ui-bg, #ffffff);border:1px solid var(--ui-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #00000026;min-width:180px;padding:4px 0;font-size:13px;font-family:var(--ui-font-family, "Segoe UI", sans-serif)}.context-menu-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;color:var(--ui-text, #2d2d2d);transition:background .15s ease;-webkit-user-select:none;user-select:none}.context-menu-item:hover:not(.disabled){background:var(--ui-accent, #5a6570);color:#fff}.context-menu-item.disabled{opacity:.5;cursor:not-allowed}.context-menu-icon{margin-right:8px;font-size:14px;width:16px;display:flex;align-items:center;justify-content:center}.context-menu-label{flex:1}.context-menu-separator{height:1px;background:var(--ui-border, #e0e0e0);margin:4px 0}.right-panel-manager{display:flex;flex-direction:column;height:100%;background:var(--sidebar-bg);border-left:1px solid var(--border-color);transition:all .3s ease;position:relative;z-index:100}.right-panel-manager.collapsed{width:36px!important;min-width:36px}.right-panel-manager.collapsed .panel-content{display:none}.panel-tabs{display:flex;align-items:stretch;background:var(--ui-ribbon-bg);border-bottom:1px solid var(--ui-border);padding:0;gap:0}.right-panel-manager.collapsed .panel-tabs{flex-direction:column;height:100%;border-bottom:none;border-right:1px solid var(--ui-border);justify-content:flex-start}.panel-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ui-text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s ease}.panel-tab:hover{background:var(--ui-ribbon-tab-hover);color:var(--ui-text)}.panel-tab.active{background:var(--ui-panel-bg);color:var(--ui-accent);border-bottom-color:var(--ui-accent)}.panel-tab svg{flex-shrink:0}.panel-tab span{white-space:nowrap}.panel-collapse-btn{display:flex;align-items:center;justify-content:center;width:32px;flex-shrink:0;background:transparent;border:none;border-left:1px solid var(--ui-border);color:var(--ui-text-muted);cursor:pointer;transition:all .15s;padding:0}.panel-collapse-btn:hover{background:var(--ui-ribbon-tab-hover);color:var(--ui-text)}.right-panel-manager.collapsed .panel-collapse-btn{width:100%;height:32px;border-left:none;border-bottom:1px solid var(--ui-border)}.panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.panel-content .project-browser,.panel-content .properties-palette,.panel-content .family-3d-panel-wrapper,.panel-content .schedules-panel{height:100%;max-width:none;border-radius:0;box-shadow:none}.panel-content .family-3d-panel-wrapper{display:flex;flex-direction:column;min-height:0;overflow:hidden}.type-name-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:999999999}.type-name-modal{background:var(--renderer-bg-primary);border:1px solid var(--renderer-border);border-radius:12px;box-shadow:var(--renderer-shadow-lg);width:90%;max-width:400px;display:flex;flex-direction:column;overflow:hidden}.type-name-modal-header{background:var(--renderer-bg-secondary);border-bottom:1px solid var(--renderer-border);padding:12px 15px;display:flex;align-items:center;justify-content:space-between}.type-name-modal-header h3{margin:0;font-size:14px;font-weight:600;color:var(--renderer-text-primary)}.type-name-modal-close{background:var(--renderer-button-bg);border:1px solid var(--renderer-border);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--renderer-text-primary);transition:all .2s}.type-name-modal-close:hover{background:var(--renderer-button-bg-hover)}.type-name-modal-content{padding:20px}.type-name-modal-content label{display:block;font-size:13px;font-weight:500;color:var(--renderer-text-primary);margin-bottom:8px}.type-name-modal-input{width:100%;padding:8px 12px;border:1px solid var(--renderer-border);border-radius:6px;background:var(--renderer-bg-primary);color:var(--renderer-text-primary);font-size:13px;box-sizing:border-box}.type-name-modal-input:focus{outline:none;border-color:var(--renderer-accent)}.type-name-modal-footer{padding:12px 15px;border-top:1px solid var(--renderer-border);display:flex;justify-content:flex-end;gap:10px;background:var(--renderer-bg-secondary)}.type-name-modal-btn{padding:6px 16px;border:1px solid var(--renderer-border);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.type-name-modal-btn-cancel{background:var(--renderer-button-bg);color:var(--renderer-text-primary)}.type-name-modal-btn-cancel:hover{background:var(--renderer-button-bg-hover)}.type-name-modal-btn-confirm{background:var(--renderer-accent);color:#fff;border-color:var(--renderer-accent)}.type-name-modal-btn-confirm:hover{background:var(--renderer-accent-hover);border-color:var(--renderer-accent-hover)}@media(max-width:400px){.panel-tab span{display:none}.panel-tab{padding:7px 8px}}.mcfm-overlay{position:fixed;inset:0;z-index:2147483645;background-color:#00000080;display:flex;align-items:center;justify-content:center}.mcfm-container{position:relative;z-index:2147483646;width:100%;max-width:448px;background:var(--ui-modal-bg, #2c3e50);color:var(--ui-text, #e0e0e0);border:1px solid var(--ui-border, #5e7a8e);border-radius:8px;box-shadow:0 8px 32px #00000080;overflow:hidden;margin:16px}.mcfm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--ui-border, #5e7a8e)}.mcfm-title{font-size:15px;font-weight:600;margin:0;color:var(--ui-text, #e0e0e0)}.mcfm-close-btn{background:transparent;border:none;color:var(--ui-text-muted, #888);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;width:28px;height:28px}.mcfm-close-btn:hover{background:var(--ui-bg-secondary, rgba(255,255,255,.08))}.mcfm-body{padding:16px 24px;display:flex;flex-direction:column;gap:12px}.mcfm-tabs{display:flex;gap:4px;background:#00000040!important;border-radius:6px;padding:4px}.mcfm-tab{flex:1;border:none!important;background:transparent!important;color:var(--ui-text-muted, #888)!important;font-size:12px!important;font-weight:500!important;padding:6px 12px!important;border-radius:4px!important;cursor:pointer;transition:background .15s,color .15s;box-shadow:none!important}.mcfm-tab:hover{color:var(--ui-text, #e0e0e0)!important;background:#ffffff0f!important}.mcfm-tab.active{background:#ffffff1f!important;color:var(--ui-text, #e0e0e0)!important;font-weight:600!important;box-shadow:0 1px 3px #0006!important}.mcfm-toolbar{display:flex;align-items:center;gap:8px;padding:4px 0}.mcfm-counter{margin-left:auto;font-size:12px;color:var(--ui-text-muted, #888)}.mcfm-separator{border:none;border-top:1px solid var(--ui-border, #5e7a8e);margin:0}.mcfm-scroll{height:360px;overflow-y:auto;overflow-x:hidden}.mcfm-scroll::-webkit-scrollbar{width:6px}.mcfm-scroll::-webkit-scrollbar-track{background:transparent}.mcfm-scroll::-webkit-scrollbar-thumb{background:var(--ui-border, #5e7a8e);border-radius:3px}.mcfm-scroll-inner{display:flex;flex-direction:column;gap:16px;padding-right:8px}.mcfm-group{display:flex;flex-direction:column;gap:6px}.mcfm-group-header{display:flex;align-items:center;justify-content:space-between}.mcfm-group-label{display:flex;align-items:center;gap:8px}.mcfm-group-name{font-size:13px;font-weight:600;color:var(--ui-text, #e0e0e0);cursor:pointer}.mcfm-group-count{font-size:11px;color:var(--ui-text-muted, #888)}.mcfm-items{display:flex;flex-direction:column;gap:2px;margin-left:24px}.mcfm-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.mcfm-item-label{display:flex;align-items:center;gap:8px}.mcfm-item-name{font-size:13px;color:var(--ui-text, #e0e0e0);cursor:pointer}.mcfm-item-count{font-size:11px;color:var(--ui-text-muted, #888)}.mcfm-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--ui-border, #5e7a8e);padding-top:12px}.mcfm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 0;text-align:center;gap:4px}.mcfm-empty-label{font-size:13px;color:var(--ui-text-muted, #888)}.mcfm-empty-hint{font-size:12px;color:var(--ui-text-muted, #888);opacity:.7}.mcfm-btn{padding:5px 12px;font-size:12px;font-weight:500;border-radius:4px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s;white-space:nowrap}.mcfm-btn-outline{background:transparent;color:var(--ui-text, #e0e0e0);border:1px solid var(--ui-border, #5e7a8e)}.mcfm-btn-outline:hover{background:var(--ui-bg-secondary, rgba(255,255,255,.08))}.mcfm-btn-primary{background:var(--ui-accent, #8ec8ee);color:var(--ui-bg, #1a1a1a);border:1px solid transparent}.mcfm-btn-primary:hover{background:var(--ui-accent-hover, #7ab4d8)}.mcfm-container [role=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;border:2px solid var(--ui-checkbox-border, #3d5a80)!important;border-radius:3px!important;background:transparent!important;cursor:pointer;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;transition:border-color .15s,background .15s;outline:none!important;box-shadow:none!important}.mcfm-container [role=checkbox]:hover{border-color:var(--ui-checkbox-hover, #8ec8ee)!important}.mcfm-container [role=checkbox][data-state=checked]{background:var(--ui-checkbox-checked, rgb(122, 180, 197))!important;border-color:var(--ui-checkbox-checked, rgb(122, 180, 197))!important;color:#fff!important}.cp-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:90px;height:28px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);cursor:pointer;padding:0 6px;transition:border-color var(--ui-transition-fast)}.cp-trigger:hover:not(.cp-trigger--disabled){border-color:var(--ui-accent)}.cp-trigger--disabled{opacity:.5;cursor:not-allowed}.cp-trigger-hex{font-size:var(--ui-font-size-xs);font-family:monospace;padding:1px 5px;background:#ffffffe0;border-radius:var(--ui-radius-sm);color:#111;letter-spacing:.02em}.cp-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:2147483647}.cp-dialog{background:var(--ui-bg-secondary);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:0 6px 28px #00000038;width:500px;overflow:hidden;-webkit-user-select:none;user-select:none;font-family:var(--ui-font-family);font-size:var(--ui-font-size-md);color:var(--ui-text)}.cp-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--ui-toolbar-bg);border-bottom:1px solid var(--ui-border)}.cp-title{font-size:var(--ui-font-size-md);font-weight:400}.cp-close{background:none;border:none;font-size:18px;line-height:1;color:var(--ui-text-muted);cursor:pointer;padding:1px 6px}.cp-close:hover{color:var(--ui-text)}.cp-body{display:flex;gap:14px;padding:14px}.cp-left{display:flex;flex-direction:column;gap:12px;min-width:170px}.cp-section-label{font-size:var(--ui-font-size-xs);color:var(--ui-text-secondary);margin-bottom:4px}.cp-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.cp-swatch{width:18px;height:18px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.cp-swatch:hover{transform:scale(1.18);z-index:1;box-shadow:0 0 4px #0000004d}.cp-swatch--selected{outline:2px solid var(--ui-focus);outline-offset:1px}.cp-swatch--empty{background:var(--ui-bg-tertiary);background-image:linear-gradient(45deg,var(--ui-border-light) 25%,transparent 25%),linear-gradient(-45deg,var(--ui-border-light) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--ui-border-light) 75%),linear-gradient(-45deg,transparent 75%,var(--ui-border-light) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;cursor:default}.cp-color-name{font-size:var(--ui-font-size-sm);color:var(--ui-text);padding:2px 0}.cp-preview-labels{display:flex;font-size:var(--ui-font-size-xs);color:var(--ui-text-muted);margin-bottom:2px}.cp-preview-labels span{flex:1;text-align:center}.cp-preview{display:flex;height:48px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);overflow:hidden}.cp-preview>div{flex:1}.cp-right{display:flex;flex-direction:column;gap:10px}.cp-picker-area{display:flex;gap:8px}.cp-canvas-wrapper{position:relative;width:180px;height:180px}.cp-canvas{width:180px;height:180px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);cursor:crosshair;display:block}.cp-crosshair{position:absolute;width:10px;height:10px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #000c,inset 0 0 2px #0006;pointer-events:none;transform:translate(-50%,-50%)}.cp-hue-wrapper{position:relative;width:20px;height:180px}.cp-hue-bar{width:20px;height:180px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);cursor:pointer;display:block}.cp-hue-indicator{position:absolute;left:-3px;width:26px;height:6px;background:var(--ui-bg-secondary);border:1px solid var(--ui-border);pointer-events:none;transform:translateY(-50%)}.cp-hue-indicator:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);border:4px solid transparent;border-left-color:var(--ui-text)}.cp-hue-indicator:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);border:4px solid transparent;border-right-color:var(--ui-text)}.cp-inputs{display:flex;gap:20px}.cp-input-group{display:flex;flex-direction:column;gap:4px}.cp-input-row{display:flex;align-items:center;gap:4px}.cp-input-row label{font-size:var(--ui-font-size-xs);color:var(--ui-text-secondary);min-width:38px;text-align:right}.cp-input-row input{width:46px;padding:2px 4px;font-size:var(--ui-font-size-xs);font-family:var(--ui-font-family);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-input-bg);color:var(--ui-text);text-align:right}.cp-input-row input:focus{outline:none;border-color:var(--ui-focus)}.cp-hex-row{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--ui-border-light)}.cp-hex-row label{font-size:var(--ui-font-size-xs);color:var(--ui-text-secondary)}.cp-hex-row input{width:72px;padding:2px 4px;font-size:var(--ui-font-size-xs);font-family:monospace;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-input-bg);color:var(--ui-text)}.cp-hex-row input:focus{outline:none;border-color:var(--ui-focus)}.cp-actions{display:flex;gap:6px}.cp-btn{padding:4px 14px;font-size:var(--ui-font-size-sm);font-family:var(--ui-font-family);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-bg-secondary);color:var(--ui-text);cursor:pointer;min-width:72px;transition:background var(--ui-transition-fast)}.cp-btn:hover{background:var(--ui-bg-tertiary)}.cp-btn:active{background:var(--ui-border-light)}.cp-btn:focus{outline:none;border-color:var(--ui-focus)}.cp-btn--sm{padding:2px 8px;min-width:56px;font-size:var(--ui-font-size-xs)}.cp-btn--primary{background:var(--ui-accent);border-color:var(--ui-accent);color:#1a1a1a}.cp-btn--primary:hover{background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.cp-footer{display:flex;justify-content:flex-end;gap:8px;padding:8px 14px;border-top:1px solid var(--ui-border);background:var(--ui-bg-secondary)}.cp-bottom-bar{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--ui-toolbar-bg);border-top:1px solid var(--ui-border)}.cp-bottom-preview{width:56px;height:18px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);flex-shrink:0}.cp-bottom-name{font-size:var(--ui-font-size-sm);color:var(--ui-text)}.fd-overlay{position:fixed;inset:0;z-index:2147483646;background:#0000008c;display:flex;align-items:center;justify-content:center}.fd-container{position:relative;z-index:2147483647;width:100%;max-width:1050px;max-height:88vh;background:var(--ui-modal-bg, #2c3e50);color:var(--ui-text, #e0e0e0);border:1px solid var(--ui-border, #5e7a8e);border-radius:6px;box-shadow:0 8px 40px #0009;display:flex;flex-direction:column;margin:16px;overflow:hidden}.fd-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--ui-border, #5e7a8e);flex-shrink:0}.fd-title{font-size:14px;font-weight:600;margin:0}.fd-close-btn{background:transparent;border:none;color:var(--ui-text-muted, #888);cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:13px}.fd-close-btn:hover{background:#ffffff14;color:var(--ui-text, #e0e0e0)}.fd-body{display:grid;grid-template-columns:260px 240px 1fr;gap:0;flex:1;overflow:hidden;min-height:0}.fd-col{display:flex;flex-direction:column;gap:10px;padding:16px;overflow:hidden;border-right:1px solid var(--ui-border, #5e7a8e)}.fd-col:last-child{border-right:none}.fd-col-title{font-size:13px;font-weight:600;color:var(--ui-text, #e0e0e0);flex-shrink:0}.fd-list{border:1px solid var(--ui-border, #5e7a8e);border-radius:4px;background:#0003;flex:1;overflow-y:auto;min-height:0}.fd-list::-webkit-scrollbar{width:6px}.fd-list::-webkit-scrollbar-track{background:transparent}.fd-list::-webkit-scrollbar-thumb{background:var(--ui-border, #5e7a8e);border-radius:3px}.fd-list-empty{padding:16px;font-size:12px;color:var(--ui-text-muted, #888);text-align:center}.fd-list-item{padding:6px 10px;font-size:12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);color:var(--ui-text, #e0e0e0);transition:background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-list-item:last-child{border-bottom:none}.fd-list-item:hover{background:#ffffff0d}.fd-list-item.selected{background:var(--ui-accent, #8ec8ee);color:#1a1a1a}.fd-rename-input{width:100%;background:#0006;border:1px solid var(--ui-accent, #8ec8ee);border-radius:3px;color:var(--ui-text, #e0e0e0);font-size:12px;padding:2px 6px;outline:none}.fd-toolbar{display:flex;gap:4px;flex-shrink:0}.fd-tool-btn{background:#0003;border:1px solid var(--ui-border, #5e7a8e);border-radius:4px;color:var(--ui-text, #e0e0e0);cursor:pointer;padding:5px 8px;font-size:13px;line-height:1;transition:background .15s}.fd-tool-btn:hover:not(:disabled){background:#ffffff14}.fd-tool-btn:disabled{opacity:.35;cursor:not-allowed}.fd-tool-btn--danger:hover:not(:disabled){background:#e05c5c26}.fd-help-link{font-size:11px;color:var(--ui-accent, #8ec8ee);text-decoration:none;flex-shrink:0}.fd-help-link:hover{text-decoration:underline}.fd-info-box{font-size:11px;color:var(--ui-text-muted, #888);background:#00000026;border-radius:4px;padding:8px 10px;line-height:1.4;flex-shrink:0}.fd-params-list{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.fd-param-item{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:background .1s}.fd-param-item:hover{background:#ffffff0a}.fd-param-item input{width:14px;height:14px;accent-color:var(--ui-accent, #8ec8ee);cursor:pointer}.fd-param-item input:disabled{opacity:.4;cursor:not-allowed}.fd-logic-row{display:flex;gap:8px;align-items:center;flex-shrink:0}.fd-select{flex:1;padding:5px 8px;border:1px solid var(--ui-border, #5e7a8e);border-radius:4px;background:#0000004d;color:var(--ui-text, #e0e0e0);font-size:12px;font-family:inherit;cursor:pointer}.fd-select:focus{outline:none;border-color:var(--ui-accent, #8ec8ee)}.fd-rules-area{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;border:2px solid var(--ui-accent, #8ec8ee);border-radius:4px;padding:12px;min-height:0}.fd-rules-area::-webkit-scrollbar{width:6px}.fd-rules-area::-webkit-scrollbar-track{background:transparent}.fd-rules-area::-webkit-scrollbar-thumb{background:var(--ui-border, #5e7a8e);border-radius:3px}.fd-rules-empty{font-size:12px;color:var(--ui-text-muted, #888);text-align:center;padding:16px 0}.fd-rule-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;align-items:center}.fd-rule-param,.fd-rule-op{padding:4px 6px;border:1px solid var(--ui-border, #5e7a8e);border-radius:4px;background:#0000004d;color:var(--ui-text, #e0e0e0);font-size:11px;font-family:inherit;cursor:pointer;width:100%}.fd-rule-value{padding:4px 6px;border:1px solid var(--ui-border, #5e7a8e);border-radius:4px;background:#0000004d;color:var(--ui-text, #e0e0e0);font-size:11px;font-family:inherit;width:100%}.fd-rule-value:focus{outline:none;border-color:var(--ui-accent, #8ec8ee)}.fd-remove-btn{background:#c0392b;color:#fff;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:14px;line-height:1;flex-shrink:0}.fd-remove-btn:hover{background:#a93226}.fd-no-selection{font-size:12px;color:var(--ui-text-muted, #888);padding:16px 0}.fd-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--ui-border, #5e7a8e);flex-shrink:0}.fd-btn{padding:5px 14px;font-size:12px;font-weight:500;border-radius:4px;cursor:pointer;font-family:inherit;transition:background .15s;border:1px solid var(--ui-border, #5e7a8e);background:transparent;color:var(--ui-text, #e0e0e0)}.fd-btn:hover{background:#ffffff14}.fd-btn-primary{background:var(--ui-accent, #8ec8ee);color:#1a1a1a;border-color:transparent}.fd-btn-primary:hover{background:var(--ui-accent-hover, #7ab4d8)}.fd-btn-sm{padding:4px 10px!important;font-size:11px!important;flex-shrink:0}.vgo-overlay{position:fixed;inset:0;z-index:2147483645;background:#00000080;display:flex;align-items:center;justify-content:center}.vgo-container{position:relative;z-index:2147483646;width:100%;max-width:920px;max-height:90vh;background:var(--ui-modal-bg, #2c3e50);color:var(--ui-text, #e0e0e0);border:1px solid var(--ui-border, #5e7a8e);border-radius:6px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;margin:16px;overflow:hidden}.vgo-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--ui-border, #5e7a8e);flex-shrink:0}.vgo-title{font-size:14px;font-weight:600;margin:0;color:var(--ui-text, #e0e0e0)}.vgo-close-btn{background:transparent;border:none;color:var(--ui-text-muted, #888);cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:13px}.vgo-close-btn:hover{background:#ffffff14;color:var(--ui-text, #e0e0e0)}.vgo-tabs-bar{display:flex;gap:0;border-bottom:1px solid var(--ui-border, #5e7a8e);background:#00000026;flex-shrink:0;padding:0 8px}.vgo-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ui-text-muted, #888);font-size:12px;font-weight:500;padding:8px 14px;cursor:pointer;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:6px;white-space:nowrap}.vgo-tab:hover{color:var(--ui-text, #e0e0e0)}.vgo-tab.active{color:var(--ui-text, #e0e0e0);border-bottom-color:var(--ui-accent, #8ec8ee);font-weight:600}.vgo-tab-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ui-accent, #8ec8ee)}.vgo-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.vgo-tab-content{display:flex;flex-direction:column;flex:1;overflow:hidden;padding:16px 20px;gap:12px}.vgo-top-controls{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px}.vgo-checkbox-row{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer}.vgo-info-text{font-size:11px;color:var(--ui-text-muted, #888);text-align:right}.vgo-table-wrapper{flex:1;overflow:auto;border:1px solid var(--ui-border, #5e7a8e);border-radius:4px;min-height:160px}.vgo-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.vgo-table-wrapper::-webkit-scrollbar-track{background:transparent}.vgo-table-wrapper::-webkit-scrollbar-thumb{background:var(--ui-border, #5e7a8e);border-radius:3px}.vgo-table{width:100%;border-collapse:collapse;font-size:12px}.vgo-table thead{position:sticky;top:0;z-index:2;background:var(--ui-modal-bg, #2c3e50)}.vgo-table th{padding:8px 10px;text-align:center;font-weight:600;font-size:11px;border-bottom:2px solid var(--ui-border, #5e7a8e);border-right:1px solid rgba(255,255,255,.05);white-space:nowrap;color:var(--ui-text-muted, #888)}.vgo-table th:last-child{border-right:none}.vgo-th-cat{text-align:left!important;min-width:200px}.vgo-th-group{background:#ffffff08;font-size:11px}.vgo-th-vis,.vgo-th-half{width:60px}.vgo-th-col{width:100px}.vgo-table td{padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.04);border-right:1px solid rgba(255,255,255,.04);vertical-align:middle}.vgo-table td:last-child{border-right:none}.vgo-table tbody tr:hover{background:#ffffff08}.vgo-row--overridden{background:#8ec8ee0f!important}.vgo-td-cat{font-size:12px;color:var(--ui-text, #e0e0e0)}.vgo-td-center{text-align:center}.vgo-td-transp{min-width:120px}.vgo-check{width:14px;height:14px;cursor:pointer;accent-color:var(--ui-accent, #8ec8ee)}.vgo-check:disabled{opacity:.35;cursor:not-allowed}.vgo-empty-cell{text-align:center;color:var(--ui-text-muted, #888);font-size:12px;padding:24px!important}.vgo-disabled-text{color:var(--ui-text-muted, #888);font-size:12px}.vgo-color-cell{display:flex;align-items:center;justify-content:center;gap:4px}.vgo-color-cell .cp-trigger{width:44px;height:20px;border-radius:3px;padding:0 4px;font-size:9px}.vgo-color-cell .cp-trigger-hex{font-size:8px;letter-spacing:0}.vgo-clear-x{background:transparent;border:none;color:var(--ui-text-muted, #888);cursor:pointer;font-size:11px;line-height:1;padding:0 2px;flex-shrink:0}.vgo-clear-x:hover{color:#e05c5c}.vgo-transp-cell{display:flex;align-items:center;gap:8px}.vgo-transp-slider{-webkit-appearance:none;appearance:none;flex:1;height:3px;border-radius:2px;background:#ffffff26;outline:none;cursor:pointer}.vgo-transp-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--ui-accent, #8ec8ee);cursor:pointer;border:1px solid rgba(0,0,0,.3)}.vgo-transp-value{font-size:11px;color:var(--ui-text-muted, #888);min-width:30px;text-align:right}.vgo-action-row{display:flex;gap:6px;flex-shrink:0}.vgo-filter-hint{padding:10px 12px;background:#00000026;border-radius:4px;flex-shrink:0}.vgo-filter-hint p{font-size:11px;color:var(--ui-text-muted, #888)}.vgo-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--ui-border, #5e7a8e);flex-shrink:0}.vgo-btn{padding:5px 14px;font-size:12px;font-weight:500;border-radius:4px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s;border:1px solid var(--ui-border, #5e7a8e);background:transparent;color:var(--ui-text, #e0e0e0)}.vgo-btn:hover{background:#ffffff14}.vgo-btn-primary{background:var(--ui-accent, #8ec8ee);color:#1a1a1a;border-color:transparent}.vgo-btn-primary:hover{background:var(--ui-accent-hover, #7ab4d8)}.vgo-btn-sm{padding:3px 10px!important;font-size:11px!important}.dialog-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--ui-spacing-lg);animation:dialogFadeIn .2s ease-out}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}.dialog-container{background:var(--ui-modal-bg);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg);display:flex;flex-direction:column;max-height:90vh;animation:dialogSlideIn .3s ease-out}@keyframes dialogSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-sm{width:100%;max-width:400px}.dialog-md{width:100%;max-width:600px}.dialog-lg{width:100%;max-width:800px}.dialog-xl{width:100%;max-width:1200px}.dialog-full{width:95vw;max-width:none;height:90vh}[data-theme=dark] .dialog-overlay{background:#000000b3}.vso-tabs-container{border-bottom:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg-secondary, #f8f9fa);flex-shrink:0}.vso-tabs{display:flex;gap:2px;padding:0 16px}.vso-tab{padding:8px 16px;border:none;background:transparent;color:var(--ui-text-secondary, #4a4a4a);font-size:12px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;font-weight:500}.vso-tab:hover{background:var(--ui-bg-tertiary, #f0f2f5);color:var(--ui-text, #2d2d2d)}.vso-tab.active{background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d);border-bottom-color:var(--ui-accent, #5a6570)}.vso-table-wrapper{flex:1;overflow:auto;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;min-height:160px}.vso-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.vso-table-wrapper::-webkit-scrollbar-track{background:var(--ui-bg-secondary, #f8f9fa)}.vso-table-wrapper::-webkit-scrollbar-thumb{background:var(--ui-border, #e0e0e0);border-radius:4px}.vso-table{width:100%;border-collapse:collapse;font-size:11px}.vso-table thead{position:sticky;top:0;background:var(--ui-bg-secondary, #f8f9fa);z-index:2}.vso-table th{padding:8px 10px;text-align:center;font-weight:600;font-size:10px;border-bottom:2px solid var(--ui-border, #e0e0e0);border-right:1px solid var(--ui-border-light, #f0f0f0);white-space:nowrap;color:var(--ui-text-muted, #6a6a6a)}.vso-table th:last-child{border-right:none}.vso-table th.group-header{background:var(--ui-bg-tertiary, #f0f2f5)}.vso-table td{padding:5px 8px;border-bottom:1px solid var(--ui-border-light, #f0f0f0);border-right:1px solid var(--ui-border-light, #f0f0f0);vertical-align:middle}.vso-table td:last-child{border-right:none}.vso-table tbody tr{cursor:pointer}.vso-table tbody tr:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.vso-table tbody tr.selected{background:#5a65701a}.vso-empty-cell{text-align:center;color:var(--ui-text-muted, #6a6a6a);font-size:12px;padding:24px!important}.lpd-dropdown{position:relative;display:inline-block;width:100%}.lpd-trigger{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:11px;cursor:pointer;text-align:left}.lpd-trigger:hover{border-color:var(--ui-accent, #5a6570)}.lpd-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lpd-trigger-arrow{font-size:8px;color:var(--ui-text-muted, #6a6a6a)}.lpd-menu{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--ui-bg, #ffffff);border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;display:none}.lpd-menu--open{display:block}.lpd-item{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-size:11px}.lpd-item:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.lpd-item--selected{background:#5a65701a;font-weight:500}.lpd-line-preview{display:inline-block;width:24px;height:2px;background:currentColor;flex-shrink:0}.lpd-line-preview--solid{background:currentColor}.lpd-line-preview--dashed{background:repeating-linear-gradient(to right,currentColor 0px,currentColor 4px,transparent 4px,transparent 7px)}.lpd-line-preview--dotted{background:repeating-linear-gradient(to right,currentColor 0px,currentColor 2px,transparent 2px,transparent 5px)}.lpd-line-preview--dash-dot{background:repeating-linear-gradient(to right,currentColor 0px,currentColor 4px,transparent 4px,transparent 7px,currentColor 7px,currentColor 8px,transparent 8px,transparent 11px)}.lpd-weight-select{width:100%;padding:4px 8px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:11px;cursor:pointer}.lpd-weight-select:focus{outline:none;border-color:var(--ui-accent, #5a6570)}.lpd-color-field{display:flex;align-items:center;gap:8px}.lpd-color-text{font-size:10px;color:var(--ui-text-muted, #6a6a6a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fpd-dropdown{position:relative;display:inline-block;width:100%}.fpd-trigger{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:11px;cursor:pointer;text-align:left}.fpd-trigger:hover{border-color:var(--ui-accent, #5a6570)}.fpd-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fpd-trigger-arrow{font-size:8px;color:var(--ui-text-muted, #6a6a6a)}.fpd-menu{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--ui-bg, #ffffff);border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;display:none}.fpd-menu--open{display:block}.fpd-item{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-size:11px}.fpd-item:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.fpd-item--selected{background:#5a65701a;font-weight:500}.fpd-fill-preview{display:inline-block;width:24px;height:14px;border:1px solid var(--ui-border, #e0e0e0);flex-shrink:0}.fpd-fill-preview--none{background:repeating-linear-gradient(45deg,#fff 0px 2px,#ccc 2px 4px)}.fpd-fill-preview--solid-fill{background:#888}.fpd-fill-preview--horizontal{background:repeating-linear-gradient(to bottom,#888 0px 1px,#fff 1px 3px)}.fpd-fill-preview--vertical{background:repeating-linear-gradient(to right,#888 0px 1px,#fff 1px 3px)}.fpd-fill-preview--diagonal{background:repeating-linear-gradient(45deg,#888 0px 1px,#fff 1px 3px)}.fpd-fill-preview--diagonal-down{background:repeating-linear-gradient(-45deg,#888 0px 1px,#fff 1px 3px)}.fpd-fill-preview--crosshatch{background:repeating-linear-gradient(45deg,#888 0px 1px,#fff 1px 3px),repeating-linear-gradient(-45deg,#888 0px 1px,#fff 1px 3px)}.fpd-fill-preview--dots{background:#fff;background-image:radial-gradient(#888 1px,transparent 1px);background-size:4px 4px}.input-wrapper{display:flex;flex-direction:column;gap:var(--ui-spacing-xs)}.input-wrapper.full-width{width:100%}.ui-input{padding:var(--ui-spacing-sm) var(--ui-spacing-md);background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);color:var(--ui-text);font-size:var(--ui-font-size-sm);font-family:inherit;transition:all .2s ease;outline:none}.ui-input:hover{border-color:var(--ui-accent)}.ui-input:focus{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.ui-input:disabled{background:var(--ui-bg-secondary);color:var(--ui-text-disabled);cursor:not-allowed}.ui-input.error{border-color:#dc2626}.ui-input.error:focus{box-shadow:0 0 0 3px #dc26261a}.input-error{font-size:var(--ui-font-size-xs);color:#dc2626;margin-top:2px}.ui-input::placeholder{color:var(--ui-text-muted)}.select-wrapper{display:flex;flex-direction:column;gap:var(--ui-spacing-xs)}.select-wrapper.full-width{width:100%}.ui-select{padding:var(--ui-spacing-sm) var(--ui-spacing-md);background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);color:var(--ui-text);font-size:var(--ui-font-size-sm);font-family:inherit;transition:all .2s ease;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:32px}.ui-select:hover{border-color:var(--ui-accent)}.ui-select:focus{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.ui-select:disabled{background:var(--ui-bg-secondary);color:var(--ui-text-disabled);cursor:not-allowed}.ui-select.error{border-color:#dc2626}.ui-select.error:focus{box-shadow:0 0 0 3px #dc26261a}.select-error{font-size:var(--ui-font-size-xs);color:#dc2626;margin-top:2px}.checkbox-container{display:flex;align-items:center;gap:var(--ui-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.checkbox-input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-checkmark{position:relative;height:18px;width:18px;background-color:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);transition:all .2s ease;flex-shrink:0}.checkbox-container:hover .checkbox-checkmark{border-color:var(--ui-accent)}.checkbox-input:checked~.checkbox-checkmark{background-color:var(--ui-accent);border-color:var(--ui-accent)}.checkbox-checkmark:after{content:"";position:absolute;display:none;left:5px;top:2px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-input:checked~.checkbox-checkmark:after{display:block}.checkbox-input:disabled~.checkbox-checkmark{background-color:var(--ui-bg-secondary);border-color:var(--ui-border-light);cursor:not-allowed}.checkbox-input:disabled~.checkbox-label{color:var(--ui-text-disabled);cursor:not-allowed}.checkbox-label{font-size:var(--ui-font-size-sm);color:var(--ui-text)}.form-field{display:flex;flex-direction:column;gap:var(--ui-spacing-xs)}.form-field.full-width{width:100%}.form-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);color:var(--ui-text)}.required-mark{color:#dc2626;margin-left:2px}.form-hint{font-size:var(--ui-font-size-xs);color:var(--ui-text-muted)}.form-error{font-size:var(--ui-font-size-xs);color:#dc2626}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-spacing-xs);padding:var(--ui-spacing-sm) var(--ui-spacing-lg);border:none;border-radius:var(--ui-radius-sm);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);font-family:inherit;cursor:pointer;transition:all .2s ease;outline:none;white-space:nowrap;width:auto}.ui-btn.full-width{width:100%}.ui-btn.btn-sm{padding:4px 12px;font-size:var(--ui-font-size-xs);min-height:28px}.ui-btn.btn-md{padding:var(--ui-spacing-sm) var(--ui-spacing-lg);font-size:var(--ui-font-size-sm);min-height:36px}.ui-btn.btn-lg{padding:12px 24px;font-size:var(--ui-font-size-md);min-height:44px}.ui-btn.btn-primary{background:var(--ui-accent);color:#1a1a1a}.ui-btn.btn-primary:hover:not(:disabled){background:var(--ui-accent-hover, color-mix(in srgb, var(--ui-accent) 85%, #000))}.ui-btn.btn-primary:active:not(:disabled){background:var(--ui-accent-active, color-mix(in srgb, var(--ui-accent) 70%, #000));transform:scale(.98)}.ui-btn.btn-secondary{background:var(--ui-bg-secondary, var(--ui-button-bg));color:var(--ui-text);border:1px solid var(--ui-border)}.ui-btn.btn-secondary:hover:not(:disabled){background:var(--ui-bg-tertiary, var(--ui-button-bg-hover));border-color:var(--ui-accent)}.ui-btn.btn-secondary:active:not(:disabled){transform:scale(.98)}.ui-btn.btn-danger{background:#dc2626;color:#fff}.ui-btn.btn-danger:hover:not(:disabled){background:#b91c1c}.ui-btn.btn-danger:active:not(:disabled){background:#991b1b;transform:scale(.98)}.ui-btn.btn-ghost{background:transparent;color:var(--ui-text)}.ui-btn.btn-ghost:hover:not(:disabled){background:var(--ui-bg-secondary, var(--ui-button-bg))}.ui-btn.btn-ghost:active:not(:disabled){transform:scale(.98)}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn.loading{cursor:wait;pointer-events:none}.btn-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-icon{display:flex;align-items:center;justify-content:center}.od-dialog{width:360px;background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d);border-radius:6px;overflow:hidden}.od-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--ui-border, #e0e0e0)}.od-title{font-size:14px;font-weight:600;margin:0}.od-close{background:transparent;border:none;color:var(--ui-text-muted, #6a6a6a);cursor:pointer;font-size:18px;line-height:1;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.od-close:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.od-body{padding:12px 16px;max-height:500px;overflow-y:auto}.od-section{margin-bottom:12px}.od-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;background:var(--ui-bg-secondary, #f8f9fa);border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;font-size:12px;font-weight:600;color:var(--ui-text, #2d2d2d);cursor:pointer;text-align:left}.od-section-header:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.od-section-arrow{font-size:10px;color:var(--ui-text-muted, #6a6a6a)}.od-section-body{padding:10px 8px;display:flex;flex-direction:column;gap:8px}.od-form-row{display:flex;align-items:center;gap:8px}.od-label{font-size:11px;font-weight:500;color:var(--ui-text-secondary, #4a4a4a);min-width:60px;flex-shrink:0}.od-control{flex:1;min-width:0}.od-slider-container{display:flex;align-items:center;gap:8px}.od-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--ui-border, #e0e0e0);border-radius:2px;outline:none}.od-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ui-accent, #5a6570);cursor:pointer}.od-slider-value{width:50px;padding:2px 6px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;font-size:11px;text-align:center}.od-slider-value:focus{outline:none;border-color:var(--ui-accent, #5a6570)}.od-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg-secondary, #f8f9fa)}.od-footer-actions{display:flex;gap:6px}.vso-main-table{flex:1;min-height:0}.vff-filter-list{display:flex;flex-direction:column;flex:1;overflow:hidden}.vff-list-body{border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-input-bg, #ffffff);flex:1;overflow-y:auto}.vff-list-empty{padding:16px;text-align:center;font-size:12px;color:var(--ui-text-muted, #6a6a6a)}.vff-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;transition:background-color .15s;font-size:12px;color:var(--ui-text, #2d2d2d);border-bottom:1px solid var(--ui-border-light, #f0f0f0)}.vff-list-item:last-child{border-bottom:none}.vff-list-item:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.vff-list-item.selected{background:var(--ui-accent, #5a6570);color:#fff}.vff-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vff-item-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#0000001a;font-size:10px;font-weight:600;margin-left:8px}.vff-list-item.selected .vff-item-badge{background:#ffffff40}.vff-rename-input{flex:1;padding:2px 6px;border:1px solid var(--ui-accent, #5a6570);border-radius:3px;font-size:12px;background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d)}.vff-rename-input:focus{outline:none}.vff-toolbar{display:flex;gap:4px;padding:4px 0}.vff-tool-btn{padding:4px 8px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:12px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.vff-tool-btn:hover:not(:disabled){background:var(--ui-bg-tertiary, #f0f2f5);border-color:var(--ui-accent, #5a6570)}.vff-tool-btn:disabled{opacity:.4;cursor:not-allowed}.vff-tool-btn--danger:hover:not(:disabled){background:#dc3545;border-color:#dc3545;color:#fff}.vff-tool-icon{font-size:14px;line-height:1}.vff-category-panel{display:flex;flex-direction:column;flex:1;overflow:hidden}.vff-info-box{font-size:11px;color:var(--ui-text-secondary, #4a4a4a);line-height:1.4;padding:8px 10px;background:var(--ui-bg-secondary, #f8f9fa);border-radius:4px}.vff-category-controls{display:flex;flex-direction:column;gap:8px}.vff-checkbox-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ui-text, #2d2d2d);cursor:pointer}.vff-category-list{border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-input-bg, #ffffff);flex:1;overflow-y:auto;padding:4px}.vff-category-item{display:flex;align-items:center;gap:6px;padding:5px 8px;cursor:pointer;border-radius:3px;transition:background-color .15s;font-size:12px;color:var(--ui-text, #2d2d2d)}.vff-category-item:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.vff-category-item.parent{padding-left:4px;font-weight:500}.vff-expand-icon{font-size:8px;color:var(--ui-text-muted, #6a6a6a);width:12px;transition:transform .15s}.vff-category-item.expanded .vff-expand-icon{transform:rotate(90deg)}.vff-category-checkbox{width:14px;height:14px;cursor:pointer;accent-color:var(--ui-accent, #5a6570)}.vff-category-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vff-category-actions{display:flex;gap:6px}.vff-category-list::-webkit-scrollbar{width:6px}.vff-category-list::-webkit-scrollbar-track{background:var(--ui-bg-secondary, #f8f9fa)}.vff-category-list::-webkit-scrollbar-thumb{background:var(--ui-border, #e0e0e0);border-radius:3px}.vff-rules-editor{display:flex;flex-direction:column;flex:1;overflow:hidden}.vff-rules-editor--empty{justify-content:center;align-items:center}.vff-empty-message{font-size:12px;color:var(--ui-text-muted, #6a6a6a);text-align:center;padding:24px}.vff-rules-controls{display:flex;gap:8px;align-items:center}.vff-logic-select{flex:1}.vff-rules-list{border:2px solid var(--ui-accent, #5a6570);border-radius:4px;padding:12px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.vff-rules-empty{text-align:center;font-size:12px;color:var(--ui-text-muted, #6a6a6a);padding:16px}.vff-rule-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;align-items:center}.vff-rule-param,.vff-rule-op{min-width:0}.vff-rule-value{padding:5px 8px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:12px;min-width:0}.vff-rule-value:focus{outline:none;border-color:var(--ui-accent, #5a6570)}.vff-remove-btn{background:#dc3545;color:#fff;border:none;border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background-color .15s;flex-shrink:0}.vff-remove-btn:hover{background:#c82333}.vff-rules-list::-webkit-scrollbar{width:6px}.vff-rules-list::-webkit-scrollbar-track{background:var(--ui-bg-secondary, #f8f9fa)}.vff-rules-list::-webkit-scrollbar-thumb{background:var(--ui-border, #e0e0e0);border-radius:3px}.vff-dialog{display:flex;flex-direction:column;width:100%;max-width:1100px;height:85vh;background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d);border-radius:6px;overflow:hidden}.vff-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--ui-border, #e0e0e0);flex-shrink:0}.vff-title{font-size:16px;font-weight:600;margin:0;color:var(--ui-text, #2d2d2d)}.vff-close-btn{background:transparent;border:none;color:var(--ui-text-muted, #6a6a6a);cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:14px;transition:background-color .2s,color .2s}.vff-close-btn:hover{background:var(--ui-bg-tertiary, #f0f2f5);color:var(--ui-text, #2d2d2d)}.vff-body{display:grid;grid-template-columns:260px 280px 1fr;gap:16px;padding:16px 20px;flex:1;overflow:hidden}.vff-col{display:flex;flex-direction:column;gap:12px;overflow:hidden}.vff-list-header{font-size:13px;font-weight:600;color:var(--ui-text, #2d2d2d);padding-bottom:8px;border-bottom:1px solid var(--ui-border-light, #f0f0f0)}.vff-select{width:100%;padding:8px 10px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:12px;cursor:pointer;transition:border-color .2s}.vff-select:hover{border-color:var(--ui-accent, #5a6570)}.vff-select:focus{outline:none;border-color:var(--ui-accent, #5a6570);box-shadow:0 0 0 2px #5a657026}.vff-btn{padding:8px 16px;font-size:13px;font-weight:500;border-radius:4px;cursor:pointer;font-family:inherit;transition:background-color .2s,border-color .2s;border:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d)}.vff-btn:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.vff-btn-primary{background:var(--ui-accent, #5a6570);color:#fff;border-color:transparent}.vff-btn-primary:hover{background:var(--ui-accent-hover, #4a5560)}.vff-btn-sm{padding:4px 12px;font-size:11px;font-weight:500;border-radius:4px;cursor:pointer;font-family:inherit;transition:background-color .2s;border:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d)}.vff-btn-sm:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.vff-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--ui-border, #e0e0e0);flex-shrink:0}.vso-dialog{display:flex;flex-direction:column;width:100%;max-width:1050px;height:85vh;background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d);border-radius:6px;overflow:hidden}.vso-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--ui-border, #e0e0e0);flex-shrink:0}.vso-title{font-size:15px;font-weight:600;margin:0;color:var(--ui-text, #2d2d2d)}.vso-close-btn{background:transparent;border:none;color:var(--ui-text-muted, #6a6a6a);cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:14px;transition:background-color .2s,color .2s}.vso-close-btn:hover{background:var(--ui-bg-tertiary, #f0f2f5);color:var(--ui-text, #2d2d2d)}.vso-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.vso-tab-content{display:flex;flex-direction:column;flex:1;overflow:hidden;padding:16px 20px;gap:12px}.vso-controls-row{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px}.vso-checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.vso-checkbox-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.vso-info-text{font-size:11px;color:var(--ui-text-muted, #6a6a6a);text-align:right}.vso-filters-row{display:flex;gap:12px;flex-shrink:0}.vso-form-group{display:flex;flex-direction:column;gap:4px}.vso-label{font-size:11px;font-weight:500;color:var(--ui-text, #2d2d2d)}.vso-input{width:200px;padding:6px 10px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:12px}.vso-input:focus{outline:none;border-color:var(--ui-accent, #5a6570)}.vso-select{padding:6px 10px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:12px;cursor:pointer;min-width:150px}.vso-select:focus{outline:none;border-color:var(--ui-accent, #5a6570)}.vso-action-buttons{display:flex;gap:6px;flex-shrink:0}.vso-filters-toolbar{display:flex;gap:6px;margin-top:8px}.vso-btn-sm{padding:4px 12px;font-size:11px;font-weight:500;border-radius:4px;cursor:pointer;font-family:inherit;transition:background-color .15s;border:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d)}.vso-btn-sm:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.vso-override-btn{padding:2px 8px;border:1px solid var(--ui-border, #e0e0e0);border-radius:4px;background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:11px;cursor:pointer;white-space:nowrap}.vso-override-btn:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.vso-additional-section{padding:12px;background:var(--ui-bg-secondary, #f8f9fa);border-radius:4px;flex-shrink:0}.vso-additional-section p{font-size:11px;color:var(--ui-text-secondary, #4a4a4a);margin-bottom:8px}.vso-section-note{font-size:11px;color:var(--ui-text-secondary, #4a4a4a);margin-bottom:8px!important}.vso-category-cell{display:flex;align-items:center;gap:6px}.vso-category-cell input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--ui-accent, #5a6570)}.vso-detail-level{font-size:11px;color:var(--ui-text-muted, #6a6a6a)}.vso-filter-name{font-size:12px}.vso-transp-value{font-size:11px;color:var(--ui-text-muted, #6a6a6a)}.vso-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--ui-border, #e0e0e0);flex-shrink:0}.vso-btn{padding:8px 16px;font-size:13px;font-weight:500;border-radius:4px;cursor:pointer;font-family:inherit;transition:background-color .2s,border-color .2s;border:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg, #ffffff);color:var(--ui-text, #2d2d2d)}.vso-btn:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.vso-btn-primary{background:var(--ui-accent, #5a6570);color:#fff;border-color:transparent}.vso-btn-primary:hover{background:var(--ui-accent-hover, #4a5560)}.bottom-ribbon{height:28px;display:flex;align-items:center;gap:4px;padding:2px 6px;background:var(--ui-ribbon-bg);border-top:1px solid var(--ui-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto}.ribbon-admin-separator{width:1px;height:16px;background:var(--ui-border);margin:0 4px 0 auto;flex-shrink:0}.ribbon-btn-admin{color:color-mix(in srgb,var(--ui-accent) 70%,var(--ui-text))}.ribbon-btn-admin:hover{background:color-mix(in srgb,var(--ui-accent) 12%,transparent)}.ribbon-btn-admin.active{color:var(--ui-accent);background:color-mix(in srgb,var(--ui-accent) 22%,transparent)}.ribbon-btn{height:20px;min-width:20px;padding:0;border-radius:4px;border:none;background:transparent;color:var(--ui-text);cursor:pointer;font-size:10px;line-height:1;font-weight:700;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.ribbon-btn svg{width:13px!important;height:13px!important}.ribbon-btn:hover{background:color-mix(in srgb,var(--ui-text) 10%,transparent)}.ribbon-btn.active{color:var(--ui-accent);background:color-mix(in srgb,var(--ui-accent) 18%,transparent)}.ribbon-btn.filter-active{position:relative;color:var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 28%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ui-warning) 80%,transparent),0 0 0 1px color-mix(in srgb,var(--ui-warning) 45%,transparent),0 0 14px color-mix(in srgb,var(--ui-warning) 55%,transparent)}.ribbon-btn.filter-active:after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:999px;background:var(--ui-warning);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-ribbon-bg) 80%,transparent),0 0 0 4px color-mix(in srgb,var(--ui-warning) 55%,transparent);animation:ribbonFilterPulse 1.2s ease-in-out infinite}@keyframes ribbonFilterPulse{0%{transform:scale(1);opacity:.9}50%{transform:scale(1.25);opacity:1}to{transform:scale(1);opacity:.9}}.ribbon-scale-wrapper{display:flex;align-items:center;gap:3px;padding:0 4px;height:28px;background:var(--ui-ribbon-bg, #1e1e1e);border:1px solid var(--ui-border, #444);border-radius:4px}.ribbon-scale-wrapper:hover{border-color:var(--ui-accent, #666)}.ribbon-scale-icon{color:var(--ui-text-secondary);flex-shrink:0;pointer-events:none}.ribbon-scale-select{height:100%;padding:0 2px;background:var(--ui-ribbon-bg, #1e1e1e);color:var(--ui-text);border:none;font-size:11px;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;min-width:36px}.ribbon-scale-select option{background:var(--ui-ribbon-bg, #1e1e1e);color:var(--ui-text)}.ribbon-scale-wrapper:hover .ribbon-scale-select{color:var(--ui-text)}.transparency-slider{display:flex;align-items:center;gap:var(--ui-spacing-md);width:100%}.slider{flex:1;height:6px;border-radius:var(--ui-radius-sm);background:linear-gradient(to right,var(--ui-accent) 0%,var(--ui-accent-light) 100%);outline:none;-webkit-appearance:none;appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--ui-accent);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0003}.slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.slider.dragging::-webkit-slider-thumb{transform:scale(1.2);box-shadow:0 3px 8px #0006}.slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--ui-accent);cursor:pointer;border:none;transition:all .2s ease;box-shadow:0 1px 3px #0003}.slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.slider:disabled{opacity:.5;cursor:not-allowed}.slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.slider:disabled::-moz-range-thumb{cursor:not-allowed}.slider-value{display:flex;align-items:center;gap:4px;min-width:70px}.value-input{width:50px;padding:4px 8px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);font-size:var(--ui-font-size-sm);text-align:center;outline:none}.value-input:focus{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.value-input:disabled{background:var(--ui-bg-secondary);color:var(--ui-text-disabled);cursor:not-allowed}.value-unit{font-size:var(--ui-font-size-sm);color:var(--ui-text-secondary);font-weight:var(--ui-font-weight-medium)}.category-tree-item{display:flex;flex-direction:column}.tree-item-content{display:flex;align-items:center;gap:var(--ui-spacing-xs);padding:4px 8px;min-height:32px;transition:background .2s ease;border-radius:var(--ui-radius-sm)}.tree-item-content:hover{background:var(--ui-bg-secondary)}.expand-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--ui-text-secondary);cursor:pointer;transition:transform .2s ease}.expand-btn.expanded{transform:rotate(90deg)}.expand-btn:hover{color:var(--ui-text)}.expand-placeholder{width:20px;height:20px}.tree-item-label{flex:1;font-size:var(--ui-font-size-sm);color:var(--ui-text);-webkit-user-select:none;user-select:none}.tree-item-children{display:flex;flex-direction:column}.include-checkbox{display:flex;align-items:center;gap:var(--ui-spacing-xs);padding:4px;border-radius:var(--ui-radius-sm);transition:background .2s ease}.include-checkbox:hover:not(.disabled){background:var(--ui-bg-secondary)}.include-checkbox.disabled{opacity:.5;cursor:not-allowed}.include-label{font-size:var(--ui-font-size-sm);color:var(--ui-text);-webkit-user-select:none;user-select:none;cursor:pointer}.include-checkbox.disabled .include-label{cursor:not-allowed}.indeterminate-indicator{display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:var(--ui-font-size-xs);font-weight:var(--ui-font-weight-bold);color:var(--ui-accent);background:var(--ui-accent-light);border-radius:50%}.vseg-float-panel{position:fixed;z-index:8500;width:380px;display:flex;flex-direction:column;background:var(--ui-modal-bg, #2c3e50);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md, 6px);box-shadow:0 8px 32px #00000073;overflow:hidden;-webkit-user-select:none;user-select:none;max-height:calc(100vh - 80px)}.vseg-float-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--ui-bg-tertiary, #3d5a80);border-bottom:1px solid var(--ui-border);cursor:grab;flex-shrink:0}.vseg-float-header:active{cursor:grabbing}.vseg-float-title{font-size:var(--ui-font-size-sm);font-weight:600;color:var(--ui-text);pointer-events:none}.vseg-float-close{background:none;border:none;font-size:18px;line-height:1;color:var(--ui-text-muted);cursor:pointer;padding:0 4px;border-radius:3px;transition:background var(--ui-transition-fast)}.vseg-float-close:hover{background:var(--ui-border);color:var(--ui-text)}.vseg-float-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--ui-spacing-md);min-height:0}.vseg-float-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--ui-border);background:var(--ui-modal-bg, #2c3e50);flex-shrink:0}.vseg-dialog{display:flex;flex-direction:column;gap:var(--ui-spacing-sm);width:100%}.vseg-header-controls{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--ui-spacing-md);border-bottom:1px solid var(--ui-border-light, var(--ui-border));margin-bottom:var(--ui-spacing-xs)}.vseg-check-group{display:flex;align-items:center;gap:var(--ui-spacing-sm);cursor:pointer}.vseg-check-group input[type=checkbox]{width:16px;height:16px;accent-color:var(--ui-accent);cursor:pointer}.vseg-check-group label{font-size:var(--ui-font-size-sm);color:var(--ui-text);cursor:pointer;-webkit-user-select:none;user-select:none}.vseg-section{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm, 4px);overflow:visible;margin-bottom:var(--ui-spacing-xs)}.vseg-section:last-of-type{margin-bottom:0}.vseg-section-header{width:100%;display:flex;align-items:center;gap:var(--ui-spacing-sm);padding:var(--ui-spacing-sm) var(--ui-spacing-md);background:var(--ui-bg-tertiary, var(--ui-toolbar-bg));border:none;cursor:pointer;font-size:var(--ui-font-size-sm);font-weight:600;color:var(--ui-text);text-align:left;-webkit-user-select:none;user-select:none;transition:background var(--ui-transition-fast, .15s ease)}.vseg-section-header:hover{background:var(--ui-border)}.vseg-section-arrow{font-size:10px;color:var(--ui-text-muted);transition:transform .15s ease;flex-shrink:0}.vseg-section--collapsed .vseg-section-arrow{transform:rotate(-90deg)}.vseg-section-body{padding:var(--ui-spacing-md);background:var(--ui-bg, white);overflow:visible}.vseg-subsection{margin-bottom:var(--ui-spacing-md)}.vseg-subsection:last-child{margin-bottom:0}.vseg-subsection-header{display:flex;align-items:center;gap:var(--ui-spacing-sm);margin-bottom:var(--ui-spacing-sm)}.vseg-subsection-title{font-size:var(--ui-font-size-sm);font-weight:600;color:var(--ui-text)}.vseg-form-row{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:var(--ui-spacing-sm);margin-bottom:var(--ui-spacing-sm)}.vseg-form-row:last-child{margin-bottom:0}.vseg-form-label{font-size:var(--ui-font-size-sm);color:var(--ui-text-secondary);text-align:right}.vseg-form-control{display:flex;align-items:center;gap:var(--ui-spacing-xs);overflow:visible;min-width:0}.vseg-weight-select{flex:1;height:28px;padding:0 var(--ui-spacing-sm);font-size:var(--ui-font-size-sm);font-family:inherit;background:var(--ui-input-bg, var(--ui-bg));border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm, 4px);color:var(--ui-text);cursor:pointer;transition:border-color var(--ui-transition-fast, .15s ease)}.vseg-weight-select:focus{outline:none;border-color:var(--ui-accent)}.vseg-color-field{display:flex;align-items:center;gap:var(--ui-spacing-xs);flex:1}.vseg-color-swatch{width:20px;height:20px;border:1px solid var(--ui-border);border-radius:2px;flex-shrink:0;cursor:pointer}.vseg-color-text{flex:1;min-width:0;height:28px;padding:0 var(--ui-spacing-sm);font-size:var(--ui-font-size-sm);font-family:inherit;background:var(--ui-input-bg, var(--ui-bg));border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm, 4px);color:var(--ui-text);display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;-webkit-user-select:none;user-select:none}.vseg-pattern-dropdown{position:relative;flex:1;overflow:visible}.vseg-dropdown-trigger{width:100%;height:28px;padding:0 20px 0 6px;font-size:10px;font-family:inherit;background:var(--ui-input-bg, var(--ui-bg));border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm, 4px);color:var(--ui-text);cursor:pointer;text-align:left;display:flex;align-items:center;gap:4px;position:relative;transition:border-color var(--ui-transition-fast, .15s ease);overflow:hidden}.vseg-dropdown-trigger>span:not(.vseg-dropdown-trigger-arrow){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.vseg-dropdown-trigger:hover,.vseg-dropdown-trigger:focus{border-color:var(--ui-accent);outline:none}.vseg-dropdown-trigger-arrow{position:absolute;right:6px;font-size:8px;color:var(--ui-text-muted);flex-shrink:0;pointer-events:none}.vseg-dropdown-menu{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--ui-card-bg, var(--ui-bg));border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm, 4px);box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:9000;display:none}.vseg-dropdown-menu.vseg-dropdown-menu--open{display:block}.vseg-dropdown-item{padding:var(--ui-spacing-xs) var(--ui-spacing-sm);font-size:var(--ui-font-size-sm);cursor:pointer;display:flex;align-items:center;gap:var(--ui-spacing-sm);transition:background var(--ui-transition-fast, .15s ease);white-space:nowrap}.vseg-dropdown-item:hover{background:var(--ui-bg-tertiary, var(--ui-button-hover))}.vseg-dropdown-item--selected{background:var(--ui-accent);color:#fff}.vseg-line-preview{width:32px;height:2px;flex-shrink:0;display:inline-block}.vseg-line-preview--solid{background:currentColor}.vseg-line-preview--dashed{background:repeating-linear-gradient(90deg,currentColor 0px,currentColor 6px,transparent 6px,transparent 10px)}.vseg-line-preview--dotted{background:repeating-linear-gradient(90deg,currentColor 0px,currentColor 2px,transparent 2px,transparent 5px)}.vseg-line-preview--dash-dot{background:repeating-linear-gradient(90deg,currentColor 0px,currentColor 8px,transparent 8px,transparent 12px,currentColor 12px,currentColor 14px,transparent 14px,transparent 18px)}.vseg-fill-preview{width:24px;height:16px;border:1px solid var(--ui-border);flex-shrink:0;background-size:8px 8px;display:inline-block}.vseg-fill-preview--none{background:none}.vseg-fill-preview--solid-fill{background:var(--ui-text-muted, #6a6a6a)}.vseg-fill-preview--crosshatch{background:repeating-linear-gradient(45deg,transparent,transparent 2px,var(--ui-text-muted, #6a6a6a) 2px,var(--ui-text-muted, #6a6a6a) 3px),repeating-linear-gradient(-45deg,transparent,transparent 2px,var(--ui-text-muted, #6a6a6a) 2px,var(--ui-text-muted, #6a6a6a) 3px)}.vseg-fill-preview--diagonal{background:repeating-linear-gradient(45deg,transparent,transparent 3px,var(--ui-text-muted, #6a6a6a) 3px,var(--ui-text-muted, #6a6a6a) 4px)}.vseg-fill-preview--diagonal-down{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,var(--ui-text-muted, #6a6a6a) 3px,var(--ui-text-muted, #6a6a6a) 4px)}.vseg-fill-preview--horizontal{background:repeating-linear-gradient(0deg,transparent,transparent 3px,var(--ui-text-muted, #6a6a6a) 3px,var(--ui-text-muted, #6a6a6a) 4px)}.vseg-fill-preview--vertical{background:repeating-linear-gradient(90deg,transparent,transparent 3px,var(--ui-text-muted, #6a6a6a) 3px,var(--ui-text-muted, #6a6a6a) 4px)}.vseg-fill-preview--dots{background:radial-gradient(circle,var(--ui-text-muted, #6a6a6a) 1px,transparent 1px);background-size:4px 4px}.vseg-slider-container{display:flex;align-items:center;gap:var(--ui-spacing-sm);flex:1}.vseg-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--ui-border);border-radius:2px;outline:none;cursor:pointer}.vseg-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--ui-accent);border-radius:50%;cursor:pointer;transition:transform .15s ease}.vseg-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.vseg-slider-value{width:40px;height:28px;padding:0 4px;text-align:center;font-size:var(--ui-font-size-sm);font-family:inherit;background:var(--ui-input-bg, var(--ui-bg));border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm, 4px);color:var(--ui-text)}.vseg-slider-value:focus{outline:none;border-color:var(--ui-accent)}.vseg-help-link{font-size:var(--ui-font-size-xs);color:var(--ui-accent);text-decoration:none;margin-top:var(--ui-spacing-xs);display:inline-block}.vseg-help-link:hover{text-decoration:underline}.snaps-dialog-content,.snaps-dialog-content.bg-background,div[role=dialog].snaps-dialog-content,div[role=dialog].snaps-dialog-content.bg-background,div[role=dialog][class*=snaps-dialog]{background:var(--ui-modal-bg, var(--ui-card-bg))!important;background-color:var(--ui-modal-bg, var(--ui-card-bg))!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;z-index:9999!important}.snaps-dialog-content.bg-background,[role=dialog].bg-background,.snaps-dialog-content,[role=dialog].snaps-dialog-content,[role=dialog].snaps-dialog-content.bg-background,[role=dialog][class*=snaps-dialog]{background:var(--ui-modal-bg, var(--ui-card-bg))!important;background-color:var(--ui-modal-bg, var(--ui-card-bg))!important}div[role=dialog][id^=radix-],div[role=dialog][id^=radix-][class*=bg-background],div[role=dialog][id^=radix-][class*=grid],div[role=dialog][id^=radix-][class*=fixed],div[role=dialog][id^=radix-][class*=shadow-lg],div[role=dialog][id^=radix-][style]{background:var(--ui-modal-bg, var(--ui-card-bg))!important;background-color:var(--ui-modal-bg, var(--ui-card-bg))!important;color:var(--ui-text)!important}div[role=dialog] .bg-background,div[role=dialog].bg-background,div[role=dialog][style*=background],div[role=dialog][style*=background-color]{background:var(--ui-modal-bg, var(--ui-card-bg))!important;background-color:var(--ui-modal-bg, var(--ui-card-bg))!important}[data-radix-dialog-overlay]{z-index:9998!important;background-color:color-mix(in srgb,var(--ui-text) 15%,transparent)!important;background:color-mix(in srgb,var(--ui-text) 15%,transparent)!important}[data-radix-dialog-overlay].bg-black\/50,[data-radix-dialog-overlay][class*=bg-black]{background-color:color-mix(in srgb,var(--ui-text) 15%,transparent)!important;background:color-mix(in srgb,var(--ui-text) 15%,transparent)!important}[role=dialog],[role=dialog].bg-background,.snaps-dialog-content.bg-background{background:var(--ui-modal-bg, var(--ui-card-bg))!important;background-color:var(--ui-modal-bg, var(--ui-card-bg))!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}.snaps-dialog-content [class*=bg-background],[role=dialog] [class*=bg-background],[role=dialog],[role=dialog][style*=background],[role=dialog][style*=background-color]{background:var(--ui-modal-bg, var(--ui-card-bg))!important;background-color:var(--ui-modal-bg, var(--ui-card-bg))!important}.snaps-dialog-content,.snaps-dialog-content *{color:inherit}.snaps-dialog-content{font-size:10px}.snaps-dialog-content p,.snaps-dialog-content span,.snaps-dialog-content label,.snaps-dialog-content h1,.snaps-dialog-content h2,.snaps-dialog-content h3,.snaps-dialog-content h4,.snaps-dialog-content button,.snaps-dialog-content input,.snaps-dialog-content [role=button],.snaps-dialog-content .text-lg,.snaps-dialog-content [class*=text-lg],.snaps-dialog-content .text-base,.snaps-dialog-content [class*=text-base],.snaps-dialog-content .text-sm,.snaps-dialog-content [class*=text-sm],.snaps-dialog-content [class*=text-xl],.snaps-dialog-content [class*=text-2xl]{font-size:10px!important}.snaps-dialog-content .text-xs,.snaps-dialog-content [class*=text-xs]{font-size:9px!important}.snaps-dialog-content .snaps-dialog-card,.snaps-dialog-content [class*=card]{background:var(--ui-card-bg)!important;border-color:var(--ui-border)!important;color:var(--ui-text)!important}.snaps-dialog-content input,.snaps-dialog-content input[type=text]{background:var(--ui-input-bg)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important}.snaps-dialog-content p,.snaps-dialog-content span,.snaps-dialog-content label,.snaps-dialog-content div{color:var(--ui-text)!important}.snaps-dialog-content .text-muted-foreground{color:var(--ui-text-muted)!important}.snaps-dialog-title{color:var(--ui-text);font-weight:var(--ui-font-weight-semibold, 600);font-size:11px}.snaps-dialog-description{color:var(--ui-text-muted);font-size:10px}.snaps-dialog-card{background:var(--ui-card-bg);border-color:var(--ui-border)}.snaps-dialog-card-title{color:var(--ui-text);font-size:10px;font-weight:var(--ui-font-weight-semibold, 600)}.snaps-dialog-hint{color:var(--ui-text-muted);font-size:10px;line-height:1.4}.snaps-dialog-label{color:var(--ui-text);font-size:10px;cursor:pointer}.snaps-dialog-shortcut{color:var(--ui-text-muted);font-size:9px;min-width:30px;text-align:right}.snaps-dialog-input{background:var(--ui-input-bg);border-color:var(--ui-border);color:var(--ui-text);font-size:10px;height:28px!important;padding:4px 8px!important;width:calc(100% - 12px)!important;max-width:100%!important}.snaps-dialog-input:focus{border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.snaps-dialog-input:disabled{background:var(--ui-bg-tertiary);color:var(--ui-text-disabled);cursor:not-allowed}.snaps-dialog-button{background:var(--ui-button-secondary-bg);color:var(--ui-button-secondary-text);border-color:var(--ui-border);font-size:10px;transition:all var(--ui-transition-fast, .15s);height:28px!important;padding:4px 12px!important;min-height:28px!important}.snaps-dialog-button:hover{background:var(--ui-button-secondary-hover)}.snaps-dialog-button-primary{background:var(--ui-button-bg);color:var(--ui-button-text);border-color:var(--ui-button-bg)}.snaps-dialog-button-primary:hover{background:var(--ui-button-hover);border-color:var(--ui-button-hover)}.snaps-dialog-button-link{background:transparent;border:none;color:var(--ui-text-muted);text-decoration:underline}.snaps-dialog-button-link:hover{color:var(--ui-text);background:transparent}.snaps-dialog-table-text{color:var(--ui-text-secondary);font-size:10px}.snaps-dialog-table-text-muted{color:var(--ui-text-muted);font-size:9px}.snaps-dialog-content{padding:12px!important;gap:6px!important}.snaps-dialog-content>div{margin-bottom:6px!important}.snaps-dialog-content .space-y-4{gap:6px!important}.snaps-dialog-content .space-y-3{gap:4px!important}.snaps-dialog-content .space-y-2{gap:3px!important}.snaps-dialog-content .space-y-1{gap:2px!important}.snaps-dialog-card,.snaps-dialog-card [class*=p-6]{padding:6px!important}.snaps-dialog-card [class*=pt-0]{padding-top:0!important}.snaps-dialog-card [class*=pb-3],.snaps-dialog-card [class*=pb-2]{padding-bottom:4px!important}.snaps-dialog-input.ml-6{margin-left:20px!important;width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important}.snaps-dialog-content button,.snaps-dialog-content [role=button]{height:28px!important;padding:4px 12px!important;min-height:28px!important;font-size:10px!important}.snaps-dialog-content .flex.gap-2{gap:6px!important}.snaps-dialog-card [class*=CardContent]{padding:6px!important}.snaps-dialog-content button[role=checkbox],.snaps-dialog-content [role=checkbox],.snaps-dialog-content [type=button][role=checkbox],.snaps-dialog-content button[type=button][role=checkbox]{border-width:1px!important;border:1px solid var(--ui-border, var(--ui-checkbox-border))!important;height:18px!important;width:18px!important;min-height:18px!important;min-width:18px!important;padding:0!important}.snaps-dialog-content button[role=checkbox][data-state=checked],.snaps-dialog-content [role=checkbox][data-state=checked],.snaps-dialog-content [type=button][role=checkbox][data-state=checked],.snaps-dialog-content button[type=button][role=checkbox][data-state=checked]{background-color:var(--ui-checkbox-checked, var(--ui-accent))!important;border-color:var(--ui-checkbox-checked, var(--ui-accent))!important;border-width:1px!important}.snaps-dialog-content button[role=checkbox] svg,.snaps-dialog-content [role=checkbox] svg,.snaps-dialog-content [type=button][role=checkbox] svg{width:14px!important;height:14px!important;stroke-width:2.5px!important;color:#fff!important}.snaps-dialog-content button[role=checkbox] [class*=Indicator],.snaps-dialog-content [role=checkbox] [class*=Indicator]{display:flex!important;align-items:center!important;justify-content:center!important}.levels-modal-content{max-width:380px!important;width:90vw;padding:10px 12px!important;gap:6px!important;font-size:10px;background:var(--ui-modal-bg)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;box-shadow:var(--ui-shadow-modal)!important}.levels-modal-content p,.levels-modal-content span,.levels-modal-content label,.levels-modal-content button,.levels-modal-content input,.levels-modal-content th,.levels-modal-content td,.levels-modal-content .text-lg,.levels-modal-content .text-base,.levels-modal-content .text-sm,.levels-modal-content [class*=text-lg],.levels-modal-content [class*=text-base],.levels-modal-content [class*=text-sm]{font-size:10px!important}.levels-modal-header{padding-bottom:4px}.levels-modal-title{font-size:10px!important;font-weight:600;line-height:1.2!important}.levels-modal-body{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}.levels-actions{margin-bottom:2px;flex-shrink:0}.levels-add-btn{height:24px!important;min-height:24px!important;padding:2px 8px!important;font-size:10px!important}.levels-table-wrapper{border:1px solid var(--ui-border, hsl(214.3, 31.8%, 91.4%));border-radius:var(--ui-radius-sm, 4px);overflow-y:auto;overflow-x:auto;max-height:min(280px,50vh);margin-bottom:4px;flex:1;min-height:0}.levels-table-wrapper::-webkit-scrollbar{width:6px;height:6px}.levels-table-wrapper::-webkit-scrollbar-track{background:var(--ui-bg-tertiary, hsl(210, 40%, 98%));border-radius:3px}.levels-table-wrapper::-webkit-scrollbar-thumb{background:var(--ui-border, hsl(214.3, 31.8%, 91.4%));border-radius:3px}.levels-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--ui-text-muted, hsl(215.4, 16.3%, 46.9%))}.levels-table{width:100%;border-collapse:collapse;font-size:10px}.levels-table thead{background:var(--ui-bg-secondary, hsl(210, 40%, 96.1%));position:sticky;top:0;z-index:1}.levels-table th{padding:4px 6px;text-align:left;font-weight:600;font-size:10px;color:var(--ui-text-secondary, hsl(215.4, 16.3%, 46.9%));border-bottom:1px solid var(--ui-border, hsl(214.3, 31.8%, 91.4%))}.levels-table tbody tr{transition:background-color var(--ui-transition-normal, .2s ease)}.levels-table tbody tr:hover{background:var(--ui-bg-secondary, hsl(210, 40%, 96.1%))}.levels-table tbody tr:not(:last-child) td{border-bottom:1px solid var(--ui-border-light, hsl(210, 40%, 96.1%))}.levels-table td{padding:2px 6px;color:var(--ui-text, hsl(222.2, 84%, 4.9%));font-size:10px}.level-input{width:100%;max-width:140px;padding:3px 6px;border:1px solid var(--ui-border, hsl(214.3, 31.8%, 91.4%));border-radius:var(--ui-radius-sm, 4px);background:var(--ui-input-bg, hsl(214.3, 31.8%, 91.4%));color:var(--ui-text, hsl(222.2, 84%, 4.9%));font-family:var(--ui-font-family, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif);font-size:10px;height:22px!important;min-height:22px!important;transition:all var(--ui-transition-normal, .2s ease)}.level-input[type=text]{max-width:160px}.level-input-number{max-width:72px}.levels-icon-btn{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;padding:0!important}.levels-modal-footer{padding-top:6px;gap:6px}.levels-modal-footer .levels-footer-btn,.levels-modal-footer button{height:24px!important;min-height:24px!important;padding:2px 10px!important;font-size:10px!important}.levels-modal-footer .levels-icon-btn{width:24px!important;padding:0!important}.level-input:focus{outline:none;border-color:var(--ui-accent, rgb(142, 200, 238));box-shadow:var(--ui-shadow-focus, 0 0 0 3px color-mix(in srgb, var(--ui-accent) 22%, transparent))}.level-input:disabled,.level-input[readonly]{background:var(--ui-bg-tertiary, hsl(210, 40%, 98%));color:var(--ui-text-muted, hsl(215.4, 16.3%, 46.9%));cursor:not-allowed}.delete-level-btn{color:var(--ui-error, #dc3545)}.delete-level-btn:hover{background:#dc35451a;color:var(--ui-error, #dc3545)}[data-theme=dark] .levels-table thead{background:var(--ui-bg-secondary, #2c3e50)}[data-theme=dark] .levels-table th{color:var(--ui-text-secondary, #cccccc);border-bottom-color:var(--ui-border, #3e3e42)}[data-theme=dark] .levels-table tbody tr:hover{background:var(--ui-bg-secondary, #2c3e50)}[data-theme=dark] .levels-table tbody tr:not(:last-child) td{border-bottom-color:var(--ui-border-light, #4e4e52)}[data-theme=dark] .levels-table td{color:var(--ui-text, #e0e0e0)}[data-theme=dark] .level-input{background:var(--ui-input-bg, #2c3e50);color:var(--ui-text, #e0e0e0);border-color:var(--ui-border, #3e3e42)}[data-theme=dark] .level-input:focus{border-color:var(--ui-accent, #0078d4)}[data-theme=dark] .level-input:disabled,[data-theme=dark] .level-input[readonly]{background:var(--ui-bg-tertiary, #3d5a80);color:var(--ui-text-muted, #888888)}[data-theme=dark] .levels-table-wrapper{border-color:var(--ui-border, #3e3e42)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-spacing-lg);border-bottom:1px solid var(--ui-border);flex-shrink:0}.dialog-title{margin:0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-text)}.dialog-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--ui-radius-sm);color:var(--ui-text-secondary);cursor:pointer;transition:all .2s ease}.dialog-close-btn:hover{background:var(--ui-bg-secondary);color:var(--ui-text)}.dialog-close-btn:active{transform:scale(.95)}.dialog-body{flex:1;overflow-y:auto;padding:var(--ui-spacing-lg)}.dialog-body.no-padding{padding:0}.dialog-body::-webkit-scrollbar{width:8px}.dialog-body::-webkit-scrollbar-track{background:var(--ui-bg-secondary);border-radius:var(--ui-radius-sm)}.dialog-body::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:var(--ui-radius-sm)}.dialog-body::-webkit-scrollbar-thumb:hover{background:var(--ui-text-muted)}.dialog-footer{display:flex;align-items:center;gap:var(--ui-spacing-sm);padding:var(--ui-spacing-lg);border-top:1px solid var(--ui-border);flex-shrink:0}.dialog-footer.align-left{justify-content:flex-start}.dialog-footer.align-center{justify-content:center}.dialog-footer.align-right{justify-content:flex-end}.dialog-footer.align-space-between{justify-content:space-between}.br-edit-hint{display:flex;width:100%;align-items:center;gap:5px;font-size:.74rem;color:var(--ui-text-muted);margin-bottom:12px;opacity:.8}.br-sections{display:flex;flex-direction:column;gap:12px}.br-section{background:var(--ui-bg-secondary);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:12px 14px}.br-section-title{font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ui-accent);margin:0 0 8px;padding-bottom:7px;border-bottom:1px solid var(--ui-border);display:flex;align-items:center;gap:6px}.br-section-icon{display:flex;align-items:center;opacity:.85}.br-section-count{font-size:.7rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ui-text-muted);margin-left:auto}.br-section-fields{display:flex;flex-direction:column;gap:1px}.br-boolean-toggle{display:inline-flex;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);overflow:hidden}.br-bool-btn{background:none;border:none;cursor:pointer;padding:2px 10px;font-size:.78rem;color:var(--ui-text-muted);transition:background var(--ui-transition-fast),color var(--ui-transition-fast)}.br-bool-btn+.br-bool-btn{border-left:1px solid var(--ui-border)}.br-bool-btn--active{background:var(--ui-accent);color:var(--ui-accent-contrast, white);font-weight:600}.br-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--ui-radius-sm);font-size:.8rem;cursor:default;transition:background var(--ui-transition-fast);min-height:26px}.br-row:hover{background:#00000008}[data-theme=dark] .br-row:hover,.dark-mode .br-row:hover{background:#ffffff0a}.br-row-required{background:#dc35450f!important;border-left:3px solid var(--ui-error);padding-left:9px!important}.br-row-required:hover{background:#dc354517!important}.br-row-optional{background:#ff98000d!important;border-left:3px solid var(--ui-warning);padding-left:9px!important}.br-row-optional:hover{background:#ff980014!important}.br-row-editing{background:var(--ui-accent-light)!important;border-left:3px solid var(--ui-accent);padding-left:9px!important}.br-label{flex:0 0 42%;font-weight:600;color:var(--ui-text-secondary);font-size:.78rem;-webkit-user-select:none;user-select:none}.br-value-wrap{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.br-value{color:var(--ui-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-value-na{color:var(--ui-text-muted);font-style:italic;font-size:.75rem}.br-value-required{color:var(--ui-error);font-weight:500;font-size:.75rem}.br-value-optional{color:var(--ui-warning);font-size:.75rem}.br-edit-btn{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:var(--ui-radius-sm);color:var(--ui-text-muted);opacity:0;transition:opacity var(--ui-transition-fast),color var(--ui-transition-fast);display:flex;align-items:center;flex-shrink:0}.br-row:hover .br-edit-btn{opacity:1}.br-edit-btn:hover{color:var(--ui-accent)}.br-inline-edit{display:flex;align-items:center;gap:4px;flex:1}.br-edit-input{flex:1;background:var(--ui-input-bg);border:1px solid var(--ui-border-focus);border-radius:var(--ui-radius-sm);color:var(--ui-text);font-size:.8rem;padding:2px 6px;outline:none;min-width:0}.br-edit-input:focus{box-shadow:0 0 0 2px var(--ui-accent-light)}.br-edit-confirm{background:var(--ui-success);border:none;border-radius:var(--ui-radius-sm);color:#fff;cursor:pointer;padding:3px 5px;display:flex;align-items:center;flex-shrink:0;transition:opacity var(--ui-transition-fast)}.br-edit-confirm:hover{opacity:.85}.br-missing-container{background:#dc35450f;border:1px solid rgba(220,53,69,.3);border-radius:var(--ui-radius-md);padding:10px 14px;margin-bottom:12px}.br-missing-title{margin:0 0 6px;font-size:.82rem;font-weight:700;color:var(--ui-error);display:flex;align-items:center;gap:5px}.br-missing-list{margin:0;padding-left:18px;font-size:.79rem;color:var(--ui-error);display:flex;flex-direction:column;gap:2px;opacity:.85}.br-btn-cancel{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:transparent;color:var(--ui-text-secondary);font-size:.83rem;font-weight:500;cursor:pointer;transition:all var(--ui-transition-fast)}.br-btn-cancel:hover{background:var(--ui-bg-secondary);color:var(--ui-text)}.br-btn-save{display:inline-flex;align-items:center;gap:5px;padding:7px 18px;border-radius:var(--ui-radius-md);border:none;background:var(--ui-accent);color:var(--ui-accent-contrast, white);font-size:.83rem;font-weight:600;cursor:pointer;transition:all var(--ui-transition-fast);box-shadow:0 2px 6px var(--ui-accent-light)}.br-btn-save:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.br-btn-save:disabled{background:var(--ui-text-muted);box-shadow:none;cursor:not-allowed;opacity:.6}.br-btn-export{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--ui-radius-md);border:1px solid var(--ui-border);background:transparent;color:var(--ui-text-secondary);font-size:.83rem;font-weight:500;cursor:pointer;transition:all var(--ui-transition-fast)}.br-btn-export:hover{background:var(--ui-bg-secondary);color:var(--ui-text);border-color:var(--ui-accent)}.br-modal-footer-actions{display:flex;gap:8px;justify-content:flex-end}.br-pdf-footer{margin-top:16px;padding-top:12px;border-top:2px solid var(--ui-border);font-size:.75rem;color:var(--ui-text-secondary);display:flex;justify-content:space-between;align-items:center}[data-theme=dark] .br-pdf-footer,.dark-mode .br-pdf-footer{color:var(--ui-text-muted)}.ribbon-user-export-modal__description{margin-bottom:14px;font-size:var(--ui-font-size-sm);color:var(--ui-text)}.ribbon-user-export-modal__warning{border:1px solid var(--ui-warning);border-radius:var(--ui-radius-lg);padding:12px;margin-bottom:12px;background:color-mix(in srgb,var(--ui-warning) 12%,transparent)}.ribbon-user-export-modal__warning-text{margin:0;font-size:var(--ui-font-size-sm);line-height:1.5;color:var(--ui-text)}.ribbon-user-export-modal__section{margin-bottom:12px}.ribbon-user-export-modal__label{display:block;margin-bottom:6px;font-size:var(--ui-font-size-sm);color:var(--ui-text)}.ribbon-user-export-modal__format-buttons{display:flex;gap:8px}.ribbon-user-export-modal__file-name{width:100%;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:8px 10px;font-size:var(--ui-font-size-sm);background:color-mix(in srgb,var(--ui-bg-tertiary) 70%,transparent);color:var(--ui-text)}.ribbon-user-export-modal__file-name-help{margin-top:6px;font-size:var(--ui-font-size-xs);color:var(--ui-text-muted)}.ribbon-user-export-modal__card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:12px;margin-bottom:10px;background:color-mix(in srgb,var(--ui-bg-secondary) 70%,transparent)}.ribbon-user-export-modal__card-title{margin-bottom:10px;font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-semibold);color:var(--ui-text)}.ribbon-user-export-modal__select{width:100%;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:8px 10px;font-size:var(--ui-font-size-sm);margin-bottom:10px;background:var(--ui-input-bg);color:var(--ui-text)}.ribbon-user-export-modal__checkbox{display:flex;align-items:center;gap:8px;font-size:var(--ui-font-size-sm);color:var(--ui-text)}.ribbon-user-export-modal__rvt-text{margin-bottom:0;font-size:var(--ui-font-size-sm);color:var(--ui-text)}.ribbon-panel{display:flex;flex-direction:column;background-color:var(--ui-panel-bg);border-bottom:1px solid var(--ui-border);-webkit-user-select:none;user-select:none;width:100%;height:auto;color:var(--ui-text);font-size:12px;box-shadow:0 2px 6px #00000026}.ribbon-tabs{display:flex;background-color:var(--ui-ribbon-tabs-bg);border-bottom:1px solid var(--ui-border)}.ribbon-tabs-spacer{flex:1}.ribbon-collapse-btn{display:flex;align-items:center;justify-content:center;padding:4px 8px;cursor:pointer;border:none;background:transparent;color:var(--ui-text-muted);border-left:1px solid var(--ui-border);transition:all .15s}.ribbon-collapse-btn:hover{background-color:var(--ui-ribbon-tab-hover);color:var(--ui-text)}.ribbon-user-corner{display:flex;align-items:center;justify-content:center;padding:4px 10px;cursor:pointer;border:none;background:transparent;color:var(--ui-text);border-left:1px solid var(--ui-border)}.ribbon-user-corner:hover{background-color:var(--ui-ribbon-tab-hover)}.ribbon-user-icon{width:22px;height:22px}.ribbon-user-dropdown-wrapper{position:relative;display:flex;align-items:stretch}.ribbon-user-dropdown{position:absolute;top:calc(100% + 2px);right:0;min-width:210px;background:var(--ui-panel-bg, #fff);border:1px solid var(--ui-border, #d0d0d0);border-radius:6px;box-shadow:0 4px 16px #0000002e;z-index:9999;padding:4px 0;display:flex;flex-direction:column}.ribbon-user-dropdown-header{padding:10px 14px 8px;display:flex;flex-direction:column;gap:2px}.ribbon-user-dropdown-name{font-size:13px;font-weight:600;color:var(--ui-text, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.ribbon-user-dropdown-email{font-size:11px;color:var(--ui-text-muted, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.ribbon-user-dropdown-divider{height:1px;background:var(--ui-border, #e0e0e0);margin:2px 0}.ribbon-user-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;cursor:pointer;border:none;background:transparent;color:var(--ui-text, #111);width:100%;text-align:left;transition:background-color .12s}.ribbon-user-dropdown-item:hover{background-color:var(--ui-ribbon-tab-hover, #f0f0f0)}.ribbon-user-dropdown-item--danger{color:var(--ui-danger, #c0392b)}.ribbon-user-dropdown-item--danger:hover{background-color:#c0392b14}.ribbon-tab-button{padding:6px 16px;cursor:pointer;transition:background-color .2s;font-weight:500;position:relative}.ribbon-tab-button:hover{background-color:var(--ui-ribbon-tab-hover)}.ribbon-tab-button.active{background-color:var(--ui-panel-bg);border-bottom:2px solid var(--ui-accent);font-weight:600}.ribbon-content{display:flex;padding:4px;min-height:82px;max-height:86px;overflow:hidden}.ribbon-tab{display:flex;flex:1;gap:2px}.ribbon-group{display:flex;flex-direction:column;padding:1px 3px;border-right:1px solid var(--ui-border);min-width:56px;margin-right:2px}.ribbon-group-content{display:flex;flex-wrap:wrap;gap:2px;flex:1;align-items:center;justify-content:center}.ribbon-group[data-group=cad-draw] .ribbon-group-content{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;max-width:160px}.ribbon-group[data-group=cad-draw] .ribbon-button{min-width:26px;min-height:26px;width:26px;height:26px;padding:2px}.ribbon-group[data-group=cad-draw] .ribbon-button .ribbon-button-icon{font-size:14px;margin-bottom:0}.ribbon-group[data-group=cad-draw] .ribbon-button .ribbon-button-label{display:none}.ribbon-group-title{font-size:10px;text-align:center;color:var(--ui-text-secondary);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ribbon-group-title-row{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%}.ribbon-group-title-toggle{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--ui-text-secondary);white-space:nowrap}.ribbon-group-title-toggle .ribbon-control-checkbox{width:12px;height:12px}.ribbon-button{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer;transition:all .15s ease;padding:2px;text-align:center}.ribbon-button:hover{background-color:var(--ui-ribbon-tab-hover);border-color:var(--ui-border)}.ribbon-button.active{background-color:color-mix(in srgb,var(--ui-accent) 20%,transparent);border-color:var(--ui-accent)}.ribbon-button.disabled{opacity:.5;cursor:not-allowed}.ribbon-button.icon-only{min-width:28px;min-height:28px;padding:4px}.ribbon-button.icon-only .ribbon-button-icon{font-size:16px}.ribbon-button-icon{font-size:16px;margin-bottom:2px;color:var(--ui-text)}.ribbon-button-label{font-size:10px;white-space:nowrap;overflow:visible;text-overflow:ellipsis;max-width:100%;color:var(--ui-text);display:block;min-height:12px}.ribbon-button-small{width:34px;height:34px}.ribbon-button-medium{width:46px;height:46px}.ribbon-button-large{width:60px;height:60px}.ribbon-button svg{width:14px!important;height:14px!important}.ribbon-control-grid{display:grid;gap:4px;padding:2px;align-items:start}.ribbon-control-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr));width:240px}.ribbon-control{display:flex;flex-direction:column;gap:2px;min-width:0}.ribbon-control.full{grid-column:1 / -1}.ribbon-control-row{display:flex;align-items:center;gap:6px}.ribbon-control-rows{display:flex;flex-direction:column;gap:4px;padding:2px;width:280px}.ribbon-control-hint{font-size:10px;color:var(--ui-text-secondary);white-space:nowrap}.ribbon-control-label{font-size:10px;color:var(--ui-text-secondary);display:flex;align-items:center;gap:6px;white-space:nowrap}.ribbon-control-row-label{width:44px;font-size:10px;color:var(--ui-text-secondary);flex:0 0 auto}.ribbon-control-range{width:100%}.ribbon-control-range-inline{flex:1 1 auto;width:auto;min-width:80px}.ribbon-control-number{width:100%;height:22px;border-radius:4px;padding:0 6px;border:1px solid var(--ui-border);background:var(--ui-panel-bg);color:var(--ui-text);font-size:11px}.ribbon-control-row .ribbon-control-number{width:72px}.ribbon-control-checkbox{width:14px;height:14px}.ribbon-compact{display:flex;flex-direction:column;gap:2px;padding:2px;width:170px}.ribbon-compact-label{width:34px;font-size:10px;color:var(--ui-text-secondary);flex:0 0 auto;white-space:nowrap}.ribbon-compact-number{width:56px}.ribbon-slider-stack{display:flex;flex-direction:column;gap:1px;padding:2px;width:220px}.ribbon-slider-row{display:flex;align-items:center;gap:4px;height:18px}.ribbon-slider-label{width:42px;font-size:9px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px;flex:0 0 auto;white-space:nowrap}.ribbon-slider{flex:1 1 auto;min-width:60px;height:6px;-webkit-appearance:none;appearance:none;background:var(--ui-slider-track-bg);border-radius:3px;outline:none;cursor:pointer;transition:opacity .2s;border:1px solid var(--ui-slider-track-border)}.ribbon-slider:hover{opacity:.9}.ribbon-slider:disabled{opacity:.5;cursor:not-allowed}.ribbon-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ui-accent);cursor:pointer;border:2px solid var(--ui-slider-thumb-border);box-shadow:var(--ui-shadow-slider);transition:all .2s ease}.ribbon-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:var(--ui-shadow-slider-hover)}.ribbon-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ui-accent);cursor:pointer;border:2px solid var(--ui-slider-thumb-border);box-shadow:var(--ui-shadow-slider);transition:all .2s ease}.ribbon-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:var(--ui-shadow-slider-hover)}.ribbon-slider-number{width:52px;min-height:20px;padding:2px 6px;border-radius:4px;border:1px solid var(--ui-border);background:var(--ui-input-bg);color:var(--ui-text);font-size:11px;font-weight:600;text-align:center;transition:all .2s ease}.ribbon-slider-number:hover{background:var(--ui-bg-secondary)}.ribbon-slider-number:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.ribbon-slider-number:disabled{opacity:.5;cursor:not-allowed}.ribbon-slider-number::-webkit-outer-spin-button,.ribbon-slider-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ribbon-slider-number[type=number]{-moz-appearance:textfield}.clip-section-check-label{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.clip-section-check-label:has(input:disabled){opacity:.5;cursor:not-allowed}.clip-section-select{flex:1;height:22px;padding:0 24px 0 6px;font-size:11px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm, 4px);color:var(--ui-text);font-family:inherit;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;transition:border-color .15s ease;outline:none}.clip-section-select:hover{border-color:var(--ui-accent)}.clip-section-select:focus{border-color:var(--ui-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-accent) 25%,transparent)}.clip-section-select:disabled{opacity:.5;cursor:not-allowed}.clip-section-select option{background:var(--ui-input-bg, var(--ui-bg));color:var(--ui-text)}.profile-builder-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;display:flex;align-items:center;justify-content:center}.profile-builder-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:color-mix(in srgb,var(--ui-text) 25%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999}.profile-builder-content{position:relative;width:95vw;height:95vh;background:var(--ui-modal-bg);border-radius:var(--ui-radius-xl);display:flex;flex-direction:column;box-shadow:var(--ui-shadow-modal);overflow:hidden;z-index:10001}.profile-builder-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:var(--ui-bg-tertiary);border-bottom:2px solid var(--ui-border)}.profile-info{display:flex;flex-direction:column;gap:8px;flex:1}.profile-name-input{font-size:20px;font-weight:600;color:var(--ui-accent);background:transparent;border:none;border-bottom:2px solid transparent;padding:4px 8px;outline:none;transition:border-color .2s}.profile-name-input:focus{border-bottom-color:var(--ui-accent)}.profile-description-input{font-size:14px;color:var(--ui-text-secondary);background:transparent;border:none;border-bottom:1px solid transparent;padding:4px 8px;outline:none;transition:border-color .2s}.profile-description-input:focus{border-bottom-color:var(--ui-border)}.header-actions{display:flex;gap:10px}.btn-save{background:var(--ui-success);color:var(--ui-button-text);border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-save:hover{background:color-mix(in srgb,var(--ui-success) 88%,black)}.btn-close{background:var(--ui-error);color:var(--ui-button-text);border:none;padding:10px 16px;border-radius:6px;font-size:18px;font-weight:600;cursor:pointer;transition:background .2s}.btn-close:hover{background:color-mix(in srgb,var(--ui-error) 85%,black)}.profile-builder-body{display:grid;grid-template-columns:1fr 320px;gap:15px;padding:15px;flex:1;overflow:hidden}.canvas-section{display:flex;flex-direction:column;gap:8px;background:var(--ui-bg-secondary);border-radius:8px;padding:10px;overflow:hidden}.canvas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;background:var(--ui-modal-bg);border:2px solid var(--ui-border);border-radius:8px;overflow:hidden;position:relative}.canvas-wrapper canvas{display:block}.tool-panel{display:flex;gap:8px;flex-wrap:wrap}.tool-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--ui-border);border:2px solid transparent;border-radius:4px;color:var(--ui-button-text);font-size:12px;cursor:pointer;transition:all .2s}.tool-btn:hover{background:var(--ui-button-hover);border-color:var(--ui-accent)}.tool-btn.active{background:var(--ui-button-bg);border-color:var(--ui-accent)}.tool-icon{font-size:14px}.tool-label{font-weight:500}.zoom-controls{display:flex;gap:10px;align-items:center;justify-content:center}.zoom-controls button{width:36px;height:36px;background:var(--ui-button-bg);border:none;border-radius:6px;color:var(--ui-button-text);font-size:18px;font-weight:600;cursor:pointer;transition:background .2s}.zoom-controls button:hover{background:var(--ui-button-hover)}.zoom-controls span{min-width:60px;text-align:center;color:var(--ui-accent);font-weight:600}.sidebar-section{display:flex;flex-direction:column;gap:15px;overflow-y:auto;padding-right:5px}.sidebar-section::-webkit-scrollbar{width:8px}.sidebar-section::-webkit-scrollbar-track{background:var(--ui-modal-bg);border-radius:4px}.sidebar-section::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:4px}.sidebar-section::-webkit-scrollbar-thumb:hover{background:var(--ui-border-focus)}.stats-panel,.coordinates-panel,.controls-panel{background:var(--ui-bg-secondary);border-radius:8px;padding:15px}.stats-panel h3,.coordinates-panel h3,.controls-panel h3{color:var(--ui-accent);font-size:16px;margin-bottom:12px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-item{background:var(--ui-modal-bg);padding:10px;border-radius:6px}.stat-label{color:var(--ui-text-muted);font-size:12px;margin-bottom:4px}.stat-value{color:var(--ui-accent);font-size:18px;font-weight:600}.points-table{max-height:300px;overflow-y:auto}.points-table table{width:100%;border-collapse:collapse}.points-table thead{position:sticky;top:0;background:var(--ui-bg-secondary);z-index:1}.points-table th{padding:8px;text-align:left;color:var(--ui-accent);font-weight:600;font-size:13px;border-bottom:2px solid var(--ui-border)}.points-table td{padding:6px 8px;border-bottom:1px solid var(--ui-border);font-size:13px}.points-table input[type=number],.points-table input[type=text]{width:100%;background:var(--ui-modal-bg);border:1px solid var(--ui-border);color:var(--ui-accent);padding:4px 6px;border-radius:4px;font-size:13px;font-weight:600}.points-table input[type=number]:focus,.points-table input[type=text]:focus{outline:none;border-color:var(--ui-accent)}.btn-small{padding:4px 8px;font-size:12px;background:var(--ui-button-bg);border:none;border-radius:4px;color:var(--ui-button-text);cursor:pointer;transition:background .2s}.btn-small:hover{background:var(--ui-button-hover)}.btn-small.danger{background:var(--ui-error)}.btn-small.danger:hover{background:color-mix(in srgb,var(--ui-error) 85%,black)}.control-section{margin-bottom:15px}.control-section h3{color:var(--ui-accent);font-size:14px;margin-bottom:10px}.control-group{margin-bottom:12px}.control-group label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ui-text-secondary);cursor:pointer;margin-bottom:6px}.control-group input[type=checkbox]{width:16px;height:16px;cursor:pointer}.control-group select{width:100%;background:var(--ui-modal-bg);border:1px solid var(--ui-border);color:var(--ui-text);padding:8px;border-radius:4px;font-size:13px;cursor:pointer;margin-top:6px}.control-group select:focus{outline:none;border-color:var(--ui-accent)}.plane-selector{display:flex;flex-direction:column;gap:8px;margin-top:8px}.plane-selector label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.plane-selector input[type=radio]{cursor:pointer}.action-buttons{display:flex;flex-direction:column;gap:8px}.btn-action{width:100%;padding:10px;background:var(--ui-button-bg);border:none;border-radius:6px;color:var(--ui-button-text);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-action:hover{background:var(--ui-button-hover)}.btn-action.success{background:var(--ui-success)}.btn-action.success:hover{background:color-mix(in srgb,var(--ui-success) 88%,black)}.btn-action.danger{background:var(--ui-error)}.btn-action.danger:hover{background:color-mix(in srgb,var(--ui-error) 85%,black)}.dimension-inputs{display:flex;flex-direction:column;gap:10px}.dimension-inputs .control-group{margin-bottom:0}.dimension-inputs input[type=number]{width:100%;background:var(--ui-modal-bg);border:1px solid var(--ui-border);color:var(--ui-accent);padding:8px 10px;border-radius:4px;font-size:14px;font-weight:600}.dimension-inputs input[type=number]:focus{outline:none;border-color:var(--ui-accent)}.dimension-inputs input[type=number]::placeholder{color:var(--ui-text-muted)}.dimension-row{display:flex;gap:8px;align-items:center}.polygon-inputs{display:flex;gap:8px;align-items:center;margin-left:10px;padding:4px 8px;background:var(--ui-bg-tertiary);border-radius:4px}.polygon-inputs .control-group{display:flex;align-items:center;gap:4px;margin-bottom:0}.polygon-inputs label{font-size:11px;color:var(--ui-text-muted);margin-bottom:0;white-space:nowrap}.polygon-inputs input[type=number]{width:50px;background:var(--ui-modal-bg);border:1px solid var(--ui-border);color:var(--ui-accent);padding:4px 6px;border-radius:4px;font-size:12px;text-align:center}.polygon-inputs input[type=number]:focus{outline:none;border-color:var(--ui-accent)}.family-editor{display:flex;flex-direction:column;padding:10px;height:100%;overflow-y:auto;background-color:var(--ui-bg, #1e1e1e);color:var(--ui-text, #e0e0e0)}.family-editor h2{margin-top:0;margin-bottom:20px;font-size:1.5rem;color:var(--ui-accent, #0078d4);border-bottom:1px solid var(--ui-border, #444);padding-bottom:10px}.family-editor h3{margin-top:20px;margin-bottom:10px;font-size:1.2rem;color:var(--ui-text, #e0e0e0)}.family-editor-form{flex:1}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:8px 10px;border:1px solid var(--ui-border);border-radius:4px;background-color:var(--ui-input-bg);color:var(--ui-text);font-size:.9rem}.form-group input:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.form-row{display:flex;gap:15px;margin-bottom:15px}.form-row .form-group{flex:1}.family-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:15px;border-top:1px solid var(--ui-border, #444)}.family-editor-actions button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-save{background-color:var(--ui-accent, #0078d4);color:#fff;border:none}.btn-save:hover{background-color:var(--ui-accent-hover, #106ebe)}.btn-save:disabled{background-color:var(--ui-disabled, #555);cursor:not-allowed}.btn-cancel{background-color:transparent;color:var(--ui-text, #e0e0e0);border:1px solid var(--ui-border, #444)}.btn-cancel:hover{background-color:#ffffff0d}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.family-editor-loading,.family-editor-error{display:flex;align-items:center;justify-content:center;height:100%;font-size:1rem;color:var(--ui-text, #e0e0e0)}.family-editor-error{color:var(--ui-error, #f85149)}.family-library-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.family-library-modal{background:var(--ui-bg);border-radius:var(--ui-radius-lg);width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-lg)}.family-library-header{display:flex;justify-content:space-between;align-items:center;padding:var(--ui-spacing-md) var(--ui-spacing-lg);background:var(--ui-bg-secondary);border-bottom:1px solid var(--ui-border)}.family-library-header h2{margin:0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-text)}.family-library-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--ui-text-muted);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--ui-radius-sm)}.family-library-close-btn:hover{background:var(--ui-bg-tertiary);color:var(--ui-text)}.family-library-tabs{display:flex;background:var(--ui-bg-secondary);border-bottom:1px solid var(--ui-border)}.family-library-tabs button{flex:1;padding:var(--ui-spacing-sm) var(--ui-spacing-md);background:none;border:none;cursor:pointer;font-size:var(--ui-font-size-sm);color:var(--ui-text-secondary);border-bottom:2px solid transparent;transition:all .2s}.family-library-tabs button:hover{color:var(--ui-text);background:var(--ui-bg-tertiary)}.family-library-tabs button.active{color:var(--ui-accent);border-bottom-color:var(--ui-accent);font-weight:var(--ui-font-weight-medium)}.family-library-content{flex:1;overflow-y:auto;padding:var(--ui-spacing-lg)}.family-library-error{background:#dc26261a;color:#dc2626;padding:var(--ui-spacing-sm) var(--ui-spacing-md);border-radius:var(--ui-radius-md);margin-bottom:var(--ui-spacing-md);font-size:var(--ui-font-size-sm)}.family-library-success{background:#16a34a1a;color:#16a34a;padding:var(--ui-spacing-sm) var(--ui-spacing-md);border-radius:var(--ui-radius-md);margin-bottom:var(--ui-spacing-md);font-size:var(--ui-font-size-sm)}.family-library-metadata{margin-bottom:var(--ui-spacing-lg)}.family-library-metadata h3,.family-library-selection h3,.family-library-file-input h3,.family-library-import-options h3{margin:0 0 var(--ui-spacing-md) 0;font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-text)}.form-group{margin-bottom:var(--ui-spacing-sm)}.form-group label{display:block;margin-bottom:var(--ui-spacing-xs);font-size:var(--ui-font-size-sm);color:var(--ui-text-secondary)}.form-group input{width:100%;padding:var(--ui-spacing-sm);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-input-bg);color:var(--ui-text);font-size:var(--ui-font-size-sm)}.form-group input:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-light)}.family-library-selection{margin-bottom:var(--ui-spacing-lg)}.family-library-actions{display:flex;gap:var(--ui-spacing-sm);margin-bottom:var(--ui-spacing-md);align-items:center;flex-wrap:wrap}.family-library-actions button{padding:var(--ui-spacing-xs) var(--ui-spacing-sm);background:var(--ui-button-secondary-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);cursor:pointer;font-size:var(--ui-font-size-sm);color:var(--ui-text)}.family-library-actions button:hover{background:var(--ui-button-secondary-hover)}.family-library-actions button:disabled{opacity:.5;cursor:not-allowed}.family-library-count{margin-left:auto;font-size:var(--ui-font-size-sm);color:var(--ui-text-muted)}.family-library-list{max-height:200px;overflow-y:auto;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:var(--ui-spacing-sm);background:var(--ui-bg-secondary)}.family-library-item{display:flex;align-items:center;gap:var(--ui-spacing-sm);padding:var(--ui-spacing-xs) var(--ui-spacing-sm);cursor:pointer;border-radius:var(--ui-radius-sm)}.family-library-item:hover{background:var(--ui-bg-tertiary)}.family-library-item input[type=checkbox]{cursor:pointer}.family-library-item-count{margin-left:auto;font-size:var(--ui-font-size-xs);color:var(--ui-text-muted)}.family-library-buttons{display:flex;gap:var(--ui-spacing-md)}.family-library-btn-primary,.family-library-btn-secondary{flex:1;padding:var(--ui-spacing-sm) var(--ui-spacing-md);border-radius:var(--ui-radius-md);cursor:pointer;font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);transition:all .2s}.family-library-btn-primary{background:var(--ui-accent);color:#fff;border:none}.family-library-btn-primary:hover{background:var(--ui-accent-hover)}.family-library-btn-primary:disabled{opacity:.5;cursor:not-allowed}.family-library-btn-secondary{background:var(--ui-button-secondary-bg);color:var(--ui-text);border:1px solid var(--ui-border)}.family-library-btn-secondary:hover{background:var(--ui-button-secondary-hover)}.family-library-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.family-library-file-input{margin-bottom:var(--ui-spacing-lg)}.family-library-file-input input[type=file]{padding:var(--ui-spacing-sm);border:2px dashed var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-bg-secondary);width:100%;cursor:pointer}.family-library-file-info{margin-top:var(--ui-spacing-sm);padding:var(--ui-spacing-sm);background:var(--ui-bg-secondary);border-radius:var(--ui-radius-md);font-size:var(--ui-font-size-sm);color:var(--ui-text-secondary)}.family-library-import-options{margin-bottom:var(--ui-spacing-lg)}.family-library-option{display:flex;align-items:center;gap:var(--ui-spacing-sm);margin-bottom:var(--ui-spacing-sm);cursor:pointer;font-size:var(--ui-font-size-sm);color:var(--ui-text)}.family-library-option input[type=checkbox]{cursor:pointer}.family-library-import-result{margin-top:var(--ui-spacing-lg);padding:var(--ui-spacing-md);border-radius:var(--ui-radius-md);background:var(--ui-bg-secondary)}.family-library-import-result.success{border-left:4px solid #16a34a}.family-library-import-result.partial{border-left:4px solid #f59e0b}.family-library-import-result h4{margin:0 0 var(--ui-spacing-sm) 0;font-size:var(--ui-font-size-md);color:var(--ui-text)}.family-library-result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ui-spacing-sm);margin-bottom:var(--ui-spacing-md);font-size:var(--ui-font-size-sm);color:var(--ui-text-secondary)}.family-library-errors{margin-top:var(--ui-spacing-md)}.family-library-errors h5{margin:0 0 var(--ui-spacing-xs) 0;font-size:var(--ui-font-size-sm);color:#dc2626}.family-library-errors ul{margin:0;padding-left:var(--ui-spacing-lg);font-size:var(--ui-font-size-xs);color:#dc2626}.family-library-errors li{margin-bottom:var(--ui-spacing-xs)}.family-library-stats{padding:var(--ui-spacing-md)}.family-library-stat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ui-spacing-md);margin-bottom:var(--ui-spacing-lg)}.family-library-stat-card{background:var(--ui-bg-secondary);padding:var(--ui-spacing-lg);border-radius:var(--ui-radius-lg);text-align:center;border:1px solid var(--ui-border)}.family-library-stat-value{font-size:32px;font-weight:var(--ui-font-weight-bold);color:var(--ui-accent);line-height:1}.family-library-stat-label{margin-top:var(--ui-spacing-xs);font-size:var(--ui-font-size-sm);color:var(--ui-text-secondary)}.family-library-stats h3{margin:var(--ui-spacing-lg) 0 var(--ui-spacing-md) 0;font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-semibold);color:var(--ui-text)}.family-library-category-list,.family-library-family-list{display:flex;flex-direction:column;gap:var(--ui-spacing-xs)}.family-library-category-item,.family-library-family-item{display:flex;justify-content:space-between;padding:var(--ui-spacing-sm) var(--ui-spacing-md);background:var(--ui-bg-secondary);border-radius:var(--ui-radius-md);border:1px solid var(--ui-border)}.family-library-category-name,.family-library-family-name{font-size:var(--ui-font-size-sm);color:var(--ui-text)}.family-library-category-count,.family-library-family-count{font-size:var(--ui-font-size-sm);color:var(--ui-accent);font-weight:var(--ui-font-weight-medium)}.cad-page{display:flex;flex-direction:column;width:100%;height:100%;background:var(--ui-bg);font-family:var(--ui-font-family);color:var(--ui-text);overflow:hidden}.cad-layout{display:flex;flex:1;overflow:hidden}.cad-canvas-wrapper{flex:1;position:relative;display:flex;flex-direction:column;background:var(--ui-canvas-bg);overflow:hidden}.cad-editing-header{height:28px;background:var(--ui-status-bg);color:var(--ui-text-inverse);display:flex;align-items:center;padding:0 12px;font-size:12px;gap:4px;border-bottom:1px solid rgba(255,255,255,.08);-webkit-user-select:none;user-select:none;flex-shrink:0}.cad-editing-header .editing-label{color:#ffffff73;font-size:11px}.cad-editing-header .editing-family{font-weight:600;color:#ffffffbf}.cad-editing-header .editing-sep{color:#ffffff4d}.cad-editing-header .editing-type{font-weight:700;color:#93c5fd}.cad-canvas{display:block;width:100%;flex:1;min-height:0;cursor:crosshair;background:var(--ui-canvas-bg)}.cad-status-bar{position:absolute;bottom:0;right:0;left:auto;height:30px;background:var(--ui-status-bg);color:var(--ui-text-inverse);display:flex;align-items:center;padding:0 var(--ui-spacing-md);font-size:var(--ui-font-size-xs);gap:var(--ui-spacing-lg);border-radius:4px 0 0;z-index:50}.status-coordinates{font-family:monospace;min-width:180px}.status-tool{font-weight:var(--ui-font-weight-medium)}.status-zoom{margin-left:0}.status-ortho,.status-snap{background:#fff3;padding:2px 8px;border-radius:var(--ui-radius-sm);font-weight:var(--ui-font-weight-semibold)}.status-toggle-btn{padding:2px 8px;border-radius:var(--ui-radius-sm);font-weight:var(--ui-font-weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff6;transition:background .15s,color .15s,border-color .15s}.status-toggle-btn:hover{border-color:#fff9;color:#fffc}.status-toggle-btn.active{background:#fff3;border-color:transparent;color:var(--ui-text-inverse)}.status-save-btn{padding:2px 10px;border-radius:var(--ui-radius-sm);font-weight:var(--ui-font-weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;background:#3b82f6cc;border:1px solid rgba(59,130,246,.5);color:#fff;transition:background .15s}.status-save-btn:hover{background:#2563ebe6}.status-save-btn.saving{opacity:.6;cursor:default;pointer-events:none}.cad-plane-editor{position:absolute;top:8px;left:8px;background:var(--ui-status-bg);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:8px 10px;min-width:210px;z-index:100;color:var(--ui-text-inverse);font-size:11px;box-shadow:0 4px 12px #0006}.cad-plane-editor-title{font-weight:600;margin-bottom:8px;color:#ffffff8c;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.cad-plane-editor-section{font-size:10px;color:#fff6;margin:6px 0 3px;text-transform:uppercase;letter-spacing:.4px}.cad-plane-editor-row{display:flex;align-items:center;gap:4px;margin-bottom:3px}.cad-plane-editor-label{min-width:18px;color:#ffffff80;font-family:monospace;font-size:10px}.cad-plane-editor-input{width:72px;background:#00000059;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:var(--ui-text-inverse);padding:2px 5px;font-size:11px;font-family:monospace}.cad-plane-editor-input:focus{outline:none;border-color:#3b82f6b3}.cad-properties{width:280px;background:var(--ui-sidebar-bg);border-left:1px solid var(--ui-border);padding:var(--ui-spacing-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--ui-spacing-md)}.cad-properties .ui-section{margin-bottom:0}.cad-properties .ui-section-title{font-size:var(--ui-font-size-sm);margin-bottom:var(--ui-spacing-sm);padding-bottom:var(--ui-spacing-xs);border-bottom:1px solid var(--ui-border)}.cad-properties .ui-checkbox-group{margin-bottom:var(--ui-spacing-xs)}.cad-properties .ui-form-group{margin-top:var(--ui-spacing-sm)}.cad-properties .ui-form-row{display:flex;gap:8px}.cad-properties .ui-form-group-half{flex:1;margin-top:var(--ui-spacing-xs)}.cad-properties .ui-section-subtitle{font-size:11px;font-weight:600;color:var(--ui-text-secondary);margin:8px 0 4px;text-transform:uppercase;letter-spacing:.5px}.cad-properties .ui-input{padding:8px 10px}.cad-properties .ui-btn{margin-top:var(--ui-spacing-xs);padding:8px 12px}.cad-properties .ui-list{max-height:150px}.cad-properties .ui-list-item{font-size:var(--ui-font-size-xs);padding:6px 8px}@media(max-width:1200px){.cad-properties{width:240px}}@media(max-width:900px){.cad-toolbar{width:60px}.cad-tool-btn{width:44px;height:44px}.cad-tool-btn .tool-label{display:none}.cad-properties{width:200px;padding:var(--ui-spacing-sm)}}.cad-rotation-panel{position:absolute;top:8px;right:8px;background:var(--ui-status-bg);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:10px 12px;min-width:180px;z-index:100;color:var(--ui-text-inverse);font-size:11px;box-shadow:0 4px 12px #0006}.cad-rotation-title{font-weight:600;margin-bottom:10px;color:#ffffff8c;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.cad-rotation-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.cad-rotation-label{min-width:14px;color:#ffffff80;font-family:monospace;font-size:11px;font-weight:600}.cad-rotation-input{width:70px;background:#00000059;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:var(--ui-text-inverse);padding:3px 6px;font-size:11px;font-family:monospace}.cad-rotation-input:focus{outline:none;border-color:#3b82f6b3}.cad-rotation-unit{color:#fff6;font-size:10px}.cad-rotation-buttons{display:flex;gap:6px;margin-top:10px}.cad-rotation-btn{flex:1;padding:5px 10px;border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;border:none;transition:background .15s,opacity .15s}.cad-rotation-btn:disabled{opacity:.4;cursor:not-allowed}.cad-rotation-btn-primary{background:#3b82f6cc;color:#fff}.cad-rotation-btn-primary:hover:not(:disabled){background:#2563ebe6}.cad-rotation-btn-secondary{background:#ffffff26;color:#fffc}.cad-rotation-btn-secondary:hover{background:#ffffff40}.cad-rotation-hint{margin-top:8px;font-size:9px;color:#ffc864b3;text-align:center;font-style:italic}.cad-help-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:flex-start;z-index:2147483647;padding:var(--ui-spacing-md)}.cad-help-modal{background:var(--ui-bg);border-radius:var(--ui-radius-md);box-shadow:0 12px 40px #0006;width:72vw;max-width:1100px;height:55vh;max-height:70vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--ui-border)}.cad-help-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-spacing-md) var(--ui-spacing-lg);border-bottom:1px solid var(--ui-border);flex-shrink:0}.cad-help-modal-header h3{margin:0;font-size:var(--ui-font-size-base);font-weight:600;color:var(--ui-text)}.cad-help-modal-close{width:28px;height:28px;border:none;background:transparent;color:var(--ui-text-secondary);font-size:20px;line-height:1;cursor:pointer;border-radius:var(--ui-radius-sm);padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.cad-help-modal-close:hover{background:var(--ui-bg-hover);color:var(--ui-text)}.cad-help-modal-body{padding:var(--ui-spacing-lg);overflow-y:auto;display:flex;flex-direction:column;gap:var(--ui-spacing-md)}.cad-help-modal-image{width:100%;height:auto;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border)}.cad-help-modal-text{font-size:var(--ui-font-size-sm);color:var(--ui-text);line-height:1.5}.cad-help-modal-text p{margin:0 0 8px}.cad-help-modal-text ul{margin:0 0 8px;padding-left:20px}.cad-help-modal-text li{margin-bottom:4px}.cad-help-modal-text strong{font-weight:600}.sheet-canvas-container{display:flex;flex-direction:column;width:100%;height:100%;background:var(--ui-bg-secondary, #e8e8e8);overflow:hidden}.sheet-canvas-error{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--ui-text-muted)}.sheet-canvas-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--ui-toolbar-bg, #f0f0f0);border-bottom:1px solid var(--ui-border, #e0e0e0);gap:16px;flex-shrink:0}.sheet-canvas-toolbar .toolbar-group{display:flex;gap:8px;align-items:center}.sheet-canvas-toolbar .toolbar-btn{padding:6px 12px;background:var(--ui-button-bg, #f8f8f8);color:var(--ui-button-text, #1a1a1a);border:1px solid var(--ui-border, #c0c0c0);border-radius:4px;cursor:pointer;font-size:12px;font-family:var(--ui-font-family, "Segoe UI", sans-serif);transition:background .2s ease,border-color .2s ease,color .2s ease}.sheet-canvas-toolbar .toolbar-btn{color:var(--ui-text, #1a1a1a)}.sheet-canvas-toolbar .toolbar-btn:hover{background:var(--ui-button-bg-hover, #e8e8e8);border-color:var(--ui-text-muted, #707070)}.sheet-canvas-toolbar .toolbar-btn-secondary{background:var(--ui-tabs-bg, #fafafa)}.sheet-canvas-toolbar .toolbar-btn-secondary:hover{background:var(--ui-button-bg-hover, #e8e8e8)}.sheet-canvas-toolbar .toolbar-btn-export{background:var(--ui-success, #16a34a);color:#fff;border-color:#0000001f}.sheet-canvas-toolbar .toolbar-btn-export:hover{background:#15803d;border-color:#0003}.sheet-canvas-toolbar .toolbar-btn:focus-visible{outline:2px solid var(--ui-accent, #8ec8ee);outline-offset:1px}[data-theme=dark] .sheet-canvas-toolbar .toolbar-btn{border-color:var(--ui-border, #5e7a8e);color:var(--ui-button-text, #e0e0e0)}[data-theme=dark] .sheet-canvas-toolbar .toolbar-btn-export{border-color:#ffffff1f}.sheet-canvas-toolbar .toolbar-info{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--ui-text, #2d2d2d)}.sheet-canvas-toolbar .toolbar-select{font-size:12px;padding:3px 6px;border:1px solid var(--ui-border, #d0d0d0);border-radius:4px;background:var(--ui-bg, #fff);color:var(--ui-text, #2d2d2d);cursor:pointer;outline:none}.sheet-canvas-toolbar .toolbar-select:hover{border-color:var(--ui-accent, #2563eb)}.sheet-canvas-toolbar .toolbar-select:focus{border-color:var(--ui-accent, #2563eb);box-shadow:0 0 0 2px #2563eb26}.sheet-canvas-toolbar .zoom-indicator{padding:4px 8px;background:#0000001a;border-radius:4px;font-weight:500}.sheet-canvas{flex:1;position:relative;overflow:hidden;cursor:grab;background:var(--ui-bg-secondary, #e8e8e8)}.sheet-canvas.panning{cursor:grabbing}.sheet-canvas.selection-mode{cursor:default}.sheet-canvas.selection-mode .viewport{cursor:pointer}.selection-mode-indicator{position:absolute;top:10px;left:50%;transform:translate(-50%);background:var(--ui-accent, #5a6570);color:#fff;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;z-index:1000;box-shadow:0 2px 8px #0003;pointer-events:none}.sheet-wrapper{position:absolute;transform-origin:0 0}.sheet{position:relative;background:var(--ui-bg, #ffffff);box-shadow:0 4px 20px #0000004d}.sheet.show-grid{background-image:repeating-linear-gradient(0deg,transparent,transparent 9px,#f0f0f0 9px,#f0f0f0 10px),repeating-linear-gradient(90deg,transparent,transparent 9px,#f0f0f0 9px,#f0f0f0 10px)}.viewport{position:absolute;border:none;background:transparent;overflow:hidden;transition:box-shadow .15s ease;cursor:move}.viewport:hover{box-shadow:0 0 0 2px var(--ui-text-muted, #6a6a6a)}.viewport.selected{box-shadow:0 0 0 2px var(--ui-accent, #5a6570)}.viewport.locked{border-style:dashed;cursor:default}.viewport.active-viewport{box-shadow:0 0 0 2px #2563eb,0 0 0 4px #2563eb40;cursor:default;z-index:10}.viewport-interior{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:transparent}.viewport-interior.interactive{pointer-events:auto}.viewport-interior.interactive canvas,.viewport-interior.interactive>div,.viewport-interior.interactive>div>div{pointer-events:auto!important}.viewport-active-badge{position:absolute;top:4px;left:50%;transform:translate(-50%);background:#2563eb;color:#fff;padding:2px 10px;border-radius:4px;font-size:10px;font-weight:600;pointer-events:none;z-index:200;white-space:nowrap;box-shadow:0 1px 4px #0000004d}.viewport-interior>div{width:100%!important;height:100%!important;background:transparent!important}.viewport-interior canvas{width:100%!important;height:100%!important;display:block!important;background:transparent!important}.viewport-interior>div>div{width:100%!important;height:100%!important}.viewport-title-overlay{position:absolute;bottom:2px;left:2px;padding:1px 6px;background:#ffffffd1;color:#000;border:none;font-size:9px;font-weight:500;pointer-events:none;z-index:50}.viewport-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;background:#fafafa;cursor:default;-webkit-user-select:none;user-select:none}.viewport-placeholder-icon{font-size:32px;line-height:1;color:#bbb}.viewport-placeholder-label{font-size:11px;font-weight:600;color:#555;letter-spacing:.5px;text-transform:uppercase}.viewport-placeholder-scale{font-size:10px;color:#888}.viewport-placeholder-hint{font-size:9px;color:#bbb;margin-top:4px}.viewport-lock-indicator{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#0009;color:#fff;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:12px;pointer-events:none;z-index:50}.viewport-scale-indicator{position:absolute;bottom:2px;right:2px;padding:1px 4px;background:#ffffffd1;color:#000;border:none;font-size:9px;font-weight:500;pointer-events:none;z-index:50}.resize-handle{position:absolute;z-index:100;opacity:0;transition:opacity .15s ease}.viewport.selected .resize-handle{opacity:1}.resize-handle.corner{width:10px;height:10px;background:var(--ui-accent, #5a6570);border:1px solid white}.resize-handle.corner:hover{background:var(--ui-success, #28a745);transform:scale(1.2)}.resize-handle.nw{top:-5px;left:-5px;cursor:nw-resize}.resize-handle.ne{top:-5px;right:-5px;cursor:ne-resize}.resize-handle.sw{bottom:-5px;left:-5px;cursor:sw-resize}.resize-handle.se{bottom:-5px;right:-5px;cursor:se-resize}.resize-handle.edge{background:transparent}.resize-handle.edge:hover{background:var(--ui-accent, #5a6570)}.resize-handle.n{top:-4px;left:10px;right:10px;height:8px;cursor:n-resize}.resize-handle.s{bottom:-4px;left:10px;right:10px;height:8px;cursor:s-resize}.resize-handle.e{right:-4px;top:10px;bottom:10px;width:8px;cursor:e-resize}.resize-handle.w{left:-4px;top:10px;bottom:10px;width:8px;cursor:w-resize}.rg-celleditor-input,.rg-celleditor .rg-input{width:100%;height:100%;border:0;padding:0;margin:0;background:transparent;font-size:1em;outline:none}.rg-celleditor{box-sizing:border-box;z-index:5;background-color:#fff;box-shadow:1px 1px 6px #0000000f;display:flex;border-style:solid;border-color:#3579f8;border-width:2px;padding:0 4px}.rg-number-celleditor input{text-align:right}.reactgrid-content .rg-pane .rg-cell.rg-number-cell,.reactgrid-content .rg-pane .rg-cell .rg-time-cell,.reactgrid-content .rg-pane .rg-cell .rg-date-cell{justify-content:flex-end}.reactgrid-content .rg-pane .rg-cell.rg-email-cell.rg-invalid{color:red}.reactgrid-content .rg-pane .rg-cell.rg-text-cell.placeholder{color:#999;font-size:.8em}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell{align-items:center;justify-content:center;padding:0;margin:0;background:transparent;pointer-events:auto}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell input{width:20px;height:20px}.reactgrid-content .rg-pane .rg-cell.rg-chevron-cell .chevron{pointer-events:auto;display:flex;justify-content:center;align-items:center;font-weight:700;margin-right:.1em;cursor:pointer;transition:.2s all ease-in-out;height:1em;width:1em}.reactgrid-content .rg-pane .rg-cell.rg-chevron-cell .no-child{width:.5em}.reactgrid-content .rg-pane .rg-cell.rg-chevron-cell.expanded .chevron{transform:rotate(90deg)}.reactgrid-content .rg-pane .rg-cell.rg-chevron-cell.collapsed .chevron{transform:rotate(0)}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell{justify-content:center}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label{position:relative;height:18px;width:18px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label input{position:absolute;opacity:0;cursor:pointer;margin:0;height:18px;width:18px}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell span{position:absolute;top:0;left:0;height:18px;width:18px;background-color:#eee}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label:hover input~span{background-color:#ccc}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label input:checked~span{background-color:#3579f8}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell span:after{content:"";position:absolute;display:none}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label input:checked~span:after{display:block}.reactgrid-content .rg-pane .rg-cell.rg-checkbox-cell label span:after{left:7px;top:2px;width:4px;height:12px;border:solid #ffffff;border-width:0 3px 3px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell{padding:0;overflow:visible}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell .rg-dropdown-menu{top:100%;background-color:#fff;border-radius:4px;box-shadow:0 0 7px #00000080;margin-bottom:8px;margin-top:2px;position:absolute;width:100%;z-index:1;box-sizing:border-box}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell .rg-dropdown-option{padding:.3em .5em;min-height:1.5em;display:flex;align-items:center}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell .rg-dropdown-option.selected:before{content:"✓";padding-right:.2em}.reactgrid-content .rg-pane .rg-cell.rg-dropdown-cell .rg-dropdown-option.focused{color:#000;background-color:#f1f6ff}.rg-copy-container[contenteditable]{-webkit-user-select:text;user-select:text}.reactgrid-content{user-select:none;-moz-user-select:none;-webkit-user-select:none;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;color:#000}.reactgrid-content .rg-pane.rg-pane-top,.reactgrid-content .rg-pane.rg-pane-bottom,.reactgrid-content .rg-pane.rg-pane-left,.reactgrid-content .rg-pane.rg-pane-right{position:sticky;position:-webkit-sticky;background-color:#fff}.reactgrid-content .rg-pane.rg-pane-top{top:0}.reactgrid-content .rg-pane.rg-pane-bottom{bottom:0}.reactgrid-content .rg-pane.rg-pane-left{left:0}.reactgrid-content .rg-pane.rg-pane-right{right:0}.reactgrid-content .rg-pane .rg-cell{font-size:1em;box-sizing:border-box;white-space:nowrap;position:absolute;display:flex;flex-direction:row;align-items:center;overflow:hidden;padding:0 4px;outline:none;touch-action:auto;border-color:#e8e8e8;color:#000}.reactgrid-content .rg-pane .rg-cell .rg-touch-column-resize-handle{position:absolute;top:0;right:0;width:11px;height:100%;pointer-events:auto}.reactgrid-content .rg-pane .rg-cell .rg-touch-column-resize-handle .rg-resize-handle{position:absolute;right:0;width:6px;height:100%}.reactgrid-content .rg-pane .rg-cell .rg-touch-column-resize-handle .rg-resize-handle:hover{cursor:col-resize;background-color:#3579f8}.reactgrid-content .rg-pane .rg-cell .rg-touch-row-resize-handle{position:absolute;bottom:0;left:0;height:11px;width:100%;pointer-events:auto}.reactgrid-content .rg-pane .rg-cell .rg-touch-row-resize-handle .rg-resize-handle{position:absolute;bottom:0;height:6px;width:100%}.reactgrid-content .rg-pane .rg-cell .rg-touch-row-resize-handle .rg-resize-handle:hover{cursor:row-resize;background-color:#3579f8}.reactgrid-content .rg-pane .rg-cell .rg-groupId{font-size:.8em;position:absolute;right:4px;top:4px}.reactgrid-content .rg-pane .rg-cell-focus,.reactgrid-content .rg-pane .rg-cell-highlight{position:absolute;pointer-events:none;box-sizing:border-box;border-style:solid;border-width:2px;border-color:#3579f8}.reactgrid-content .rg-pane .rg-touch-fill-handle{position:absolute;width:40px;height:40px;background-color:#ffffff03;touch-action:none;pointer-events:auto}.reactgrid-content .rg-pane .rg-touch-fill-handle .rg-fill-handle{position:absolute;cursor:crosshair;top:50%;left:50%;transform:translate(calc(-50% - .5px),calc(-50% - .5px));width:6.5px;height:6.5px;background-color:#3579f8;border-width:1px;border-style:solid;border-color:#fff;background-clip:content-box}.reactgrid-content .rg-pane .rg-partial-area{position:absolute;pointer-events:none;box-sizing:border-box}.reactgrid-content .rg-pane .rg-partial-area.rg-partial-area-part{border-width:1px;border-style:dashed;border-color:#000}.reactgrid-content .rg-pane .rg-partial-area.rg-partial-area-selected-range{border-width:1px;border-style:solid;border-color:#3579f8;background-color:#3579f859}.reactgrid-content .rg-pane-shadow{position:sticky}.reactgrid-content .rg-pane-shadow.shadow-top{pointer-events:none;top:0;box-shadow:2px 2px 3px 1px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-left{pointer-events:none;left:0;box-shadow:5px 0 3px -2px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-bottom{pointer-events:none;bottom:0;box-shadow:2px -1px 3px 1px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-right{pointer-events:none;right:0;box-shadow:-5px 0 3px -2px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-top-left-corner{box-shadow:2px 3px 3px 1px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-top-right-corner{box-shadow:-2px 2px 3px 1px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-bottom-left-corner{box-shadow:2px -2px 3px 1px #0000000f}.reactgrid-content .rg-pane-shadow.shadow-bottom-right-corner{box-shadow:-2px -2px 3px 1px #0000000f}.reactgrid-content .rg-context-menu{position:fixed;z-index:1000;background-color:#fff;font-size:1em;box-shadow:0 0 8px 2px #0000000f}.reactgrid-content .rg-context-menu .rg-context-menu-option{padding:8px 20px 8px 15px;cursor:pointer}.reactgrid-content .rg-context-menu .rg-context-menu-option:hover{background-color:#f2f2f2}.reactgrid-content .rg-shadow{position:absolute;background-color:#000;opacity:.1;z-index:4}.reactgrid-content .rg-column-resize-hint,.reactgrid-content .rg-row-resize-hint{background-color:#74b9ff;position:absolute;padding:5px;border-radius:0 5px 5px 0}.reactgrid-content .rg-line{position:absolute;background-color:#74b9ff;z-index:4}.reactgrid-content .rg-line-horizontal{left:0;height:2px}.reactgrid-content .rg-line-vertical{top:0;width:2px}.reactgrid-content .rg-hidden-element{border:0;padding:0;margin:0;position:fixed;width:1px;height:1px;opacity:0;top:50%;left:50%}.schedule-table-wrapper{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--ui-bg, #ffffff);color:var(--ui-text, #1a1a1a);overflow:auto;--schedule-zoom: 1}.schedule-table-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;background:var(--ui-bg-secondary, #f8f9fa);border-bottom:1px solid var(--ui-border, #e5e7eb);flex-shrink:0;position:sticky;top:0;z-index:20}.schedule-table-title{font-weight:600;font-size:13px;color:var(--ui-text, #1a1a1a)}.schedule-table-toolbar{display:flex;align-items:center;gap:8px}.schedule-table-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;text-align:center;color:var(--ui-text-muted, #6b7280);font-size:13px;background:var(--ui-bg, #ffffff)}.schedule-table-wrapper .reactgrid{font-size:calc(12px * var(--schedule-zoom))}.schedule-table-wrapper .rg-cell,.schedule-table-wrapper .rg-header-cell{height:calc(24px * var(--schedule-zoom));line-height:calc(24px * var(--schedule-zoom))}.schedule-table-wrapper .rg-row,.schedule-table-wrapper .rg-cell,.schedule-table-wrapper .rg-cell *,.schedule-table-wrapper .rg-cell input{background-color:var(--ui-bg, #ffffff)!important;color:var(--ui-text, #1a1a1a)!important}.schedule-table-wrapper .rg-header-cell,.schedule-table-wrapper .rg-header-cell *{background-color:var(--ui-bg-secondary, #f3f4f6)!important;color:var(--ui-text, #1a1a1a)!important;font-weight:600;font-size:12px}.schedule-table-wrapper .rg-cell-readonly,.schedule-table-wrapper .rg-cell-readonly *{background-color:var(--ui-bg-tertiary, #f0f2f5)!important;color:var(--ui-text-muted, #6b7280)!important}.schedule-table-wrapper .rg-border,.schedule-table-wrapper .rg-cell,.schedule-table-wrapper .rg-header-cell{border-color:var(--ui-border, #e5e7eb)!important}.schedule-table-wrapper .rg-selection-area{background-color:#2563eb26!important;border-color:var(--ui-accent, #2563eb)!important}.schedule-table-show-model-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;border:1px solid var(--ui-accent, #2563eb);border-radius:4px;background:transparent;color:var(--ui-accent, #2563eb);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.schedule-table-show-model-btn:hover{background:var(--ui-accent, #2563eb);color:#fff}.schedule-table-open-visualizer-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;border:1px solid var(--ui-border, #e5e7eb);border-radius:4px;background:var(--ui-bg, #ffffff);color:var(--ui-text, #1a1a1a);cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.schedule-table-open-visualizer-btn:hover{border-color:var(--ui-accent, #2563eb);color:var(--ui-accent, #2563eb);background:color-mix(in srgb,var(--ui-accent, #2563eb) 10%,transparent)}.schedule-table-selection-bar{display:flex;align-items:center;gap:8px;padding:4px 12px;background:var(--ui-bg-secondary, #f8f9fa);border-bottom:1px solid var(--ui-border, #e5e7eb);flex-shrink:0;position:sticky;top:0;z-index:20}.schedule-table-wrapper .reactgrid-content .rg-row:last-child .rg-header-cell,.schedule-table-wrapper .reactgrid-content .rg-row:last-child .rg-cell{background-color:var(--ui-bg-secondary, #f3f4f6)!important;font-weight:700!important;border-top:2px solid var(--ui-border, #e5e7eb)!important;color:var(--ui-text, #1a1a1a)!important}.schedule-table-wrapper .reactgrid-content .rg-row:not(:first-child) .rg-header-cell{background-color:var(--ui-bg-tertiary, #eef0f3)!important;color:var(--ui-text-secondary, #4a4a4a)!important;font-style:italic;font-weight:600;font-size:11px}.schedule-stripe .reactgrid-content .rg-row:nth-child(2n) .rg-cell{background-color:var(--ui-bg-secondary, #f8f9fa)!important}.schedule-no-gridlines .rg-border,.schedule-no-gridlines .rg-cell,.schedule-no-gridlines .rg-header-cell{border-color:transparent!important}.schedule-props-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:var(--ui-z-modal, 500)}.schedule-props-dialog-wrapper{background:var(--ui-modal-bg, var(--ui-card-bg, #ffffff));border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-lg, 8px);box-shadow:var(--ui-shadow-modal, 0 8px 32px rgba(0, 0, 0, .3));min-width:720px;max-width:900px;width:720px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;color:var(--ui-text, #2d2d2d)}.schedule-props-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-spacing-sm, 8px) var(--ui-spacing-lg, 24px);border-bottom:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg-secondary, #f8f9fa)}.schedule-props-dialog-header h1{font-family:var( --ui-font-family, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif );font-size:var(--ui-font-size-lg, 16px);font-weight:600;color:var(--ui-text, #2d2d2d)}.schedule-props-header-actions{display:flex;align-items:center;gap:var(--ui-spacing-sm, 8px)}.schedule-props-theme-toggle,.schedule-props-dialog-close{background:none;border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);cursor:pointer;padding:4px 8px;font-size:14px;color:var(--ui-text-muted, #6a6a6a);transition:all var(--ui-transition-normal, .2s ease)}.schedule-props-theme-toggle:hover,.schedule-props-dialog-close:hover{background:var(--ui-bg-tertiary, #f0f2f5)}.schedule-props-tabs-bar{display:flex;border-bottom:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg, #ffffff)}.schedule-props-tab-btn{background:none;border:none;padding:var(--ui-spacing-sm, 8px) var(--ui-spacing-md, 16px);font-family:var( --ui-font-family, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif );font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-secondary, #4a4a4a);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--ui-transition-normal, .2s ease);white-space:nowrap}.schedule-props-tab-btn:hover{color:var(--ui-text, #2d2d2d);background:var(--ui-bg-secondary, #f8f9fa)}.schedule-props-tab-btn.active{color:var(--ui-accent, #5a6570);border-bottom-color:var(--ui-accent, #5a6570);font-weight:600}.schedule-props-tab-content{padding:var(--ui-spacing-md, 16px) var(--ui-spacing-lg, 24px);flex:1;overflow:auto}.schedule-props-fields-tab{display:flex;flex-direction:column;gap:var(--ui-spacing-md, 16px)}.schedule-props-fields-top{display:flex;flex-direction:column;gap:var(--ui-spacing-sm, 8px)}.schedule-props-form-row{display:grid;grid-template-columns:1fr;gap:var(--ui-spacing-md, 16px)}.schedule-props-form-group{display:flex;flex-direction:column;gap:var(--ui-spacing-xs, 4px)}.schedule-props-label{font-family:var( --ui-font-family, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif );font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-secondary, #4a4a4a);font-weight:500}.schedule-props-input{width:100%;padding:6px 8px;border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-family:var( --ui-font-family, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif );font-size:var(--ui-font-size-sm, 12px)}.schedule-props-input[readonly]{background:var(--ui-bg-tertiary, #f0f2f5);color:var(--ui-text-muted, #6a6a6a)}.schedule-props-fields-columns{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--ui-spacing-md, 16px);align-items:stretch}.schedule-props-field-list-container{border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);background:var(--ui-input-bg, #ffffff);display:flex;flex-direction:column;min-height:220px;max-height:320px;overflow:hidden}.schedule-props-field-list-header{display:flex;justify-content:space-between;align-items:center;padding:var(--ui-spacing-xs, 4px) var(--ui-spacing-sm, 8px);font-family:var( --ui-font-family, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif );font-size:var(--ui-font-size-xs, 11px);color:var(--ui-text-muted, #6a6a6a);border-bottom:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg-secondary, #f8f9fa)}.schedule-props-field-list{flex:1;overflow-y:auto;padding:2px}.schedule-props-field-item{padding:2px 8px;font-family:var( --ui-font-family, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif );font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text, #2d2d2d);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:2px;transition:background var(--ui-transition-normal, .2s ease);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.schedule-props-field-item:hover{background:var(--renderer-bg-hover, var(--ui-bg-tertiary, #f0f2f5))}.schedule-props-field-item.selected{background:var(--ui-accent, #5a6570);color:var(--ui-text-inverse, #ffffff)}.schedule-props-field-empty{padding:var(--ui-spacing-sm, 8px);font-size:var(--ui-font-size-xs, 11px);color:var(--ui-text-muted, #6a6a6a);font-style:italic}.schedule-props-fields-transfer-buttons{display:flex;flex-direction:column;gap:var(--ui-spacing-xs, 4px);align-items:center;justify-content:center}.schedule-props-btn-icon{padding:3px 6px;border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);background:var(--ui-button-secondary-bg, var(--ui-bg, #ffffff));cursor:pointer;font-size:14px;color:var(--ui-button-secondary-text, var(--ui-text-secondary, #4a4a4a));transition:all var(--ui-transition-normal, .2s ease);display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:26px}.schedule-props-btn-icon:hover:not(:disabled){background:var(--ui-button-secondary-hover, var(--ui-bg-tertiary, #f0f2f5));color:var(--ui-button-secondary-text, var(--ui-text, #2d2d2d));border-color:var(--ui-border, #e0e0e0)}.schedule-props-btn-icon:disabled{opacity:.4;cursor:not-allowed}.schedule-props-fields-order-buttons{display:flex;gap:var(--ui-spacing-xs, 4px);margin-top:var(--ui-spacing-sm, 8px);justify-content:flex-end}.schedule-props-separator{border:none;border-top:1px solid var(--ui-border, #e0e0e0);margin:4px 0;width:100%}.schedule-props-placeholder-tab{font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-secondary, #4a4a4a);line-height:1.4}.schedule-props-empty{text-align:center;padding:var(--ui-spacing-md, 16px);font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-muted, #6a6a6a)}.schedule-props-dialog-footer{display:flex;justify-content:flex-end;gap:var(--ui-spacing-sm, 8px);padding:var(--ui-spacing-sm, 8px) var(--ui-spacing-lg, 24px);border-top:1px solid var(--ui-border, #e0e0e0);background:var(--ui-bg-secondary, #f8f9fa)}.schedule-props-btn{padding:6px 14px;border-radius:var(--ui-radius-sm, 4px);border:1px solid var(--ui-border, #e0e0e0);font-size:var(--ui-font-size-sm, 12px);cursor:pointer;transition:all var(--ui-transition-normal, .2s ease);background:var(--ui-button-secondary-bg, var(--ui-bg, #ffffff));color:var(--ui-button-secondary-text, var(--ui-text, #2d2d2d));display:inline-flex;align-items:center;gap:6px}.schedule-props-btn.primary{background:var(--ui-button-bg, #0078d4);color:var(--ui-button-text, #ffffff);border-color:var(--ui-button-bg, #0078d4)}.schedule-props-btn.primary:hover:not(:disabled){background:var(--ui-button-hover, #106ebe);border-color:var(--ui-button-hover, #106ebe)}[data-theme=dark] .schedule-props-btn.primary,.dark-mode .schedule-props-btn.primary{background:#8ec8ee;color:#f8fafc;border-color:#8ec8ee}[data-theme=dark] .schedule-props-btn.primary:hover:not(:disabled),.dark-mode .schedule-props-btn.primary:hover:not(:disabled){background:#7ab4da;border-color:#7ab4da}.schedule-props-btn.secondary:hover:not(:disabled){background:var(--ui-button-secondary-hover, var(--ui-bg-tertiary, #f0f2f5))}.schedule-props-btn:disabled{opacity:.5;cursor:not-allowed}.schedule-props-toolbar-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:12px;border-radius:4px;border:1px solid var(--ui-border, #e0e0e0);background:var(--ui-button-secondary-bg, transparent);color:var(--ui-button-secondary-text, var(--ui-text, #1a1a1a));cursor:pointer;transition:background .15s,color .15s}.schedule-props-toolbar-btn:hover{background:var(--ui-button-secondary-hover, var(--ui-bg-secondary, #f8f9fa))}.schedule-props-sort-tab{display:flex;flex-direction:column;gap:var(--ui-spacing-sm, 8px)}.schedule-props-sort-desc{font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-muted, #6a6a6a);margin-bottom:4px}.schedule-props-sort-section{display:flex;flex-direction:column;gap:var(--ui-spacing-sm, 8px)}.schedule-props-sort-block{display:flex;align-items:center;gap:var(--ui-spacing-sm, 8px);padding:6px 0;border-bottom:1px solid var(--ui-border, #e0e0e0)}.schedule-props-sort-label{font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-secondary, #4a4a4a);min-width:110px;flex-shrink:0}.schedule-props-sort-select{flex:1;min-width:120px;max-width:200px;padding:4px 6px;border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:var(--ui-font-size-sm, 12px)}.schedule-props-sort-radios{display:flex;gap:var(--ui-spacing-md, 16px)}.schedule-props-radio-opt{display:flex;align-items:center;gap:4px;font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text, #2d2d2d);cursor:pointer;-webkit-user-select:none;user-select:none}.schedule-props-sort-group-check{margin-left:auto;border-left:1px solid var(--ui-border, #e0e0e0);padding-left:var(--ui-spacing-sm, 8px)}.schedule-props-filter-tab{display:flex;flex-direction:column;gap:var(--ui-spacing-sm, 8px)}.schedule-props-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.schedule-props-filter-rules{display:flex;flex-direction:column;gap:6px}.schedule-props-filter-rule-row{display:flex;align-items:center;gap:var(--ui-spacing-sm, 8px);padding:4px 0}.schedule-props-filter-row-label{font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-muted, #6a6a6a);min-width:36px;flex-shrink:0}.schedule-props-filter-select{padding:4px 6px;border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);background:var(--ui-input-bg, #ffffff);color:var(--ui-text, #2d2d2d);font-size:var(--ui-font-size-sm, 12px);min-width:110px}.schedule-props-filter-op{min-width:140px}.schedule-props-filter-value,.schedule-props-filter-novalue{flex:1;min-width:80px}.schedule-props-format-tab{display:flex;flex-direction:column;gap:var(--ui-spacing-sm, 8px)}.schedule-props-format-desc{font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-muted, #6a6a6a);margin-bottom:4px}.schedule-props-format-table{display:flex;flex-direction:column;border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);overflow:hidden}.schedule-props-format-header-row{display:grid;grid-template-columns:160px 1fr 100px;gap:var(--ui-spacing-sm, 8px);padding:4px 8px;background:var(--ui-bg-secondary, #f8f9fa);border-bottom:1px solid var(--ui-border, #e0e0e0);font-size:var(--ui-font-size-xs, 11px);color:var(--ui-text-muted, #6a6a6a);font-weight:600}.schedule-props-format-row{display:grid;grid-template-columns:160px 1fr 100px;gap:var(--ui-spacing-sm, 8px);align-items:center;padding:4px 8px;border-bottom:1px solid var(--ui-border, #e0e0e0);font-size:var(--ui-font-size-sm, 12px)}.schedule-props-format-row:last-child{border-bottom:none}.schedule-props-format-field-name{font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text, #2d2d2d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-props-align-group{display:flex;gap:2px}.schedule-props-align-btn{padding:2px 7px;border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);background:var(--ui-button-secondary-bg, var(--ui-bg, #ffffff));color:var(--ui-button-secondary-text, var(--ui-text-muted, #6a6a6a));font-size:var(--ui-font-size-xs, 11px);font-weight:600;cursor:pointer;transition:all var(--ui-transition-normal, .2s ease)}.schedule-props-align-btn:hover{background:var(--ui-button-secondary-hover, var(--ui-bg-tertiary, #f0f2f5))}.schedule-props-align-btn.active{background:var(--ui-button-bg, #0078d4);color:var(--ui-button-text, #ffffff);border-color:var(--ui-button-bg, #0078d4)}.schedule-props-appearance-tab{display:flex;flex-direction:column;gap:var(--ui-spacing-md, 16px)}.schedule-props-appearance-desc{font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-muted, #6a6a6a)}.schedule-props-appearance-options{display:flex;flex-direction:column;gap:var(--ui-spacing-sm, 8px)}.schedule-props-check-opt{display:flex;align-items:center;gap:var(--ui-spacing-sm, 8px);font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text, #2d2d2d);cursor:pointer;-webkit-user-select:none;user-select:none}.schedule-props-check-opt input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--ui-accent, #5a6570)}.schedule-props-concat-section{border-top:1px solid var(--ui-border, #e0e0e0);padding-top:var(--ui-spacing-sm, 8px);display:flex;flex-direction:column;gap:var(--ui-spacing-xs, 4px)}.schedule-props-concat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.schedule-props-concat-item{display:flex;align-items:center;gap:var(--ui-spacing-sm, 8px);background:var(--ui-bg-secondary, #f8f9fa);border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);padding:4px 8px;font-size:var(--ui-font-size-sm, 12px)}.schedule-props-concat-item-label{font-weight:600;color:var(--ui-text, #2d2d2d);min-width:80px}.schedule-props-concat-item-fields{flex:1;color:var(--ui-text-muted, #6a6a6a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-props-concat-form{border:1px solid var(--ui-border, #e0e0e0);border-radius:var(--ui-radius-sm, 4px);padding:var(--ui-spacing-sm, 8px) var(--ui-spacing-md, 16px);background:var(--ui-bg-secondary, #f8f9fa);display:flex;flex-direction:column;gap:var(--ui-spacing-sm, 8px);margin-top:4px}.schedule-props-concat-form-row{display:flex;align-items:center;gap:var(--ui-spacing-sm, 8px)}.schedule-props-concat-form-label{font-size:var(--ui-font-size-sm, 12px);color:var(--ui-text-secondary, #4a4a4a);min-width:70px;flex-shrink:0}.schedule-props-concat-sep{max-width:80px}.schedule-props-concat-fields-row{align-items:flex-start}.schedule-props-concat-fields-list{display:flex;flex-wrap:wrap;gap:4px 16px;max-height:110px;overflow-y:auto;flex:1}.schedule-props-concat-form-actions{display:flex;justify-content:flex-end;gap:var(--ui-spacing-sm, 8px);padding-top:4px;border-top:1px solid var(--ui-border, #e0e0e0)}@media(max-width:800px){.schedule-props-dialog-wrapper{width:95vw;min-width:95vw}.schedule-props-fields-columns{grid-template-columns:1fr}.schedule-props-fields-transfer-buttons{flex-direction:row;justify-content:flex-start}}.schedules-panel{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--renderer-bg-primary, #fff)}.schedules-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--renderer-border, #e5e7eb);flex-shrink:0}.schedules-panel-title{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--renderer-text-primary, #1a1a1a)}.schedules-panel-btn-new{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--renderer-accent, #2563eb);background:transparent;border:1px solid var(--renderer-border, #e5e7eb);border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.schedules-panel-btn-new:hover{background:var(--renderer-bg-hover, #f3f4f6);color:var(--renderer-accent-hover, #1d4ed8)}.schedules-panel-list{flex:1;overflow-y:auto;padding:8px}.schedules-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center;color:var(--renderer-text-muted, #6b7280);font-size:13px}.schedules-panel-empty-icon{width:40px;height:40px;margin-bottom:12px;opacity:.5}.schedules-panel-empty-hint{margin-top:8px;font-size:12px;opacity:.9}.schedules-list{list-style:none;margin:0;padding:0}.schedules-list-li{display:flex;align-items:center;gap:4px;margin-bottom:2px}.schedules-list-li .schedules-list-item{flex:1;min-width:0}.schedules-list-item-delete{flex-shrink:0;padding:6px;color:var(--renderer-text-muted, #6b7280);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:color .15s,background .15s}.schedules-list-item-delete:hover{color:var(--renderer-danger, #dc2626);background:var(--renderer-bg-hover, #f3f4f6)}.schedules-list-rename{display:flex;align-items:center;gap:6px;flex:1;padding:4px 0}.schedules-list-rename-input{flex:1;padding:6px 8px;font-size:13px;border:1px solid var(--renderer-border, #e5e7eb);border-radius:4px;min-width:0}.schedules-list-rename-btn{padding:4px 8px;font-size:12px;border-radius:4px;cursor:pointer}.schedules-list-rename-btn.ok{background:var(--renderer-accent, #2563eb);color:#fff;border:none}.schedules-list-rename-btn.cancel{background:transparent;border:1px solid var(--renderer-border, #e5e7eb);color:var(--renderer-text-primary, #1a1a1a)}.schedules-list-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;text-align:left;color:var(--renderer-text-primary, #1a1a1a);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.schedules-list-item:hover{background:var(--renderer-bg-hover, #f3f4f6)}.schedules-list-item.active{background:var(--renderer-accent, #2563eb);color:#fff}.schedules-list-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedules-list-item-category{font-size:11px;opacity:.8}.schedules-list-item.active .schedules-list-item-category{opacity:.9}.schedules-context-menu{position:fixed;z-index:9999;min-width:160px;padding:4px 0;background:var(--renderer-bg-primary, #fff);border:1px solid var(--renderer-border, #e5e7eb);border-radius:6px;box-shadow:0 4px 16px #0000001f}.schedules-context-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;text-align:left;background:transparent;border:none;cursor:pointer;color:var(--renderer-text-primary, #1a1a1a);transition:background .1s}.schedules-context-menu-item:hover{background:var(--renderer-bg-hover, #f3f4f6)}.schedules-context-menu-item.danger{color:var(--renderer-danger, #dc2626)}.schedules-context-menu-item.danger:hover{background:#fef2f2}.schedules-context-menu-separator{height:1px;margin:4px 0;background:var(--renderer-border, #e5e7eb)}.sheet-canvas-view{width:100%;height:100%;display:flex;flex-direction:column}.schedule-view{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}.schedule-empty-state{display:flex;align-items:center;justify-content:center;padding:24px}.schedule-empty-state-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:360px}.schedule-empty-state-icon{width:48px;height:48px;color:var(--renderer-text-muted, #6b7280);margin-bottom:16px;opacity:.7}.schedule-empty-state-title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--renderer-text-primary, #1a1a1a)}.schedule-empty-state-text{margin:0;font-size:14px;color:var(--renderer-text-muted, #6b7280);line-height:1.5}.view-manager{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.view-tabs{display:flex;align-items:stretch;background-color:var(--ui-panel-bg);border-bottom:1px solid var(--ui-border);padding:0 4px;position:relative;z-index:200;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.view-tabs::-webkit-scrollbar{display:none}.view-tab{display:flex;align-items:center;gap:5px;padding:0 12px;height:26px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ui-text-secondary, #aaa);cursor:pointer;font-size:11px;font-weight:500;font-family:inherit;white-space:nowrap;transition:color .15s,background-color .15s,border-color .15s;flex-shrink:0}.view-tab svg{width:13px;height:13px;flex-shrink:0}.view-tab:hover{background-color:var(--ui-ribbon-tab-hover);color:var(--ui-text)}.view-tab.active{border-bottom:2px solid var(--ui-accent);color:var(--ui-text);font-weight:600}.view-tab-close{margin-left:8px;padding:2px 6px;border-radius:3px;font-size:14px;font-weight:700;color:var(--ui-text-secondary, #888);transition:all .15s ease}.view-tab-close:hover{background-color:#ff00004d;color:#f44}.view-content{flex:1;min-height:0;position:relative;overflow:hidden}.view-container{position:absolute;inset:0;background:var(--viewer-bg);z-index:0}.view-label{position:absolute;top:10px;left:10px;background-color:#00000080;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;z-index:100;pointer-events:none}.plan-view{border-top:2px solid #4caf50}.longitudinal-view{border-top:2px solid #2196f3}.transversal-view{border-top:2px solid #ff9800}.family-view{border-top:2px solid #e91e63}.family-editor-container{display:flex;width:100%;height:100%}.family-editor-panel{width:350px;height:100%;border-right:1px solid var(--ui-border, #444);overflow-y:auto;flex-shrink:0}.family-viewer-panel{flex:1;height:100%;position:relative}.cad-container{position:absolute;inset:0;background:var(--viewer-bg);z-index:0}.cad-view{border-top:2px solid #9c27b0}.split-view-container{position:absolute;inset:0;z-index:0;isolation:isolate}.split-panel{position:relative;height:100%;min-height:0;display:flex;flex-direction:column}.split-panel-label{position:absolute;top:8px;left:8px;background-color:#0078d4cc;color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;z-index:100;pointer-events:none;text-transform:uppercase;letter-spacing:.5px}.split-panel .cad-container,.split-panel .view-container{position:relative;flex:1;width:100%;height:100%}.multi-view-grid{position:absolute;inset:0;--mv-gap: 6px;--mv-split-x: 50%;--mv-split-y: 50%;padding:32px 6px 6px;background:var(--ui-canvas-bg, #0f0f0f);overflow:hidden}.multi-view-grid--compact{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:var(--mv-gap)}.multi-view-toolbar{position:absolute;top:6px;left:6px;right:6px;display:flex;gap:6px;flex-wrap:wrap;z-index:30;pointer-events:auto}.multi-view-toggle{border:1px solid var(--ui-border, #3a3a3a);background:#00000059;color:#d8d8d8;border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer}.multi-view-toggle.active{border-color:var(--ui-accent, #0078d4);color:#fff;background:color-mix(in srgb,var(--ui-accent) 40%,transparent)}.multi-view-quality{margin-left:auto;display:inline-flex;gap:4px}.multi-view-quality-btn{border:1px solid var(--ui-border, #3a3a3a);background:#00000059;color:#d8d8d8;border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer}.multi-view-quality-btn.active{border-color:var(--ui-accent, #0078d4);color:#fff;background:color-mix(in srgb,var(--ui-accent) 40%,transparent)}.multi-view-panel{position:absolute;min-width:0;min-height:0;border:1px solid var(--ui-border, #3a3a3a);background:var(--viewer-bg);overflow:hidden;pointer-events:auto}.multi-view-grid--compact .multi-view-panel{position:relative;width:auto;height:auto;inset:auto}.multi-view-grid--compact.count-1{grid-template-columns:1fr!important;grid-template-rows:1fr!important}.multi-view-grid--compact.count-2{grid-template-columns:1fr 1fr!important;grid-template-rows:1fr!important}.multi-view-grid--compact.count-3{grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important}.multi-view-panel.active{border-color:var(--ui-accent, #0078d4);box-shadow:0 0 0 1px color-mix(in srgb,var(--ui-accent) 55%,transparent)}.multi-view-panel.quadrant-tl{left:6px;top:32px;width:calc(var(--mv-split-x) - var(--mv-gap) / 2 - 6px);height:calc(var(--mv-split-y) - var(--mv-gap) / 2 - 32px)}.multi-view-panel.quadrant-tr{left:calc(var(--mv-split-x) + var(--mv-gap) / 2);right:6px;top:32px;height:calc(var(--mv-split-y) - var(--mv-gap) / 2 - 32px)}.multi-view-panel.quadrant-bl{left:6px;top:calc(var(--mv-split-y) + var(--mv-gap) / 2);width:calc(var(--mv-split-x) - var(--mv-gap) / 2 - 6px);bottom:6px}.multi-view-panel.quadrant-br{left:calc(var(--mv-split-x) + var(--mv-gap) / 2);right:6px;top:calc(var(--mv-split-y) + var(--mv-gap) / 2);bottom:6px}.multi-view-panel-label{position:absolute;top:8px;left:8px;z-index:10;pointer-events:none;background:#00000080;color:#fff;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.multi-view-splitter{position:absolute;z-index:25;pointer-events:auto}.multi-view-splitter.splitter-x{top:32px;bottom:6px;left:calc(var(--mv-split-x) - 5px);width:10px;cursor:col-resize}.multi-view-splitter.splitter-y{left:6px;right:6px;top:calc(var(--mv-split-y) - 5px);height:10px;cursor:row-resize}.split-view-hint{position:absolute;bottom:10px;right:10px;background-color:#0009;color:#aaa;padding:4px 8px;border-radius:4px;font-size:10px;z-index:100;pointer-events:none}.view-tab.split-toggle{margin-left:auto;background-color:#0078d41a;border:1px solid var(--ui-accent, #0078d4);border-radius:4px;font-size:12px;padding:4px 12px}.view-tab.split-toggle:hover{background-color:#0078d433}.view-tab.split-toggle.active{background-color:var(--ui-accent, #0078d4);color:#fff}html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}@media(hover:none)and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:#00000014}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media(max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 87%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 93%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 84%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 43%, 17%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 9%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media(prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}.wh-tab{padding:12px 8px;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;background:var(--ui-panel-bg)}.wh-tab .tab-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.wh-tab .tab-title{font-size:11px;font-weight:700;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px;margin:0}.wh-tab .form-section{display:flex;flex-direction:column;gap:6px;background:var(--ui-panel-bg);padding:8px;border-radius:4px;border:1px solid var(--ui-border);margin-bottom:8px;width:100%;max-width:100%;box-sizing:border-box}.wh-tab .section-title{font-size:10px;font-weight:700;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.3px;margin:0 0 2px}.wh-tab .section-title--highlight{color:var(--ui-accent);border-left:3px solid var(--ui-accent);padding-left:6px}.wh-tab .subsection-title{font-size:10px;font-weight:700;color:var(--ui-accent);text-transform:uppercase;letter-spacing:.4px;margin:8px 0 2px;border-bottom:1px solid var(--ui-border);padding-bottom:4px}.wh-tab .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px;width:100%;box-sizing:border-box}.wh-tab .form-row--2{grid-template-columns:1fr 1fr}.wh-tab .form-row--3{grid-template-columns:1fr 1fr 1fr}.wh-tab .form-group{display:flex;flex-direction:column;gap:3px;width:100%;max-width:100%;box-sizing:border-box;min-width:0}.wh-tab .form-group.full-width{grid-column:1 / -1}.wh-tab .wh-label{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px}.wh-tab .wh-label.required:after{content:" *";color:var(--ui-accent)}.wh-tab .wh-note{font-size:10px;color:var(--ui-text-muted);font-style:italic;margin:0;line-height:1.4}.wh-tab .wh-input,.wh-tab .wh-select{padding:0 8px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:11px;font-weight:500;font-family:inherit;transition:border-color .15s,box-shadow .15s;width:100%;max-width:100%;box-sizing:border-box;height:25px}.wh-tab .wh-select{cursor:pointer}.wh-tab .wh-input:focus,.wh-tab .wh-select:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-light)}.wh-tab .wh-input::placeholder{color:var(--ui-text-muted)}.wh-tab .wh-input:disabled,.wh-tab .wh-select:disabled{opacity:.5;cursor:not-allowed}.wh-tab .wh-textarea{padding:6px 8px;background:var(--ui-input-bg);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text);font-size:11px;font-weight:500;font-family:inherit;transition:border-color .15s,box-shadow .15s;width:100%;max-width:100%;box-sizing:border-box;min-height:64px;resize:vertical}.wh-tab .wh-textarea:focus{outline:none;border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-light)}.wh-tab .wh-textarea::placeholder{color:var(--ui-text-muted)}.wh-tab .wh-checkbox-row{display:flex;align-items:center;gap:6px;min-height:25px}.wh-tab .wh-checkbox-row input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--ui-accent);flex-shrink:0}.wh-tab .wh-checkbox-row label{font-size:10px;font-weight:600;color:var(--ui-text);text-transform:uppercase;letter-spacing:.3px;cursor:pointer;-webkit-user-select:none;user-select:none}.wh-tab .wh-mode-selector{display:flex;gap:4px;flex-wrap:wrap}.wh-tab .wh-mode-btn{flex:1;min-width:52px;padding:5px 6px;background:var(--ui-button-ghost-bg, transparent);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-secondary);font-size:10px;font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:.2px;cursor:pointer;transition:background .12s,border-color .12s,color .12s;text-align:center;white-space:nowrap}.wh-tab .wh-mode-btn:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.wh-tab .wh-mode-btn.active{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.wh-tab .mode-description{font-size:10px;color:var(--ui-text-secondary);padding:4px 7px;background:var(--ui-bg-secondary);border-radius:3px;border-left:2px solid var(--ui-accent);line-height:1.4}.wh-tab .wh-btn-primary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 12px;background:var(--ui-accent);border:1px solid var(--ui-accent);border-radius:4px;color:#fff;font-size:11px;font-weight:700;font-family:inherit;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;margin-top:4px}.wh-tab .wh-btn-primary:hover{background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.wh-tab .wh-btn-primary:active{background:var(--ui-accent-active);transform:translateY(1px)}.wh-tab .wh-btn-ghost{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-text-secondary);font-size:10px;font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:.2px;cursor:pointer;transition:border-color .12s,color .12s}.wh-tab .wh-btn-ghost:hover{border-color:var(--ui-accent);color:var(--ui-accent)}.wh-tab .vertex-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto;padding-right:2px}.wh-tab .vertex-row{display:grid;grid-template-columns:22px 1fr 1fr 22px;gap:4px;align-items:center}.wh-tab .vertex-index{font-size:9px;font-weight:700;color:var(--ui-text-muted);text-align:right;padding-right:2px;line-height:25px}.wh-tab .vertex-remove-btn{width:22px;height:22px;padding:0;background:transparent;border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text-muted);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .1s,color .1s;flex-shrink:0}.wh-tab .vertex-remove-btn:hover:not(:disabled){border-color:#e57373;color:#e57373}.wh-tab .vertex-remove-btn:disabled{opacity:.3;cursor:not-allowed}.wh-tab .fachada-grid{display:grid;grid-template-columns:52px 1fr;gap:5px 8px;align-items:center}.wh-tab .fachada-label{font-size:10px;font-weight:700;color:var(--ui-text-secondary);text-transform:uppercase;letter-spacing:.3px;text-align:right}.resize-handle{transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.resize-handle:hover{background-color:#3b82f64d!important}.resize-handle:active{background-color:#3b82f680!important}.resize-handle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:40px;background-color:#ffffff80;border-radius:1px;opacity:0;transition:opacity .2s ease}.resize-handle:hover:before{opacity:1}#right-panel-container:has(.right-panel-manager.collapsed){width:48px!important}#right-panel-container:has(.right-panel-manager.collapsed)~#view-manager-container{right:48px!important}#sidebar-left-container:has(.sidebar-collapsed)~#right-panel-container~#view-manager-container,#sidebar-left-container.collapsed~#right-panel-container~#view-manager-container{left:48px!important}.view-cube-container{position:relative;z-index:100!important}.view-cube-container:not(.zs-view-cube){width:250px;height:250px;pointer-events:none!important}.view-cube-container:not(.zs-view-cube) canvas{position:absolute;left:41px;top:-37px;pointer-events:auto!important}.view-cube-container.zs-view-cube{width:var(--zs-view-cube-size, 60px);height:var(--zs-view-cube-size, 60px);pointer-events:auto}.zs-view-cube-parent{width:100%;height:100%;perspective:400px}.zs-view-cube-cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:translateZ(-300px) var(--zs-view-cube-matrix)}.zs-view-cube-face{width:100%;height:100%;position:absolute;display:grid;grid-template-columns:var(--zs-view-cube-edge-w, 22px) 1fr var(--zs-view-cube-edge-w, 22px);grid-template-rows:var(--zs-view-cube-edge-w, 22px) 1fr var(--zs-view-cube-edge-w, 22px);-webkit-user-select:none;user-select:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;border-radius:4px;border:1px solid var(--ui-border);color:var(--ui-text);font-family:var(--ui-font-family);font-size:11px;font-weight:600;background:#8ec8ee;padding:0;overflow:hidden}.zs-vc-c{display:block;background:transparent;cursor:pointer;transition:background .12s ease}.zs-vc-c:hover,.zs-vc-c-active{background:#2896d2d9}.zs-vc-e{display:block;background:transparent;cursor:pointer;transition:background .12s ease}.zs-vc-e:hover,.zs-vc-e-active{background:#3caadcb3}.zs-vc-c-tl{grid-area:1 / 1}.zs-vc-e-t{grid-area:1 / 2}.zs-vc-c-tr{grid-area:1 / 3}.zs-vc-e-l{grid-area:2 / 1}.zs-view-cube-label{grid-area:2 / 2;display:flex;align-items:center;justify-content:center;pointer-events:none}.zs-vc-e-r{grid-area:2 / 3}.zs-vc-c-bl{grid-area:3 / 1}.zs-vc-e-b{grid-area:3 / 2}.zs-vc-c-br{grid-area:3 / 3}.zs-view-cube-face.zs-view-cube-x{background:#8ec8ee;border-color:color-mix(in srgb,rgb(142,200,238) 55%,var(--ui-border))}.zs-view-cube-face:hover{background:#8ec8ee;border-color:var(--ui-border-focus)}.zs-view-cube-face:active{background:#8ec8ee}.zs-view-cube-face-right .zs-view-cube-label{transform:rotate(-90deg)}.zs-view-cube-face-left .zs-view-cube-label{transform:rotate(90deg)}.zs-view-cube-face-top .zs-view-cube-label,.zs-view-cube-face-back .zs-view-cube-label{transform:rotate(180deg)}.zs-view-cube-face-right{translate:var(--zs-view-cube-half) 0 0;transform:rotateY(-270deg) rotateX(180deg)}.zs-view-cube-face-left{translate:calc(var(--zs-view-cube-half) * -1) 0 0;transform:rotateY(-90deg) rotateX(180deg)}.zs-view-cube-face-top{translate:0 var(--zs-view-cube-half) 0;transform:rotateX(90deg)}.zs-view-cube-face-bottom{translate:0 calc(var(--zs-view-cube-half) * -1) 0;transform:rotateX(270deg)}.zs-view-cube-face-front{translate:0 0 var(--zs-view-cube-half);transform:rotateX(180deg)}.zs-view-cube-face-back{translate:0 0 calc(var(--zs-view-cube-half) * -1);transform:rotate(180deg)}.zs-element-origin-cube .zs-origin-face-selected{box-shadow:inset 0 0 0 2px #ffaa22f2}.zs-element-origin-cube .zs-origin-face-label-active{color:#ea580c;font-weight:800}.zs-element-origin-cube .zs-element-origin-face-label{flex-direction:column;gap:2px;max-width:95%}.zs-element-origin-cube .zs-view-cube-face{font-size:14px}.app-container{display:flex;width:100%;height:100vh;min-height:100vh;background:#0f172a}.app-sidebar{width:400px;min-width:300px;max-width:600px;height:100%;background:#1e293b;border-right:1px solid #334155;display:flex;flex-direction:column;overflow:hidden}.app-sidebar-header{padding:1.5rem;background:linear-gradient(135deg,#3b82f6,#1e3a8a);border-bottom:1px solid #334155}.app-sidebar-header h1{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:#fff}.app-sidebar-header p{font-size:.875rem;color:#fffc;margin:0}.app-sidebar-content{flex:1;overflow-y:auto;padding:1.5rem}.form-placeholder{display:flex;flex-direction:column;gap:1rem}.form-placeholder h2{font-size:1.25rem;color:var(--ui-text);margin:0}.form-placeholder p{color:var(--ui-text-secondary);font-size:.875rem;margin:0}.test-controls{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.btn-primary{padding:.75rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#2563eb;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.app-main{flex:1;height:100%;position:relative}@media(max-width:768px){.app-container{flex-direction:column}.app-sidebar{width:100%;max-width:100%;height:40%;border-right:none;border-bottom:1px solid var(--ui-border)}.app-main{height:60%}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");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}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");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}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");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}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");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}:root{--ui-accent: rgb(142, 200, 238);--ui-accent-hover: rgb(122, 180, 218);--ui-accent-active: rgb(102, 160, 198);--ui-accent-light: rgba(142, 200, 238, .15);--ui-bg: hsl(0, 0%, 100%);--ui-bg-secondary: hsl(210, 40%, 96.1%);--ui-bg-tertiary: hsl(210, 40%, 98%);--ui-tabs-bg: hsl(0, 0%, 100%);--ui-sidebar-bg: hsl(210, 40%, 96.1%);--ui-modal-bg: #ffffff;--ui-card-bg: hsl(0, 0%, 100%);--ui-input-bg: hsl(214.3, 31.8%, 91.4%);--ui-toolbar-bg: hsl(210, 40%, 96.1%);--ui-canvas-bg: hsl(0, 0%, 100%);--ui-status-bg: #5dade2;--ui-panel-bg: #f5f5f5;--ui-ribbon-bg: #f5f5f5;--ui-ribbon-tabs-bg: #e8e8e8;--ui-ribbon-tab-hover: #e0e0e0;--ui-checkbox-checked: rgb(142, 200, 238);--ui-checkbox-border: hsl(214.3, 31.8%, 91.4%);--ui-checkbox-hover: rgb(122, 180, 218);--ui-text: hsl(222.2, 84%, 4.9%);--ui-text-secondary: hsl(215.4, 16.3%, 46.9%);--ui-text-muted: hsl(215.4, 16.3%, 46.9%);--ui-text-disabled: hsl(214.3, 31.8%, 91.4%);--ui-text-inverse: hsl(210, 40%, 98%);--ui-border: hsl(214.3, 31.8%, 91.4%);--ui-border-light: hsl(210, 40%, 96.1%);--ui-border-focus: hsl(215, 20.2%, 65.1%);--ui-button-bg: var(--ui-status-bg);--ui-button-hover: var(--ui-status-bg);--ui-button-active: var(--ui-status-bg);--ui-button-text: hsl(210, 40%, 98%);--ui-button-secondary-bg: var(--ui-status-bg);--ui-button-secondary-hover: var(--ui-status-bg);--ui-button-secondary-text: hsl(210, 40%, 98%);--ui-success: #28a745;--ui-warning: #ffc107;--ui-error: #dc3545;--ui-info: #17a2b8;--ui-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--ui-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--ui-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--ui-shadow-focus: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 22%, transparent);--ui-shadow-slider: 0 2px 6px rgba(0, 0, 0, .2);--ui-shadow-slider-hover: 0 2px 8px rgba(0, 0, 0, .3);--ui-shadow-modal: 0 8px 32px rgba(0, 0, 0, .3);--ui-slider-track-bg: #d0d0d0;--ui-slider-track-border: #b0b0b0;--ui-slider-thumb-border: #ffffff;--ui-info-box-bg: #f5f5f5;--ui-info-box-border: #666666;--ui-info-box-text: #333333;--ui-info-box-text-strong: #000000;--ui-modal-border: #e0e0e0;--ui-modal-hover-bg: #f5f5f5;--ui-transition-fast: .15s ease;--ui-transition-normal: .2s ease;--ui-transition-slow: .3s ease;--ui-spacing-xs: 4px;--ui-spacing-sm: 8px;--ui-spacing-md: 16px;--ui-spacing-lg: 24px;--ui-spacing-xl: 32px;--ui-radius-sm: 4px;--ui-radius-md: 6px;--ui-radius-lg: 8px;--ui-radius-xl: 12px;--ui-radius-full: 9999px;--ui-font-family: "Inter", system-ui, -apple-system, "Segoe UI", "Ubuntu", "Cantarell", sans-serif;--ui-font-size-xs: 11px;--ui-font-size-sm: 12px;--ui-font-size-md: 14px;--ui-font-size-lg: 16px;--ui-font-size-xl: 20px;--ui-font-weight-normal: 400;--ui-font-weight-medium: 500;--ui-font-weight-semibold: 600;--ui-font-weight-bold: 700;--ui-z-dropdown: 100;--ui-z-sticky: 200;--ui-z-fixed: 300;--ui-z-modal-backdrop: 400;--ui-z-modal: 500;--ui-z-popover: 600;--ui-z-tooltip: 700;--ui-z-modal-backdrop-top: 2147483646;--ui-z-modal-top: 2147483647;--renderer-bg-primary: #f5f5f5;--renderer-bg-secondary: #ffffff;--renderer-bg-tertiary: #fafafa;--renderer-bg-hover: rgba(0, 0, 0, .04);--renderer-bg-active: rgba(0, 120, 212, .08);--renderer-border: #e0e0e0;--renderer-border-light: #f0f0f0;--renderer-border-dark: #d0d0d0;--renderer-text-primary: #1a1a1a;--renderer-text-secondary: #666666;--renderer-text-muted: #999999;--renderer-text-disabled: #cccccc;--renderer-accent: #6b6b6b;--renderer-accent-hover: #555555;--renderer-accent-light: rgba(107, 107, 107, .1);--renderer-input-bg: #ffffff;--renderer-input-border: #d0d0d0;--renderer-input-focus-border: #0078d4;--renderer-input-focus-bg: #ffffff;--renderer-button-bg: #f0f0f0;--renderer-button-hover: #e0e0e0;--renderer-button-active: #d0d0d0;--renderer-button-primary-bg: #0078d4;--renderer-button-primary-hover: #106ebe;--renderer-scrollbar-track: #f0f0f0;--renderer-scrollbar-thumb: #c0c0c0;--renderer-scrollbar-thumb-hover: #a0a0a0;--renderer-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--renderer-shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--renderer-shadow-lg: 0 10px 40px rgba(0, 0, 0, .2);--renderer-icon-color: #333333;--renderer-icon-hover: #0078d4;--sidebar-bg: hsl(210, 40%, 96.1%);--border-color: hsl(214.3, 31.8%, 91.4%);--ui-accent-contrast: hsl(210, 40%, 98%);--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--primary: 221.2 83.2% 53.3%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--ring: 215 20.2% 65.1%;--viewer-bg: #f0f0f0}[data-theme=dark],.dark-mode{--ui-accent: rgb(124, 175, 197);--ui-accent-hover: rgb(144, 195, 217);--ui-accent-active: rgb(104, 155, 177);--ui-accent-light: color-mix(in srgb, var(--ui-accent) 20%, transparent);--ui-bg: #34495e;--ui-bg-secondary: #2c3e50;--ui-bg-tertiary: #3d5a80;--ui-tabs-bg: #34495e;--ui-sidebar-bg: #34495e;--ui-modal-bg: #2c3e50;--background: 210 30% 25%;--ui-card-bg: #34495e;--ui-input-bg: #2c3e50;--ui-toolbar-bg: #2c3e50;--ui-canvas-bg: #34495e;--ui-status-bg: #5dade2;--ui-text: #e0e0e0;--ui-text-secondary: #cccccc;--ui-text-muted: #888888;--ui-text-disabled: #666666;--ui-text-inverse: #1a1a1a;--ui-border: #5e7a8e;--ui-border-light: #4a6478;--ui-border-focus: var(--ui-accent);--ui-button-bg: var(--ui-status-bg);--ui-button-hover: var(--ui-status-bg);--ui-button-active: var(--ui-status-bg);--ui-button-text: #ffffff;--ui-button-secondary-bg: var(--ui-status-bg);--ui-button-secondary-hover: var(--ui-status-bg);--ui-button-secondary-text: #ffffff;--ui-success: #4caf50;--ui-warning: #ff9800;--ui-error: #f44336;--ui-info: #2196f3;--ui-shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--ui-shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--ui-shadow-lg: 0 10px 15px rgba(0, 0, 0, .4);--ui-shadow-focus: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 30%, transparent);--ui-shadow-slider: 0 2px 6px rgba(0, 0, 0, .4);--ui-shadow-slider-hover: 0 2px 8px rgba(0, 0, 0, .5);--ui-shadow-modal: 0 8px 32px rgba(0, 0, 0, .6);--ui-slider-track-bg: #3d5a80;--ui-slider-track-border: #2c3e50;--ui-slider-thumb-border: #2c3e50;--ui-info-box-bg: #2a2a2a;--ui-info-box-border: #888888;--ui-info-box-text: #e0e0e0;--ui-info-box-text-strong: #ffffff;--ui-modal-border: #333333;--ui-modal-hover-bg: #333333;--renderer-bg-primary: #34495e;--renderer-bg-secondary: #2c3e50;--renderer-bg-tertiary: #3d5a80;--renderer-bg-hover: rgba(255, 255, 255, .05);--renderer-bg-active: rgba(93, 173, 226, .15);--renderer-border: #3d5a80;--renderer-border-light: #4a6fa5;--renderer-border-dark: #2c3e50;--renderer-text-primary: #ecf0f1;--renderer-text-secondary: #bdc3c7;--renderer-text-muted: #95a5a6;--renderer-text-disabled: #7f8c8d;--renderer-accent: #5dade2;--renderer-accent-hover: #3498db;--renderer-accent-light: rgba(93, 173, 226, .2);--renderer-input-bg: #2c3e50;--renderer-input-border: #3d5a80;--renderer-input-focus-border: #5dade2;--renderer-input-focus-bg: #243342;--renderer-button-bg: #3d5a80;--renderer-button-hover: #4a6fa5;--renderer-button-active: #5dade2;--renderer-button-primary-bg: #5dade2;--renderer-button-primary-hover: #3498db;--renderer-scrollbar-track: #2c3e50;--renderer-scrollbar-thumb: #3d5a80;--renderer-scrollbar-thumb-hover: #4a6fa5;--renderer-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--renderer-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--renderer-shadow-lg: 0 10px 40px rgba(0, 0, 0, .5);--renderer-icon-color: #ecf0f1;--renderer-icon-hover: #5dade2;--sidebar-bg: #252526;--border-color: #3e3e42;--ui-accent-contrast: #ffffff;--ui-panel-bg: #34495e;--ui-ribbon-bg: #2c3e50;--ui-ribbon-tabs-bg: #2c3e50;--ui-ribbon-tab-hover: #3d5a80;--ui-checkbox-checked: rgb(122, 180, 218);--ui-checkbox-border: #3d5a80;--ui-checkbox-hover: rgb(142, 200, 238);--background: 220 14% 10%;--foreground: 210 20% 90%;--muted: 220 14% 18%;--muted-foreground: 215 16% 65%;--popover: 220 14% 12%;--popover-foreground: 210 20% 90%;--card: 220 14% 14%;--card-foreground: 210 20% 90%;--border: 220 14% 25%;--input: 220 14% 22%;--primary: 202 76% 75%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--accent: 202 76% 75%;--accent-foreground: 216 34% 17%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--ring: 224.3 76.3% 48%;--viewer-bg: #263238}.ui-container{max-width:100%;width:100%;box-sizing:border-box}.ui-card{background:var(--ui-card-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);padding:var(--ui-spacing-lg)}.ui-section{display:flex;flex-direction:column;gap:var(--ui-spacing-sm);background:color-mix(in srgb,var(--ui-tabs-bg) 75%,transparent);padding:var(--ui-spacing-lg);border-radius:var(--ui-radius-lg);border:1px solid var(--ui-border);margin-bottom:var(--ui-spacing-lg);width:100%;max-width:100%;box-sizing:border-box}.ui-title{font-size:var(--ui-font-size-xl);font-weight:var(--ui-font-weight-bold);color:var(--ui-text);margin-bottom:var(--ui-spacing-lg);text-transform:uppercase;letter-spacing:.5px}.ui-section-title{font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-bold);color:var(--ui-text-muted);margin-bottom:var(--ui-spacing-md);text-transform:uppercase;letter-spacing:.5px}.ui-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--ui-spacing-md);width:100%;box-sizing:border-box}.ui-form-group{display:flex;flex-direction:column;gap:var(--ui-spacing-sm);width:100%;max-width:100%;box-sizing:border-box;min-width:0}.ui-label{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-semibold);color:var(--ui-text);text-transform:uppercase;letter-spacing:.5px}.ui-input,.ui-select{padding:10px 12px;background:color-mix(in srgb,var(--ui-tabs-bg) 82%,transparent);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);color:var(--ui-text);font-size:var(--ui-font-size-md);font-weight:var(--ui-font-weight-medium);transition:all var(--ui-transition-normal);width:100%;max-width:100%;box-sizing:border-box}.ui-input:focus,.ui-select:focus{outline:none;border-color:var(--ui-accent);box-shadow:var(--ui-shadow-focus)}.ui-select option{background:var(--ui-tabs-bg);color:var(--ui-text)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-spacing-sm);padding:10px 16px;background:var(--ui-button-bg);border:none;border-radius:var(--ui-radius-md);color:var(--ui-button-text);font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-medium);cursor:pointer;transition:all var(--ui-transition-normal);width:100%}.ui-btn:hover{background:var(--ui-button-hover)}.ui-btn:active{background:var(--ui-button-active)}.ui-btn-secondary{background:var(--ui-button-secondary-bg);color:var(--ui-button-secondary-text);border:1px solid var(--ui-border)}.ui-btn-secondary:hover{background:var(--ui-button-secondary-hover)}.ui-checkbox-group{display:flex;align-items:center;gap:var(--ui-spacing-sm);margin-bottom:var(--ui-spacing-sm)}.ui-checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:var(--ui-accent);cursor:pointer}.ui-checkbox-group label{font-size:var(--ui-font-size-sm);color:var(--ui-text);cursor:pointer}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--ui-bg-tertiary);color:var(--ui-text);padding:6px 10px;border-radius:var(--ui-radius-sm);font-size:var(--ui-font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--ui-transition-fast);border:1px solid var(--ui-border);z-index:var(--ui-z-tooltip)}[data-tooltip]:hover:after{opacity:1}.ui-status-bar{display:flex;align-items:center;justify-content:space-between;padding:0 var(--ui-spacing-md);height:30px;background:var(--ui-status-bg);color:var(--ui-text-inverse);font-size:var(--ui-font-size-xs)}.ui-list{max-height:200px;overflow-y:auto;background:var(--ui-button-secondary-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:var(--ui-spacing-xs)}.ui-list-item{padding:var(--ui-spacing-xs) var(--ui-spacing-sm);margin:2px 0;background:var(--ui-input-bg);border-radius:var(--ui-radius-sm);cursor:pointer;font-size:var(--ui-font-size-xs);transition:background var(--ui-transition-fast)}.ui-list-item:hover{background:var(--ui-button-secondary-hover)}.ui-list-item.selected{background:var(--ui-accent);color:var(--ui-text-inverse)}.ui-empty{text-align:center;padding:var(--ui-spacing-md);color:var(--ui-text-muted);font-style:italic;font-size:var(--ui-font-size-xs)}.ui-panel-manager{display:flex;flex-direction:column;height:100%;background:var(--sidebar-bg);border-left:1px solid var(--border-color);transition:all .3s ease;position:relative;z-index:100}.ui-panel-manager.collapsed{width:48px!important;min-width:48px}.ui-panel-manager.collapsed .ui-panel-content,.ui-panel-manager.collapsed .ui-panel-tab span{display:none}.ui-panel-manager.collapsed .ui-panel-tabs{flex-direction:column;height:100%;border-bottom:none;border-right:2px solid var(--border-color)}.ui-panel-manager.collapsed .ui-panel-tab{writing-mode:vertical-rl;padding:16px 8px;border-bottom:none;border-right:3px solid transparent}.ui-panel-manager.collapsed .ui-panel-tab.active{border-right-color:var(--ui-accent);border-bottom-color:transparent}.ui-panel-tabs{display:flex;background:var(--renderer-bg-secondary);border-bottom:2px solid var(--renderer-border);padding:0;gap:0}.ui-panel-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--renderer-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.ui-panel-tab:hover{background:var(--renderer-bg-hover);color:var(--renderer-text-primary)}.ui-panel-tab.active{background:var(--renderer-bg-primary);color:var(--renderer-accent);border-bottom-color:var(--renderer-accent);font-weight:600}.ui-panel-tab svg{flex-shrink:0}.ui-panel-tab span{white-space:nowrap}.ui-panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column}@media(max-width:400px){.ui-panel-tab span{display:none}.ui-panel-tab{padding:10px 12px}}[data-radix-collection-item]{color:var(--ui-text, #333)!important}[data-radix-collection-item][data-state=active]{background-color:#0078d414!important;color:var(--ui-text, #333)!important;border-bottom:2px solid var(--ui-accent, #0078d4)!important;font-weight:600!important}[data-radix-collection-item]:hover{background-color:var(--ui-ribbon-tab-hover, #d8d8d8)!important}[data-theme=dark] [data-radix-collection-item]{color:var(--ui-text, #e0e0e0)!important}[data-theme=dark] [data-radix-collection-item][data-state=active]{background-color:#0078d433!important;color:var(--ui-text, #e0e0e0)!important}[data-theme=dark] [data-radix-collection-item]:hover{background-color:var(--ui-ribbon-tab-hover, #333333)!important}div[role=dialog][id^=radix-]{background:var(--ui-modal-bg)!important;background-color:var(--ui-modal-bg)!important;color:var(--ui-text)!important}div[role=dialog][id^=radix-].bg-background,div[role=dialog].bg-background{background:var(--ui-modal-bg)!important;background-color:var(--ui-modal-bg)!important}.family-3d-form .form-select,.family-3d-modal .form-select,.family-3d-form .selector-select,.family-3d-modal .selector-select,.profile-selection-section .selector-select{background:var(--ui-input-bg)!important;color:var(--ui-text)!important;border-color:var(--ui-border)}.family-3d-form .form-select:focus,.family-3d-modal .form-select:focus,.family-3d-form .selector-select:focus,.family-3d-modal .selector-select:focus,.profile-selection-section .selector-select:focus{border-color:var(--ui-accent);outline:none}.family-3d-form .form-select option,.family-3d-modal .form-select option,.family-3d-form .selector-select option,.family-3d-modal .selector-select option,.profile-selection-section .selector-select option{background:var(--ui-input-bg);color:var(--ui-text)}@tailwind base;@tailwind components;@tailwind utilities;*{margin:0;padding:0;box-sizing:border-box}@layer base{:root{--radius: .5rem}}html,body,#root{width:100%;height:100vh;overflow:hidden}body{font-family:var(--ui-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--viewer-bg);color:var(--ui-text)}.driver-popover,.driver-popover *{font-family:var(--ui-font-family)!important}canvas{outline:none;display:block}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}
