*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}@media(min-width:992px){html,body,#root{min-width:1024px}}body{background:#f3f6fa;color:#172033;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app-layout{min-height:100vh}.dashboard-shell{min-height:100vh;background:#f5f7fb}.dashboard-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;height:64px;padding:0 28px;border-bottom:1px solid #e8edf4;background:#fff}.dashboard-header .ant-menu{justify-content:center;border-bottom:0;background:transparent}.dashboard-header>:last-child{justify-self:end}.dashboard-brand{display:inline-flex;align-items:center;gap:9px;color:#172033;font-size:16px;font-weight:700}.dashboard-brand img{display:block;width:38px;height:38px;object-fit:contain}.dashboard-user-copy{line-height:1.2}.dashboard-user-name{color:#172033;font-size:13px;font-weight:650}.dashboard-user-role{color:#8a94a6;font-size:11px}.dashboard-content{width:100%;max-width:1600px;margin:0 auto;padding:24px}.dashboard-landing{max-width:980px;margin:7vh auto 0}.dashboard-hero{margin-bottom:32px;text-align:center}.dashboard-hero h1{margin:12px 0 8px;font-size:38px}.dashboard-entry-card{min-height:250px;border:1px solid #e4eaf3;box-shadow:0 16px 40px #1f2f4712}.dashboard-entry-card.is-disabled{opacity:.62}.dashboard-entry-icon{display:grid;width:52px;height:52px;place-items:center;margin-bottom:28px;border-radius:15px;color:#fff;font-size:24px}.dashboard-entry-link{color:#2563eb;font-weight:650}.dashboard-admin-link{margin-top:28px;text-align:center}.app-sider{position:fixed!important;inset:0 auto 0 0;z-index:20;box-shadow:6px 0 24px #070f1e1f}.app-logo{display:flex;height:70px;align-items:center;gap:11px;padding:0 18px;color:#fff;font-weight:700;letter-spacing:.2px}.app-logo-mark{display:grid;width:34px;height:34px;place-items:center;flex:0 0 34px}.app-logo-mark img{display:block;width:34px;height:34px;object-fit:contain}.app-main{min-width:0;transition:margin-left .2s ease}.app-header{position:sticky;top:0;z-index:10;display:flex;height:64px;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #e8edf4;box-shadow:0 2px 14px #0f172a0a}.app-content{min-width:0;padding:24px}.feedback-admin-filters .ant-select{width:150px}.feedback-admin-filters .ant-input-search{width:260px}.feedback-admin-mobile-list{display:none}.feedback-admin-drawer .ant-drawer-body{overflow-wrap:anywhere}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title{margin:0 0 5px;color:#152036;font-size:25px;line-height:1.25}.page-description{margin:0;color:#6b768b;font-size:14px}.metric-card{overflow:hidden;border:1px solid #e7edf5;box-shadow:0 8px 24px #1f2f470d}.metric-label{color:#6d788c;font-size:13px}.metric-value{margin-top:6px;color:#152036;font-size:28px;font-weight:720;letter-spacing:-.6px}.metric-hint{margin-top:3px;color:#8a94a6;font-size:12px}.monitoring-chart-grid>.ant-col{display:flex}.monitoring-chart-card{width:100%;height:340px}.monitoring-chart-card .ant-card-body{height:calc(100% - 39px);overflow:auto}.mono,.money,.ant-statistic-content-value,.ant-table-cell .numeric{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.money{color:#172033;font-weight:650;white-space:nowrap}.link-button{padding:0;border:0;background:none;color:#2563eb;cursor:pointer;font:inherit}.section-card{border:1px solid #e7edf5;box-shadow:0 7px 22px #1f2f470a}.source-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.source-category-section{margin-bottom:28px}.source-category-heading{margin-bottom:14px}.source-category-heading .ant-typography{margin-top:0;margin-bottom:4px}.source-card{min-width:0;border:1px solid #e7edf5;box-shadow:0 4px 14px #1f2f470a}.source-card .ant-descriptions-item-content{overflow-wrap:anywhere}.source-card-heading{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;margin-bottom:12px}.source-card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #f0f0f0}.dashboard-filter-card{margin-bottom:16px;border:1px solid #dfe8f5;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 5px 18px #1f2f470d}.dashboard-filter-card .ant-card-body{padding:14px 16px}.dashboard-filter-fields{width:100%}.dashboard-filter-fields>.ant-space-item>span{display:inline-flex;align-items:center;gap:6px;color:#475467;font-size:13px;white-space:nowrap}.dashboard-filter-fields .ant-select-selector,.dashboard-filter-fields .ant-picker,.dashboard-filter-fields .ant-btn{min-height:32px}.dashboard-filter-fields .ant-segmented{min-height:32px;padding:2px}.dashboard-filter-fields .ant-segmented-item-label{min-height:26px;line-height:26px}.billing-stats{margin-bottom:16px}.billing-stats .ant-card{height:100%}.billing-top-card ol{list-style-position:inside;margin:0;padding:0}.billing-top-card li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;line-height:24px}.billing-top-card li strong{color:#344054;font-variant-numeric:tabular-nums}.billing-trend{margin-bottom:16px}.billing-chart-wrap{width:100%;overflow-x:auto}.billing-chart{display:block;min-width:720px;width:100%;height:330px}.billing-legend{padding:0 16px 8px 72px;color:#667085;font-size:12px}.billing-legend button{padding:2px 5px;border:0;border-radius:4px;background:transparent;color:inherit;cursor:pointer;font:inherit;transition:opacity .15s,background .15s}.billing-legend button:hover,.billing-legend button.is-active:hover{background:#f2f6fc}.billing-legend button.is-muted{opacity:.35}.billing-legend i{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px}.money{font-variant-numeric:tabular-nums}.table-link{color:#2563eb;font-weight:600}.muted{color:#7a8599}.warning-banner{margin-bottom:16px}.run-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px}.run-summary-item{padding:14px;border:1px solid #e6ebf2;border-radius:10px;background:#f9fbfd}.run-summary-item strong{display:block;margin-top:3px;font-size:18px}@media(max-width:1280px){.run-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:991px){.app-layout,.app-main,.app-content{width:100%;min-width:0}.dashboard-header{grid-template-columns:1fr auto;height:auto;min-height:58px;padding:0 12px}.dashboard-header .ant-menu{grid-column:1 / -1;grid-row:2}.dashboard-header>:last-child{font-size:0}.dashboard-user-copy{display:none}.dashboard-content{padding:14px}.app-header{gap:4px;padding:0 8px}.app-header-primary{min-width:0}.app-header-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-actions{flex:0 0 auto}.app-header .ant-btn{min-width:40px;min-height:40px}.app-header-identity>.ant-space-item:last-child{display:none}.app-content .ant-card,.app-content .ant-row,.app-content .ant-col{min-width:0}.app-content .ant-table-wrapper{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.app-content .ant-pagination{flex-wrap:wrap;row-gap:8px}.ant-modal{max-width:calc(100vw - 24px)}.ant-drawer-content-wrapper{max-width:100vw}.app-content,.app-main>.ant-layout-content{padding:12px!important}.page-header{flex-direction:column;align-items:flex-start;gap:8px}.page-title{font-size:20px}.section-card .ant-card-body{padding:8px}.ant-card-body .ant-space-item>span>.ant-select{min-width:140px}}@media(max-width:600px){.app-header-title{font-size:13px}.app-header-identity{display:none!important}.page-header>div{max-width:100%}.page-header .ant-space,.app-content .ant-card-body>.ant-space:not(.ant-space-vertical),.ant-drawer-body .ant-space:not(.ant-space-vertical){flex-wrap:wrap;max-width:100%}.app-content .ant-input-search,.app-content .ant-select,.app-content .ant-picker{max-width:100%}.app-content .ant-card-head-wrapper{flex-wrap:wrap;gap:4px;padding:8px 0}.app-content .ant-card-extra{margin-left:0}.app-content .ant-card-head{padding:0 12px}.app-content .ant-card-body{padding:12px}.app-content .ant-table-wrapper .ant-table table{min-width:620px}.app-content .ant-table-pagination.ant-pagination{justify-content:center}.app-content .ant-table-pagination .ant-pagination-total-text{display:none}.feedback-admin-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px!important}.feedback-admin-filters>.ant-space-item{min-width:0;width:100%}.feedback-admin-filters>.ant-space-item:last-child{grid-column:1 / -1}.feedback-admin-filters .ant-select,.feedback-admin-filters .ant-input-search{width:100%}.feedback-admin-table{display:none}.feedback-admin-mobile-list{display:grid;gap:10px}.feedback-admin-mobile-item{display:grid;gap:5px;width:100%;min-width:0;padding:12px;border:1px solid #e6ebf2;border-radius:10px;background:#fff;color:#172033;text-align:left;font:inherit}.feedback-admin-mobile-item:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.feedback-admin-mobile-title{overflow-wrap:anywhere;color:#2563eb;font-weight:650}.feedback-admin-mobile-meta{overflow-wrap:anywhere;color:#6b768b;font-size:12px}.feedback-admin-mobile-list .ant-pagination{justify-content:center;margin-top:6px}.feedback-admin-drawer .ant-drawer-body{padding:16px}.feedback-admin-drawer .ant-descriptions-item-label{width:82px}.feedback-admin-drawer .ant-descriptions-item-content{min-width:0;overflow-wrap:anywhere}.dashboard-brand{font-size:14px}.dashboard-brand img{width:30px;height:30px}.dashboard-user{gap:4px!important}.dashboard-user .ant-avatar{display:none}.source-card-heading{align-items:flex-start;flex-direction:column;gap:8px}.billing-report-page .page-header{margin-bottom:12px}.billing-report-page .page-header>div,.billing-header-actions{width:100%}.billing-header-actions{display:grid;grid-template-columns:1fr 1fr}.billing-header-actions .ant-btn{width:100%}.dashboard-filter-card .ant-card-body{padding:10px}.monitoring-filter-fields{display:grid;grid-template-columns:1fr;gap:8px!important}.monitoring-filter-fields>.ant-space-item,.monitoring-filter-fields>.ant-space-item>span{width:100%;min-width:0}.monitoring-filter-fields>.ant-space-item>span{display:grid;grid-template-columns:auto minmax(0,1fr)}.monitoring-filter-fields .ant-select,.monitoring-filter-fields .ant-picker,.monitoring-filter-fields .ant-segmented,.monitoring-filter-fields .ant-btn{width:100%!important;min-width:0!important}.billing-filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px!important}.billing-filter-fields>.ant-space-item{min-width:0;width:100%}.billing-filter-fields>.ant-space-item:first-child,.billing-filter-fields>.ant-space-item:nth-child(3),.billing-filter-fields>.ant-space-item:nth-child(4),.billing-filter-fields>.ant-space-item:nth-child(6){grid-column:1 / -1}.billing-filter-fields .ant-picker,.billing-filter-fields .ant-select,.billing-filter-fields .ant-btn{width:100%!important;min-width:0!important}.billing-stats .ant-card-body{padding:14px 16px}.billing-stats .ant-statistic-content{font-size:23px}.billing-trend .ant-card-head{padding:0 10px}.billing-trend .ant-card-head-wrapper{align-items:flex-start;flex-direction:column;padding:10px 0;gap:8px}.billing-trend .ant-card-extra{width:100%;margin:0}.billing-chart-controls{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px!important}.billing-chart-controls>.ant-space-item{min-width:0}.billing-chart-controls>.ant-space-item:last-child{grid-column:1 / -1}.billing-chart-controls .ant-select,.billing-chart-controls .ant-radio-group{width:100%}.billing-chart-controls .ant-radio-button-wrapper{width:50%;text-align:center}.billing-chart-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.billing-chart-wrap:before{content:"左右滑动查看每日数据";display:block;position:sticky;left:0;width:max-content;margin:0 0 4px 4px;color:#8a94a6;font-size:12px}.billing-chart{height:280px}.billing-legend{position:sticky;left:0;width:calc(100vw - 48px);padding:4px 6px 8px}.billing-detail-card .ant-card-head-wrapper{align-items:flex-start}.billing-detail-card .ant-card-extra{margin-left:8px;font-size:12px}.billing-report-page .ant-pagination{justify-content:center}.billing-report-page .ant-pagination-total-text{display:none}}
