:root{--bg: #f3f5f8;--panel: #ffffff;--line: #dde3ea;--text: #1d2a3a;--sub: #516173;--brand: #1463f3;--page-pad-x: 28px;--page-pad-y: 20px;--section-pad: 16px;--control-gap: 12px;--field-gap: 10px;--title-size: 30px;--panel-title-size: 18px;--control-padding-y: 8px;--control-padding-x: 10px;--control-font-size: 14px;--button-padding-y: 8px;--button-padding-x: 14px;--button-font-size: 14px}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%}body{margin:0;font-family:Microsoft YaHei UI,PingFang SC,sans-serif;background:linear-gradient(140deg,#edf3ff,var(--bg));color:var(--text);min-height:100vh;overflow-x:hidden}.login-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#162b48,#203b64,#0f2038);overflow:hidden}.bg-glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:.35;pointer-events:none}.glow-1{width:420px;height:420px;background-color:#2575fc;top:-120px;left:-80px}.glow-2{width:360px;height:360px;background-color:#4299ff;bottom:-100px;right:-60px}.login-card{position:relative;width:420px;padding:44px 40px;background:#ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 20px 60px #00000073;z-index:2}.login-badge{display:inline-block;padding:4px 12px;font-size:13px;color:#63b8ff;border:1px solid #3474bb;border-radius:999px;margin-bottom:16px}.login-card h1{margin:0 0 8px;font-size:28px;color:#fff;font-weight:600}.login-card p{margin:0 0 32px;color:#b8c8e0;font-size:14px}.form-item{margin-bottom:22px}.form-item label{display:block;color:#d0dcf0;font-size:14px;margin-bottom:8px}.form-input{width:100%;box-sizing:border-box;padding:14px 16px;font-size:15px;background:#ffffff12;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;outline:none;transition:all .25s ease}.form-input::placeholder{color:#8898b3}.form-input:focus{border-color:#4299ff;box-shadow:0 0 0 3px #4299ff38;background:#ffffff1a}.login-btn{width:100%;padding:14px;margin-top:8px;border-radius:12px;border:none;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(90deg,#2978e0,#4299ff);cursor:pointer;transition:all .25s ease}.login-btn:hover:not(:disabled){background:linear-gradient(90deg,#2068c7,#3088ee);transform:translateY(-2px);box-shadow:0 8px 20px #2978e059}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.65;cursor:not-allowed}.login-status{margin-top:16px;text-align:center;font-size:13px;min-height:20px;color:#ffb470}.layout{width:100%;min-height:100dvh;margin:0;padding:var(--page-pad-y) var(--page-pad-x);display:flex;flex-direction:column;gap:14px}.topbar{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,#fbfdff),var(--panel);box-shadow:0 10px 24px #1324400d}.topbar-brand{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 16px;min-width:0}.topbar-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 10px;min-width:0}.topbar h1{margin:0;font-size:clamp(22px,1.8vw,28px);letter-spacing:.01em}.topbar-toolbar{margin-top:0;padding:0;border:none;background:transparent;box-shadow:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.topbar-user-line{margin-top:0;justify-content:flex-start;font-size:12px;color:var(--sub)}.topbar-danger-zone{margin-top:0;padding:10px 12px;border-color:#f2c2c2;background:linear-gradient(180deg,#fff8f8,#fffdfd);box-shadow:0 8px 18px #a61b1b0a}.toolbar label{display:flex;gap:8px;align-items:center;min-width:0}.workspace-shell{flex:1;min-height:0;display:block}.danger-zone{margin-top:10px;padding:10px 12px;border:1px solid #f0b2b2;border-radius:12px;background:linear-gradient(180deg,#fff6f6,#fffdfd);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.danger-zone.topbar-danger-zone{margin-top:0}.danger-zone-text{display:grid;gap:4px}.danger-zone-text strong{color:#a61b1b;font-size:13px;letter-spacing:.04em}.danger-zone-text span{color:#8b4c4c;font-size:12px}.module-tabs{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.module-tab{border:1px solid #b7c6de;background:#f8fbff;color:#27405f;min-width:0;padding-inline:12px}.module-tab.active{background:#1463f3;border-color:#1463f3;color:#fff}.status{color:var(--sub)}.main{flex:1;min-height:0;display:grid;grid-template-columns:1fr;gap:14px}.workspace-main{min-height:0;overflow:hidden;height:100%;display:flex;flex-direction:column;gap:14px}.config-panel{flex:1;min-height:0;height:100%;max-height:none;overflow:hidden;display:flex;flex-direction:column}.config-panel .tree-editor{min-height:0;flex:1}.config-tree-list,.config-node-form{max-height:100%}.panel{border:1px solid var(--line);border-radius:12px;padding:var(--section-pad);background:var(--panel);min-width:0}.export-workbench-shell{height:calc(100dvh - 280px);min-height:720px}.export-workbench-toolbar{display:grid;gap:10px;margin-top:10px}.export-unbound-guide-inline{margin:0;padding:10px 12px}.guide-list-inline{display:flex;flex-wrap:wrap;gap:10px 18px}.export-workbench-toolbar-actions{margin:0}.panel h2{margin:0 0 12px;font-size:var(--panel-title-size)}.overview-panel{display:grid;gap:18px;background:linear-gradient(180deg,#fffffffa,#f8fbfffa),var(--panel)}.overview-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 24px}.overview-hero h2{margin-bottom:8px;font-size:26px}.overview-hero p{margin:0;max-width:680px;color:var(--sub);line-height:1.7}.overview-context{display:grid;gap:10px;min-width:min(100%,320px)}.overview-context-item{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.overview-context-item span{display:block;margin-bottom:4px;font-size:12px;color:var(--sub)}.overview-context-item strong{font-size:15px;color:var(--text)}.overview-entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.overview-entry-card{display:grid;align-content:start;gap:10px;min-height:150px;padding:18px;text-align:left;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#f7faff);box-shadow:0 10px 24px #1324400a;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.overview-entry-card:hover:not(:disabled){transform:translateY(-2px);border-color:#1463f352;box-shadow:0 16px 34px #1463f31f}.overview-entry-card:disabled{opacity:.45;cursor:not-allowed}.overview-entry-card.primary{border-color:#1463f347;background:linear-gradient(180deg,#1463f314,#fff),#fff}.entry-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.overview-entry-card strong{font-size:20px;color:var(--text)}.overview-entry-card small{color:var(--sub);line-height:1.6;font-size:13px}.workspace-main{min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden;height:100%}.workspace-return-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.return-overview-btn{border:1px solid rgba(20,99,243,.28);color:#0e4fcc;background:linear-gradient(180deg,#f7fbff,#edf5ff)}.workspace-return-hint{color:var(--sub);font-size:13px}.tree-admin-launchers,.template-workbench-panel{display:grid;gap:12px}.template-maintenance-card{display:grid;gap:10px;padding:12px;border:1px solid #d9e2ef;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f6f9ff);box-shadow:inset 0 1px #ffffffb3}.template-maintenance-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;border:none;background:transparent;color:var(--text);text-align:left}.template-maintenance-toggle-main{display:grid;gap:3px}.template-maintenance-toggle-main strong{font-size:14px;color:var(--text)}.template-maintenance-toggle-main span{color:var(--sub);font-size:12px}.template-maintenance-toggle-state{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#eef4ff;color:#0e4fcc;font-size:12px;font-weight:600}.template-maintenance-body{display:grid;gap:12px}.template-maintenance-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(220px,280px)}.template-maintenance-group{display:grid;gap:10px;padding:12px;border:1px solid #d9e2ef;border-radius:12px;background:#fff}.template-maintenance-group-title{font-size:12px;font-weight:700;letter-spacing:.06em;color:#49617b;text-transform:uppercase}.template-maintenance-group-danger{align-content:start;background:linear-gradient(180deg,#fff7f7,#fffdfd);border-color:#f0c3c3}.tree-admin-launcher-grid,.admin-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.tree-admin-launcher-grid .full,.admin-action-grid .full{grid-column:1 / -1}.grid2,.grid3{display:grid;gap:10px}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}.grid2 label,.grid3 label{display:flex;flex-direction:column;gap:6px;color:var(--sub)}.grid2 .full{grid-column:1 / -1}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:var(--control-padding-y) var(--control-padding-x);color:var(--text);background:#fff;font-size:var(--control-font-size)}.editor{width:100%;min-height:220px;font-family:Consolas,Courier New,monospace;font-size:12px}.actions{margin-top:10px}.actions .danger{border-color:#d66;color:#b12;background:#fff5f5}button.danger{border-color:#c93b3b;color:#fff;background:linear-gradient(180deg,#d84b4b,#b52d2d)}button.danger:hover:not(:disabled){background:linear-gradient(180deg,#e15b5b,#c53a3a)}button.danger:disabled{opacity:.55}.danger-compact{min-width:132px;padding-inline:14px;box-shadow:0 8px 18px #b52d2d2e}.danger-compact:disabled{opacity:.55;box-shadow:none}.tree-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tree-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}.user-panel,.config-panel{min-height:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.config-tree-editor{align-items:stretch;min-height:0;grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);flex:1 1 auto;height:100%;overflow:hidden}.user-tree-editor{align-items:stretch;min-height:0;grid-template-columns:minmax(260px,.92fr) minmax(0,1.08fr);flex:1;height:100%}.config-tree-list,.config-node-form,.user-tree-list,.user-node-form{min-height:0;height:100%}.config-tree-list{height:100%;min-height:0;max-height:100%;overflow:hidden;align-self:stretch;display:flex;flex-direction:column}.config-node-form{min-height:0;height:100%;max-height:100%;overflow:auto;align-self:stretch;align-content:start;grid-auto-rows:min-content}.config-tree-editor>.config-tree-list,.config-tree-editor>.config-node-form{min-height:0}.config-panel .tree-editor,.config-panel .tree-list,.config-panel .node-form{min-height:0}.user-tree-list{height:100%;max-height:none;overflow:auto}.user-node-form{max-height:100%;overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.user-node-form .full{grid-column:1 / -1}.user-tree-list .tree-item{align-items:flex-start;flex-direction:column;gap:6px;padding:10px 12px}.user-item-main{display:flex;align-items:baseline;gap:10px;min-width:0;width:100%}.user-item-main strong{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-item-main span{color:var(--sub);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-item-meta{display:flex;flex-wrap:wrap;gap:6px}.status-pill{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:#eef4ff;color:#355a93;font-size:11px;font-weight:600}.status-pill-on{background:#e6f7eb;color:#18774f}.status-pill-off{background:#fff0f0;color:#a44343}.status-pill-built-in{background:#f0f0ff;color:#5a56b7}.toggle-field{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafcff}.toggle-field>div{display:grid;gap:4px}.toggle-field span{font-weight:600;color:var(--text)}.toggle-field small{color:var(--sub);font-size:12px;line-height:1.4}.permission-section{display:grid;gap:10px}.section-title{margin:0;font-size:14px;font-weight:700;color:var(--text);letter-spacing:.02em}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.permission-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fafcff;color:var(--text)}.permission-item input{margin:0}.tree-list{border:1px solid var(--line);border-radius:10px;padding:10px;overflow:hidden;min-height:0}.tree-root,.tree-root ul{list-style:none;margin:0;padding-left:14px}.config-tree-list>.tree-root{flex:1 1 auto;min-height:0;height:0;overflow-y:auto;overflow-x:hidden;padding-right:6px}.tree-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;min-width:0}.tree-item:hover{background:#eef4ff}.tree-item.active{background:#dce8ff;color:#0e4cc6;font-weight:600}.tree-item.dragging{opacity:.55}.tree-item.drop-before{box-shadow:inset 0 2px #1f6feb}.tree-item.drop-after{box-shadow:inset 0 -2px #1f6feb}.tree-item.drop-into{outline:2px solid rgba(31,111,235,.5);outline-offset:1px;background:linear-gradient(180deg,#f3f8ff,#eaf2ff)}.tree-drop-hint{margin-left:8px;padding:2px 6px;border-radius:999px;background:#1f6feb1f;color:#1f6feb;font-size:11px;white-space:nowrap}.tree-drop-label{margin:2px 8px 6px 30px;padding:4px 8px;border-radius:999px;display:inline-flex;align-items:center;font-size:11px;font-weight:600;letter-spacing:.02em}.tree-drop-label-before,.tree-drop-label-after{background:#1f6feb1a;color:#1557c0}.tree-drop-label-into{background:#1987541f;color:#137548}.tree-toggle{width:22px;height:22px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:12px;line-height:1;cursor:pointer}.tree-toggle-placeholder{border-color:transparent;background:transparent}.tree-item-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.binding-secondary span{font-weight:500}.node-form{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;grid-template-columns:1fr;gap:8px}.node-form label{display:flex;flex-direction:column;gap:6px;color:var(--sub)}.node-form .default-model-select,.node-form.model-dropdown-on .default-model-input{display:none}.node-form.model-dropdown-on .default-model-select{display:flex}.binding-card{display:grid;gap:14px;padding:16px;border:1px solid #cfdff8;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f5f9ff);box-shadow:inset 0 1px #ffffffb3}.binding-card .section-head{margin-bottom:0}.binding-card .section-head h3{font-size:17px}.binding-card>label{padding:0}.binding-primary{display:grid;gap:6px;padding:10px 12px;border:1px solid #bfd3fb;border-radius:12px;background:#fff;box-shadow:0 6px 16px #1463f30f}.binding-primary span{font-weight:700;color:var(--text)}.binding-primary select{min-height:40px;font-weight:600}.node-model-picker{margin-top:6px;grid-template-columns:220px minmax(0,1fr);gap:14px}.node-model-picker .price-category-list,.node-model-picker .price-model-grid{max-height:380px}.node-model-picker .section-head h3{font-size:16px}.node-model-picker .section-subtitle{font-size:12px}.node-default-card{display:grid;gap:10px;margin-top:2px;padding:12px;border:1px solid #d7e4fb;border-radius:12px;background:linear-gradient(180deg,#fbfdff,#f7faff)}.node-default-card .section-head{margin-bottom:0}.node-default-card .section-head h3{font-size:15px}.node-default-grid{gap:10px}.node-default-grid label{min-width:0}.node-fold-card{display:grid;gap:10px;padding:12px;border:1px solid #d7e4fb;border-radius:14px;background:linear-gradient(180deg,#fcfeff,#f7faff)}.node-fold-card summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.node-fold-card summary::-webkit-details-marker{display:none}.node-fold-card summary>div{display:grid;gap:2px}.node-fold-card summary strong{font-size:15px;color:var(--text)}.node-fold-card summary span{font-size:12px;color:var(--sub)}.node-fold-state{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#eef4ff;color:#0e4fcc;font-size:12px;font-weight:600}.node-fold-body{display:grid;gap:10px}.node-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.node-basic-grid .full{grid-column:1 / -1}.node-enabled-field{display:flex;align-items:center;gap:8px;min-height:38px}.node-enabled-field input{margin:0}.option-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.option-toolbar label{display:flex;align-items:center;gap:8px;color:var(--sub)}.option-table{width:100%;border-collapse:collapse}.option-table th,.option-table td{border:1px solid var(--line);padding:8px;text-align:left}.option-table th{background:#f4f7fb}.price-detail-wrap{width:100%;border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:62vh}.batch-focus-panel{margin-top:12px;padding:14px;border:1px solid #d7e2f1;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#fff)}.batch-focus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.batch-focus-head h3{margin:0}.batch-focus-meta{display:flex;flex-wrap:wrap;gap:10px 16px;color:var(--sub);font-size:13px}.batch-focus-panel .option-table tbody tr.active{background:#edf5ff}.import-detect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 16px}.detect-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#ffffffc2}.detect-card.wide{grid-column:1 / -1}.detect-card h4{margin:0 0 10px}.detect-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.detect-list li{display:flex;gap:10px;justify-content:space-between;align-items:center;border-radius:10px;background:#00000008;padding:8px 10px}.detect-list span{flex:1}.detect-list strong{min-width:70px;text-align:right}.detect-list small{min-width:44px;text-align:right;color:var(--sub)}.detect-scroll{overflow:auto;max-width:100%}.detect-table{min-width:920px}.export-workbench{height:100%;display:grid;grid-template-columns:minmax(200px,240px) minmax(0,3fr) minmax(220px,270px);gap:12px;align-items:stretch;min-height:0}.export-tree-panel,.export-preview-panel,.export-editor-panel{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;min-width:0;min-height:0;overflow:hidden;height:100%}.export-tree-panel.tree-unbound-mode{border-color:#9bb9f5;background:linear-gradient(180deg,#f8fbff,#fff)}.export-tree-panel.tree-bound-mode{border-color:#d9e4f0;background:#fff}.export-tree-list{flex:1;min-height:0;overflow:auto;padding-right:4px}.export-preview-panel.preview-unbound-mode{border-color:#cfd9ea;background:linear-gradient(180deg,#fff,#fbfcff)}.export-preview-panel.preview-bound-mode{border-color:#9cd0ac;background:linear-gradient(180deg,#f9fff9,#f6fff7)}.export-preview-panel{overflow:hidden}.export-editor-panel.editor-unbound-mode{border-color:#cfd9ea;background:linear-gradient(180deg,#fff,#fbfcff)}.export-editor-panel.editor-bound-mode{border-color:#d9e4f0;background:linear-gradient(180deg,#fefeff,#fbfdff)}.export-editor-panel{overflow:hidden;display:flex;flex-direction:column;min-height:0}.export-line-map-editor-vertical{display:flex;flex-direction:column;gap:10px;min-height:0}.export-line-map-stack{display:flex;flex-direction:column;gap:8px;overflow:auto;padding-right:4px}.export-line-map-stack label{display:flex;flex-direction:column;gap:6px;color:var(--sub)}.export-line-map-stack .full{grid-column:auto}.section-head{margin-bottom:10px}.section-head h3{margin:0}.section-subtitle{margin-top:4px;color:var(--sub);font-size:12px}.export-tree-list{flex:1;display:grid;gap:8px;min-height:0;max-height:none;overflow:auto;padding-right:4px}.tree-guide-banner{display:grid;gap:6px;margin-bottom:10px;padding:10px 12px;border-radius:10px;border:1px solid #b9d2ff;background:linear-gradient(180deg,#eef5ff,#f8fbff)}.tree-guide-title{font-weight:700;color:#184aa8}.tree-guide-desc{color:#516173;font-size:13px}.export-tree-node{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fbfdff,#f5f8ff);cursor:grab}.tree-unbound-mode .export-tree-node{border-color:#b7cdf7;background:linear-gradient(180deg,#fff,#eef5ff);box-shadow:0 6px 18px #1463f30f}.tree-unbound-mode .export-tree-node:before{content:"拖拽";display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px;padding:2px 8px;border-radius:999px;background:#dce9ff;color:#1a57d1;font-size:11px;font-weight:700}.tree-bound-mode .export-tree-node{background:linear-gradient(180deg,#fbfdff,#f5f8ff)}.export-tree-node.dragging{opacity:.65;transform:scale(.99)}.tree-unbound-mode .export-tree-node.dragging{border-color:#1463f3;box-shadow:0 10px 24px #1463f324}.export-tree-node-title{font-weight:600}.export-tree-node-meta{margin-top:4px;font-size:12px;color:var(--sub)}.export-preview-wrap{max-height:none;min-height:0;flex:1;display:flex;flex-direction:column}.export-preview-panel,.export-editor-panel{min-height:0}.export-editor-panel .option-toolbar{margin-bottom:12px}.export-bind-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;color:var(--sub);font-size:13px}.export-bind-summary span{padding:4px 8px;border-radius:999px;background:#eef4ff}.export-mode-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;margin-bottom:10px;border-radius:10px;border:1px solid var(--line)}.export-mode-banner.mode-unbound{background:#f5f8fd;border-color:#d5ddec;color:#516173}.export-mode-banner.mode-bound{background:#eefaf1;border-color:#b9dfc2;color:#1d5d2f}.export-unbound-guide{display:grid;gap:8px;margin:10px 0 12px;padding:12px;border:1px dashed #cfd9ea;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#fff)}.guide-title{font-weight:700;color:var(--text)}.guide-list{display:grid;gap:8px}.guide-item{display:flex;align-items:flex-start;gap:10px;color:var(--sub);font-size:13px}.guide-step{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#1463f3;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.mode-title{font-weight:700}.mode-desc{font-size:13px}.excel-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.excel-panel-head h3{margin:0}.excel-panel-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--sub);font-size:13px}.excel-panel-meta span{padding:4px 8px;border-radius:999px;background:#eef4ff}.excel-scroll{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:#fff}.excel-scroll-host{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;max-height:100%}.excel-scroll-topbar{flex:0 0 auto;padding-bottom:6px}.excel-x-scrollbar{overflow-x:auto;overflow-y:hidden;height:16px;scrollbar-gutter:stable}.excel-x-scrollbar-spacer{height:1px}.excel-scroll-body{flex:1;min-height:0;overflow:auto}.excel-grid{display:grid;min-width:max-content;background:#fff}.excel-cell{padding:8px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:38px;display:flex;align-items:center}.excel-head{background:#eff4fb;font-weight:700;color:var(--text);position:sticky;top:0;z-index:2}.excel-row-no{justify-content:center;background:#f7f9fc;font-size:12px;color:var(--sub);position:sticky;left:0;z-index:1}.excel-sticky{left:0;z-index:3}.excel-cell.bound-row,.excel-row-no.bound-row{background:#eef9ef}.excel-cell.selected-row,.excel-row-no.selected-row{outline:2px solid #1463f3;outline-offset:-2px}.excel-cell.drop-target{background:#e9f4ff}.excel-region-cell{justify-content:flex-start;padding-inline:10px;font-size:12px;color:#0f172a;background:linear-gradient(180deg,#f1f6ff,#e8f0ff);font-weight:700;border-left:3px solid #1463f3;letter-spacing:.2px;box-shadow:inset 0 1px #ffffffb3}.excel-region-cell.bound-row{background:linear-gradient(180deg,#e9f7ec,#dcf2e1);border-left-color:#2f8f46}.excel-region-cell.selected-row{background:linear-gradient(180deg,#d9e8ff,#c7dcff);border-left-color:#0f55dc}.excel-region-cell.drop-target{background:linear-gradient(180deg,#d9efff,#c8e6ff);border-left-color:#1d77d6}.price-detail-table{min-width:100%;table-layout:fixed}.price-detail-table thead th{position:sticky;top:0;z-index:1}.price-detail-table th,.price-detail-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.w-id{width:72px}.w-cat{width:130px}.w-model{width:180px}.w-money,.w-brand{width:120px}.w-meta{width:90px}.w-time{width:170px}.w-lock{width:90px}.w-op{width:170px}.mono{font-family:Consolas,Courier New,monospace}.ta-right{text-align:right}.lock-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;line-height:18px}.lock-tag.locked{color:#8a2f00;background:#ffe6d5}.lock-tag.unlocked{color:#1d5d2f;background:#dff4df}.row-actions{display:flex;gap:6px}.small-input{width:90px}.empty-cell{text-align:center;color:var(--sub)}.export-empty-state{padding:18px 12px;background:#f8fbff}.empty-cell-title{font-weight:700;color:var(--text)}.empty-cell-subtitle{margin-top:6px;font-size:13px;color:var(--sub)}.history-panel{margin-top:12px}.history-panel h3{margin:0 0 8px}.history-panel p{margin:0 0 8px;color:var(--sub)}.price-preview-panel{display:grid;gap:14px}.price-library-toolbar{align-items:flex-end}.price-library-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;margin-top:12px}.price-category-panel,.price-model-panel{min-height:0;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}.price-category-list{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:4px}.price-category-chip{width:100%;text-align:left;border:1px solid #d7e4fb;background:#f7faff;color:#153b7a;border-radius:10px;padding:8px 10px;font-weight:600}.price-category-chip.active{background:#1463f3;color:#fff;border-color:#1463f3}.price-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;max-height:420px;overflow:auto;padding-right:4px}.price-model-card{display:grid;gap:4px;text-align:left;padding:12px;border:1px solid #d7e4fb;border-radius:12px;background:linear-gradient(180deg,#fff,#f7fbff);color:var(--text)}.price-model-card.active{border-color:#1463f3;box-shadow:0 8px 20px #1463f31f}.price-model-title{font-weight:700}.price-model-meta{font-size:12px;color:var(--sub)}.price-preview-grid{display:grid;grid-template-columns:1fr 360px;gap:14px;align-items:start}.price-preview-info{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.price-preview-row{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:center}.price-preview-row span,.price-preview-label{color:var(--sub);font-size:13px}.price-preview-row strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-preview-media{display:grid;gap:12px}.price-preview-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 22px #1324400f}.price-preview-image-link{display:block;margin-top:8px;border-radius:10px;overflow:hidden;background:#f2f5fa}.price-preview-image-link img{display:block;width:100%;max-height:260px;object-fit:contain;background:#f2f5fa}.price-link-button{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:10px 14px;border-radius:10px;background:#1463f3;color:#fff;text-decoration:none;font-weight:600}.option-table tbody tr.active{background:#eef4ff}.option-table tbody tr.active td{border-color:#c7d9ff}.dialog-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c14206b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:2000}.dialog-card{width:min(760px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px #1324402e;padding:16px}.dialog-card.dialog-wide{width:min(980px,calc(100vw - 32px))}.price-visibility-dialog{max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}.price-visibility-dialog .dialog-title,.price-visibility-dialog .hint,.price-visibility-dialog .dialog-actions{flex:none}.price-visibility-dialog .batch-select-panel,.price-visibility-dialog .visibility-setting-panel{min-height:0;margin-top:12px}.price-visibility-dialog .batch-select-panel{display:flex;flex-direction:column;gap:10px}.price-visibility-dialog .batch-select-list{max-height:280px;overflow:auto;padding-right:4px;display:grid;gap:8px}.price-visibility-dialog .visibility-setting-panel{display:grid;gap:12px}.price-visibility-list{max-height:220px;overflow:auto;padding-right:4px}.module-block-dialog{max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}.module-block-table-wrap{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.module-block-table{min-width:960px;table-layout:fixed}.module-block-table th,.module-block-table td{white-space:nowrap;padding:6px 8px;vertical-align:middle}.module-block-table input[type=number],.module-block-table input[type=text]{width:100%;min-width:0;padding-inline:8px}.module-block-table input[type=checkbox]{width:16px;height:16px;margin:0}.module-block-table th:nth-child(1),.module-block-table td:nth-child(1){width:23%}.module-block-table th:nth-child(2),.module-block-table td:nth-child(2),.module-block-table th:nth-child(3),.module-block-table td:nth-child(3),.module-block-table th:nth-child(4),.module-block-table td:nth-child(4),.module-block-table th:nth-child(8),.module-block-table td:nth-child(8){width:10%}.module-block-table th:nth-child(5),.module-block-table td:nth-child(5),.module-block-table th:nth-child(6),.module-block-table td:nth-child(6),.module-block-table th:nth-child(7),.module-block-table td:nth-child(7){width:7%;text-align:center}.module-block-table th:nth-child(9),.module-block-table td:nth-child(9){width:10%;text-align:center}.module-block-table th{position:sticky;top:0;z-index:1}.module-block-table td:last-child button{min-width:56px;padding-inline:10px}.dialog-title{margin:0 0 8px}.dialog-actions{margin-top:10px;display:flex;justify-content:flex-end;gap:8px}.module-block-dialog .dialog-actions{flex-wrap:wrap;justify-content:space-between;align-items:center}.module-block-dialog .dialog-actions>:first-child{margin-right:auto}.module-block-dialog .dialog-actions button{min-height:34px}.module-block-dialog .dialog-actions button:first-child{padding-inline:12px}.module-block-dialog .dialog-actions button:not(:first-child){min-width:88px}button{border:1px solid #0f55dc;border-radius:8px;padding:var(--button-padding-y) var(--button-padding-x);background:var(--brand);color:#fff;cursor:pointer;font-size:var(--button-font-size)}button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1200px){.layout{padding:16px}.workspace-shell{grid-template-columns:160px minmax(0,1fr)}.toolbar{gap:10px}.toolbar label{flex:1 1 240px}.danger-zone{gap:10px}.module-tabs{gap:6px}.module-tab{padding-inline:10px}.export-workbench{grid-template-columns:minmax(180px,220px) minmax(0,2fr) minmax(200px,240px)}.price-preview-grid{grid-template-columns:1fr 300px}}@media(min-width:1441px){.layout{padding-inline:28px}.toolbar,.danger-zone,.module-tabs,.export-workbench-toolbar,.panel{margin-inline:0}.export-workbench{grid-template-columns:minmax(180px,210px) minmax(0,2.2fr) minmax(200px,230px);gap:10px}.price-preview-grid{grid-template-columns:1fr 320px}}@media(max-width:1100px){.workspace-shell{grid-template-columns:150px minmax(0,1fr)}.toolbar{gap:8px}.toolbar label{flex:1 1 220px}.danger-zone{gap:8px}.module-tab{padding-inline:10px;font-size:13px}.export-workbench{grid-template-columns:minmax(170px,200px) minmax(0,2fr) minmax(190px,230px);gap:10px}.export-workbench-shell{height:calc(100dvh - 260px);min-height:620px;overflow-x:auto}.export-tree-panel,.export-preview-panel,.export-editor-panel{height:100%}.price-preview-grid{grid-template-columns:1fr 280px}}@media(max-width:960px){.topbar{padding:12px}.topbar-brand{align-items:flex-start}.topbar-toolbar{gap:8px}.topbar-toolbar label{flex:1 1 220px}.workspace-shell{grid-template-columns:140px minmax(0,1fr);gap:10px}.module-nav{padding:10px}.module-nav .module-tab{padding:8px 10px}.grid2,.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.tree-editor{grid-template-columns:minmax(220px,1fr) minmax(240px,1fr)}.config-tree-editor{grid-template-columns:minmax(200px,.9fr) minmax(0,1.1fr)}.user-tree-editor{grid-template-columns:minmax(200px,.95fr) minmax(0,1.05fr)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px}.toolbar label{flex:1 1 200px}.danger-zone{flex-direction:row;align-items:center;gap:8px}.module-tabs{gap:6px}.module-tab{flex:1 1 calc(25% - 6px);min-width:100px;padding-inline:8px;font-size:13px}.tree-actions,.option-toolbar,.export-workbench-toolbar-actions{flex-direction:row;align-items:center}.tree-actions>*,.option-toolbar>*,.export-workbench-toolbar-actions>*{width:auto}.export-workbench-shell{height:calc(100dvh - 270px);min-height:580px;overflow-x:auto}.export-workbench{grid-template-columns:minmax(160px,190px) minmax(0,2fr) minmax(180px,210px);min-width:880px}.export-tree-panel,.export-preview-panel,.export-editor-panel{height:100%}.price-preview-grid{grid-template-columns:1fr 260px}.price-preview-row{grid-template-columns:84px 1fr}.price-preview-media{order:0}}@media(max-width:720px){:root{--page-pad-x: 14px;--page-pad-y: 14px;--section-pad: 10px;--control-gap: 8px;--field-gap: 8px;--title-size: 24px;--panel-title-size: 16px;--control-padding-y: 7px;--control-padding-x: 9px;--control-font-size: 13px;--button-padding-y: 7px;--button-padding-x: 12px;--button-font-size: 13px}.layout{padding:var(--page-pad-y) var(--page-pad-x)}.topbar{gap:8px;padding:10px}.topbar-title-row{gap:6px}.topbar-toolbar{width:100%;gap:6px}.topbar-toolbar label{flex:1 1 180px}.topbar-user-line{width:100%}.topbar-danger-zone{padding:8px 10px}.workspace-shell{grid-template-columns:1fr}.module-nav{flex-direction:row;flex-wrap:wrap}.module-nav .module-tab{flex:1 1 calc(33.333% - 8px);min-width:0;text-align:center}.config-tree-editor{grid-template-columns:1fr;flex:1 1 auto}.config-tree-list{height:auto;max-height:320px}.config-node-form{max-height:none}.user-tree-list{height:auto;max-height:320px}.user-node-form{max-height:none}.user-tree-editor{grid-template-columns:1fr;flex:1 1 auto}.module-danger-zone{flex:1 1 100%;margin-top:4px}.dialog-card.dialog-wide{width:min(100vw - 20px,980px)}.module-block-table{min-width:860px}.header h1{font-size:var(--title-size)}.toolbar,.danger-zone,.panel{padding:var(--section-pad)}.toolbar{gap:6px}.toolbar label{flex:1 1 180px;gap:6px}.toolbar input,.toolbar select{min-width:0}.danger-zone{gap:6px}.danger-zone-text strong{font-size:12px}.danger-zone-text span{font-size:11px}.module-tabs{gap:4px}.module-tab{flex:1 1 calc(33.333% - 4px);min-width:92px;padding-inline:8px;font-size:12px}.export-workbench-toolbar{padding:var(--section-pad)}.export-workbench{gap:8px;min-width:820px}.price-preview-card{padding:var(--section-pad)}.price-preview-image-link img{max-height:180px}.price-preview-grid{grid-template-columns:1fr 220px}}@media(max-width:520px){:root{--page-pad-x: 10px;--page-pad-y: 10px;--section-pad: 8px;--control-gap: 6px;--field-gap: 6px;--title-size: 22px;--panel-title-size: 15px;--control-padding-y: 6px;--control-padding-x: 8px;--control-font-size: 12px;--button-padding-y: 6px;--button-padding-x: 10px;--button-font-size: 12px}.login-card{padding:20px}.login-card h1{font-size:var(--title-size)}.topbar-brand{gap:6px}.topbar h1{font-size:20px}.topbar-toolbar{gap:4px}.topbar-toolbar label{flex:1 1 160px}.module-tabs{display:flex;gap:4px}.module-tab{width:auto;min-width:84px;padding-inline:6px;font-size:12px}.module-nav .module-tab{flex:1 1 calc(50% - 6px)}.module-danger-zone{padding:8px}.dialog-card.dialog-wide{width:calc(100vw - 16px)}.module-block-dialog{max-height:calc(100dvh - 24px)}.module-block-table{min-width:760px}}
