/*
 * OfficeLaw — tema Padrão Pantone.
 * Verde de referência amostrado da proposta: #009C77.
 * O layout congelado da Rodada 56 permanece inalterado.
 */

:root[data-theme-resolved="standard"] {
  color-scheme: light;
  --pantone-green: #009c77;
  --pantone-green-accessible: #007a5d;
  --pantone-green-deep: #00634c;
  --institutional-blue: #0e58b9;
  --institutional-blue-deep: #0a438d;
  --institutional-blue-soft: rgba(14, 88, 185, 0.09);
  --institutional-blue-ring: rgba(14, 88, 185, 0.28);

  --bg: #f4f7f9;
  --bg-elevated: #f9fbfc;
  --bg-layered: #ffffff;
  --sidebar: #f8fafb;
  --panel: #ffffff;
  --panel-strong: #f4f8f9;
  --panel-muted: #edf3f5;
  --panel-hover: #eaf2f5;
  --line: #d9e3e6;
  --line-strong: #c4d2d7;
  --line-soft: #e7edef;
  --text: #172b36;
  --text-strong: #0d202a;
  --muted: #526873;
  --muted-2: #687c85;
  --muted-3: #87979e;
  --accent: var(--pantone-green-accessible);
  --accent-strong: var(--pantone-green-deep);
  --accent-soft: rgba(0, 156, 119, 0.1);
  --accent-ring: rgba(0, 156, 119, 0.3);
  --success: #007a5d;
  --success-soft: rgba(0, 156, 119, 0.1);
  --warning: #a86f16;
  --warning-soft: rgba(184, 121, 25, 0.11);
  --danger: #ad3d4b;
  --danger-soft: rgba(173, 61, 75, 0.1);
  --info: var(--institutional-blue);
  --info-soft: var(--institutional-blue-soft);
  --shadow-soft: 0 1px 2px rgba(13, 32, 42, 0.04);
  --shadow-medium: 0 14px 36px rgba(13, 32, 42, 0.07);

  --color-primary: #12394c;
  --color-primary-hover: #0b2d3d;
  --color-accent: var(--pantone-green);
  --color-success: var(--pantone-green-accessible);
  --color-warning: #a86f16;
  --color-danger: #ad3d4b;
  --color-info: var(--institutional-blue);
  --color-bg: var(--bg);
  --color-surface: var(--panel);
  --color-border: var(--line);
  --color-text: var(--text);
  --color-text-muted: var(--muted);

  --oly-color-primary-900: #0d202a;
  --oly-color-primary-800: #12394c;
  --oly-color-primary-700: #0e4f6d;
  --oly-color-primary-600: #0e58b9;
  --oly-color-primary-500: #3978c9;
  --oly-color-accent-600: #007a5d;
  --oly-color-accent-500: #009c77;
  --oly-color-accent-400: #35b797;
  --oly-color-success: #007a5d;
  --oly-color-success-light: #dff5ee;
  --oly-color-info: #0e58b9;
  --oly-color-info-light: #e8f1fc;
  --oly-surface-bg: #f4f7f9;
  --oly-surface-card: #ffffff;
  --oly-border-color: #d9e3e6;
}

:root[data-theme-resolved="standard"] .app-shell .sidebar,
:root[data-theme-resolved="standard"] .owner-sidebar {
  background: var(--sidebar);
}

:root[data-theme-resolved="standard"] .app-shell .nav button.active,
:root[data-theme-resolved="standard"] .owner-nav button.active {
  border-color: var(--institutional-blue-ring);
  background: var(--institutional-blue-soft);
  color: var(--institutional-blue-deep);
}

:root[data-theme-resolved="standard"] .app-shell .nav button.active::before,
:root[data-theme-resolved="standard"] .owner-nav button.active::before {
  background: var(--institutional-blue);
}

:root[data-theme-resolved="standard"] .app-shell .nav button:hover,
:root[data-theme-resolved="standard"] .owner-nav button:hover {
  color: var(--institutional-blue-deep);
}

:root[data-theme-resolved="standard"] .agenda-timeline-marker {
  background: var(--institutional-blue);
}

:root[data-theme-resolved="standard"] .agenda-timeline-row:is(
  [data-agenda-status="VALIDADO"],
  [data-agenda-status="CUMPRIDO_MATERIALMENTE"],
  [data-agenda-status="BAIXADO_OPERACIONALMENTE"]
) .agenda-timeline-marker {
  background: var(--pantone-green);
}

:root[data-theme-resolved="standard"] .agenda-timeline-row:focus-visible {
  box-shadow: inset 3px 0 0 var(--pantone-green), inset 0 0 0 1px var(--institutional-blue-ring);
}

:root[data-theme-resolved="standard"] .app-shell .shell-theme-toggle button.active {
  border-color: var(--accent-ring);
  background: var(--accent-soft);
  color: var(--accent-strong);
}

:root[data-theme-resolved="standard"] :where(.runtime-banner, .eyebrow) {
  text-rendering: geometricPrecision;
}

:root[data-theme-resolved="standard"] ::selection {
  background: rgba(0, 156, 119, 0.2);
  color: var(--text-strong);
}
