:root{--bp-bg-deep: #f0f4f8;--bp-bg: #ffffff;--bp-bg-surface: #ffffff;--bp-bg-elevated: #f7f9fc;--bp-border: #d0dbe8;--bp-border-light: #b8c9dc;--bp-grid: rgba(30, 80, 150, .06);--bp-sidebar-bg: #102a4a;--bp-sidebar-hover: #183558;--bp-sidebar-text: #a0b8d0;--bp-sidebar-bright:#e8f1fa;--bp-text: #2c3e50;--bp-text-muted: #7a8fa3;--bp-text-bright: #1a2b3c;--bp-text-heading: #0f2440;--bp-accent: #1a6fc4;--bp-accent-hover: #1480e0;--bp-accent-dim: rgba(26, 111, 196, .08);--bp-accent-light: rgba(26, 111, 196, .12);--bp-success: #16a34a;--bp-success-bg: rgba(22, 163, 74, .08);--bp-warning: #ca8a04;--bp-warning-bg: rgba(202, 138, 4, .08);--bp-error: #dc2626;--bp-error-bg: rgba(220, 38, 38, .08);--bp-info: #1a6fc4;--bp-info-bg: rgba(26, 111, 196, .08);--bp-sidebar-w: 240px;--bp-radius: 6px;--bp-radius-lg: 10px;--bp-font: "IBM Plex Mono", "Fira Code", "Consolas", monospace;--bp-font-sans: "Inter", "IBM Plex Sans", -apple-system, sans-serif;--bp-font-size-xs: .7rem;--bp-font-size-sm: .8rem;--bp-font-size-md: .875rem;--bp-font-size-lg: 1.1rem;--bp-font-size-xl: 1.4rem;--bp-font-size-2xl: 1.8rem;--bp-grid-size: 24px;--bp-grid-color: rgba(26, 111, 196, .05);--bp-grid-color-major: rgba(26, 111, 196, .1);--bp-shadow-sm: 0 1px 3px rgba(0,0,0,.06);--bp-shadow-md: 0 2px 8px rgba(0,0,0,.08);--bp-shadow-lg: 0 4px 16px rgba(0,0,0,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:var(--bp-font-sans);font-size:var(--bp-font-size-md);color:var(--bp-text);background:var(--bp-bg-deep);-webkit-font-smoothing:antialiased}.bp-grid-bg{background-color:var(--bp-bg-deep);background-image:linear-gradient(var(--bp-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--bp-grid-color) 1px,transparent 1px),linear-gradient(var(--bp-grid-color-major) 1px,transparent 1px),linear-gradient(90deg,var(--bp-grid-color-major) 1px,transparent 1px);background-size:var(--bp-grid-size) var(--bp-grid-size),var(--bp-grid-size) var(--bp-grid-size),calc(var(--bp-grid-size) * 5) calc(var(--bp-grid-size) * 5),calc(var(--bp-grid-size) * 5) calc(var(--bp-grid-size) * 5)}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-layout{display:flex;flex:1;min-height:0;overflow:hidden}.app-banner{flex-shrink:0;padding:4px 16px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;justify-content:center}html.impersonating{--bp-sidebar-bg: #432b0c;--bp-sidebar-hover: #5a3a11;--bp-sidebar-text: #e3cba6;--bp-sidebar-bright:#fdf3e4;--bp-accent: #b45309;--bp-accent-hover: #d97706;--bp-accent-dim: rgba(180, 83, 9, .08);--bp-accent-light: rgba(180, 83, 9, .14);--bp-bg-deep: #fbf7f0;--bp-bg-elevated: #fdf7ee;--bp-border: #e5d6bd;--bp-border-light: #d8c3a2;--bp-grid: rgba(180, 83, 9, .07);--bp-grid-color: rgba(180, 83, 9, .06);--bp-grid-color-major: rgba(180, 83, 9, .11);--bp-info: #b45309;--bp-info-bg: rgba(180, 83, 9, .08)}html.impersonating .sidebar-logo span{color:#f0b37e}.sidebar-impersonation{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.6rem;letter-spacing:.5px;text-transform:uppercase;color:#f7c886}.sidebar-impersonation button{background:#ffffff1a;color:#fdf3e4;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:1px 6px;font-size:.6rem;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;flex-shrink:0}.sidebar-impersonation button:hover{background:#ffffff2e}html.native-shell #root{padding:var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) var(--safe-area-inset-right, env(safe-area-inset-right, 0px)) var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)) var(--safe-area-inset-left, env(safe-area-inset-left, 0px));background:var(--bp-sidebar-bg)}html.native-shell .app-shell,html.native-shell .field-app{height:100%}.sidebar{width:var(--bp-sidebar-w);background:var(--bp-sidebar-bg);border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo{font-family:var(--bp-font);font-size:var(--bp-font-size-xl);font-weight:700;color:#fff;letter-spacing:2px;text-transform:uppercase}.sidebar-logo span{color:#5ba3e6}.sidebar-subtitle{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-sidebar-text);letter-spacing:3px;text-transform:uppercase;margin-top:4px}.sidebar-nav{flex:1;padding:12px 0;list-style:none;overflow-y:auto}.sidebar-nav li{margin:2px 8px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 12px;color:var(--bp-sidebar-text);text-decoration:none;font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);font-weight:500;letter-spacing:.3px;border-radius:var(--bp-radius);border:1px solid transparent;transition:all .15s ease}.sidebar-link:hover{color:var(--bp-sidebar-bright);background:var(--bp-sidebar-hover);border-color:#ffffff0f}.sidebar-link.active{color:#fff;background:var(--bp-accent);border-color:var(--bp-accent)}.sidebar-link-icon{font-size:1rem;width:20px;text-align:center}.sidebar-link-child{padding:6px 12px 6px 32px!important;font-size:calc(var(--bp-font-size-sm) - 1px)!important;opacity:.85}.sidebar-link-child:hover{opacity:1}.sidebar-link.child-active{color:var(--bp-sidebar-bright)!important;background:#ffffff0a}.sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-sidebar-text);letter-spacing:1px}.sidebar-status{display:flex;align-items:center;gap:6px}.sidebar-status-dot{width:6px;height:6px;border-radius:50%;background:var(--bp-success);box-shadow:0 0 6px var(--bp-success)}.sidebar-org-selector{margin:12px 16px;padding:8px 10px;background:var(--bp-sidebar-hover);border:1px solid rgba(255,255,255,.1);border-radius:var(--bp-radius);color:var(--bp-sidebar-bright);font-family:var(--bp-font-sans);font-size:var(--bp-font-size-xs);width:calc(100% - 32px);cursor:pointer}.app-sidebar-toggle{position:relative;z-index:10;width:12px;min-width:12px;height:auto;align-self:stretch;padding:0;margin:0;border:none;background:#f59e0b;color:#1a1a2e;font-size:10px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;border-radius:0;flex-shrink:0}.app-sidebar-toggle:hover{background:#d97706}.main-content{flex:1;overflow:auto}.page{padding:28px 32px;min-height:100%}.page-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--bp-border)}.page-title{font-family:var(--bp-font-sans);font-size:var(--bp-font-size-2xl);font-weight:700;color:var(--bp-text-heading);letter-spacing:-.3px}.page-title:before{content:"";display:inline-block;width:4px;height:24px;background:var(--bp-accent);border-radius:2px;margin-right:12px;vertical-align:middle}.page-desc{margin-top:6px;font-size:var(--bp-font-size-sm);color:var(--bp-text-muted)}.bp-search-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px}.bp-search-input{flex:1;padding:9px 14px 9px 36px;font-family:var(--bp-font-sans);font-size:var(--bp-font-size-md);color:var(--bp-text);background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--bp-radius);box-shadow:var(--bp-shadow-sm);transition:border-color .15s ease,box-shadow .15s ease}.bp-search-input:focus{outline:none;border-color:var(--bp-accent);box-shadow:0 0 0 3px var(--bp-accent-dim)}.bp-search-wrapper{position:relative;flex:1}.bp-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--bp-text-muted);font-size:14px;pointer-events:none}.bp-filter-panel{background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--bp-radius-lg);padding:16px;margin-bottom:16px;box-shadow:var(--bp-shadow-sm)}.bp-filter-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.bp-filter-row:last-child{margin-bottom:0}.bp-filter-field{padding:6px 10px;font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);color:var(--bp-text);background:var(--bp-bg-elevated);border:1px solid var(--bp-border);border-radius:var(--bp-radius);min-width:140px}.bp-filter-op{padding:6px 8px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-accent);background:var(--bp-bg-elevated);border:1px solid var(--bp-border);border-radius:var(--bp-radius);min-width:100px}.bp-filter-value{flex:1;padding:6px 10px;font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);color:var(--bp-text);background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--bp-radius)}.bp-filter-remove{padding:4px 8px;background:none;border:1px solid var(--bp-border);border-radius:var(--bp-radius);color:var(--bp-text-muted);cursor:pointer;font-size:14px}.bp-filter-remove:hover{color:var(--bp-error);border-color:var(--bp-error)}.bp-filter-actions{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--bp-border)}.bp-card{background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--bp-radius-lg);padding:20px;box-shadow:var(--bp-shadow-sm);transition:box-shadow .15s ease,border-color .15s ease}.bp-card:hover{box-shadow:var(--bp-shadow-md);border-color:var(--bp-border-light)}.bp-card-header{font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);font-weight:600;color:var(--bp-text-bright);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--bp-accent-light)}.bp-card-value{font-family:var(--bp-font);font-size:var(--bp-font-size-2xl);font-weight:700;color:var(--bp-accent)}.bp-card-label{font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.bp-input{font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);padding:6px 10px;border-radius:var(--bp-radius);border:1px solid var(--bp-border);background:var(--bp-bg);color:var(--bp-text-bright);transition:border-color .15s}.bp-input:focus{outline:none;border-color:var(--bp-accent);box-shadow:0 0 0 2px #3b82f626}.bp-select{font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);padding:6px 10px;border-radius:var(--bp-radius);border:1px solid var(--bp-border);background:var(--bp-bg);color:var(--bp-text-bright);cursor:pointer}.bp-select:focus{outline:none;border-color:var(--bp-accent)}.bp-btn{font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);font-weight:500;letter-spacing:.3px;padding:8px 16px;border-radius:var(--bp-radius);border:1px solid var(--bp-border);background:var(--bp-bg);color:var(--bp-text);cursor:pointer;transition:all .15s ease}.bp-btn:hover{background:var(--bp-bg-elevated);border-color:var(--bp-border-light);box-shadow:var(--bp-shadow-sm)}.bp-btn-primary{background:var(--bp-accent);border-color:var(--bp-accent);color:#fff;font-weight:600}.bp-btn-primary:hover{background:var(--bp-accent-hover);border-color:var(--bp-accent-hover);color:#fff}.bp-btn-sm{padding:4px 10px;font-size:var(--bp-font-size-xs)}.bp-btn-ghost{background:none;border-color:transparent;color:var(--bp-text-muted)}.bp-btn-ghost:hover{background:var(--bp-accent-dim);color:var(--bp-accent)}.bp-save-control .bp-btn:disabled,.bp-leave-actions .bp-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.bp-save-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.bp-rev-badge{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);font-weight:600;padding:3px 8px;border-radius:var(--bp-radius);border:1px solid var(--bp-border);background:var(--bp-bg-elevated);color:var(--bp-text-bright);white-space:nowrap}.bp-save-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);white-space:nowrap}.bp-save-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--bp-border-light)}.bp-save-status[data-status=dirty]{color:var(--bp-warning);font-weight:600}.bp-save-status[data-status=dirty]:before{background:var(--bp-warning)}.bp-save-status[data-status=saving]:before{background:var(--bp-accent)}.bp-save-status[data-status=saved]{color:var(--bp-success);font-weight:600}.bp-save-status[data-status=saved]:before{background:var(--bp-success)}.bp-save-status[data-status=error]{color:var(--bp-error);font-weight:600;white-space:normal}.bp-save-status[data-status=error]:before{background:var(--bp-error)}.bp-split{position:relative;display:inline-flex}.bp-split>.bp-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.bp-split>.bp-btn+.bp-btn{border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid rgba(255,255,255,.35);padding-left:6px;padding-right:6px}.bp-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:200;min-width:300px;padding:4px;background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--bp-radius);box-shadow:var(--bp-shadow-lg)}.bp-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:0;border-radius:4px;background:none;color:var(--bp-text);font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);text-align:left;cursor:pointer}.bp-menu-item:hover:not(:disabled),.bp-menu-item:focus-visible{background:var(--bp-accent-dim);color:var(--bp-accent);outline:none}.bp-menu-item:disabled{opacity:.45;cursor:not-allowed}.bp-menu-item kbd{margin-left:auto;font-family:var(--bp-font);font-size:10px;color:var(--bp-text-muted)}.bp-draft-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;margin-bottom:12px;font-size:var(--bp-font-size-sm);color:var(--bp-text);background:var(--bp-info-bg);border:1px solid var(--bp-accent);border-radius:var(--bp-radius)}.bp-tab-dot{display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--bp-warning);vertical-align:middle}.bp-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bp-bg);border-bottom:1px solid var(--bp-border)}.bp-toolbar-spacer{flex:1}.bp-toolbar-stat{font-family:var(--bp-font);font-size:var(--bp-font-size-sm);color:var(--bp-text-muted)}.bp-toolbar-stat strong{color:var(--bp-accent)}.bp-table{width:100%;border-collapse:collapse;font-size:var(--bp-font-size-sm)}.bp-table th{text-align:left;padding:10px 12px;color:var(--bp-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:var(--bp-font-size-xs);border-bottom:2px solid var(--bp-border);background:var(--bp-bg-elevated)}.bp-table td{padding:10px 12px;color:var(--bp-text);border-bottom:1px solid var(--bp-border)}.bp-table tr:hover td{background:var(--bp-accent-dim)}.bp-badge{display:inline-block;font-family:var(--bp-font-sans);font-size:var(--bp-font-size-xs);padding:2px 8px;border-radius:99px;letter-spacing:.3px;text-transform:uppercase;font-weight:600}.bp-badge-success{background:var(--bp-success-bg);color:var(--bp-success);border:1px solid rgba(22,163,74,.2)}.bp-badge-warning{background:var(--bp-warning-bg);color:var(--bp-warning);border:1px solid rgba(202,138,4,.2)}.bp-badge-info{background:var(--bp-info-bg);color:var(--bp-info);border:1px solid rgba(26,111,196,.2)}.bp-badge-error{background:var(--bp-error-bg);color:var(--bp-error);border:1px solid rgba(220,38,38,.2)}.canvas-container{flex:1;position:relative;overflow:hidden}.canvas-container canvas{display:block;width:100%;height:100%}.canvas-container:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--bp-grid);pointer-events:none;z-index:1}.canvas-container:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--bp-grid);pointer-events:none;z-index:1}.bp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--bp-text-muted);text-align:center}.bp-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.3}.bp-empty-text{font-size:var(--bp-font-size-sm)}.tree-list{list-style:none;margin:0}.tree-item{-webkit-user-select:none;user-select:none}.tree-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--bp-radius);cursor:pointer;border:1px solid transparent;transition:all .12s ease;font-size:var(--bp-font-size-sm)}.tree-row:hover{background:#1a6fc40f;border-color:var(--bp-border)}.tree-row-selected{background:var(--bp-accent-dim);border-color:var(--bp-accent)}.tree-toggle{width:16px;text-align:center;color:var(--bp-text-muted);flex-shrink:0;font-size:12px}.tree-toggle-active{cursor:pointer;color:var(--bp-text)}.tree-toggle-active:hover{color:var(--bp-accent)}.tree-number{color:var(--bp-accent);font-family:var(--bp-font);font-weight:600;min-width:80px;font-size:var(--bp-font-size-xs)}.tree-label{color:var(--bp-text);flex:1}.split-panel{display:flex;gap:0;height:calc(100vh + -0px)}.split-panel-left{width:380px;flex-shrink:0;border-right:1px solid var(--bp-border);display:flex;flex-direction:column;background:var(--bp-bg)}.split-panel-left-header{padding:16px;border-bottom:1px solid var(--bp-border);display:flex;align-items:center;justify-content:space-between}.split-panel-left-header h3{font-size:var(--bp-font-size-sm);font-weight:600;color:var(--bp-text-bright);text-transform:uppercase;letter-spacing:.5px;margin:0}.split-panel-left-search{padding:8px 12px;border-bottom:1px solid var(--bp-border)}.split-panel-left-body{flex:1;overflow:auto;padding:8px}.split-panel-right{flex:1;overflow:auto;padding:24px;background:var(--bp-bg-deep)}.split-panel-toggle{width:12px;min-width:12px;border:none;background:#f59e0b;color:#1a1a2e;font-size:10px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;z-index:5}.split-panel-toggle:hover{background:#d97706}.bp-form-group{margin-bottom:16px}.bp-form-label{display:block;font-size:var(--bp-font-size-xs);font-weight:600;color:var(--bp-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.bp-required{color:var(--bp-red, #e53935);margin-left:2px}.bp-invalid,.bp-form-input.bp-invalid,input.bp-invalid,select.bp-invalid,textarea.bp-invalid{border-color:var(--bp-error)!important;box-shadow:0 0 0 1px var(--bp-error)}.bp-form-input,.bp-form-select,.bp-form-textarea{width:100%;padding:9px 12px;font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);color:var(--bp-text);background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--bp-radius);transition:border-color .15s ease,box-shadow .15s ease}.bp-form-input:focus,.bp-form-select:focus,.bp-form-textarea:focus{outline:none;border-color:var(--bp-accent);box-shadow:0 0 0 3px var(--bp-accent-dim)}.bp-form-textarea{resize:vertical;min-height:80px}.bp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bp-form-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--bp-border);margin-top:20px}.detail-section{margin-bottom:24px}.detail-section-title{font-size:var(--bp-font-size-sm);font-weight:600;color:var(--bp-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-bottom:6px;border-bottom:2px dashed var(--bp-border)}.ai-panel{background:linear-gradient(135deg,var(--bp-accent-dim),rgba(26,111,196,.03));border:1px solid var(--bp-accent);border-radius:var(--bp-radius-lg);padding:20px;margin-bottom:20px}.ai-panel-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:600;color:var(--bp-accent);font-size:var(--bp-font-size-sm);text-transform:uppercase;letter-spacing:.5px}.ai-panel-header-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bp-accent);color:#fff;border-radius:50%;font-size:12px}.ai-input-row{display:flex;gap:8px}.ai-input{flex:1;padding:10px 14px;font-family:var(--bp-font-sans);font-size:var(--bp-font-size-md);color:var(--bp-text);background:var(--bp-bg);border:1px solid var(--bp-accent);border-radius:var(--bp-radius)}.ai-input:focus{outline:none;box-shadow:0 0 0 3px var(--bp-accent-dim)}.ai-input::placeholder{color:var(--bp-text-muted)}.ai-result{margin-top:12px;padding:12px;background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--bp-radius);font-size:var(--bp-font-size-sm);line-height:1.6}.bp-tabs{display:flex;gap:0;border-bottom:2px solid var(--bp-border);margin-bottom:20px}.bp-tab{padding:10px 20px;font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);font-weight:500;color:var(--bp-text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .15s ease}.bp-tab:hover{color:var(--bp-text)}.bp-tab-active{color:var(--bp-accent);border-bottom-color:var(--bp-accent);font-weight:600}.color-swatch{display:inline-block;width:16px;height:16px;border-radius:3px;border:1px solid var(--bp-border);vertical-align:middle;margin-right:6px}.dxf-drop-zone{border:2px dashed var(--bp-border);border-radius:8px;padding:32px 24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--bp-bg-elevated)}.dxf-drop-zone:hover{border-color:var(--bp-accent);background:#1e64c80a}.dxf-drop-zone-compact{padding:12px 16px;border-style:dashed}.dxf-drop-zone-compact .dxf-drop-content{flex-direction:row;gap:8px;font-size:var(--bp-font-size-sm)}.dxf-drop-content{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--bp-text-muted);font-size:var(--bp-font-size-sm)}.dxf-drop-icon{font-size:28px;opacity:.5}.dxf-drop-hint{font-size:11px;color:var(--bp-text-muted);opacity:.7}.dxf-layer-group{border:1px solid var(--bp-border);border-radius:6px;margin-bottom:8px;overflow:hidden}.dxf-layer-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bp-bg-elevated);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--bp-font-size-sm);transition:background .15s}.dxf-layer-header:hover{background:#1e64c80f}.dxf-layer-toggle{font-size:12px;width:14px;color:var(--bp-text-muted)}.dxf-layer-name{font-weight:600;color:var(--bp-text-bright)}.dxf-layer-meta{color:var(--bp-text-muted);font-size:11px;margin-left:auto;margin-right:8px}.dxf-piece-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:12px}.dxf-piece-card{border:1px solid var(--bp-border);border-radius:6px;overflow:hidden;background:var(--bp-bg);transition:box-shadow .15s}.dxf-piece-card:hover{box-shadow:0 2px 8px #00000014}.dxf-piece-preview{display:flex;align-items:center;justify-content:center;background:var(--bp-bg-elevated);border-bottom:1px solid var(--bp-border);padding:4px}.dxf-piece-info{padding:8px 10px}.dxf-piece-name{font-weight:600;font-size:var(--bp-font-size-md);color:var(--bp-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dxf-piece-dims{font-size:11px;color:var(--bp-text-muted);margin-top:2px}.dxf-piece-area{font-size:11px;color:var(--bp-text-muted)}.drawing-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:32px}.drawing-preview-modal{background:var(--bp-bg);border-radius:8px;width:90vw;max-width:1000px;height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;overflow:hidden}.step-viewer-canvas canvas{display:block;width:100%!important;height:100%!important}.piece-manager-sidebar{min-width:320px;max-width:900px;border-left:1px solid var(--bp-border);background:var(--bp-bg);display:flex;flex-direction:column;overflow:hidden;margin-left:16px;border-radius:var(--bp-radius-lg);box-shadow:var(--bp-shadow-md);position:relative}.pm-resize-handle{position:absolute;top:0;left:-4px;width:8px;height:100%;cursor:col-resize;z-index:10;background:transparent;transition:background .15s}.pm-resize-handle:hover,.pm-resize-handle:active{background:var(--bp-accent);opacity:.4}.piece-manager-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:2px solid var(--bp-border);background:var(--bp-bg-elevated)}.piece-manager-title{font-size:var(--bp-font-size-sm);font-weight:700;color:var(--bp-text-heading);text-transform:uppercase;letter-spacing:.5px}.piece-manager-tree{flex:1;overflow-y:auto;padding:8px 0}.pm-tree-item{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:var(--bp-font-size-sm)}.pm-tree-root{font-weight:700;color:var(--bp-text-heading);padding-bottom:8px;border-bottom:1px solid var(--bp-border);margin-bottom:4px}.pm-tree-material{padding-left:20px;font-weight:600;color:var(--bp-text-bright)}.piece-manager-tree{-webkit-user-select:none;user-select:none}.pm-grip{display:inline-block;width:12px;margin-right:2px;color:var(--bp-text-muted);cursor:grab;font-size:13px;line-height:1;vertical-align:middle}.pm-grip:active{cursor:grabbing}.pm-marquee{position:fixed;pointer-events:none;border:1px solid var(--bp-accent);background:#0e9cf01f;z-index:5}.pm-marquee.crossing{border-style:dashed;background:#22c55e1f;border-color:#22c55e}.pm-drag-ghost{position:fixed;pointer-events:none;z-index:10000;padding:3px 8px;border-radius:4px;background:var(--bp-accent);color:#fff;font-size:11px;font-weight:600;box-shadow:0 2px 8px #00000040;white-space:nowrap}.nest-drop-target{outline:2px dashed var(--bp-accent)!important;outline-offset:-2px;background:var(--bp-accent-dim, rgba(14, 156, 240, .08))}.nest-carry-ghost{position:fixed;pointer-events:none;z-index:10000;padding:3px 8px;border-radius:4px;background:var(--bp-accent);color:#fff;font-size:11px;font-weight:600;box-shadow:0 2px 8px #00000040;white-space:nowrap}.pm-drop-target>.pm-tree-material{outline:2px dashed var(--bp-accent);outline-offset:-2px;background:var(--bp-accent-dim, rgba(14, 156, 240, .12))}.pm-row-dragging{opacity:.45}.pm-tree-material:hover{background:var(--bp-accent-dim)}.pm-tree-icon{font-size:10px;color:var(--bp-accent)}.pm-tree-toggle{width:12px;font-size:12px;color:var(--bp-text-muted)}.pm-tree-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-tree-count{font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);background:var(--bp-bg-elevated);padding:1px 6px;border-radius:99px;border:1px solid var(--bp-border)}.pm-piece-table-wrap{overflow-x:auto;margin:4px 0 8px;padding:0 8px}.pm-piece-table{width:100%;border-collapse:collapse;font-size:var(--bp-font-size-xs)}.pm-piece-table th{text-align:center;padding:4px 3px;color:var(--bp-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-size:9px;border-bottom:1px solid var(--bp-border);white-space:nowrap}.pm-piece-table td{text-align:center;padding:4px 3px;border-bottom:1px solid rgba(208,219,232,.5);vertical-align:middle}.pm-piece-table tr:hover td{background:var(--bp-accent-dim)}.pm-cell-img{padding:2px!important}.pm-cell-name{text-align:left!important;font-weight:500;color:var(--bp-text-bright);max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-num-input{width:40px;padding:2px 4px;font-size:var(--bp-font-size-xs);font-family:var(--bp-font);text-align:center;border:1px solid var(--bp-border);border-radius:3px;background:var(--bp-bg);color:var(--bp-text);-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pm-num-input::-webkit-outer-spin-button,.pm-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pm-num-input:focus{outline:none;border-color:var(--bp-accent);box-shadow:0 0 0 2px var(--bp-accent-dim)}.pm-empty{padding:8px 28px;font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);font-style:italic}.pm-row-selected td{background:var(--bp-accent-dim)!important}.pm-bulk-bar{padding:10px 12px;border-bottom:1px solid var(--bp-border);background:linear-gradient(180deg,var(--bp-accent-dim),var(--bp-bg-elevated))}.pm-bulk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pm-bulk-item{display:flex;align-items:center;gap:4px;font-size:var(--bp-font-size-xs);color:var(--bp-text);cursor:pointer}.pm-bulk-item span{white-space:nowrap}.layer-legend{display:flex;gap:12px;flex-wrap:wrap;padding:8px 0;font-size:var(--bp-font-size-xs)}.layer-legend-item{display:flex;align-items:center;gap:4px}.layer-legend-swatch{width:16px;height:3px;border-radius:1px}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(var(--bp-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--bp-grid-color) 1px,transparent 1px),var(--bp-bg-deep);background-size:var(--bp-grid-size) var(--bp-grid-size);padding:24px}.auth-card{width:100%;max-width:400px;background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius-lg);padding:40px 36px 32px;box-shadow:var(--bp-shadow-lg)}.auth-logo{font-family:var(--bp-font);font-size:var(--bp-font-size-2xl);font-weight:700;color:var(--bp-text-heading);text-align:center;letter-spacing:-.5px}.auth-logo span{color:var(--bp-accent)}.auth-subtitle{text-align:center;color:var(--bp-text-muted);font-size:var(--bp-font-size-sm);margin:4px 0 28px;letter-spacing:.5px;text-transform:uppercase}.auth-error{background:var(--bp-error-bg);color:var(--bp-error);border:1px solid rgba(220,38,38,.2);border-radius:var(--bp-radius);padding:10px 14px;font-size:var(--bp-font-size-sm);margin-bottom:20px}.auth-success{text-align:center;padding:20px 0;color:var(--bp-text);font-size:var(--bp-font-size-sm)}.auth-success p{margin-bottom:16px;color:var(--bp-success)}.auth-tabs{display:flex;border:1px solid var(--bp-border);border-radius:var(--bp-radius);overflow:hidden;margin-bottom:24px}.auth-tab{flex:1;padding:8px;border:none;background:var(--bp-bg-elevated);color:var(--bp-text-muted);font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);cursor:pointer;transition:all .15s ease}.auth-tab:not(:last-child){border-right:1px solid var(--bp-border)}.auth-tab.active{background:var(--bp-accent);color:#fff;font-weight:600}.auth-tab:not(.active):hover{background:var(--bp-accent-dim);color:var(--bp-text)}.auth-card .bp-form-group{margin-bottom:16px}.auth-card .bp-form-label{font-size:var(--bp-font-size-sm);font-weight:600;margin-bottom:6px}.auth-card .bp-form-input{width:100%;padding:10px 12px;font-size:var(--bp-font-size-md)}.auth-submit{width:100%;padding:11px;margin-top:8px;font-size:var(--bp-font-size-md);font-weight:600;letter-spacing:.3px}.auth-section-label{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--bp-border)}.auth-input-error{border-color:var(--bp-error)!important}.auth-footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--bp-border);font-size:var(--bp-font-size-sm);color:var(--bp-text-muted);display:flex;align-items:center;justify-content:center;gap:8px}.auth-link{color:var(--bp-accent);text-decoration:none;font-weight:600}.auth-link:hover{text-decoration:underline}.profile-msg{padding:8px 12px;border-radius:var(--bp-radius);font-size:var(--bp-font-size-sm);margin-bottom:12px}.profile-msg-success{background:var(--bp-success-bg);color:var(--bp-success);border:1px solid rgba(22,163,74,.2)}.profile-msg-error{background:var(--bp-error-bg);color:var(--bp-error);border:1px solid rgba(220,38,38,.2)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bp-bg-deep)}::-webkit-scrollbar-thumb{background:var(--bp-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bp-border-light)}.ai-assistant-fab{position:fixed;top:16px;right:16px;width:48px;height:48px;border-radius:50%;border:1px solid var(--bp-border, #2a3550);background:linear-gradient(135deg,#4f6dff,#7a4dff);color:#fff;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 4px 16px #00000059;z-index:9000;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.ai-assistant-fab:hover{transform:scale(1.06);box-shadow:0 6px 22px #4f6dff80}.ai-assistant-fab-icon{letter-spacing:.5px}.ai-assistant-panel{position:fixed;top:16px;right:16px;width:380px;max-width:calc(100vw - 32px);height:min(620px,calc(100vh - 32px));background:var(--bp-bg, #0f1626);border:1px solid var(--bp-border, #2a3550);border-radius:14px;box-shadow:0 10px 40px #0000008c;z-index:9000;display:flex;flex-direction:column;overflow:hidden;color:var(--bp-text, #e7ecf5)}.ai-assistant-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--bp-border, #2a3550);background:linear-gradient(135deg,#4f6dff2e,#7a4dff2e)}.ai-assistant-title{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}.ai-assistant-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80}.ai-assistant-close{background:transparent;border:none;color:var(--bp-text, #e7ecf5);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.ai-assistant-close:hover{color:#fff}.ai-assistant-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;font-size:13.5px;line-height:1.45}.ai-assistant-empty{color:var(--bp-text-muted, #8a96b0);font-size:13px}.ai-assistant-empty ul{margin:6px 0 0 18px;padding:0}.ai-assistant-empty li{margin:3px 0}.ai-assistant-msg{display:flex;flex-direction:column;gap:4px;max-width:92%}.ai-assistant-msg-user{align-self:flex-end}.ai-assistant-msg-assistant{align-self:flex-start}.ai-assistant-msg-content{padding:8px 12px;border-radius:12px;white-space:pre-wrap;word-wrap:break-word}.ai-assistant-msg-user .ai-assistant-msg-content{background:linear-gradient(135deg,#4f6dff,#7a4dff);color:#fff;border-bottom-right-radius:4px}.ai-assistant-msg-assistant .ai-assistant-msg-content{background:#ffffff0d;border:1px solid var(--bp-border, #2a3550);border-bottom-left-radius:4px}.ai-assistant-typing{font-style:italic;opacity:.7}.ai-assistant-tools{display:flex;flex-direction:column;gap:2px;padding-left:4px}.ai-assistant-tool{font-size:11px;color:var(--bp-text-muted, #8a96b0)}.ai-assistant-tool.is-error{color:#ff8080}.ai-assistant-tool-name{font-family:var(--bp-font-mono, monospace)}.ai-assistant-input-row{display:flex;align-items:center;gap:6px;padding:10px;border-top:1px solid var(--bp-border, #2a3550);background:var(--bp-bg-deep, #0a1020)}.ai-assistant-input{flex:1;background:#ffffff0a;border:1px solid var(--bp-border, #2a3550);color:var(--bp-text, #e7ecf5);border-radius:8px;padding:8px 10px;font-size:13px;outline:none}.ai-assistant-input:focus{border-color:#4f6dff}.ai-assistant-mic,.ai-assistant-send{background:#ffffff0f;border:1px solid var(--bp-border, #2a3550);color:var(--bp-text, #e7ecf5);border-radius:8px;padding:8px 10px;cursor:pointer;font-size:13px;transition:background .15s ease}.ai-assistant-mic:hover,.ai-assistant-send:hover:not(:disabled){background:#4f6dff33}.ai-assistant-mic.is-listening{background:#ef4444;border-color:#ef4444;color:#fff}.ai-assistant-send:disabled{opacity:.4;cursor:not-allowed}@media(max-width:520px){.ai-assistant-panel{top:8px;right:8px;left:8px;width:auto;height:calc(100vh - 16px)}}#print-root{display:none}@media print{body.sewtech-printing>#root{display:none!important}body.sewtech-printing #print-root{display:block!important}body.sewtech-printing{background:#fff!important;margin:0}}.pm-tip{margin:6px 8px 8px;padding:8px 10px;border-left:3px solid var(--bp-accent);background:var(--bp-accent-dim, rgba(14, 156, 240, .08));border-radius:0 4px 4px 0;font-size:11px;line-height:1.45;color:var(--bp-text)}.pm-tip b{display:block;margin-bottom:2px}.pm-tip .bp-btn{margin-top:6px}.bp-bom-tip{margin:-4px 0 12px;padding:8px 10px;border-left:3px solid var(--bp-accent);background:var(--bp-accent-dim, rgba(14, 156, 240, .08));border-radius:0 4px 4px 0;font-size:var(--bp-font-size-xs);line-height:1.5;color:var(--bp-text-muted)}.bp-bom-tip a{color:var(--bp-accent)}.recent-strip{display:flex;align-items:flex-start;gap:8px;padding:6px 12px 4px;border-bottom:1px solid var(--bp-border);background:var(--bp-bg-surface);font-family:var(--bp-font);font-size:var(--bp-font-size-xs)}.recent-strip-label{flex:0 0 auto;padding-top:3px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bp-text-muted)}.recent-strip-chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.recent-chip{display:inline-flex;align-items:stretch;max-width:220px;border:1px solid var(--bp-border);border-radius:10px;background:var(--bp-bg-elevated, var(--bp-bg));color:var(--bp-text);line-height:1.3;overflow:hidden}.recent-chip.on{border-color:var(--bp-accent);background:var(--bp-accent-dim)}.recent-chip-open{display:inline-flex;align-items:center;gap:5px;min-width:0;padding:2px 4px 2px 8px;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.recent-chip-open:hover{background:var(--bp-sidebar-hover, rgba(0, 0, 0, .05))}.recent-chip-number{color:var(--bp-text-muted);font-family:var(--bp-font-mono, monospace);font-size:10px;white-space:nowrap}.recent-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-chip-x{border:0;border-left:1px solid transparent;background:none;color:var(--bp-text-muted);padding:0 6px;cursor:pointer;font-size:12px;line-height:1;opacity:.55}.recent-chip-x:hover{opacity:1;color:var(--bp-error)}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.cad-hud-section.cad-hud-section-rows{flex-direction:column;align-items:stretch;gap:5px}.cad-hud-section-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;row-gap:4px}.cad-hud-section-spacer{flex:1;min-width:6px}.cad-hud-section select{max-width:190px}.cad-hud-num.cad-hud-deg{width:52px}.cad-btn.cad-btn-primary:hover:not(:disabled){background:var(--bp-accent);border-color:var(--bp-accent);color:#fff;opacity:.9}.cad-pattern-editing{display:flex;align-items:center;gap:8px;margin:6px 10px;padding:6px 8px;border:1px solid var(--bp-accent);border-radius:var(--bp-radius);background:color-mix(in srgb,var(--bp-accent) 10%,transparent);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text)}.cad-pattern-editing span{flex:1}.cad-pattern-actions{display:flex;gap:6px;flex-wrap:wrap;padding:6px 10px 0}.cad-pattern-actions-topo{padding:8px 10px}.cad-pattern-missing{margin:6px 10px;padding:8px;border-radius:var(--bp-radius);border:1px solid var(--bp-warning);background:var(--bp-warning-bg, rgba(242, 140, 40, .08));font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);line-height:1.45}.cad-pattern-missing strong{color:var(--bp-warning);display:block;margin-bottom:2px}.cad-pattern-missing-ids{font-family:var(--bp-font);color:var(--bp-text-muted);word-break:break-all;margin-top:4px}.cad-pattern-missing .cad-pattern-actions{padding:6px 0 0}.cad-pattern-color{width:36px;height:22px;padding:0;border:1px solid var(--bp-border);border-radius:3px;cursor:pointer}.cad-pattern-facts{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);display:flex;flex-direction:column;gap:4px}.cad-pattern-muted{color:var(--bp-text-muted)}.cad-pattern-warn{margin:2px 0 6px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-warning)}.cad-pattern-warn-inline{color:var(--bp-warning)}.cad-pattern-link{cursor:pointer;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.cad-pattern-link:hover{color:var(--bp-accent)}.cad-pattern-link i,.cad-props-topo-member i,.cad-ctx-targets i{display:inline-block;width:9px;height:9px;border-radius:2px;flex-shrink:0;align-self:center}.cad-pattern-allow{display:flex;align-items:center;gap:4px}.cad-pattern-allow input{width:56px}.cad-pattern-allow input:disabled{opacity:.65}.cad-pattern-check{display:flex;align-items:center;gap:6px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);margin:2px 0 6px;cursor:pointer}.cad-pattern-side b{color:var(--bp-text-muted);font-weight:400}.cad-props-topo-member{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:var(--bp-font-size-xs);cursor:pointer}.cad-props-topo-member:hover{color:var(--bp-accent)}.cad-ctx-pattern hr{margin:2px 0}.cad-ctx-targets{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:2px 10px 4px 14px}.cad-ctx-targets>span{font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);margin-right:4px}.cad-context-menu .cad-ctx-targets button{display:inline-flex;align-items:center;gap:4px;width:auto;padding:1px 6px;border:1px solid var(--bp-border);border-radius:10px;font-size:var(--bp-font-size-xs)}.cad-tree-badge.cad-tree-badge-warn{color:var(--bp-warning)}.cad-tree-note{font-size:9.5px;color:var(--bp-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:1}.cad-flat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0a101873;display:flex;align-items:center;justify-content:center}.cad-flat-dialog{width:min(96vw,1500px);height:min(90vh,900px);display:flex;flex-direction:column;background:var(--bp-bg);color:var(--bp-text);border:1px solid var(--bp-border);border-radius:8px;box-shadow:0 14px 40px #0000004d;font-family:var(--bp-font);overflow:hidden}.cad-flat-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--bp-border);font-size:var(--bp-font-size-sm)}.cad-flat-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 5px var(--flat-side-w, 380px)}.cad-flat-canvas{position:relative;min-width:0;min-height:0;background:var(--bp-bg-elevated, #f6f8fa)}.cad-flat-canvas.cad-flat-publish{background-image:linear-gradient(var(--bp-border-light, rgba(0,0,0,.05)) 1px,transparent 1px),linear-gradient(90deg,var(--bp-border-light, rgba(0,0,0,.05)) 1px,transparent 1px);background-size:24px 24px}.cad-flat-canvas svg{width:100%;height:100%;display:block}.cad-flat-empty{padding:40px;text-align:center}.cad-flat-piece{cursor:pointer}.cad-flat-piece.selected polygon:first-child{fill-opacity:.32}.cad-flat-label{font-family:var(--bp-font-sans);font-size:30px;font-weight:600;fill:var(--bp-text-heading, #1b2430);pointer-events:none}.cad-flat-sublabel{font-family:var(--bp-font);font-size:22px;fill:var(--bp-text-muted, #667);pointer-events:none}.cad-flat-legend{position:absolute;left:10px;bottom:8px;display:flex;gap:12px;font-size:var(--bp-font-size-xs);color:var(--bp-text-muted)}.cad-flat-legend i{display:inline-block;width:16px;height:0;margin-right:4px;vertical-align:middle;border-top:2px solid}.cad-flat-legend i.cut{border-color:#1b2430}.cad-flat-legend i.sew{border-top:1px dashed #667}.cad-flat-legend i.notch{border-color:#d62828;width:8px}.cad-flat-legend i.grain{border-color:#1a6fc4}.cad-flat-side{border-left:1px solid var(--bp-border);overflow-y:auto;padding:8px 12px 16px;font-size:var(--bp-font-size-xs)}.cad-flat-side h4{margin:10px 0 6px;font-size:var(--bp-font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--bp-text-muted);display:flex;gap:8px;align-items:baseline}.cad-flat-table{width:100%;border-collapse:collapse}.cad-flat-table th{text-align:left;font-weight:600;color:var(--bp-text-muted);padding:3px 4px;border-bottom:1px solid var(--bp-border)}.cad-flat-table td{padding:4px;border-bottom:1px solid var(--bp-border-light, var(--bp-border));vertical-align:top}.cad-flat-table tr{cursor:default}.cad-flat-table tr.selected td{background:color-mix(in srgb,var(--bp-accent) 10%,transparent)}.cad-flat-table td i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}.cad-flat-ok{color:var(--bp-success);text-transform:none;letter-spacing:0}.cad-flat-warnings ul{margin:0;padding-left:16px;color:var(--bp-warning);line-height:1.5}.cad-flat-publish select{width:100%;margin-bottom:6px}.cad-flat-material{max-width:120px;font-size:var(--bp-font-size-xs);padding:1px 2px;border:1px solid var(--bp-border);border-radius:3px;background:var(--bp-bg);color:var(--bp-text)}.cad-flat-publish p{margin:4px 0 8px;line-height:1.45}.cad-flat-status-ok{margin-top:8px;color:var(--bp-success)}.cad-flat-status-error{margin-top:8px;color:var(--bp-error)}.cad-pattern-published{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted)}.cad-sw-reattach{position:relative;padding-right:18px}.cad-sw-reattach ul{margin:2px 0 0;padding-left:14px}.cad-sw-reattach-close{position:absolute;top:2px;right:2px;border:none;background:none;cursor:pointer;color:var(--bp-text-muted);font-size:13px;line-height:1}.cad-flat-dialog.cad-fpw{position:fixed;z-index:1200;width:auto;height:auto;container:fpw / inline-size}.cad-flat-dialog.cad-fpw.maximized{border-radius:0}.cad-flat-dialog.cad-fpw-popped{top:0;right:0;bottom:0;left:0;border:none;border-radius:0;box-shadow:none}.cad-popout-body{margin:0;overflow:hidden;background:var(--bp-bg)}.cad-fpw-content{flex:1;min-height:0;display:flex;flex-direction:column}.cad-fpw .cad-flat-head{flex-wrap:wrap;row-gap:6px;-webkit-user-select:none;user-select:none}.cad-fpw-grip{cursor:move}.cad-fpw-grip button,.cad-fpw-grip select,.cad-fpw-grip label{cursor:pointer}.cad-fpw .cad-flat-body{grid-template-columns:minmax(0,1fr) 5px var(--flat-side-w, 380px)}.cad-fpw .cad-flat-table{font-size:10.5px}.cad-fpw .cad-flat-table th{padding:2px 3px;font-size:10px}.cad-fpw .cad-flat-table td{padding:2px 3px;line-height:1.3}.cad-fpw .cad-fpw-progress .cad-fpw-bar{width:44px}.cad-fpw .cad-flat-side{padding:6px 8px 12px}.cad-flat-grid line{vector-effect:non-scaling-stroke}.cad-flat-grid .minor{stroke:#1b2430;stroke-opacity:.07;stroke-width:1}.cad-flat-grid .major{stroke:#1b2430;stroke-opacity:.18;stroke-width:1}.cad-flat-splitter{cursor:col-resize;background:transparent}.cad-flat-splitter:hover,.cad-flat-splitter:active{background:color-mix(in srgb,var(--bp-accent) 35%,transparent)}.cad-fpw-list-grip{flex:0 0 auto;height:6px;margin:1px 0 3px;border-radius:3px;cursor:row-resize;background:var(--bp-border)}.cad-fpw-list-grip:hover,.cad-fpw-list-grip:active{background:var(--bp-accent, #1a6fc4)}.cad-flat-scale{display:inline-flex;align-items:flex-end;gap:6px}.cad-flat-scale i{display:inline-block;height:5px;border:1px solid currentColor;border-top:none}.cad-flat-mate-hover circle{vector-effect:non-scaling-stroke}.cad-flat-mate-hover circle.ball{fill:var(--bp-accent, #1a6fc4);stroke:#fff;stroke-width:2}.cad-flat-mate-hover circle.partner{fill:none;stroke:#f97316;stroke-width:2;stroke-dasharray:4 3}.cad-fpw-content.mate-ball .cad-flat-canvas svg,.cad-fpw-content.mate-ball .cad-flat-canvas svg .cad-flat-piece{cursor:none}.cad-flat-gumball{cursor:move}.cad-flat-gumball .ring{fill:none;stroke:#f59e0b;stroke-width:3;vector-effect:non-scaling-stroke;cursor:grab}.cad-flat-gumball .ring:hover{stroke-width:5}.cad-flat-gumball .axis-x{stroke:#dc2626;stroke-width:3;vector-effect:non-scaling-stroke;cursor:ew-resize}.cad-flat-gumball .axis-y{stroke:#16a34a;stroke-width:3;vector-effect:non-scaling-stroke;cursor:ns-resize}.cad-flat-gumball .head-x{fill:#dc2626;cursor:ew-resize}.cad-flat-gumball .head-y{fill:#16a34a;cursor:ns-resize}.cad-flat-gumball .centre{fill:#fff;stroke:#1a6fc4;stroke-width:2;vector-effect:non-scaling-stroke;cursor:move}.cad-flat-gumball .hit{fill:none;stroke:transparent;stroke-width:14;vector-effect:non-scaling-stroke}.cad-flat-grain-handle .knob{fill:#fff;stroke:#1a6fc4;stroke-width:2;vector-effect:non-scaling-stroke}.cad-flat-grain-handle g:hover .knob{fill:#1a6fc4}.cad-flat-grain-handle .hit{fill:transparent;stroke:none;cursor:grab}.cad-fpw-canvas-wrap{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}.cad-fpw-tools{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:4px 8px;border-bottom:1px solid var(--bp-border);font-size:var(--bp-font-size-xs)}.cad-fpw-tools .cad-btn.tool{opacity:.75}.cad-fpw-tools .cad-btn.tool.active{opacity:1;background:var(--bp-accent, #1a6fc4);border-color:var(--bp-accent, #1a6fc4);color:#fff;font-weight:600;box-shadow:inset 0 1px 2px #00000040}.cad-fpw-tools .cad-btn.tool.active:hover{background:var(--bp-accent, #1a6fc4);color:#fff}.cad-fpw-cursor{position:absolute;right:10px;bottom:8px;font-family:var(--bp-font-mono, ui-monospace, monospace);font-size:11px;color:var(--bp-text-muted);background:color-mix(in srgb,var(--bp-bg-elevated, #f6f8fa) 80%,transparent);padding:2px 6px;border-radius:3px;pointer-events:none}.cad-fpw-tool-opts{display:inline-flex;gap:4px;align-items:center;margin-left:6px;padding-left:8px;border-left:1px solid var(--bp-border)}.cad-fpw-tool-opts label{display:inline-flex;gap:4px;align-items:center}.cad-fpw-placement{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.cad-flat-origin line{stroke:#8a94a6;stroke-width:1;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.cad-flat-origin text{font-size:11px;fill:#8a94a6}.cad-flat-snap circle{fill:none;stroke:var(--bp-accent, #1a6fc4);stroke-width:1.5;vector-effect:non-scaling-stroke}.cad-flat-snap.picked circle{fill:var(--bp-accent, #1a6fc4);fill-opacity:.25}.cad-flat-snap text{fill:var(--bp-accent, #1a6fc4)}.cad-flat-align-line{stroke:var(--bp-accent, #1a6fc4);stroke-width:1;stroke-dasharray:4 3}.cad-flat-piece.mirrored polygon:first-child{fill:url(#cad-flat-facedown)}.cad-flat-mate line{stroke:#c2410c;stroke-width:1.2;stroke-dasharray:3 3}.cad-flat-mate circle{stroke-width:2;vector-effect:non-scaling-stroke;fill-opacity:.85}.cad-flat-mate circle.a{fill:var(--bp-accent, #1a6fc4);stroke:#fff}.cad-flat-mate circle.b{fill:#f97316;stroke:#fff}.cad-flat-mate text{fill:#1b2430;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.cad-fpw-notice{position:absolute;top:40px;left:10px;background:var(--bp-bg, #fff);border:1px solid var(--bp-border);border-radius:4px;padding:4px 8px;font-size:var(--bp-font-size-xs)}.cad-fpw-canvas-wrap .cad-flat-canvas{flex:1}.cad-fpw .cad-flat-canvas svg{cursor:grab;touch-action:none}.cad-fpw .cad-flat-canvas svg .cad-flat-piece{cursor:move}.cad-fpw-content.marking .cad-flat-canvas svg,.cad-fpw-content.marking .cad-flat-canvas svg .cad-flat-piece{cursor:crosshair}.cad-fpw-content.seaming .cad-flat-canvas svg,.cad-fpw-content.seaming .cad-flat-canvas svg .cad-flat-piece{cursor:crosshair}.cad-flat-marking path,.cad-flat-marking circle{pointer-events:none}.cad-flat-marking.preview circle[data-anchor]{pointer-events:all;cursor:move}.cad-flat-marking.preview path{stroke-dasharray:4 3}.cad-fpw .cad-flat-canvas svg:active{cursor:grabbing}.cad-fpw-zoom{position:absolute;top:8px;left:10px;display:flex;gap:4px;align-items:center;font-size:var(--bp-font-size-xs)}.cad-fpw-zoom .cad-pattern-muted{margin-left:6px}.cad-flat-piece.busy .cad-flat-cutline{stroke-dasharray:6 4}.cad-flat-piece.selected .cad-flat-cutline{stroke:var(--bp-accent, #1a6fc4)}.cad-fpw-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;z-index:2;background:linear-gradient(135deg,transparent 50%,var(--bp-border) 50%,var(--bp-border) 60%,transparent 60%,transparent 75%,var(--bp-border) 75%,var(--bp-border) 85%,transparent 85%)}.cad-fpw .cad-flat-side{display:flex;flex-direction:column;gap:4px}.cad-fpw-table-wrap{flex:0 1 auto;min-height:120px;max-height:55%;overflow:auto}.cad-fpw-table th{cursor:pointer;white-space:nowrap;position:sticky;top:0;background:var(--bp-bg)}.cad-fpw-table th.sorted{color:var(--bp-text)}.cad-fpw-table tr{cursor:pointer}.cad-fpw-table tr:hover td{background:color-mix(in srgb,var(--bp-accent) 5%,transparent)}.cad-fpw-table tr.skipped td{opacity:.55}.cad-fpw-actions{width:1%;white-space:nowrap;text-align:right}.cad-fpw-actions .cad-btn{padding:0 6px;line-height:18px}.cad-fpw-stop{color:var(--bp-error)}.cad-fpw-progress{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.cad-fpw-bar{display:inline-block;width:54px;height:5px;border-radius:3px;background:var(--bp-border);overflow:hidden}.cad-fpw-bar>span{display:block;height:100%;background:var(--bp-accent);transition:width .25s}.cad-fpw-hint{margin:8px 0;line-height:1.45}.cad-fpw-detail{border-top:1px solid var(--bp-border);padding-top:8px;overflow-y:auto;flex:1 1 auto;min-height:0}.cad-fpw-detail-head{display:flex;gap:6px;align-items:center;font-size:var(--bp-font-size-sm);margin-bottom:6px}.cad-fpw-detail-head i,.cad-fpw-seams i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}.cad-fpw-detail h4{text-transform:none;letter-spacing:0;font-size:var(--bp-font-size-xs);color:var(--bp-text);margin:12px 0 4px}.cad-fpw-detail h4 .cad-pattern-muted{font-weight:400}.cad-fpw-solve{display:flex;gap:8px;align-items:center}.cad-fpw-facts{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:4px 0 0}.cad-fpw-facts dt{color:var(--bp-text-muted)}.cad-fpw-facts dd{margin:0;font-variant-numeric:tabular-nums}.cad-fpw-seams{list-style:none;margin:0;padding:0}.cad-fpw-seams li{display:flex;align-items:center;gap:4px;padding:2px 0;border-bottom:1px solid var(--bp-border-light, var(--bp-border))}.cad-fpw-cloth{margin-top:6px}@container fpw (max-width: 860px){.cad-fpw .cad-flat-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,1fr) minmax(0,1fr)}.cad-flat-splitter{display:none}.cad-fpw .cad-flat-side{border-left:none;border-top:1px solid var(--bp-border)}}.cad-fpw-mesh{margin:4px 0}.cad-nest-page{flex:1;min-height:0;display:flex}.cad-nest-main{flex:1;min-width:0;overflow:auto;padding:12px}.cad-nest-page .piece-manager-sidebar{margin-left:0;min-height:0}.cad-nest-fit.bad{color:#fff;background:var(--bp-error, #dc2626);border-radius:10px;padding:0 7px;font-size:10.5px;font-weight:700;line-height:16px}.cad-nest-fit.ok{color:var(--bp-success, #059669);border:1px solid currentColor;border-radius:10px;padding:0 7px;font-size:10.5px;font-weight:600;line-height:16px}.cad-nest-fit{white-space:nowrap}.cad-nest-banner{margin:0 0 8px;padding:8px 12px;border-radius:var(--bp-radius, 6px);font-size:var(--bp-font-size-xs);border:1px solid}.cad-nest-banner.ok{color:var(--bp-success, #059669);border-color:var(--bp-success, #059669);background:color-mix(in srgb,var(--bp-success, #059669) 8%,transparent)}.cad-nest-banner.bad{color:var(--bp-error, #dc2626);border-color:var(--bp-error, #dc2626);background:color-mix(in srgb,var(--bp-error, #dc2626) 8%,transparent)}.cad-nest-banner ul{margin:4px 0 6px;padding-left:18px}.cad-nest-banner-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.cad-nest-skipped{margin:0;padding-left:16px;font-size:var(--bp-font-size-xs)}.cad-nest-skipped li{display:flex;gap:6px;justify-content:space-between}.cad-flat-block{cursor:pointer}.cad-flat-block.selected path,.cad-flat-block.selected polyline{stroke-width:2.2}.cad-flat-block .reference{display:none}.cad-flat-block.selected .reference{display:initial;opacity:.7}.cad-flat-block-handle .ring{fill:none;stroke:#0e7490;stroke-width:2.5;vector-effect:non-scaling-stroke;cursor:grab}.cad-flat-block-handle .ring:hover{stroke-width:4}.cad-flat-block-handle .axis{stroke:#dc2626;stroke-width:2.5;vector-effect:non-scaling-stroke;pointer-events:none}.cad-flat-block-handle .centre{fill:#fff;stroke:#0e7490;stroke-width:2;vector-effect:non-scaling-stroke;cursor:move}.cad-flat-block-handle .hit{fill:none;stroke:transparent;stroke-width:14;vector-effect:non-scaling-stroke}.pc-panel{border-top:1px solid var(--bp-border);background:var(--bp-bg-surface);padding:10px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;font-family:var(--bp-font);font-size:11px;color:var(--bp-text);max-height:62vh;overflow-y:auto}.pc-head{display:flex;align-items:center;gap:6px}.pc-title{flex:1;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--bp-text-heading);min-width:0}.pc-glyph{color:#e67700;font-size:14px}.pc-ok{font-size:12px!important;padding:2px 9px!important;font-weight:700;background:var(--bp-success)!important;border-color:var(--bp-success)!important;color:#fff!important}.pc-ok:hover:not(:disabled){filter:brightness(1.1)}.pc-ok:disabled{opacity:.4;cursor:default}.pc-cancel{font-size:12px!important;padding:2px 8px!important;color:var(--bp-error)!important}.pc-status{font-size:10.5px;font-weight:600;line-height:1.4;padding:6px 8px;border-left:3px solid}.pc-status-ok{color:var(--bp-success);border-color:var(--bp-success);background:#16a34a14}.pc-status-info{color:var(--bp-text-muted);border-color:var(--bp-border);background:#00000005;font-weight:500}.pc-status-warning{color:var(--bp-warning);border-color:var(--bp-warning);background:#ca8a0414}.pc-status-error{color:var(--bp-error);border-color:var(--bp-error);background:#dc262612}.pc-status-sub{font-weight:500}.pc-row{display:flex;align-items:center;gap:8px}.pc-label,.pc-section>span:first-child{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bp-text-muted)}.pc-seg{display:grid;grid-template-columns:1fr 1fr;gap:3px;flex:1}.pc-seg button{padding:3px 4px;font-size:10.5px;border-radius:3px;cursor:pointer;border:1px solid var(--bp-border);background:var(--bp-bg-surface);color:var(--bp-text)}.pc-seg button.on{background:var(--bp-accent);border-color:var(--bp-accent);color:#fff}.pc-picks{border:1px solid var(--bp-border);border-radius:4px;max-height:132px;overflow-y:auto;background:var(--bp-bg, #fafbfc);padding:2px}.pc-picks-empty{padding:6px 8px;font-style:italic;color:var(--bp-text-muted)}.pc-pick{display:flex;align-items:center;gap:6px;padding:3px 4px 3px 6px;border-radius:3px;background:#0e9cf014;margin:1px}.pc-pick-kind{color:#0e9cf0;width:12px;text-align:center;flex-shrink:0}.pc-pick-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-pick button,.pc-piece-actions button{background:none;border:none;cursor:pointer;color:var(--bp-text-muted);font-size:11px;padding:0 3px;line-height:1}.pc-pick button:hover,.pc-piece-actions button:hover{color:var(--bp-accent)}.pc-link{align-self:flex-start;background:none;border:none;padding:0;cursor:pointer;font-size:10.5px;color:var(--bp-accent)}.pc-link:hover{text-decoration:underline}.pc-fields{display:flex;flex-direction:column;gap:5px}.pc-field{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:6px}.pc-field>span:first-child{color:var(--bp-text)}.pc-field .bp-form-input{font-size:11px;padding:3px 6px;width:100%;min-width:0}.pc-unit-input{display:flex;align-items:center;gap:4px}.pc-unit-input input{text-align:right}.pc-unit-input span{color:var(--bp-text-muted);font-size:10px}.pc-create{display:flex!important;align-items:center;justify-content:center;gap:8px;font-size:11px!important;font-weight:700;padding:5px 8px!important}.pc-create kbd{font-size:9px;font-weight:500;opacity:.75;border:1px solid rgba(255,255,255,.5);border-radius:3px;padding:0 3px;font-family:inherit}.pc-create:disabled{opacity:.5;cursor:not-allowed}.pc-section{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--bp-border-light, var(--bp-border));padding-top:7px}.pc-list{display:flex;flex-direction:column;gap:1px;max-height:190px;overflow-y:auto}.pc-piece{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:3px;cursor:pointer}.pc-piece:hover{background:var(--bp-sidebar-hover, rgba(0, 0, 0, .04))}.pc-piece.selected{background:#0e9cf01f}.pc-piece.editing{box-shadow:inset 2px 0 #e67700}.pc-piece i,.pc-props-link i{display:inline-block;width:10px;height:10px;border-radius:2px;flex-shrink:0}.pc-piece b{font-weight:700}.pc-piece-facts{flex:1;min-width:0;color:var(--bp-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.pc-piece-actions{display:flex;gap:1px;flex-shrink:0}.pc-options summary{cursor:pointer;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bp-text-muted)}.pc-options[open]{display:flex;flex-direction:column;gap:6px}.pc-options[open] summary{margin-bottom:2px}.pc-note{color:var(--bp-text-muted);font-size:10.5px}.pc-note code{font-size:10.5px}.pc-warn{color:var(--bp-warning)}.pc-muted{color:var(--bp-text-muted)}.pc-color{width:36px;height:22px;padding:0;border:1px solid var(--bp-border);border-radius:3px;cursor:pointer}.pc-props{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);display:flex;flex-direction:column;gap:4px}.pc-props-link{cursor:pointer;display:flex;align-items:center;gap:5px}.pc-props-link:hover{color:var(--bp-accent)}.pc-props-list{display:flex;flex-direction:column;gap:1px;max-height:120px;overflow-y:auto;margin-top:2px}.pc-props-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.pc-naming{display:flex;flex-direction:column;gap:8px}.pc-naming-tokens{display:flex;flex-wrap:wrap;gap:4px}.pc-naming-tokens button{font-family:var(--bp-font-mono, monospace);font-size:10px;padding:1px 5px;border-radius:3px;cursor:pointer;border:1px solid var(--bp-border);background:var(--bp-bg-surface);color:var(--bp-text)}.pc-naming-tokens button:hover{border-color:var(--bp-accent);color:var(--bp-accent)}.pc-naming-preview{font-size:11px;color:var(--bp-text-muted)}.pc-naming-preview b{color:var(--bp-text);font-weight:600;margin-right:6px}.pc-naming-materials{display:flex;flex-direction:column;gap:3px}.pc-naming-material{display:grid;grid-template-columns:52px 1fr auto;gap:4px;align-items:center}.pc-naming-material input{font-size:11px;padding:3px 6px;min-width:0}.pc-naming-material button{background:none;border:none;cursor:pointer;color:var(--bp-text-muted)}.pc-naming-material button:hover{color:var(--bp-error)}.pc-materials summary,.pc-materials>summary{cursor:pointer;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bp-text-muted)}.pc-materials{border-top:1px solid var(--bp-border-light, var(--bp-border));padding-top:7px}.pc-material-rows{display:flex;flex-direction:column;gap:4px;margin-top:5px}.pc-material{display:flex;flex-direction:column;gap:3px}.pc-material-row{display:flex;align-items:center;gap:6px;min-width:0}.pc-material-code{flex-shrink:0;min-width:20px;padding:1px 5px;border-radius:3px;text-align:center;font-weight:700;font-size:10.5px;background:var(--bp-bg-elevated, #eef1f4);border:1px solid var(--bp-border)}.pc-material-name{flex:1;min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-material-chip{display:inline-block;width:14px;height:14px;border-radius:3px;flex-shrink:0;border:1px solid rgba(0,0,0,.15);background-size:14px 14px}.pc-material-x{background:none;border:none;cursor:pointer;color:var(--bp-text-muted);font-size:11px;padding:0 2px}.pc-material-x:hover{color:var(--bp-error)}.pc-picker{border:1px solid var(--bp-accent);border-radius:4px;padding:6px;display:flex;flex-direction:column;gap:5px;background:var(--bp-bg-surface)}.pc-picker .bp-form-input{font-size:11px;padding:3px 6px}.pc-picker-scope{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--bp-text-muted);cursor:pointer}.pc-picker-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column}.pc-picker-hit{display:flex;align-items:center;gap:6px;padding:3px 4px;border:none;background:none;cursor:pointer;text-align:left;font-size:11px;color:var(--bp-text);border-radius:3px}.pc-picker-hit:hover{background:#0e9cf01a}.pc-picker-num{font-weight:600;flex-shrink:0}.pc-picker-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--bp-text-muted)}.pc-picker-tex{color:var(--bp-accent);flex-shrink:0}.pc-check{display:flex;align-items:center;gap:6px;cursor:pointer}.ms-piece{display:flex;flex-direction:column;gap:1px;padding:4px;border-radius:3px}.ms-piece:hover{background:var(--bp-sidebar-hover, rgba(0, 0, 0, .04))}.ms-piece-head{display:flex;align-items:center;gap:6px;cursor:pointer}.ms-piece-head b{flex:1}.ms-own{width:96px}.ms-own .bp-form-input{font-size:10.5px;padding:2px 5px;width:64px}.ms-piece-facts{padding-left:22px;font-size:10px}.ms-good{color:var(--bp-success)}.ms-busy{font-style:italic}.pc-spacer{flex:1}.pc-picked{background:var(--bp-primary-subtle, rgba(37, 99, 235, .1))}.ms-piece{cursor:default}.pc-list .ms-piece:hover .pc-material-x{opacity:1}.ms-piece .pc-material-x{opacity:.35}.pc-section .kr-toggle{margin-left:auto;font-weight:400;text-transform:none;letter-spacing:0}.kr-list{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.kr-row{display:flex;align-items:flex-start;gap:6px;padding:4px 6px;border-radius:3px;text-align:left;border:1px solid transparent;background:none;font:inherit;color:inherit;width:100%}.pc-panel button.kr-row,.pc-panel button.kr-row:focus,.pc-panel button.kr-row:active{cursor:pointer;background:transparent;color:var(--bp-text);box-shadow:none}.pc-panel button.kr-row:hover{background:var(--bp-sidebar-hover, rgba(0, 0, 0, .04))}.pc-panel button.kr-row.on,.pc-panel button.kr-row.on:focus{border-color:var(--bp-danger, #c0392b);background:#c0392b14;color:var(--bp-text)}.pc-panel button.kr-row:focus-visible{outline:2px solid var(--bp-accent);outline-offset:1px}.kr-icon{width:12px;flex-shrink:0;font-weight:700}.strain-legend{margin:2px 0 8px}.strain-legend-bar{border:1px solid var(--bp-border);border-radius:2px}.strain-legend-ticks{position:relative;height:12px;margin:2px 6px 0;font-size:8.5px;color:var(--bp-text-muted)}.strain-legend-ticks span{position:absolute;transform:translate(-50%);white-space:nowrap}.strain-legend-caption{display:flex;justify-content:space-between;font-size:9px;color:var(--bp-text-muted)}.kr-source{font-weight:400;text-transform:none;letter-spacing:0;color:var(--bp-text-muted)}.kr-suggest{background:#16a34a12;border-left:3px solid var(--bp-success)}.kr-suggest .kr-icon{color:var(--bp-success)}.kr-gap .kr-icon,.kr-failed .kr-icon{color:var(--bp-danger, #c0392b)}.kr-nonManifold .kr-icon{color:#b0359b}.kr-ok{color:var(--bp-success, #1e8e3e)}.kr-text{flex:1;line-height:1.35}.kr-go{opacity:.5}.kr-summary{font-size:10px}.cad-seam-page .cad-props-section{border-bottom:none}.cad-seam-page .cad-props-section-toggle{padding:5px 6px;border-radius:3px}.cad-seam-page .cad-props-section-body{padding:6px 4px 8px}.seam-end-row{display:grid;grid-template-columns:12px 36px minmax(0,1fr);gap:6px;align-items:baseline;cursor:pointer;padding:2px;border-radius:3px}.seam-end-row:hover{background:var(--bp-sidebar-hover, rgba(0, 0, 0, .04))}.seam-end-row-off{cursor:default}.seam-end-row-off:hover{background:transparent}.seam-table{display:grid;grid-template-columns:28px minmax(0,1fr) 26px 52px 74px;gap:1px 5px;align-items:center;font-size:10.5px}.cad-properties .seam-table{grid-template-columns:26px minmax(0,1fr) 22px 48px 66px;gap:1px 4px;font-size:10px}.seam-table-row>span:last-of-type{white-space:normal;line-height:1.15}.seam-table-head{color:var(--bp-text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em;padding-bottom:2px;border-bottom:1px solid var(--bp-border-light, var(--bp-border))}.seam-table-row{display:contents;cursor:pointer}.seam-table-row-static{cursor:default}.seam-table-row>span{padding:3px 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seam-table-row.lit>span{background:var(--bp-primary-subtle, rgba(37, 99, 235, .1))}.seam-table-num{text-align:right;font-variant-numeric:tabular-nums}.seam-table-controls{grid-column:1 / -1;padding:0 0 6px}.seam-plies-foot{margin-top:4px}.seam-junction{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:6px;align-items:baseline;cursor:pointer;padding:2px;border-radius:3px;font-size:10.5px}.seam-junction:hover{background:var(--bp-sidebar-hover, rgba(0, 0, 0, .04))}.seam-junction-at{text-align:right;font-variant-numeric:tabular-nums}.notch-swatch{font-size:12px;line-height:1;width:12px;text-align:center;flex-shrink:0}.cad-dwg{outline:none;position:relative;display:flex;flex-direction:column;min-height:0}.cad-dwg-head{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}.cad-dwg-head>strong{flex:0 0 auto}.cad-dwg-name.bp-form-input{width:240px;flex:0 1 240px;min-width:120px;font-size:var(--bp-font-size-sm);padding:2px 6px}.cad-dwg-status{white-space:nowrap;flex:0 0 auto}.cad-dwg-error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:0 1 auto}.cad-dwg-ribbon{display:flex;align-items:stretch;gap:2px;padding:0 6px;background:var(--bp-bg-surface);border-bottom:1px solid var(--bp-border);min-height:58px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-user-select:none;user-select:none;flex:0 0 auto}.cad-dwg-rgroup{display:flex;flex-direction:column;justify-content:space-between;padding:3px 6px 2px;border-right:1px solid var(--bp-border)}.cad-dwg-rgroup:last-child{border-right:0}.cad-dwg-rgroup-items{display:flex;align-items:center;gap:1px;flex-wrap:nowrap}.cad-dwg-rgroup-label{font-size:9px;text-align:center;color:var(--bp-text-muted);letter-spacing:.04em;text-transform:uppercase;line-height:1.4;white-space:nowrap}.cad-dwg-rbtn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;padding:3px 5px;border:1px solid transparent;border-radius:var(--bp-radius, 6px);background:transparent;color:var(--bp-text);font:inherit;cursor:pointer}.cad-dwg-rbtn.small{min-width:26px;padding:4px}.cad-dwg-rbtn:hover:not(:disabled){background:var(--bp-accent-dim, rgba(26, 111, 196, .08));border-color:var(--bp-border-light, var(--bp-border))}.cad-dwg-rbtn.on{background:var(--bp-accent-light, rgba(26, 111, 196, .16));border-color:var(--bp-accent, #1a6fc4)}.cad-dwg-rbtn:disabled{opacity:.38;cursor:default}.cad-dwg-rbtn-icon{display:inline-flex;line-height:1}.cad-dwg-rbtn-label{font-size:9px;line-height:1.1;white-space:nowrap}@media(max-width:1100px){.cad-dwg-rbtn-label,.cad-dwg-rgroup-label{display:none}.cad-dwg-ribbon{min-height:40px}.cad-dwg-rbtn{min-width:28px}}.cad-dwg-body{display:flex;min-height:0;flex:1 1 auto}.cad-dwg-left{width:264px;flex:0 0 264px;border-right:1px solid var(--bp-border);overflow-y:auto;background:var(--bp-bg-surface);font-size:var(--bp-font-size-xs)}.cad-dwg-main{flex:1;min-width:0;display:flex;flex-direction:column}.cad-dwg-tabs{flex:0 0 auto}.cad-dwg-cue{margin-left:8px;color:var(--bp-accent, #1a6fc4);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cad-dwg-canvas{background:#d9dde3;flex:1;min-height:0;position:relative}.cad-dwg-canvas.tool-place,.cad-dwg-canvas.tool-project,.cad-dwg-canvas.tool-note,.cad-dwg-canvas.tool-balloon,.cad-dwg-canvas.tool-leader,.cad-dwg-canvas.tool-dimension{cursor:crosshair}.cad-dwg-svg{width:100%;height:100%;display:block}.cad-dwg-canvas.tool-select .cad-dwg-svg [data-view],.cad-dwg-canvas.tool-select .cad-dwg-svg [data-annotation]{cursor:move}.cad-dwg-canvas.tool-select .cad-dwg-svg [data-seam]{cursor:pointer}.cad-dwg-hint{position:absolute;left:10px;bottom:6px;pointer-events:none;background:color-mix(in srgb,var(--bp-bg-elevated, #f6f8fa) 80%,transparent);padding:1px 6px;border-radius:3px}.cad-dwg-tree{padding:4px 0;position:relative}.cad-dwg-trow{display:flex;align-items:center;gap:4px;padding:2px 8px;min-height:22px;cursor:default;white-space:nowrap}.cad-dwg-trow:hover{background:var(--bp-accent-dim, rgba(26, 111, 196, .08))}.cad-dwg-trow.on{background:var(--bp-accent-light, rgba(26, 111, 196, .18))}.cad-dwg-trow.head{font-size:var(--bp-font-size-sm);border-bottom:1px solid var(--bp-border);margin-bottom:2px}.cad-dwg-trow.sheet.active .cad-dwg-tname{font-weight:700}.cad-dwg-trow.empty{color:var(--bp-text-muted);font-style:italic;white-space:normal}.cad-dwg-ttoggle{width:12px;flex:0 0 12px;text-align:center;color:var(--bp-text-muted);cursor:pointer}.cad-dwg-ticon{display:inline-flex;color:var(--bp-text-muted);flex:0 0 auto}.cad-dwg-tname{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.cad-dwg-tacts{display:none;gap:2px;flex:0 0 auto}.cad-dwg-trow:hover .cad-dwg-tacts,.cad-dwg-trow.on .cad-dwg-tacts{display:inline-flex}.cad-dwg-tacts button{border:0;background:transparent;cursor:pointer;font-size:11px;padding:0 3px;color:var(--bp-text-muted);border-radius:3px}.cad-dwg-tacts button:hover{background:var(--bp-bg, #fff);color:var(--bp-text)}.cad-dwg-menu{position:fixed;z-index:1000;min-width:170px;background:var(--bp-bg, #fff);border:1px solid var(--bp-border);border-radius:6px;box-shadow:0 6px 18px #0000002e;padding:4px;display:flex;flex-direction:column}.cad-dwg-menu button{text-align:left;border:0;background:transparent;padding:5px 10px;font:inherit;font-size:var(--bp-font-size-xs);cursor:pointer;border-radius:4px;color:var(--bp-text)}.cad-dwg-menu button:hover{background:var(--bp-accent-dim, rgba(26, 111, 196, .08))}.cad-dwg-menu button.danger{color:var(--bp-error, #dc2626)}.cad-dwg-pm{padding:8px;display:flex;flex-direction:column;gap:8px}.cad-dwg-pm-section{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--bp-border);padding-top:6px}.cad-dwg-pm-title{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bp-text-muted)}.cad-dwg-pm-title:empty{display:none}.cad-dwg-pm-row{display:grid;grid-template-columns:80px 1fr;gap:6px;align-items:center}.cad-dwg-pm-row .bp-form-input,.cad-dwg-pm-section>.bp-form-input,.cad-dwg-pm-section>select{width:100%;font-size:11px;padding:3px 6px}.cad-dwg-pm-check{display:flex;align-items:center;gap:6px;cursor:pointer}.cad-dwg-pm-check input{accent-color:var(--bp-accent, #1a6fc4);margin:0}.cad-dwg-pm-list{display:flex;flex-direction:column;gap:3px;max-height:180px;overflow-y:auto;padding:4px 6px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg, #fff)}.cad-dwg-pm-inline{display:flex;gap:4px}.cad-dwg-pm-note{color:var(--bp-text-muted);line-height:1.4}.cad-dwg-pm-cue{color:var(--bp-accent, #1a6fc4);font-weight:600;padding:6px 8px;border:1px dashed var(--bp-accent, #1a6fc4);border-radius:4px}.cad-dwg-pm-orient{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.cad-dwg-pm-styles{display:flex;gap:3px;flex-wrap:wrap}.cad-dwg-pm-style{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;padding:0 4px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg, #fff);cursor:pointer;font:inherit;font-size:10px;color:var(--bp-text)}.cad-dwg-pm-style.on{border-color:var(--bp-accent, #1a6fc4);background:var(--bp-accent-light, rgba(26, 111, 196, .16))}.cad-dwg-danger{color:var(--bp-error, #dc2626);align-self:flex-start}.cad-dwg-start{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px;font-size:var(--bp-font-size-xs);overflow:auto}.cad-dwg-start-col{display:flex;flex-direction:column;gap:6px}.cad-dwg-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:6px 8px;border:1px solid var(--bp-border);border-radius:var(--bp-radius, 6px);background:var(--bp-bg, #fff);cursor:pointer;color:inherit;font:inherit}.cad-dwg-row:hover{border-color:var(--bp-accent, #1a6fc4)}.cad-dwg-svg{user-select:none;-webkit-user-select:none}.cad-dwg-pm-rotate{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.cad-dwg-handle{cursor:pointer}.cad-dwg-handle.h-nw,.cad-dwg-handle.h-se{cursor:nwse-resize}.cad-dwg-handle.h-ne,.cad-dwg-handle.h-sw{cursor:nesw-resize}.cad-dwg-handle.h-n,.cad-dwg-handle.h-s{cursor:ns-resize}.cad-dwg-handle.h-e,.cad-dwg-handle.h-w{cursor:ew-resize}.cad-dwg-canvas.tool-callout,.cad-dwg-canvas.tool-rotate{cursor:crosshair}.cad-dwg-canvas.tool-rotate .cad-dwg-svg [data-view]{cursor:grab}.cad-dwg-canvas.tool-auto-label{cursor:crosshair}.cad-layout{display:flex;flex-direction:column;height:calc(100vh - 48px);width:100%;overflow:hidden;background:var(--bp-bg-deep)}.cad-layout.cad-embedded{height:100%;border-radius:var(--bp-radius);border:1px solid var(--bp-border)}.cad-workspace{display:flex;flex:1;min-height:0;overflow:hidden}.cad-toolbar{display:flex;align-items:center;gap:2px;padding:4px 8px;background:var(--bp-bg-surface);border-bottom:1px solid var(--bp-border);min-height:44px;overflow:visible;flex-shrink:0;position:relative;z-index:1100}.cad-toolbar-group{display:flex;flex-direction:column;align-items:flex-start;padding:0 6px}.cad-toolbar-group-label{font-family:var(--bp-font);font-size:9px;color:var(--bp-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1px;-webkit-user-select:none;user-select:none}.cad-toolbar-group-tools{display:flex;gap:2px}.cad-toolbar-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 6px;border:1px solid transparent;border-radius:var(--bp-radius);background:transparent;cursor:pointer;transition:all .15s;min-width:42px}.cad-toolbar-btn:hover{background:var(--bp-accent-dim);border-color:var(--bp-border-light)}.cad-toolbar-btn.active{background:var(--bp-accent-light);border-color:var(--bp-accent);color:var(--bp-accent)}.cad-toolbar-btn-icon{font-size:16px;line-height:1}.cad-toolbar-btn-label{font-family:var(--bp-font);font-size:9px;color:var(--bp-text-muted);white-space:nowrap}.cad-toolbar-btn.active .cad-toolbar-btn-label{color:var(--bp-accent)}.cad-toolbar-separator{width:1px;height:28px;background:var(--bp-border);margin:0 4px;flex-shrink:0}.cad-toolbar-plane{margin-left:auto;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);padding:4px 8px;border-radius:var(--bp-radius);cursor:pointer;-webkit-user-select:none;user-select:none}.cad-toolbar-plane:hover{background:var(--bp-accent-dim)}.cad-toolbar-plane strong{color:var(--bp-accent)}.cad-toolbar-right{min-width:0}body:has(.ai-assistant-fab) .cad-layout:not(.cad-embedded) .cad-toolbar{padding-right:72px}.cad-toolbar[data-compact="1"] .cad-toolbar-right .cad-toolbar-btn,.cad-toolbar[data-compact="2"] .cad-toolbar-right .cad-toolbar-btn,.cad-toolbar[data-compact="3"] .cad-toolbar-right .cad-toolbar-btn{min-width:30px;padding:3px 4px}.cad-toolbar[data-compact="1"] .cad-search,.cad-toolbar[data-compact="2"] .cad-search,.cad-toolbar[data-compact="3"] .cad-search{flex-basis:190px;min-width:120px;margin-right:6px}.cad-toolbar[data-compact="1"] .cad-doc-name,.cad-toolbar[data-compact="2"] .cad-doc-name,.cad-toolbar[data-compact="3"] .cad-doc-name{max-width:140px!important;margin-right:6px!important}.cad-toolbar[data-compact="2"] .cad-save-status-text,.cad-toolbar[data-compact="3"] .cad-save-status-text,.cad-toolbar[data-compact="2"] .cad-toolbar-inline .cad-toolbar-btn-label,.cad-toolbar[data-compact="3"] .cad-toolbar-inline .cad-toolbar-btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cad-toolbar[data-compact="2"] .cad-toolbar-inline .cad-toolbar-btn,.cad-toolbar[data-compact="3"] .cad-toolbar-inline .cad-toolbar-btn{min-width:30px}.cad-toolbar[data-compact="3"]{flex-wrap:wrap;row-gap:4px}.cad-viewport-container{flex:1;position:relative;overflow:hidden;min-width:0;z-index:0}.cad-viewport-canvas{width:100%;height:100%;cursor:crosshair}.cad-hud{position:absolute;bottom:8px;left:8px;right:260px;display:flex;flex-wrap:wrap-reverse;gap:4px 8px;pointer-events:none}.cad-hud-item{white-space:nowrap;font-family:var(--bp-font);font-size:10px;color:var(--bp-text-muted);background:#ffffffd9;padding:2px 6px;border-radius:3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cad-hud-view{position:absolute;top:8px;left:8px;right:8px;pointer-events:none;z-index:8;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--bp-font)}.cad-hud-view>*{pointer-events:auto}.cad-hud-view-bar{display:flex;flex-wrap:wrap;justify-content:center;max-width:100%;align-items:center;gap:1px;padding:2px 4px;background:#fffffff2;border:1px solid var(--bp-border);border-radius:6px;box-shadow:0 1px 4px #102a4a1f}.cad-hud-item{position:relative;display:inline-flex;align-items:center}.cad-hud-select{font:inherit;font-size:10px;color:var(--bp-text);background:transparent;border:1px solid transparent;border-radius:3px;padding:0 2px;cursor:pointer}.cad-hud-select:hover,.cad-hud-select:focus{border-color:var(--bp-border);background:var(--bp-bg-surface);outline:none}.cad-hud-btn{display:inline-flex;align-items:center;gap:1px;height:28px;min-width:28px;padding:0 4px;border:1px solid transparent;border-radius:4px;background:transparent;color:#33506f;cursor:pointer}.cad-hud-btn.menu{padding-right:2px}.cad-hud-btn svg:last-child:not(:first-child){color:var(--bp-text-muted)}.cad-hud-btn:hover{background:var(--bp-accent-dim);border-color:#1a6fc440}.cad-hud-btn.on,.cad-hud-btn.open{background:var(--bp-accent-light);color:var(--bp-accent);border-color:#1a6fc459}.cad-hud-btn:focus-visible,.cad-hud-menu-item:focus-visible,.cad-hud-text-btn:focus-visible{outline:2px solid var(--bp-accent);outline-offset:1px}.cad-hud-sep{width:1px;height:18px;margin:0 3px;background:var(--bp-border)}.cad-hud-views{display:inline-flex;align-items:center;gap:3px;padding:0 2px}.cad-hud-views .cad-hud-text-btn{height:24px;padding:0 8px;white-space:nowrap}.cad-hud-menu{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:190px;padding:5px 0;background:#fff;border:1px solid var(--bp-border);border-radius:6px;box-shadow:0 8px 22px #102a4a29;font-size:11px;color:var(--bp-text);z-index:30}.cad-hud-menu.wide{min-width:240px}.cad-hud-menu.right{left:auto;right:0;transform:none}.cad-hud-menu-head{padding:5px 12px 4px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--bp-text-muted)}.cad-hud-menu-sep{height:1px;margin:4px 0;background:var(--bp-border)}.cad-hud-menu-note{padding:0 12px 6px 32px;font-size:10px;color:var(--bp-text-muted)}.cad-hud-menu-item:disabled{opacity:.5;cursor:default}.cad-hud-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:5px 12px;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.cad-hud-menu-item:hover{background:var(--bp-accent-dim)}.cad-hud-menu-item.off{color:var(--bp-text-muted)}.cad-hud-menu-item kbd,.cad-hud-count{margin-left:auto;font-size:9.5px;color:var(--bp-text-muted);font-variant-numeric:tabular-nums}.cad-hud-menu-item kbd{padding:0 4px;border:1px solid var(--bp-border);border-radius:3px;background:#f6f8fb;font-family:inherit}.cad-hud-eye{display:inline-flex;color:var(--bp-accent)}.cad-hud-menu-item.off .cad-hud-eye{color:var(--bp-text-muted)}.cad-hud-radio,.cad-hud-check{width:11px;height:11px;flex:none;border:1px solid #9aa7b4;background:#fff;position:relative}.cad-hud-radio{border-radius:50%}.cad-hud-check{border-radius:2px}.cad-hud-menu-item.checked .cad-hud-radio{border-color:var(--bp-accent)}.cad-hud-menu-item.checked .cad-hud-radio:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--bp-accent)}.cad-hud-menu-item.checked .cad-hud-check{background:var(--bp-accent);border-color:var(--bp-accent)}.cad-hud-menu-item.checked .cad-hud-check:after{content:"";position:absolute;left:3px;top:.5px;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.cad-hud-swatch{width:18px;height:12px;flex:none;border:1px solid var(--bp-border);border-radius:2px}.cad-hud-swatch.light{background:#f0f4f8}.cad-hud-swatch.white{background:#fff}.cad-hud-swatch.gradient{background:linear-gradient(#dbe3ec,#fbfcfd)}.cad-hud-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:6px 12px}.cad-hud-field>span{grid-column:1 / -1;color:var(--bp-text-muted);font-size:10px}.cad-hud-field input[type=range]{width:100%}.cad-hud-field input[type=color]{width:44px;height:24px;padding:0;border:1px solid var(--bp-border);border-radius:3px;background:#fff}.cad-hud-field output{font-size:10px;color:var(--bp-text);font-variant-numeric:tabular-nums;min-width:42px;text-align:right}.cad-hud-seg{grid-column:1 / -1;display:flex;border:1px solid var(--bp-border);border-radius:4px;overflow:hidden}.cad-hud-seg button{flex:1;padding:4px 6px;border:0;border-right:1px solid var(--bp-border);background:#fff;font:inherit;font-size:10px;color:var(--bp-text);cursor:pointer}.cad-hud-seg button:last-child{border-right:0}.cad-hud-seg button.on{background:var(--bp-accent-light);color:var(--bp-accent)}.cad-hud-empty{margin:0;padding:4px 12px 8px;color:var(--bp-text-muted);line-height:1.5;max-width:240px}.cad-hud-text-btn{padding:3px 9px;border:1px solid var(--bp-border);border-radius:4px;background:#fff;font:inherit;font-size:10.5px;color:var(--bp-text);cursor:pointer}.cad-hud-text-btn:hover{border-color:#1a6fc473}.cad-hud-text-btn.on{background:var(--bp-accent-light);color:var(--bp-accent);border-color:#1a6fc459}.cad-hud-text-btn.block{display:block;width:calc(100% - 24px);margin:4px 12px 6px}.cad-hud-section{position:absolute;bottom:44px;left:50%;transform:translate(-50%);z-index:8;display:flex;flex-wrap:wrap;justify-content:center;row-gap:4px;width:max-content;max-width:calc(100% - 150px);align-items:center;gap:8px;padding:5px 8px;background:#fffffff5;border:1px solid #f28c28;border-radius:6px;box-shadow:0 1px 4px #102a4a1f;font-size:11px;color:var(--bp-text);white-space:nowrap}.cad-hud-section-label{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:#7a3d00}.cad-hud-section label{color:var(--bp-text-muted);font-size:10px}.cad-hud-section select{font:inherit;font-size:11px;padding:2px 4px;border:1px solid var(--bp-border);border-radius:3px;background:#fff}.cad-hud-section input[type=range]{width:120px}.cad-hud-num{width:70px;font:inherit;font-size:11px;padding:2px 4px;border:1px solid var(--bp-border);border-radius:3px;text-align:right}.cad-hud-unit{color:var(--bp-text-muted);font-size:10px;margin-left:-4px}.cad-hud-float{position:fixed;z-index:60}.cad-hud-float .cad-hud-menu{position:static;transform:none}.cad-triad{position:absolute;left:8px;bottom:32px;pointer-events:none;z-index:4}.cad-feature-tree{width:240px;min-width:200px;max-width:360px;background:var(--bp-bg-surface);border-right:1px solid var(--bp-border);display:flex;flex-direction:column;overflow:hidden;resize:horizontal}.cad-tree-search{padding:6px 8px;border-bottom:1px solid var(--bp-border)}.cad-tree-search-input{width:100%;padding:4px 8px;border:1px solid var(--bp-border);border-radius:var(--bp-radius);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);background:var(--bp-bg);color:var(--bp-text);outline:none}.cad-tree-search-input:focus{border-color:var(--bp-accent)}.cad-tree-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--bp-border);background:var(--bp-bg-elevated)}.cad-tree-header-label{font-family:var(--bp-font);font-size:var(--bp-font-size-sm);font-weight:600;color:var(--bp-text-heading)}.cad-tree-header-count{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);background:var(--bp-accent-dim);padding:1px 6px;border-radius:10px}.cad-tree-list{flex:1;overflow-y:auto;padding:4px 0}.cad-tree-node{display:flex;align-items:center;gap:6px;padding:4px 10px;cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none;font-family:var(--bp-font);font-size:var(--bp-font-size-xs)}.cad-tree-node:hover{background:var(--bp-accent-dim)}.cad-tree-node.selected{background:var(--bp-accent-light);border-left:2px solid var(--bp-accent);padding-left:8px}.cad-tree-node.suppressed{opacity:.45}.cad-tree-status{font-size:8px;flex-shrink:0}.cad-tree-expander{width:12px;flex-shrink:0;padding:0;border:none;background:none;color:var(--bp-text-muted);font-size:10px;line-height:1;cursor:pointer}.cad-tree-expander:hover{color:var(--bp-accent)}.cad-tree-icon{font-size:13px;flex-shrink:0;width:16px;text-align:center}.cad-tree-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bp-text)}.cad-tree-rename-input{flex:1;padding:1px 4px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);border:1px solid var(--bp-accent);border-radius:3px;outline:none;background:var(--bp-bg);color:var(--bp-text)}.cad-tree-vis-btn{background:none;border:none;cursor:pointer;font-size:11px;color:var(--bp-text-muted);padding:0 2px;flex-shrink:0}.cad-tree-vis-btn:hover{color:var(--bp-accent)}.cad-tree-empty{padding:16px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);text-align:center;line-height:1.6}.cad-context-row{display:flex;align-items:center;gap:4px;padding:3px 10px;font-family:var(--bp-font);font-size:11px;color:var(--bp-text-muted)}.cad-context-row button{padding:1px 7px!important;width:auto!important;border:1px solid var(--bp-border)!important;border-radius:3px}.cad-context-row button.on{border-color:var(--bp-accent)!important;color:var(--bp-accent)}.cad-tree-whats-wrong{margin-left:auto;margin-right:6px;padding:0 6px;border:1px solid var(--bp-error);border-radius:9px;background:transparent;color:var(--bp-error);font-family:var(--bp-font);font-size:9.5px;font-weight:700;line-height:15px;cursor:pointer}.cad-tree-whats-wrong:hover{background:var(--bp-error);color:#fff}.cad-whats-wrong{width:min(640px,100%)}.cad-whats-wrong-list{display:flex;flex-direction:column;gap:4px;overflow:auto;min-height:0}.cad-whats-wrong-row{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border:1px solid var(--bp-border);border-radius:4px;cursor:pointer}.cad-whats-wrong-row:hover{background:var(--bp-accent-dim)}.cad-whats-wrong-glyph{width:14px;font-weight:700;flex-shrink:0}.cad-whats-wrong-row.error .cad-whats-wrong-glyph{color:var(--bp-error)}.cad-whats-wrong-row.warning .cad-whats-wrong-glyph{color:var(--bp-warning)}.cad-whats-wrong-row.healed .cad-whats-wrong-glyph{color:var(--bp-accent)}.cad-whats-wrong-text{flex:1;min-width:0}.cad-whats-wrong-name{font-weight:600}.cad-whats-wrong-line{color:var(--bp-text-muted);font-size:10.5px;overflow-wrap:anywhere}.cad-whats-wrong-actions{display:flex;gap:4px;flex-shrink:0}.cad-delete-ask{width:min(420px,100%)}.cad-delete-ask-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow:auto;padding:4px 0}.cad-delete-ask-row{display:flex;align-items:center;gap:6px;padding:2px 4px}.cad-end-types{display:flex;flex-direction:column;gap:3px}.cad-end-type{display:grid;grid-template-columns:16px 1fr;gap:0 6px;align-items:baseline;padding:4px 6px;border:1px solid var(--bp-border);border-radius:4px;cursor:pointer}.cad-end-type.on{border-color:var(--bp-accent);background:var(--bp-accent-dim)}.cad-end-type input{margin:0}.cad-end-type-label{font-weight:600;font-size:11px}.cad-end-type-note{grid-column:2;font-size:10px;color:var(--bp-text-muted)}.cad-seam-focus{padding:6px 8px;border-left:3px solid var(--bp-accent);background:var(--bp-accent-dim);font-size:11px;display:flex;flex-direction:column;gap:4px}.cad-repair{display:flex;flex-direction:column;min-height:0;overflow:auto}.cad-repair-summary{padding:0 12px 6px;display:flex;flex-direction:column;gap:2px}.cad-repair-bad{color:var(--bp-error);font-size:10.5px}.cad-repair-warn{color:var(--bp-warning);font-size:10.5px}.cad-repair-slot.bad .cad-props-section-toggle{color:var(--bp-error)}.cad-repair-slot.armed{box-shadow:inset 3px 0 0 var(--bp-accent)}.cad-repair-mark{display:inline-block;width:14px;font-weight:700}.cad-repair-mark.ok{color:#3c8a3f}.cad-repair-mark.bad{color:var(--bp-error)}.cad-repair-target{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.cad-repair-suggest{display:flex;align-items:center;gap:6px;margin:2px 0 4px}.cad-repair-suggest-text{flex:1;min-width:0;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-repair-confidence{margin-left:6px;color:var(--bp-text-muted);font-size:9.5px}.cad-repair-healed{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-repair-foot{display:flex;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid var(--bp-border)}.cad-rel-btn.on{border-color:var(--bp-accent);background:var(--bp-accent-dim);color:var(--bp-accent)}.cad-rel-btn.primary{border-color:var(--bp-accent);background:var(--bp-accent);color:#fff}.cad-tree-rollbar{display:flex;align-items:center;gap:4px;height:8px;margin:1px 6px 1px 10px;cursor:row-resize;outline:none}.cad-tree-rollbar-line{flex:1;height:2px;border-radius:1px;background:var(--bp-border);transition:background .1s,height .1s}.cad-tree-rollbar-grip{font-size:9px;line-height:1;color:var(--bp-text-muted);opacity:0;transition:opacity .1s}.cad-tree-rollbar:hover .cad-tree-rollbar-line,.cad-tree-rollbar:focus-visible .cad-tree-rollbar-line,.cad-tree-rollbar.active .cad-tree-rollbar-line{height:3px;background:var(--bp-warning)}.cad-tree-rollbar:hover .cad-tree-rollbar-grip,.cad-tree-rollbar:focus-visible .cad-tree-rollbar-grip,.cad-tree-rollbar.active .cad-tree-rollbar-grip{opacity:1}.cad-tree-rollbar.dragging .cad-tree-rollbar-line{height:3px;background:var(--bp-accent)}.cad-tree-dropline{height:0;border-top:2px solid var(--bp-accent);margin:-1px 8px}.cad-tree-node.seam-drop-before{box-shadow:inset 0 2px 0 var(--bp-accent)}.cad-tree-node.seam-drop-after{box-shadow:inset 0 -2px 0 var(--bp-accent)}.cad-tree-node.seam-drop-into{box-shadow:inset 0 0 0 2px var(--bp-accent)}.cad-tree-node.is-parent{box-shadow:inset 3px 0 #36f;background:#3366ff14}.cad-tree-node.is-child{box-shadow:inset 3px 0 #9c27b0;background:#9c27b014}.cad-tree-node.rolled-back{opacity:.5}.cad-tree-node.rolled-back .cad-tree-name{font-style:italic}.cad-tree-rollback{display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--bp-border);background:var(--bp-bg-elevated)}.cad-tree-rollback-label{flex:1;font-family:var(--bp-font);font-size:10px;color:var(--bp-warning)}.cad-tree-rollback-end{font-family:var(--bp-font);font-size:10px;padding:2px 8px;border:1px solid var(--bp-border);border-radius:3px;background:var(--bp-bg);color:var(--bp-text);cursor:pointer}.cad-tree-rollback-end:hover{border-color:var(--bp-accent)}.cad-context-menu{position:fixed;z-index:1000;background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius);box-shadow:0 4px 16px #00000026;padding:4px 0;min-width:160px}.cad-context-menu button{display:block;width:100%;text-align:left;padding:6px 14px;border:none;background:none;font-family:var(--bp-font);font-size:var(--bp-font-size-sm);color:var(--bp-text);cursor:pointer}.cad-context-menu button:hover{background:var(--bp-accent-dim)}.cad-ctx-group+.cad-ctx-group{border-top:1px solid var(--bp-border);margin-top:4px;padding-top:4px}.cad-ctx-group-label{padding:2px 14px;font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);text-transform:uppercase;letter-spacing:.04em}.cad-context-menu button[disabled]{opacity:.5;cursor:default}.cad-ctx-on{color:var(--bp-accent)}.cad-context-menu hr{border:none;border-top:1px solid var(--bp-border);margin:4px 0}.cad-context-danger{color:var(--bp-error)!important}.cad-properties{width:260px;min-width:200px;max-width:400px;background:var(--bp-bg-surface);border-left:1px solid var(--bp-border);display:flex;flex-direction:column;overflow-y:auto;resize:horizontal;direction:rtl}.cad-properties>*{direction:ltr}.cad-props-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-family:var(--bp-font);font-size:var(--bp-font-size-sm);font-weight:600;color:var(--bp-text-heading);border-bottom:1px solid var(--bp-border);background:var(--bp-bg-elevated)}.cad-props-header-type{font-size:var(--bp-font-size-xs);font-weight:400;color:var(--bp-text-muted);background:var(--bp-accent-dim);padding:1px 6px;border-radius:3px}.cad-props-empty{padding:20px 14px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);text-align:center;line-height:1.6}.cad-props-section{border-bottom:1px solid var(--bp-border)}.cad-props-section-toggle{display:block;width:100%;text-align:left;padding:6px 12px;border:none;background:var(--bp-bg-elevated);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);font-weight:600;color:var(--bp-text);cursor:pointer}.cad-props-section-toggle:hover{background:var(--bp-accent-dim)}.cad-props-section-body{padding:8px 12px}.cad-props-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.cad-props-row label{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);white-space:nowrap}.cad-props-value{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text)}.cad-props-input{padding:3px 6px;border:1px solid var(--bp-border);border-radius:3px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);background:var(--bp-bg);color:var(--bp-text);outline:none;width:100%;max-width:140px}.cad-props-input:focus{border-color:var(--bp-accent)}.cad-props-select{padding:3px 6px;border:1px solid var(--bp-border);border-radius:3px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);background:var(--bp-bg);color:var(--bp-text);outline:none}.cad-props-select:focus{border-color:var(--bp-accent)}.cad-layer-select{position:relative;display:inline-block;min-width:120px;max-width:100%}.cad-layer-select>.cad-layer-select-btn{display:flex;align-items:center;gap:6px;width:100%;padding:3px 6px;border:1px solid var(--bp-border);border-radius:3px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);background:var(--bp-bg);color:var(--bp-text);text-align:left;cursor:pointer;outline:none}.cad-layer-select>.cad-layer-select-btn:hover{background:var(--bp-bg)}.cad-layer-select>.cad-layer-select-btn:focus-visible,.cad-layer-select>.cad-layer-select-btn[aria-expanded=true]{border-color:var(--bp-accent)}.cad-layer-select>.cad-layer-select-btn:disabled{opacity:.6;cursor:not-allowed}.cad-layer-select-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-layer-select-caret{font-size:10px;color:var(--bp-text-muted)}.cad-layer-select-swatch{flex:none;width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.25);box-sizing:border-box}.cad-layer-select-swatch.is-none{background:transparent;border:1px dashed var(--bp-text-muted)}.cad-layer-select-list{position:absolute;left:0;top:calc(100% + 2px);z-index:1000;min-width:100%;max-height:240px;overflow-y:auto;padding:3px 0;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg-surface, var(--bp-bg));box-shadow:0 4px 14px #0000002e}.cad-layer-select-list-up{top:auto;bottom:calc(100% + 2px)}.cad-layer-select-option{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:var(--bp-font-size-xs);color:var(--bp-text);cursor:pointer;white-space:nowrap}.cad-layer-select-option.is-active{background:var(--bp-bg-hover, rgba(0, 0, 0, .06))}.cad-layer-select-option.is-selected{background:var(--bp-accent);color:#fff}.cad-layer-select-option.is-selected .cad-layer-select-swatch{border-color:#ffffffb3}.cad-props-textarea{width:100%;padding:6px 8px;border:1px solid var(--bp-border);border-radius:var(--bp-radius);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);background:var(--bp-bg);color:var(--bp-text);outline:none;resize:vertical}.cad-props-textarea:focus{border-color:var(--bp-accent)}.cad-props-label-header{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);font-weight:600;color:var(--bp-text);margin-bottom:6px;display:block}.cad-props-continuity{margin-top:8px}.cad-search{position:relative;flex:0 1 260px;min-width:170px;margin:0 10px 0 auto}.cad-search-box{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:1px solid var(--bp-border);border-radius:5px;background:var(--bp-bg);color:var(--bp-text-muted)}.cad-search-box.open,.cad-search-box:focus-within{border-color:var(--bp-accent);box-shadow:0 0 0 3px #1a6fc41f}.cad-search-box input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-family:var(--bp-font);font-size:11.5px;color:var(--bp-text)}.cad-search-box input::-webkit-search-cancel-button{display:none}.cad-search-box kbd,.cad-search-row kbd{padding:0 5px;border:1px solid var(--bp-border);border-radius:3px;background:var(--bp-bg-elevated);font-family:var(--bp-font);font-size:9.5px;line-height:16px;color:var(--bp-text-muted);white-space:nowrap}.cad-search-results{position:absolute;top:calc(100% + 4px);right:0;width:min(480px,90vw);z-index:200;padding:4px 0 0;background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-radius:6px;box-shadow:0 12px 32px #102a4a2e;font-family:var(--bp-font);font-size:11px}.cad-search-head{padding:5px 12px 3px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--bp-text-muted)}.cad-search-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 12px;cursor:pointer;color:var(--bp-text)}.cad-search-row.sel{background:var(--bp-accent-dim)}.cad-search-icon{text-align:center;color:var(--bp-accent);font-size:13px}.cad-search-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0}.cad-search-label mark{background:#f28c2847;color:inherit;border-radius:2px}.cad-search-place{flex-basis:100%;font-size:9.5px;color:var(--bp-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-search-state{font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;padding:0 4px;border-radius:3px;color:var(--bp-text-muted);border:1px solid var(--bp-border)}.cad-search-state.on{color:#1f7a45;border-color:#2fa65a66;background:#2fa65a1a}.cad-search-show{visibility:hidden;padding:1px 6px;border:1px solid rgba(26,111,196,.35);border-radius:3px;background:var(--bp-bg-surface);font-family:var(--bp-font);font-size:9.5px;color:var(--bp-accent);cursor:pointer}.cad-search-row.sel .cad-search-show{visibility:visible}.cad-search-foot{display:flex;gap:14px;margin-top:4px;padding:6px 12px;border-top:1px solid var(--bp-border);font-size:9.5px;color:var(--bp-text-muted)}.cad-search-foot .grow{flex:1}@keyframes cad-flash{0%,60%{box-shadow:0 0 0 3px #f28c28e6,0 0 14px #f28c2899}to{box-shadow:0 0 0 3px #f28c2800}}.cad-flash{animation:cad-flash 1.8s ease-out 1;position:relative;z-index:2}@media(prefers-reduced-motion:reduce){.cad-flash{animation:none;box-shadow:0 0 0 3px #f28c28e6}}.cad-dock-frame{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.cad-dock-middle{flex:1;display:flex;min-height:0}.cad-dock-center{flex:1;display:flex;position:relative;min-width:0;min-height:0;overflow:hidden}.cad-dock{display:flex;gap:4px;background:var(--bp-bg-elevated);flex-shrink:0}.cad-dock.top,.cad-dock.bottom{flex-wrap:wrap;align-items:center;padding:3px 6px}.cad-dock.top{border-bottom:1px solid var(--bp-border)}.cad-dock.bottom{border-top:1px solid var(--bp-border)}.cad-dock.left,.cad-dock.right{flex-direction:column;flex-wrap:wrap;align-items:center;padding:6px 3px}.cad-dock.left{border-right:1px solid var(--bp-border)}.cad-dock.right{border-left:1px solid var(--bp-border)}.cad-dock.empty{display:none}.cad-dock.dragging{display:flex;background:repeating-linear-gradient(135deg,rgba(26,111,196,.06) 0 6px,transparent 6px 12px)}.cad-dock.dragging.empty.top,.cad-dock.dragging.empty.bottom{min-height:26px}.cad-dock.dragging.empty.left,.cad-dock.dragging.empty.right{min-width:26px}.cad-dock.target{background:#f28c2829;outline:2px dashed rgba(242,140,40,.8);outline-offset:-2px}.cad-dock-float{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:7}.cad-dock-float>*{pointer-events:auto}.cad-tb{display:flex;align-items:center;gap:1px;padding:2px 3px 2px 1px;background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-radius:4px;font-family:var(--bp-font)}.cad-tb.v{flex-direction:column;padding:1px 2px 3px}.cad-tb.floating{position:absolute;max-width:100%;flex-wrap:wrap;box-shadow:0 4px 14px #102a4a2e}.cad-tb.moving{opacity:.35}.cad-tb.customizing{outline:1px dashed rgba(26,111,196,.5);outline-offset:1px}.cad-tb-grip{align-self:stretch;width:8px;min-height:18px;cursor:grab;touch-action:none;background-image:radial-gradient(#9fb0c3 1px,transparent 1.3px);background-size:3px 3px;background-position:center;border-radius:2px}.cad-tb.v .cad-tb-grip{width:auto;min-height:8px;height:8px;min-width:18px}.cad-tb-grip:hover{background-color:var(--bp-accent-dim)}.cad-tb-close{display:none;align-items:center;justify-content:center;width:14px;height:14px;margin:0 1px;padding:0;border:0;border-radius:3px;background:none;color:var(--bp-text-muted);font-size:13px;line-height:1;cursor:pointer}.cad-tb:hover .cad-tb-close,.cad-tb-close:focus-visible{display:inline-flex}.cad-tb-close:hover{background:#dc26261f;color:var(--bp-error)}.cad-tb.v .cad-tb-close{margin:1px auto}.cad-dropdown-icon svg,.cad-search-icon svg{display:block;margin:auto}.cad-tb-btn{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:#33506f;cursor:pointer}.cad-tb-btn:hover{background:var(--bp-accent-dim);border-color:#1a6fc440}.cad-tb-btn.on{background:var(--bp-accent-light);color:var(--bp-accent);border-color:#1a6fc459}.cad-tb-btn:focus-visible{outline:2px solid var(--bp-accent);outline-offset:1px}.cad-tb-sep{width:1px;height:18px;margin:0 3px;background:var(--bp-border)}.cad-tb.v .cad-tb-sep{width:18px;height:1px;margin:3px 0}.cad-tb-empty{padding:0 8px;font-size:10px;color:var(--bp-text-muted);white-space:nowrap}.cad-tb-drop{width:2px;height:24px;margin:0 1px;background:#f28c28;border-radius:1px}.cad-tb.v .cad-tb-drop{width:24px;height:2px;margin:1px 0}.cad-cmd-glyph{display:inline-block;width:18px;text-align:center;line-height:1;color:var(--bp-accent)}.cad-tb .cad-snap-bar,.cad-tb .cad-select-filter{border:0;background:none;padding:0}.cad-snap-bar.vertical{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.cad-snap-bar.vertical .cad-snap-group{flex-direction:column;align-items:stretch;border-left:0;border-top:1px solid var(--bp-border);padding:3px 0}.cad-snap-bar.vertical button{text-align:left}.cad-select-filter.vertical{flex-direction:column;align-items:stretch}.cad-tb-ghost{position:fixed;z-index:9500;pointer-events:none;display:grid;gap:2px;padding:6px 10px;background:#fffffff2;border:1.5px dashed #f28c28;border-radius:4px;box-shadow:0 6px 16px #102a4a33;font-family:var(--bp-font);font-size:11px;font-weight:600;color:var(--bp-text-heading)}.cad-tb-ghost span{font-weight:400;font-size:9.5px;color:var(--bp-text-muted)}.cad-tb-menu{position:fixed;z-index:9600;min-width:200px;padding:4px 0;background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-radius:6px;box-shadow:0 8px 22px #102a4a2e;font-family:var(--bp-font);font-size:11px}.cad-tb-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:5px 12px 5px 26px;border:0;background:none;font:inherit;color:var(--bp-text);text-align:left;cursor:pointer;position:relative}.cad-tb-menu button:hover{background:var(--bp-accent-dim)}.cad-tb-menu button.checked:before{content:"✓";position:absolute;left:10px;color:var(--bp-accent)}.cad-tb-menu-head{padding:5px 12px 3px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--bp-text-muted)}.cad-tb-menu-sep{height:1px;margin:4px 0;background:var(--bp-border)}.cad-customize-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;padding:24px;pointer-events:none}.cad-customize-backdrop>*{pointer-events:auto}.cad-customize{display:flex;flex-direction:column;width:min(820px,100%);max-height:min(720px,100%);background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-radius:8px;box-shadow:0 20px 60px #102a4a4d;font-family:var(--bp-font);font-size:11.5px;color:var(--bp-text)}.cad-customize-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 6px}.cad-customize-head h2{margin:0;font-size:14px;font-weight:600;color:var(--bp-text-heading)}.cad-customize-x{border:0;background:none;font-size:14px;color:var(--bp-text-muted);cursor:pointer}.cad-customize-tabs{display:flex;gap:2px;padding:0 16px;border-bottom:1px solid var(--bp-border)}.cad-customize-tabs button{padding:6px 12px;border:1px solid transparent;border-bottom:0;border-radius:4px 4px 0 0;background:none;font:inherit;color:var(--bp-text-muted);cursor:pointer}.cad-customize-tabs button.on{border-color:var(--bp-border);background:var(--bp-bg-surface);color:var(--bp-accent);margin-bottom:-1px}.cad-customize-body{display:flex;flex-direction:column;gap:10px;min-height:0;padding:12px 16px}.cad-customize-filter{display:flex;gap:8px}.cad-customize-filter input{flex:1;min-width:0}.cad-customize-filter input,.cad-customize-filter select{padding:5px 8px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg-surface);font:inherit;color:var(--bp-text)}.cad-customize-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--bp-border);border-radius:4px}.cad-customize-table{width:100%;border-collapse:collapse}.cad-customize-table th{position:sticky;top:0;z-index:1;padding:6px 10px;background:var(--bp-bg-elevated);border-bottom:1px solid var(--bp-border);font-size:9px;font-weight:500;letter-spacing:.1em;text-align:left;text-transform:uppercase;color:var(--bp-text-muted)}.cad-customize-table td{padding:5px 10px;border-bottom:1px solid #edf1f6;vertical-align:middle}.cad-customize-table tr.editing td{background:#f28c2812}.cad-customize-table .muted{color:var(--bp-text-muted)}.cad-customize-cmd{display:inline-flex;align-items:center;gap:8px}.cad-customize-cmd>span{width:16px;text-align:center;color:var(--bp-accent)}.cad-customize-key{min-width:70px;padding:2px 6px;border:1px dashed transparent;border-radius:4px;background:none;font:inherit;color:var(--bp-text-muted);text-align:left;cursor:pointer}.cad-customize-key:hover,.cad-customize-key:focus-visible{border-color:#1a6fc480;outline:none}.cad-customize-table kbd,.cad-customize-fixed kbd{padding:0 5px;border:1px solid var(--bp-border);border-bottom-width:2px;border-radius:3px;background:var(--bp-bg-elevated);font-family:var(--bp-font);font-size:10.5px;color:var(--bp-text);white-space:nowrap}.cad-customize-listen{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid #f28c28;border-radius:4px;background:#fff7ee;color:#7a3d00}.cad-customize-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:10.5px;color:#8a4b0b}.cad-customize-note.bad{color:#b3261e}.cad-customize-reset{border:0;background:none;font-size:14px;color:var(--bp-accent);cursor:pointer}.cad-customize-btn{padding:4px 10px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg-surface);font:inherit;font-size:11px;color:var(--bp-text);cursor:pointer}.cad-customize-btn:disabled{opacity:.5;cursor:default}.cad-customize-btn.primary{background:var(--bp-accent);border-color:var(--bp-accent);color:#fff}.cad-customize-fixed{margin:0;font-size:10.5px;line-height:1.7;color:var(--bp-text-muted)}.cad-customize-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px 16px;border-top:1px solid var(--bp-border)}.cad-customize-saved{margin-right:auto;font-size:10.5px;color:var(--bp-text-muted)}.cad-customize-cols{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;min-height:0;flex:1}.cad-customize-col{display:flex;flex-direction:column;gap:8px;min-height:0}.cad-customize-mid{display:flex;flex-direction:column;justify-content:center;gap:8px}.cad-customize-list{flex:1;min-height:220px;max-height:360px;margin:0;padding:2px 0;overflow:auto;list-style:none;border:1px solid var(--bp-border);border-radius:4px}.cad-customize-list li{display:flex;align-items:center;gap:8px;padding:4px 8px;cursor:grab;border-top:2px solid transparent}.cad-customize-list li:hover{background:var(--bp-accent-dim)}.cad-customize-list li.sel{background:var(--bp-accent-light)}.cad-customize-list li>span:nth-of-type(2){margin-left:auto;font-size:9.5px}.cad-customize-list li.drop-before{border-top-color:#f28c28}.cad-customize-list li.drop-end{height:0;padding:0;border-top-color:#f28c28}.cad-customize-list li.empty{cursor:default;justify-content:center;padding:20px}.cad-customize-list.toolbar li.sep{justify-content:center}.cad-customize-remove{margin-left:auto;border:0;background:none;color:var(--bp-text-muted);cursor:pointer}.cad-customize-remove:hover{color:#b3261e}.cad-customize-fixed.wide{grid-column:1 / -1}.cad-customize-actions{display:flex;gap:10px;white-space:nowrap}.cad-customize-link{border:0;background:none;padding:0;font:inherit;font-size:10.5px;color:var(--bp-accent);cursor:pointer}.cad-customize-link.danger{color:#b3261e}.cad-customize-tag{margin-left:6px;padding:0 4px;border-radius:3px;background:#2fa65a1f;color:#1f7a45;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.cad-customize-inline{width:100%;padding:2px 6px;border:1px solid var(--bp-accent);border-radius:3px;font:inherit}.cad-customize-table select{font:inherit;font-size:11px;padding:2px 4px;border:1px solid var(--bp-border);border-radius:3px;background:var(--bp-bg-surface)}.cad-settings-note{margin:4px 0 8px;font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);line-height:1.5}.cad-settings-btn{padding:5px 10px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg-surface);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-accent);cursor:pointer}.cad-btn{padding:4px 10px;border:1px solid var(--bp-border);border-radius:var(--bp-radius);background:var(--bp-bg-surface);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);cursor:pointer;transition:all .15s}.cad-btn:hover{background:var(--bp-accent-dim);border-color:var(--bp-accent)}.cad-btn-sm{padding:2px 6px;font-size:11px}.cad-toolbar-tabs{display:flex;gap:1px;flex-shrink:0}.cad-toolbar-tab{padding:5px 12px;border:1px solid transparent;border-radius:var(--bp-radius) var(--bp-radius) 0 0;background:transparent;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);font-weight:600;color:var(--bp-text-muted);cursor:pointer;transition:all .15s}.cad-toolbar-tab:hover{color:var(--bp-text);background:var(--bp-accent-dim)}.cad-toolbar-tab.active{color:var(--bp-accent);background:var(--bp-accent-light);border-color:var(--bp-border-light);border-bottom-color:transparent}.cad-toolbar-tools{display:flex;align-items:center;gap:2px;flex:1}.cad-toolbar-right{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.cad-toolbar-btn.disabled{opacity:.35;cursor:default}.cad-toolbar-btn.cad-sketch-active{background:var(--bp-success-bg);border-color:var(--bp-success);color:var(--bp-success)}.cad-tree-section-label{font-family:var(--bp-font);font-size:9px;color:var(--bp-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 10px 2px;-webkit-user-select:none;user-select:none}.cad-tree-collapse{background:none;border:none;font-size:8px;color:var(--bp-text-muted);cursor:pointer;padding:0 2px;flex-shrink:0;width:14px;text-align:center}.cad-tree-badge{font-family:var(--bp-font);font-size:8px;color:var(--bp-success);background:var(--bp-success-bg);padding:0 4px;border-radius:3px;margin-left:auto;flex-shrink:0}.cad-tree-node.active-sketch{background:var(--bp-success-bg);border-left:2px solid var(--bp-success);padding-left:8px!important}.cad-tree-node.active-plane{background:var(--bp-accent-dim)}.cad-gumball-toggle{position:absolute;bottom:8px;right:8px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.cad-gumball-row{display:flex;gap:4px;align-items:center}.cad-gumball-modes{display:flex;border:1px solid var(--bp-border);border-radius:var(--bp-radius);overflow:hidden;background:#ffffffe6}.cad-gumball-modes button{padding:4px 8px;border:none;border-right:1px solid var(--bp-border);background:transparent;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);cursor:pointer}.cad-gumball-modes button:last-child{border-right:none}.cad-gumball-modes button.active{background:var(--bp-accent-dim);color:var(--bp-accent);font-weight:600}.cad-gumball-note{font-family:var(--bp-font);font-size:10px;color:var(--bp-text-muted);background:#ffffffeb;border:1px solid var(--bp-border);border-radius:3px;padding:3px 7px;max-width:260px}.cad-gumball-note.readout{color:#102a4a;font-variant-numeric:tabular-nums;font-weight:600}.cad-gumball-input{position:absolute;z-index:30;background:var(--bp-bg-surface);border:1px solid var(--bp-accent);border-radius:4px;box-shadow:0 6px 18px #102a4a2e;padding:6px 8px}.cad-gumball-input label{display:flex;flex-direction:column;gap:4px;font-family:var(--bp-font);font-size:10px;color:var(--bp-text-muted)}.cad-gumball-input input{width:110px;font-family:var(--bp-font);font-size:12px;padding:3px 6px;border:1px solid var(--bp-border);border-radius:3px}.cad-vp-topleft{position:absolute;top:46px;left:8px;max-width:calc(100% - 96px);display:flex;flex-direction:column;align-items:flex-start;gap:6px;z-index:5;pointer-events:none}.cad-vp-topleft>*{pointer-events:auto}.cad-edit-pill{font-family:var(--bp-font);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#102a4a;background:#fffffff0;border:1px solid var(--bp-accent);border-left-width:3px;border-radius:3px;padding:4px 8px}.cad-select-filter{display:flex;align-items:center;gap:2px;background:#ffffffe6;border:1px solid var(--bp-border);border-radius:var(--bp-radius);padding:2px}.cad-select-filter-label{font-family:var(--bp-font);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--bp-text-muted);padding:0 4px}.cad-select-filter button{font-family:var(--bp-font);font-size:10px;padding:2px 6px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--bp-text-muted);text-decoration:line-through;cursor:pointer}.cad-select-filter button.on{color:var(--bp-text);text-decoration:none;background:var(--bp-accent-dim);border-color:#1a6fc440}.cad-snap-bar{display:flex;flex-wrap:wrap;align-items:center;row-gap:2px;max-width:100%;background:#ffffffe6;border:1px solid var(--bp-border);border-radius:var(--bp-radius);padding:2px}.cad-snap-group{display:flex;align-items:center;gap:2px;padding:0 3px;border-left:1px solid var(--bp-border)}.cad-snap-bar button{font-family:var(--bp-font);font-size:10px;white-space:nowrap;padding:2px 6px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--bp-text-muted);text-decoration:line-through;cursor:pointer}.cad-snap-bar button.on{color:var(--bp-text);text-decoration:none;background:var(--bp-accent-dim);border-color:#1a6fc440}.cad-snap-bar button:hover{border-color:#1a6fc466}.cad-snap-group.off>button:not(.cad-snap-group-toggle),.cad-snap-bar.disabled .cad-snap-group>button{opacity:.45}.cad-snap-bar .cad-snap-master,.cad-snap-bar .cad-snap-group-toggle{display:inline-flex;align-items:center;gap:4px;text-decoration:none;background:transparent;border-color:transparent;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.cad-snap-bar .cad-snap-master{margin-right:2px}.cad-snap-bar .cad-snap-master.on,.cad-snap-bar .cad-snap-group-toggle.on,.cad-snap-bar .cad-snap-group-toggle.some{color:var(--bp-text)}.cad-snap-dot{width:7px;height:7px;border-radius:50%;background:#b8c2cc}.cad-snap-master.on .cad-snap-dot{background:#2fa65a;box-shadow:0 0 0 2px #2fa65a33}.cad-snap-check{position:relative;width:10px;height:10px;border:1px solid #9aa7b4;border-radius:2px;background:#fff}.cad-snap-group-toggle.on .cad-snap-check,.cad-snap-group-toggle.some .cad-snap-check{background:var(--bp-accent);border-color:var(--bp-accent)}.cad-snap-group-toggle.on .cad-snap-check:after{content:"";position:absolute;left:2.5px;top:0;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.cad-snap-group-toggle.some .cad-snap-check:after{content:"";position:absolute;left:2px;right:2px;top:4px;height:1.5px;background:#fff}.cad-confirm-corner{position:absolute;top:42px;right:8px;display:flex;gap:4px;z-index:5}.cad-confirm-corner button{width:30px;height:30px;display:grid;place-items:center;border:none;border-radius:4px;color:#fff;cursor:pointer;box-shadow:0 1px 3px #102a4a40}.cad-confirm-corner .ok{background:#2fa65a}.cad-confirm-corner .discard{background:#d64545}.cad-confirm-corner button:hover{filter:brightness(1.08)}.cad-confirm-corner button:focus-visible{outline:2px solid #102a4a;outline-offset:2px}.cad-vp-hint{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:20;font-family:var(--bp-font);font-size:11px;color:#102a4a;background:#fdf1e3;border:1px solid #f2c48e;border-radius:4px;padding:5px 10px;pointer-events:none;white-space:nowrap}.cad-props-locked{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:#102a4a;background:var(--bp-bg);border-bottom:1px solid var(--bp-border)}.cad-props-locked:before{content:"";flex:none;width:9px;height:11px;background:linear-gradient(var(--bp-text-muted),var(--bp-text-muted)) bottom / 9px 7px no-repeat,radial-gradient(circle at 50% 100%,transparent 2.2px,var(--bp-text-muted) 2.4px,var(--bp-text-muted) 3.6px,transparent 3.8px) top / 9px 8px no-repeat}.cad-props-locked span{flex:1}.cad-props-topo{display:flex;flex-direction:column;gap:6px;padding:8px 10px;max-height:50vh;overflow-y:auto}.cad-props-topo-row{font-family:var(--bp-font);font-size:11px;padding:6px 8px;border-radius:4px;background:var(--bp-bg-elevated);border-left:3px solid #0e9cf0}.cad-props-topo-meta{color:var(--bp-text-muted);font-size:10px}.cad-props-topo-id{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;color:var(--bp-text-muted);-webkit-user-select:all;user-select:all}.cad-props-topo-hint{padding:0 10px 10px;font-size:10px;color:var(--bp-text-muted)}.cad-sw-rev-lost{color:var(--bp-warning)}.cad-ctx-locked{padding:4px 14px;font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);background:var(--bp-bg);border-bottom:1px solid var(--bp-border)}.cad-gumball-btn{padding:4px 10px;border:1px solid var(--bp-border);border-radius:var(--bp-radius);background:#ffffffe6;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .15s}.cad-gumball-btn:hover{background:var(--bp-accent-dim);border-color:var(--bp-accent)}.cad-gumball-btn.active{background:var(--bp-accent);color:#fff;border-color:var(--bp-accent)}.cad-constraint-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.cad-constraint-btn{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--bp-border);border-radius:var(--bp-radius);background:var(--bp-bg);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);cursor:pointer;transition:all .15s}.cad-constraint-btn:hover{background:var(--bp-accent-dim);border-color:var(--bp-accent)}.cad-constraint-icon{font-size:14px;width:16px;text-align:center;flex-shrink:0}.cad-constraint-label{white-space:nowrap}.cad-sidebar-toggle{position:relative;z-index:10;width:12px;min-width:12px;border:none;background:#f59e0b;color:#1a1a2e;font-size:10px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;border-radius:0}.cad-sidebar-toggle:hover{background:#d97706}.cad-left-panel{display:flex;flex-direction:column;width:260px;min-width:200px;max-width:380px;background:var(--bp-bg-surface);border-right:1px solid var(--bp-border);overflow:hidden;resize:horizontal}.cad-left-panel .cad-feature-tree{flex:1;width:100%;min-width:unset;max-width:unset;border-right:none;resize:none}.cad-sw-panel{border-top:2px solid var(--bp-border);display:flex;flex-direction:column;max-height:40%;min-height:0;flex-shrink:0;font-family:var(--bp-font)}.cad-sw-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bp-bg-elevated);border-bottom:1px solid var(--bp-border);cursor:pointer;-webkit-user-select:none;user-select:none}.cad-sw-header-label{font-size:var(--bp-font-size-sm);font-weight:600;color:var(--bp-text-heading)}.cad-sw-linked{font-size:9px;font-weight:600;color:var(--bp-success);background:var(--bp-success-bg);padding:1px 6px;border-radius:10px}.cad-sw-source{display:flex;flex-direction:column;padding:6px 10px;border-bottom:1px solid var(--bp-border)}.cad-sw-source-name{font-size:11px;font-weight:600;color:var(--bp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cad-sw-source-meta,.cad-sw-status{font-size:10px;color:var(--bp-text-muted)}.cad-sw-status{padding:4px 10px}.cad-sw-error{color:var(--bp-error)}.cad-sw-banner{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:10px;color:var(--bp-text);background:var(--bp-accent-light);border-bottom:1px solid var(--bp-border)}.cad-sw-banner span{flex:1}.cad-sw-banner-muted{background:var(--bp-bg-elevated)}.cad-sw-revs{list-style:none;margin:0;padding:4px 0;overflow-y:auto;min-height:0}.cad-sw-rev{position:relative;padding:3px 10px 5px 26px}.cad-sw-rev:before{content:"";position:absolute;left:14px;top:0;bottom:0;width:1px;background:var(--bp-border)}.cad-sw-rev:first-child:before{top:9px}.cad-sw-rev:last-child:before{bottom:calc(100% - 9px)}.cad-sw-rev-row{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px}.cad-sw-rev-dot{position:absolute;left:10px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--bp-bg-surface);border:2px solid var(--bp-text-muted);box-sizing:border-box}.cad-sw-rev.current .cad-sw-rev-dot{background:var(--bp-accent);border-color:var(--bp-accent)}.cad-sw-rev-num{font-weight:600;color:var(--bp-text-heading)}.cad-sw-rev-when{color:var(--bp-text-muted);font-size:10px}.cad-sw-tag{margin-left:auto;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--bp-accent);background:var(--bp-accent-dim);padding:1px 5px;border-radius:3px}.cad-sw-tag-latest{color:var(--bp-warning);background:#ca8a041a}.cad-sw-rev-meta,.cad-sw-rev-notes,.cad-sw-rev-details{font-size:10px;color:var(--bp-text-muted)}.cad-sw-rev-notes{color:var(--bp-text);font-style:italic;white-space:pre-wrap}.cad-sw-rev-details{margin-top:4px;padding:6px 8px;background:var(--bp-bg-elevated);border-radius:4px;display:flex;flex-direction:column;gap:3px}.cad-sw-rev-details .bp-btn{align-self:flex-start;margin-top:4px}.cad-sw-rev-bodies{list-style:none;margin:2px 0 0;padding:0;max-height:110px;overflow-y:auto}.cad-sw-rev-body-icon{display:inline-block;width:14px;color:var(--bp-text-muted)}.cad-layer-manager{border-top:2px solid var(--bp-border);display:flex;flex-direction:column;max-height:280px;overflow:hidden}.cad-layer-header{display:flex;align-items:center;padding:6px 10px;background:var(--bp-bg-elevated);border-bottom:1px solid var(--bp-border)}.cad-layer-header-label{font-family:var(--bp-font);font-size:var(--bp-font-size-sm);font-weight:600;color:var(--bp-text-heading)}.cad-layer-category{padding:6px 10px;border-bottom:1px solid var(--bp-border)}.cad-layer-cat-label{font-family:var(--bp-font);font-size:9px;color:var(--bp-text-muted);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:3px}.cad-layer-list{flex:1;overflow-y:auto;padding:2px 0}.cad-layer-row{display:flex;align-items:center;gap:6px;padding:3px 10px;transition:background .1s}.cad-layer-row:hover{background:var(--bp-accent-dim)}.cad-layer-row.hidden{opacity:.4}.cad-layer-row.active-layer{background:var(--bp-accent-light);border-left:3px solid var(--bp-accent);padding-left:7px}.cad-layer-color-wrap{width:18px;height:18px;border-radius:3px;overflow:hidden;flex-shrink:0;border:1px solid var(--bp-border)}.cad-layer-color{width:26px;height:26px;border:none;padding:0;margin:-4px;cursor:pointer}.cad-layer-name{flex:1;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cad-layer-btn{background:none;border:none;cursor:pointer;font-size:11px;color:var(--bp-text-muted);padding:0 2px;flex-shrink:0}.cad-layer-btn:hover{color:var(--bp-accent)}.cad-layer-btn-danger:hover{color:var(--bp-error)}.cad-layer-empty{padding:12px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);text-align:center}.cad-layer-add{display:flex;gap:4px;padding:6px 10px;border-top:1px solid var(--bp-border)}.cad-layer-add-input{flex:1;padding:3px 6px;border:1px solid var(--bp-border);border-radius:3px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);background:var(--bp-bg);color:var(--bp-text);outline:none}.cad-layer-add-input:focus{border-color:var(--bp-accent)}.cad-hud-sketch{background:#16a34a26!important;color:var(--bp-success)!important;font-weight:600}.cad-toolbar-tab-wrap{position:relative}.cad-tab-arrow{margin-left:3px;font-size:8px;opacity:.6}.cad-toolbar-inline{display:flex;align-items:center;gap:2px}.cad-toolbar-inline .cad-toolbar-btn{flex-shrink:0}.cad-dropdown{position:absolute;top:100%;left:0;z-index:1000;min-width:180px;background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-radius:0 0 var(--bp-radius) var(--bp-radius);box-shadow:0 6px 24px #0000002e;padding:4px 0;display:flex;flex-direction:column}.cad-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 14px;border:none;background:none;cursor:pointer;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);text-align:left;transition:background .1s;white-space:nowrap}.cad-dropdown-item:hover{background:var(--bp-accent-dim)}.cad-dropdown-item.active{background:var(--bp-accent-light);color:var(--bp-accent)}.cad-dropdown-item.disabled{opacity:.35;cursor:default}.cad-dropdown-icon{font-size:14px;width:18px;text-align:center;flex-shrink:0}.cad-dropdown-label{flex:1;white-space:nowrap}.cad-dropdown-hint{margin-left:auto;padding-left:12px;font-family:var(--bp-font);font-size:9px;color:var(--bp-text-muted);white-space:nowrap}.cad-dropdown-shortcut{margin-left:auto;background:var(--bp-bg-elevated);border:1px solid var(--bp-border);border-radius:3px;padding:1px 5px;font-family:var(--bp-font);font-size:9px;color:var(--bp-text-muted)}.cad-settings-panel{position:absolute;top:0;right:0;bottom:0;width:320px;max-width:90vw;z-index:200;background:var(--bp-bg-surface);border-left:1px solid var(--bp-border);box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:cad-slide-in-right .2s ease-out}@keyframes cad-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.cad-settings-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--bp-border);background:var(--bp-bg-elevated)}.cad-settings-title{font-family:var(--bp-font);font-size:var(--bp-font-size-sm);font-weight:600;color:var(--bp-text-heading)}.cad-settings-close{background:none;border:none;cursor:pointer;font-size:14px;color:var(--bp-text-muted);padding:2px 4px;border-radius:3px;transition:all .15s}.cad-settings-close:hover{background:var(--bp-accent-dim);color:var(--bp-text)}.cad-settings-body{flex:1;overflow-y:auto;padding:0}.cad-settings-section{border-bottom:1px solid var(--bp-border);padding:12px 14px}.cad-settings-section-title{font-family:var(--bp-font);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--bp-text-muted);margin-bottom:10px}.cad-settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.cad-settings-row label{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);white-space:nowrap}.cad-settings-input{width:60px;padding:3px 6px;border:1px solid var(--bp-border);border-radius:3px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);background:var(--bp-bg);color:var(--bp-text);outline:none}.cad-settings-input:focus{border-color:var(--bp-accent)}.cad-settings-select{padding:3px 6px;border:1px solid var(--bp-border);border-radius:3px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);background:var(--bp-bg);color:var(--bp-text);outline:none}.cad-settings-select:focus{border-color:var(--bp-accent)}.cad-settings-value{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);min-width:32px;text-align:right}.cad-cmd-manager{width:240px;min-width:200px;max-width:300px;background:var(--bp-bg-surface);border-right:1px solid var(--bp-border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.cad-cmd-manager-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--bp-border);background:var(--bp-accent-light)}.cad-cmd-manager-title{font-family:var(--bp-font);font-size:var(--bp-font-size-sm);font-weight:600;color:var(--bp-accent)}.cad-cmd-manager-close{background:none;border:none;cursor:pointer;font-size:13px;color:var(--bp-text-muted);padding:2px 4px;border-radius:3px;transition:all .15s}.cad-cmd-manager-close:hover{background:var(--bp-accent-dim);color:var(--bp-text)}.cad-cmd-manager-steps{flex:1;overflow-y:auto;padding:6px 0}.cad-cmd-step{padding:8px 12px;cursor:pointer;transition:background .1s;border-left:3px solid transparent}.cad-cmd-step:hover{background:var(--bp-accent-dim)}.cad-cmd-step.active{background:var(--bp-accent-light);border-left-color:var(--bp-accent)}.cad-cmd-step.complete{opacity:.7}.cad-cmd-step.pending{opacity:.45}.cad-cmd-step-header{display:flex;align-items:flex-start;gap:6px}.cad-cmd-step-number{font-size:11px;flex-shrink:0;width:14px;text-align:center;color:var(--bp-accent)}.cad-cmd-step.complete .cad-cmd-step-number{color:var(--bp-success)}.cad-cmd-step.pending .cad-cmd-step-number{color:var(--bp-text-muted)}.cad-cmd-step-label{font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);line-height:1.4}.cad-cmd-step-label strong{font-weight:600}.cad-cmd-step-input-wrap{margin-top:6px;margin-left:20px}.cad-cmd-step-input{width:100%;padding:4px 8px;border:1px solid var(--bp-accent);border-radius:3px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);background:var(--bp-bg);color:var(--bp-text);outline:none}.cad-cmd-step-input:focus{box-shadow:0 0 0 2px #1a6fc433}.cad-cmd-step-hint{margin-top:4px;margin-left:20px;font-family:var(--bp-font);font-size:10px;color:var(--bp-text-muted);font-style:italic}.cad-cmd-step-value{margin-top:2px;margin-left:20px;font-family:var(--bp-font);font-size:10px;color:var(--bp-success)}.cad-cmd-manager-preview{padding:6px 12px;border-top:1px solid var(--bp-border)}.cad-cmd-manager-preview label{display:flex;align-items:center;gap:6px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text);cursor:pointer}.cad-cmd-manager-actions{display:flex;gap:6px;padding:8px 12px;border-top:1px solid var(--bp-border);background:var(--bp-bg-elevated)}.cad-cmd-btn{flex:1;padding:5px 10px;border:1px solid var(--bp-border);border-radius:var(--bp-radius);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);font-weight:600;cursor:pointer;transition:all .15s;text-align:center}.cad-cmd-btn-ok{background:var(--bp-accent);color:#fff;border-color:var(--bp-accent)}.cad-cmd-btn-ok:hover{filter:brightness(1.1)}.cad-cmd-btn-cancel{background:var(--bp-bg-surface);color:var(--bp-text)}.cad-cmd-btn-cancel:hover{background:var(--bp-accent-dim);border-color:var(--bp-accent)}.cad-toolbar-file-actions{display:flex;gap:2px;padding:0 8px 0 4px;border-right:1px solid var(--bp-border);margin-right:4px;align-items:center}.cad-file-btn{background:transparent;border:1px solid transparent;color:var(--bp-text-muted);padding:3px 8px;border-radius:var(--bp-radius);font-size:.75rem;cursor:pointer;white-space:nowrap}.cad-file-btn:hover{background:var(--bp-bg-surface);border-color:var(--bp-border);color:var(--bp-text)}.cad-save-indicator{position:absolute;top:40px;right:12px;font-size:.65rem;color:var(--bp-text-muted);z-index:5;pointer-events:none}.cad-recovery-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.cad-recovery-dialog{background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius-lg, 8px);padding:24px;max-width:420px;width:90%}.cad-recovery-dialog h3{margin:0 0 12px;font-size:1rem;color:var(--bp-text)}.cad-recovery-dialog p{margin:0 0 16px;font-size:.85rem;color:var(--bp-text-muted);line-height:1.5}.cad-recovery-actions{display:flex;gap:8px}.cad-btn{padding:6px 16px;border-radius:var(--bp-radius);border:1px solid var(--bp-border);background:var(--bp-bg-surface);color:var(--bp-text);font-size:.8rem;cursor:pointer}.cad-btn:hover{background:var(--bp-bg-hover, var(--bp-bg))}.cad-btn-primary{background:var(--bp-accent);border-color:var(--bp-accent);color:#fff}.cad-btn-primary:hover{opacity:.9}.cad-btn-primary:disabled{opacity:.5;cursor:not-allowed}.cad-file-manager{background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-radius:var(--bp-radius-lg, 8px);width:90%;max-width:540px;max-height:80vh;display:flex;flex-direction:column}.cad-fm-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--bp-border)}.cad-fm-header h3{margin:0;font-size:1rem;color:var(--bp-text)}.cad-fm-close{background:none;border:none;font-size:1.2rem;color:var(--bp-text-muted);cursor:pointer;padding:0 4px}.cad-fm-close:hover{color:var(--bp-text)}.cad-fm-save-as{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--bp-border)}.cad-fm-save-as input{flex:1;padding:6px 10px;border:1px solid var(--bp-border);border-radius:var(--bp-radius);background:var(--bp-bg);color:var(--bp-text);font-size:.8rem}.cad-fm-list{flex:1;overflow-y:auto;padding:8px 0}.cad-fm-empty{padding:24px 20px;text-align:center;font-size:.8rem;color:var(--bp-text-muted)}.cad-fm-row{display:flex;align-items:center;padding:8px 20px;gap:12px}.cad-fm-row:hover{background:var(--bp-bg-hover, var(--bp-bg))}.cad-fm-current{border-left:3px solid var(--bp-accent)}.cad-fm-info{flex:1;cursor:pointer;min-width:0}.cad-fm-name{font-size:.85rem;color:var(--bp-text);display:flex;align-items:center;gap:6px}.cad-fm-badge{font-size:.6rem;padding:1px 5px;border-radius:3px;background:var(--bp-accent);color:#fff}.cad-fm-meta{font-size:.7rem;color:var(--bp-text-muted);margin-top:2px}.cad-fm-actions{display:flex;gap:4px;flex-shrink:0}.cad-btn-sm{padding:2px 8px;font-size:.7rem;border:1px solid var(--bp-border);border-radius:var(--bp-radius);background:var(--bp-bg-surface);color:var(--bp-text-muted);cursor:pointer}.cad-btn-sm:hover{background:var(--bp-bg-hover, var(--bp-bg));color:var(--bp-text)}.cad-btn-danger{border-color:#e74c3c;color:#e74c3c}.cad-btn-danger:hover{background:#e74c3c;color:#fff}.cad-fm-rename{display:flex;gap:4px;flex:1;align-items:center}.cad-fm-rename input{flex:1;padding:4px 8px;border:1px solid var(--bp-accent);border-radius:var(--bp-radius);background:var(--bp-bg);color:var(--bp-text);font-size:.8rem}.cad-fm-footer{padding:8px 20px;border-top:1px solid var(--bp-border)}.cad-fm-hint{font-size:.65rem;color:var(--bp-text-muted)}.cad-command-pane{display:flex;flex-direction:column;width:300px;min-width:260px;flex-shrink:0;background:var(--bp-bg-surface);border-right:1px solid var(--bp-border);overflow-y:auto;min-height:0}.cad-command-pane>*{border-top:none!important}.cad-command-pane .pc-panel{max-height:none;overflow:visible;flex:1}.cad-command-pane .pc-picks{max-height:28vh}.cad-command-pane .pc-list{max-height:none}.cad-right-column{display:flex;flex-direction:column;width:260px;min-width:200px;max-width:400px;flex-shrink:0;border-left:1px solid var(--bp-border);background:var(--bp-bg-surface);min-height:0;overflow:hidden}.cad-right-column>.cad-properties{flex:1;width:100%;min-width:0;max-width:none;border-left:none;min-height:0}.cad-right-column>.cad-layer-manager{flex-shrink:0;max-height:40%}.cad-sw-panel.cad-sw-in-tree{border-top:none;border-left:2px solid var(--bp-border);max-height:none;margin:2px 6px 4px 0}.cad-sw-update-badge{font-family:var(--bp-font);font-size:9.5px;font-weight:700;line-height:1;padding:2px 5px;border-radius:8px;cursor:pointer;white-space:nowrap;border:1px solid var(--bp-accent);background:var(--bp-accent);color:#fff}.cad-sw-update-badge:hover{opacity:.85}.cad-rel-row{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:3px;cursor:pointer;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);color:var(--bp-text)}.cad-rel-row:hover{background:var(--bp-accent-dim)}.cad-rel-row-selected{background:#0e9cf024;outline:1px solid rgba(14,156,240,.5)}.cad-rel-glyph{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 4px;border:1px solid #3c8a3f;border-radius:3px;background:#e3f4d7;color:#215a24;font-weight:700;font-size:11px;line-height:1}.cad-rel-label{flex:1;display:flex;flex-direction:column;min-width:0}.cad-rel-on{color:var(--bp-text-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cad-rel-delete{border:none;background:none;color:var(--bp-text-muted);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:3px}.cad-rel-delete:hover{color:#c62828;background:#c628281a}.cad-rel-add{display:flex;flex-wrap:wrap;gap:4px}.cad-rel-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 7px 3px 4px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg);color:var(--bp-text);font-family:var(--bp-font);font-size:var(--bp-font-size-xs);cursor:pointer}.cad-rel-btn:hover{border-color:#3c8a3f;background:var(--bp-accent-dim)}.cad-dof{padding:6px 12px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs);font-weight:600;border-top:1px solid var(--bp-border)}.cad-dim-modify label{min-width:150px}.cad-hud-grid{pointer-events:auto;cursor:pointer;border:none;font-family:var(--bp-font)}.cad-hud-grid:hover{background:#16a34a47!important}.cad-rel-editor{margin:2px 0 6px 10px;border-left:2px solid rgba(14,156,240,.5)}.cad-rel-editor .cad-props-section{border-bottom:none}.cad-rel-btn-danger:hover{border-color:#c62828;color:#c62828;background:#c6282814}.cad-dim-mode{display:flex;gap:14px;padding:4px 0 2px;font-family:var(--bp-font);font-size:var(--bp-font-size-xs)}.cad-dim-mode label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.cad-dim-modify .cad-dim-modify-mode{display:flex;gap:10px;margin-top:4px;font-size:11px}.cad-dim-modify .cad-dim-modify-mode label{min-width:0;display:inline-flex;align-items:center;gap:3px;cursor:pointer}.cad-boundary-box{display:flex;flex-direction:column;gap:2px;min-height:46px;padding:3px;border:1px dashed var(--bp-border);border-radius:4px;cursor:pointer}.cad-boundary-box-active{border-style:solid}.cad-boundary-prompt{font-size:11px;font-style:italic;padding:4px 5px;color:var(--bp-text-muted)}.cad-boundary-box-active .cad-boundary-prompt{color:var(--bp-text)}.cad-boundary-row{display:flex;align-items:center;gap:5px;padding:2px 3px;border-radius:3px;font-size:11px;font-weight:600;color:var(--bp-text-heading);background:var(--bp-bg-surface)}.cad-boundary-row button{background:none;border:none;cursor:pointer;color:var(--bp-text-muted);font-size:11px;padding:0 2px}.cad-boundary-row button:hover{color:var(--bp-text-heading)}.cad-boundary-swatch{flex:none;width:15px;height:15px;border-radius:3px;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.cad-boundary-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-boundary-badge{flex:none;font-size:9px;font-weight:700;padding:1px 4px;border-radius:8px;background:#2ea04329;color:#2ea043}.cad-boundary-badge-corner{background:#e6770029;color:#e67700}.cad-boundary-badge-error{background:#d9534f2e;color:#d9534f}.cad-ribbon{position:relative;display:flex;align-items:stretch;gap:8px;padding:0 8px;background:var(--bp-bg-surface);border-bottom:1px solid var(--bp-border);min-height:58px;-webkit-user-select:none;user-select:none}.cad-ribbon.collapsed{min-height:28px}.cad-ribbon-stages{display:flex;align-items:center;gap:2px;flex:0 0 auto;padding-right:8px;border-right:1px solid var(--bp-border)}.cad-ribbon-stage{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 6px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--bp-text-muted);font:inherit;font-size:11px;cursor:pointer;white-space:nowrap;position:relative}.cad-ribbon-stage+.cad-ribbon-stage:before{content:"›";position:absolute;left:-6px;top:50%;transform:translateY(-50%);color:var(--bp-border);font-size:12px;pointer-events:none}.cad-ribbon-stage:hover,.cad-ribbon-stage.hover{background:var(--bp-accent-dim);color:var(--bp-text)}.cad-ribbon-stage.active{background:var(--bp-accent);border-color:var(--bp-accent);color:#fff;font-weight:600}.cad-ribbon-stage-n{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid currentColor;font-size:9.5px;font-weight:700;line-height:1}.cad-ribbon-stage.done .cad-ribbon-stage-n{background:var(--bp-success, #059669);border-color:var(--bp-success, #059669);color:#fff}.cad-ribbon-stage.active .cad-ribbon-stage-n{background:#fff;color:var(--bp-accent);border-color:#fff}.cad-ribbon-groups{display:flex;align-items:stretch;gap:2px;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.cad-ribbon-groups.flyout{position:absolute;left:8px;right:8px;top:100%;z-index:30;background:var(--bp-bg-surface);border:1px solid var(--bp-border);border-top:0;border-radius:0 0 var(--bp-radius) var(--bp-radius);box-shadow:0 6px 16px #00000026;padding:0 6px;min-height:58px}.cad-ribbon-group{display:flex;flex-direction:column;justify-content:space-between;padding:3px 6px 2px;border-right:1px solid var(--bp-border)}.cad-ribbon-group:last-child{border-right:0}.cad-ribbon-group-items{display:flex;align-items:center;gap:1px}.cad-ribbon-group-label{font-size:9px;text-align:center;color:var(--bp-text-muted);letter-spacing:.04em;text-transform:uppercase;line-height:1.4;white-space:nowrap}.cad-ribbon-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:40px;padding:3px 5px;border:1px solid transparent;border-radius:var(--bp-radius);background:transparent;color:var(--bp-text);font:inherit;cursor:pointer}.cad-ribbon-btn.small{min-width:26px;padding:4px}.cad-ribbon-btn:hover:not(:disabled){background:var(--bp-accent-dim);border-color:var(--bp-border-light)}.cad-ribbon-btn.on{background:var(--bp-accent-light);border-color:var(--bp-accent)}.cad-ribbon-btn:disabled{opacity:.38;cursor:default}.cad-ribbon-btn-icon{display:inline-flex;line-height:1}.cad-ribbon-btn-label{font-size:9px;line-height:1.1;white-space:nowrap}.cad-ribbon-status{align-self:center;margin-left:6px;font-size:10.5px;color:var(--bp-text);white-space:nowrap}.cad-ribbon-status.muted,.cad-ribbon-status .muted{color:var(--bp-text-muted);font-weight:400}.cad-ribbon-status.warn{color:var(--bp-warning, #b45309)}.cad-ribbon-status.chip{border:1px solid currentColor;border-radius:999px;padding:2px 9px;background:transparent;font:inherit;font-size:10.5px;font-weight:600;cursor:pointer}.cad-ribbon-status.chip.ok{color:var(--bp-success, #059669)}.cad-ribbon-status.chip.bad{color:#fff;background:var(--bp-error, #dc2626);border-color:var(--bp-error, #dc2626)}.cad-ribbon-status.chip.bad .muted{color:#ffffffd9}.cad-ribbon-collapse{align-self:center;margin-left:auto;flex:0 0 auto;width:20px;height:20px;border:1px solid transparent;border-radius:var(--bp-radius);background:transparent;color:var(--bp-text-muted);font-size:11px;cursor:pointer}.cad-ribbon-collapse:hover{background:var(--bp-accent-dim);color:var(--bp-text)}@media(max-width:1100px){.cad-ribbon-btn-label,.cad-ribbon-group-label{display:none}.cad-ribbon,.cad-ribbon-groups.flyout{min-height:40px}.cad-ribbon-btn{min-width:28px}}@media(max-width:760px){.cad-ribbon-stage-label{display:none}.cad-ribbon-stage{padding:3px 6px}}.cad-layer-style{width:84px;min-width:0;font-size:.68rem;padding:1px 4px}.seam-library{display:flex;flex-direction:column;gap:12px;font-family:var(--bp-font-sans);color:var(--bp-text)}.seam-library-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.seam-library-tabs{margin:0}.seam-units{display:flex;align-items:center;gap:6px;font-size:var(--bp-font-size-sm);color:var(--bp-text-muted)}.seam-units select{padding:3px 6px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg);color:var(--bp-text)}.seam-library-body{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:16px;align-items:start}@media(max-width:960px){.seam-library-body{grid-template-columns:1fr}}.seam-list{border:1px solid var(--bp-border);border-radius:8px;background:var(--bp-bg);overflow:hidden}.seam-list-tools{display:flex;gap:6px;padding:8px;border-bottom:1px solid var(--bp-border)}.seam-list-tools input{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg);color:var(--bp-text);font-size:var(--bp-font-size-sm)}.seam-list ul{list-style:none;margin:0;padding:0;max-height:calc(100vh - 260px);overflow-y:auto}.seam-list-item{display:grid;grid-template-columns:12px 1fr auto;grid-template-rows:auto auto;column-gap:8px;padding:8px 10px;border-bottom:1px solid var(--bp-border-light, var(--bp-border));cursor:pointer}.seam-list-item:hover{background:var(--bp-bg-elevated)}.seam-list-item.selected{background:color-mix(in srgb,var(--bp-accent) 12%,transparent);box-shadow:inset 3px 0 0 var(--bp-accent)}.seam-list-swatch{width:10px;height:10px;border-radius:2px;margin-top:4px;grid-row:1 / span 2}.seam-list-name{font-weight:600;font-size:var(--bp-font-size-sm);color:var(--bp-text-bright, var(--bp-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seam-list-meta{grid-column:2 / span 2;font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);font-family:var(--bp-font)}.seam-badge{font-size:9px;padding:1px 5px;align-self:center}.seam-list-empty{padding:20px 14px;text-align:center;color:var(--bp-text-muted);font-size:var(--bp-font-size-sm)}.seam-list-empty p{margin:0 0 10px}.seam-detail{border:1px solid var(--bp-border);border-radius:8px;background:var(--bp-bg);padding:14px 16px;min-width:0}.seam-detail-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.seam-detail-head h2{margin:0;font-size:1.05rem;font-family:var(--bp-font);color:var(--bp-text-heading)}.seam-detail-cols{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.2fr);gap:20px}@media(max-width:1200px){.seam-detail-cols{grid-template-columns:1fr}}.seam-preview{min-width:0}.seam-preview svg{max-width:100%;height:auto}.seam-summary{margin-top:8px;font-size:var(--bp-font-size-sm);color:var(--bp-text-muted);font-family:var(--bp-font)}.seam-savebar{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--bp-border)}.seam-btn-danger{color:var(--bp-error)}.seam-ply-spacer{flex:1}.seam-form{display:flex;flex-direction:column;gap:10px;min-width:0}.seam-field{display:flex;flex-direction:column;gap:3px;min-width:0}.seam-field>label{font-size:var(--bp-font-size-xs);color:var(--bp-text-muted)}.seam-field input[type=text],.seam-field select,.seam-field textarea{padding:6px 8px;border:1px solid var(--bp-border);border-radius:5px;background:var(--bp-bg);color:var(--bp-text);font-family:var(--bp-font-sans);font-size:var(--bp-font-size-sm);box-sizing:border-box;width:100%}.seam-field textarea{resize:vertical}.seam-field .invalid,.seam-length .invalid{border:1.5px solid var(--bp-error)}.seam-field-row{flex-direction:row;align-items:center;gap:8px}.seam-field-row>label{min-width:40px}.seam-field-row input[type=color]{width:32px;height:24px;padding:0;border:1px solid var(--bp-border);border-radius:4px;cursor:pointer}.seam-field-row input.seam-hex{width:90px;font-family:var(--bp-font)}.seam-field-pair{display:flex;gap:10px}.seam-field-pair>.seam-field:first-child{flex:1}.seam-field-narrow{width:110px;flex-shrink:0}.seam-length{display:flex;align-items:center;gap:6px}.seam-field .seam-length input{width:110px;padding:4px 8px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg);color:var(--bp-text);font-family:var(--bp-font);font-size:var(--bp-font-size-sm)}.seam-length span{font-size:var(--bp-font-size-xs);color:var(--bp-text-muted)}.seam-field-error{font-size:var(--bp-font-size-xs);color:var(--bp-error)}.seam-hint{font-size:var(--bp-font-size-xs);color:var(--bp-text-muted)}.seam-section-label{font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);font-family:var(--bp-font);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.seam-ply{border:1px solid var(--bp-border);border-left:4px solid;border-radius:8px;background:var(--bp-bg)}.seam-ply-head{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.seam-ply-role{color:#fff;padding:1px 8px;border-radius:4px;font-size:var(--bp-font-size-xs);font-family:var(--bp-font);font-weight:600}.seam-ply-name{font-size:var(--bp-font-size-sm)}.seam-ply-allowance{font-size:var(--bp-font-size-xs);color:var(--bp-text-muted);font-family:var(--bp-font)}.seam-ply-caret{font-size:.7rem;color:var(--bp-text-muted)}.seam-ply-body{padding:2px 12px 12px;display:flex;flex-direction:column;gap:8px}.seam-link-danger{background:none;border:none;color:var(--bp-error);cursor:pointer;font-size:var(--bp-font-size-xs);padding:2px 6px}.seam-disclosure{align-self:flex-start;background:none;border:none;padding:2px 0;cursor:pointer;font-size:var(--bp-font-size-xs);color:var(--bp-text-muted)}.seam-tolerances{padding-left:8px;border-left:2px solid var(--bp-border);display:flex;flex-direction:column;gap:6px}.seam-add-ply{padding:7px 10px;border-radius:6px;border:1px dashed var(--bp-border);background:transparent;color:var(--bp-accent);cursor:pointer;font-size:var(--bp-font-size-sm)}.seam-add-ply:disabled{color:var(--bp-text-muted);cursor:not-allowed}.seam-issues{padding:8px 10px;border-radius:6px;font-size:var(--bp-font-size-sm)}.seam-issues-error{background:var(--bp-error-bg, rgba(230, 57, 70, .08));border:1px solid var(--bp-error);color:var(--bp-error)}.seam-issues-warning{background:var(--bp-warning-bg, rgba(242, 140, 40, .08));border:1px solid var(--bp-warning);color:var(--bp-warning)}.ls-editor{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:20px;align-items:start}@media(max-width:760px){.ls-editor{grid-template-columns:1fr}}.ls-list{display:flex;flex-direction:column;gap:2px;border:1px solid var(--bp-border);border-radius:6px;padding:4px;background:var(--bp-bg-deep)}.ls-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:5px 8px;border:1px solid transparent;border-radius:4px;background:none;color:var(--bp-text);font-family:var(--bp-font);font-size:var(--bp-font-size-sm);text-align:left;cursor:pointer}.ls-row:hover{background:var(--bp-accent-dim)}.ls-row.on{border-color:var(--bp-accent);background:var(--bp-accent-dim)}.ls-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-row-user{color:var(--bp-accent);font-weight:700}.ls-row-preview{color:var(--bp-text)}.ls-row-weight{font-family:var(--bp-font-mono, monospace);font-size:.68rem;color:var(--bp-text-muted);font-variant-numeric:tabular-nums}.ls-list-actions{display:flex;gap:6px;padding:6px 4px 2px}.ls-detail{display:grid;gap:10px}.ls-hint{font-size:var(--bp-font-size-xs);color:var(--bp-text-muted)}.ls-pattern{display:grid;gap:6px}.ls-pattern-mode{display:flex;gap:14px;font-size:var(--bp-font-size-sm)}.ls-pattern-mode label{display:flex;align-items:center;gap:5px;cursor:pointer}.ls-pair{display:grid;grid-template-columns:18px 1fr 1fr auto;align-items:center;gap:8px}.ls-pair label{display:flex;align-items:center;gap:6px;font-size:var(--bp-font-size-xs);color:var(--bp-text-muted)}.ls-pair label input{width:80px}.ls-pair-n{font-family:var(--bp-font-mono, monospace);font-size:.68rem;color:var(--bp-text-muted);text-align:right}.ls-preview{padding:8px 10px;border:1px solid var(--bp-border);border-radius:4px;background:var(--bp-bg-deep);color:var(--bp-text);width:fit-content;max-width:100%}.field-app{--f-navy: #102a4a;--f-navy-2: #183558;--f-ground: #eef3f8;--f-card: #ffffff;--f-line: #d5dfea;--f-line-soft: #e6edf4;--f-ink: #0f2440;--f-text: #243648;--f-muted: #5f7489;--f-blue: #1a6fc4;--f-blue-soft: rgba(26, 111, 196, .1);--f-amber: #f59e0b;--f-amber-ink: #7a4600;--f-green: #15803d;--f-red: #c0262d;--f-radius: 14px;--f-mono: var(--bp-font, "IBM Plex Mono", Consolas, monospace);display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--f-ground);color:var(--f-text);font-family:var(--bp-font-sans, system-ui, sans-serif);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}.field-app *:focus-visible{outline:3px solid var(--f-blue);outline-offset:2px}.field-app a{color:var(--f-blue)}.f-mono{font-family:var(--f-mono);font-size:.92em;letter-spacing:.01em}.f-main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.f-page{padding-bottom:44px}.f-body>.f-pre{padding:0 2px}.f-body{padding:14px 16px 0;display:flex;flex-direction:column;gap:12px}.f-offline{display:flex;align-items:center;gap:8px;justify-content:center;padding:7px 12px;background:var(--f-amber);color:#2a1a00;font-size:13px;font-weight:600}.f-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:4px;min-height:56px;padding:6px 10px 6px 16px;background:var(--f-navy);color:#fff}.f-bar:has(.f-bar-btn){padding-left:4px}.f-bar-btn{width:44px;height:44px;display:grid;place-items:center;flex:none;border:0;background:none;color:#fff;border-radius:10px;cursor:pointer}.f-bar-btn:active{background:var(--f-navy-2)}.f-bar-title{flex:1;min-width:0}.f-bar-title h1{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.f-bar-sub{font-size:13px;color:#a9c0d8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.f-bar-action{flex:none}.f-bar-cta{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 14px;border-radius:20px;background:var(--f-amber);color:#2a1a00!important;font-weight:700;font-size:15px;text-decoration:none}.f-hero{background:var(--f-navy);color:#fff;padding:12px 16px 64px}.f-hero-top{display:flex;align-items:center;justify-content:space-between;min-height:44px}.f-logo{font-family:var(--f-mono);font-weight:700;letter-spacing:2px;font-size:18px}.f-logo span{color:#5ba3e6}.f-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--f-blue);color:#fff!important;font-weight:700;text-decoration:none}.f-avatar-lg{width:56px;height:56px;font-size:22px;flex:none}.f-hello{margin:18px 0 0;font-size:26px;font-weight:700;letter-spacing:-.02em}.f-hello-sub{margin:2px 0 0;color:#a9c0d8;font-size:15px}.f-capture{margin:-48px 16px 0;display:flex;flex-direction:column;gap:10px}.f-capture-main{display:flex;align-items:center;gap:14px;padding:16px;background:var(--f-card);border-radius:var(--f-radius);text-decoration:none;color:var(--f-ink)!important;box-shadow:0 1px 2px #0f24400f,0 8px 24px #0f24401f}.f-capture-main:active{transform:scale(.99)}.f-capture-inline{box-shadow:none;border:1px solid var(--f-line)}.f-capture-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;flex:none;background:var(--f-amber);color:#2a1a00}.f-capture-main strong{display:block;font-size:18px}.f-capture-main small{display:block;color:var(--f-muted);font-size:14px;margin-top:2px}.f-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.f-quick-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;background:var(--f-card);border:1px solid var(--f-line);border-radius:12px;color:var(--f-ink)!important;text-decoration:none;font-size:13px;font-weight:600;text-align:center}.f-quick-btn svg{color:var(--f-blue)}.f-quick-btn:active{background:var(--f-line-soft)}.f-section{padding:22px 16px 0}.f-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.f-section-head h2{margin:0;font-size:17px;font-weight:700;color:var(--f-ink);display:flex;align-items:center;gap:8px}.f-section-link{font-size:15px;font-weight:600;text-decoration:none;padding:6px 0}.f-ws{font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;border-radius:4px}.f-ws-orders{background:#1a6fc41f;color:#145aa0}.f-ws-design{background:#7c4dc41f;color:#6d3fb0}.f-ws-production{background:#f59e0b29;color:#7a4600}.f-ws-items{background:#0f766e1f;color:#0f766e}.f-list-label{margin:10px 0 0;font:600 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--f-muted)}.f-more-note{margin:6px 2px 0;font-size:14px;color:var(--f-muted)}.f-list,.f-card{background:var(--f-card);border:1px solid var(--f-line);border-radius:var(--f-radius);overflow:hidden}.f-row{width:100%;display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 12px 10px 14px;border:0;border-top:1px solid var(--f-line-soft);background:none;text-align:left;color:var(--f-ink)!important;text-decoration:none;font:inherit;cursor:pointer}.f-list>.f-row:first-child,.f-list>.f-job:first-child>.f-row{border-top:0}.f-row:active{background:var(--f-line-soft)}div.f-row{cursor:default}.f-row-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--f-blue-soft);color:var(--f-blue)}.f-row-thumb{width:48px;height:48px;border-radius:10px;object-fit:cover;flex:none;background:var(--f-line-soft)}.f-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.f-row-title{font-weight:600;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f-row-sub{font-size:14px;color:var(--f-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f-row-chev{color:#9fb2c6;flex:none}.f-chip{display:inline-flex;align-items:center;flex:none;white-space:nowrap;font-size:12.5px;font-weight:700;padding:4px 9px;border-radius:999px;background:#e8eef4;color:#3a4d61}.f-chip-blue{background:#1a6fc41f;color:#145aa0}.f-chip-amber{background:#f59e0b2e;color:#7a4600}.f-chip-green{background:#16a34a21;color:#11632f}.f-chip-red{background:#dc26261f;color:#a11d23}.f-chip-purple{background:#7c4dc41f;color:#5c3499}.f-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.f-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.f-stats>div{background:var(--f-card);border:1px solid var(--f-line);border-radius:12px;padding:10px;text-align:center}.f-stats strong{display:block;font-size:26px;line-height:1.1;color:var(--f-ink);font-variant-numeric:tabular-nums}.f-stats span{font-size:13px;color:var(--f-muted)}.f-empty{padding:18px 16px;text-align:center;color:var(--f-muted);background:var(--f-card);border:1px dashed var(--f-line);border-radius:var(--f-radius);font-size:15px}.f-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;font-size:15px}.f-note-error{background:#dc262614;color:#8f1c21;border:1px solid rgba(220,38,38,.25)}.f-link-btn{border:0;background:none;color:var(--f-blue);font:inherit;font-weight:700;padding:8px 4px;cursor:pointer;white-space:nowrap}.f-skeleton{gap:8px;flex-direction:column;align-items:stretch;justify-content:center}.f-sk-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#e6edf4,#f3f6fa,#e6edf4);background-size:200% 100%;animation:f-shimmer 1.2s infinite linear;width:70%}.f-sk-short{width:40%}@keyframes f-shimmer{to{background-position:-200% 0}}.f-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 18px;border-radius:12px;border:1px solid transparent;font:inherit;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer}.f-btn:disabled{opacity:.55}.f-btn-block{width:100%}.f-btn-sm{min-height:40px;padding:0 14px;font-size:15px}.f-btn-primary{background:var(--f-blue);color:#fff!important}.f-btn-primary:active{background:#145aa0}.f-btn-secondary{background:var(--f-card);color:var(--f-ink)!important;border-color:var(--f-line)}.f-btn-secondary:active{background:var(--f-line-soft)}.f-btn-success{background:var(--f-green);color:#fff}.f-btn-danger{background:var(--f-card);color:var(--f-red);border-color:#c0262d59;margin-top:8px}.f-btn-capture{background:var(--f-amber);color:#2a1a00}.f-btn-capture:active{background:#d98a07}.f-form{gap:16px}.f-field{display:flex;flex-direction:column;gap:6px}.f-label{font-weight:700;font-size:15px;color:var(--f-ink)}.f-hint{font-size:13.5px;color:var(--f-muted)}.f-input{width:100%;min-height:50px;padding:12px 14px;border:1px solid #b9c9da;border-radius:12px;background:#fff;font:inherit;font-size:16px;color:var(--f-ink)}textarea.f-input{min-height:92px;resize:vertical}.f-input:focus{outline:none;border-color:var(--f-blue);box-shadow:0 0 0 3px var(--f-blue-soft)}.f-suggest{display:flex;flex-direction:column;border:1px solid var(--f-line);border-radius:12px;overflow:hidden;background:#fff}.f-suggest button{min-height:48px;padding:10px 14px;border:0;border-top:1px solid var(--f-line-soft);background:none;text-align:left;font:inherit;color:var(--f-ink);cursor:pointer}.f-suggest button:first-child{border-top:0}.f-suggest button:active{background:var(--f-line-soft)}.f-picked{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:4px 6px 4px 14px;border-radius:12px;background:var(--f-blue-soft);color:var(--f-ink);font-weight:600}.f-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#dfe7f0;border-radius:12px}.f-seg-4{grid-template-columns:repeat(4,minmax(0,1fr))}.f-seg button{min-height:42px;border:0;border-radius:9px;background:none;font:inherit;font-weight:700;font-size:15px;color:var(--f-muted);cursor:pointer}.f-seg button.on{background:#fff;color:var(--f-ink);box-shadow:0 1px 3px #0f24401f}.f-search{display:flex;align-items:center;gap:8px;min-height:52px;padding:0 6px 0 14px;background:#fff;border:1px solid #b9c9da;border-radius:14px;color:var(--f-muted)}.f-search:focus-within{border-color:var(--f-blue);box-shadow:0 0 0 3px var(--f-blue-soft)}.f-search input{flex:1;min-width:0;border:0;outline:none;font:inherit;font-size:17px;color:var(--f-ink);background:none;min-height:48px}.f-search input::-webkit-search-cancel-button{display:none}.f-search-clear{width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--f-muted);border-radius:10px}.f-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--f-text)}.f-toggle input{width:20px;height:20px;accent-color:var(--f-blue)}.f-status-card{background:var(--f-card);border:1px solid var(--f-line);border-radius:var(--f-radius);padding:14px;display:flex;flex-direction:column;gap:10px}.f-status-card p{margin:0}.f-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.f-status-meta{font-size:14px;color:var(--f-muted)}.f-progress{height:10px;border-radius:5px;background:#e2e9f1;overflow:hidden}.f-progress span{display:block;height:100%;background:var(--f-blue);border-radius:5px;transition:width .4s ease}.f-capture-pair{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}.f-capture-pair .f-btn{min-height:64px;flex-direction:column;gap:4px;font-size:15px}.f-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--f-line-soft);color:var(--f-ink);flex-wrap:wrap}.f-upload{padding:12px 14px;border-top:1px solid var(--f-line-soft);display:flex;flex-direction:column;gap:6px}.f-card-head+.f-upload{border-top:0}.f-upload-top{display:flex;justify-content:space-between;gap:10px}.f-upload-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.f-upload-fail{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#8f1c21;font-size:14px}.f-upload-actions{display:flex;gap:8px;flex:none}.f-clip{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--f-line-soft)}.f-card-head+.f-clip{border-top:0}.f-clip-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--f-line-soft);font:600 13px/1 var(--f-mono);color:var(--f-ink);flex:none}.f-clip-text{flex:1;min-width:0;display:flex;flex-direction:column}.f-tips{background:var(--f-card);border:1px solid var(--f-line);border-radius:var(--f-radius);padding:0 14px}.f-tips summary{display:flex;align-items:center;gap:8px;min-height:52px;font-weight:700;color:var(--f-ink);cursor:pointer;list-style:none}.f-tips summary::-webkit-details-marker{display:none}.f-tips summary svg{color:var(--f-blue)}.f-tips ul{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:15px}.f-pre{margin:0;white-space:pre-wrap;padding:12px 14px;font-size:15px}.f-card .f-pre{padding-top:10px}.f-job{border-top:1px solid var(--f-line-soft)}.f-job>.f-row{border-top:0}.f-job.open>.f-row{background:var(--f-blue-soft)}.f-job-body{padding:4px 14px 14px;display:flex;flex-direction:column;gap:10px}.f-job-body p{margin:0}.f-job-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:15px}.f-job-items li{display:flex;align-items:center;gap:8px}.f-job-actions{display:flex;flex-wrap:wrap;gap:8px}.f-job-actions .f-btn{flex:1 1 auto}.f-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.f-step{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;border-top:1px solid var(--f-line-soft)}.f-step:first-child{border-top:0}.f-step-name{font-weight:600}.f-step-complete .f-step-name,.f-step-skipped .f-step-name{color:var(--f-muted)}.f-item-hero{display:flex;gap:14px;align-items:center}.f-item-hero img,.f-item-noimg{width:88px;height:88px;border-radius:14px;object-fit:cover;flex:none;background:#fff;border:1px solid var(--f-line)}.f-item-noimg{display:grid;place-items:center;color:#9fb2c6}.f-item-hero h2{margin:0;font-size:20px;color:var(--f-ink);line-height:1.25}.f-facts{margin:0;display:grid;grid-template-columns:minmax(84px,auto) 1fr;gap:0;background:var(--f-card);border:1px solid var(--f-line);border-radius:var(--f-radius);overflow:hidden;font-size:15px}.f-facts dt,.f-facts dd{margin:0;padding:11px 14px;border-top:1px solid var(--f-line-soft)}.f-facts dt{color:var(--f-muted);font-weight:600}.f-facts dd{color:var(--f-ink);overflow-wrap:anywhere}.f-facts dt:first-of-type,.f-facts dt:first-of-type+dd{border-top:0}.f-facts-tight{border:0;background:none}.f-facts-tight dt,.f-facts-tight dd{padding:7px 0}.f-action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.f-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.f-gallery button{padding:0;border:0;border-radius:10px;overflow:hidden;aspect-ratio:1;background:var(--f-line-soft);cursor:pointer}.f-gallery img{width:100%;height:100%;object-fit:cover;display:block}.f-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#050c16f0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 12px 24px}.f-viewer img{max-width:100%;max-height:80%;object-fit:contain;border-radius:6px}.f-viewer-close{position:absolute;top:max(10px,env(safe-area-inset-top));right:10px;width:48px;height:48px;border:0;border-radius:50%;background:#ffffff1f;color:#fff;display:grid;place-items:center}.f-viewer-cap{margin-top:12px;color:#c9d7e6;font-size:14px}.f-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px}.f-contact-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:12px;background:var(--f-card);border:1px solid var(--f-line);text-decoration:none;font-weight:700;font-size:14px;color:var(--f-blue)!important}.f-contact-btn:active{background:var(--f-line-soft)}.f-line{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 14px;border-top:1px solid var(--f-line-soft);font-size:15px}.f-line:first-child{border-top:0}.f-line strong{grid-column:2;grid-row:1 / span 2;align-self:center;font-variant-numeric:tabular-nums;color:var(--f-ink)}.f-address{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--f-card);border:1px solid var(--f-line);border-radius:var(--f-radius);text-decoration:none;font-weight:600}.f-account{display:flex;align-items:center;gap:14px;padding:14px;background:var(--f-card);border:1px solid var(--f-line);border-radius:var(--f-radius)}.f-account div{display:flex;flex-direction:column;min-width:0}.f-account strong{font-size:18px;color:var(--f-ink)}.f-account span{font-size:14px;color:var(--f-muted);overflow:hidden;text-overflow:ellipsis}.f-tabs{flex:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border-top:1px solid var(--f-line);padding:4px 4px max(4px,env(safe-area-inset-bottom))}html.native-shell .f-tabs{padding-bottom:4px}.f-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;border-radius:12px;text-decoration:none;color:#6b7f94!important;font-size:12px;font-weight:700}.f-tab.active{color:var(--f-blue)!important}.f-tab-icon{display:grid;place-items:center;width:44px;height:30px;border-radius:15px}.f-tab.active .f-tab-icon{background:var(--f-blue-soft)}.f-tab-primary .f-tab-icon{width:54px;height:54px;border-radius:50%;margin-top:-22px;background:var(--f-amber);color:#2a1a00;box-shadow:0 4px 12px #7a46004d;border:3px solid #fff}.f-tab-primary.active .f-tab-icon{background:var(--f-amber)}.f-tab-primary{color:var(--f-amber-ink)!important}@media(prefers-reduced-motion:reduce){.f-sk-line{animation:none}.f-progress span{transition:none}}
