/* Greentown · light-filled navigation; solid surfaces for records and maps. */
:root {
  --market-ui: "Microsoft YaHei", "微软雅黑", "PingFang SC", system-ui, sans-serif;
  --market-heading: KaiTi, "楷体", "Kaiti SC", STKaiti, var(--market-ui);
  --market-glass: linear-gradient(145deg, #ffffffb8, transparent 48%), #eff6f1cb;
  --market-rim: 1px solid rgb(44 94 70 / 14%);
  --market-depth: inset 0 1px #ffffffc9, 0 8px 22px -14px #1f533b45;
  --market-focus: #09674f;
}
html body, body :is(button, input, select, textarea) { font-family: var(--market-ui); }
.login-page .login-story h1, .login-page .login-form h2, .app-shell .daily-brief h1 {
  font-family: var(--market-heading);
  font-weight: 500;
  letter-spacing: .035em;
  line-height: 1.48;
  text-wrap: balance;
}
.login-page .login-story {
  background: radial-gradient(ellipse at 3% 8%, #3e725a, transparent 53%),
    linear-gradient(151deg, #163f34 6%, #133c32 62%, #092a24);
}
.login-page .login-story::after {
  top: 48%; left: 32%; border-color: #ddc79844;
  width: 80%; height: 100%; transform: rotate(-28deg);
  box-shadow: 0 0 0 28px #30634522, 0 0 0 29px #ddc79821, 0 0 0 74px #30634522, 0 0 0 75px #ddc79824;
  pointer-events: none;
}
.login-page .login-form-wrap {
  background: radial-gradient(ellipse at 87% 0, #dae8da, transparent 52%),
    radial-gradient(ellipse at 15% 94%, #eee9d9, transparent 48%), #f6f9f6;
  padding-inline: clamp(16px, 4vw, 60px);
}
.login-page .login-form {
  box-sizing: border-box; max-width: 428px;
  padding: clamp(24px, 4vw, 39px); border-radius: 24px;
  border: var(--market-rim); box-shadow: var(--market-depth); background: #fbfdfb;
}
.login-page .login-form > p, .login-page .login-foot, .login-page .login-note { color: #526a60; }
.app-shell .main-shell {
  background: radial-gradient(ellipse at top right, #e6eee7 0, transparent 590px), #f4f7f5;
}
.app-shell .sidebar { background: radial-gradient(ellipse at 12% 0, #2e6450, transparent 55%), #133d33; }
.app-shell .sidebar nav button.active {
  background: linear-gradient(116deg, #46765e, #2c5848); color: #fff;
  box-shadow: inset 0 1px #b8d9b633;
}
.app-shell .daily-brief {
  background: radial-gradient(ellipse at top right, #e1ecdc, transparent 55%), linear-gradient(120deg, #f9f6e8, #f5f8ef 65%);
  border-color: #d7e4d7; border-radius: 20px;
}
.app-shell :is(.mobile-assistant, .assistant-card) {
  background: radial-gradient(ellipse at top right, #32654e 0%, transparent 57%), #123d32;
  border-radius: 18px; box-shadow: inset 0 1px #bad3ba36, 0 10px 26px -18px #0f34294d;
}
.app-shell .quick-actions button,
.app-shell .topbar-actions :is(.icon-button, .view-toggle) {
  color: #1c5541;
  background: #f7faf6; border: var(--market-rim);
  border-radius: 14px; box-shadow: var(--market-depth);
}
.app-shell .topbar-actions :is(.icon-button, .view-toggle) { min-width: 44px; min-height: 44px; }
.app-shell .strategy-mode-switch,
.app-shell .topbar, .integration-toolbar, .integration-nav,
.app-shell .bottom-nav { background: #f4f8f4; border-color: #dce7df; }
.app-shell .strategy-mode-switch { box-shadow: var(--market-depth); }
.app-shell .bottom-nav .center-tab > svg {
  background: radial-gradient(ellipse at 28% 20%, #578b70, #235441 52%, #10372d 100%);
  color: #fff0d3; border-color: #eaf2ea;
  box-shadow: inset 1px 2px 3px #eaf6c94a, 0 5px 13px #244d3c33;
}
.app-shell .bottom-nav button, .card-glass-nav button { min-height: 44px; }
.app-shell .panel { border-radius: 16px; border-color: #dce7df; }
.app-shell .kpi strong { font-variant-numeric: tabular-nums; }
body :is(button, a, input, select, textarea):focus-visible { outline: 2px solid var(--market-focus); outline-offset: 2px; }
.app-shell .sidebar :focus-visible { outline-color: #e8d39f; }
@supports ((backdrop-filter: blur(4px)) or (-webkit-backdrop-filter: blur(4px))) {
  .login-page .login-form, .app-shell .topbar, .app-shell .bottom-nav,
  .integration-toolbar, .integration-nav, .app-shell .strategy-mode-switch,
  .app-shell .quick-actions button, .app-shell .topbar-actions :is(.icon-button, .view-toggle) {
    background: var(--market-glass);
    -webkit-backdrop-filter: blur(5px) saturate(120%); backdrop-filter: blur(5px) saturate(120%);
  }
}
@media (max-width: 540px) {
  .login-page .login-form { border-radius: 22px; }
  .app-shell.mobile-shell .topbar { background: #f4f7f4d9; }
}
@media (prefers-reduced-transparency: reduce) {
  .login-page .login-form, .app-shell .topbar, .app-shell .bottom-nav,
  .integration-toolbar, .integration-nav, .app-shell .strategy-mode-switch,
  .app-shell .quick-actions button, .app-shell .topbar-actions :is(.icon-button, .view-toggle) {
    background: #f7faf7; -webkit-backdrop-filter: none; backdrop-filter: none;
  }
}
