/* TacEcho performance studio: dark surfaces, blue actions, restrained Apex accents. */
:root { --bg-primary:#0d1118; --bg-secondary:#151c27; --bg-card:#151c27; --bg-card-hover:#1b2534; --bg-input:#101722; --text-heading:#f0f4fb; --text-primary:#d4dfed; --text-secondary:#9baac0; --text-tertiary:#8898b0; --border-default:#293447; --accent-primary:#6a9bff; --accent-primary-dark:#477be0; --accent-primary-light:#9bbcff; --border-accent:#6a9bff; --shadow-card:none; }
body { background:#0d1118; color:var(--text-primary); }
.navbar { background:#0b0f16f5; border-color:#242e3e; height:72px; }
.navbar__logo { color:#fff; font-weight:800; }
.navbar__logo span { color:#83abff; -webkit-text-fill-color:#83abff; }
.navbar__link.active { background:#213454; color:#a9c7ff; border-color:transparent; }
.navbar__link:hover { background:#1a2639; }
.locale-control { display:flex; align-items:center; gap:7px; height:44px; margin-left:auto; padding:5px 10px; border:1px solid #334158; border-radius:999px; background:rgba(20,30,44,.88); color:#d8e4f5; box-shadow:0 10px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05); }
.navbar__links + .locale-control { margin-left:22px; padding-left:10px; border-left:1px solid #334158; }
.theme-toggle,.locale-option { appearance:none; border:0; cursor:pointer; font:inherit; color:inherit; background:transparent; }
.theme-toggle { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#d9e5f5; transition:background .2s,color .2s,transform .2s; }
.theme-toggle:hover { background:#27374f; color:#fff; transform:rotate(18deg); }
.theme-toggle:focus-visible,.locale-option:focus-visible { outline:2px solid #83abff; outline-offset:2px; }
.locale-control__divider { width:1px; height:24px; margin:0 2px; background:#3a4a61; }
.locale-control__globe { display:grid; place-items:center; width:24px; height:24px; color:#e8eef8; }
.locale-option { padding:5px 5px; min-width:34px; font-size:15px; font-weight:700; letter-spacing:.01em; color:#a8b5c8; transition:color .2s,transform .2s; }
.locale-option:hover { color:#fff; transform:translateY(-1px); }
.locale-option.is-active { color:#fff; }
html[data-theme="light"] { --bg-primary:#f4f7fb; --bg-secondary:#fff; --bg-card:#fff; --bg-card-hover:#f7faff; --bg-input:#f1f5fa; --text-heading:#14213a; --text-primary:#26364d; --text-secondary:#68788e; --text-tertiary:#8a99ad; --border-default:#dbe4ef; --border-accent:#7fa6ec; --accent-primary:#4177d5; --accent-primary-dark:#2e5db3; --accent-primary-light:#8eb1f1; --shadow-card:0 10px 24px rgba(48,73,111,.08); }
html[data-theme="light"] body { background:#f4f7fb; color:var(--text-primary); }
html[data-theme="light"] .navbar { background:rgba(255,255,255,.88); border-color:#dbe4ef; }
html[data-theme="light"] .navbar__logo { color:#14213a; }
html[data-theme="light"] .navbar__logo span { color:#4177d5; -webkit-text-fill-color:#4177d5; }
html[data-theme="light"] .navbar__links { gap:10px; }
html[data-theme="light"] .navbar__link { color:#637893; border-color:transparent; border-radius:12px; font-weight:600; }
html[data-theme="light"] .navbar__link:hover { background:#f0f4fa; color:#294e87; }
html[data-theme="light"] .navbar__link.active { background:#243b63; color:#c8dcff; border-color:transparent; box-shadow:0 8px 18px rgba(36,59,99,.16); }
html[data-theme="light"] .navbar__link svg { stroke:currentColor; }
html[data-theme="light"] .locale-control { border-color:#d5dfeb; background:rgba(255,255,255,.9); color:#253650; box-shadow:0 8px 24px rgba(49,74,111,.12), inset 0 1px 0 #fff; }
html[data-theme="light"] .navbar__links + .locale-control { border-left-color:#d5dfeb; }
html[data-theme="light"] .theme-toggle:hover { background:#eaf1fb; color:#2d5eae; }
html[data-theme="light"] .locale-control__divider { background:#d5dfeb; }
html[data-theme="light"] .locale-control__globe { color:#324867; }
html[data-theme="light"] .locale-option { color:#7a899d; }
html[data-theme="light"] .locale-option:hover,html[data-theme="light"] .locale-option.is-active { color:#1e4f9e; }
html[data-theme="light"] .auth-intro h2 { color:#14213a; }
html[data-theme="light"] .auth-intro h2 span { color:#477bd7; }
html[data-theme="light"] .auth-intro > p { color:#68788e; }
html[data-theme="light"] .auth-intro__features span { border-color:#d5dfeb; color:#4c6380; }
html[data-theme="light"] .auth-panel__logo h1 { color:#14213a; -webkit-text-fill-color:#14213a; }
.main-content { padding-top:112px; }
.hud-title { color:#f0f4fb; font-weight:700; letter-spacing:-1px; }
.card,.task-card { background:#151c27; border-color:#293447; box-shadow:none; }
.card:hover,.task-card:hover { background:#17202d; border-color:#3b506f; box-shadow:none; }
.btn { border-radius:8px; }
.btn--primary,.studio-upload-cta { background:#82aaff; color:#0b1932; box-shadow:none; }
.btn--primary:hover:not(:disabled) { background:#a1bfff; color:#0b1932; }
.btn--ghost { background:#1b2534; border-color:#334158; color:#d2deef; }
.form-input { background:#0e1622; border-color:#344158; color:#edf3fd; }
.auth-panel__logo h1 { color:#fff; -webkit-text-fill-color:#fff; }
.auth-panel { max-width:430px; width:100%; }
.login-turnstile { min-height:65px; margin:14px 0 6px; display:flex; justify-content:center; align-items:center; }
.login-turnstile[hidden] { display:none; }
.login-turnstile__error { width:100%; padding:10px 12px; border:1px solid rgba(220,93,93,.35); border-radius:8px; color:#d76b6b; font-size:12px; text-align:center; }
.auth-page.active { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr); align-items:center; gap:80px; min-height:calc(100vh - 180px); }
.auth-intro { max-width:650px; }
.auth-intro h2 { font-size:clamp(36px,4.5vw,64px); line-height:1.2; letter-spacing:-2px; color:#f2f6fd; margin:20px 0; }
.auth-intro h2 span { color:#8eb3ff; }
.auth-intro > p { font-size:16px; line-height:1.9; color:#a2b1c7; max-width:480px; }
.auth-intro__label { font-size:11px; letter-spacing:3px; color:#eb9c85; }
.auth-intro__features { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.auth-intro__features span { padding:9px 13px; border:1px solid #344158; border-radius:6px; font-size:12px; color:#c5d4e9; }
.apex-hero { min-height:370px; border:1px solid #2b3c54; border-radius:14px; background:#141f30; }
.apex-hero__copy { padding:42px; }
.apex-hero h2 { font-size:clamp(30px,3.5vw,48px); font-weight:700; line-height:1.25; }
.apex-hero h2 span { color:#9cbdff; }
.apex-hero__tag { color:#edab95; }
.apex-focus span { border-color:#40526c; }
#upload-zone { background:#151f2e; border-color:#465e80; }
#upload-zone:hover,#upload-zone.dragover { background:#1b2a40; border-color:#91b5ff; }
.studio-workflow { gap:16px; }
.studio-workflow > div { padding:22px; border:1px solid #2c394c; border-radius:10px; background:#151c27; }
.studio-workflow > div:first-child { border-left-color:#ad715f; }
.studio-workflow h3 { font-size:16px; }
.studio-workflow p { font-size:13px; }
.task-card { border-left:3px solid #385880; }
#page-task-detail .task-context { background:#151e2b; border-color:#2d3c52; }
#page-task-detail .task-sidebar { background:transparent; }
#page-task-detail .task-cost-shortcuts button { background:#111a28; border-color:#304059; color:#adbed6; }
#page-task-detail .task-cost-shortcuts button:hover { background:#1a2940; border-color:#7097d4; }
#page-task-detail .task-cost-shortcuts strong { color:#bed3ff; }
#page-task-detail .task-view-tabs { background:#101823; border-color:#2a394e; }
#page-task-detail .task-view-tabs button { color:#99abc4; }
#page-task-detail .task-view-tabs button[aria-selected="true"] { background:#29436b; color:#e4eeff; box-shadow:none; }
#page-task-detail .segment-picker__item { background:#141e2d; border-color:#2e3d53; color:#cad8ec; }
#page-task-detail .segment-picker__item.is-selected { background:#294775; border-color:#7aa3eb; box-shadow:inset 0 0 0 1px #7aa3eb; }
#page-task-detail .segment-count { background:#192a43; color:#acbed8; }
#page-task-detail .segment-card { background:#151e2b; border-color:#2e3e55; }
#page-task-detail .segment-card__header { background:#192536; border-color:#304159; }
#page-task-detail .segment-number { background:#2b4367; color:#b9d0fa; }
#page-task-detail .segment-summary { background:#1a2940; border-color:#729bdc; color:#e0eafa; }
#page-task-detail .segment-advice { background:#141e2d; border-color:#304159; }
#page-task-detail .segment-event,#page-task-detail .segment-basis { border-color:#304159; }
#page-task-detail .segment-uncertainties { background:#302b24; border-color:#544834; }
.segment-time,.segment-play { background:#223859; color:#b5cfff; border-color:#385784; }
.segment-cost-summary { background:#141e2d; border-color:#304159; color:#a6b9d5; }
.task-cost__metric { background:#19283e; border-color:#304159; }
.task-cost table th,.task-cost table td { border-color:#304159; }
.segment-dialog { background:#152032; border-color:#3a4c68; color:#e7effc; }
.segment-dialog__header button { background:#2a3c58; color:#e7effc; }
.empty-state { color:#a3b3ca; }
@media(max-width:850px) { .auth-page.active { grid-template-columns:minmax(0,1fr); gap:30px; } .auth-intro { text-align:center; margin:auto; } .auth-intro h2 { font-size:36px; letter-spacing:-1px; } .auth-intro > p { margin:auto; } .auth-intro__features { justify-content:center; } .auth-panel { margin:auto; } }
@media(max-width:760px) { .apex-hero__copy { padding:26px; } .apex-hero h2 { font-size:30px; } .main-content { padding-top:96px; } .studio-workflow > div { padding:18px; } }
.auth-page.active { display:grid !important; }
@media(max-width:850px) { .auth-page { padding:12px 0; } .auth-intro,.auth-panel { min-width:0; } }
.ops-table-wrap { overflow:auto; border:1px solid var(--border-default); border-radius:10px; }
.ops-table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.ops-table th,.ops-table td { padding:14px 16px; border-bottom:1px solid var(--border-default); vertical-align:top; }
.ops-table th { color:var(--text-secondary); background:#192536; white-space:nowrap; }
.ops-table small { display:block; color:var(--text-secondary); margin-top:5px; }
.ops-detail { padding:24px; margin-top:24px; scroll-margin-top:90px; }
.ops-detail h4 { margin:20px 0 10px; }
.ops-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin:20px 0; }
.ops-metrics > div { padding:16px; background:#1b2a40; border-radius:10px; }
.ops-metrics strong,.ops-metrics small { display:block; margin-top:10px; overflow-wrap:anywhere; }
#ops-case-draft { margin-top:30px; }
#ops-case-draft .segment-advice { background:#1b2a40; border:1px solid #34445b; color:#d4dfed; padding:20px; }
#ops-case-draft .segment-advice h4 { margin-top:0; color:#eff4fc; }
#admin-sidebar { position:fixed; top:72px; bottom:0; left:0; width:220px; padding:28px 18px; background:#111925; border-right:1px solid #293447; overflow:auto; }
#admin-sidebar[hidden] { display:none; }
#admin-sidebar a { display:block; padding:11px 12px; color:#abbdd7; border-radius:8px; font-size:13px; text-decoration:none; }
#admin-sidebar a.active { background:#29436b; color:#fff; }
#admin-sidebar small { display:block; padding:24px 12px 8px; color:#7b8ea9; }
#admin-sidebar .admin-return { margin-top:32px; border-top:1px solid #293447; border-radius:0; }
.admin-mode .main-content { margin-left:220px; max-width:none; width:calc(100% - 220px); }
.knowledge-search { padding:24px; margin:28px 0; }
.knowledge-search textarea { margin:12px 0; resize:vertical; }
.knowledge-search > div { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.knowledge-search small { color:var(--text-secondary); }
.knowledge-hit { padding:24px; margin:16px 0; }
.knowledge-hit small { display:block; margin:10px 0; color:#97aed1; }
.knowledge-hit p { white-space:pre-wrap; line-height:1.85; }
@media(max-width:850px) { #admin-sidebar { position:static; width:auto; margin:88px 20px 0; border:1px solid #293447; border-radius:12px; padding:16px; } #admin-sidebar a { display:inline-block; } #admin-sidebar small { padding:10px; } #admin-sidebar .admin-return { margin-top:12px; } .admin-mode .main-content { margin-left:0; width:100%; padding-top:24px; } .knowledge-search > div { align-items:flex-start; flex-direction:column; } }
.admin-page-label { color:var(--text-secondary); font-size:12px; border-left:1px solid #344158; margin-left:20px; padding-left:20px; }
body.admin-mode .navbar { gap:14px; }
@media(max-width:600px) { .admin-page-label { display:none; } body.admin-mode .navbar { gap:8px; } body.admin-mode .navbar .btn { font-size:11px; padding:8px; } }

/* Light theme: keep every work surface on the same readable palette. */
html[data-theme="light"] .hud-title { color:#14213a; }
html[data-theme="light"] .card,html[data-theme="light"] .task-card { background:#fff; border-color:#dbe4ef; box-shadow:0 10px 24px rgba(48,73,111,.08); }
html[data-theme="light"] .card:hover,html[data-theme="light"] .task-card:hover { background:#fff; border-color:#a9c4eb; box-shadow:0 12px 28px rgba(48,73,111,.12); }
html[data-theme="light"] .btn--ghost { background:#fff; border-color:#cbd8e8; color:#355071; }
html[data-theme="light"] .btn--ghost:hover:not(:disabled) { background:#f2f6fc; border-color:#7fa6ec; color:#2e5db3; }
html[data-theme="light"] .form-input { background:#fff; border-color:#cbd8e8; color:#26364d; }
html[data-theme="light"] .form-input:focus { background:#fff; border-color:#6c9ce8; box-shadow:0 0 0 3px rgba(65,119,213,.14); }
html[data-theme="light"] .auth-panel__logo h1 { color:#14213a; -webkit-text-fill-color:#14213a; }
html[data-theme="light"] .auth-panel .card { background:#fff; border-color:#dbe4ef; }
html[data-theme="light"] .auth-tab { color:#718198; }
html[data-theme="light"] .auth-tab.active { color:#2e5db3; border-bottom-color:#6c9ce8; }
html[data-theme="light"] .auth-divider::before,html[data-theme="light"] .auth-divider::after { background:#dbe4ef; }
html[data-theme="light"] .auth-divider__text { color:#7a899d; }
html[data-theme="light"] .form-input__toggle { color:#718198; }
html[data-theme="light"] .apex-hero { border-color:#cbd8e8; background:#fff; }
html[data-theme="light"] .apex-hero h2 { color:#14213a; }
html[data-theme="light"] .apex-hero h2 span { color:#477bd7; }
html[data-theme="light"] .apex-hero p { color:#68788e; }
html[data-theme="light"] .apex-hero__tag { color:#b16d60; }
html[data-theme="light"] .apex-focus span { border-color:#cbd8e8; color:#4c6380; background:#f7faff; }
html[data-theme="light"] #upload-zone { background:#fff; border-color:#9fbce7; }
html[data-theme="light"] #upload-zone:hover,html[data-theme="light"] #upload-zone.dragover { background:#f1f6ff; border-color:#5f91e5; }
html[data-theme="light"] .studio-workflow > div { border-color:#dbe4ef; background:#fff; }
html[data-theme="light"] .task-card { border-left-color:#7fa6ec; }
html[data-theme="light"] #page-task-detail .task-context { background:linear-gradient(115deg,#eef4ff 0%,#fff 65%); border-color:#cbd8e8; }
html[data-theme="light"] #page-task-detail .task-cost-shortcuts button { background:#fff; border-color:#dbe4ef; color:#4c6380; }
html[data-theme="light"] #page-task-detail .task-cost-shortcuts button:hover { background:#f7faff; border-color:#91b5f0; }
html[data-theme="light"] #page-task-detail .task-cost-shortcuts strong { color:#1e4f9e; }
html[data-theme="light"] #page-task-detail .task-view-tabs { background:#eef3f9; border-color:#dbe4ef; }
html[data-theme="light"] #page-task-detail .task-view-tabs button { color:#68788e; }
html[data-theme="light"] #page-task-detail .task-view-tabs button[aria-selected="true"] { background:#dbe9ff; color:#1e4f9e; }
html[data-theme="light"] #page-task-detail .segment-picker__item { background:#fff; border-color:#dbe4ef; color:#405975; }
html[data-theme="light"] #page-task-detail .segment-picker__item.is-selected { background:#e5efff; border-color:#7aa3eb; box-shadow:inset 0 0 0 1px #7aa3eb; }
html[data-theme="light"] #page-task-detail .segment-count { background:#e7f0ff; color:#41638e; }
html[data-theme="light"] #page-task-detail .segment-card { background:#fff; border-color:#dbe4ef; }
html[data-theme="light"] #page-task-detail .segment-card__header { background:#f1f5fa; border-color:#dbe4ef; }
html[data-theme="light"] #page-task-detail .segment-number { background:#e2edff; color:#315b9f; }
html[data-theme="light"] #page-task-detail .segment-summary { background:#eef5ff; border-color:#a9c4eb; color:#324d70; }
html[data-theme="light"] #page-task-detail .segment-advice { background:#fff; border-color:#dbe4ef; }
html[data-theme="light"] #page-task-detail .segment-event,html[data-theme="light"] #page-task-detail .segment-basis { border-color:#dbe4ef; }
html[data-theme="light"] #page-task-detail .segment-uncertainties { background:#fff9ee; border-color:#ead7a9; color:#725b2c; }
html[data-theme="light"] .segment-time,html[data-theme="light"] .segment-play { background:#edf4ff; color:#315b9f; border-color:#aac5ec; }
html[data-theme="light"] .segment-cost-summary { background:#f5f8fc; border-color:#dbe4ef; color:#5d718c; }
html[data-theme="light"] .task-cost__metric { background:#f1f5fa; border-color:#dbe4ef; }
html[data-theme="light"] .task-cost table th,html[data-theme="light"] .task-cost table td { border-color:#dbe4ef; }
html[data-theme="light"] .segment-dialog { background:#fff; border-color:#cbd8e8; color:#26364d; }
html[data-theme="light"] .segment-dialog__header button { background:#eef3f9; color:#405975; }
html[data-theme="light"] .empty-state { color:#718198; }
html[data-theme="light"] .ops-table-wrap { border-color:#dbe4ef; }
html[data-theme="light"] .ops-table th { background:#eef3f9; color:#536982; }
html[data-theme="light"] .ops-table td { color:#405975; }
html[data-theme="light"] .ops-metrics > div { background:#eef4ff; }
html[data-theme="light"] #ops-case-draft .segment-advice { background:#f5f8fc; border-color:#dbe4ef; color:#405975; }
html[data-theme="light"] #ops-case-draft .segment-advice h4 { color:#26364d; }
html[data-theme="light"] #admin-sidebar { background:#fff; border-color:#dbe4ef; }
html[data-theme="light"] #admin-sidebar a { color:#536982; }
html[data-theme="light"] #admin-sidebar a.active { background:#e1edff; color:#1e4f9e; }
html[data-theme="light"] #admin-sidebar small { color:#8191a6; }
html[data-theme="light"] .admin-page-label { border-left-color:#dbe4ef; color:#68788e; }
html[data-theme="light"] .knowledge-hit small { color:#55749d; }

/* 只调整登录表单内部，外层 Apex 宣传区和注册页保持原布局。 */
#form-login .form-group { margin-bottom:20px; }
#form-login .form-label { color:#f0f1f4; font-size:15px; font-weight:700; }
#form-login .form-input {
  height:54px;
  border-radius:10px;
  background:#1d1e22;
  border-color:#42454d;
  color:#f2f3f5;
  font-size:16px;
}
#form-login .form-input::placeholder { color:#858992; }
#form-login .form-input:focus { border-color:#7e8794; box-shadow:0 0 0 3px rgba(139,151,171,.16); }
#form-login .form-input-wrap { position:relative; }
#form-login .form-input-wrap .form-input { padding-right:120px; }
#form-login .form-input__toggle { right:88px; color:#8d929c; }
#form-login .auth-forgot {
  position:absolute;
  top:50%;
  right:14px;
  transform:translateY(-50%);
  border:0;
  padding:4px 0;
  color:#b6bac2;
  background:transparent;
  font:inherit;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
#form-login .auth-forgot:hover { color:#fff; }
#form-login .auth-submit {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height:56px;
  border-radius:10px;
  background:#7a808b;
  color:#fff;
  font-size:17px;
  font-weight:700;
  box-shadow:none;
}
#form-login .auth-submit:hover:not(:disabled) { background:#8a919d; color:#fff; box-shadow:none; transform:none; }
#form-login .auth-submit__arrow { font-size:25px; line-height:1; font-weight:400; }
#form-login .auth-divider { margin:22px 0; }
#form-login .auth-divider__text { font-size:15px; }
#form-login .login-turnstile { margin:18px auto 0; }
#form-login .btn--github {
  height:54px;
  border:1px solid #45474e;
  border-radius:10px;
  background:#1d1e22;
  color:#f1f2f4;
  font-size:15px;
  font-weight:700;
}
#form-login .btn--github:hover:not(:disabled) { background:#25262b; border-color:#5a5e68; transform:none; }
#form-login .auth-register-hint { margin-top:20px; color:#90949d; text-align:center; font-size:14px; }
#form-login .auth-switch-link {
  display:inline;
  min-height:0;
  padding:0;
  border:0;
  border-bottom:1px solid currentColor;
  color:#c6cbd4;
  background:transparent;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
#form-login .auth-switch-link:hover { color:#fff; }
html[data-theme="light"] #form-login .form-label { color:#26364d; }
html[data-theme="light"] #form-login .form-input { background:#fff; border-color:#cbd4e0; color:#26364d; }
html[data-theme="light"] #form-login .form-input::placeholder { color:#909baa; }
html[data-theme="light"] #form-login .auth-forgot { color:#617089; }
html[data-theme="light"] #form-login .auth-forgot:hover { color:#2e5db3; }
html[data-theme="light"] #form-login .auth-submit { background:#6f7887; color:#fff; }
html[data-theme="light"] #form-login .auth-submit:hover:not(:disabled) { background:#606b7c; }
html[data-theme="light"] #form-login .btn--github { background:#fff; border-color:#cbd4e0; color:#26364d; }
html[data-theme="light"] #form-login .btn--github .btn__text { color:#26364d; }
html[data-theme="light"] #form-login .btn--github:hover:not(:disabled) { background:#f5f8fc; border-color:#9eacc0; }
html[data-theme="light"] #form-login .auth-register-hint { color:#7a8798; }
html[data-theme="light"] #form-login .auth-switch-link { color:#415a7d; }
