#leader-prop-sec[hidden],#drawing-sheet-prop-sec[hidden]{display:none}#right-panel[data-property-context=drawing-sheet] #rp-draw-props>.rp-sec:not(#drawing-sheet-prop-sec),#right-panel[data-property-context=drawing-sheet] #rp-node-edit-props{display:none!important}.sheet-property-fields{display:grid;gap:8px}.sheet-property-field{display:grid;grid-template-columns:82px minmax(0,1fr);gap:6px;align-items:center;font-size:12px}.sheet-property-value{display:flex;gap:4px;align-items:center;min-width:0}.sheet-property-fields input,.sheet-property-fields select{box-sizing:border-box;width:100%;min-width:0;padding:5px;border:1px solid var(--c-border, #ccc);border-radius:3px;font:inherit}.sheet-style-caption{padding-top:8px;border-top:1px solid var(--c-border, #ddd);font-size:12px;font-weight:600}.sheet-property-hint{margin:0;font-size:11px;line-height:1.5;opacity:.7}#right-panel[data-property-context=leader] #rp-draw-list,#right-panel[data-property-context=leader] #rp-draw-props>.rp-sec:not(#leader-prop-sec):not(#dimension-prop-sec),#right-panel[data-property-context=leader] #dimension-prop-sec .dimension-style-field:has([data-dimension-prop=precision]),#right-panel[data-property-context=leader] #rp-node-edit-props{display:none!important}.leader-property-fields{display:grid;gap:8px}.leader-property-fields label{display:grid;grid-template-columns:65px minmax(0,1fr);gap:8px;align-items:center;font-size:12px}.leader-property-fields input,.leader-property-fields textarea,.leader-property-fields select{box-sizing:border-box;width:100%;min-width:0;padding:5px;border:1px solid var(--c-border, #ccc);border-radius:3px;font:inherit}.leader-property-fields textarea{resize:vertical}#dlg-box.dlg-form-mode{max-height:90vh}#dlg-form-wrap{overflow-y:auto;min-height:0}#dlg-form-fields textarea{resize:vertical;min-height:60px}@font-face{font-family:MECSimHei;src:url(/fonts/simhei.ttf) format("truetype");font-display:swap}@font-face{font-family:MECSimKai;src:url(/fonts/simkai.ttf) format("truetype");font-display:swap}:root{--c-brand: #1565C0;--c-brand-dark: #0D47A1;--c-brand-light: #E3F2FD;--c-brand-border: #90CAF9;--c-shell: #E8E8E8;--c-shell-deep: #DCDCDC;--c-shell-icon: #505050;--c-shell-icon-active: #1565C0;--c-shell-sep: rgba(0,0,0,.1);--c-text: #212121;--c-text-2: #546E7A;--c-text-3: #90A4AE;--c-text-dis: #B0BEC5;--c-border: #E0E0E0;--c-border-soft: #ECEFF1;--c-focus: #1976D2;--c-bg: #F0F2F5;--c-surface: #ffffff;--c-surface-2: #F8FAFB;--c-hover-row: #F5F5F5;--c-sel-row: #E3F2FD;--c-success: #43A047;--c-success-bg: #E8F5E9;--c-success-border:#A5D6A7;--c-warning: #FF9800;--c-warning-bg: #FFF3E0;--c-danger: #C62828;--c-danger-bg: #FFEBEE;--c-danger-border:#FFCDD2;--r-sm: 3px;--r-md: 4px;--r-lg: 8px;--sp-xs: 2px;--sp-sm: 4px;--sp-md: 8px;--sp-lg: 12px;--sp-xl: 16px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Microsoft YaHei,sans-serif;font-size:13px;background:var(--c-bg);color:var(--c-text);height:100vh;display:flex;flex-direction:column;overflow:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--c-surface-2)}::-webkit-scrollbar-thumb{background:var(--c-text-dis);border-radius:3px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input,.rp-input,.et-input,.prop-input,.param-input,.modal-input{padding:3px 6px;border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:12px;font-family:inherit;background:var(--c-surface);color:var(--c-text);width:100%}.input:focus,.rp-input:focus,.et-input:focus,.prop-input:focus,.param-input:focus,.modal-input:focus{outline:none;border-color:var(--c-focus)}.input:disabled,.rp-input:disabled,.et-input:disabled,.prop-input:disabled,.param-input:disabled{background:var(--c-border-soft);color:var(--c-text-dis)}select.input,select.prop-input,select.param-input{cursor:pointer}.modal-input{padding:5px 7px}.export-dxf-selection-option{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:12px;color:var(--c-text);cursor:pointer}.export-dxf-selection-option input{width:14px;height:14px}.dimension-color-input{min-height:26px;padding:2px;cursor:pointer}.ui-icon{width:1em;height:1em;display:inline-flex;align-items:center;justify-content:center;color:currentColor;line-height:1;flex-shrink:0;vertical-align:-.125em}.ui-icon svg{width:100%;height:100%;display:block;overflow:visible}.ui-icon-fallback{font-size:.95em;font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn,.btn-neu,.btn-act,.btn-tool,.btn-align,.btn-sm,.btn-icon,.et-btn,.et-place{font-family:inherit;cursor:pointer;border-radius:var(--r-sm);line-height:1.4;font-size:12px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:background .1s,border-color .1s,color .1s}.btn{padding:4px 12px;border:1px solid transparent}.btn:disabled,.btn-neu:disabled,.btn-act:disabled,.btn-sm:disabled,.btn-icon:disabled,.et-btn:disabled,.et-place:disabled{opacity:.45;cursor:default;pointer-events:none}.btn-primary{background:var(--c-brand);color:#fff;font-weight:600;border-color:transparent}.btn-primary:hover:not(:disabled){background:var(--c-brand-dark)}.btn-secondary{background:var(--c-surface);color:var(--c-text-2);border:1px solid var(--c-border)}.btn-secondary:hover:not(:disabled){background:var(--c-border-soft);border-color:#cfd8dc;color:var(--c-text)}.btn-danger{background:transparent;color:#b71c1c;border:1px solid var(--c-danger-border);padding:4px 12px}.btn-danger:hover:not(:disabled){background:var(--c-danger-bg)}.btn-sm{padding:2px 8px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-2)}.btn-sm:hover:not(:disabled){background:var(--c-brand-light);border-color:var(--c-brand-border);color:var(--c-brand)}.btn-neu{padding:3px 8px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-2)}.btn-neu:hover:not(:disabled){background:var(--c-brand-light);border-color:var(--c-brand-border);color:var(--c-brand)}.btn-act{padding:3px 8px;border:1px solid var(--c-brand-border);background:var(--c-brand-light);color:var(--c-brand)}.btn-act:hover:not(:disabled){background:var(--c-brand-border)}.et-btn{padding:2px 7px;border:1px solid var(--c-shell-sep);background:transparent;color:var(--c-shell-icon)}.et-btn:hover:not(:disabled){background:#00000012;border-color:var(--c-shell-sep);color:#111}.et-place{padding:3px 8px;border:1px solid var(--c-shell-sep);background:transparent;color:var(--c-shell-icon);font-size:13px}.et-place:hover:not(:disabled){background:#00000012;border-color:var(--c-shell-sep);color:#111}.et-btn.active,.et-place.active{background:var(--c-brand);border-color:var(--c-brand);color:#fff}.btn-tool{padding:3px 8px;border:1px solid var(--c-brand-border);background:var(--c-brand-light);color:var(--c-brand)}.btn-tool:hover:not(:disabled){background:var(--c-brand-border)}.btn-align{padding:3px 6px;border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text-2)}.btn-align:hover:not(:disabled){background:var(--c-brand-light);border-color:var(--c-brand-border);color:var(--c-brand)}.btn-icon,.rp-icon-btn{width:22px;height:22px;flex-shrink:0;border:none;border-radius:var(--r-sm);cursor:pointer;font-size:12px;font-family:inherit;background:transparent;color:var(--c-shell-icon);display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .1s,color .1s}.btn-icon:hover:not(:disabled),.rp-icon-btn:hover:not(:disabled){background:#00000012;color:#111}.rp-icon-btn.active{background:var(--c-brand);color:#fff}.btn-icon:disabled,.rp-icon-btn:disabled{opacity:.35;cursor:default}.btn-icon.apply{color:var(--c-success)}.btn-icon.apply:hover{background:var(--c-success-bg);color:#2e7d32}.btn-icon.del:hover,.rp-icon-btn.del:hover{background:var(--c-danger-bg);color:var(--c-danger)}.panel-section,.rp-sec,.prop-group{border-bottom:1px solid var(--c-border-soft);flex-shrink:0}.panel-title,.section-header,.rp-sec-title,.prop-group-title{padding:4px 10px;font-size:10px;font-weight:700;color:var(--c-text-3);background:var(--c-surface-2);letter-spacing:.6px;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.rp-sec-title:focus-visible{outline:1px solid var(--c-focus);outline-offset:-1px}.rp-sec-title:after,.prop-group-title:after,.panel-title:after,.section-header:after{content:"▾";font-size:10px;opacity:.5;transition:transform .15s}.rp-sec.collapsed .rp-sec-title:after,.prop-group.collapsed .prop-group-title:after,.panel-section.collapsed .panel-title:after,.panel-section.collapsed .section-header:after{transform:rotate(-90deg)}.rp-sec.collapsed .rp-sec-body,.prop-group.collapsed .prop-fields,.panel-section.collapsed .section-body{display:none}.section-body,.rp-sec-body{padding:6px 10px;display:flex;flex-direction:column;gap:5px}.prop-fields{padding:5px 10px;display:grid;grid-template-columns:auto 1fr;gap:4px 6px;align-items:center}#header{height:36px;background:var(--c-shell);color:var(--c-shell-icon);display:flex;align-items:stretch;flex-shrink:0;-webkit-user-select:none;user-select:none;z-index:200;border-bottom:1px solid rgba(0,0,0,.15)}#header-back{padding:0 14px;border:none;background:transparent;color:var(--c-shell-icon);cursor:pointer;display:flex;align-items:center;gap:5px;font-size:12px;border-right:1px solid var(--c-shell-sep);height:100%;flex-shrink:0;font-family:inherit;white-space:nowrap}#header-back:hover{background:#00000012;color:#111}#header-filename{flex:1;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--c-text);gap:6px}#header-filename-text{position:relative;min-width:0;max-width:min(520px,54vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:22px;padding:0 8px;border-radius:5px}#header-filename-text.editable{cursor:text}#header-filename-text.editable:hover{background:#0000000f}#header-filename-text.editable:hover:after{content:"点击重命名";position:fixed;left:50%;top:40px;transform:translate(-50%);z-index:500;pointer-events:none;padding:4px 7px;border-radius:4px;background:#212121f0;color:#fff;font-size:11px;font-weight:400;line-height:1;white-space:nowrap;box-shadow:0 2px 8px #0000002e}.header-filename-input{width:min(360px,48vw);height:24px;box-sizing:border-box;border:1px solid #90CAF9;border-radius:5px;outline:none;background:#fff;color:var(--c-text);font:inherit;font-weight:600;text-align:center;padding:0 8px;-webkit-user-select:text;user-select:text;box-shadow:0 0 0 2px #90caf938}#header-save-status{font-size:11px;font-weight:400;color:var(--c-text-3);transition:opacity .3s}#header-save-status.dirty{color:#f57c00}#header-save-status.saving{color:var(--c-text-3)}#header-save-status.readonly{color:var(--c-text-2)}#workspace{display:flex;flex:1;overflow:hidden}#file-view{display:flex;flex-direction:column;flex:1;overflow:hidden}#file-view.app-overlay-active #file-menus{display:none}#file-view.app-overlay-active #main{flex:1;min-height:0}#file-menus{height:30px;background:var(--c-shell);display:flex;align-items:stretch;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.1);-webkit-user-select:none;user-select:none}#app-menus{display:flex;align-items:stretch}.menu-item{position:relative;display:flex;align-items:center}.menu-label{padding:0 12px;font-size:12px;cursor:pointer;display:flex;align-items:center;color:var(--c-shell-icon);white-space:nowrap;height:30px}.menu-label:hover{background:#00000012;color:#111}.menu-dropdown{display:none;position:absolute;top:100%;left:0;background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);box-shadow:0 6px 20px #0003;min-width:190px;z-index:999;border-radius:0 0 var(--r-md) var(--r-md);padding:4px 0}.menu-item:hover .menu-dropdown{display:block}.menu-dd-item{padding:6px 18px 6px 14px;font-size:12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;white-space:nowrap;background:none;border:none;width:100%;text-align:left;font-family:inherit;color:var(--c-text)}.menu-dd-item[hidden]{display:none!important}.menu-dd-item:hover:not(:disabled){background:#e8e8e8;color:var(--c-text)}.menu-dd-item:disabled{color:var(--c-text-dis);cursor:default}.menu-dd-sep{height:1px;background:var(--c-border-soft);margin:3px 0}.menu-shortcut{font-size:11px;color:var(--c-text-3)}body[data-readonly=true] [data-readonly-hidden]{display:none!important}body[data-mode=app] #left-toolbar,body[data-mode=app] #canvas-wrap,body[data-mode=app] #right-panel{display:none}body[data-mode=app] #app-slot{display:flex!important}.file-manager-app{display:flex;flex:1;min-width:0;min-height:0;background:#f6f7fb}.fm-explorer{color:#1f2328;-webkit-user-select:none;user-select:none}.fm-icon{width:19px;text-align:center;flex-shrink:0;font-size:15px;filter:saturate(.95)}.fm-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff}.fm-commandbar{min-height:54px;flex-shrink:0;display:flex;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid #E7EBF2;background:#ffffffd1;box-shadow:inset 0 -1px #ffffffbf;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow-x:auto}.fm-command{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:#3f4650;cursor:pointer;font:inherit;line-height:1;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .08s ease,box-shadow .12s ease}.fm-command[hidden]{display:none!important}.fm-command:hover{background:#f3f7fc;border-color:#e8eef6;box-shadow:0 1px 2px #0f172a0d}.fm-command:active:not(:disabled){transform:translateY(1px);background:#e9f1fb}.fm-command:disabled{color:#aeb7c4;cursor:default;opacity:.62}.fm-command:disabled:hover{background:transparent;border-color:transparent}.fm-command.primary{background:#eaf4ff;color:#0b5cad;border-color:#d7e9ff}.fm-command.primary:hover{background:#dceeff;border-color:#c7e1ff}.fm-command-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-size:15px;line-height:1}.fm-command-icon .ui-icon{width:20px;height:20px}.fm-command-icon .ui-icon-file-plus svg{stroke-width:1.3}.fm-command-icon .ui-icon-copy,.fm-command-icon .ui-icon-lock{width:21px;height:21px}.fm-command-icon .ui-icon-lock svg{stroke-width:1.35}.fm-command-icon .ui-icon-edit,.fm-command-icon .ui-icon-refresh{width:19px;height:19px}.fm-command-sep{width:1px;height:26px;margin:0 7px;background:#e3e8ef;flex-shrink:0}.fm-command-spacer{flex:1 1 auto;min-width:12px}.fm-toolbar-text-btn{height:34px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid #E5EAF0;border-radius:9px;background:#f7f9fc;color:#3f4650;cursor:pointer;font:inherit;font-size:12px;line-height:1;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.fm-toolbar-text-btn:hover{background:#f3f7fc;border-color:#e8eef6;color:#2b2f36}.fm-toolbar-text-btn:disabled{color:#aeb7c4;cursor:default;opacity:.62}.fm-toolbar-text-btn:disabled:hover{background:transparent;border-color:transparent}.fm-toolbar-text-icon{display:inline-flex;align-items:center;justify-content:center}.fm-toolbar-text-icon .ui-icon{width:15px;height:15px}.fm-navbar{min-height:40px;flex-shrink:0;display:flex;align-items:center;gap:8px;margin:10px 14px}.fm-addressbar{min-height:40px;flex:1;min-width:0;display:flex;align-items:center;gap:4px;padding:5px 9px;border:1px solid #E5E7EB;border-radius:9px;background:#fafbfc;overflow-x:auto}.fm-crumb{border:none;border-radius:6px;background:transparent;color:#2b2f36;cursor:pointer;font:inherit;font-size:12px;padding:4px 7px;white-space:nowrap}.fm-crumb:hover{background:#eef2f7}.fm-crumb-sep{color:#9aa3af}.fm-content{flex:1;min-height:0;display:flex;margin:0 14px 14px;overflow:hidden}.fm-list-area{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.fm-list{flex:1;min-height:0;display:flex;flex-direction:column;margin:0;border:1px solid #ECEFF3;border-radius:10px 10px 0 0;overflow:hidden;background:#fff}.fm-list-head,.fm-row{display:grid;grid-template-columns:minmax(180px,1fr) 96px 156px 76px 156px;align-items:center;gap:12px}.is-trash .fm-list-head,.is-trash .fm-row{grid-template-columns:minmax(180px,1fr) 90px 90px 80px 76px 156px}.fm-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-list{overflow:auto}.fm-list-head,.fm-list-body{min-width:840px}.is-trash .fm-list-head,.is-trash .fm-list-body{min-width:860px}.fm-list-head{position:sticky;top:0;z-index:1;flex-shrink:0;height:34px;padding:0 12px;border-bottom:1px solid #ECEFF3;background:#fafbfc;color:#6b7280;font-size:11px;font-weight:700}.fm-list-body{flex:1 0 auto;min-height:0;padding:4px}.fm-statusbar{min-height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:0;padding:0 12px;border:1px solid #ECEFF3;border-top:none;border-radius:0 0 10px 10px;background:#fafbfc;color:#6b7280;font-size:12px}.fm-status-count,.fm-status-selection{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-status-selection{color:#3f4650}.fm-row{width:100%;min-height:36px;padding:0 8px;border:none;border-radius:7px;background:transparent;color:#2b2f36;cursor:default;font:inherit;font-size:12px;text-align:left}.fm-row:hover{background:#f5f7fa}.fm-row.selected{background:#dceeff;color:#0f5fb8}.fm-row.focused{box-shadow:inset 0 0 0 1px #79b8ff}.fm-row.cutting{opacity:.52}.fm-row-name{display:flex;align-items:center;gap:9px;min-width:0;min-height:24px;overflow:visible;text-overflow:ellipsis;white-space:nowrap}.fm-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-row-icon{width:24px;display:inline-flex;align-items:center;justify-content:center;color:#607d8b;flex-shrink:0}.fm-row-icon .ui-icon{width:22px;height:22px}.fm-permission-text{color:inherit;font-size:12px;font-weight:400;line-height:1.4;white-space:nowrap}.fm-private-badge{display:inline-flex;flex-shrink:0;align-items:center;color:var(--c-text-3);margin-left:5px}.fm-private-badge .ui-icon{width:13px;height:13px}.fm-permission-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.fm-trash-safety{font-size:9px;line-height:1;font-weight:600;white-space:nowrap}.fm-trash-safety.protected{color:#8a6116}.fm-trash-safety.ready{color:#a33a2b}.fm-inline-edit-wrap{position:relative;min-width:120px;max-width:100%;height:24px;display:inline-flex;align-items:center;flex:1}.fm-inline-name-input{width:min(260px,100%);min-width:120px;max-width:100%;height:22px;box-sizing:border-box;margin:0;padding:1px 5px;border:1px solid #0F6CBD;border-radius:2px;background:#fff;color:#111827;font:inherit;font-size:12px;line-height:18px;outline:none;box-shadow:0 0 0 2px #0f6cbd29;vertical-align:middle}.fm-inline-name-input.error{border-color:var(--c-danger);box-shadow:0 0 0 2px #d32f2f24}.fm-inline-edit-error{position:absolute;left:0;top:24px;color:var(--c-danger);font-size:10px;line-height:1.2}.fm-rename-wrap{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:0;color:#2b2f36}.fm-rename-input{min-width:48px;max-width:100%;height:24px;box-sizing:border-box;padding:2px 5px;border:1px solid #0F6CBD;border-radius:2px;background:#fff;color:#111827;font:inherit;font-size:12px;line-height:18px;outline:none;box-shadow:0 0 0 2px #0f6cbd29}.fm-rename-input:focus{border-color:#005a9e;box-shadow:0 0 0 2px #005a9e38}.fm-rename-suffix{flex-shrink:0;padding:0 2px;color:#4b5563;font-size:12px;line-height:24px;-webkit-user-select:none;user-select:none}.fm-empty{height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#7b8494;text-align:center}.fm-empty div{font-weight:700;color:#4b5563}.fm-empty small{font-size:12px}.fm-marquee{position:fixed;border:1px solid #1677FF;background:#1677ff1f;pointer-events:none;z-index:9999;box-sizing:border-box}.fm-preview-resizer{width:10px;flex-shrink:0;cursor:col-resize;position:relative;touch-action:none}.fm-preview-resizer:before{content:"";position:absolute;top:10px;bottom:10px;left:3px;width:1px;background:#edf1f6;border-radius:999px}.fm-preview-resizer:hover:before,.fm-content.resizing .fm-preview-resizer:before{left:3px;width:2px;background:#d5e3f2}.fm-preview-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.fm-preview-pane{width:var(--fm-preview-width, 640px);min-width:240px;max-width:640px;flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;overflow:hidden;border:1px solid #ECEFF3;border-radius:10px;background:#fff}.fm-preview-content{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.fm-preview-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#9aa3af;font-size:12px}.fm-preview-empty .ui-icon{width:64px;height:64px;opacity:.72}.fm-preview-folder{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fafcff,#f1f6fc)}.fm-preview-folder .ui-icon{width:96px;height:96px}.fm-preview-image{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.fm-preview-frame{width:100%;height:100%;border:none;background:#fff}.fm-preview-text{width:100%;height:100%;overflow:auto;padding:12px;border:none;margin:0;background:#fff;color:#2b2f36;font:12px/1.6 Consolas,Microsoft YaHei,monospace;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text}.fm-preview-drawing-wrap{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:linear-gradient(135deg,#f8fafc 0,#eef4fa)}.fm-preview-drawing{flex:1;min-height:0;width:100%;padding:10px;fill:none;stroke:#1565c0;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;background-image:linear-gradient(#E9EEF5 1px,transparent 1px),linear-gradient(90deg,#E9EEF5 1px,transparent 1px);background-size:18px 18px}.fm-preview-drawing *{vector-effect:non-scaling-stroke;stroke-width:1px}.fm-preview-drawing .fm-preview-point{fill:#f57c00;stroke:#f57c00}.fm-preview-drawing .fm-preview-text-shape{vector-effect:none}.fm-preview-drawing .fm-preview-text-shape text,.fm-preview-drawing .fm-preview-text-shape tspan{stroke:none;vector-effect:none}.fm-preview-media{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#f8fafc}.fm-preview-audio{width:100%}.fm-preview-video{width:100%;height:100%;object-fit:contain;background:#0b1120}.fm-preview-markdown{width:100%;height:100%;overflow:auto;padding:16px;background:#fff;color:#2b2f36;line-height:1.7;-webkit-user-select:text;user-select:text}.fm-preview-markdown h1,.fm-preview-markdown h2,.fm-preview-markdown h3{margin:0 0 10px;line-height:1.35;color:#111827}.fm-preview-markdown p{margin:0 0 9px}.fm-preview-markdown code{padding:1px 4px;border-radius:3px;background:#f1f5f9;font-family:Consolas,monospace}.fm-preview-md-li{padding-left:8px}.fm-preview-table-wrap{width:100%;height:100%;overflow:auto;background:#fff;-webkit-user-select:text;user-select:text}.fm-preview-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:12px;color:#2b2f36}.fm-preview-table th,.fm-preview-table td{max-width:180px;padding:6px 8px;border:1px solid #E5EAF0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.fm-preview-table th{position:sticky;top:0;background:#f8fafc;color:#4b5563;font-weight:700}.fm-context-menu{position:fixed;z-index:10000;min-width:210px;padding:6px;border:1px solid rgba(214,221,231,.9);border-radius:10px;background:#fffffff0;box-shadow:0 18px 42px #0f172a2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.fm-context-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:7px;background:transparent;color:#2b2f36;text-align:left;font:inherit;font-size:12px;cursor:pointer}.fm-context-menu button:hover:not(:disabled){background:#eaf3ff;color:#0f5fb8}.fm-context-menu button:disabled{color:#b7bec9;cursor:default}.fm-context-menu button.danger:hover:not(:disabled){background:var(--c-danger-bg);color:var(--c-danger)}.fm-menu-icon{width:19px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.fm-menu-icon .ui-icon{width:16px;height:16px}.fm-context-sep{height:1px;margin:4px 3px;background:#eceff3}.file-app{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:var(--c-bg)}.file-app-toolbar{flex-shrink:0;min-height:46px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--c-border);background:var(--c-surface)}.file-app-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;color:var(--c-text);text-align:center}.file-app-empty{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--c-text-3);text-align:center;padding:28px}#statusbar-draw{display:grid;grid-template-columns:auto minmax(120px,auto) auto minmax(0,1fr) minmax(0,180px) auto;align-items:center;gap:8px;flex:1;min-width:0;width:100%;height:100%}#left-toolbar{background:var(--c-shell-deep);display:flex;flex-direction:row;align-items:center;padding:0 4px;gap:1px;flex-shrink:0;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid rgba(0,0,0,.12);height:35px}#left-toolbar::-webkit-scrollbar{height:0}.ltb-btn{width:28px;height:28px;border:none;background:transparent;color:var(--c-shell-icon);cursor:pointer;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;transition:background .12s,color .12s}.ltb-btn:hover{background:#00000014;color:#111}.ltb-btn:focus{outline:none}.ltb-btn.active{background:#1565c026;color:var(--c-brand)}.ltb-btn:disabled,.ltb-btn:disabled:hover{background:transparent;color:var(--c-text-dis);opacity:.38;cursor:not-allowed}.ltb-btn[title]:hover:after{content:attr(title);position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);background:#424242;color:#fff;font-size:11px;padding:3px 7px;border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;z-index:500;box-shadow:0 2px 8px #00000040;font-family:Microsoft YaHei,sans-serif}.ltb-btn:disabled:hover:after{content:none}.ltb-btn .ui-icon{width:16px;height:16px}#btn-tool-trim .ui-icon-cut{width:15px;height:15px}#btn-tool-trim .ui-icon-cut svg{stroke:currentColor;stroke-width:.6;stroke-linejoin:round}.ltb-sep{width:1px;height:16px;background:var(--c-shell-sep);margin:0 3px;flex-shrink:0}#center{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}#canvas-tabs{display:none;background:#ebebeb;border-bottom:1px solid #D0D0D0;flex-shrink:0}body[data-features~=canvas-tabs] #canvas-tabs{display:flex}.canvas-tab{padding:4px 18px;font-size:12px;cursor:pointer;border-bottom:2px solid transparent;color:#616161}.canvas-tab.active{border-bottom-color:var(--c-brand);color:var(--c-brand);font-weight:600;background:var(--c-surface)}#canvas-wrap{flex:1;position:relative;overflow:hidden;background:var(--c-border-soft)}#draw-numeric-bar{display:flex;align-items:center;gap:6px;width:max-content;min-width:100%;flex-shrink:0;font-size:12px}#draw-numeric-bar[hidden]{display:none}#draw-numeric-label{flex-shrink:0;white-space:nowrap;color:var(--c-text-2)}#draw-numeric-fields{display:flex;align-items:center;gap:10px;min-width:0}.draw-numeric-field{display:flex;align-items:baseline;gap:4px;min-width:0;height:24px;border-bottom:1px solid #949CA5;border-radius:3px 3px 0 0}.draw-numeric-field[hidden]{display:none}.draw-numeric-field>span{flex-shrink:0;white-space:nowrap}.draw-numeric-field.is-active{border-bottom-color:var(--c-brand);background:#e3effb;color:var(--c-brand)}.draw-numeric-field input{width:50px;min-width:26px;height:23px;padding:2px 0;border:0;border-radius:0;outline:none;box-shadow:none;background:transparent;font-size:12px;font-variant-numeric:tabular-nums}.draw-numeric-field input:focus,.draw-numeric-field input:focus-visible{outline:none;box-shadow:none;border:0;background:transparent}.draw-numeric-field select{height:23px;max-width:185px;border:0;outline:none;background:transparent;font-size:12px}.draw-numeric-field:has(input[aria-invalid=true]){border-bottom-color:var(--c-danger)}.draw-numeric-key{font-size:10px;color:var(--c-text-3)}.draw-numeric-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}#draw-numeric-bar button{height:24px;padding:2px 5px;border:1px solid var(--c-border, #ccc);border-radius:3px;background:var(--c-surface, #fff);font-size:11px;cursor:pointer}#draw-numeric-bar button:disabled,.draw-numeric-field input:disabled{opacity:.5;cursor:default}#draw-numeric-bar button.is-active{border-color:var(--c-brand);background:#e3effb;color:var(--c-brand)}#draw-numeric-error{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#draw-numeric-error.draw-numeric-circle-error{position:static;width:auto;height:auto;margin:0;clip-path:none;color:var(--c-danger)}#drawing-operation-error{position:absolute;top:12px;right:12px;z-index:10;display:flex;align-items:center;gap:12px;max-width:calc(100% - 24px);padding:8px 12px;border:1px solid #E8B4B4;border-radius:4px;background:#fff3f3;color:#a12626;font-size:12px;box-shadow:0 2px 8px #00000014}#drawing-operation-error[hidden]{display:none}#drawing-operation-error button{flex-shrink:0;border:0;padding:2px 4px;color:inherit;background:transparent;cursor:pointer}#canvas-wrap.canvas-drop-valid:after,#canvas-wrap.canvas-drop-invalid:after{content:"";position:absolute;inset:8px;z-index:9;pointer-events:none;border-radius:var(--r-lg);border:2px dashed var(--c-brand);background:#e3f2fd29}#canvas-wrap.canvas-drop-invalid:after{border-color:var(--c-danger);background:#ffebee2e}#canvas-stage{--canvas-ruler-size: 18px;flex:1;min-height:0;display:grid;grid-template-columns:var(--canvas-ruler-size) minmax(0,1fr);grid-template-rows:var(--canvas-ruler-size) minmax(0,1fr);background:#fff}#canvas-ruler-corner{grid-column:1;grid-row:1;background:linear-gradient(135deg,#eceff1,#fafafa);border-right:1px solid #CFD8DC;border-bottom:1px solid #CFD8DC}.canvas-ruler{display:block;width:100%;height:100%;background:#f5f7fa}#canvas-ruler-top{grid-column:2;grid-row:1;border-bottom:1px solid #CFD8DC}#canvas-ruler-left{grid-column:1;grid-row:2;border-right:1px solid #CFD8DC}#canvas-main-area{grid-column:2;grid-row:2;position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--c-border-soft)}#main-canvas{display:block;width:100%;height:100%}.constraint-persistent{display:flex;align-items:center;gap:6px;margin-right:auto;font-size:13px;cursor:pointer}.constraint-persistent input{accent-color:var(--c-brand)}#canvas-text-layer{position:absolute;inset:0;z-index:20;pointer-events:none;overflow:hidden}.canvas-text-node{position:absolute;box-sizing:content-box;display:block;margin:0;padding:0;border:0;background:transparent;white-space:pre;overflow-wrap:normal;word-break:normal;tab-size:2;-webkit-user-select:none;user-select:none;pointer-events:none}.canvas-text-editor{z-index:25;resize:both;min-width:60px;min-height:24px;padding:0;border:0;outline:none;background:transparent;color:var(--c-text);overflow:visible;-webkit-user-select:text;user-select:text;pointer-events:auto;cursor:text}#coords-display{font-size:11px;color:var(--c-text-2);background:#ffffffeb;padding:2px 8px;border-radius:var(--r-sm);pointer-events:none;font-family:monospace;border:1px solid var(--c-border)}#right-panel{width:268px;background:var(--c-surface);border-left:1px solid var(--c-border);flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto}#rp-draw{display:flex;flex-direction:column;min-height:0}body[data-readonly=true] #left-toolbar{display:none!important}body[data-readonly=true] #rp-draw>:not(#rp-draw-props),body[data-readonly=true] #rp-draw-props>:not(#et-transform-sec),body[data-readonly=true] #et-transform-sec .rp-xy-row:not(#et-size-group),body[data-readonly=true] #et-size-group>:not(.rp-field),body[data-readonly=true] #reference-images-panel,body[data-readonly=true] .cb-zone-colors,body[data-readonly=true] .cb-zone-line-style,body[data-readonly=true] .cb-zone-snap{display:none!important}body[data-readonly=true] .rp-field:focus-within{border-color:#0000002e;box-shadow:none}body[data-readonly=true] #et-size-group{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-readonly=true] #et-size-group .rp-field-lbl{color:var(--c-text-2)}body[data-readonly=true] .rp-field-num{cursor:default;color:var(--c-text)}body[data-readonly=true] #statusbar-draw{grid-template-columns:auto minmax(220px,1fr) minmax(220px,auto)}body[data-array-inspection=true] #rp-draw-props,body[data-array-inspection=true] .cb-zone-colors,body[data-array-inspection=true] #layer-panel button,#no-file-placeholder,body[data-mode=none] #file-menus{display:none}body[data-mode=none] #main{display:none!important}body[data-mode=none] #no-file-placeholder{display:flex;flex:1}#no-file-placeholder{flex:1;align-items:center;justify-content:center;background:var(--c-bg)}.nfp-inner{display:flex;flex-direction:column;align-items:center;gap:10px}.nfp-icon{font-size:48px;color:var(--c-text-dis);line-height:1}.nfp-title{font-size:15px;font-weight:600;color:var(--c-text-2)}.nfp-sub{font-size:12px;color:var(--c-text-dis)}#rp-draw-props{flex-shrink:0;overflow-y:auto}.rp-row{display:flex;align-items:center;gap:5px}#et-clone-convert-btn,#line-style-type{height:22px;padding:1px 6px;font-size:11px}#line-style-type{width:112px}#et-array-group .et-btn{flex:1;min-width:0;padding:5px 4px}#ne-actions-group .rp-row{flex-wrap:wrap}.rp-label{font-size:11px;color:var(--c-text-2);white-space:nowrap;min-width:14px;text-align:right}.rp-input{flex:1;min-width:0;width:auto}.rp-xywh{display:flex;flex-direction:column;gap:5px}.rp-xywh.no-sel .rp-field,.rp-xywh.no-sel .rp-rotate-wrap,.rp-xywh.no-sel #et-anchor-grid,.rp-xywh.no-sel #ne-anchor-grid{opacity:1;pointer-events:none;border-color:var(--c-border-soft);background:var(--c-surface-2)}.rp-xywh.no-sel #et-anchor-grid,.rp-xywh.no-sel #ne-anchor-grid{background:#fff}.rp-xywh.no-sel .rp-field-lbl,.rp-xywh.no-sel .rp-rotate-icon,.rp-xywh.no-sel .rp-rotate-drop{background:#f1f3f5;color:var(--c-text-dis);border-color:var(--c-border-soft)}.rp-xywh-rows{display:contents}.rp-xy-row{display:flex;gap:5px;align-items:center}#et-pos-group,#et-size-group,#et-radius-group{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) 18px 18px;gap:5px;align-items:stretch}#et-pos-group>.rp-field,#et-size-group>.rp-field,#et-radius-group>.rp-field{width:auto;min-width:0}#et-pos-group>.rp-lock-spacer,#et-size-group>#et-lock-btn,#et-radius-group>.rp-lock-spacer{grid-column:4}#et-pos-group>.rp-link-spacer,#et-size-group>.rp-link-slot,#et-radius-group>.rp-link-spacer{grid-column:5}.rp-field{display:flex;align-items:center;width:0;flex:1;border:1px solid rgba(0,0,0,.18);border-radius:var(--r-sm);background:var(--c-surface);overflow:hidden}.rp-field:focus-within{border-color:var(--c-focus);box-shadow:0 0 0 1px #1976d21f}.rp-field:has(.rp-field-num:disabled){border-color:var(--c-border-soft);background:var(--c-surface-2)}.rp-field:has(.rp-field-num:disabled) .rp-field-lbl{background:#f1f3f5;color:var(--c-text-dis);border-color:var(--c-border-soft)}.rp-field-lbl{width:20px;align-self:stretch;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:700;color:var(--c-shell-icon);background:var(--c-shell-deep);border-right:1px solid var(--c-shell-sep);padding:0;flex-shrink:0;-webkit-user-select:none;user-select:none}.rp-field-num{flex:1;min-width:0;border:none;outline:none;padding:4px 5px;font-size:12px;font-family:inherit;background:transparent;color:var(--c-text);appearance:textfield;-moz-appearance:textfield}.rp-field-num::-webkit-outer-spin-button,.rp-field-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rp-field-num:disabled{background:transparent;color:var(--c-text-dis)}#dimension-prop-sec .rp-field{width:auto;min-width:0;min-height:28px}#dimension-prop-sec .rp-field-lbl{width:44px;font-size:11px;font-weight:400}#dimension-prop-sec .rp-field>span:last-child:not(.rp-field-lbl){padding-right:6px;font-size:10px;color:var(--c-text-3)}.rp-lock-spacer{width:18px;flex-shrink:0}.rp-link-spacer,.rp-link-slot{width:18px;min-width:18px;height:18px}.rp-link-slot{display:flex;align-items:center;justify-content:center}#et-anchor-grid{grid-template-columns:repeat(3,5px);grid-template-rows:repeat(3,5px);gap:1.5px;padding:2px;flex-shrink:0}#et-anchor-grid .et-anchor-dot{width:5px;height:5px}#ne-anchor-grid{grid-template-columns:repeat(3,5px);grid-template-rows:repeat(3,5px);gap:1.5px;padding:2px;flex-shrink:0}#ne-anchor-grid .et-anchor-dot{width:5px;height:5px}.rp-field-placeholder{flex:1;min-width:0}.rp-anchor-spacer{width:24px;flex-shrink:0}.rp-rotate-wrap{position:relative;display:flex;align-items:center;border:1px solid rgba(0,0,0,.18);border-radius:var(--r-sm);overflow:visible;background:var(--c-surface)}.rp-rotate-half,#et-radius-group>#et-radius-label{width:auto;min-width:0}.rp-rotate-wrap:focus-within{border-color:var(--c-focus);box-shadow:0 0 0 1px #1976d21f}.rp-rotate-icon{width:20px;display:flex;align-items:center;justify-content:center;background:var(--c-shell-deep);border-right:1px solid var(--c-shell-sep);align-self:stretch;flex-shrink:0;color:var(--c-shell-icon)}.rp-rotate-num{flex:1;min-width:0;border:none;outline:none;padding:4px 5px;font-size:12px;font-family:inherit;background:transparent;color:var(--c-text);appearance:textfield;-moz-appearance:textfield}.rp-rotate-num::-webkit-outer-spin-button,.rp-rotate-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rp-rotate-num:disabled{background:transparent;color:var(--c-text-dis)}.rp-rotate-deg{font-size:10px;color:var(--c-shell-icon);padding-right:2px;flex-shrink:0}.rp-rotate-drop{width:18px;align-self:stretch;border:none;border-left:1px solid var(--c-shell-sep);background:var(--c-shell-deep);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-shell-icon);padding:0;flex-shrink:0;font-size:10px;line-height:1}.rp-rotate-drop:hover{background:var(--c-shell);color:#111}.rp-rotate-preset{display:none;position:fixed;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:0 4px 12px #00000026;z-index:9999;width:200px;max-height:min(320px,70vh);overflow-y:auto;padding:3px 0}.rp-rotate-preset.show{display:block}.rp-rotate-preset div{display:inline-block;box-sizing:border-box;width:25%;padding:5px 0;text-align:center;font-size:12px;cursor:pointer;color:var(--c-text-2)}.rp-rotate-preset div:hover{background:var(--c-brand-light);color:var(--c-brand)}.rp-lbl{font-size:11px;color:var(--c-text-2);flex-shrink:0}.rp-unit{font-size:10px;color:var(--c-text-3);flex-shrink:0}.et-anchor{display:grid;grid-template-columns:repeat(3,7px);grid-template-rows:repeat(3,7px);gap:2px;padding:3px;border:1px solid rgba(0,0,0,.18);border-radius:var(--r-sm);background:#fff;flex-shrink:0}.et-anchor-dot{width:7px;height:7px;border-radius:50%;background:#5050506b;cursor:pointer}.et-anchor-dot:hover{background:var(--c-shell-icon)}.et-anchor-dot.active{background:var(--c-brand);box-shadow:0 0 0 1px #ffffffbf}.rp-xywh.no-sel .et-anchor-dot{background:#cfd8dc;box-shadow:none}.et-lock{width:18px;height:18px;border:none;border-radius:var(--r-sm);background:transparent;cursor:pointer;padding:0;line-height:1;color:var(--c-shell-icon);flex-shrink:0;display:flex;align-items:center;justify-content:center}.et-lock:hover:not(:disabled){background:#00000012;color:#111}.et-lock.unlocked{color:var(--c-shell-icon)}.et-lock.active{color:var(--c-brand);background:var(--c-brand-light, #e8f1fc)}.et-lock:disabled{opacity:.35;cursor:default}#et-size-group>.et-lock{align-self:center}.et-link-size{color:var(--c-shell-icon)}.et-link-size.active{background:var(--c-brand);color:#fff}.et-link-size:disabled{color:var(--c-text-dis);cursor:default;opacity:1}.et-label{font-size:11px;color:var(--c-text-2);white-space:nowrap}.et-sep{width:1px;height:16px;background:var(--c-border);flex-shrink:0}.et-group{display:flex;align-items:center;gap:3px;flex-wrap:wrap}#btn-snap{padding:2px 10px;border:1px solid rgba(0,0,0,.18);border-radius:var(--r-sm);cursor:pointer;font-size:11px;font-family:inherit;background:transparent;color:var(--c-shell-icon);line-height:1.6;flex-shrink:0}#btn-snap:hover{background:#00000014;color:#111}#btn-snap.on{background:var(--c-brand);color:#fff;border-color:transparent}.snap-options-popup{display:none;position:fixed;right:auto;bottom:auto;z-index:10000;flex-direction:column;gap:6px;min-width:156px;padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);box-shadow:0 8px 24px #0000002e;color:var(--c-text);font-size:12px}.snap-options-popup label{display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}.snap-options-popup input{margin:0}.snap-option-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px}.snap-option-icon svg{width:16px;height:16px;display:block;overflow:visible}.snap-option-text{line-height:16px}.snap-options-sep{height:1px;background:var(--c-border);margin:2px 0}#rp-drawing-tools{flex-shrink:0}#rp-drawing-tools:empty{display:none}.rp-tool-btn{border:none;border-radius:var(--r-sm);width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--c-shell-icon);cursor:pointer;font-size:12px;line-height:1;font-family:inherit;flex-shrink:0}.rp-tool-btn:hover:not(:disabled){background:#00000012;color:#111}.rp-tool-btn.active{background:var(--c-brand);color:#fff}.rp-tool-btn:disabled{opacity:.35;cursor:default}.rp-tool-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;overflow:hidden}.rp-tool-icon svg{width:16px;height:16px;display:block;flex-shrink:0}#rp-draw-list{flex:0 0 auto;display:flex;flex-direction:column;overflow:hidden;min-height:0}#rp-draw-list.collapsed{flex:0 0 auto;min-height:0}#rp-draw-list.collapsed .layer-section-body{display:none}.layer-section-body{flex:0 0 auto;min-height:0;padding:0;display:flex}#layer-panel{flex:0 0 auto;width:100%;max-height:min(260px,34vh);overflow-y:auto}.et-place-origin-row{justify-content:flex-start}.rp-place-origin svg{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:square;stroke-linejoin:miter}.rp-place-origin circle{fill:currentColor;stroke:none}.layer-row{display:grid;grid-template-columns:12px minmax(0,1fr) 26px 5ch 26px 26px;align-items:center;gap:8px;min-height:34px;padding:4px 11px;font-size:11px;border-bottom:1px solid var(--c-border-soft);cursor:pointer}.layer-row:hover{background:var(--c-hover-row)}.layer-row.layer-hidden{opacity:.55}.layer-color{width:10px;height:10px;justify-self:center;border:1px solid;border-radius:2px;box-sizing:border-box}.layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text-2)}.layer-member-count{min-width:0;box-sizing:border-box;color:var(--c-text-3);font-size:11px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.layer-rename,.layer-visibility{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:0;padding:3px;background:transparent;color:var(--c-text-2);cursor:pointer;line-height:1;border-radius:3px}.layer-rename:hover,.layer-visibility:hover{background:var(--c-hover-row);color:var(--c-brand)}.layer-rename .ui-icon,.layer-visibility .ui-icon,.layer-rename svg,.layer-visibility svg{display:block;width:15px;height:15px;flex-shrink:0;pointer-events:none}.layer-rename-input{min-width:0;width:100%;box-sizing:border-box;padding:2px 4px;border:1px solid var(--c-focus);border-radius:2px;outline:none;font:inherit}.panel-section{border-bottom:1px solid var(--c-border)}.panel-title{padding:5px 8px;font-size:10px;font-weight:700;color:var(--c-text-3);background:var(--c-surface-2);text-transform:uppercase;letter-spacing:.5px}#op-placeholder{padding:14px 10px;color:var(--c-text-3);font-size:12px;text-align:center}.prop-label{font-size:11px;color:var(--c-text-2)}.param-grid{padding:6px 8px;display:grid;grid-template-columns:auto 1fr;gap:4px 6px;align-items:center}.param-label{font-size:11px;color:var(--c-text-2);white-space:nowrap}.text-prop-body{display:grid;gap:7px;padding:8px}.text-prop-input:focus{border-color:var(--c-brand);box-shadow:0 0 0 2px #1565c01f}.text-prop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start}.text-prop-field{display:grid;gap:4px;min-width:0;font-size:11px;color:var(--c-text-2)}.text-prop-input{width:100%;box-sizing:border-box;border:1px solid var(--c-border);border-radius:var(--r-sm);padding:4px 6px;font-size:12px;background:#fff;color:var(--c-text)}.text-prop-input[type=number]{appearance:textfield;-moz-appearance:textfield}.text-prop-input[type=number]::-webkit-outer-spin-button,.text-prop-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.text-prop-hint{color:var(--c-text-3);font-size:11px;line-height:1.45}#colorbar{height:34px;background:var(--c-shell);border-top:1px solid rgba(0,0,0,.15);display:flex;align-items:center;padding:0 8px;gap:8px;flex-shrink:0;overflow:visible;position:relative;z-index:30;min-width:0}.cb-zone{min-width:0;height:100%;display:flex;align-items:center}.cb-zone-zoom{gap:5px;flex-shrink:0;color:var(--c-shell-icon)}.cb-zoom-label{font-size:10px;white-space:nowrap}.cb-zoom-current{min-width:44px;height:22px;padding:0 6px;border:1px solid rgba(0,0,0,.18);border-radius:var(--r-sm);background:#fff;color:var(--c-text);font-size:11px;line-height:20px;cursor:pointer}.cb-zoom-current:hover{border-color:var(--c-brand);color:var(--c-brand)}.cb-zoom-select{height:22px;max-width:90px;border:1px solid rgba(0,0,0,.18);border-radius:var(--r-sm);background:#fff;color:var(--c-text);font-size:11px;padding:0 4px;cursor:pointer}.cb-zone-colors{gap:5px;overflow-x:auto;overflow-y:hidden;padding:0 2px;scrollbar-width:none;-ms-overflow-style:none}.cb-zone-colors::-webkit-scrollbar{width:0;height:0;display:none}.cb-zone-line-style{gap:5px;padding-left:8px;border-left:1px solid rgba(0,0,0,.12);font-size:11px;color:var(--c-shell-icon);white-space:nowrap}.cb-line-style-select{box-sizing:border-box;border:1px solid rgba(0,0,0,.18);border-radius:var(--r-sm);background:#fff;color:var(--c-text);font-family:inherit;cursor:pointer}.cb-line-style-select:disabled{color:var(--c-text-dis);background:var(--c-surface-2);cursor:default}.cb-line-style-select:focus{outline:1px solid var(--c-focus);border-color:var(--c-focus)}.cb-zone-input{gap:8px;justify-content:flex-start;border-left:1px solid rgba(0,0,0,.12);padding-left:8px;color:var(--c-text-2);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.cb-zone-input::-webkit-scrollbar{height:2px}.cb-zone-input::-webkit-scrollbar-thumb{background:#aab2bb;border-radius:2px}.cb-zone-selection{justify-content:center;border-left:1px solid rgba(0,0,0,.12);border-right:1px solid rgba(0,0,0,.12);padding:0 8px;color:var(--c-shell-icon)}.cb-zone-snap{justify-content:flex-end;position:relative;flex-shrink:0}.cb-swatch{width:20px;height:20px;border-radius:var(--r-md);cursor:pointer;flex-shrink:0;border:2px solid transparent;transition:transform .1s,border-color .1s;position:relative;box-shadow:0 1px 2px #0003}.cb-swatch:hover{transform:scale(1.2);border-color:#0000004d}.cb-swatch.cb-clear{background:#fff;border:1px dashed #BDBDBD;box-shadow:none;display:flex;align-items:center;justify-content:center;color:#9e9e9e;font-size:13px}.cb-swatch.cb-clear:hover{border-color:#ef5350;color:#ef5350;transform:scale(1.1)}.cb-sep{width:1px;height:16px;background:#00000026;flex-shrink:0}#cb-label{font-size:10px;color:var(--c-shell-icon);white-space:nowrap;margin-left:4px}.sb-selection-status{display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2}.sb-selection-status{width:100%;text-align:center}@media(max-width:1200px){#statusbar-draw{grid-template-columns:auto 220px minmax(0,1fr) 120px auto}.cb-zone-selection{width:120px}}@media(max-width:900px){#statusbar-draw{grid-template-columns:auto 160px minmax(0,1fr) 100px auto}.cb-zone-selection{width:100px}}.modal-overlay{display:none;position:fixed;inset:0;background:#00000073;z-index:100;align-items:center;justify-content:center}#modal-error{z-index:120}#modal-text{background:#00000026}.modal-overlay.show{display:flex}.modal{background:var(--c-surface);border-radius:var(--r-md);padding:20px;min-width:280px;max-width:420px;box-shadow:0 10px 32px #0003}.modal h3{display:flex;align-items:center;min-height:38px;margin:-20px -20px 14px;padding:0 14px;border-bottom:1px solid var(--c-border-soft);border-radius:var(--r-md) var(--r-md) 0 0;background:var(--c-surface-2);font-size:14px;color:var(--c-text);cursor:move;-webkit-user-select:none;user-select:none}.modal-window{padding:0;overflow:hidden}.modal-titlebar{display:flex;align-items:center;justify-content:space-between;gap:10px;height:38px;padding:0 8px 0 14px;border-bottom:1px solid var(--c-border-soft);background:var(--c-surface-2);cursor:move;-webkit-user-select:none;user-select:none}.modal-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;color:var(--c-text)}.modal-titlebar-close{width:26px;height:26px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--c-text-2);cursor:pointer;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.modal-titlebar-close:hover{background:var(--c-danger-bg);border-color:var(--c-danger-border);color:var(--c-danger)}.modal.modal-dragging,#dlg-box.modal-dragging{-webkit-user-select:none;user-select:none;cursor:move}.modal.modal-dragging *{cursor:inherit}.modal-row{display:grid;grid-template-columns:90px 1fr;gap:6px;align-items:center;margin-bottom:6px}.modal-label{font-size:12px;color:var(--c-text-2)}.modal-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.offset-modal{width:340px;max-width:calc(100vw - 32px)}.offset-modal .offset-form{padding:16px 20px 0}.offset-modal .modal-btns{padding:0 20px 18px}.offset-form{display:grid;gap:10px}.offset-form .modal-row{grid-template-columns:96px 1fr;align-items:start;margin-bottom:0}.offset-field{display:flex;flex-direction:column;gap:4px;min-width:0}.new-file-modal{width:min(760px,94vw);max-width:min(760px,94vw);padding:0;overflow:hidden}.new-file-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--c-border-soft)}.new-file-head h3{margin:0 0 4px;font-size:15px}.new-file-head p{margin:0;color:var(--c-text-3);font-size:12px}.new-file-close{border:none;background:transparent;color:var(--c-text-3);cursor:pointer;font-size:20px;line-height:1;padding:0 2px}.new-file-close:hover{color:var(--c-text)}.new-file-body{display:grid;grid-template-columns:150px 1fr;min-height:320px;max-height:52vh}.new-file-sidebar{border-right:1px solid var(--c-border-soft);background:var(--c-surface-2);padding:8px;overflow-y:auto}.new-file-group{width:100%;display:flex;align-items:center;gap:7px;border:none;border-radius:var(--r-md);background:transparent;color:var(--c-text-2);cursor:pointer;font:inherit;font-size:12px;padding:8px 9px;text-align:left}.new-file-group:hover{background:#fff;color:var(--c-text)}.new-file-group.active{background:var(--c-brand-light);color:var(--c-brand);font-weight:700}.new-file-types{padding:14px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;align-content:start}.new-file-type-card{position:relative;display:flex;gap:12px;align-items:center;min-height:88px;padding:14px;border:1px solid var(--c-border);border-radius:var(--r-lg);background:#fff;cursor:pointer;font:inherit;text-align:left;color:var(--c-text);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.new-file-type-card:hover{border-color:var(--c-brand-border);background:var(--c-brand-light);transform:translateY(-1px)}.new-file-type-card.active{border-color:var(--c-brand);box-shadow:0 0 0 2px #1565c024;background:#fff}.new-file-type-card.active:after{content:"✓";position:absolute;top:10px;right:10px;width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:var(--c-brand);color:#fff;font-size:12px;font-weight:800;line-height:1}.new-file-type-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-lg);background:linear-gradient(180deg,#fff,var(--c-surface-2));box-shadow:inset 0 0 0 1px var(--c-border-soft);font-size:18px;flex-shrink:0;overflow:hidden;color:var(--c-brand)}.new-file-type-icon .ui-icon{width:38px;height:38px}.new-file-type-icon .ui-icon-fallback{font-size:0}.new-file-type-icon .ui-icon-fallback:before{content:"📄";font-size:24px}.new-file-type-main{display:flex;flex-direction:column;gap:4px;min-width:0}.new-file-type-main strong{font-size:13px;line-height:1.35;padding-right:18px}.new-file-type-main small{color:var(--c-text-3);font-size:11px;line-height:1.45}.new-file-empty{color:var(--c-text-3);font-size:12px;padding:18px}.new-file-foot{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;padding:13px 18px 16px;border-top:1px solid var(--c-border-soft);background:var(--c-surface-2)}.new-file-name-row{display:grid;gap:5px;font-size:12px;color:var(--c-text-2)}.new-file-actions-row{display:flex;gap:8px}.collapsible-body{overflow:hidden;transition:max-height .2s ease}.collapsible-body.collapsed{max-height:0!important}.toggle-arrow{background:none;border:none;cursor:pointer;font-size:11px;color:var(--c-text-3);padding:0 2px;line-height:1}.toggle-arrow:hover{color:var(--c-text-2)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}#dlg-overlay{display:none;position:fixed;inset:0;z-index:11000;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);align-items:center;justify-content:center}#dlg-overlay.dlg-show{display:flex}#dlg-box{background:var(--c-surface);border:1px solid rgba(255,255,255,.7);border-radius:var(--r-lg);box-shadow:0 18px 50px #0000003d,0 4px 16px #00000024;width:380px;max-width:calc(100vw - 40px);padding:0;overflow:hidden;display:flex;flex-direction:column;transform:scale(1);transition:transform .15s ease}#dlg-box.dlg-form-mode{width:440px}#dlg-box.dlg-switch-mode{width:280px}#dlg-box.dlg-pop{animation:dlg-pop .18s ease}@keyframes dlg-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}#dlg-header{display:flex;align-items:center;gap:10px;padding:16px 18px 12px;border-bottom:1px solid var(--c-border-soft);background:var(--c-surface-2);cursor:move;-webkit-user-select:none;user-select:none}#dlg-icon{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}#dlg-icon svg{width:100%;height:100%}#dlg-title{font-size:15px;font-weight:700;color:var(--c-text)}#dlg-msg{font-size:13px;color:var(--c-text-2);line-height:1.7;padding:16px 18px 0;white-space:pre-wrap}#dlg-input-wrap{padding:12px 18px 0}#dlg-input{width:100%;padding:8px 10px;font-size:13px;font-family:inherit;border:1px solid var(--c-border);border-radius:var(--r-md);outline:none;color:var(--c-text);background:var(--c-surface);transition:border-color .15s}#dlg-input:focus{border-color:var(--c-focus);box-shadow:0 0 0 2px #1976d226}#dlg-input.dlg-input-invalid{border-color:#c62828;box-shadow:0 0 0 2px #c628281f}.dlg-input-error{margin-top:6px;color:#c62828;font-size:12px;line-height:1.5}#dlg-form-wrap{padding:16px 18px 0}#dlg-form-fields{display:flex;flex-direction:column;gap:13px}.dlg-form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.dlg-form-field.dlg-form-checkbox{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px}.dlg-form-checkbox .dlg-form-control{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--c-primary)}.dlg-form-label{color:var(--c-text-2);font-size:12px;font-weight:600}.dlg-form-required{margin-left:3px;color:var(--c-danger)}.dlg-form-control{width:100%;height:36px;padding:0 10px;border:1px solid var(--c-border);border-radius:var(--r-md);outline:none;color:var(--c-text);background:var(--c-surface);font:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.dlg-form-control:focus{border-color:var(--c-focus);box-shadow:0 0 0 2px #1976d226}.dlg-form-control.dlg-input-invalid{border-color:var(--c-danger);box-shadow:0 0 0 2px #c628281f}.dlg-form-field.dlg-form-switch{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;cursor:pointer}.dlg-form-switch .dlg-form-control{appearance:none;flex:0 0 36px;width:36px;height:22px;min-height:0;padding:2px;margin:0;border:1px solid #d5d8dc;border-radius:12px;background:#e5e7eb;cursor:pointer;transition:background .18s,border-color .18s}.dlg-form-switch .dlg-form-control:before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .18s}.dlg-form-switch .dlg-form-control:checked{background:var(--c-brand);border-color:var(--c-brand)}.dlg-form-switch .dlg-form-control:checked:before{transform:translate(14px)}.dlg-form-switch .dlg-form-control:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px}.dlg-form-field-error{display:none;color:var(--c-danger);font-size:11px;line-height:1.4}.dlg-form-field-error.show{display:block}.dlg-checkbox-wrap{padding:12px 18px 0;align-items:flex-start;gap:8px;font-size:13px;color:var(--c-text-2);cursor:pointer;line-height:1.6}.dlg-checkbox-wrap input{margin-top:3px}#dlg-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 18px 18px}.dlg-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 18px;font-size:13px;font-family:inherit;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;font-weight:500;transition:background .12s,box-shadow .12s;outline:none}.dlg-btn:focus-visible{box-shadow:0 0 0 2px #1976d259}#dlg-ok{background:var(--c-brand);color:#fff;border-color:var(--c-brand-dark)}#dlg-ok:hover{background:var(--c-brand-dark)}#dlg-cancel{background:var(--c-surface);color:var(--c-text-2);border-color:var(--c-border)}#dlg-cancel:hover{background:var(--c-surface-2)}#dlg-discard{background:var(--c-surface);color:#c0392b;border-color:#e0b0aa}#dlg-discard:hover{background:#fff0ee}.gb-sec-label{font-size:11px;font-weight:600;color:var(--c-text-2);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 5px;padding-bottom:4px;border-bottom:1px solid var(--c-border-soft)}.gb-sec-label:first-of-type{margin-top:4px}.gb-grid4{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:5px 10px;align-items:center;margin-bottom:2px}.gb-label{font-size:12px;color:var(--c-text-2);white-space:nowrap}.gb-unit{color:var(--c-text-3);font-size:11px}.page-overlay{position:fixed;inset:0;z-index:9000;display:none}.page-overlay.active{display:flex}#page-login{isolation:isolate;overflow:hidden;padding:24px;background:radial-gradient(ellipse at 14% 22%,#deebff 0,transparent 48%),radial-gradient(ellipse at 88% 78%,#dfebe9 0,transparent 42%),#f3f6fa;align-items:center;justify-content:center}#page-login:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.32;background-image:linear-gradient(#bdcce0 1px,transparent 1px),linear-gradient(90deg,#bdcce0 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,transparent 24%,#000 100%);mask-image:radial-gradient(ellipse at center,transparent 24%,#000 100%)}#page-login:after{content:"";position:absolute;z-index:-1;width:460px;height:460px;right:-160px;top:-140px;border:1px solid #c1d4ec;border-radius:50%;box-shadow:0 0 0 42px #d9e6f533,0 0 0 84px #d9e6f522}.login-card{background:#ffffffed;border:1px solid #fff;border-radius:16px;box-shadow:0 16px 56px #233f6814;padding:34px 32px 32px;width:min(360px,100%)}.login-heading{text-align:center;margin-bottom:28px}.login-appname{font-size:22px;font-weight:650;color:#1c2e48;line-height:1.4;letter-spacing:.5px;overflow-wrap:anywhere}.login-field{margin-bottom:18px}.login-field label{display:block;font-size:12px;color:var(--c-text-2);margin-bottom:5px;font-weight:500}.login-field input,.login-field .manual-credential-input{width:100%;height:42px;padding:9px 12px;border:1px solid var(--c-border);border-radius:var(--r-md);font-size:13px;font-family:inherit;outline:none;background:#fff;color:var(--c-text);transition:border-color .15s}.login-field input:focus,.login-field .manual-credential-input:focus{border-color:var(--c-focus);box-shadow:0 0 0 3px #1976d21f}.login-btn{width:100%;padding:10px;background:var(--c-brand);color:#fff;border:none;border-radius:var(--r-md);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:6px;transition:background .15s}.login-btn:hover{background:var(--c-brand-dark)}.login-btn:active{background:#0a2d6e}.login-error{margin-top:12px;padding:8px 12px;background:var(--c-danger-bg);border-radius:var(--r-sm);color:var(--c-danger);font-size:12px;display:none;text-align:center}.login-error.show{display:block}#page-teams{background:var(--c-bg);flex-direction:column}#page-teams.active{display:flex}.proj-topbar{height:52px;background:#fff;border-bottom:1px solid var(--c-border);display:flex;align-items:center;padding:0 24px;flex-shrink:0;box-shadow:0 1px 4px #0000000f}.proj-topbar-logo{font-size:16px;font-weight:700;color:#1a1a1a;letter-spacing:.5px;flex:1}.proj-topbar-logo span{color:var(--c-brand)}.proj-topbar-user{display:flex;align-items:center;gap:8px}.proj-topbar-uname{font-size:13px;color:var(--c-text-2);margin-right:4px}.proj-topbar-logout{padding:5px 14px;border:1px solid var(--c-border);border-radius:var(--r-md);background:#fff;color:var(--c-text-2);font-size:12px;cursor:pointer;font-family:inherit}.proj-topbar-logout:hover{background:var(--c-bg);color:var(--c-text)}.proj-topbar-logout:disabled{opacity:.55;cursor:not-allowed}.proj-toolbar{padding:16px 24px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.proj-toolbar h2{font-size:18px;font-weight:600;color:var(--c-text);margin:0}.proj-toolbar-actions{display:flex;gap:8px}.proj-body{flex:1;overflow-y:auto;padding:24px}.home-body{display:flex;min-height:0}.home-tabs-card{width:100%;min-height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:0 8px 24px #0f172a0f;overflow:hidden}.home-tabs{display:flex;align-items:flex-end;gap:0;padding:0;border-bottom:1px solid var(--c-border);background:#f7f8fb;flex-shrink:0}.home-tab{position:relative;min-width:132px;height:46px;margin:0 0 -1px;border:1px solid transparent;border-bottom-color:var(--c-border);border-radius:var(--r-md) var(--r-md) 0 0;background:transparent;color:var(--c-text-2);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.home-tab:hover{color:var(--c-brand);background:#ffffffa6}.home-tab.active{background:#fff;color:var(--c-brand);border-color:var(--c-border);border-bottom-color:#fff;box-shadow:none}.home-tab-panel{display:none;flex:1;min-height:0;padding:18px}.home-tab-panel.active{display:flex;flex-direction:column;gap:14px}.home-panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.home-panel-toolbar h2{margin:0 0 4px;color:var(--c-text);font-size:18px;font-weight:700}.home-panel-toolbar p{margin:0;color:var(--c-text-3);font-size:12px;line-height:1.6}.home-panel-actions{display:flex;align-items:center;gap:8px;margin-left:auto}#team-grid-container,#share-list-container,#system-manage-container{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.proj-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--c-text-3)}.proj-empty-icon{font-size:48px;margin-bottom:12px;opacity:.45}.proj-empty-text{font-size:14px}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.proj-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:18px 16px 16px;cursor:pointer;transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;gap:8px;position:relative}.proj-card:hover{box-shadow:0 4px 16px #00000017;border-color:#bbdefb}.proj-card.selected{border-color:var(--c-brand);box-shadow:0 0 0 2px #1976d21f,0 4px 16px #00000014}.proj-card.disabled{background:#fafbfc;border-color:#e2e8f0}.proj-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.proj-card-name{font-size:14px;font-weight:600;color:var(--c-text);line-height:1.4;flex:1;min-width:0;word-break:break-all}.proj-card-meta{font-size:11px;color:var(--c-text-3)}.team-state-line{min-height:16px;line-height:1.45;white-space:normal}.proj-card-info-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin:-5px -5px 0 4px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--c-text-3);cursor:pointer;font:inherit;font-size:15px;line-height:1;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.proj-card-info-btn:hover{background:var(--c-brand-light);border-color:var(--c-brand-border);color:var(--c-brand);box-shadow:0 1px 2px #0f172a0d}.proj-card-info-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #1976d233}.proj-card-actions{display:flex;justify-content:flex-end;margin-top:4px}.proj-card-btn{padding:4px 14px;border-radius:var(--r-sm);font-size:12px;cursor:pointer;font-family:inherit;border:1px solid transparent;transition:all .12s}.proj-card-btn.primary{background:var(--c-brand);color:#fff}.proj-card-btn.primary:hover:not(:disabled){background:var(--c-brand-dark)}.share-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--c-border-soft);border-radius:var(--r-md);background:#f8fafc;flex-shrink:0}.share-filter-title{color:var(--c-text-3);font-size:12px;font-weight:700;white-space:nowrap}.share-filter-group{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.share-filter{height:28px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--c-text-2);font:inherit;font-size:12px;cursor:pointer;transition:background .12s,color .12s,border-color .12s,box-shadow .12s}.share-filter b{min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;background:#64748b1f;color:inherit;font-size:11px;font-weight:800;line-height:1}.share-filter:hover{background:#fff;color:var(--c-brand);border-color:var(--c-brand-border)}.share-filter.active{background:var(--c-brand);color:#fff;border-color:var(--c-brand);box-shadow:0 2px 8px #1565c02e}.share-filter.active b{background:#ffffff38}.share-table{flex:1;min-height:0;border:1px solid var(--c-border);border-radius:var(--r-md);background:#fff;overflow:auto}.share-table-head,.share-table-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) 84px 96px 150px 76px 76px 196px;align-items:center;gap:10px;min-width:1080px}.share-table-head{position:sticky;top:0;z-index:1;min-height:42px;padding:0 12px;border-bottom:1px solid var(--c-border);background:#f6f8fa;color:var(--c-text-2);font-size:12px;font-weight:700}.share-table-body{display:flex;flex-direction:column}.share-table-row{min-height:52px;padding:0 12px;border-bottom:1px solid var(--c-border-soft);color:var(--c-text-2);font-size:12px}.share-table-row:last-child{border-bottom:none}.share-table-row:hover{background:#fafbfc}.share-table-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-table-name{display:flex;align-items:center;gap:8px;color:var(--c-text);font-weight:600}.share-table-icon{width:18px;height:18px;display:inline-flex;flex-shrink:0}.share-table-icon svg{width:18px;height:18px;display:block}.share-status{font-weight:700;font-size:12px}.share-status.ok{color:#187a3d}.share-status.muted{color:var(--c-text-3)}.share-table-actions{display:flex;align-items:center;gap:6px;overflow:visible!important}.team-manage-box{background:#fff;border-radius:var(--r-lg);box-shadow:0 8px 32px #0000002e;width:940px;height:640px;max-width:96vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.team-manage-body{flex:1;min-height:0;padding:14px 16px 18px;overflow:hidden;display:flex;flex-direction:column;gap:12px}#team-manage-overlay{position:fixed;z-index:9800}.team-manage-tabs{display:flex;gap:0;padding:0;border-bottom:1px solid var(--c-border);background:#f7f8fb;flex-shrink:0}.team-manage-tab{min-width:92px;height:38px;margin:0 0 -1px;border:1px solid transparent;border-bottom-color:var(--c-border);background:transparent;color:var(--c-text-3);padding:0 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;border-radius:var(--r-sm) var(--r-sm) 0 0}.team-manage-tab.active{color:var(--c-brand);background:#fff;border-color:var(--c-border);border-bottom-color:#fff}.team-manage-tab:hover{color:var(--c-brand)}.team-manage-tab-panel{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.team-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.team-overview-grid div{padding:10px;background:#fff;border:1px solid var(--c-border-soft);border-radius:var(--r-sm);display:flex;flex-direction:column;gap:4px}.team-overview-grid span{font-size:11px;color:var(--c-text-3)}.team-overview-grid b{font-size:12px;color:var(--c-text)}.team-manage-note{margin:10px 0 0;color:var(--c-text-3);font-size:12px;line-height:1.6}.team-policy-list{margin:0;padding-left:18px;color:var(--c-text-2);font-size:12px;line-height:1.8}.team-manage-loading,.team-manage-empty{padding:14px;color:var(--c-text-3);font-size:12px;text-align:center}.team-manage-sec{border:1px solid var(--c-border-soft);border-radius:var(--r-md);padding:10px;background:#fafbfc}.team-manage-list-sec{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.team-manage-sec-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:700;color:var(--c-text);margin-bottom:8px}.team-settings-sec{display:flex;flex-direction:column;gap:10px}.team-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--c-border-soft);border-radius:var(--r-md);background:#fff}.team-settings-row div{display:flex;flex-direction:column;gap:4px;min-width:0}.team-settings-row b{color:var(--c-text);font-size:13px}.team-settings-row small{color:var(--c-text-3);font-size:12px;line-height:1.5}.team-settings-row.danger{border-color:var(--c-danger-border);background:#fff8f7}.team-settings-row.danger b{color:var(--c-danger)}.team-id-code{display:inline-flex;width:max-content;max-width:100%;padding:4px 8px;border:1px solid var(--c-border-soft);border-radius:var(--r-sm);background:#f6f8fa;color:var(--c-text);font-size:12px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;-webkit-user-select:all;user-select:all;overflow:hidden;text-overflow:ellipsis}.team-manage-list-head,.team-manage-row{display:grid;align-items:center;gap:10px;min-width:0}.member-list-head,.member-list-row{grid-template-columns:minmax(150px,1.2fr) 72px 72px minmax(170px,1.2fr) 130px 230px}.approval-list-head,.approval-list-row{grid-template-columns:minmax(160px,1.3fr) minmax(120px,1fr) 100px 130px 130px}.group-list-head,.group-list-row{grid-template-columns:minmax(160px,1.4fr) 140px 90px 130px 150px}.team-manage-list-head{flex-shrink:0;min-height:34px;padding:0 10px;border:1px solid var(--c-border-soft);border-radius:var(--r-sm) var(--r-sm) 0 0;background:#f6f8fa;color:var(--c-text-2);font-size:12px;font-weight:700}.team-manage-list-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.team-manage-row{min-height:48px;padding:8px 10px;background:#fff;border:1px solid var(--c-border-soft);border-top:none;font-size:12px}.team-manage-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.team-manage-main{min-width:0;display:flex;flex-direction:column;gap:3px}.team-manage-main b{font-size:12px;color:var(--c-text)}.team-manage-person{display:flex;flex-direction:column;gap:3px}.team-manage-person b{color:var(--c-text);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-manage-person small{color:var(--c-text-3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-manage-main small,.team-group-head small,.team-group-members small{color:var(--c-text-3);font-size:11px}.team-manage-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;align-items:center;overflow:visible!important}.mini-link-btn{border:1px solid var(--c-border);background:#fff;color:var(--c-brand);border-radius:var(--r-sm);padding:3px 8px;font:inherit;font-size:11px;cursor:pointer}.mini-link-btn:hover{background:var(--c-brand-light);border-color:var(--c-brand-border)}.mini-link-btn.danger{color:var(--c-danger)}.mini-link-btn:disabled{opacity:.55;cursor:not-allowed;background:#fff;border-color:var(--c-border);color:var(--c-text-3)}.team-member-status.ok{color:#187a3d}.team-member-status.muted{color:var(--c-text-3)}.team-member-groups{display:flex;align-items:center;gap:6px;overflow:visible!important}.team-member-group-select{width:100%;max-width:190px;height:30px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:#fff;font:inherit;font-size:12px;padding:0 28px 0 9px;color:var(--c-text);cursor:pointer}.team-member-group-select:hover{border-color:var(--c-brand-border);background:#fafcff}.team-member-group-select:focus{outline:none;border-color:var(--c-focus);box-shadow:0 0 0 2px #1976d21f}.team-member-group-select:disabled{color:var(--c-text-3);background:#f6f8fa;cursor:default}.team-member-group-pill{display:inline-flex;align-items:center;max-width:190px;min-height:28px;padding:0 10px;border-radius:999px;background:var(--c-brand-light);color:var(--c-brand);font-size:11px;font-weight:700}.team-member-group-pill.locked{background:#f4f6f8;color:var(--c-text-2);border:1px solid var(--c-border-soft)}.team-group-member-count{color:var(--c-text-2);font-weight:600}.team-group-lock,.team-admin-lock{color:var(--c-text-3);font-size:11px}.team-group-card{padding:10px;background:#fff;border:1px solid var(--c-border-soft);border-radius:var(--r-sm);margin-top:8px;display:flex;flex-direction:column;gap:8px}.team-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.team-group-head b{font-size:12px;color:var(--c-text)}.team-group-actions{display:flex;gap:6px;margin-left:auto}.team-group-members{display:flex;flex-wrap:wrap;gap:6px;overflow:visible!important}.team-group-card select{height:28px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:#fff;font:inherit;font-size:12px;padding:0 8px;color:var(--c-text-2)}#page-files{background:var(--c-bg);flex-direction:column}#page-files.active{display:flex}.file-topbar{height:52px;background:#fff;border-bottom:1px solid var(--c-border);display:flex;align-items:center;padding:0 24px;flex-shrink:0;box-shadow:0 1px 4px #0000000f}.file-topbar-logo{font-size:16px;font-weight:700;color:#1a1a1a;letter-spacing:.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:16px}.file-topbar-logo span{color:var(--c-brand)}.file-topbar-user{height:100%;display:flex;align-items:center;gap:12px}.file-user-menu{height:100%}.file-user-menu .file-user-button{height:34px;gap:6px;padding:0 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--c-text-2);font:inherit;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.file-user-menu .file-user-button:hover{background:#f3f7fc;border-color:#e5eaf0;color:var(--c-text);box-shadow:0 1px 2px #0f172a0d}.file-user-menu .menu-dropdown{top:calc(100% + 1px);border-radius:8px}.file-topbar-uname{font-size:13px;color:inherit}.file-body{flex:1;overflow:hidden;display:flex;min-height:0}.file-body>.file-manager-app{width:100%}.fm-search{width:190px;height:34px;flex-shrink:0;padding:0 10px;border:1px solid #E5E7EB;border-radius:9px;background:#fafbfc;color:#2b2f36;font:inherit;font-size:12px;outline:none}.fm-search:focus{border-color:#bbd7f4;box-shadow:0 0 0 2px #0f6cbd1f;background:#fff}.file-info-overlay{position:absolute;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;background:#0f172a47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.file-info-overlay.active{display:flex}.file-info-overlay.global-manage-overlay{position:fixed;z-index:10500}.file-info-box{background:#fff;border-radius:var(--r-lg);box-shadow:0 8px 32px #0000002e;width:340px;max-width:94vw;overflow:hidden}.file-manage-box{background:#fff;border:1px solid rgba(255,255,255,.72);border-radius:18px;box-shadow:0 22px 60px #0f172a3d;width:720px;height:560px;max-width:94vw;max-height:86vh;overflow:hidden;display:flex;flex-direction:column}.file-manage-body{flex:1;min-height:0;padding:16px;overflow:hidden;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fbfcfe 0,#f6f8fb)}.file-info-title{min-height:54px;padding:14px 18px 12px;font-size:15px;font-weight:700;border-bottom:1px solid #EEF1F5;display:flex;align-items:center;gap:8px;background:#fff}.file-info-title span{flex:1;min-width:0;word-break:break-all}.file-info-close{width:28px;height:28px;border-radius:50%;border:none;background:#f5f7fa;cursor:pointer;font-size:16px;color:var(--c-text-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,color .12s}.file-info-close:hover{background:#eaf2fc;color:var(--c-brand)}.file-info-rows{padding:10px 16px;display:flex;flex-direction:column;gap:6px}.file-info-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:4px 0}.file-info-row-label{color:var(--c-text-3)}.file-info-row-val{color:var(--c-text);font-weight:500;text-align:right}.file-info-summary-block{margin:0 16px 12px;padding:10px;border:1px solid var(--c-border-soft);border-radius:var(--r-sm);background:#fafbfc;display:flex;flex-direction:column;gap:6px;font-size:12px}.file-info-summary-block b{color:var(--c-text)}.file-info-summary-block span{color:var(--c-text-3);line-height:1.45}.file-info-actions{border-top:1px solid var(--c-border-soft);padding:10px 16px;display:flex;gap:8px;justify-content:flex-end}.file-info-btn{padding:5px 14px;border-radius:var(--r-sm);font-size:12px;cursor:pointer;font-family:inherit;border:1px solid var(--c-border);background:#fff;color:var(--c-text-2);transition:all .12s}.file-info-btn:hover{background:var(--c-brand-light);border-color:var(--c-brand-border);color:var(--c-brand)}.file-info-btn.danger{border-color:var(--c-danger-border);color:var(--c-danger)}.file-info-btn.danger:hover{background:var(--c-danger-bg)}.file-info-btn.primary{background:var(--c-brand);color:#fff;border-color:transparent}.file-info-btn.primary:hover{background:var(--c-brand-dark)}.file-manage-card{border:1px solid #E7ECF3;border-radius:14px;background:#fff;box-shadow:0 1px 2px #0f172a09}.file-manage-card-hero{flex-shrink:0;padding:13px 14px;background:linear-gradient(135deg,#f6faff,#fff)}.file-manage-card-hero div{display:flex;flex-direction:column;gap:4px}.file-manage-card-hero b{color:var(--c-text);font-size:13px}.file-manage-card-hero span{color:var(--c-text-3);font-size:12px;line-height:1.55}.file-manage-card-title{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border-bottom:1px solid #EEF1F5;color:var(--c-text);font-size:13px;font-weight:700}.file-manage-card-title small{color:var(--c-text-3);font-size:11px;font-weight:600}.file-manage-list-card{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.permission-rule-list,.share-dialog-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:10px}.permission-rule-row,.share-dialog-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #EAF0F6;border-radius:12px;background:#fff;font-size:12px;transition:background .12s,border-color .12s,box-shadow .12s}.permission-rule-row:hover,.share-dialog-row:hover{background:#fafcff;border-color:#ddeaf8;box-shadow:0 2px 8px #0f172a0d}.permission-rule-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text);font-weight:700}.permission-pill{margin-left:auto;padding:3px 8px;border-radius:999px;background:#eaf4ff;color:#0f5fb8;font-size:11px;white-space:nowrap}.permission-add-row{flex-shrink:0;display:grid;grid-template-columns:minmax(220px,1fr) 130px auto;gap:10px;align-items:end;padding:12px}.permission-add-row label,.share-form-grid label{display:flex;flex-direction:column;gap:6px;color:var(--c-text-3);font-size:11px;font-weight:700}.permission-add-row select,.share-form-grid select,.share-form-grid input{height:34px;border:1px solid #DDE4EE;border-radius:10px;padding:0 10px;background:#fff;color:var(--c-text);font:inherit;font-size:12px;outline:none}.permission-add-row select:focus,.share-form-grid select:focus,.share-form-grid input:focus{border-color:#9cc8f5;box-shadow:0 0 0 2px #0f6cbd1f}.file-manage-footer{flex-shrink:0;margin-top:auto;padding-top:4px;display:flex;justify-content:flex-end;gap:8px}.permission-manage-box{width:860px;height:520px;max-height:calc(100vh - 48px)}.permission-matrix{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.permission-matrix-head,.permission-matrix-row{display:grid;grid-template-columns:minmax(230px,1fr) repeat(4,112px);align-items:stretch}.permission-matrix-head{min-height:40px;flex:0 0 40px;border-bottom:1px solid #E7ECF3;background:#f7f9fc;color:var(--c-text-2);font-size:12px;font-weight:700}.permission-matrix-head>span{display:flex;align-items:center;justify-content:center;padding:5px 8px;border-left:1px solid #E7ECF3;text-align:center}.permission-matrix-head>span:first-child{justify-content:flex-start;border-left:0;padding-left:16px}.permission-matrix-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.permission-matrix-row{height:42px;min-height:42px;border-bottom:1px solid #EEF1F5;background:#fff}.permission-matrix-row:hover{background:#fafcff}.permission-account{display:flex;align-items:center;min-width:0;padding:5px 16px}.permission-account b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text);font-size:12px}.permission-matrix-row>label{display:flex;align-items:center;justify-content:center;border-left:1px solid #EEF1F5;cursor:pointer}.permission-matrix-row input{position:absolute;opacity:0;pointer-events:none}.permission-matrix-row label span{width:16px;height:16px;border:2px solid #C7D0DC;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px #fff;transition:.12s}.permission-matrix-row label:hover span{border-color:#65a6e8}.permission-matrix-row input:checked+span{border-color:#1976d2;background:#1976d2}.account-manage-box{width:1040px;height:620px;max-width:96vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;border-radius:18px;background:#fff;box-shadow:0 22px 60px #0f172a3d}.account-manage-body{flex:1;min-height:0;padding:16px;overflow:auto;background:#f7f9fc}.account-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:12px}.account-toolbar span{color:var(--c-text-3);font-size:12px}.account-table{overflow:hidden;border:1px solid #E2E8F0;border-radius:12px;background:#fff}.account-table-head,.account-table-row{display:grid;grid-template-columns:150px 100px 90px 130px minmax(410px,1fr);align-items:center;min-height:50px}.account-table-head{background:#f2f5f9;color:var(--c-text-2);font-size:12px;font-weight:700}.account-table-head span,.account-table-row>span{min-width:0;padding:9px 12px}.account-table-row{border-top:1px solid #EDF1F5;color:var(--c-text-2);font-size:12px}.account-table-row>span:first-child{display:flex;flex-direction:column;gap:3px}.account-table-row b{color:var(--c-text)}.account-table-row small{color:var(--c-text-3)}.account-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}.account-actions button{height:28px;padding:0 9px;border:1px solid #D9E1EA;border-radius:7px;background:#fff;color:#32506d;font:inherit;font-size:11px;cursor:pointer;white-space:nowrap;flex:0 0 auto}.account-actions button:hover{border-color:#9cc8f5;background:#f3f8fe;color:#0f5fb8}.account-actions button.danger{color:#b42318}.account-access-select{width:100%;height:30px;border:1px solid #D9E1EA;border-radius:7px;background:#fff;color:#32506d;font:inherit;font-size:11px;padding:0 7px}@media(max-width:820px){.permission-matrix-head,.permission-matrix-row{grid-template-columns:minmax(180px,1fr) repeat(4,90px)}.permission-matrix{overflow:hidden}.permission-matrix-head,.permission-matrix-row{min-width:610px}.permission-matrix-body{min-width:610px;overflow-x:auto}.account-table{min-width:940px}}.share-config-panel{flex-shrink:0;display:flex;flex-direction:column;overflow:hidden}.share-form-grid{display:grid;grid-template-columns:145px 145px 1fr auto;gap:10px;align-items:end;padding:12px}.share-form-grid .share-check{min-height:34px;flex-direction:row;align-items:center;padding:0 4px;color:var(--c-text-2);font-weight:600}.share-form-grid .share-check input{width:14px;height:14px}.share-dialog-row div{display:flex;flex-direction:column;gap:4px;min-width:0}.share-dialog-row b{color:var(--c-text);font-size:12px}.share-dialog-row small{color:var(--c-text-3);font-size:11px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-manage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.system-manage-card{padding:18px;border:1px solid var(--c-border);border-radius:var(--r-md);background:#fff;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px #0f172a0a}.system-manage-card b{font-size:24px;color:var(--c-brand)}.system-manage-card h3{margin:0;font-size:16px;color:var(--c-text)}.system-manage-card p,.system-manage-card span{margin:0;color:var(--c-text-3);font-size:12px;line-height:1.6}@media(max-width:760px){.file-manage-box{height:min(560px,86vh);width:94vw}.permission-add-row,.share-form-grid{grid-template-columns:1fr}.share-form-grid .share-check{justify-content:flex-start}}.aci-palette{position:fixed;z-index:12000;width:366px;padding:12px;background:#fff;border:1px solid #cfd8dc;border-radius:8px;box-shadow:0 8px 32px #0003}.aci-palette-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:600}.aci-palette-title button{border:0;background:transparent;font-size:20px;cursor:pointer}.aci-palette-grid{display:grid;grid-template-columns:repeat(15,1fr);gap:3px;margin-top:8px}.aci-palette-grid button{width:21px;height:21px;padding:0;border:1px solid #78909c55;border-radius:2px;cursor:pointer}.aci-palette-grid button:hover,.aci-palette-grid button:focus-visible{outline:2px solid #1976d2;outline-offset:1px;transform:scale(1.15)}.snap-option-icon{width:16px;height:16px;display:inline-flex;vertical-align:middle;flex-shrink:0}.snap-option-icon svg{width:100%;height:100%}#btn-snap{display:inline-flex;align-items:center;gap:5px}.layer-row .layer-color{padding:0;cursor:pointer;flex-shrink:0}.admin-overlay{position:fixed;inset:0;z-index:10500;background:#172b4d55;display:flex;align-items:center;justify-content:center;padding:24px}.admin-dialog{width:min(920px,94vw);max-height:88vh;background:#fff;border-radius:12px;box-shadow:0 18px 60px #0003;display:flex;flex-direction:column;overflow:hidden}.admin-dialog>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5eaf0;padding:18px 22px;cursor:move;-webkit-user-select:none;user-select:none}.admin-dialog h2{font-size:18px;margin:0}.admin-dialog>header button{background:none;border:0;font-size:24px;cursor:pointer;color:#546e7a}.admin-body{padding:20px 22px;overflow:auto}.admin-toolbar{display:flex;gap:14px;justify-content:space-between;margin-bottom:18px}.admin-toolbar input{min-width:280px}.admin-dialog input,.admin-dialog select{padding:8px 10px;border:1px solid #cfd8dc;border-radius:5px;font:inherit}.admin-table-wrap{overflow:auto;border:1px solid #e5eaf0;border-radius:7px}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{background:#f5f7fa;font-weight:600;color:#526575;text-align:left}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #e5eaf0;vertical-align:middle}.admin-table tr:last-child td{border-bottom:0}.admin-table td small{display:block;margin-top:3px;color:#78909c}.admin-row-actions{white-space:nowrap}.admin-row-actions button{border:0;background:none;color:#1565c0;cursor:pointer;padding:3px 5px}.admin-row-actions .danger{color:#c62828}.admin-status{padding:3px 7px;border-radius:4px;color:#087f5b;background:#e6f5ed}.admin-status.disabled{color:#8a5c12;background:#fff3da}.admin-error{color:#c62828;min-height:18px}.admin-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dimension-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.dimension-style-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:11px;color:var(--c-text-2)}.dimension-style-value{display:flex;align-items:center;gap:4px;min-width:0;color:var(--c-text-3)}.dimension-style-value input{min-width:0;width:100%;box-sizing:border-box;padding:4px 5px;border:1px solid var(--c-border);border-radius:4px;background:var(--c-surface,#fff);color:var(--c-text);font:inherit;font-variant-numeric:tabular-nums}.dimension-style-value input:focus{outline:1px solid var(--c-brand);border-color:var(--c-brand)}.dimension-style-value input:invalid{border-color:#c62828}.dimension-style-value input:disabled{opacity:.55}.dimension-style-value input[type=color]{min-height:27px;padding:2px;cursor:pointer}.dimension-style-value>span{flex-shrink:0;font-size:10px}.dimension-style-note{grid-column:1/-1;color:var(--c-text-3);font-size:10px;line-height:1.5}#rp-draw-list{border-bottom:1px solid var(--c-border-soft);flex:0 0 auto}#rp-draw-list .layer-row:last-child{border-bottom:0}#rp-draw .rp-icon-btn,#rp-draw .et-btn,#rp-draw .rp-tool-btn{color:var(--c-shell-icon)}#rp-draw button:disabled{opacity:.35;cursor:default}#rp-draw button.active{color:var(--c-brand);background:var(--c-shell-active,#dce9f8)}#et-place-group .rp-icon-btn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.menu-dd-item svg{vertical-align:middle;margin-right:8px}.admin-dialog{height:min(640px,88vh)}.admin-dialog>header,.admin-toolbar,.admin-dialog footer{flex-shrink:0}.admin-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:hidden}.admin-table-wrap{flex:1;min-height:0;overflow:auto}.admin-table thead th{position:sticky;top:0;z-index:1;background:var(--c-panel, #f5f7f9)}#app-root{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}#drawing-check-panel{position:absolute;top:12px;right:12px;z-index:24;width:310px;max-width:calc(100% - 24px);max-height:min(50%,420px);display:flex;flex-direction:column;border:1px solid #E7B5AF;border-radius:5px;background:#fff;box-shadow:0 3px 14px #00000024;font-size:12px}#drawing-check-panel[hidden]{display:none}#drawing-check-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;color:#a52c23;background:#fff3f1;border-bottom:1px solid #F1D0CB}#drawing-check-panel header button{border:0;border-radius:3px;padding:3px 6px;background:transparent;color:inherit;font:inherit;cursor:pointer}.drawing-check-list{min-height:0;overflow-y:auto;padding:4px}.drawing-check-list button{display:block;width:100%;padding:7px 8px;border:1px solid transparent;border-radius:3px;background:#fff;color:var(--c-text);text-align:left;font:inherit;line-height:1.5;cursor:pointer}.drawing-check-list button:hover{background:#fff7e5}.drawing-check-list button.active{border-color:#e6ad50;background:#fff3cd}#drawing-check-panel p{margin:0;padding:6px 10px;color:var(--c-text-2);font-size:11px;border-top:1px solid var(--c-border-soft)}#canvas-text-layer .parametric-inline-text{position:absolute;box-sizing:content-box;display:block;margin:0;padding:0;border:0;border-radius:0;outline:none;background:transparent;color:#111;caret-color:#4d7cff;resize:none;overflow:hidden;white-space:pre;overflow-wrap:normal;word-break:normal;tab-size:2;font-weight:400;font-style:normal;font-variant:normal;text-align:left;text-indent:0;text-transform:none;transform-origin:0 0;-webkit-user-select:text;user-select:text;pointer-events:auto;cursor:text}#canvas-text-layer .parametric-inline-text::selection{background:#bdd2ff}#canvas-text-layer .parametric-inline-text::placeholder{color:#8b95a5}#modal-add .modal{width:260px;max-width:calc(100vw - 32px);min-width:0;padding:0}#modal-add .modal h3{margin:0;min-height:38px;padding:0 24px}#modal-add-fields{display:grid;grid-template-columns:1fr;gap:10px;padding:14px 18px}#modal-add-fields .shape-dialog-field{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px;min-width:0;color:var(--c-text-2, #526170);font-size:12px}#modal-add-fields .shape-dialog-control{display:flex;min-width:0;align-items:center;gap:8px;border:1px solid var(--c-border, #ced7e0);border-radius:5px;background:#fff;padding:0 10px}#modal-add-fields .shape-dialog-control:focus-within{border-color:var(--c-brand, #1565c0);box-shadow:0 0 0 2px #1565c01a}#modal-add-fields input{min-width:0;width:100%;height:28px;padding:0;border:0;outline:none;background:transparent;color:var(--c-text, #25313c);font:inherit;font-size:13px;font-variant-numeric:tabular-nums}#modal-add-fields .shape-dialog-unit{color:var(--c-text-3, #778391);font-size:11px;white-space:nowrap}#modal-add-fields .shape-dialog-error{margin:0;font-size:11px;line-height:1.6;color:var(--c-text-3, #778391)}#modal-add-fields .shape-dialog-error{color:#c62828}#modal-add .modal-btns{margin:0;padding:0 24px 20px}@media(max-width:420px){#modal-add-fields{grid-template-columns:1fr}}.reference-images-list{gap:3px;padding:5px 6px}.reference-image-row{display:grid;grid-template-columns:36px minmax(0,1fr) 26px 26px;align-items:center;gap:8px;padding:4px;border:1px solid transparent;border-radius:3px;cursor:pointer}.reference-image-row:hover{background:var(--c-hover-row)}.reference-image-row.selected{background:var(--c-brand-light, #e8f1fc);border-color:var(--c-brand, #1565c0)}.reference-image-row button{display:flex;align-items:center;justify-content:center;min-width:0;height:26px;padding:3px;border:0;border-radius:3px;color:var(--c-text-2);background:transparent;cursor:pointer}.reference-image-row button:hover{color:var(--c-brand);background:var(--c-hover-row)}.reference-image-row button[aria-pressed=true]{color:var(--c-brand)}.reference-image-row:focus-visible,.reference-image-row button:focus-visible{outline:1px solid var(--c-focus);outline-offset:1px}.reference-image-row .ui-icon{width:15px;height:15px}.reference-image-row .reference-image-thumbnail{width:36px;height:30px;padding:2px;border:1px solid var(--c-border-soft);background:#fff}.reference-image-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.reference-image-row input[type=range]{width:100%;min-width:0;margin:0;accent-color:var(--c-brand, #1565c0);cursor:pointer}.reference-image-preview{position:fixed;z-index:10000;box-sizing:border-box;padding:7px;border:1px solid var(--c-border);border-radius:5px;background:#fff;box-shadow:0 4px 18px #0003;pointer-events:none}.reference-image-preview img{display:block;width:100%;height:100%;object-fit:contain}.user-guide-dialog{width:min(1120px,calc(100vw - 48px));height:min(820px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #d7e0eb;border-radius:12px;background:#fff;color:#223449;overflow:hidden;box-shadow:0 24px 80px #10233840}.user-guide-dialog[open]{display:flex;flex-direction:column}.user-guide-dialog::backdrop{background:#182a4166}.user-guide-header{display:flex;align-items:center;justify-content:space-between;flex:none;padding:17px 24px;border-bottom:1px solid #e3e9f1}.user-guide-header h2{margin:0;font-size:18px;font-weight:650}.user-guide-header p{margin:4px 0 0;font-size:12px;color:#66768a}.user-guide-close{width:34px;height:34px;padding:0;border:0;border-radius:6px;background:#f0f4f8;color:#53657b;font-size:24px;line-height:1;cursor:pointer}.user-guide-close:hover{background:#e1eaf5;color:#1565c0}.user-guide-close:focus-visible{outline:2px solid #1565c0;outline-offset:3px}.user-guide-frame{display:block;flex:1;width:100%;min-height:0;border:0;background:#fff}@media(max-width:700px){.user-guide-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:8px}.user-guide-header{padding:12px 16px}}.favorites-toolbar-controls{margin-left:auto;display:flex;align-items:center;flex-shrink:0;gap:1px;padding-left:7px;position:sticky;right:0;background:var(--c-shell-deep);z-index:2}.favorites-toolbar-controls:before{content:"";height:17px;width:1px;background:#00000029;margin-right:4px}.favorites-toolbar-controls .ltb-btn[aria-expanded=true]{color:var(--c-brand);background:#1565c026}.favorites-panel{position:fixed;z-index:420;width:450px;height:560px;max-width:calc(100vw - 16px);max-height:calc(100vh - 70px);display:flex;flex-direction:column;color:var(--c-text,#263445);background:#fff;border:1px solid #c8d1dc;border-radius:5px;box-shadow:0 8px 30px #17283d30;font:12px Microsoft YaHei,sans-serif;overflow:hidden}.favorites-panel[hidden],.favorites-panel [hidden],.favorite-form-dialog [hidden]{display:none!important}.favorites-panel button,.favorite-form-dialog button{font:inherit;cursor:pointer;border:0;background:transparent;color:inherit;border-radius:3px}.favorites-panel button:hover,.favorite-form-dialog button:hover{background:#eaf1f8}.favorites-panel button:focus-visible,.favorite-form-dialog button:focus-visible{outline:2px solid #80ace0;outline-offset:-2px}.favorites-panel button:disabled,.favorite-form-dialog button:disabled{opacity:.45;cursor:not-allowed}.favorites-header{height:38px;padding:0 10px 0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e7ed;flex-shrink:0}.favorites-header strong{font-size:13px;font-weight:600}.favorites-header button,.favorite-form-dialog header button{font-size:21px;width:27px;height:27px;line-height:24px}.favorites-tabs{display:flex;gap:5px;padding:6px 10px 0;flex-shrink:0}.favorites-tabs button{flex:1;padding:7px 4px;border-bottom:2px solid transparent;border-radius:3px 3px 0 0}.favorites-tabs button[aria-selected=true]{color:var(--c-brand,#1565c0);border-bottom-color:var(--c-brand,#1565c0);background:#edf4fc}.favorites-search-row{display:flex;gap:6px;padding:9px 10px;flex-shrink:0}.favorites-search-row input,.favorite-form-dialog input,.favorite-form-dialog select{font:inherit;min-width:0;height:29px;border:1px solid #ccd4dd;border-radius:3px;padding:4px 7px;box-sizing:border-box;color:inherit;background:#fff;outline:none}.favorites-search-row input:focus,.favorite-form-dialog input:focus,.favorite-form-dialog select:focus{border-color:#6b9ed8;box-shadow:0 0 0 1px #6b9ed8}.favorites-search-row input{flex:1}.favorites-search-row button{width:30px;display:grid;place-items:center}.favorites-search-row button[aria-pressed=true]{color:#1565c0;background:#eaf2fc}.favorites-message{margin:0 10px 8px;padding:6px 8px;border-radius:3px;color:#a5372d;background:#fff0ee;overflow-wrap:anywhere}.favorites-body{min-height:0;flex:1;display:flex;border-top:1px solid #e2e7ed}.favorites-groups{width:108px;flex-shrink:0;padding:6px 5px;border-right:1px solid #e2e7ed;overflow:auto;background:#f7f9fc}.favorites-group{width:100%;height:30px;padding:0 7px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorites-group.active{color:#1565c0;background:#e5effa}.favorites-group-row{display:flex;position:relative}.favorites-group-row .favorites-group{padding-right:22px}.favorites-group-more{position:absolute;right:1px;top:3px;width:22px;height:24px;opacity:0}.favorites-group-row:hover .favorites-group-more,.favorites-group-more:focus-visible{opacity:1}.favorites-add-group{margin-top:8px;padding:7px;width:100%;text-align:left;color:#52759e!important}.favorites-content{min-width:0;flex:1;overflow:auto;padding:8px}.favorites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.favorites-grid-empty{display:block}.favorites-empty{color:#8894a2;text-align:center;margin:64px 0}.favorite-card{position:relative;border:1px solid #e0e6ee;border-radius:4px;min-width:0;overflow:hidden;background:#fff}.favorite-card:hover{border-color:#9ebbe0;box-shadow:0 1px 4px #446b9d12}.favorite-card-insert{display:flex;flex-direction:column;width:100%;text-align:left;padding:0!important;border-radius:0!important}.favorite-card-preview{width:100%;height:82px;display:flex;align-items:center;justify-content:center;background:#f9fbfd;color:#aebdce;overflow:hidden}.favorite-card-preview img{height:100%;width:100%;object-fit:contain}.favorite-card-preview svg{width:30px;height:30px}.favorite-card-name{display:block;width:100%;box-sizing:border-box;padding:6px 8px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:18px}.favorite-card-dimensions{display:block;padding:0 8px 7px;font-size:10px;color:#7b8795;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorite-card-more{position:absolute;right:4px;top:4px;width:24px;height:23px;font-size:18px!important;background:#ffffffeb!important;box-shadow:0 1px 3px #20354d15}.favorite-card-more:hover{background:#e7eff9!important}.favorite-trash-actions{display:flex;justify-content:flex-end;gap:3px;padding:0 4px 5px}.favorite-trash-actions button{font-size:11px;padding:4px}.favorites-footer{flex-shrink:0;border-top:1px solid #e2e7ed;font-size:10px;color:#7b8795;padding:8px 10px;line-height:15px}.favorite-form-dialog{position:fixed;inset:0;margin:auto;width:330px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:0;border:1px solid #c8d1dc;border-radius:6px;color:#263445;background:#fff;box-shadow:0 12px 40px #17283d38;font:12px Microsoft YaHei,sans-serif}.favorite-form-dialog::backdrop{background:#17283d30}.favorite-form-dialog header{height:41px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e7ed}.favorite-form-dialog header strong{font-weight:600;font-size:13px}.favorite-form-dialog label{display:flex;align-items:center;gap:10px;margin:13px 16px}.favorite-form-dialog label input,.favorite-form-dialog label select{flex:1}.favorite-form-preview{display:block;margin:12px auto 2px;width:150px;height:95px;object-fit:contain;background:#f9fbfd;border:1px solid #e2e7ed;border-radius:3px}.favorite-form-dialog footer{display:flex;align-items:center;gap:6px;padding:11px 12px;border-top:1px solid #e2e7ed;margin-top:14px}.favorite-form-dialog footer>span{flex:1}.favorite-form-dialog footer button{padding:6px 10px;border:1px solid #ccd4dd}.favorite-form-dialog .favorite-primary{color:#fff;background:#246bc0;border-color:#246bc0}.favorite-form-dialog .favorite-primary:hover{background:#185aab}.favorite-form-dialog .favorite-danger{color:#b74136;border-color:transparent;padding-left:0}.favorite-form-error{color:#ad342b;background:#fff1ef;padding:7px 9px;margin:10px 16px 0;border-radius:3px}.favorite-form-notice{line-height:1.6;margin:16px;overflow-wrap:anywhere}
