/* Lei Seca · compact J workspace.
   Presentation only. Keep literal PDF incidence swatches, answer feedback,
   inline chart values and personal reading typography unchanged. */
.sg-internal-shell :is(.sg-law-home, .sg-law-catalog, .law-app) {
  --blue: var(--sg-link);
  --navy: var(--sg-ink);
  --muted: var(--sg-muted);
  --line: var(--sg-line);
  --lc-blue: var(--sg-link);
  --lc-navy: var(--sg-ink);
  --lc-muted: var(--sg-muted);
  --lc-line: var(--sg-line);
  min-height: 0;
  background: var(--sg-bg);
  color: var(--sg-ink);
  font: 14px/1.55 var(--sg-font-family, Arial, Helvetica, sans-serif);
}
.sg-internal-shell :is(.lh-header, .lc-header, .law-top) {
  min-height: 60px;
  height: auto;
  padding: 10px 24px;
  gap: 18px;
  background: var(--sg-surface);
  color: var(--sg-ink);
  border-bottom: 1px solid var(--sg-line);
}
.sg-internal-shell :is(.lh-header, .lc-header, .law-top) a { color: var(--sg-link); }
.sg-internal-shell :is(.lh-header, .lc-header, .law-top) :is(.lh-brand, .lc-brand, .law-brand) { color: var(--sg-ink); }
.sg-internal-shell :is(.lh-product, .lc-product) { padding-left: 18px; color: var(--sg-muted); border-color: var(--sg-line); }
.sg-internal-shell :is(.lh-dashboard, .lc-main, .law-main, .sg-law-space, .ls-corpus, .ls-reading-library, .ls-main) {
  width: 100%;
  max-width: 1280px;
  min-width: 0;
  margin-inline: auto;
  padding: 24px 28px 40px;
  color: var(--sg-ink);
}
.sg-internal-shell .sg-law-map .law-main { max-width: 1480px; padding: 24px 28px 40px; }
.sg-internal-shell :is(.lh-intro, .lc-intro) { margin-bottom: 22px; }
.sg-internal-shell :is(.lh-intro, .lc-intro, .law-heading, .ls-heading, .ls-header, .sg-map-title) h1,
.sg-internal-shell .sg-law-space > h1 {
  color: var(--sg-ink);
  font-size: clamp(24px, 2.2vw, 28px);
  font-weight: 700;
  letter-spacing: -.5px;
  line-height: 1.25;
  margin: 6px 0 10px;
}
.sg-internal-shell :is(.lh-intro h1 span, .ls-heading h1 span) { color: var(--sg-link); }
.sg-internal-shell :is(.lh-intro > p:first-child, .lh-kicker, .lc-eyebrow, .law-eyebrow, .sg-law-kicker, .ls-eyebrow) {
  color: var(--sg-link);
  font-size: 10px !important;
  letter-spacing: .8px !important;
  font-weight: 700;
}
.sg-internal-shell :is(.lh-intro p, .lc-intro p, .law-heading > p) {
  font-size: 14px;
  color: var(--sg-muted);
  line-height: 1.65;
}
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog, .ls-reading-library, .ls-corpus) a {
  text-underline-offset: 3px;
}
.sg-internal-shell .law-app a { color: var(--sg-link); }
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog, .ls-reading-library, .ls-corpus)
:is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  background: var(--sg-surface);
  color: var(--sg-ink);
  border-color: var(--sg-field-border, var(--sg-line));
  border-radius: var(--sg-control-radius);
  min-width: 0;
  max-width: 100%;
  accent-color: var(--sg-link);
}
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) :is(input[type=checkbox], input[type=radio], progress) { accent-color: var(--sg-link); }
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) input::placeholder { color: var(--sg-muted); opacity: 1; }
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) button:not(.law-cell) {
  color: var(--sg-link);
  border-color: var(--sg-field-border, var(--sg-line));
  border-radius: var(--sg-control-radius);
  box-shadow: none;
}
.sg-internal-shell :is(.law-app, .sg-law-catalog) :is(button:not(.law-cell), summary) { min-height: 44px; }
.sg-internal-shell .law-app button:where(:not(.law-cell, .rx2-bar, .rx-bar-row, .rx2-apply, .law-primary)) { background-color: var(--sg-surface); }
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) button:not(.law-cell):hover:not(:disabled) { border-color: var(--sg-link); box-shadow: none; }
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) :is(button:disabled, input:disabled, select:disabled, textarea:disabled) { cursor: not-allowed; opacity: .55; }
.sg-internal-shell .law-app button[aria-pressed=true]:not(.law-cell),
.sg-internal-shell .sg-training-progress button[aria-pressed=true] {
  color: var(--sg-link);
  background: var(--sg-soft);
  border-color: var(--sg-link);
}
.sg-internal-shell :is(.law-primary, .lh-primary, .sg-law-catalog .lc-primary, .rx2-apply) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px !important;
  border: 1px solid var(--sg-primary-border, #983805) !important;
  border-radius: var(--sg-control-radius) !important;
  background: var(--sg-primary-gradient) !important;
  color: var(--sg-primary-text, #fff) !important;
  box-shadow: none;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) :is(button, a):is(.law-primary, .lh-primary, .lc-primary, .rx2-apply):hover:not(:disabled) { opacity: 1; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--sg-primary-text, #fff) 35%, transparent); }
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog, .ls-reading-library, .ls-corpus)
:is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--sg-accent);
  outline-offset: 3px;
}
.sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) summary { min-height: 44px; }
.sg-internal-shell :is(.sg-law-nav, .ls-tabs, .sg-law-subtabs) {
  gap: 4px;
  margin: 18px 0 22px;
  padding: 0;
  border-bottom: 1px solid var(--sg-line);
  overflow-x: auto;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}
