/*
  AtticusBeta v6.9.19
  Landing-system main-app theme + hard contrast surfaces.

  Visual doctrine:
  - Match the landing page: warm paper + deep green/charcoal + sage + orange.
  - Light surface => dark ink.
  - Dark surface => cream ink.
  - Orange is action/selection, sage is status/secondary emphasis.
  - No low-opacity text on functional UI.
  - Layout/mechanics intentionally untouched.
*/

:root {
  --ab19-paper: #E8E2D7;
  --ab19-paper-soft: #F0EBE2;
  --ab19-card: #F6F2EA;
  --ab19-paper-deep: #D8D0C4;
  --ab19-ink: #19221D;
  --ab19-ink-soft: #3F4B44;
  --ab19-ink-muted: #5C675F;
  --ab19-charcoal: #080B0A;
  --ab19-charcoal-2: #0D1310;
  --ab19-charcoal-3: #121B16;
  --ab19-dark-sage: #1B2A22;
  --ab19-dark-panel: #202923;
  --ab19-cream: #F1E6D4;
  --ab19-cream-soft: #D8CDBD;
  --ab19-sage: #A5B5A5;
  --ab19-sage-strong: #708777;
  --ab19-orange: #C77A4B;
  --ab19-orange-deep: #A85F36;
  --ab19-orange-light: #E29A69;
  --ab19-light-line: rgba(25,34,29,.18);
  --ab19-dark-line: rgba(241,230,212,.20);
  --ab19-shadow: 0 18px 44px rgba(30,38,33,.12);
  --mesh-neutral: #252C28;
  --mesh-opacity: .82;
}

