/* ==========================================================================
   GEO-UX-107 — Visual polish and component convergence
   Restrained commercial-admin styling after the GEO-UX-106 geometry pass.
   ========================================================================== */
.ui-092 {
    --ui-bg:#f4f7fb;
    --ui-surface-subtle:#f7f9fc;
    --ui-border:#e1e7ef;
    --ui-border-strong:#cfd8e4;
    --ui-shadow-1:0 1px 2px rgba(15,23,42,.025),0 8px 24px rgba(15,23,42,.035);
}
.ui-092 .panel,
.ui-092 .step-card { border-radius:15px; box-shadow:var(--ui-shadow-1); }
.ui-092 .panel:hover { border-color:#d9e2ec; }
.ui-092 .section-heading h2,
.ui-092 .panel-head h2 { letter-spacing:-.015em; }
.ui-092 .eyebrow { letter-spacing:.06em; }

/* Toolbars should read as toolbars, not loose buttons. */
.ui-092 :where(.filter-bar,.filter-row,.admin-filter) { min-width:0; }
.ui-092 :where(.filter-bar,.filter-row,.admin-filter) label { min-width:0; margin:0; }
.ui-092 .filter-actions { align-self:end; }
.ui-092 .filter-actions .btn { min-width:74px; }

/* Empty states are compact and centered without consuming a full screen. */
.ui-092 .empty-state,
.ui-092 .mini-empty,
.ui-092 .asset-filter-empty {
    min-height:132px; padding:24px; border:1px dashed #dbe3ec; border-radius:13px; background:#fafcff;
}
.ui-092 .empty-state.small,
.ui-092 .empty-state.compact { min-height:108px; padding:20px; }
.ui-092 .empty-state > span { margin-bottom:8px; }
.ui-092 .empty-state p { max-width:620px; margin:6px auto 0; line-height:1.55; }

/* Dashboard hierarchy: hero remains primary, current project becomes a clean fact card. */
.ui-092.page-dashboard .welcome-panel { min-height:210px; padding:30px 34px; }
.ui-092.page-dashboard .dashboard-project-overview { background:#fff; }
.ui-092.page-dashboard .dashboard-project-overview > .btn { align-self:end; }
.ui-092.page-dashboard .dashboard-project-overview dl > div { min-height:44px; }
.ui-092.page-dashboard .dashboard-project-overview dt { font-weight:600; }

/* Project center: calm borders, consistent tags and stable card footer. */
.ui-092.page-projects .project-center-hero { box-shadow:var(--ui-shadow-1); }
.ui-092.page-projects .brand-project-card { box-shadow:none; }
.ui-092.page-projects .brand-project-card:hover { transform:none; box-shadow:0 8px 24px rgba(15,23,42,.045); }
.ui-092.page-projects .brand-project-card.current { box-shadow:inset 3px 0 0 var(--ui-brand); }
.ui-092.page-projects .brand-project-monogram { box-shadow:none; }
.ui-092.page-projects .token-row span { padding:5px 9px; }
.ui-092.page-projects .brand-project-actions .btn { min-width:112px; }

/* GEO report: reduce visual noise and emphasize values. */
.ui-092.page-geo-report .geo-kpi-grid-v87 > article { box-shadow:none; }
.ui-092.page-geo-report .geo-kpi-grid-v87 > article strong { font-size:24px; color:var(--ui-text); }
.ui-092.page-geo-report .geo-kpi-grid-v87 > article.risk strong { color:var(--ui-danger); }
.ui-092.page-geo-report .geo-report-hero-actions-v87 { justify-content:flex-end; }
.ui-092.page-geo-report .geo-report-two-col-v87 > .panel { height:100%; }

/* Settings: one surface, clear subgroup boundaries, no floating save button. */
.ui-092.page-settings .form-panel { padding:24px; }
.ui-092.page-settings .settings-group { background:#fafbfd; }
.ui-092.page-settings .settings-save-actions-v107 { justify-content:flex-end; }
.ui-092.page-settings .settings-save-actions-v107 .btn { min-width:132px; }
.ui-092.page-settings .export-panel,
.ui-092.page-settings .tip-panel { padding:20px; }

/* Content center: generation form and four-step workflow are visually connected. */
.ui-092.page-content .content-generation-panel-v83 { padding:24px; }
.ui-092.page-content .content-generation-head-v83 { grid-template-columns:minmax(0,1fr) 260px; gap:22px; margin-bottom:18px; }
.ui-092.page-content .content-model-state-v83 { padding:14px 16px; border-radius:12px; }
.ui-092.page-content .content-generate-form-v83 { gap:14px 16px; }
.ui-092.page-content .content-service-band-v107 {
    min-height:68px; margin-top:2px; padding:12px 14px; border:1px solid var(--ui-border); border-radius:12px; background:var(--ui-surface-subtle);
}
.ui-092.page-content .content-service-band-v107 > div { min-width:0; }
.ui-092.page-content .content-service-band-v107 small { line-height:1.5; }
.ui-092.page-content .content-workflow-v106 article { box-shadow:none; }
.ui-092.page-content .stage-overview-v83 > div { border-radius:13px; box-shadow:none; }
.ui-092.page-content .content-filter-panel-v83 { padding:16px; }
.ui-092.page-content .content-filter-panel-v83 .filter-row { gap:10px; }

/* Recharge: only channel names are shown; order is WeChat, Alipay, Douyin. */
.ui-092.page-finance-recharge .payment-channel-picker-v107 label { min-width:0; }
.ui-092.page-finance-recharge .payment-channel-picker-v107 .channel-card { min-height:64px; }
.ui-092.page-finance-recharge .payment-channel-picker-v107 .channel-card strong { font-size:14px; }
.ui-092.page-finance-recharge .payment-channel-picker-v107 .channel-card small { display:none!important; }
.ui-092.page-finance-recharge .payment-channel-picker-v107 input:checked + .channel-card {
    border-color:#69a7ec; background:#f5f9ff; box-shadow:0 0 0 2px rgba(23,105,210,.10);
}
.ui-092.page-finance-recharge .recharge-guide-panel { display:flex; flex-direction:column; }
.ui-092.page-finance-recharge .recharge-guide-links-v107 { display:grid; gap:10px; margin-top:auto; padding-top:16px; }
.ui-092.page-finance-recharge .recharge-guide-links-v107 .btn { margin:0; }
.ui-092.page-finance-recharge .process-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.ui-092.page-finance-recharge .process-list li { min-height:72px; padding:12px 14px; border:1px solid var(--ui-border); border-radius:12px; background:var(--ui-surface-subtle); }
.ui-092.page-finance-recharge .process-list li p { margin:4px 0 0; line-height:1.5; }

/* Admin filters and tables: filter cards use compact padding and clear action alignment. */
.ui-092.page-admin-projects .admin-project-filter-v106,
.ui-092.page-admin-errors .system-error-filter-v96 { padding:14px; }
.ui-092.page-admin-projects .admin-project-table th,
.ui-092.page-admin-projects .admin-project-table td { vertical-align:middle; }
.ui-092.page-admin-errors .system-error-list-panel-v96 { padding-top:22px; }

/* Whole-site responsive convergence for common two/three/four-column grids. */
@media (max-width: 1250px) {
    .ui-092.page-content .content-generation-head-v83 { grid-template-columns:1fr; }
    .ui-092.page-content .content-model-state-v83 { max-width:none; }
}
@media (max-width: 900px) {
    .ui-092.page-finance-recharge .payment-channel-picker-v107 { grid-template-columns:1fr; }
    .ui-092.page-content .content-service-band-v107 { align-items:stretch; flex-direction:column; }
    .ui-092.page-content .content-service-band-v107 > div { margin-right:0; }
    .ui-092.page-content .content-service-band-v107 .btn { width:100%; }
}
@media (max-width: 680px) {
    .ui-092 .section-heading { gap:12px; }
    .ui-092 .section-heading:not(.compact) { flex-direction:column; }
    .ui-092 .section-heading > :last-child:not(:first-child) { align-self:stretch; }
    .ui-092 .section-heading .count-chip { align-self:flex-start; }
    .ui-092.page-projects .brand-project-actions { align-items:stretch; }
    .ui-092.page-projects .brand-project-actions > *,
    .ui-092.page-projects .brand-project-actions .btn { width:100%; }
}
