:root {
  --fy-bg:#f5f7fa; --fy-surface:#fff; --fy-ink:#303133; --fy-muted:#909399;
  --fy-brand:#409eff; --fy-brand-dark:#2686e7; --fy-accent:#ecf5ff;
  --fy-border:#ebeef5; --fy-radius:8px; --fy-shadow:0 2px 12px rgba(24,45,72,.035);
}
.feyta-console body { background:var(--fy-bg); color:var(--fy-ink); font-family:"Helvetica Neue","PingFang SC","Microsoft YaHei",Arial,sans-serif; font-size:14px; -webkit-font-smoothing:antialiased; }
.feyta-console a { color:var(--fy-brand); }
.feyta-console [hidden] { display:none!important; }
.feyta-console :focus-visible { outline:2px solid var(--fy-brand); outline-offset:3px; }
.fy-eyebrow { color:var(--fy-muted); font-size:11px; letter-spacing:1.5px; font-weight:500; }
.fy-heading { font-size:24px; line-height:1.4; margin:8px 0; font-weight:600; color:#263445; }
.fy-subtitle { color:#909399; font-size:13px; line-height:1.8; }
.fy-card { border:1px solid var(--fy-border); border-radius:var(--fy-radius); background:var(--fy-surface); padding:22px; box-shadow:var(--fy-shadow); }
.fy-section-heading { margin:0; font-size:16px; font-weight:600; }
.fy-tag { display:inline-block; background:#ecf5ff; color:#409eff; border:1px solid #d9ecff; padding:3px 9px; border-radius:4px; font-size:12px; line-height:20px; }
.fy-tag.is-pending { color:#b88230; background:#fdf6ec; border-color:#faecd8; }.fy-tag.is-success { color:#529b2e; background:#f0f9eb; border-color:#e1f3d8; }.fy-tag.is-closed { color:#909399; background:#f4f4f5; border-color:#e9e9eb; }.fy-tag.is-danger { color:#e85b5b; background:#fef0f0; border-color:#fde2e2; }
.fy-empty { color:var(--fy-muted); text-align:center; padding:40px 16px; }
.fy-page { padding:24px; max-width:1680px; margin:0 auto; }
.fy-page-head { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.fy-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:22px 0; }
.fy-stat { position:relative; padding:22px 24px; min-height:114px; overflow:hidden; }
.fy-stat-label { color:#909399; font-size:13px; display:block; padding-right:45px; }
.fy-stat-number { color:#303133; font-size:30px; line-height:1.4; margin-top:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.fy-stat-icon { position:absolute; right:22px; top:24px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:#ecf5ff; color:#409eff; font-size:20px; }
.fy-stat-icon.amber { background:#fdf6ec; color:#e6a23c; }.fy-stat-icon.green { background:#f0f9eb; color:#67c23a; }.fy-stat-icon.cyan { background:#eaf8fa; color:#2bb3c0; }
.fy-tabs { display:flex; flex-wrap:wrap; gap:28px; margin:24px 0 20px; border-bottom:1px solid #dcdfe6; }
.fy-tabs button { position:relative; border:0; border-radius:0; background:transparent; padding:10px 0 14px; color:#606266; font-size:14px; }
.fy-tabs button:hover,.fy-tabs button.active { color:var(--fy-brand); }.fy-tabs button.active::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--fy-brand); }
.fy-table-wrap { overflow:auto; }.fy-table { width:100%; min-width:680px; border-collapse:collapse; }
.fy-table th { color:#606266; background:#f5f7fa; font-weight:500; font-size:13px; white-space:nowrap; }
.fy-table td,.fy-table th { padding:15px 16px; border-bottom:1px solid var(--fy-border); vertical-align:middle; }.fy-table td { font-size:13px; color:#606266; }.fy-table td strong { color:#303133; font-weight:500; }.fy-table td small { display:inline-block; color:#a0a6af; margin-top:5px; font-size:11px; }.fy-table tbody tr:hover { background:#fafcff; }
.fy-table button { border:1px solid #d9ecff; border-radius:4px; padding:6px 10px; background:#ecf5ff; color:#409eff; margin:2px; white-space:nowrap; }.fy-table button:hover { background:#409eff; color:#fff; border-color:#409eff; }.fy-table button.fy-danger { color:#f56c6c; border-color:#fde2e2; background:#fef0f0; }
.fy-error { border:1px solid #fde2e2; background:#fef0f0; color:#d94b4b; padding:14px; border-radius:6px; margin:16px 0; }
.fy-notice { color:var(--fy-muted); font-size:12px; margin:18px 0 0; line-height:1.8; }
.fy-filter { display:flex; flex-wrap:wrap; gap:12px; align-items:center; background:#fff; border:1px solid var(--fy-border); border-radius:8px; padding:18px 22px; margin:22px 0; }
.fy-filter label { font-weight:400; color:#606266; margin:0; }.fy-filter .form-control { width:auto; }.fy-filter-separator { color:#c0c4cc; }
.fy-section-copy { margin:8px 0 0; }.fy-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }.fy-toolbar label { font-weight:400; margin:0; }.fy-toolbar .form-control { width:auto; }.fy-toolbar .fy-search { width:220px; }
.fy-workbench-head { padding:22px 24px; margin:0; border:1px solid var(--fy-border); border-radius:8px; background:#fff; }.fy-workbench-head .fy-eyebrow { color:#409eff; }.fy-workbench-head .fy-subtitle .fa { margin-right:5px; }
.fy-refund-dialog { max-width:440px; width:90%; border:1px solid #dcdfe6; border-radius:8px; padding:28px; box-shadow:0 12px 60px #26344530; }.fy-refund-dialog::backdrop { background:#15243c66; }.fy-refund-dialog label { font-weight:400; display:block; }.fy-refund-dialog h2 { margin-bottom:22px; }
@media(max-width:1100px){.fy-page{padding:20px}.fy-grid{gap:14px}.fy-stat{padding:20px}.fy-stat-number{font-size:26px}.fy-page-head{flex-wrap:wrap}.fy-toolbar{width:100%}}
@media(max-width:760px){.fy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fy-stat-icon{right:14px}.fy-stat{padding:18px 14px}.fy-stat-label{font-size:12px}.fy-stat-number{font-size:24px}.fy-page{padding:14px}.fy-card{padding:16px}.fy-heading{font-size:21px}.fy-workbench-head{padding:18px}.fy-filter{padding:16px}.fy-filter .form-control{flex:1;min-width:130px}.fy-toolbar .fy-search{width:100%;flex:1;min-width:160px}.fy-tabs{gap:22px}.fy-tabs button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.feyta-console *, .feyta-console *::before,.feyta-console *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
