/* Direction 03 operations presentation. Original markup, permissions, hidden
   states, chart rendering and service handlers remain authoritative. */
body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) {
  --ops-bg: #e9edf3; --ops-paper: #f4f6f9; --ops-chrome: #edf1f6;
  --ops-ink: #202638; --ops-muted: #535d70; --ops-line: #d4dbe6;
  --ops-accent: #6656a6; --ops-tint: #e5e0f2;
  --ops-left: max(16px, env(safe-area-inset-left));
  --ops-right: max(16px, env(safe-area-inset-right));
  display: flow-root; margin: 0; background: var(--ops-bg); color: var(--ops-ink); color-scheme: light;
  font-family: "Microsoft YaHei UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 16px; line-height: 1.75;
}
body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) > main {
  box-sizing: border-box; width: calc(100% - 2 * clamp(24px, 2vw, 36px)); max-width: none;
  margin: 24px auto 0; padding: 0 0 48px;
}
body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) :is(button, input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  font-family: inherit; min-height: 44px;
}
body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--ops-accent); outline-offset: 3px;
}
body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) main > header {
  margin: 0 0 28px; padding: 0 0 24px; border-bottom: 1px solid var(--ops-line);
  align-items: flex-start; gap: 24px;
}
body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) main > header h1 {
  margin: 5px 0 0; color: var(--ops-ink); font: 750 34px/1.4 "Microsoft YaHei UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  letter-spacing: -.02em; overflow-wrap: anywhere;
}
body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) main > header :is(.subtitle, .page-description) {
  max-width: 56em; font-size: 16px; line-height: 1.8; color: var(--ops-muted);
}
body[data-studio-full="true"][data-studio-page="admin"] {
  --paper: var(--ops-bg); --card: var(--ops-paper); --ink: var(--ops-ink);
  --muted: var(--ops-muted); --line: var(--ops-line); --shadow: none;
}
body[data-studio-full="true"][data-studio-page="admin"] :is(.kicker, .eyebrow, .section-kicker) {
  font-family: inherit; color: var(--ops-muted); font-size: 13px; letter-spacing: 0; font-weight: 500;
}
body[data-studio-full="true"][data-studio-page="admin"] main > header :is(a, .nav a, .links a, .actions a),
body[data-studio-full="true"][data-studio-page="admin"] .back-link {
  display: inline-flex; align-items: center; min-height: 44px; color: var(--ops-accent);
  padding: 8px 0; border: 0; border-radius: 0; font-size: 14px; font-weight: 500;
}
body[data-studio-full="true"][data-studio-page="admin"] main > header :is(nav, .links, .actions) { gap: 8px 20px; }
body[data-studio-full="true"][data-studio-page="admin"] main > h2,
body[data-studio-full="true"][data-studio-page="admin"] .panel > h2,
body[data-studio-full="true"][data-studio-page="admin"] .section-heading h2 { font-family: inherit; font-size: 23px; line-height: 1.5; }
body[data-studio-full="true"][data-studio-page="admin"] :is(.toolbar, .panel, .user, .channel-card, .referral-board) {
  border-color: var(--ops-line); border-radius: 12px; background: var(--ops-paper); box-shadow: none;
}
body[data-studio-full="true"][data-studio-page="admin"] main.wrap > .empty {
  border: 0; border-top: 1px solid var(--ops-line); border-radius: 0;
  padding: 28px 0; color: var(--ops-muted); background: transparent;
}
body[data-studio-full="true"][data-studio-page="admin"] .toolbar { padding: 20px; gap: 12px; flex-wrap: wrap; }
body[data-studio-full="true"][data-studio-page="admin"] .toolbar :is(input, select) {
  background: var(--ops-paper); color: var(--ops-ink); font-size: 16px; border-color: #8d97a7;
}
body[data-studio-full="true"][data-studio-page="admin"] .toolbar button { background: var(--ops-accent); font-size: 15px; }
body[data-studio-full="true"][data-studio-page="admin"] :is(.stat, .summary .card) {
  border: 0; border-radius: 0; padding: 20px 16px; background: transparent; box-shadow: none;
  border-bottom: 1px solid var(--ops-line); min-width: 0;
}
body[data-studio-full="true"][data-studio-page="admin"] :is(.stat strong, .summary .card strong) {
  font-family: inherit; color: var(--ops-accent); font-size: 30px; font-weight: 650; overflow-wrap: anywhere;
}
body[data-studio-full="true"][data-studio-page="admin"] :is(.stat span, .summary .card span, .summary .card small, .toolbar label) { font-size: 14px; }
body[data-studio-full="true"][data-studio-page="admin"] :is(.subtitle, .panel-copy, .note, .definition, .privacy, #status) { font-size: 14px; line-height: 1.8; }
body[data-studio-full="true"][data-studio-page="admin"] :is(.note, .definition) { border-radius: 0; }
body[data-studio-full="true"][data-studio-page="admin"] .table-wrap {
  min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain;
}
body[data-studio-full="true"][data-studio-page="admin"] .table-wrap table { min-width: 620px; font-size: 14px; }
body[data-studio-full="true"][data-studio-page="admin"] .table-wrap :is(th, td) { padding: 14px 12px; border-color: var(--ops-line); }
body[data-studio-full="true"][data-studio-page="admin"] .table-wrap th { font-size: 14px; }
body[data-studio-full="true"][data-studio-page="admin"] .step { padding: 18px; border-radius: 6px; }
body[data-studio-full="true"][data-studio-page="admin"] .step :is(span, small, b) { font-size: 14px; }
body[data-studio-full="true"][data-studio-page="admin"] .bar { min-width: 38px; }
body[data-studio-full="true"][data-studio-page="admin"] .bar :is(b, small) { font-size: 12px; }

/* User details: scan the identity, then activity, then separate account actions.
   Success/expired/wrong/danger colours remain the original semantic colours. */
body[data-studio-full="true"][data-studio-page="admin"] .user { margin-top: 20px; }
body[data-studio-full="true"][data-studio-page="admin"] .user-main { padding: 24px; }
body[data-studio-full="true"][data-studio-page="admin"] .identity strong { font-size: 17px; }
body[data-studio-full="true"][data-studio-page="admin"] :is(.meta, .last-use, .account-actions .label) { font-size: 13px; line-height: 1.75; overflow-wrap: anywhere; }
body[data-studio-full="true"][data-studio-page="admin"] .badge { font-size: 12px; white-space: normal; }
body[data-studio-full="true"][data-studio-page="admin"] .metric { padding: 12px 0; border-radius: 0; background: transparent; }
body[data-studio-full="true"][data-studio-page="admin"] .metric span { font-size: 13px; }
body[data-studio-full="true"][data-studio-page="admin"] .metric :is(strong, code) { font-size: 15px; line-height: 1.7; }
body[data-studio-full="true"][data-studio-page="admin"] .action { min-height: 44px; font-size: 14px; padding: 10px 12px; }
body[data-studio-full="true"][data-studio-page="admin"] .account-actions { gap: 8px; padding: 18px 24px; background: var(--ops-chrome); }
body[data-studio-full="true"][data-studio-page="admin"] .date { min-width: 150px; font-size: 16px; background: var(--ops-paper); }
body[data-studio-full="true"][data-studio-page="admin"] .detail { padding: 24px; background: var(--ops-paper); }
body[data-studio-full="true"][data-studio-page="admin"] .detail-panel { border: 0; border-radius: 0; padding: 0 12px 0 0; background: transparent; }
body[data-studio-full="true"][data-studio-page="admin"] .detail-panel h3 { font-size: 17px; }
body[data-studio-full="true"][data-studio-page="admin"] :is(.detail-panel > p, .timeline-row small, .lesson-row b, .complete, .training-record summary strong, .training-record summary span, .answer b, .answer p) { font-size: 14px; line-height: 1.75; }
body[data-studio-full="true"][data-studio-page="admin"] .timeline-row :is(strong, code) { font-size: 14px; }
body[data-studio-full="true"][data-studio-page="admin"] .timeline-row { padding: 14px 0; border-bottom: 1px solid var(--ops-line); border-radius: 0; background: transparent; }
body[data-studio-full="true"][data-studio-page="admin"] .training-record { border: 0; border-bottom: 1px solid var(--ops-line); border-radius: 0; background: transparent; }
body[data-studio-full="true"][data-studio-page="admin"] .training-record summary { min-height: 48px; padding: 12px 0; }
body[data-studio-full="true"][data-studio-page="admin"] .referral-board h2 { font-family: inherit; font-size: 22px; font-weight: 650; line-height: 1.5; }
body[data-studio-full="true"][data-studio-page="admin"] .referral-group-head { margin: 0; padding: 16px; }
body[data-studio-full="true"][data-studio-page="admin"] :is(.referral-board-head p, .referral-group-head small, .referral-group-total, .referral-member strong, .referral-member small, .referral-state) { font-size: 13px; line-height: 1.7; }
body[data-studio-full="true"][data-studio-page="admin"] .referral-member { min-width: 0; }
body[data-studio-full="true"][data-studio-page="admin"] .referral-state { white-space: normal; }
body[data-studio-full="true"][data-studio-page="admin"] main.wrap > article {
  padding: 24px; border-color: var(--ops-line); border-radius: 10px; background: var(--ops-paper);
}
body[data-studio-full="true"][data-studio-page="admin"] main.wrap > article p { font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }

/* Announcement editing only. #preview keeps the original user-facing card
   styles so the preview continues to show what the shared card renderer makes. */
body[data-studio-full="true"][data-studio-page="admin"] #editor :is(input, select, textarea) { font-size: 16px; color: var(--ops-ink); }
body[data-studio-full="true"][data-studio-page="admin"] #editor .edit-card { padding: 24px; border-color: var(--ops-line); border-radius: 12px; background: var(--ops-paper); }
body[data-studio-full="true"][data-studio-page="admin"] #editor button { min-height: 44px; }
body[data-studio-full="true"][data-studio-page="admin"] #editor :is(#save, #add) { background: var(--ops-accent); }
body[data-studio-full="true"][data-studio-page="admin"] .summary-strip { border-radius: 0; gap: 24px; background: var(--ops-chrome); }
body[data-studio-full="true"][data-studio-page="admin"] .summary-strip span { font-size: 14px; }
body[data-studio-full="true"][data-studio-page="admin"] :is(#stages, #courses, #feedback) :is(p, small) { font-size: 14px; line-height: 1.8; }

/* Notification state colours and the actual QR image are deliberately left
   untouched. Only surrounding reading and controls adopt the shared spacing. */
body[data-studio-full="true"][data-studio-page="admin"] :is(.channel-title p, .fact-row dt, .checked-fact dd, .qr-caption, .time-note) { font-size: 13px; line-height: 1.75; }
body[data-studio-full="true"][data-studio-page="admin"] .fact-row dd { font-size: 15px; line-height: 1.75; }
body[data-studio-full="true"][data-studio-page="admin"] .channel-heading { margin: 0; }
body[data-studio-full="true"][data-studio-page="admin"] .qr-panel { padding: 28px; }
body[data-studio-full="true"][data-studio-page="admin"] .disclosure-panel { padding: 0 24px; }

/* Signal Center: soft 03 chrome with the unchanged dark chart canvas. State
   colours keep green / red / amber meanings, paired with legible light fills. */
body[data-studio-full="true"][data-studio-page="signals"] {
  --bg: var(--ops-bg); --panel: var(--ops-paper); --raised: var(--ops-chrome);
  --text: var(--ops-ink); --muted: var(--ops-muted); --quiet: var(--ops-muted); --line: var(--ops-line);
  --good: #23694e; --bad: #933e4a; --warn: #7c5d1d; --accent: var(--ops-accent);
}
body[data-studio-full="true"][data-studio-page="signals"] .brand-mark { background: #293247; }
body[data-studio-full="true"][data-studio-page="signals"] .brand-mark svg { stroke: #d9dff0; }
body[data-studio-full="true"][data-studio-page="signals"] :is(.back-link, .access-label, .header-tools, .refresh-button) { font-size: 14px; }
body[data-studio-full="true"][data-studio-page="signals"] .section-nav { flex-wrap: wrap; gap: 8px 24px; margin: 0 0 24px; padding: 0; }
body[data-studio-full="true"][data-studio-page="signals"] .section-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ops-accent); }
body[data-studio-full="true"][data-studio-page="signals"] .section-nav > span { font-size: 13px; }
body[data-studio-full="true"][data-studio-page="signals"] .panel { border-radius: 12px; padding: 28px; }
body[data-studio-full="true"][data-studio-page="signals"] .section-heading h2 { font-size: 23px; }
body[data-studio-full="true"][data-studio-page="signals"] :is(.section-heading p, .snapshot-meta, .runtime-banner, .health-cell p, .matrix-cell, .matrix-cell small, .event-row, .event-row time, .event-row .event-description small, .quote-meta, .quote-secondary, .count-label) { font-size: 14px; line-height: 1.75; }
body[data-studio-full="true"][data-studio-page="signals"] .runtime-banner { background: #ede8dd; }
body[data-studio-full="true"][data-studio-page="signals"] .runtime-banner[data-tone="good"] { background: #dde9df; }
body[data-studio-full="true"][data-studio-page="signals"] .status { color: var(--muted); background: #e3e8ee; font-size: 13px; }
body[data-studio-full="true"][data-studio-page="signals"] .tone-good { color: var(--good); background: #dde9df; }
body[data-studio-full="true"][data-studio-page="signals"] .tone-bad { color: var(--bad); background: #efdee2; }
body[data-studio-full="true"][data-studio-page="signals"] .tone-warn { color: var(--warn); background: #ede8dd; }
body[data-studio-full="true"][data-studio-page="signals"] .tone-muted { color: var(--muted); background: #e3e8ee; }
body[data-studio-full="true"][data-studio-page="signals"] .stale-display .status:not(.tone-bad) { color: var(--warn); background: #ede8dd; }
body[data-studio-full="true"][data-studio-page="signals"] .health-grid { border: 0; border-radius: 0; }
body[data-studio-full="true"][data-studio-page="signals"] .health-cell { padding: 20px 16px; }
body[data-studio-full="true"][data-studio-page="signals"] summary { min-height: 48px; font-size: 16px; }
body[data-studio-full="true"][data-studio-page="signals"] summary > span { font-size: 14px; }
body[data-studio-full="true"][data-studio-page="signals"] .health-matrix { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
body[data-studio-full="true"][data-studio-page="signals"] button:hover { background: var(--ops-tint); }
body[data-studio-full="true"][data-studio-page="signals"] .market-controls button { font-size: 14px; }
body[data-studio-full="true"][data-studio-page="signals"] .market-controls button[aria-pressed="true"] { color: #51418c; background: var(--ops-tint); border-color: var(--ops-accent); }
body[data-studio-full="true"][data-studio-page="signals"] .chart-card { background: #0f1923; border: 0; border-radius: 8px; }
body[data-studio-full="true"][data-studio-page="signals"] .signal-filters :is(label, button) { font-size: 14px; }
body[data-studio-full="true"][data-studio-page="signals"] .signal-card { background: var(--ops-paper); padding: 24px; border-radius: 8px; }
body[data-studio-full="true"][data-studio-page="signals"] .signal-thesis { font-size: 16px; line-height: 1.85; }
body[data-studio-full="true"][data-studio-page="signals"] :is(.signal-dates, .signal-heading .signal-time, .signal-result, .lifecycle-step, .lifecycle-step strong, .lifecycle-step time, .detail-field, .strategy-contract-grid dt, .strategy-contract-meta, .analysis-stage-list, footer) { font-size: 14px; line-height: 1.75; }
body[data-studio-full="true"][data-studio-page="signals"] :is(.strategy-contract-grid dd, .strategy-contract-reference, .strategy-cost-note, .pa-view-section h3, .pa-view-section > p, .pa-view-facts dd, .pa-view-evidence, .pa-view-summary p) { font-size: 15px; line-height: 1.85; }
body[data-studio-full="true"][data-studio-page="signals"] :is(.pa-view-facts dt, .pa-view-heading time, .pa-view-original, .pa-view-details > summary, .pa-analysis-details > summary) { font-size: 14px; line-height: 1.8; }
body[data-studio-full="true"][data-studio-page="signals"] .pa-view-panel { padding: 28px; border-radius: 12px; background: var(--ops-paper); }
body[data-studio-full="true"][data-studio-page="signals"] .pa-view-heading h2 { font-size: 23px; }
body[data-studio-full="true"][data-studio-page="signals"] .pa-view-section { padding: 18px 0; border: 0; border-radius: 0; background: transparent; }
body[data-studio-full="true"][data-studio-page="signals"] .empty-state { background: var(--ops-chrome); color: var(--ops-muted); border-style: solid; font-size: 15px; }

@media screen and (max-width: 780px) {
  body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) { background: var(--ops-paper); }
  body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) > main {
    width: 100%; margin: 0; padding: max(24px, env(safe-area-inset-top)) var(--ops-right) max(40px, env(safe-area-inset-bottom)) var(--ops-left);
  }
  body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) main > header { flex-direction: column; gap: 16px; margin-bottom: 20px; padding-bottom: 20px; }
  body[data-studio-full="true"]:is([data-studio-page="admin"], [data-studio-page="signals"]) main > header h1 { font-size: 28px; }
  body[data-studio-full="true"][data-studio-page="admin"] :is(.summary, .funnel) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px 16px; }
  body[data-studio-full="true"][data-studio-page="admin"] :is(.stat, .summary .card) { padding: 16px 0; }
  body[data-studio-full="true"][data-studio-page="admin"] .summary .card strong { font-size: 26px; }
  body[data-studio-full="true"][data-studio-page="admin"] :is(.toolbar, .panel, .channel-card, .user, .referral-board, .edit-card) {
    border: 0; border-radius: 0; box-shadow: none; background: transparent;
  }
  body[data-studio-full="true"][data-studio-page="admin"] .toolbar { padding: 16px 0; }
  body[data-studio-full="true"][data-studio-page="admin"] form.toolbar { grid-template-columns: minmax(0, 1fr); }
  body[data-studio-full="true"][data-studio-page="admin"] .panel { padding: 24px 0; border-top: 1px solid var(--ops-line); }
  body[data-studio-full="true"][data-studio-page="admin"] .user { margin-top: 24px; border-top: 1px solid var(--ops-line); }
  body[data-studio-full="true"][data-studio-page="admin"] .user-main { padding: 24px 0 16px; }
  body[data-studio-full="true"][data-studio-page="admin"] .metrics { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body[data-studio-full="true"][data-studio-page="admin"] .metric { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; padding: 8px 0; }
  body[data-studio-full="true"][data-studio-page="admin"] .metric strong { margin-top: 0; }
  body[data-studio-full="true"][data-studio-page="admin"] .account-actions { padding: 16px 0; background: transparent; }
  body[data-studio-full="true"][data-studio-page="admin"] .account-actions .label { width: 100%; }
  body[data-studio-full="true"][data-studio-page="admin"] .detail { padding: 20px 0; background: transparent; }
  body[data-studio-full="true"][data-studio-page="admin"] .detail-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body[data-studio-full="true"][data-studio-page="admin"] .detail-panel.training { grid-column: auto; }
  body[data-studio-full="true"][data-studio-page="admin"] .detail-panel { padding: 0; }
  body[data-studio-full="true"][data-studio-page="admin"] .timeline { max-height: 480px; }
  body[data-studio-full="true"][data-studio-page="admin"] .referral-board { padding: 24px 0; border-top: 1px solid var(--ops-line); }
  body[data-studio-full="true"][data-studio-page="admin"] .referral-group { border: 0; border-bottom: 1px solid var(--ops-line); border-radius: 0; }
  body[data-studio-full="true"][data-studio-page="admin"] .referral-group-head { padding: 16px 0; background: transparent; }
  body[data-studio-full="true"][data-studio-page="admin"] .referral-members { grid-template-columns: minmax(0, 1fr) !important; padding: 0 0 16px; }
  body[data-studio-full="true"][data-studio-page="admin"] .referral-member { padding: 10px 0; border-radius: 0; background: transparent; }
  body[data-studio-full="true"][data-studio-page="admin"] main.wrap > article { padding: 24px 0; border: 0; border-top: 1px solid var(--ops-line); border-radius: 0; background: transparent; }
  body[data-studio-full="true"][data-studio-page="admin"] #editor .edit-card { padding: 24px 0; border: 0; border-top: 1px solid var(--ops-line); border-radius: 0; background: transparent; }
  body[data-studio-full="true"][data-studio-page="admin"] .channel-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body[data-studio-full="true"][data-studio-page="admin"] .channel-card { padding: 24px 0; border-bottom: 1px solid var(--ops-line); }
  body[data-studio-full="true"][data-studio-page="admin"] .channel-card:last-child { grid-column: auto; }
  body[data-studio-full="true"][data-studio-page="admin"] .channel-card:last-child .channel-facts { grid-template-columns: minmax(0, 1fr); }
  body[data-studio-full="true"][data-studio-page="admin"] .qr-panel { grid-template-columns: minmax(0, 1fr); padding: 24px 0; }
  body[data-studio-full="true"][data-studio-page="admin"] .disclosure-panel { padding: 0; }
  body[data-studio-full="true"][data-studio-page="admin"] .cards { grid-template-columns: minmax(0, 1fr); }
  body[data-studio-full="true"][data-studio-page="admin"] .cards .card { padding: 20px 0; border: 0; border-bottom: 1px solid var(--ops-line); border-radius: 0; background: transparent; }
  body[data-studio-full="true"][data-studio-page="signals"] .header-tools { justify-content: flex-start; }
  body[data-studio-full="true"][data-studio-page="signals"] .header-tools .access-label { display: inline; }
  body[data-studio-full="true"][data-studio-page="signals"] .section-nav { gap: 8px 20px; }
  body[data-studio-full="true"][data-studio-page="signals"] :is(.panel, .pa-view-panel) { margin-block: 24px; padding: 24px 0; border: 0; border-top: 1px solid var(--ops-line); border-radius: 0; }
  body[data-studio-full="true"][data-studio-page="signals"] :is(.section-heading h2, .pa-view-heading h2) { font-size: 22px; }
  body[data-studio-full="true"][data-studio-page="signals"] .health-grid { grid-template-columns: minmax(0, 1fr); margin-top: 16px; }
  body[data-studio-full="true"][data-studio-page="signals"] .health-cell { padding: 16px 0; border: 0; border-bottom: 1px solid var(--ops-line); }
  body[data-studio-full="true"][data-studio-page="signals"] .health-cell-head { font-size: 15px; }
  body[data-studio-full="true"][data-studio-page="signals"] .health-cell-head .status { margin-left: auto; }
  body[data-studio-full="true"][data-studio-page="signals"] .health-matrix { grid-template-columns: 100px repeat(5, 145px); }
  body[data-studio-full="true"][data-studio-page="signals"] .matrix-cell { padding: 12px 8px; }
  body[data-studio-full="true"][data-studio-page="signals"] .matrix-cell :is(.status, small) { font-size: 13px; }
  body[data-studio-full="true"][data-studio-page="signals"] .signal-card { padding: 22px 0 22px 12px; border: 0; border-left: 3px solid var(--quiet); border-bottom: 1px solid var(--ops-line); border-radius: 0; }
  body[data-studio-full="true"][data-studio-page="signals"] .signal-card[data-direction="LONG"] { border-left-color: var(--good); }
  body[data-studio-full="true"][data-studio-page="signals"] .signal-card[data-direction="SHORT"] { border-left-color: var(--bad); }
  body[data-studio-full="true"][data-studio-page="signals"] :is(.signal-detail-grid, .strategy-contract-grid, .pa-view-grid) { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body[data-studio-full="true"][data-studio-page="signals"] .strategy-contract-panel { padding: 18px 0; border: 0; border-top: 1px solid var(--ops-line); border-radius: 0; }
  body[data-studio-full="true"][data-studio-page="signals"] .pa-view-section { padding: 4px 0 20px; border-bottom: 1px solid var(--ops-line); }
  body[data-studio-full="true"][data-studio-page="signals"] .chart-card { border-radius: 0; height: 52dvh; min-height: 300px; }
  body[data-studio-full="true"][data-studio-page="signals"] .signal-filters { gap: 12px; }
  body[data-studio-full="true"][data-studio-page="signals"] .signal-filters :is(select, input) { font-size: 16px; }
}
@media screen and (max-width: 360px) {
  body[data-studio-full="true"][data-studio-page="admin"] .funnel { grid-template-columns: minmax(0, 1fr) !important; }
  body[data-studio-full="true"][data-studio-page="signals"] .signal-filters { grid-template-columns: minmax(0, 1fr); }
}