/* Canvas / structural framing mirrors the landing page. */
html, body { background: var(--ab19-charcoal) !important; }
.stage {
  background:
    radial-gradient(980px 680px at 88% 5%, rgba(165,181,165,.20), transparent 66%),
    radial-gradient(760px 600px at 5% 34%, rgba(199,122,75,.10), transparent 68%),
    linear-gradient(180deg, #EFE9DF 0%, #E7E1D6 50%, #E4DED3 100%) !important;
  color: var(--ab19-ink) !important;
}
.mesh-canvas { opacity: var(--mesh-opacity) !important; mix-blend-mode: multiply !important; filter: none !important; }

/* Dark permanent frame. */
.rail,
.topbar,
.core-legal-footer {
  background: linear-gradient(180deg, #1B241F, #0D1310) !important;
  color: var(--ab19-cream) !important;
  border-color: var(--ab19-dark-line) !important;
}

/* Top-right utility strip: force strong readable foreground. */
.topbar,
.topbar * {
  opacity: 1 !important;
  text-shadow: none !important;
  filter: none !important;
}
.topbar > span,
.topbar #topClock,
.topbar .topbar-action,
.topbar .top-install-button,
.topbar .logout-button,
.topbar button,
.topbar button span {
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
}
.topbar .topbar-action,
.topbar .top-install-button,
.topbar .logout-button {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.topbar .topbar-action:hover,
.topbar .top-install-button:hover,
.topbar .logout-button:hover {
  background: rgba(241,230,212,.08) !important;
  color: #FFF8ED !important;
  -webkit-text-fill-color: #FFF8ED !important;
}
.topbar .topbar-action:disabled,
.topbar .top-install-button:disabled,
.topbar .logout-button:disabled {
  color: #C9BEAD !important;
  -webkit-text-fill-color: #C9BEAD !important;
  opacity: 1 !important;
}
.topbar .online,
.topbar .online * {
  color: #B9D0BE !important;
  -webkit-text-fill-color: #B9D0BE !important;
}
.topbar svg { stroke: currentColor !important; color: inherit !important; opacity: 1 !important; }

/* Light page headings. */
.page-title,
.dashboard-title,
.settings-page .page-title { color: var(--ab19-ink) !important; }
.page-subtitle,
.dashboard-subtitle,
.settings-page .page-subtitle { color: var(--ab19-ink-soft) !important; }
.page-title .accent,
.dashboard-title .accent { color: var(--ab19-orange-deep) !important; }

/* One neutral action family. Adjacent controls should feel related. */
body .stage :is(
  .action,
  .small-action,
  .focus-icon-action,
  .focus-action-button,
  .walkthrough-button,
  .settings-small-button,
  .settings-primary-button,
  .settings-danger-button,
  .app-card-action,
  .archive-restore-button,
  .workspace-archive-button,
  .workspace-restore-button,
  .thread-rename,
  .thread-archive-card,
  .file-view-button,
  button[data-uninstall-tool]
) {
  background: var(--ab19-charcoal-2) !important;
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
  border-color: rgba(241,230,212,.26) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
}
body .stage :is(
  .action,
  .small-action,
  .focus-icon-action,
  .focus-action-button,
  .walkthrough-button,
  .settings-small-button,
  .settings-primary-button,
  .settings-danger-button,
  .app-card-action,
  .archive-restore-button,
  .workspace-archive-button,
  .workspace-restore-button,
  .thread-rename,
  .thread-archive-card,
  .file-view-button,
  button[data-uninstall-tool]
):hover:not(:disabled) {
  background: var(--ab19-dark-sage) !important;
  color: #FFF8ED !important;
  -webkit-text-fill-color: #FFF8ED !important;
  border-color: rgba(199,122,75,.72) !important;
}
body .stage :is(
  .action.primary,
  .action-new-conversation,
  .action-new-workspace,
  .settings-primary-button,
  .app-card-action.primary,
  .personal-action-pill.is-primary
) {
  border-color: rgba(199,122,75,.78) !important;
}
body .stage :is(button,.action,.small-action,.focus-icon-action,.focus-action-button,.walkthrough-button,.app-card-action):disabled {
  background: #313833 !important;
  color: #DDD2C2 !important;
  -webkit-text-fill-color: #DDD2C2 !important;
  border-color: rgba(221,210,194,.30) !important;
  opacity: 1 !important;
}

/* =========================================================
   FOCUS
   ========================================================= */
.focus-logo .brace { color: var(--ab19-ink) !important; }
.focus-logo .att { color: #819587 !important; }
.focus-logo .bet { color: var(--ab19-orange) !important; }
.focus-kicker { color: var(--ab19-orange-deep) !important; }

body .stage > section.view.focus-view[data-view="focus"] .response {
  background: var(--ab19-dark-panel) !important;
  border-color: rgba(25,34,29,.22) !important;
  box-shadow: var(--ab19-shadow) !important;
}
body .stage > section.view.focus-view[data-view="focus"] .response-meta,
body .stage > section.view.focus-view[data-view="focus"] .focus-context-bar {
  background: var(--ab19-dark-panel) !important;
  color: var(--ab19-cream) !important;
  border-color: var(--ab19-dark-line) !important;
}
body .stage > section.view.focus-view[data-view="focus"] .focus-context-selects select,
body .stage > section.view.focus-view[data-view="focus"] .focus-context-selects select:disabled {
  background: var(--ab19-charcoal-2) !important;
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
  border-color: rgba(241,230,212,.24) !important;
  opacity: 1 !important;
}
body .stage > section.view.focus-view[data-view="focus"] .focus-context-selects select option {
  background: var(--ab19-charcoal-2) !important;
  color: var(--ab19-cream) !important;
}

/* Assistant content = paper, user content = strong dark burnt-orange surface. */
body .stage > section.view.focus-view[data-view="focus"] .response-content {
  background: var(--ab19-card) !important;
  color: var(--ab19-ink) !important;
}
body .stage > section.view.focus-view[data-view="focus"] .response-content .message:not(.user) {
  background: linear-gradient(180deg, #F8F4EC, #EFE8DC) !important;
  color: var(--ab19-ink) !important;
  border-color: rgba(25,34,29,.18) !important;
}
body .stage > section.view.focus-view[data-view="focus"] .response-content .message:not(.user),
body .stage > section.view.focus-view[data-view="focus"] .response-content .message:not(.user) * {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}
body .stage > section.view.focus-view[data-view="focus"] .response-content .message.user,
body .stage > section.view.focus-view[data-view="focus"] .response-content .focus-message.user {
  background: linear-gradient(135deg, #704A35, #543927) !important;
  color: #FFF2DF !important;
  border-color: rgba(226,154,105,.86) !important;
  box-shadow: 0 12px 28px rgba(58,38,26,.16) !important;
}
body .stage > section.view.focus-view[data-view="focus"] .response-content .message.user *,
body .stage > section.view.focus-view[data-view="focus"] .response-content .focus-message.user * {
  color: #FFF2DF !important;
  -webkit-text-fill-color: #FFF2DF !important;
}
body .stage > section.view.focus-view[data-view="focus"] .response-content .message.user .message-name {
  color: #F3B180 !important;
  -webkit-text-fill-color: #F3B180 !important;
}

/* Code/technical blocks are dark and therefore always use cream text. */
body .stage :is(.message,.response-content) :is(pre,.code-block,.code-block pre,.code-output,.message-code) {
  background: var(--ab19-dark-sage) !important;
  color: var(--ab19-cream) !important;
  border-color: rgba(241,230,212,.20) !important;
}
body .stage :is(.message,.response-content) :is(pre,.code-block,.code-block pre,.code-output,.message-code) * {
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
}

.focus-console,
.thread-compose {
  background: linear-gradient(180deg, #18221C, #0D1310) !important;
  color: var(--ab19-cream) !important;
  border-color: var(--ab19-dark-line) !important;
}
.focus-console .terminal,
.thread-compose .terminal {
  background: var(--ab19-charcoal-2) !important;
  color: var(--ab19-cream) !important;
  border-color: rgba(241,230,212,.16) !important;
}
body .stage textarea#focusInput,
body .stage textarea#messengerInput {
  background: transparent !important;
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  caret-color: var(--ab19-orange-light) !important;
}
body .stage textarea#focusInput::placeholder,
body .stage textarea#messengerInput::placeholder {
  color: #BFB4A4 !important;
  -webkit-text-fill-color: #BFB4A4 !important;
  opacity: 1 !important;
}

/* =========================================================
   MESSENGER
   ========================================================= */
body .stage > section.view.page-view[data-view="messenger"] .thread-list,
body .stage > section.view.page-view[data-view="messenger"] .thread-main,
body .stage > section.view.page-view[data-view="messenger"] .thread-head,
body .stage > section.view.page-view[data-view="messenger"] .thread-compose {
  background: linear-gradient(180deg, #1D2721, #101713) !important;
  color: var(--ab19-cream) !important;
  border-color: var(--ab19-dark-line) !important;
}
body .stage > section.view.page-view[data-view="messenger"] .thread-card {
  background: #18211C !important;
  color: var(--ab19-cream) !important;
  border-color: rgba(241,230,212,.14) !important;
}
body .stage > section.view.page-view[data-view="messenger"] .thread-card.is-active {
  background: #2B261F !important;
  border-color: rgba(199,122,75,.76) !important;
  box-shadow: inset 3px 0 0 var(--ab19-orange) !important;
}
body .stage > section.view.page-view[data-view="messenger"] .thread-card :is(.thread-name,.thread-title,strong) {
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
}
body .stage > section.view.page-view[data-view="messenger"] .thread-card :is(.thread-preview,.thread-snippet,.thread-time,small) {
  color: var(--ab19-cream-soft) !important;
  -webkit-text-fill-color: var(--ab19-cream-soft) !important;
}
body .stage > section.view.page-view[data-view="messenger"] .thread-card .thread-workspace {
  color: #F0A774 !important;
  -webkit-text-fill-color: #F0A774 !important;
}
body .stage > section.view.page-view[data-view="messenger"] .thread-main .message:not(.user) {
  background: linear-gradient(180deg, #F8F4EC, #EFE8DC) !important;
  color: var(--ab19-ink) !important;
  border-color: rgba(25,34,29,.18) !important;
}
body .stage > section.view.page-view[data-view="messenger"] .thread-main .message:not(.user),
body .stage > section.view.page-view[data-view="messenger"] .thread-main .message:not(.user) * {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}
body .stage > section.view.page-view[data-view="messenger"] .thread-main .message.user,
body .stage > section.view.page-view[data-view="messenger"] .thread-main .message.user * {
  color: #FFF2DF !important;
  -webkit-text-fill-color: #FFF2DF !important;
}
body .stage > section.view.page-view[data-view="messenger"] .thread-main .message.user {
  background: linear-gradient(135deg, #704A35, #543927) !important;
  border-color: rgba(226,154,105,.86) !important;
}
body .stage > section.view.page-view[data-view="messenger"] :is(#conversationListButton,#messengerFullscreenButton,#newThreadButton,#newWorkspaceButton) {
  background: var(--ab19-charcoal-2) !important;
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
  border-color: rgba(241,230,212,.24) !important;
}
body .stage > section.view.page-view[data-view="messenger"] :is(#newThreadButton,#newWorkspaceButton):disabled {
  background: #313833 !important;
  color: #DDD2C2 !important;
  -webkit-text-fill-color: #DDD2C2 !important;
}

/* =========================================================
   DASHBOARD: recreate the landing-page light/dark rhythm.
   ========================================================= */
body .stage > section.view.page-view[data-view="dashboard"] .personal-hero {
  background: linear-gradient(145deg, #26322B, #18211C) !important;
  color: var(--ab19-cream) !important;
  border-color: rgba(241,230,212,.16) !important;
  box-shadow: var(--ab19-shadow) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] .personal-hero,
body .stage > section.view.page-view[data-view="dashboard"] .personal-hero * {
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] .personal-panel {
  background: rgba(246,242,234,.92) !important;
  color: var(--ab19-ink) !important;
  border-color: var(--ab19-light-line) !important;
  box-shadow: var(--ab19-shadow) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] .personal-panel :is(h1,h2,h3,h4,strong,.panel-title,.personal-panel-title) {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] .personal-panel :is(p,small,em,.copy,.personal-panel-copy) {
  color: var(--ab19-ink-soft) !important;
  -webkit-text-fill-color: var(--ab19-ink-soft) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] :is(.personal-snapshot-card,.personal-app-row,.personal-workspace-breakdown-row,.project-row,.library-card) {
  background: #EFE8DC !important;
  color: var(--ab19-ink) !important;
  border-color: rgba(25,34,29,.14) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] :is(.personal-snapshot-card,.personal-app-row,.personal-workspace-breakdown-row,.project-row,.library-card) * {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] :is(.personal-chart-card,.personal-radar-row,.personal-usage-row) {
  background: linear-gradient(180deg, #243028, #151D18) !important;
  color: var(--ab19-cream) !important;
  border-color: var(--ab19-dark-line) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] :is(.personal-chart-card,.personal-radar-row,.personal-usage-row),
body .stage > section.view.page-view[data-view="dashboard"] :is(.personal-chart-card,.personal-radar-row,.personal-usage-row) * {
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] .personal-action-pill {
  background: var(--ab19-card) !important;
  color: var(--ab19-ink) !important;
  border-color: var(--ab19-light-line) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] .personal-action-pill,
body .stage > section.view.page-view[data-view="dashboard"] .personal-action-pill * {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] .personal-action-pill.is-primary {
  background: var(--ab19-charcoal-2) !important;
  border-color: rgba(199,122,75,.74) !important;
}
body .stage > section.view.page-view[data-view="dashboard"] .personal-action-pill.is-primary,
body .stage > section.view.page-view[data-view="dashboard"] .personal-action-pill.is-primary * {
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
}

/* =========================================================
   MY FILES: light library cards + real visible media wells.
   ========================================================= */
body .stage > section.view.page-view[data-view="files"] .file-folder {
  background: rgba(246,242,234,.94) !important;
  color: var(--ab19-ink) !important;
  border-color: var(--ab19-light-line) !important;
  box-shadow: var(--ab19-shadow) !important;
}
body .stage > section.view.page-view[data-view="files"] .file-folder-title,
body .stage > section.view.page-view[data-view="files"] .file-folder-title * {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}
body .stage > section.view.page-view[data-view="files"] .file-row.file-tile {
  background: #F2ECE2 !important;
  color: var(--ab19-ink) !important;
  border-color: rgba(25,34,29,.14) !important;
  box-shadow: 0 10px 24px rgba(30,38,33,.08) !important;
}
body .stage > section.view.page-view[data-view="files"] .file-row.file-tile :is(strong,small,em,.file-info) {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}
body .stage > section.view.page-view[data-view="files"] .file-row.file-tile .file-info small,
body .stage > section.view.page-view[data-view="files"] .file-row.file-tile .file-info em {
  color: var(--ab19-ink-muted) !important;
  -webkit-text-fill-color: var(--ab19-ink-muted) !important;
}
body .stage > section.view.page-view[data-view="files"] .file-thumb,
body .stage > section.view.page-view[data-view="dashboard"] .library-thumb {
  background: linear-gradient(145deg, #26322B, #121A16) !important;
  border-color: rgba(199,122,75,.40) !important;
  color: var(--ab19-cream) !important;
}
body .stage > section.view.page-view[data-view="files"] .file-thumb img,
body .stage > section.view.page-view[data-view="dashboard"] .library-thumb img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  object-fit: contain !important;
  background: #F6F2EA !important;
}
body .stage :is(.file-thumb,.library-thumb) .library-file-icon {
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
}
body .stage :is(.file-thumb,.library-thumb) .library-file-icon svg {
  width: 54px !important;
  height: 54px !important;
  display: block !important;
  stroke: var(--ab19-cream) !important;
  color: var(--ab19-cream) !important;
}
body .stage [data-view="files"] .file-browser-controls,
body .stage [data-view="files"] .file-explorer-toolbar {
  background: var(--ab19-dark-panel) !important;
  color: var(--ab19-cream) !important;
}
body .stage [data-view="files"] :is(.file-browser-controls,.file-explorer-toolbar) :is(input,select,button) {
  background: var(--ab19-charcoal-2) !important;
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
  border-color: rgba(241,230,212,.24) !important;
}

/* =========================================================
   SETTINGS: landing-like light cards with dark inputs as technical elements.
   ========================================================= */
body .stage > section.view.page-view[data-view="settings"] .settings-card {
  background: rgba(246,242,234,.94) !important;
  color: var(--ab19-ink) !important;
  border-color: var(--ab19-light-line) !important;
  box-shadow: var(--ab19-shadow) !important;
}
body .stage > section.view.page-view[data-view="settings"] .settings-card :is(h1,h2,h3,h4,h5,h6,strong,b,.settings-card-title,.setting-title,.settings-profile-name,.profile-name) {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}
body .stage > section.view.page-view[data-view="settings"] .settings-card :is(p,small,em,.settings-card-copy,.settings-copy,.setting-copy,.settings-profile-copy,.profile-copy,.settings-list-row span) {
  color: var(--ab19-ink-soft) !important;
  -webkit-text-fill-color: var(--ab19-ink-soft) !important;
}
body .stage > section.view.page-view[data-view="settings"] .settings-kicker,
body .stage > section.view.page-view[data-view="settings"] label,
body .stage > section.view.page-view[data-view="settings"] .settings-pill {
  color: var(--ab19-orange-deep) !important;
  -webkit-text-fill-color: var(--ab19-orange-deep) !important;
}
body .stage > section.view.page-view[data-view="settings"] .profile-setup-card,
body .stage > section.view.page-view[data-view="settings"] .settings-usage-panel {
  background: linear-gradient(180deg, #26322B, #18211C) !important;
  color: var(--ab19-cream) !important;
  border-color: var(--ab19-dark-line) !important;
}
body .stage > section.view.page-view[data-view="settings"] :is(.profile-setup-card,.settings-usage-panel),
body .stage > section.view.page-view[data-view="settings"] :is(.profile-setup-card,.settings-usage-panel) * {
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
}
body .stage > section.view.page-view[data-view="settings"] .profile-setup-percent,
body .stage > section.view.page-view[data-view="settings"] .settings-plan-status {
  color: #8CE0AE !important;
  -webkit-text-fill-color: #8CE0AE !important;
}
body .stage > section.view.page-view[data-view="settings"] :is(input[type="text"],input[type="email"],input[type="password"],select,textarea) {
  background: var(--ab19-charcoal-2) !important;
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
  border-color: rgba(25,34,29,.26) !important;
}
body .stage > section.view.page-view[data-view="settings"] :is(input,textarea)::placeholder {
  color: #BFB4A4 !important;
  -webkit-text-fill-color: #BFB4A4 !important;
  opacity: 1 !important;
}
body .stage > section.view.page-view[data-view="settings"] select option {
  background: var(--ab19-charcoal-2) !important;
  color: var(--ab19-cream) !important;
}
body .stage > section.view.page-view[data-view="settings"] .settings-list-row {
  background: #EFE8DC !important;
  color: var(--ab19-ink) !important;
  border-color: rgba(25,34,29,.12) !important;
}
body .stage > section.view.page-view[data-view="settings"] .settings-list-row,
body .stage > section.view.page-view[data-view="settings"] .settings-list-row * {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}

/* Apps/cards follow the landing examples: light card, dark logo well, dark text. */
body .stage > section.view.page-view[data-view="tools"] :is(.app-card,.app-library-row) {
  background: rgba(246,242,234,.96) !important;
  color: var(--ab19-ink) !important;
  border-color: var(--ab19-light-line) !important;
  box-shadow: var(--ab19-shadow) !important;
}
body .stage > section.view.page-view[data-view="tools"] :is(.app-card,.app-library-row) :is(.app-card-title,.app-library-title,strong) {
  color: var(--ab19-ink) !important;
  -webkit-text-fill-color: var(--ab19-ink) !important;
}
body .stage > section.view.page-view[data-view="tools"] :is(.app-card,.app-library-row) :is(.app-card-copy,.app-library-description,.app-card-note,p,small) {
  color: var(--ab19-ink-soft) !important;
  -webkit-text-fill-color: var(--ab19-ink-soft) !important;
}
body .stage > section.view.page-view[data-view="tools"] :is(.app-card-icon,.app-library-icon) {
  background: var(--ab19-charcoal-2) !important;
  border-color: rgba(199,122,75,.42) !important;
}
body .stage > section.view.page-view[data-view="tools"] :is(.app-card-icon,.app-library-icon) img {
  background: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

/* Rail / footer: high-contrast stable dark frame. */
.rail :is(.nav-button,.rail-footer,.recent-title,.recent-time,.logged-in-as,.label,.logo-sub),
.core-legal-footer,
.core-legal-footer .core-footer-links button,
.core-legal-footer .core-footer-copy {
  color: var(--ab19-cream-soft) !important;
  -webkit-text-fill-color: var(--ab19-cream-soft) !important;
  opacity: 1 !important;
}
.rail .nav-button.is-active,
.rail .nav-button[aria-current="page"] {
  color: var(--ab19-cream) !important;
  -webkit-text-fill-color: var(--ab19-cream) !important;
  background: rgba(241,230,212,.08) !important;
  border-color: rgba(199,122,75,.52) !important;
}
.rail .nav-button:hover { color: #FFF8ED !important; background: rgba(241,230,212,.06) !important; }
.core-legal-footer .core-footer-links button:hover { color: var(--ab19-orange-light) !important; -webkit-text-fill-color: var(--ab19-orange-light) !important; }

/* Explicit anti-fade rule for functional UI text. */
body .app :is(button,a,input,textarea,select,label,.thread-card,.settings-card,.file-row,.app-card,.personal-panel,.personal-hero,.topbar,.rail,.core-legal-footer) {
  text-shadow: none !important;
}
body .app :is(button,a,input,textarea,select,label):not([aria-hidden="true"]) {
  opacity: 1 !important;
}

/* Give the runtime contrast guard a real background color to measure even when
   a gradient is also present. */
.rail,.topbar,.core-legal-footer { background-color: var(--ab19-charcoal-2) !important; }
body .stage > section.view.focus-view[data-view="focus"] .response,
body .stage > section.view.focus-view[data-view="focus"] .response-meta,
body .stage > section.view.focus-view[data-view="focus"] .focus-context-bar,
.focus-console,.thread-compose,
body .stage > section.view.page-view[data-view="messenger"] .thread-list,
body .stage > section.view.page-view[data-view="messenger"] .thread-main,
body .stage > section.view.page-view[data-view="messenger"] .thread-head,
body .stage > section.view.page-view[data-view="messenger"] .thread-compose,
body .stage > section.view.page-view[data-view="dashboard"] .personal-hero,
body .stage > section.view.page-view[data-view="dashboard"] :is(.personal-chart-card,.personal-radar-row,.personal-usage-row),
body .stage > section.view.page-view[data-view="settings"] :is(.profile-setup-card,.settings-usage-panel) {
  background-color: var(--ab19-dark-panel) !important;
}
body .stage > section.view.focus-view[data-view="focus"] .response-content,
body .stage > section.view.focus-view[data-view="focus"] .response-content .message:not(.user),
body .stage > section.view.page-view[data-view="messenger"] .thread-main .message:not(.user),
body .stage > section.view.page-view[data-view="dashboard"] .personal-panel,
body .stage > section.view.page-view[data-view="files"] .file-folder,
body .stage > section.view.page-view[data-view="settings"] .settings-card,
body .stage > section.view.page-view[data-view="tools"] :is(.app-card,.app-library-row) {
  background-color: var(--ab19-card) !important;
}
body .stage > section.view.focus-view[data-view="focus"] .response-content .message.user,
body .stage > section.view.page-view[data-view="messenger"] .thread-main .message.user {
  background-color: #5E402E !important;
}

/* Media fallback sits behind the real preview. If a signed preview is absent,
   the user still gets a clear file-type pictogram instead of an empty tile. */
body .stage :is(.file-thumb,.library-thumb) { position: relative !important; }
body .stage :is(.file-thumb,.library-thumb) .library-file-icon {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: grid !important;
  place-items: center !important;
  pointer-events: none !important;
}
body .stage :is(.file-thumb,.library-thumb) > img,
body .stage :is(.file-thumb,.library-thumb) > iframe {
  position: relative !important;
  z-index: 2 !important;
}
body .stage :is(.file-thumb,.library-thumb).is-pdf > span { z-index: 3 !important; }
.stage { background-color: var(--ab19-paper) !important; }
