body.portal-theme{margin:0;background:#e8d8b0 repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(93,64,55,.05) 40px,rgba(93,64,55,.05) 42px)}.portal-shell[data-v-c6f458de]{min-height:100vh;color:#2d2a26;font-family:"Noto Serif SC",Songti SC,STSong,SimSun,serif;display:flex;flex-direction:column}.watermark[data-v-c6f458de]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-30deg);font-size:72px;color:#962f230f;border:10px solid rgba(150,47,35,.06);padding:16px 24px;pointer-events:none;z-index:0;font-weight:700;-webkit-user-select:none;user-select:none}.site-header[data-v-c6f458de]{position:sticky;top:0;z-index:2;background:#3e2723;color:#d9c5a3;border-bottom:4px solid #962f23;box-shadow:0 10px 24px #0000002e}.site-nav[data-v-c6f458de]{max-width:1240px;margin:0 auto;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand[data-v-c6f458de]{margin:0;font-size:30px;letter-spacing:.12em;font-weight:700;line-height:1.2}.brand-link[data-v-c6f458de]{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark[data-v-c6f458de]{width:42px;height:42px;flex:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.18))}.nav-links[data-v-c6f458de]{display:flex;align-items:center;gap:14px;font-size:14px}.nav-links a[data-v-c6f458de]{color:#d9c5a3;text-decoration:none;padding:6px 10px;border:1px solid transparent;transition:all .2s ease}.nav-links a[data-v-c6f458de]:hover,.nav-links a.router-link-active[data-v-c6f458de]{color:#fff}.nav-links .nav-member[data-v-c6f458de]{border-color:#d9c5a3}.nav-links .nav-member[data-v-c6f458de]:hover,.nav-links .nav-member.router-link-active[data-v-c6f458de]{color:#3e2723;background:#d9c5a3}.auth-user[data-v-c6f458de]{color:#d9c5a3;opacity:.9;white-space:nowrap}.container[data-v-c6f458de]{position:relative;z-index:1;flex:1 0 auto;width:100%;max-width:1240px;margin:0 auto;padding:42px 20px}.site-footer[data-v-c6f458de]{position:relative;z-index:1;margin-top:auto;width:100%;border-top:1px solid rgba(93,64,55,.18);background:rgba(244,241,234,.92)}.site-footer-inner[data-v-c6f458de]{max-width:1240px;margin:0 auto;padding:18px 20px 28px;color:#5d4037;font-size:13px;line-height:1.8;text-align:center}.site-footer-inner p[data-v-c6f458de]{margin:0}.site-footer-inner a[data-v-c6f458de]{color:inherit;text-decoration:none}.site-footer-inner a[data-v-c6f458de]:hover{color:#962f23}@media (max-width: 900px){.site-nav[data-v-c6f458de]{flex-direction:column;align-items:flex-start}.brand[data-v-c6f458de]{font-size:24px}.container[data-v-c6f458de]{padding:28px 16px}}.import-error-toast[data-v-fedb3960]{position:fixed;top:18px;right:18px;z-index:80;max-width:min(360px,calc(100vw - 24px));background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;box-shadow:0 8px 20px #0f172a2e;font-size:13px;line-height:1.4}.prompt-dialog-body[data-v-fedb3960]{display:grid;gap:14px;padding:18px 20px 20px}.prompt-dialog-actions[data-v-fedb3960]{justify-content:flex-end;gap:10px}.prompt-dialog-message[data-v-fedb3960]{margin:0;color:#334155;line-height:1.6}.prompt-modal[data-v-fedb3960]{width:min(460px,calc(100vw - 48px));height:auto;max-height:calc(100vh - 48px);border-radius:16px;box-shadow:0 20px 50px #0f172a2e}.prompt-modal .preview-modal-header[data-v-fedb3960]{padding:16px 20px 14px;background:linear-gradient(180deg,#fff,#f8fafc)}.prompt-modal .preview-modal-title[data-v-fedb3960]{font-size:16px;font-weight:700}.prompt-modal .display-name-input[data-v-fedb3960]{width:100%;min-height:42px;border-color:#cbd5e1;background:#fff}.prompt-modal .display-name-input[data-v-fedb3960]:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24}.content-item.is-selected[data-v-fedb3960]{border-color:#0f766e;background:#f0fdfa}.import-detail-grid[data-v-fedb3960]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:18px}.import-detail-card[data-v-fedb3960]{min-height:280px}.detail-stack[data-v-fedb3960]{display:grid;gap:16px}.detail-kv-grid[data-v-fedb3960]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-kv-item[data-v-fedb3960]{display:grid;gap:4px;padding:12px;border:1px solid #dbe4ea;border-radius:10px;background:#f8fafc}.detail-kv-item-wide[data-v-fedb3960]{grid-column:1 / -1}.detail-section-title[data-v-fedb3960]{margin:0 0 10px;font-size:14px}.detail-list[data-v-fedb3960]{display:grid;gap:10px;padding:0;margin:0;list-style:none}.detail-list-item[data-v-fedb3960]{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dbe4ea;border-radius:10px;background:#fff}.detail-list-item-error[data-v-fedb3960]{border-color:#fecaca;background:#fff7f7}.detail-list-meta[data-v-fedb3960]{display:grid;gap:4px;text-align:right;color:#475569;font-size:13px}.detail-list-meta-single[data-v-fedb3960]{text-align:left}.detail-alert[data-v-fedb3960]{margin:0;padding:12px;border-radius:10px;font-size:13px}.detail-alert-success[data-v-fedb3960]{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.detail-alert-error[data-v-fedb3960]{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.status-chip[data-v-fedb3960]{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:12px;line-height:1.6}.status-chip-success[data-v-fedb3960]{background:#dcfce7;color:#166534}.status-chip-warn[data-v-fedb3960]{background:#fef3c7;color:#92400e}.status-chip-error[data-v-fedb3960]{background:#fee2e2;color:#991b1b}@media (max-width: 768px){.detail-kv-grid[data-v-fedb3960]{grid-template-columns:1fr}.detail-list-item[data-v-fedb3960]{flex-direction:column}.detail-list-meta[data-v-fedb3960]{text-align:left}}.billing-header[data-v-89e7e417]{align-items:flex-start;gap:16px}.billing-summary-grid[data-v-89e7e417]{margin-bottom:20px}.billing-summary-card[data-v-89e7e417]{margin-bottom:0}.billing-range-row[data-v-89e7e417]{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.billing-shortcuts[data-v-89e7e417]{min-width:0}.billing-shortcut-list[data-v-89e7e417]{display:flex;flex-wrap:wrap;gap:8px}.billing-chip[data-v-89e7e417]{border:1px solid #d6d3d1;background:#fff;color:#44403c;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.billing-chip.is-active[data-v-89e7e417]{border-color:#9a3412;background:#fff7ed;color:#9a3412}.billing-layout[data-v-89e7e417]{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);gap:20px;align-items:start}.billing-list-card[data-v-89e7e417],.billing-detail-card[data-v-89e7e417]{min-width:0}.billing-card-header[data-v-89e7e417]{margin-bottom:16px}.billing-table-wrap[data-v-89e7e417]{overflow-x:auto}.billing-row[data-v-89e7e417]{cursor:pointer}.billing-row.is-active[data-v-89e7e417]{background:#fff7ed}.billing-badge[data-v-89e7e417]{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:4px 10px;border-radius:999px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:600}.billing-badge.is-success[data-v-89e7e417]{background:#ecfdf5;color:#065f46}.billing-badge.is-pending[data-v-89e7e417]{background:#fff7ed;color:#9a3412}.billing-badge.is-closed[data-v-89e7e417]{background:#f3f4f6;color:#4b5563}.billing-badge-muted[data-v-89e7e417]{min-width:84px}.billing-pagination[data-v-89e7e417]{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.billing-pagination-actions[data-v-89e7e417]{margin-top:0}.billing-empty-state[data-v-89e7e417]{min-height:240px;display:grid;place-items:center;color:#78716c;font-size:14px;border:1px dashed #d6d3d1;border-radius:8px}.billing-detail-top[data-v-89e7e417]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.billing-kpi[data-v-89e7e417]{padding:14px;border-radius:8px;background:#fafaf9;border:1px solid #e7e5e4}.billing-kpi-value[data-v-89e7e417]{display:block;margin-top:8px;font-size:20px}.billing-detail-section+.billing-detail-section[data-v-89e7e417]{margin-top:20px}.billing-section-title[data-v-89e7e417]{margin:0 0 12px;font-size:15px}.billing-info-grid[data-v-89e7e417]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.billing-info-span-2[data-v-89e7e417]{grid-column:span 2}.billing-detail-table[data-v-89e7e417]{font-size:13px}@media (max-width: 1200px){.billing-layout[data-v-89e7e417]{grid-template-columns:1fr}}@media (max-width: 768px){.billing-range-row[data-v-89e7e417],.billing-detail-top[data-v-89e7e417],.billing-info-grid[data-v-89e7e417]{grid-template-columns:1fr}.billing-info-span-2[data-v-89e7e417]{grid-column:span 1}}.user-row-actions[data-v-059ac3ce]{margin:0;gap:8px}.user-dialog[data-v-059ac3ce]{width:min(1120px,100%);height:min(760px,calc(100vh - 48px))}.user-dialog-heading[data-v-059ac3ce]{min-width:0;display:grid;gap:4px}.user-dialog-body[data-v-059ac3ce]{display:grid;grid-template-rows:auto auto 1fr;gap:12px}.user-tabs[data-v-059ac3ce]{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:10px;border-bottom:1px solid #e2e8f0}.user-tab[data-v-059ac3ce]{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:8px 14px;cursor:pointer;font-size:13px;font-weight:600}.user-tab.is-active[data-v-059ac3ce]{background:#0f172a;border-color:#0f172a;color:#fff}.user-tab[data-v-059ac3ce]:disabled{opacity:.65;cursor:not-allowed}.user-tab-panel[data-v-059ac3ce]{min-height:0;overflow:auto}.user-meta-row[data-v-059ac3ce]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.user-meta-item[data-v-059ac3ce]{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#f8fafc;color:#334155;font-size:13px}.user-actions[data-v-059ac3ce]{justify-content:flex-end}.user-table-wrap[data-v-059ac3ce]{overflow:auto;border:1px solid #e2e8f0;border-radius:8px}.user-empty-state[data-v-059ac3ce]{padding:28px 12px;color:#64748b}.field-span-2[data-v-059ac3ce]{grid-column:span 2}.password-hint[data-v-059ac3ce]{margin:0}@media (max-width: 768px){.user-dialog[data-v-059ac3ce]{width:100%;height:calc(100vh - 24px)}.field-span-2[data-v-059ac3ce]{grid-column:auto}}.site-content-layout[data-v-6f8d6c75]{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:20px}.site-content-form[data-v-6f8d6c75]{display:grid;gap:16px}.site-content-textarea[data-v-6f8d6c75]{width:100%;min-height:360px;resize:vertical;padding:12px 14px;border:1px solid #d6d3d1;border-radius:4px;font:inherit;line-height:1.7}.site-content-hint[data-v-6f8d6c75]{margin:-4px 0 0}.site-preview-shell[data-v-6f8d6c75]{min-height:100%;padding:24px;background:linear-gradient(180deg,rgba(244,241,234,.92),rgba(235,225,209,.88));border:1px solid #d2b48c;border-left:4px solid var(--cinnabar)}.site-preview-title[data-v-6f8d6c75]{margin:0 0 12px;font-size:30px;color:#3e2723}.site-preview-divider[data-v-6f8d6c75]{width:84px;height:4px;margin-bottom:18px;background:var(--cinnabar)}.site-preview-body[data-v-6f8d6c75]{color:#4b3b33;line-height:1.9}.site-preview-body[data-v-6f8d6c75] h2,.site-preview-body[data-v-6f8d6c75] h3{color:#3e2723;margin:22px 0 12px}.site-preview-body[data-v-6f8d6c75] p,.site-preview-body[data-v-6f8d6c75] ul,.site-preview-body[data-v-6f8d6c75] ol,.site-preview-body[data-v-6f8d6c75] blockquote{margin:0 0 14px}.site-preview-body[data-v-6f8d6c75] a{color:var(--cinnabar);font-weight:700}@media (max-width: 960px){.site-content-layout[data-v-6f8d6c75]{grid-template-columns:1fr}}.home-hero[data-v-0d17862c]{background:linear-gradient(180deg,rgba(244,241,234,.96),rgba(235,225,209,.92));border:1px solid #d2b48c;border-left:4px solid #962f23;padding:30px;box-shadow:0 16px 30px #5d40371f;max-width:960px;margin:0 auto}.home-hero h1[data-v-0d17862c]{margin:0 0 14px;font-size:38px;color:#3e2723;letter-spacing:.06em}.home-divider[data-v-0d17862c]{width:96px;height:4px;margin:0 0 20px;background:#962f23}.home-body[data-v-0d17862c]{color:#4d3c35;font-size:16px;line-height:1.9}.home-body[data-v-0d17862c] h2,.home-body[data-v-0d17862c] h3{color:#3e2723;margin:24px 0 12px}.home-body[data-v-0d17862c] p,.home-body[data-v-0d17862c] ul,.home-body[data-v-0d17862c] ol,.home-body[data-v-0d17862c] blockquote{margin:0 0 14px}.home-body[data-v-0d17862c] a{color:#8c2d1f;font-weight:700}.home-actions[data-v-0d17862c]{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}@media (max-width: 768px){.home-hero[data-v-0d17862c]{padding:24px 18px}.home-hero h1[data-v-0d17862c]{font-size:30px}}.guide-page[data-v-850fc608]{display:grid;gap:24px}.guide-intro[data-v-850fc608]{text-align:center;margin-bottom:20px}.guide-intro h2[data-v-850fc608]{margin:0 0 14px;font-size:40px;color:#3e2723;letter-spacing:.06em}.divider[data-v-850fc608]{width:96px;height:4px;margin:0 auto;background:#962f23}.dimension-grid[data-v-850fc608]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.dimension-card[data-v-850fc608]{display:block;min-height:186px;padding:28px 22px;text-align:center;text-decoration:none;color:#2d2a26;background:#f4f1ea;border:1px solid #d2b48c;border-left:2px solid #5d4037;border-right:2px solid #5d4037;box-shadow:3px 3px #5d403733;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.dimension-card[data-v-850fc608]:hover{transform:translateY(-5px);box-shadow:6px 6px #5d40374d;border-color:#962f23}.dimension-card.is-active h3[data-v-850fc608]{color:#962f23}.dimension-card h3[data-v-850fc608]{margin:0 0 12px;font-size:24px}.dimension-card p[data-v-850fc608]{margin:0;font-size:13px;line-height:1.7;color:#7b6e62;font-style:italic}.guide-empty[data-v-850fc608]{grid-column:1 / -1}.guide-empty h3[data-v-850fc608]{margin-top:0}.guide-empty p[data-v-850fc608]{margin-bottom:0}@media (max-width: 640px){.guide-intro h2[data-v-850fc608]{font-size:28px}.dimension-grid[data-v-850fc608]{grid-template-columns:1fr}}.catalog-tree[data-v-a7960c6f]{font-size:14px}.tree-details[data-v-a7960c6f],.tree-leaf[data-v-a7960c6f]{margin:4px 0}.tree-summary[data-v-a7960c6f]{list-style:none;cursor:pointer;padding:6px 8px;border-left:2px solid transparent}.tree-summary[data-v-a7960c6f]::-webkit-details-marker{display:none}.tree-summary[data-v-a7960c6f]:before{content:"▸";display:inline-block;width:14px;color:#d9c5a3}.tree-details[open]>.tree-summary[data-v-a7960c6f]:before{content:"▾"}.tree-children[data-v-a7960c6f]{margin-left:14px;border-left:1px dashed #7f5d55;padding-left:8px}.tree-children[data-v-a7960c6f] .catalog-tree{display:contents}.tree-link[data-v-a7960c6f]{color:inherit;text-decoration:none;line-height:1.5}.tree-leaf[data-v-a7960c6f]{padding:6px 8px;border-left:2px solid transparent}.tree-node-active[data-v-a7960c6f],.tree-summary.tree-node-active[data-v-a7960c6f],.tree-leaf.tree-node-active[data-v-a7960c6f]{background:#5d4037;border-left-color:#962f23}.catalog-page[data-v-2139565e]{display:grid;gap:20px}.portal-breadcrumb[data-v-2139565e]{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:14px;color:#5d4037;font-weight:700}.portal-breadcrumb a[data-v-2139565e]{color:#5d4037;text-decoration:none}.portal-breadcrumb a[data-v-2139565e]:hover,.portal-breadcrumb .current[data-v-2139565e]{color:#962f23}.portal-layout[data-v-2139565e]{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.catalog-side[data-v-2139565e]{padding:18px;background:#3e2723;color:#d9c5a3;border:1px solid #5d4037;box-shadow:0 10px 18px #00000024}.catalog-side h3[data-v-2139565e]{margin:0 0 14px;font-size:20px;letter-spacing:.1em;border-bottom:1px solid #5d4037;padding-bottom:10px}.tree-empty[data-v-2139565e]{color:#cdb8a2;padding:8px}.catalog-main[data-v-2139565e]{background:#f4f1ea;border:1px solid #d2b48c;box-shadow:0 8px 16px #5d40371f;overflow:hidden}.catalog-main table[data-v-2139565e]{width:100%;border-collapse:collapse}.catalog-main thead[data-v-2139565e]{background:#d2b48c;color:#3e2723;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.catalog-main th[data-v-2139565e],.catalog-main td[data-v-2139565e]{padding:16px;border-bottom:1px solid #d2b48c;text-align:left}.catalog-main tbody tr[data-v-2139565e]:hover{background:#e8d8b0}.name-cell[data-v-2139565e]{font-weight:700;font-size:18px;color:#3e2723}.price-cell[data-v-2139565e]{color:#962f23;font-weight:700}.purchase-btn[data-state=guest][data-v-2139565e]{background:#fff7e8;color:#7c4a03}.purchase-btn[data-v-2139565e]{display:inline-block;border:0;border-radius:0;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:9px 16px;font-size:13px;font-weight:400;letter-spacing:.08em;line-height:1.35;text-align:center;white-space:normal;font-family:inherit;cursor:pointer;transition:background .2s ease}.purchase-btn[data-state=owned][data-v-2139565e]{background:#3e2723;color:#f7eddc}.purchase-btn[data-state=upgrade][data-v-2139565e]{background:#962f23;color:#fff7e8}.purchase-action[data-v-2139565e]{display:grid;gap:6px;align-items:start}.purchase-note.is-upgrade[data-v-2139565e]{color:#962f23;font-weight:700}.purchase-inline-link[data-v-2139565e]{color:#5d4037;font-size:12px;font-weight:700;text-decoration:none}.purchase-inline-link[data-v-2139565e]:hover{color:#962f23}.purchase-note[data-v-2139565e]{margin:0;font-size:12px;line-height:1.5;color:#6c5f54}.purchase-flow-mask[data-v-2139565e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(40,22,18,.55)}.purchase-flow-dialog[data-v-2139565e]{width:min(560px,100%);background:linear-gradient(180deg,#fbf7ef 0%,#f0e3ca 100%);border:1px solid #c8a46a;box-shadow:0 22px 48px #3e272347;color:#3e2723}.purchase-flow-header[data-v-2139565e]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid rgba(93,64,55,.18)}.purchase-flow-title[data-v-2139565e]{margin:0;font-size:22px}.purchase-flow-close[data-v-2139565e]{border:none;background:transparent;color:#5d4037;font-size:24px;cursor:pointer}.purchase-flow-body[data-v-2139565e]{display:grid;gap:16px;padding:20px}.purchase-flow-card[data-v-2139565e]{padding:16px;background:rgba(255,252,246,.76);border:1px solid rgba(93,64,55,.16)}.purchase-flow-card h3[data-v-2139565e]{margin:0 0 12px;font-size:16px;letter-spacing:.06em}.purchase-flow-grid[data-v-2139565e]{display:grid;grid-template-columns:110px 1fr;gap:10px 14px;margin:0;font-size:14px}.purchase-flow-grid dt[data-v-2139565e]{color:#7b6058;font-weight:700}.purchase-flow-grid dd[data-v-2139565e]{margin:0}.purchase-flow-status[data-v-2139565e]{min-height:22px;margin:0;font-size:14px;color:#7b6058}.purchase-flow-status.error[data-v-2139565e]{color:#962f23}.purchase-flow-status.success[data-v-2139565e]{color:#245530}.purchase-flow-actions[data-v-2139565e]{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.purchase-flow-success[data-v-2139565e]{display:grid;gap:12px;padding:16px;background:rgba(236,248,236,.86);border:1px solid rgba(36,85,48,.18)}.purchase-flow-success h3[data-v-2139565e]{margin:0;color:#245530}.purchase-flow-success p[data-v-2139565e]{margin:0;font-size:14px}.purchase-flow-success-actions[data-v-2139565e]{display:flex;gap:12px;flex-wrap:wrap}.empty-row[data-v-2139565e]{text-align:center;padding:28px 16px}@media (max-width: 980px){.portal-layout[data-v-2139565e]{grid-template-columns:1fr}}@media (max-width: 640px){.catalog-toolbar[data-v-2139565e],.catalog-main-header[data-v-2139565e]{flex-direction:column;align-items:flex-start}.purchase-flow-header[data-v-2139565e],.purchase-flow-body[data-v-2139565e]{padding:16px}.purchase-flow-grid[data-v-2139565e]{grid-template-columns:1fr;gap:6px}.purchase-flow-actions[data-v-2139565e],.purchase-flow-success-actions[data-v-2139565e]{flex-direction:column;align-items:stretch}}.portal-bills-page[data-v-9089ddc5]{display:grid;gap:16px}.bill-header[data-v-9089ddc5]{margin-bottom:0;display:flex;justify-content:space-between;align-items:center;gap:16px}.bill-title[data-v-9089ddc5]{margin:0;font-size:24px;color:#3e2723}.bill-tools[data-v-9089ddc5]{display:flex;gap:10px}.bill-table-wrap[data-v-9089ddc5]{background:#f4f1ea;border:1px solid #d2b48c;box-shadow:0 8px 16px #5d40371f;overflow:hidden}.bill-table-wrap table[data-v-9089ddc5]{width:100%;border-collapse:collapse}.bill-table-wrap th[data-v-9089ddc5],.bill-table-wrap td[data-v-9089ddc5]{padding:14px;border-bottom:1px solid #d2b48c;text-align:left;font-size:14px}.bill-table-wrap thead[data-v-9089ddc5]{background:#d2b48c;color:#3e2723}.bill-empty[data-v-9089ddc5]{padding:20px}.bill-error[data-v-9089ddc5]{padding:20px;color:#962f23}@media (max-width: 768px){.bill-header[data-v-9089ddc5]{align-items:flex-start;flex-direction:column}}.login-wrap[data-v-17b616e9]{max-width:560px;margin:28px auto 0}.login-card[data-v-17b616e9]{background:#f4f1ea;border:2px solid #3e2723;box-shadow:10px 10px #5d40372e;padding:8px}.login-inner[data-v-17b616e9]{border:1px solid #d2b48c;padding:26px 24px 28px}.login-title[data-v-17b616e9]{margin:0;font-size:32px;color:#3e2723;letter-spacing:.06em}.login-subtitle[data-v-17b616e9]{margin:8px 0 20px;color:#962f23;font-size:12px;font-weight:700;letter-spacing:.08em}.login-form .field-wrap[data-v-17b616e9]{display:block;margin-bottom:16px}.login-form span[data-v-17b616e9]{display:block;margin-bottom:8px;font-weight:700;color:#5d4037}.login-actions[data-v-17b616e9]{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.login-hint[data-v-17b616e9]{margin:0;color:#6c5f54;font-size:12px}.login-error[data-v-17b616e9]{margin:0 0 14px;color:#962f23;font-size:13px;min-height:18px}.login-link[data-v-17b616e9]{margin-top:14px;font-size:13px;color:#5d4037}.login-link a[data-v-17b616e9]{color:#962f23;text-decoration:none}@media (max-width: 640px){.login-title[data-v-17b616e9]{font-size:26px}.login-actions[data-v-17b616e9]{flex-direction:column;align-items:flex-start;gap:10px}}.profile-wrap[data-v-f12d0cd3]{max-width:760px;margin:24px auto 0}.profile-card[data-v-f12d0cd3]{background:#f4f1ea;border:2px solid #3e2723;box-shadow:10px 10px #5d40372e;padding:8px}.profile-inner[data-v-f12d0cd3]{border:1px solid #d2b48c;padding:24px}.profile-title[data-v-f12d0cd3]{margin:0;font-size:30px;color:#3e2723;letter-spacing:.06em}.profile-subtitle[data-v-f12d0cd3]{margin:8px 0 20px;color:#962f23;font-size:12px;font-weight:700;letter-spacing:.08em}.profile-status[data-v-f12d0cd3]{margin:0 0 14px;min-height:18px;color:#962f23;font-size:13px}.profile-grid[data-v-f12d0cd3]{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px 16px;margin:0 0 18px}.profile-grid dt[data-v-f12d0cd3]{margin:0;color:#5d4037;font-weight:700}.profile-grid dd[data-v-f12d0cd3]{margin:0;color:#2d2a26;word-break:break-all}.profile-form .field-wrap[data-v-f12d0cd3]{display:block;margin-bottom:14px}.profile-form span[data-v-f12d0cd3]{display:block;margin-bottom:8px;color:#5d4037;font-weight:700}.profile-actions[data-v-f12d0cd3]{display:flex;gap:10px;margin-top:22px}@media (max-width: 640px){.profile-title[data-v-f12d0cd3]{font-size:24px}.profile-grid[data-v-f12d0cd3]{grid-template-columns:1fr;gap:6px}.profile-actions[data-v-f12d0cd3]{flex-direction:column;align-items:flex-start}}.portal-read-page[data-v-71dd0d1e]{display:block}.read-header[data-v-71dd0d1e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}.read-title[data-v-71dd0d1e]{margin:0;font-size:24px;color:#3e2723}.read-tools[data-v-71dd0d1e]{display:flex;gap:10px}.read-status[data-v-71dd0d1e]{margin:0 0 12px;min-height:18px;font-size:13px}.read-status.error[data-v-71dd0d1e]{color:#962f23}.read-upgrade-hint[data-v-71dd0d1e]{margin:0 0 12px;padding:12px 14px;border:1px solid rgba(150,47,35,.2);background:#fff5ec;color:#7a261c;font-size:13px;line-height:1.6}.read-table-wrap[data-v-71dd0d1e]{background:#f4f1ea;border:1px solid #d2b48c;box-shadow:0 8px 16px #5d40371f;overflow:auto;max-height:calc(100vh - 260px)}.read-table[data-v-71dd0d1e]{width:100%;max-width:100%;border-collapse:collapse;table-layout:fixed}.read-table th[data-v-71dd0d1e],.read-table td[data-v-71dd0d1e]{box-sizing:border-box;padding:12px;border-bottom:1px solid #d2b48c;text-align:left;vertical-align:top;font-size:14px;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.read-table thead[data-v-71dd0d1e]{background:#d2b48c;color:#3e2723}.read-col-index[data-v-71dd0d1e]{width:56px;min-width:56px;max-width:56px;white-space:nowrap}.read-col-content[data-v-71dd0d1e]{width:32%;min-width:240px;max-width:420px}.read-col-default[data-v-71dd0d1e]{min-width:96px;max-width:180px}.read-pager[data-v-71dd0d1e]{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.read-pager .btn[data-v-71dd0d1e]:disabled{opacity:1}.read-generated-at[data-v-71dd0d1e]{margin:0;color:#6c5f54}@media (max-width: 640px){.read-header[data-v-71dd0d1e]{flex-direction:column;align-items:flex-start}}.register-wrap[data-v-e095ac27]{max-width:620px;margin:28px auto 0}.register-card[data-v-e095ac27]{background:#f4f1ea;border:2px solid #3e2723;box-shadow:10px 10px #5d40372e;padding:8px}.register-inner[data-v-e095ac27]{border:1px solid #d2b48c;padding:26px 24px 28px}.register-title[data-v-e095ac27]{margin:0;font-size:32px;color:#3e2723;letter-spacing:.06em}.register-subtitle[data-v-e095ac27]{margin:8px 0 20px;color:#962f23;font-size:12px;font-weight:700;letter-spacing:.08em}.register-form .field-wrap[data-v-e095ac27]{display:block;margin-bottom:16px}.register-form span[data-v-e095ac27]{display:block;margin-bottom:8px;font-weight:700;color:#5d4037}.register-actions[data-v-e095ac27]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.register-error[data-v-e095ac27]{margin:0 0 16px;color:#962f23;font-size:13px;min-height:18px}.register-link[data-v-e095ac27]{color:#5d4037;font-size:13px}.register-link a[data-v-e095ac27]{color:#962f23;text-decoration:none}@media (max-width: 640px){.register-title[data-v-e095ac27]{font-size:26px}.register-actions[data-v-e095ac27]{flex-direction:column;align-items:flex-start}}*{box-sizing:border-box}:root{--bamboo-bg: #f4f1ea;--ink-black: #2d2a26;--cinnabar: #962f23;--wood-brown: #5d4037;--admin-sidebar: #3e2723}body{margin:0;font-family:"Noto Serif SC","Source Han Serif SC",STSong,SimSun,serif;line-height:1.5;background:var(--bamboo-bg);color:var(--ink-black)}button{cursor:pointer}#app{min-height:100vh}.app-root{min-height:100vh;display:flex;flex-direction:column}.app-global-footer{margin-top:auto;border-top:1px solid rgba(93,64,55,.14);padding:18px 16px 28px;text-align:center;color:var(--wood-brown);font-size:13px;line-height:1.8;background:rgba(255,255,255,.56)}.app-global-footer p{margin:0}.app-global-footer a{color:inherit;text-decoration:none}.app-global-footer a:hover{color:var(--cinnabar)}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.app-shell.is-collapsed{grid-template-columns:72px 1fr}.app-sidebar{display:flex;flex-direction:column;gap:12px;height:100vh;padding:0;position:sticky;top:0;overflow:hidden;background:var(--admin-sidebar);color:#d9c5a3;box-shadow:0 10px 30px #0003}.app-brand-wrap{padding:24px;border-bottom:1px solid var(--wood-brown);display:flex;align-items:center;gap:10px}.app-brand-icon{width:38px;height:38px;flex:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.22))}.app-brand-content{min-width:0}.sidebar-toggle{border:1px solid rgba(217,197,163,.35);background:transparent;color:#d9c5a3;width:28px;height:28px;padding:0;line-height:1;border-radius:4px}.sidebar-toggle:hover{background:rgba(255,255,255,.1)}.app-brand{font-size:20px;font-weight:700;letter-spacing:-.02em}.app-brand-sub{margin:4px 0 0;font-size:11px;opacity:.55}.app-menu{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;margin-top:12px;overflow-y:auto}.app-menu-item{display:flex;align-items:center;gap:8px;padding:14px 16px;text-decoration:none;color:inherit}.app-menu-item:hover{background:rgba(255,255,255,.1)}.app-menu-item.is-active{background:var(--cinnabar);color:#fff}.menu-icon{width:20px;text-align:center}.menu-label{white-space:nowrap}.app-sidebar .btn{margin:0 16px 12px}.sidebar-logout{display:flex;align-items:center;gap:8px;justify-content:center}.app-sidebar-bottom{margin-top:auto;padding-bottom:12px}.app-sidebar.is-collapsed{align-items:stretch}.app-sidebar.is-collapsed .app-brand-wrap{padding:16px 8px;justify-content:center}.app-sidebar.is-collapsed .app-brand-content,.app-sidebar.is-collapsed .menu-label,.app-sidebar.is-collapsed .app-sidebar-footer{display:none}.app-sidebar.is-collapsed .app-brand-icon{width:34px;height:34px}.app-sidebar.is-collapsed .app-menu-item{justify-content:center;padding:14px 8px}.app-sidebar.is-collapsed .btn,.app-sidebar.is-collapsed .sidebar-logout{margin:0 8px 12px;padding:9px 8px}.app-sidebar.is-collapsed .sidebar-logout{min-width:0}.app-sidebar-footer{border-top:1px solid var(--wood-brown);padding:12px 16px;text-align:center;font-size:12px;opacity:.55}.app-main{padding:32px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title{margin:0;font-size:28px;border-left:4px solid var(--cinnabar);padding-left:14px}.section-meta{color:#78716c;font-size:13px}.header-actions{display:flex;align-items:center;gap:10px}.page-subtitle{margin:4px 0 0;color:#6b7280;font-size:14px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:20px}.card{background:#ffffff;border:1px solid #e7e5e4;border-radius:4px;box-shadow:0 1px 2px #0000000d;padding:20px;margin-bottom:20px}.card-title{margin:0 0 12px;font-size:16px}.metric-label{margin:0;font-size:12px;color:#78716c}.metric-value{margin:8px 0 0;font-size:34px;line-height:1.1;font-weight:700}.metric-highlight{color:var(--cinnabar)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-grid{display:grid;gap:12px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}input,select{width:100%;min-width:0;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;background:#fff}.actions{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.btn{border:0;border-radius:4px;padding:9px 16px;font-weight:600;background:var(--cinnabar);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--wood-brown)}.btn-danger{background:#b91c1c}.status{margin:0 0 16px;padding:10px 12px;border-radius:8px;font-size:14px}.status-success{background:#ecfdf5;color:#065f46}.status-error{background:#fef2f2;color:#991b1b}.muted{color:#78716c;font-size:13px}.upload-dropzone{border:2px dashed #d6d3d1;background:#fff;text-align:center;padding:32px 20px;transition:border-color .2s ease;margin-bottom:20px}.upload-dropzone:hover{border-color:var(--cinnabar)}.upload-dropzone.is-dragging{border-color:var(--cinnabar);background:#fff7f5}.upload-emoji{font-size:40px;line-height:1;margin-bottom:12px}.upload-title{margin:0;font-size:18px;font-weight:700}.upload-hint{margin:8px 0 0;color:#78716c;font-size:12px}.upload-label{align-items:center;cursor:pointer}.summary-bar{margin-top:16px;margin-bottom:0;background:#f5f5f4;border:1px solid #e7e5e4;border-radius:4px;padding:12px 14px}.summary-header{margin-bottom:0}.directory-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}.directory-tree-panel,.directory-content-panel{min-height:520px}.tree-list,.content-list{margin:0;padding:0;list-style:none}.tree-list{max-height:420px;overflow:auto;border:1px solid #e7e5e4;border-radius:6px}.tree-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding-right:10px;border-bottom:1px solid #f1f5f9;cursor:pointer;-webkit-user-select:none;user-select:none}.tree-item:last-child{border-bottom:0}.tree-item:hover{background:#fafaf9}.tree-item.is-selected{background:#fef3f2}.tree-item.is-drop-target,.content-item.is-drop-target{outline:2px dashed var(--cinnabar);outline-offset:-2px;background:#fff7f5}.tree-item-icon{opacity:.9}.tree-item-main{display:inline-flex;align-items:center;gap:8px;min-width:0}.tree-item-label{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-item-actions{position:relative;flex:0 0 auto}.tree-menu-btn{width:24px;height:24px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#64748b;font-size:16px;line-height:1;padding:0}.tree-menu-btn:hover{border-color:#cbd5e1;color:#334155}.tree-menu-popover{position:absolute;right:0;top:calc(100% + 4px);min-width:138px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 8px 20px #0f172a1f;padding:6px;z-index:15}.tree-menu-item{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:8px;font-size:12px;color:#334155;padding:6px 8px;border-radius:4px}.tree-menu-item:hover{background:#f8fafc}.tree-menu-item.is-danger{color:#991b1b}.tree-menu-item.is-danger:hover{background:#fef2f2}.tree-menu-icon{width:14px;text-align:center}.directory-create-row,.directory-rename-row{margin-top:12px;display:grid;grid-template-columns:1fr auto;gap:8px}.directory-section-header{margin-bottom:12px}.directory-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.directory-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.directory-column{border:1px solid #e7e5e4;border-radius:6px;padding:10px;background:#fff}.directory-subtitle{margin:0 0 8px;font-size:14px;color:#44403c}.content-list{min-height:260px;max-height:360px;overflow:auto}.content-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border:1px solid #f1f5f9;border-radius:6px;margin-bottom:8px;background:#ffffff}.content-item-main{min-width:0;display:flex;align-items:center;gap:10px;overflow:hidden}.content-item-main>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-item-main-two-line{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.content-item-main-two-line>span,.content-item-main-two-line>small{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-top-line{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.display-name-btn{border:none;background:transparent;padding:0;margin:0;font-size:15px;font-weight:600;line-height:1.25;color:#0f172a;cursor:pointer;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.display-name-btn:hover{text-decoration:underline}.file-icon{flex:0 0 auto}.display-name-input{min-width:120px;max-width:420px;width:min(100%,420px);border:1px solid #cbd5e1;border-radius:4px;padding:2px 6px;font-size:14px;line-height:1.4}.inline-icon-btn{border:1px solid #cbd5e1;background:#fff;border-radius:4px;width:22px;height:22px;line-height:1;padding:0;cursor:pointer;color:#334155;flex:0 0 auto}.inline-icon-btn:hover{background:#f8fafc}.file-record-count{margin-left:auto;flex:0 0 auto}.content-item-actions{position:relative;flex:0 0 auto}.preview-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.35);display:grid;place-items:center;z-index:40;padding:24px}.preview-modal{width:min(980px,100%);height:min(680px,calc(100vh - 48px));background:#fff;border-radius:10px;border:1px solid #e2e8f0;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.preview-modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.preview-modal-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-modal-body{min-height:0;padding:12px;overflow:auto}.preview-table-wrap{height:100%;min-height:540px;border:1px solid #e2e8f0;border-radius:6px;overflow:auto}.preview-table{width:100%;border-collapse:collapse;background:#fff}.preview-table th,.preview-table td{border:1px solid #e2e8f0;padding:8px;font-size:12px;text-align:left;white-space:nowrap}.preview-table thead th{position:sticky;top:0;background:#f8fafc;z-index:1}.content-item:last-child{margin-bottom:0}.content-empty{color:#78716c;font-size:13px;padding:8px}.summary-status-row{margin-top:10px;display:flex;align-items:center;justify-content:space-between}.summary-hint{margin:8px 0 0}.task-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#e7e5e4;color:#44403c;font-size:12px;font-weight:700}.task-status.is-ready{background:#dcfce7;color:#166534}.task-status.is-processing{background:#fef3c7;color:#92400e}.task-status.is-failed{background:#fee2e2;color:#991b1b}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%)}@media (max-width: 1024px){.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.app-sidebar{position:static;height:auto}.form-grid-2,.form-grid-3,.directory-layout,.directory-columns{grid-template-columns:1fr}}
