.saas-framework-loading { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: hsl(var(--background,0 0% 100%)); color: #808892; font: 14px "Microsoft YaHei",sans-serif; }
.saas-framework-loading.hidden { display: none; }
.saas-header-name { display: block; max-width: 160px; margin-left: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; line-height: 32px; }
@media (max-width:550px) { .saas-header-name { max-width: 72px; margin-left: 6px; } }
.saas-vben-page { min-width: 0; letter-spacing: 0; }
.saas-club-overview, .saas-goods-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.saas-club-overview>button, .saas-goods-overview>div { padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:10px; background:hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:10px; text-align:left; }
.saas-club-overview>button { cursor:pointer; transition:border-color .2s; }
.saas-club-overview>button:hover, .saas-club-overview>button.selected { border-color:hsl(var(--primary)); }
.saas-club-overview strong, .saas-goods-overview strong { font-size:26px; font-variant-numeric:tabular-nums; }
.saas-database-name, .saas-order-number { font-size:12px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.saas-commerce-intro { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.saas-commerce-intro>span { display:inline-flex; align-items:center; gap:8px; }
.saas-commerce-intro svg { height:18px; width:18px; }
.saas-readonly { font-size:12px; color:hsl(var(--primary)); background:hsl(var(--primary)/.08); padding:6px 12px; border-radius:20px; }
.saas-commerce-toolbar, .saas-order-datebar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.saas-commerce-toolbar>.ant-input-search { width:320px; max-width:100%; }
.saas-commerce-toolbar>.ant-select { min-width:170px; }
.saas-order-datebar>.ant-select { width:130px; }
.saas-order-datebar>.ant-input { width:155px; }
.saas-product-identity { display:flex; align-items:center; gap:12px; min-width:0; }
.saas-product-identity>img, .saas-product-placeholder { width:44px; height:44px; flex:0 0 44px; border-radius:8px; object-fit:cover; }
.saas-product-placeholder { display:grid; place-items:center; background:hsl(var(--muted)); color:hsl(var(--muted-foreground)); }
.saas-product-placeholder svg { width:22px; height:22px; }
.saas-product-identity>div { min-width:0; }
.saas-product-identity strong, .saas-commerce-club strong { font-weight:500; }
.saas-product-identity small { display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.saas-order-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.saas-order-kpi { position:relative; overflow:hidden; padding:24px 28px; background:hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:12px; }
.saas-order-kpi::before { content:''; position:absolute; height:3px; top:0; left:0; right:0; background:#1677ff; }
.saas-order-kpi.kpi-1::before { background:#19ad8d; }
.saas-order-kpi.kpi-2::before { background:#e8a548; }
.saas-order-kpi-label { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.saas-order-kpi-label svg { height:22px; width:22px; color:#1677ff; }
.saas-order-kpi.kpi-1 svg { color:#19ad8d; }
.saas-order-kpi.kpi-2 svg { color:#d79736; }
.saas-order-kpi>strong { display:block; margin:18px 0 10px; font-size:32px; line-height:1.2; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.saas-order-kpi>small, .saas-commerce-note { color:hsl(var(--muted-foreground)); font-size:12px; line-height:1.8; }
.saas-commerce-note { margin-bottom:16px; }
.saas-order-state { display:inline-block; padding:4px 9px; border-radius:5px; color:#1677ff; background:rgb(22 119 255/.1); font-size:12px; }
.saas-order-state.state-unpaid, .saas-order-state.state-0 { color:#bf8828; background:rgb(215 151 54/.12); }
.saas-order-state.state-3 { color:#19ad8d; background:rgb(25 173 141/.1); }
.saas-order-state.state-4 { color:#d66b76; background:rgb(214 107 118/.1); }
@media(max-width:1000px) { .saas-club-overview, .saas-goods-overview { grid-template-columns:repeat(2,minmax(0,1fr)); } .saas-order-kpi { padding:20px; } .saas-order-kpi>strong { font-size:26px; } }
@media(max-width:650px) { .saas-order-kpis { grid-template-columns:1fr; gap:12px; } .saas-order-kpi>strong { margin:12px 0 8px; } .saas-club-overview>button, .saas-goods-overview>div { padding:16px; } .saas-commerce-toolbar>.ant-input-search { width:100%; } }
.saas-club-analysis { padding: 0; background: transparent; }
.saas-analysis-updated { display:flex; justify-content:space-between; gap:16px; margin-bottom:12px; color:#929db0; font-size:12px; }
.saas-analysis-symbol { color:#409eff; display:grid; place-items:center; }
.saas-analysis-symbol svg { width:25px; height:25px; }
.saas-club-analysis .analysis-chart { height:308px; padding-top:16px; }
.saas-analysis-order-icon { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border-radius:10px; background:#e6f4ff; color:#1677ff; }
.saas-analysis-order-icon svg { width:20px; height:20px; }
.saas-analysis-order-amount { margin-left:12px; font-variant-numeric:tabular-nums; }
.saas-analysis-details { margin:16px 0; padding:18px; border:1px solid hsl(var(--border)); border-radius:8px; background:hsl(var(--card)); }
.saas-analysis-details summary { cursor:pointer; font-weight:600; }
.saas-analysis-extra h2 { font-size:14px; margin:20px 0 12px; }
.saas-domain-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.saas-domain-summary>div { display:flex; align-items:center; gap:12px; border:1px solid hsl(var(--border)); border-radius:8px; padding:20px; }
.saas-domain-summary svg { width:22px; height:22px; color:hsl(var(--primary)); }
.saas-domain-summary strong { margin-left:auto; font-size:26px; font-variant-numeric:tabular-nums; }
.saas-domain-cell strong { font-weight:500; }
.saas-domain-note { color:hsl(var(--muted-foreground)); font-size:12px; padding-top:16px; }
.dark .saas-club-analysis { color:hsl(var(--foreground)); background:transparent; }
.dark .saas-club-analysis .analysis-stat::before, .dark .saas-club-analysis .analysis-trends, .dark .saas-club-analysis .analysis-orders, .dark .saas-club-analysis .analysis-shortcuts, .dark .saas-club-analysis .analysis-illustration, .dark .saas-club-analysis .analysis-shortcut-grid button { background:hsl(var(--card)); color:hsl(var(--foreground)); }
.dark .saas-club-analysis .analysis-stat, .dark .saas-club-analysis .analysis-stat-head, .dark .saas-club-analysis .analysis-trends, .dark .saas-club-analysis .analysis-section-head, .dark .saas-club-analysis .analysis-orders, .dark .saas-club-analysis .analysis-shortcuts, .dark .saas-club-analysis .analysis-shortcut-grid button, .dark .saas-club-analysis .analysis-illustration, .dark .saas-club-analysis .analysis-order-list li, .dark .saas-club-analysis .analysis-periods { border-color:hsl(var(--border)); }
.dark .saas-club-analysis .analysis-periods button { color:hsl(var(--foreground)); }
.dark .saas-club-analysis .analysis-periods button.selected { color:#409eff; }
.dark .saas-club-analysis .analysis-shortcut-grid button:hover { background:hsl(var(--accent)); }
.dark .saas-club-analysis .analysis-badge { background:transparent; }
@media(max-width:767px) { .saas-domain-summary { grid-template-columns:1fr; gap:8px; } .saas-domain-summary>div { padding:14px; } .saas-analysis-updated { flex-direction:column; gap:4px; } }
.saas-vben-page h1, .saas-vben-page h2 { margin: 0; font-weight: 600; }
.saas-page-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
.saas-page-heading h1 { font-size: 20px; }
.saas-actions, .saas-periods { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.saas-periods { gap: 0; }
.saas-periods .ant-btn { border-radius: 0; }
.saas-periods .ant-btn:first-child { border-radius: 4px 0 0 4px; }
.saas-periods .ant-btn:last-child { border-radius: 0 4px 4px 0; }
.saas-periods .ant-btn + .ant-btn { margin-left: -1px; }
.saas-actions .ant-btn, .saas-toolbar .ant-btn, .saas-settings-actions .ant-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.saas-page-content { min-width: 0; }
.saas-club-toolbar-actions, .saas-fines-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.saas-club-toolbar-actions { flex-shrink: 0; }
.saas-fines-footer { justify-content: flex-end; }
.saas-fines-content > .ant-alert { margin-bottom: 16px; }
.saas-fines-content .saas-section { margin-top: 16px; }
.saas-fines-content .saas-club-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 20px; }
.saas-fines-content .saas-club-form-grid > .ant-form-item { min-width: 0; margin-bottom: 16px; }
.saas-fines-content .saas-club-form-grid > .ant-form-item:last-child { grid-column: 1 / -1; }
@media (max-width:900px) { .saas-fines-content .saas-club-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:550px) { .saas-fines-content .saas-club-form-grid { grid-template-columns: 1fr; } }
.saas-muted, .saas-metric small { color: hsl(var(--muted-foreground)); }
.saas-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid hsl(var(--border)); background: hsl(var(--card)); }
.saas-metric { min-width: 0; padding: 22px; }
.saas-metric + .saas-metric { border-left: 1px solid hsl(var(--border)); }
.saas-metric > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; }
.saas-metric svg { width: 19px; height: 19px; opacity: .65; }
.saas-metric strong { display: block; margin: 12px 0 8px; font-size: 28px; line-height: 1.3; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.saas-metric:nth-child(2) strong { color: #1677ff; }
.saas-metric:nth-child(4) strong { color: #c28b2e; }
.saas-metric small { font-size: 12px; }
.saas-analysis-grid { display: grid; grid-template-columns: minmax(0,2.5fr) minmax(230px,1fr); margin-top: 20px; border: 1px solid hsl(var(--border)); background: hsl(var(--card)); }
.saas-section { min-width: 0; background: hsl(var(--card)); }
.saas-club-records { min-height: 820px; }
.saas-club-records .ant-spin-container { display: flex; min-height: 734px; flex-direction: column; }
.saas-club-records .ant-table { flex: 1; }
.saas-analysis-grid > .saas-section { padding: 20px 22px; }
.saas-analysis-grid > .saas-section + .saas-section { border-left: 1px solid hsl(var(--border)); }
.saas-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.saas-section-title h2 { font-size: 15px; }
.saas-section-title:has(h2:empty) { display: none; }
.saas-distribution { display: grid; gap: 28px; margin-top: 42px; }
.saas-distribution-label { display: flex; justify-content: space-between; margin-bottom: 10px; }
.saas-track { height: 5px; overflow: hidden; background: hsl(var(--muted)); border-radius: 3px; }
.saas-track > span { display: block; height: 100%; }
.saas-track .active { background: #52b18b; }.saas-track .disabled { background: #a4a9b3; }.saas-track .expired { background: #d5a34b; }
.saas-status { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: #8b939e; }
.saas-status i { width: 6px; height: 6px; background: currentColor; border-radius: 50%; }.saas-status.active { color: #389b74; }.saas-status.expired { color: #b88025; }
.saas-analysis-bottom { display: grid; grid-template-columns: 1fr 1fr; margin-top: 20px; background: hsl(var(--card)); border: 1px solid hsl(var(--border)); }
.saas-analysis-bottom > section { padding: 18px 22px; }.saas-analysis-bottom > section + section { border-left: 1px solid hsl(var(--border)); }
.saas-club-row { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid hsl(var(--border)); }.saas-club-row:last-child { border: 0; }
.saas-row-end { margin-left: auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.saas-club-identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.saas-club-avatar { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 5px; background: hsl(var(--accent)); color: #6f8db4; }
.saas-club-identity strong { display: block; max-width: 220px; font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.saas-club-identity small, .saas-cell-subtitle { display: block; margin-top: 3px; color: hsl(var(--muted-foreground)); font-size: 11px; overflow-wrap: anywhere; }
.saas-rank { color: #b59253; font-size: 15px; font-style: italic; font-weight: 600; }
.saas-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 20px; border: 1px solid hsl(var(--border)); border-bottom: 0; }
.saas-toolbar .ant-input-search { width: 280px; max-width: 100%; }.saas-toolbar .ant-select { width: 130px; }.saas-toolbar-count { margin-left: auto; color: hsl(var(--muted-foreground)); font-size: 12px; }
.saas-vben-page .ant-table-wrapper { min-width: 0; background: hsl(var(--card)); }
.saas-ranking-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; padding: 22px; background: hsl(var(--card)); border: 1px solid hsl(var(--border)); }
.saas-ranking-summary strong { display: block; margin-top: 8px; font-size: 28px; color: #1677ff; font-variant-numeric: tabular-nums; }
.saas-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; margin-top: 20px; }.saas-form-grid .ant-input-number { width: 100%; }
.saas-settings-form { background: hsl(var(--card)); border: 1px solid hsl(var(--border)); }
.saas-setting-section { padding: 24px 28px 8px; }.saas-setting-section + .saas-setting-section { border-top: 1px solid hsl(var(--border)); }
.saas-setting-section > h2 { margin-bottom: 24px; font-size: 16px; }.saas-settings-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 30px; max-width: 1000px; }
.saas-settings-fields .ant-form-item { min-width: 0; }.saas-settings-fields .ant-input-number { width: 100%; }
.saas-settings-fields .ant-form-item:has(textarea) { grid-column: 1/-1; }
.saas-header-preview { grid-column: 1/-1; display: flex; align-items: center; gap: 10px; min-height: 56px; margin-bottom: 20px; }
.saas-header-preview img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.saas-settings-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 20px 28px; border-top: 1px solid hsl(var(--border)); }.saas-settings-actions > span { margin-right: auto; font-size: 12px; }
.saas-settings-form > .ant-alert { margin: 20px 28px 0; }.saas-empty, .saas-loading-space { min-height: 180px; }.saas-empty { display: grid; place-items: center; color: hsl(var(--muted-foreground)); }
.saas-employee-manager { grid-column: 1 / -1; padding-top: 4px; }
.saas-employee-manager-head, .saas-employee-editor-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.saas-employee-manager-head strong { display:block; color:hsl(var(--foreground)); font-size:14px; font-weight:600; }.saas-employee-manager-head small { display:block; margin-top:5px; color:hsl(var(--muted-foreground)); font-size:12px; }
.saas-employee-editor-list { display:grid; gap:14px; margin-top:18px; }.saas-employee-editor { padding:16px; border:1px solid hsl(var(--border)); border-radius:7px; background:hsl(var(--background)); }.saas-employee-editor-head { margin-bottom:16px; color:hsl(var(--muted-foreground)); font-size:12px; }.saas-employee-editor-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }.saas-employee-input { display:flex; flex-direction:column; gap:8px; min-width:0; margin-bottom:24px; color:hsl(var(--foreground)); font-size:12px; }.saas-employee-empty { display:grid; place-items:center; min-height:92px; margin-top:18px; border:1px dashed hsl(var(--border)); border-radius:7px; color:hsl(var(--muted-foreground)); font-size:12px; }
.saas-deploy-note { margin: 0; color: hsl(var(--muted-foreground)); font-size: 12px; line-height: 1.6; }
.saas-license-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.saas-license-choice { display: flex; min-width: 0; min-height: 74px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; padding: 11px 13px; border: 1px solid hsl(var(--border)); border-radius: 6px; background: hsl(var(--background)); color: hsl(var(--foreground)); text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.saas-license-choice:hover { border-color: #69a9ff; }
.saas-license-choice[aria-pressed="true"] { border-color: #1677ff; background: #eff6ff; color: #1358a8; box-shadow: inset 0 0 0 1px #1677ff; }
.dark .saas-license-choice[aria-pressed="true"] { background: rgb(22 119 255 / 14%); color: #91caff; }
.saas-license-choice:focus-visible { outline: 2px solid #1677ff; outline-offset: 2px; }
.saas-license-choice strong { font-size: 13px; font-weight: 600; }
.saas-license-choice small { color: hsl(var(--muted-foreground)); font-size: 11px; line-height: 1.5; white-space: normal; }
.saas-license-choice[aria-pressed="true"] small { color: inherit; opacity: .85; }
.saas-form-grid > .ant-form-item:first-child { grid-column: 1 / -1; }
.saas-club-form { grid-template-columns: minmax(0, 1fr); row-gap: 4px; }
.saas-club-modal { top: 24px; padding-bottom: 24px; }
.saas-club-modal .ant-modal-body { max-height: calc(100dvh - 180px); overflow-y: auto; padding-right: 6px; }
.saas-club-form > .ant-form-item { min-width: 0; margin-bottom: 22px; }
.saas-club-form .saas-license-options { grid-template-columns: minmax(0, 1fr); gap: 12px; }
.saas-club-modal .saas-deploy-note p { margin: 0; line-height: 1.8; }
.saas-club-modal .saas-deploy-note p + p { margin-top: 4px; }
.saas-image-field { display: flex; flex-direction: column; gap: 8px; }
.saas-avatar-control { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.saas-avatar-control .ant-input { min-width: 0; }
.saas-upload-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 32px; padding: 0 12px; border: 1px solid hsl(var(--border)); border-radius: 4px; background: hsl(var(--background)); color: hsl(var(--foreground)); font-size: 12px; cursor: pointer; white-space: nowrap; }
.saas-upload-button:hover { border-color: #1677ff; color: #1677ff; }.saas-upload-button svg { width: 15px; height: 15px; }.saas-upload-button input[type="file"] { display: none !important; }
.saas-avatar-preview { width: 72px; height: 72px; border: 1px solid hsl(var(--border)); border-radius: 6px; object-fit: contain; background: hsl(var(--background)); }
.saas-analytics { display: grid; gap: 20px; }
.saas-analytics-context { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; margin-top: -6px; color: hsl(var(--muted-foreground)); font-size: 12px; }
.saas-analytics-context > span:first-child { display: inline-flex; align-items: center; gap: 7px; }.saas-analytics-context svg { width: 14px; height: 14px; }
.saas-analytics-group { min-width: 0; }.saas-analytics-group .saas-section-title { margin-bottom: 12px; }
.saas-analytics-group h2 { font-size: 15px; }.saas-scope { color: hsl(var(--muted-foreground)); font-size: 12px; font-weight: 400; }
.saas-detail-metrics { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1px; border: 1px solid hsl(var(--border)); background: hsl(var(--border)); }
.saas-overview-metrics { grid-template-columns: repeat(5,minmax(0,1fr)); }
.saas-detail-metric { min-width: 0; padding: 18px; background: hsl(var(--card)); }
.saas-metric-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 36px; color: hsl(var(--muted-foreground)); font-size: 12px; }
.saas-metric-label > span { display: inline-flex; align-items: center; gap: 4px; min-width: 0; line-height: 1.5; cursor: help; }
.saas-metric-label svg { width: 12px; height: 12px; flex-shrink: 0; opacity: .7; }
.saas-metric-label > .saas-metric-symbol { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 6px; color: #4c96f4; background: rgb(22 119 255 / 12%); cursor: default; }
.saas-metric-symbol svg { width: 19px; height: 19px; opacity: 1; }
.saas-metric-label > .symbol-count, .metric-net .saas-metric-symbol { color: #42ac86; background: rgb(56 155 116 / 13%); }
.saas-metric-label > .symbol-percent, .metric-refund .saas-metric-symbol { color: #ce963c; background: rgb(206 150 60 / 13%); }
.saas-icon-heading { display: flex; align-items: center; gap: 8px; }
.saas-icon-heading > svg { width: 18px; height: 18px; flex-shrink: 0; color: #4c96f4; }
.saas-detail-metric strong { display: block; margin-top: 12px; font-size: 23px; line-height: 1.35; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.metric-gross strong, .metric-paid_orders strong { color: #1677ff; }.metric-net strong, .metric-active_clubs strong { color: #389b74; }.metric-refund strong, .metric-expiring_clubs strong { color: #ba842c; }
.saas-chart-band, .saas-operations-band { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(310px,1fr); border-block: 1px solid hsl(var(--border)); background: hsl(var(--card)); }
.saas-chart-band > section, .saas-operations-band > section { padding: 20px; }.saas-chart-band > section + section, .saas-operations-band > section + section { border-left: 1px solid hsl(var(--border)); }
.saas-chart-controls { display: flex; align-items: center; gap: 12px; }.saas-chart-range { margin-top: 3px; color: hsl(var(--muted-foreground)); font-size: 11px; text-align: center; }
.saas-order-distribution { display: grid; grid-template-columns: minmax(140px,1fr) minmax(145px,1fr); align-items: center; gap: 10px; min-height: 280px; }
.saas-donut { position: relative; min-width: 0; }.saas-donut-total { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; pointer-events: none; }.saas-donut-total strong { font-size: 22px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; max-width: 92px; text-align: center; }.saas-donut-total small { margin-top: 5px; color: hsl(var(--muted-foreground)); font-size: 11px; }
.saas-state-legend { display: grid; gap: 18px; }.saas-state-legend > div { display: flex; align-items: center; gap: 7px; font-size: 12px; }.saas-state-legend strong { margin-left: auto; font-variant-numeric: tabular-nums; }.saas-state-legend small { width: 52px; color: hsl(var(--muted-foreground)); text-align: right; font-variant-numeric: tabular-nums; }
.saas-state-dot { width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; }.state-waiting { background: #d79736; }.state-serving { background: #1677ff; }.state-completed { background: #389b74; }.state-refunded { background: #d66b76; }.state-other { background: #9299a5; }
.saas-orders-empty { min-height: 280px; align-content: center; gap: 12px; }.saas-orders-empty svg { width: 32px; height: 32px; opacity: .6; }
.saas-operations-band { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }.saas-club-distribution { display: grid; gap: 26px; padding: 15px 0; }.saas-club-distribution small { color: hsl(var(--muted-foreground)); font-size: 11px; }
.saas-expiry-end { margin-left: auto; flex-shrink: 0; text-align: right; }.saas-expiry-end strong { font-size: 12px; font-weight: 500; color: #ba842c; }.saas-expiry-end small { display: block; margin-top: 4px; color: hsl(var(--muted-foreground)); font-size: 11px; }
.saas-analytics .saas-analysis-bottom { margin-top: 0; border-inline: 0; }.saas-analytics > .saas-section { padding: 20px; border-block: 1px solid hsl(var(--border)); }.saas-analytics .saas-section-title h2 { flex-shrink: 0; }
@media (max-width:1500px) { .saas-order-distribution { grid-template-columns: 1fr; gap: 0; }.saas-state-legend { gap: 10px; }.saas-donut { max-width: 210px; width: 100%; margin: auto; } }
@media (max-width:1250px) { .saas-detail-metrics { grid-template-columns: repeat(4,minmax(0,1fr)); }.saas-chart-band { grid-template-columns: minmax(0,1.6fr) minmax(260px,1fr); }.saas-detail-metric { padding: 16px; } }
@media (max-width:950px) { .saas-chart-band { grid-template-columns: minmax(0,1fr); }.saas-chart-band > section + section { border-left: 0; border-top: 1px solid hsl(var(--border)); }.saas-order-distribution { grid-template-columns: minmax(140px,1fr) minmax(160px,1fr); min-height: 180px; }.saas-detail-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }.saas-state-legend { gap: 17px; } }
@media (max-width:650px) { .saas-detail-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.saas-operations-band { grid-template-columns: minmax(0,1fr); }.saas-operations-band > section + section { border-left: 0; border-top: 1px solid hsl(var(--border)); }.saas-analytics-group .saas-section-title { flex-wrap: wrap; gap: 5px; }.saas-chart-band > section, .saas-operations-band > section, .saas-analytics > .saas-section { padding: 16px 12px; }.saas-detail-metric { padding: 15px 12px; }.saas-detail-metric strong { font-size: 22px; }.saas-chart-controls { gap: 6px; }.saas-chart-controls > .saas-scope { display: none; }.saas-analytics .saas-section-title { gap: 8px; }.saas-metric-label { gap: 5px; }.saas-metric-label > .saas-metric-symbol { flex-basis: 28px; width: 28px; height: 28px; }.saas-metric-symbol svg { width: 17px; height: 17px; }.saas-analytics-context { font-size: 11px; } }
@media (max-width:360px) { .saas-order-distribution { grid-template-columns: 1fr; }.saas-metric-label > svg { display: none; }.saas-detail-metric strong { font-size: 20px; } }
@media (max-width:1100px) { .saas-metrics { grid-template-columns:1fr 1fr; }.saas-metric:nth-child(3) { border-left:0; }.saas-metric:nth-child(n+3) { border-top:1px solid hsl(var(--border)); } }
@media (max-width:800px) { .saas-analysis-grid, .saas-analysis-bottom { grid-template-columns:1fr; }.saas-analysis-grid > .saas-section + .saas-section,.saas-analysis-bottom > section + section { border-left:0; border-top:1px solid hsl(var(--border)); }.saas-distribution { margin:20px 0; }.saas-settings-fields { grid-template-columns:1fr; }.saas-setting-section { padding:20px 18px 4px; }.saas-settings-actions { padding:18px; } }
@media (max-width:550px) { .saas-page-heading h1 { font-size:18px; }.saas-actions { gap:6px; }.saas-periods .ant-btn { padding-inline:10px; }.saas-metric { padding:17px 14px; }.saas-metric strong { font-size:23px; }.saas-metric small { font-size:11px; }.saas-analysis-grid > .saas-section,.saas-analysis-bottom > section { padding:18px 14px; }.saas-toolbar { padding:14px; }.saas-toolbar .ant-input-search { width:100%; }.saas-form-grid { grid-template-columns:1fr; }.saas-settings-actions { flex-wrap:wrap; }.saas-settings-actions > span { width:100%; margin-bottom:6px; }.saas-ranking-summary { flex-wrap:wrap; padding:18px; }.saas-avatar-control { gap:8px; } }
.saas-club-actions{display:flex;align-items:center;gap:2px;white-space:nowrap}.saas-club-actions .ant-btn{padding-inline:7px}
.saas-version-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; padding:22px 24px; border:1px solid hsl(var(--border)); background:hsl(var(--card)); }
.saas-version-summary strong { display:block; margin-top:6px; color:#1677ff; font-size:24px; font-variant-numeric:tabular-nums; }
.saas-version-summary > span { color:hsl(var(--muted-foreground)); font-size:12px; text-align:right; }
.saas-version-list { border:1px solid hsl(var(--border)); background:hsl(var(--card)); }
.saas-version-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid hsl(var(--border)); }
.saas-version-number { font-weight:600; font-variant-numeric:tabular-nums; }
.saas-version-content { display:-webkit-box; max-width:620px; overflow:hidden; white-space:pre-line; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.saas-version-actions { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.saas-version-actions .ant-btn { padding-inline:6px; }
.saas-version-form .ant-form-item:last-child { margin-bottom:0; }
@media(max-width:650px) { .saas-version-summary { align-items:flex-start; flex-direction:column; gap:8px; padding:17px; }.saas-version-summary > span { text-align:left; }.saas-version-toolbar { padding:12px; } }
.saas-club-actions { flex-wrap:wrap; gap:3px; white-space:normal; }
.saas-security-upload { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.saas-security-upload a { overflow-wrap:anywhere; }
.saas-https-notice { display:flex; align-items:center; gap:8px; padding:12px 14px; border-radius:6px; color:#21845b; background:rgba(32,155,109,.07); font-size:12px; }
.saas-domain-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:900px) { .saas-domain-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.saas-delivery-note { margin:0 0 18px; padding:12px 14px; border:1px solid #d5e7f5; border-left:3px solid #3478ed; background:#f5f9ff; color:#52647a; font-size:12px; line-height:1.65; }
.saas-delivery-password { display:grid; gap:7px; margin-bottom:16px; color:#4d5b6c; font-size:12px; }
.saas-delivery-password .ant-input-affix-wrapper { width:100%; }
.saas-delivery-password small { color:#8995a4; font-size:11px; }
.saas-delivery-preview textarea { font-family:inherit; font-size:12px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:650px) { .saas-delivery-note { font-size:11px; }.saas-delivery-preview textarea { font-size:11px; } }
