/* FIACA identity approved by Pablo: editorial focus mark, Newsreader, navy/orange/cream.
   Shared presentation layer only. No workflow, hidden-state or permission overrides. */
body.fiaca-unified {
  --primary: var(--fiaca-navy);
  --primary-container: var(--fiaca-selection);
  --on-primary: var(--fiaca-white);
  --surface: var(--fiaca-surface);
  --surface-low: var(--fiaca-surface-low);
  --surface-lowest: var(--fiaca-white);
  --surface-container: var(--fiaca-white);
  --surface-high: var(--fiaca-selection);
  --on-surface: var(--fiaca-ink);
  --on-surface-variant: var(--fiaca-muted);
  --outline: var(--fiaca-outline);
  --outline-variant: var(--fiaca-line);
  --coral: var(--fiaca-orange);
  --coral-dark: var(--fiaca-accent-dark);
  --coral-fixed: var(--fiaca-selection);
  --task-blue: var(--fiaca-navy);
  --task-blue-dark: var(--fiaca-task-blue-dark);
  --task-ink: var(--on-surface);
  --task-muted: var(--on-surface-variant);
  --task-line: var(--outline-variant);
  color-scheme: light;
  background: var(--surface);
  color: var(--on-surface);
}
.fiaca-unified :is(.app, .sidebar) { background: var(--surface); }
.fiaca-unified .topbar { background: #fff; border-bottom-color: var(--outline-variant); }
.fiaca-unified .topbar-brand:has(.fiaca-brand-mark) {
  display: grid;
  grid-template-columns: 2rem auto;
  align-items: center;
  column-gap: .65rem;
}
.fiaca-unified .fiaca-brand-mark { display: block; width: 2rem; height: 2rem; }
.fiaca-unified .topbar-title {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.025em;
  color: var(--fiaca-navy);
}
.fiaca-unified .user-name { background: var(--surface-low); color: var(--on-surface); }
.fiaca-unified .nav-link:hover,
.fiaca-unified .nav-sublist a:hover { background: var(--surface-low); color: var(--fiaca-navy); }
.fiaca-unified .nav-link[aria-current='page'] {
  background: var(--fiaca-selection);
  color: var(--fiaca-navy);
  box-shadow: inset 3px 0 var(--fiaca-orange);
  font-weight: 700;
}
.fiaca-unified .nav-sublist a[aria-current='page'] {
  background: var(--fiaca-selection);
  color: var(--fiaca-navy);
  font-weight: 700;
}
.fiaca-unified :is(.btn-primary, .btn-coral) {
  background: var(--fiaca-navy);
  border-color: var(--fiaca-navy);
  color: #fff;
}
.fiaca-unified :is(.btn-primary, .btn-coral):hover:not(:disabled) {
  background: #1c3f73;
  border-color: #1c3f73;
  color: #fff;
}
.fiaca-unified .btn-ghost:hover:not(:disabled) { background: var(--surface-low); }
.fiaca-unified .btn.is-active {
  background: var(--fiaca-selection);
  border-color: var(--fiaca-accent-dark);
  color: var(--fiaca-navy);
}
.fiaca-unified .work-modes [aria-current='page'],
.fiaca-unified .work-modes [aria-current='page']:hover {
  background: var(--fiaca-navy);
  color: #fff;
  border-color: var(--fiaca-navy);
}
.fiaca-unified :is(.note-side-tabs, .ql-toolbar.ql-snow, .work-options, .hub-metric) {
  background: var(--surface-low);
}
.fiaca-unified .note-side-tab[aria-selected='true'] {
  background: var(--surface);
  color: var(--fiaca-navy);
  border-bottom: 2px solid var(--fiaca-accent-dark);
}
.fiaca-unified .note-mobile-views button[aria-pressed='true'] {
  background: var(--fiaca-navy);
  color: var(--on-primary);
  border-bottom: 2px solid var(--fiaca-orange);
}
.fiaca-unified .empty::before { background: var(--fiaca-selection); color: var(--fiaca-accent-dark); }
.fiaca-unified :is(input:not([type='checkbox']):not([type='radio']), select, textarea) {
  border-color: var(--outline);
  color: var(--on-surface);
}
/* Keep invalid feedback visually distinct from the brand palette. */
.fiaca-unified :is(input, select, textarea):is([aria-invalid='true'], .is-invalid, :user-invalid) {
  border-color: #ba1a1a;
}
.fiaca-unified :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--fiaca-navy);
  outline-offset: 3px;
}
.fiaca-unified .main a:not(.btn):not([role='tab']):not([data-work-mode]) {
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.fiaca-unified :is(.task-meta, .hint, .section-status, .hub-section-count) {
  font-size: .8125rem;
  line-height: 1.5;
}
.fiaca-unified :is(#login-view, .activation-card) .login-logo {
  width: 4rem;
  height: 4rem;
  padding: 0;
  background: transparent;
  border-radius: 0;
  margin-inline: auto;
  display: block;
}
.fiaca-unified .login-card { border-top-color: var(--fiaca-orange); }
.fiaca-unified #login-view .brand-title { font-family: 'Newsreader', Georgia, serif; color: var(--fiaca-navy); }
.fiaca-ui-icon { width: 1.15rem; height: 1.15rem; display: inline-block; vertical-align: middle; pointer-events: none; }
body.fiaca-unified:not(.receiver-page) .btn { min-height: var(--control-min-height); }
body.fiaca-unified:not(.receiver-page) .nav-section > .nav-caption:not([hidden]) {
  display: block;
  color: var(--on-surface-variant);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .04em;
}
@media (max-width: 820px) {
  .fiaca-unified .nav-link[aria-current='page'] { box-shadow: inset 0 -3px var(--fiaca-orange); }
  .fiaca-unified :is(input:not([type='checkbox']):not([type='radio']), select, textarea) { font-size: 1rem; }
}
@media (max-width: 440px) {
  body.fiaca-unified { --topbar-h: var(--fiaca-mobile-topbar-h); }
  .fiaca-unified .topbar { gap: .5rem; padding-inline: .65rem; }
  .fiaca-unified .topbar-brand:has(.fiaca-brand-mark) { grid-template-columns: 1.6rem auto; column-gap: .4rem; flex: none; }
  .fiaca-unified .fiaca-brand-mark { width: 1.6rem; height: 1.6rem; }
  .fiaca-unified .topbar-title { font-size: 1.8rem; }
  .fiaca-unified .topbar-user { flex: 1; justify-content: flex-end; flex-wrap: wrap; gap: .15rem .3rem; }
  .fiaca-unified .topbar-user .btn { font-size: .75rem; padding: .35rem .4rem; min-height: 2rem; }
  body.fiaca-unified:not(.receiver-page) .topbar-user .btn { min-height: 2rem; }
  .fiaca-unified .user-name { font-size: .75rem; padding: .35rem .6rem; max-width: 7rem; }
}
@media (pointer: coarse) {
  .fiaca-unified :is(.btn, .nav-link, .note-side-tab, .tab-btn, .rsj-tab) { min-height: 44px; }
  body.fiaca-unified:not(.receiver-page) .btn { min-height: 44px; }
}
@media (forced-colors: active) {
  .fiaca-unified .nav-link[aria-current='page'] { outline: 2px solid Highlight; outline-offset: -2px; }
  .fiaca-unified :is(button, a, input, select, textarea, summary):focus-visible { outline-color: Highlight; }
}

/* Contraste AA (paso 1, B2). En esta capa --primary-container es crema y
   --on-primary es blanco: los pares de app.css que los combinan quedaban en
   1,11:1. Ratios WCAG: info blanco/navy 16,43; warn navy/crema 14,85;
   success blanco/verde 6,52; error blanco/rojo 6,46; seleccion blanco/navy 16,43;
   hover agenda navy/crema 14,85. */
.fiaca-unified .notice { background: var(--fiaca-navy); color: #fff; }
.fiaca-unified .notice.is-warn { background: var(--fiaca-selection); color: var(--fiaca-navy); border-left: 4px solid var(--fiaca-accent-dark); }
.fiaca-unified .notice.is-success, .fiaca-unified .notice.is-ok { background: var(--ok); color: #fff; }
.fiaca-unified .notice.is-error { background: var(--error); color: #fff; }
.fiaca-unified .segmented label:has(input:checked) { background: var(--fiaca-navy); color: #fff; border-color: var(--fiaca-navy); }
.fiaca-unified .tag-me { background: var(--fiaca-navy); color: #fff; }
.fiaca-unified .agenda-cal-task:hover, .fiaca-unified .agenda-cal-task:focus-visible { background: var(--fiaca-selection); color: var(--fiaca-navy); box-shadow: inset 0 0 0 1px var(--fiaca-accent-dark); }