.sg-internal-shell :is(.sg-law-nav a, .ls-tabs button, .sg-law-subtabs a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 13px;
  margin: 0;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: var(--sg-control-radius) var(--sg-control-radius) 0 0;
  background: transparent;
  color: var(--sg-muted);
  white-space: nowrap;
  font-size: 13px;
  text-decoration: none;
}
.sg-internal-shell :is(.sg-law-nav a[aria-current=page], .sg-law-subtabs a[aria-current=page]),
.sg-internal-shell .ls-study .ls-tabs button[aria-pressed=true] {
  border-bottom-color: var(--sg-accent);
  color: var(--sg-link);
  background: var(--sg-soft);
  font-weight: 700;
}
.sg-internal-shell :is(.sg-law-nav a, .sg-law-subtabs a):hover { background: var(--sg-soft); color: var(--sg-link); }

/* Hub: the six existing tools retain their destinations in the approved halo. */
.sg-internal-shell .lh-tools-only { max-width: 1160px; padding-top: 24px; }
.sg-internal-shell .lh-tools-only .lh-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 8px 0 0; }
.sg-internal-shell .lh-tools-only .lh-tools > a {
  min-height: 132px;
  padding: 20px;
  border: 1.1px solid var(--sg-tool-border, #315c8c);
  border-radius: var(--sg-card-radius);
  background: var(--sg-halo);
  color: #fff;
  box-shadow: var(--sg-tool-shadow, 0 4px 0 #d4dfec);
}
.sg-internal-shell .lh-tools-only .lh-tools > a:hover { border-color: #a8d2ff; background: var(--sg-halo); box-shadow: var(--sg-tool-shadow, 0 4px 0 #d4dfec); }
.sg-internal-shell .lh-tools-only .lh-tools strong { font-size: 17px; font-weight: 650; line-height: 1.35; }
.sg-internal-shell .lh-tools-only .lh-tools small { font-size: 13px; line-height: 1.55; color: var(--sg-tool-description, #dee9f6); }
.sg-internal-shell .lh-tools-only .lh-symbol,
.sg-internal-shell .lh-tools-only .lh-tools > a:nth-child(4) .lh-symbol {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  margin-bottom: 12px;
  border: 1.2px solid var(--sg-icon-border);
  border-radius: 13px;
  background: var(--sg-icon-bg);
  color: #a8d2ff;
}
.sg-internal-shell .lh-symbol img { display: block; width: 32px; height: 32px; object-fit: contain; }
.sg-internal-shell :is(.lh-symbol, .lc-card-icon) svg > :last-child { stroke: #ffba7c; }
.sg-internal-shell .lh-arrow { color: #e4f0ff; top: 25px; opacity: 1; }

/* Catalog tree: careers, subjects, editions, law results and disclosures. */
.sg-internal-shell .lc-breadcrumb { margin-bottom: 18px; color: var(--sg-muted); }
.sg-internal-shell :is(.lc-resume, .lc-career-card, .lc-subject-card, .lc-law-card, .lc-empty, .lc-all-card) {
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-card-radius);
  background: var(--sg-surface);
  color: var(--sg-ink);
  box-shadow: none;
}
.sg-internal-shell .lc-resume { padding: 16px 18px; margin-bottom: 20px; border-left: 3px solid var(--sg-accent); background: var(--sg-soft); }
.sg-internal-shell :is(.lc-resume-icon, .lc-card-icon, .lc-subject-icon, .lc-law-icon) {
  border-radius: var(--sg-control-radius);
  color: var(--sg-link);
  background: var(--sg-soft);
}
.sg-internal-shell .lc-careers { gap: 14px; }
.sg-internal-shell .lc-career-card { min-height: 148px; padding: 20px 18px; gap: 16px; background: var(--sg-halo); color: #fff; border-color: var(--sg-tool-border, #315c8c); box-shadow: var(--sg-tool-shadow, 0 4px 0 #d4dfec); }
.sg-internal-shell .lc-career-card strong { font-size: 16px; }
.sg-internal-shell .lc-card-icon { width: 48px; height: 48px; border: 1.2px solid var(--sg-icon-border); border-radius: 13px; background: var(--sg-icon-bg); color: #a8d2ff; }
.sg-internal-shell .lc-card-arrow { top: 31px; color: #e4f0ff; }
.sg-internal-shell .lc-all-card { padding: 20px 18px; background: var(--sg-soft); color: var(--sg-link) !important; }
.sg-internal-shell :is(.lc-career-card, .lc-subject-card, .lc-all-card):hover { transform: none; border-color: var(--sg-link); background: var(--sg-soft); box-shadow: none; }
.sg-internal-shell .lc-career-card:hover { background: var(--sg-halo); color: #fff; border-color: #a8d2ff; box-shadow: var(--sg-tool-shadow, 0 4px 0 #d4dfec); }
.sg-internal-shell .lc-tabs { padding: 4px; background: var(--sg-soft); border-radius: var(--sg-control-radius); }
.sg-internal-shell .lc-tabs a { border-radius: 4px; font-size: 13px; color: var(--sg-muted); }
.sg-internal-shell .lc-tabs a[aria-current] { color: var(--sg-link); background: var(--sg-surface); box-shadow: none; }
.sg-internal-shell .lc-search { margin-bottom: 22px; border: 1px solid var(--sg-field-border, var(--sg-line)); border-radius: var(--sg-control-radius); background: var(--sg-surface); color: var(--sg-link); box-shadow: none; }
.sg-internal-shell .lc-search input { background: transparent; min-height: 44px; }
.sg-internal-shell :is(.lc-search, .lh-search):focus-within { outline: 3px solid var(--sg-accent); outline-offset: 2px; }
.sg-internal-shell .lc-subject-card { min-height: 84px; padding: 16px 18px; }
.sg-internal-shell .lc-law-link { padding: 16px 18px; min-height: 78px; }
.sg-internal-shell .lc-law-link:hover { background: var(--sg-soft); }
.sg-internal-shell .lc-law-source { padding-left: 74px; }
.sg-internal-shell .lc-empty { padding: 28px 22px; }
.sg-internal-shell .lc-empty h2 { color: var(--sg-ink); font-size: 20px; }
.sg-internal-shell :is(.lc-resume span, .lc-resume small, .lc-law-source, .lc-disclosure, .lc-edition, .lc-loading, .lc-law-label small, .lc-subject-card small, .lc-list-heading > span) { color: var(--sg-muted); }
.sg-internal-shell .lc-resume a { color: var(--sg-link); }
.sg-internal-shell .lc-disclosure button { background: var(--sg-surface); color: var(--sg-link); border-color: var(--sg-line); border-radius: var(--sg-control-radius); }
.sg-internal-shell .lc-footer { border-color: var(--sg-line); margin-top: 26px; }

/* Shared law selectors, saved views and reading entry. */
.sg-internal-shell :is(.ls-scope-bar, .law-card, .law-empty, .ls-workspace, .sg-review-training) {
  background: var(--sg-surface);
  color: var(--sg-ink);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-card-radius);
  box-shadow: none;
}
.sg-internal-shell .law-card { padding: 20px; margin-top: 18px; }
.sg-internal-shell .ls-scope-bar { padding: 12px 16px; margin: 16px 0 22px; }
.sg-internal-shell .ls-scope-bar summary { color: var(--sg-ink); }
.sg-internal-shell .ls-scope-bar button { border-radius: var(--sg-control-radius); margin: 5px 8px 5px 0; }
.sg-internal-shell .ls-law-picker { color: var(--sg-ink); }
.sg-internal-shell .ls-law-picker :is(.ls-law-picker-trigger, .ls-law-picker-panel, .ls-law-picker-actions button, .ls-law-picker-options button) {
  background: var(--sg-surface);
  color: var(--sg-ink);
  border-color: var(--sg-line);
  box-shadow: none;
}
.sg-internal-shell .ls-law-picker .ls-law-picker-panel { border-radius: var(--sg-control-radius); }
.sg-internal-shell .ls-law-picker .ls-law-picker-trigger { border-color: var(--sg-field-border, var(--sg-line)); }
.sg-internal-shell .ls-law-picker .ls-law-picker-options { border-color: var(--sg-line); }
.sg-internal-shell .ls-law-picker .ls-law-picker-options button.is-active { background: var(--sg-soft); }
.sg-internal-shell .ls-law-picker .ls-law-picker-options button[aria-selected=true] { background: var(--sg-soft); box-shadow: inset 3px 0 var(--sg-accent); }
.sg-internal-shell .ls-law-picker :is(.ls-law-picker-coverage, .ls-law-picker-hint, .ls-law-picker-count, .ls-law-picker-options small) { color: var(--sg-muted); }
.sg-internal-shell :is(.ls-reading-resume, .ls-reading-results > a, .ls-scope-bar, .ls-list > article, .ls-list > div, .ls-list > details, .ls-plan-day) { border-color: var(--sg-line); }
.sg-internal-shell .ls-reading-results > a { padding: 14px 16px; border: 1px solid var(--sg-line); border-radius: var(--sg-control-radius); background: var(--sg-surface); }
.sg-internal-shell .ls-reading-results > a:hover { border-color: var(--sg-link); }
.sg-internal-shell .ls-reading-results :is(span, .ls-result-context) { color: var(--sg-muted); }
.sg-internal-shell .ls-reading-results small { color: var(--sg-link); }
.sg-internal-shell .ls-reading-results .ls-result-kind { color: var(--sg-warning); }
.sg-internal-shell :is(.ls-reading-resume p, .ls-reading-library .ls-header p) { color: var(--sg-muted); }
.sg-internal-shell :is(.law-private, .law-save-status, .law-grouped, .sg-progress-count) { color: var(--sg-ink); background: var(--sg-soft); border-color: var(--sg-line); }
.sg-internal-shell .law-private { font-size: 12px; border-radius: 5px; }

/* Map chrome only: no incidence swatch or numeric grid cell recoloring. */
.sg-internal-shell .sg-map-title h1 { font-weight: 700; }
.sg-internal-shell .sg-map-controls { padding: 16px; gap: 14px; background: var(--sg-surface); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius); }
.sg-internal-shell :is(.sg-map-controls label, .map-index-fields label, .map-settings-row label) { color: var(--sg-muted); }
.sg-internal-shell .sg-map-legend { padding: 16px 0 10px; }
.sg-internal-shell .sg-map-legend button { border-color: var(--sg-line); border-radius: var(--sg-control-radius); }
.sg-internal-shell .sg-law-map .map-index { border-color: var(--sg-line); border-radius: var(--sg-card-radius); background: var(--sg-surface); }
.sg-internal-shell .sg-law-map .law-grid { background: var(--sg-line); border-color: var(--sg-line); }
.sg-internal-shell .sg-law-map .law-cell { color: #0a1518; }
.sg-internal-shell .sg-law-map .law-cell:is(:hover, .map-selected-cell) { outline-color: #102e4d; }
.sg-internal-shell .sg-law-map .law-cell:focus-visible { outline: 3px solid #102e4d; outline-offset: -4px; box-shadow: inset 0 0 0 5px #fff; }
.sg-internal-shell .map-panel-wrap { top: 18px; background: var(--sg-surface); color: var(--sg-ink); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius); }
.sg-internal-shell .sg-law-map .map-reader { padding: 20px; box-shadow: none; border-color: var(--sg-line); }
.sg-internal-shell .map-panel-wrap > .map-index-article-path { padding: 12px 16px; margin: 0; }
.sg-internal-shell .map-reader-header h2 { color: var(--sg-ink); font-size: 24px; }
.sg-internal-shell :is(.map-layer, .map-group-choice, .map-device-navigation, .map-reader-header, .sg-training-source) { border-color: var(--sg-line); }
.sg-internal-shell :is(.map-layer summary, .map-reading-settings summary) { color: var(--sg-ink); }
.sg-internal-shell :is(.map-legal-text, .law-literal, .ls-literal, .ls-note-text) { color: var(--sg-ink); }
.sg-internal-shell :is(.map-caption-row, .map-keyboard-help, .map-source-caption, .map-save-status, .map-provenance, .map-device-navigation span, .map-device-priority small,
  .sg-map-legend > span, .sg-law-map .map-index summary span, .sg-law-map .map-index-source, .sg-law-map .map-index-training p, .sg-law-map .map-index-article-path) { color: var(--sg-muted); }

/* Reading, training, saved passages, schedule and performance. */
.sg-internal-shell :is(.ls-small, .ls-muted, .ls-save, .ls-limits, .ls-article-title, .law-fine, .law-pending, .ls-scope-availability, .sg-progress-help summary) { color: var(--sg-muted); }
.sg-internal-shell :is(.ls-disclosure, .ls-study fieldset, .ls-reader, .ls-reader-pagination) { border-color: var(--sg-line); }
.sg-internal-shell :is(.ls-disclosure summary, .ls-limits summary, .ls-corpus summary) { color: var(--sg-ink); }
.sg-internal-shell .ls-reader { padding-inline: 24px; }
.sg-internal-shell .ls-article-list small { color: var(--sg-muted); }
.sg-internal-shell .ls-study .ls-article-list > button { background: transparent; border-left-color: transparent; }
.sg-internal-shell .ls-study .ls-article-list > button[aria-pressed=true],
.sg-internal-shell .ls-corpus .ls-article-link.selected { background: var(--sg-soft); border-left-color: var(--sg-accent); color: var(--sg-link); }
.sg-internal-shell .ls-study .ls-chips button { padding: 7px 12px; border: 1px solid var(--sg-line); border-radius: var(--sg-control-radius); background: var(--sg-surface); font-size: 13px; }
.sg-internal-shell .ls-study .ls-chips button[aria-pressed=true] { background: var(--sg-soft); border-color: var(--sg-link); color: var(--sg-link); }
.sg-internal-shell .ls-options label { min-height: 44px; align-items: center; }
.sg-internal-shell .sg-training-config { max-width: 920px; margin: 22px auto; padding: 20px; background: var(--sg-surface); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius); }
.sg-internal-shell .sg-training-config h2 { font-size: 21px; margin: 0 0 8px; }
.sg-internal-shell .sg-training-config fieldset { border-color: var(--sg-line); padding: 16px 0; }
.sg-internal-shell .sg-training-stage { max-width: 920px; margin: 22px auto; padding: 22px; background: var(--sg-surface); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius); }
.sg-internal-shell .sg-training-stage h2 { font-size: 22px; }
.sg-internal-shell .sg-training-scope { padding: 12px 14px; color: var(--sg-muted); border-radius: var(--sg-control-radius); background: var(--sg-soft); }
.sg-internal-shell .sg-review-training { padding: 18px 20px; border-left: 3px solid var(--sg-accent); }
.sg-internal-shell .ls-columns { gap: 20px; }
.sg-internal-shell .ls-columns > .ls-tool { max-width: none; margin: 0; padding: 20px; background: var(--sg-surface); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius); }
.sg-internal-shell .ls-tool h2 { font-size: 21px; color: var(--sg-ink); }
.sg-internal-shell .sg-law-space > .ls-tool { margin-top: 20px; padding: 20px; border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius); background: var(--sg-surface); }
.sg-internal-shell .ls-list > article { padding: 18px; margin: 12px 0; background: var(--sg-surface); border: 1px solid var(--sg-line); border-radius: var(--sg-card-radius); }
.sg-internal-shell .ls-list .ls-section-heading h2 { margin-top: 0; }
.sg-internal-shell .ls-saved-mark blockquote { border-color: var(--sg-link); }
.sg-internal-shell .ls-feedback { background: var(--sg-soft); color: var(--sg-ink); }
.sg-internal-shell .ls-correct { border-color: var(--sg-success); }
.sg-internal-shell .ls-incorrect { border-color: var(--sg-danger); }
.sg-internal-shell .ls-mark-emphasis { color: #142f50; }
.sg-internal-shell :is(.ls-skip:focus, .lc-skip) { background: var(--sg-surface); color: var(--sg-link); border-color: var(--sg-accent); }

/* Raio-X: primary and advanced facets, drawer, applied chips and drill-down. */
.sg-internal-shell :is(.rx-dashboard, .rx2) { --rx-blue: var(--sg-link); color: var(--sg-ink); }
.sg-internal-shell :is(.rx2-desktop-filters, .rx2-panel, .rx2-options, .rx-chart, .rx-records, .law-dialog) {
  background: var(--sg-surface);
  color: var(--sg-ink);
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-card-radius);
  box-shadow: none;
}
.sg-internal-shell .rx2-desktop-filters { padding: 16px; }
.sg-internal-shell .rx2-primary { gap: 10px; }
.sg-internal-shell .rx2-select > summary { min-height: 62px; padding: 10px 28px 10px 12px; border-color: var(--sg-field-border, var(--sg-line)); border-radius: var(--sg-control-radius); background: var(--sg-surface); }
.sg-internal-shell .rx2-select > summary span { color: var(--sg-muted); }
.sg-internal-shell .rx2-select[open] > summary { border-color: var(--sg-link); }
.sg-internal-shell .rx2-options { top: 68px; padding: 12px; box-shadow: 0 8px 24px #00142926; }
.sg-internal-shell .rx2 .rx2-search { background: var(--sg-surface); color: var(--sg-muted); border-color: var(--sg-line); border-radius: var(--sg-control-radius); }
.sg-internal-shell .rx2 .rx2-search input { background: transparent; color: var(--sg-ink); }
.sg-internal-shell .rx2 .rx2-options > button { background: var(--sg-soft); color: var(--sg-link); border-radius: var(--sg-control-radius); }
.sg-internal-shell .rx2-options-scroll label:hover { background: var(--sg-soft); border-radius: 4px; }
.sg-internal-shell .rx2 .rx2-more { color: var(--sg-link); }
.sg-internal-shell .rx2-advanced { border-color: var(--sg-line); gap: 12px; }
.sg-internal-shell :is(.rx2-interval, .rx2-hint, .rx2-breadcrumb, .rx2-panel p, .rx2-base, .rx2-method, .rx2-axis) { color: var(--sg-muted); }
.sg-internal-shell .rx2 .rx2-chips button { background: var(--sg-soft); color: var(--sg-link); border-radius: var(--sg-control-radius); }
.sg-internal-shell .rx2 .rx2-chips .rx2-clear { background: transparent; color: var(--sg-link); }
.sg-internal-shell .rx2-grid { gap: 18px; }
.sg-internal-shell .rx2-panel { padding: 20px; }
.sg-internal-shell .rx2-panel h2 { color: var(--sg-ink); font-size: 21px !important; letter-spacing: -.25px; }
.sg-internal-shell .rx2-tabs { border-color: var(--sg-line); border-radius: var(--sg-control-radius); }
.sg-internal-shell .rx2 .rx2-tabs button { color: var(--sg-muted); background: var(--sg-surface); }
.sg-internal-shell .rx2 .rx2-tabs button[aria-pressed=true] { color: var(--sg-link); background: var(--sg-soft); box-shadow: inset 0 -3px var(--sg-accent); }
.sg-internal-shell .rx2 .rx2-bar { color: var(--sg-ink); }
.sg-internal-shell .rx2 .rx2-bar:hover:not(:disabled) { background: var(--sg-soft) !important; }
.sg-internal-shell :is(.rx2-track, .rx-bar-track) { background: var(--sg-soft); }
.sg-internal-shell .rx2-info { background: var(--sg-soft); color: var(--sg-link) !important; border-radius: var(--sg-control-radius); }
.sg-internal-shell .rx2 :is(.rx2-back, .rx2-breadcrumb button, .rx2-highlights button) { color: var(--sg-link); border-color: var(--sg-line); }
.sg-internal-shell .rx2 .rx2-show-more { background: var(--sg-soft); color: var(--sg-link); border-radius: var(--sg-control-radius); }
.sg-internal-shell .rx2-dialog { color: var(--sg-ink); background: var(--sg-surface); width: min(520px, 100%); max-width: 100vw; }
.sg-internal-shell .rx2-dialog :is(header, footer) { background: var(--sg-surface); border-color: var(--sg-line); }
.sg-internal-shell .rx2-dialog header h2 { color: var(--sg-ink); font-size: 24px; }
.sg-internal-shell .rx2-dialog header button { min-width: 44px; min-height: 44px; }
.sg-internal-shell .rx2-dialog footer > button:last-child { color: var(--sg-link); background: var(--sg-surface); }
.sg-internal-shell .rx2-dialog::backdrop { background: #071a35a6; }
.sg-internal-shell :is(.rx-filter-form, .rx-article-evidence, .rx-records, .rx2-highlights button) { border-color: var(--sg-line); }
.sg-internal-shell :is(.rx-intro p, .rx-filters label, .rx-filter-actions span, .rx-applied, .rx-metrics span, .rx-metrics small, .rx-metrics em,
  .rx-scope-note, .rx-chart-heading > span, .rx-chart-note, .rx-bar-row small, .rx-article-evidence p, .rx-records li span, .rx-method) { color: var(--sg-muted); }
.sg-internal-shell .rx-metrics > div { border-color: var(--sg-link); }
.sg-internal-shell .rx-metrics strong { color: var(--sg-link); font-size: 32px; }
.sg-internal-shell .rx-bar-row { color: var(--sg-ink) !important; }
.sg-internal-shell .rx-bar-row:hover { background: var(--sg-soft) !important; outline-color: var(--sg-link) !important; }
.sg-internal-shell .law-dialog-head { background: var(--sg-soft); border-color: var(--sg-line); }
.sg-internal-shell :is(.law-dialog-body section, .law-explanation) { background: var(--sg-surface); border-color: var(--sg-line); }

/* Honest loading, empty, warning and error states remain visible in both themes. */
.sg-internal-shell :is(.lc-loading, .ls-empty, .rx-empty, .rx2-empty, .rx2-loading, .map-empty-source) {
  color: var(--sg-muted);
  overflow-wrap: anywhere;
}
.sg-internal-shell :is(.ls-empty, .rx2-empty, .rx2-loading, .map-empty-source) {
  padding: 20px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-card-radius);
  background: var(--sg-surface);
}
.sg-internal-shell :is(.rx2-empty, .rx2-loading) { margin-block: 16px; }
.sg-internal-shell .rx2-empty button { border-radius: var(--sg-control-radius); background: var(--sg-soft); color: var(--sg-link); }
.sg-internal-shell :is(.lc-alert, .lc-pending, .law-warning, .rx-data-block, .sg-law-map .map-index-outside) {
  color: var(--sg-warning);
  background: var(--sg-surface);
  border: 1px solid var(--sg-line);
  border-left: 3px solid var(--sg-warning);
  border-radius: var(--sg-control-radius);
  padding: 14px 16px;
  overflow-wrap: anywhere;
}
.sg-internal-shell .lc-alert button { color: var(--sg-warning); background: var(--sg-surface); border-color: var(--sg-line); }
.sg-internal-shell :is(.map-inline-error, .lc-alert[role=alert], .rx2-empty[role=alert], .sg-law-space > [role=alert], .ls-disclosure > [role=alert], .rx2-desktop-filters > [role=alert], .rx2-dialog-fields > [role=alert]) {
  color: var(--sg-danger);
  background: var(--sg-surface);
  border: 1px solid var(--sg-line);
  border-left: 3px solid var(--sg-danger);
  border-radius: var(--sg-control-radius);
  padding: 12px 16px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.sg-internal-shell .map-inline-error button { margin: 8px 0 0 8px; }
.sg-internal-shell .lc-alert[role=alert] button { color: var(--sg-danger); }
.sg-internal-shell :is(.lh-tools, .lc-careers, .ls-columns, .sg-training-stage, .sg-training-config, .rx2-panel) { min-width: 0; }
.sg-internal-shell :is(.lh-tools strong, .lh-tools small, .lc-career-card strong, .ls-tool h2, .rx2-panel h2) { overflow-wrap: anywhere; }

@media (max-width: 1280px) {
  .sg-internal-shell .lc-careers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sg-internal-shell .rx2-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sg-internal-shell .rx2-advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sg-internal-shell .map-layout.map-with-reader { grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr); }
  .sg-internal-shell .sg-law-map .map-with-reader .law-grid { grid-template-columns: repeat(10, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  .sg-internal-shell :is(.sg-map-controls, .map-law-select) { flex-wrap: wrap; }
  .sg-internal-shell .map-law-select { flex-basis: 100%; }
  .sg-internal-shell .map-find { min-width: 0; flex: 1 1 170px; }
  .sg-internal-shell .map-range { min-width: 0; flex: 1 1 170px; }
  .sg-internal-shell .ls-columns { grid-template-columns: minmax(0, 1fr); }
  .sg-internal-shell .rx2-grid { grid-template-columns: minmax(0, 1fr); }
  .sg-internal-shell .rx2-grid aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 750px) {
  .sg-internal-shell :is(.lh-dashboard, .lc-main, .law-main, .sg-law-space, .ls-corpus, .ls-reading-library, .ls-main),
  .sg-internal-shell .sg-law-map .law-main { padding: 20px 16px 32px; }
  .sg-internal-shell :is(.lh-header, .lc-header, .law-top) { padding: 10px 16px; gap: 12px; }
  .sg-internal-shell .lh-tools-only .lh-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .sg-internal-shell .lh-tools-only .lh-tools > a { min-height: 124px; padding: 16px; align-items: flex-start; text-align: left; }
  .sg-internal-shell .lh-tools-only .lh-tools strong { font-size: 16px; }
  .sg-internal-shell .lh-tools-only .lh-tools small { display: block; }
  .sg-internal-shell .lh-tools-only .lh-arrow { display: none; }
  .sg-internal-shell .lc-careers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sg-internal-shell :is(.lc-career-card, .lc-all-card) { min-height: 130px; padding: 18px 14px; border-radius: var(--sg-card-radius); }
  .sg-internal-shell .lc-all-card { grid-column: auto; }
  .sg-internal-shell .lc-subjects { grid-template-columns: minmax(0, 1fr); }
  .sg-internal-shell .lc-context { align-items: stretch; flex-direction: column; }
  .sg-internal-shell .lc-tabs { align-self: stretch; }
  .sg-internal-shell .lc-tabs a { flex: 1; justify-content: center; padding-inline: 9px; font-size: 12px; }
  .sg-internal-shell .lc-law-source { padding-left: 58px; }
  .sg-internal-shell .lc-law-link { padding: 14px; gap: 11px; }
  .sg-internal-shell .lc-read-label { display: none; }
  .sg-internal-shell .ls-scope-bar { padding: 10px 12px; }
  .sg-internal-shell .ls-scope-fields { grid-template-columns: minmax(0, 1fr); }
  .sg-internal-shell .sg-map-controls { padding: 12px; }
  .sg-internal-shell .sg-map-title { align-items: flex-start; flex-wrap: wrap; }
  .sg-internal-shell .map-title-actions { flex-direction: row; align-items: center; gap: 14px; }
  .sg-internal-shell .map-layout.map-with-reader { display: block; }
  .sg-internal-shell .map-panel-wrap { position: relative; top: 0; max-height: none; }
  .sg-internal-shell .sg-law-map .map-reader { padding: 16px; }
  .sg-internal-shell .sg-law-map .law-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .sg-internal-shell .sg-law-map.map-has-selection :is(.map-board, .sg-map-controls) { display: none; }
  .sg-internal-shell :is(.sg-training-config, .sg-training-stage, .ls-columns > .ls-tool, .ls-list > article) { padding: 16px; }
  .sg-internal-shell .ls-columns > .ls-tool + .ls-tool { margin-top: 16px; }
  .sg-internal-shell .rx2-grid aside { grid-template-columns: minmax(0, 1fr); }
  .sg-internal-shell .rx2-panel { padding: 18px; }
}
@media (max-width: 680px) {
  .sg-internal-shell .ls-workspace { display: block; padding: 0; border: 0; background: transparent; }
  .sg-internal-shell .ls-reader { padding: 12px 0; border: 0; }
  .sg-internal-shell .ls-filter-grid { grid-template-columns: minmax(0, 1fr); }
  .sg-internal-shell .lc-resume { padding: 14px; }
  .sg-internal-shell .lc-edition { gap: 10px; }
  .sg-internal-shell .map-device-navigation { gap: 5px; flex-wrap: wrap; }
  .sg-internal-shell .map-device-navigation button { padding-inline: 8px; }
}
@media (max-width: 420px) {
  .sg-internal-shell :is(.lh-dashboard, .lc-main, .law-main, .sg-law-space, .ls-corpus, .ls-reading-library, .ls-main),
  .sg-internal-shell .sg-law-map .law-main { padding-inline: 12px; }
  .sg-internal-shell .lh-tools-only .lh-tools { gap: 9px; }
  .sg-internal-shell .lh-tools-only .lh-tools > a { padding: 14px 12px; }
  .sg-internal-shell .lh-tools-only .lh-tools small { font-size: 13px; }
  .sg-internal-shell .sg-law-map .law-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .sg-internal-shell .map-reader-header { flex-wrap: wrap; }
  .sg-internal-shell .rx2-dialog-fields { padding: 18px 14px; }
  .sg-internal-shell .rx2-dialog :is(header, footer) { padding-inline: 14px; }
  .sg-internal-shell .rx2-tabs button { font-size: 12px; }
  .sg-internal-shell .map-inline-error button { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) *,
  .sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) *::before,
  .sg-internal-shell :is(.law-app, .sg-law-home, .sg-law-catalog) *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
@media (forced-colors: active) {
  .sg-internal-shell :is(.lh-tools-only .lh-tools > a, .lc-career-card) { background: Canvas; color: LinkText; border-color: LinkText; box-shadow: none; }
  .sg-internal-shell :is(.lh-tools-only .lh-tools small, .lh-arrow, .lc-card-arrow) { color: LinkText; }
  .sg-internal-shell :is(.lh-symbol, .lc-card-icon) { forced-color-adjust: none; }
  .sg-internal-shell :is(.law-primary, .lh-primary, .sg-law-catalog .lc-primary, .rx2-apply) { background: ButtonFace !important; color: ButtonText !important; border-color: ButtonText !important; }
}
