/* 199love dark brand system — simple strokes, controlled contrast, no soft dashboard chrome. */
:root {
  --navy:#111720;
  --deep:#0c1118;
  --paper:#171d27;
  --white:#222a37;
  --mist:#1d2632;
  --line:#4b5564;
  --muted:#c0c6d0;
  --ink:#fffdf7;
  --jade:#f7f3ea;
  --jade-soft:#26303d;
  --red:#ed9189;
  --red-soft:#3a2024;
  --amber:#efd092;
  --amber-soft:#39301d;
  --shadow:none;
}

body { background:#171d27; color:var(--ink); }
button,input { font-family:Inter,"PingFang SC","Microsoft Yahei",system-ui,sans-serif; }
button:focus-visible,input:focus-visible { outline:1px solid #f3f0e9; outline-offset:3px; }
.sidebar { color:#f2eee6; background:#111720; border-right:1px solid #4b5564; }
.brand { display:grid; gap:1px; padding:0 7px; }.brand span { display:block; }.brand small { margin:0; color:#c0c6d0; font-size:8px; letter-spacing:.16em; }.brand-logo { position:relative; display:block; width:164px; overflow:visible; background:#111720; }.brand-logo img { display:block; width:100%; max-width:none; height:auto; }
.sidebar-note { color:#c0c6d0; }.sidebar-foot { border-top-color:#4b5564; }.pilot-chip { color:#efd092; }.sidebar-foot small,.reset-button { color:#b9c0cb; }
.nav-item { color:#c8ced7; border-radius:3px; }.nav-item:hover { color:#fffdf7; background:#202835; }.nav-item.active { color:#fffdf7; background:#26303d; box-shadow:inset 1px 0 #fffdf7; }.nav-item.active i,.nav-item i { color:inherit; }
.main { background:#171d27; }.topbar { border-bottom-color:#4b5564; background:rgba(17,23,32,.96); }.topbar p,.kicker { color:#c0c6d0; }.help-button,.line-button,.text-action { color:#f2eee6; }.profile-button { border:1px solid #6c7787; border-radius:3px; color:#fffdf7; background:transparent; }
.page-head h1,.card-title h2,.event-card h2,.policy-card h2 { color:#fffdf7; font-family:Inter,"PingFang SC","Microsoft Yahei",system-ui,sans-serif; font-weight:500; letter-spacing:-.025em; }.page-head p,.quiet,.policy-list span { color:#c4cad3; }
.metric-card,.card,.stat-strip,.notice-card,.event-card { color:#f3f0e8; border-color:#4b5564; border-radius:4px; background:#222a37; box-shadow:none; }.metric-card span,.metric-card p,.city-list span,.compact-row span,.risk-row small,.table-row small { color:#c0c6d0; }.metric-card em,.live-dot,.text-action,.city-label { color:#f2eee6; }
.primary-button { color:#111720; border-color:#f7f3ea; border-radius:3px; background:#f7f3ea; box-shadow:none; }.primary-button:hover { color:#111720; background:#fffdf6; }.line-button { border-color:#657080; border-radius:3px; background:transparent; }.line-button:hover { color:#fffdf7; border-color:#fffdf7; }.line-button.danger { color:#ffd0cb; border-color:#9e5b55; background:#3a2024; }
.journey-node { color:#a3a6ad; }.journey-node b { color:#dfdbd2; border-color:#4b515b; border-radius:50%; background:#0d1016; }.journey-node.filled b,.journey-node.active b { color:#0d1016; border-color:#f0ece2; background:#f0ece2; box-shadow:none; }.journey i,.city-list i,.event-progress { background:#303641; }.city-list i::after,.event-progress i { background:#e8e4da; }
.avatar { color:#e9e5db; border:1px solid #3d444f; background:#1b2028; }.compact-row,.risk-row,.policy-list div { border-bottom-color:#2b3039; }.money-flow div,.rank-list div,.rule-grid article { color:#ddd9d1; border:1px solid #303641; border-radius:3px; background:#171c24; }.money-flow div:last-child { background:#211d15; }.money-flow span,.rule-grid span,.rank-list span { color:#a3a7ae; }.rule-grid b,.rank-list b,.policy-list b { color:#f0ece2; }
.table-toolbar,.table-row { border-bottom-color:#2b3039; }.table-head { color:#a3a7ad; background:#10141b; }.segmented button { color:#9fa3ab; }.segmented button.active { color:#111419; border-radius:2px; background:#f0ece2; }.search { color:#a4a8af; }.search input { color:#f1ede5; border-color:#39404b; border-radius:3px; background:#0d1016; }
.check,.chip { color:#e6e2d9; border:1px solid #3a414b; border-radius:2px; background:#1a2028; }.chip.amber { color:#f0cf90; background:#272115; }.chip.red { color:#ffc4be; background:#2a181a; }.risk-level { color:#ffc3bd; border:1px solid #824943; border-radius:2px; background:#281719; }.risk-level.medium { color:#f1d293; border-color:#735f36; background:#272115; }.notice-card { color:#afb2b8; }.notice-card b { color:#f0ece2; }
.event-date { color:#0d1016; background:#e6e2d9; }.event-date span { color:#3f4246; }.event-card p { color:#a4a7ae; }
.staging-callout { color:#e3c78d; border-color:#735f36; border-radius:3px; background:#272115; }.staging-callout b { color:#f1d293; }
#toast { color:#f1ede6; border:1px solid #404752; border-radius:3px; background:#171c24; box-shadow:none; }

/* Dim-room contrast pass for the operations console. */
.journey-node { color:#c3c9d2; }.journey-node b { color:#f2eee6; border-color:#657080; background:#171d27; }.journey-node.filled b,.journey-node.active b { color:#111720; border-color:#fffdf7; background:#fffdf7; }
.journey i,.city-list i,.event-progress { background:#4b5564; }.city-list i::after,.event-progress i { background:#f2eee6; }
.avatar { color:#fffdf7; border-color:#657080; background:#26303d; }
.compact-row,.risk-row,.policy-list div,.table-toolbar,.table-row { border-bottom-color:#4b5564; }
.money-flow div,.rank-list div,.rule-grid article { color:#f0ede5; border-color:#4c5665; background:#1d2632; }.money-flow div:last-child { background:#39301d; }.money-flow span,.rule-grid span,.rank-list span { color:#c2c8d1; }.rule-grid b,.rank-list b,.policy-list b { color:#fffdf7; }
.table-head { color:#c9cfd8; background:#1b222d; }.segmented button { color:#c2c8d1; }.segmented button.active { color:#111720; background:#fffdf7; }.search { color:#c4cad3; }.search input { color:#fffdf7; border-color:#596474; background:#171d27; }
.check,.chip { color:#f1ede5; border-color:#4c5665; background:#26303d; }.chip.amber { color:#ffdc9d; background:#39301d; }.chip.red { color:#ffd0cb; background:#3a2024; }.risk-level { color:#ffd0cb; border-color:#9e5b55; background:#3a2024; }.risk-level.medium { color:#ffdc9d; border-color:#8b7442; background:#39301d; }.notice-card { color:#c6ccd5; }.notice-card b { color:#fffdf7; }
.event-date { color:#111720; background:#f2eee6; }.event-date span { color:#404650; }.event-card p { color:#c2c8d1; }
.staging-callout { color:#f2d79e; border-color:#8b7442; background:#39301d; }.staging-callout b { color:#ffdc9d; }
#toast { color:#fffdf7; border-color:#596474; background:#222a37; }

@media (max-width:760px) { .sidebar { border-right:0; border-bottom:1px solid #2b3039; }.brand-logo { width:142px; height:44px; } }
