/* Additive portal styles. The legacy dashboard stylesheet remains unchanged. */
.cadence-dashboard { --cadence-overlay-base: #fff; --cadence-v2-success-text: #166534; --cadence-v2-danger-text: #991b1b; }
.cadence-dashboard[data-cadence-mode="dark"] { --cadence-overlay-base: #17181c; --cadence-v2-success-text: #86efac; --cadence-v2-danger-text: #fca5a5; }
.cadence-dashboard :is(button, input, select, textarea, a, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--eff-color-focus, var(--eff-color-accent));
  outline-offset: 3px;
}
.cadence-dashboard .cadence-datebar .cadence-button.is-active,
.cadence-dashboard .cadence-datebar .cadence-button.is-active:hover,
.cadence-dashboard .cadence-datebar .cadence-button.is-active:focus,
.cadence-dashboard .cadence-nav button.is-active,
.cadence-dashboard .cadence-nav button.is-active:hover,
.cadence-dashboard .cadence-nav button.is-active:focus,
.cadence-dashboard .cadence-button.is-primary,
.cadence-dashboard .cadence-button.is-primary:hover,
.cadence-dashboard .cadence-button.is-primary:focus {
  color: var(--eff-color-bg) !important;
  background: var(--eff-color-text) !important;
  background-color: var(--eff-color-text) !important;
  border-color: var(--eff-color-text) !important;
}

.cadence-dashboard .cadence-nav .cadence-unread-badge {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; min-width: 22px; margin-left: auto; padding: 2px 6px;
  color: inherit; border: 1px solid currentColor; border-radius: 999px;
  font-size: 0.75rem; font-weight: 600; line-height: 1.25;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .cadence-dashboard .cadence-nav button { position: relative; }
  .cadence-dashboard .cadence-nav .cadence-unread-badge { position: absolute; top: -4px; right: -4px; min-width: 18px; padding: 1px 4px; color: var(--eff-color-text); background: var(--cadence-overlay-base); font-size: 0.6875rem; }
}

.cadence-v2-content { min-width: 0; }
.cadence-v2-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cadence-metric-label {
  margin: 0 0 9px;
  color: var(--eff-color-text);
  font-family: var(--eff-font-body); font-size: 0.875rem; line-height: 1.5; font-weight: 600;
}
.cadence-metric-reason { margin: var(--eff-space-3) 0 0; font-size: 0.8125rem; }
.cadence-goal-target { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; margin: var(--eff-space-3) 0 0; padding-top: var(--eff-space-2); border-top: 1px dashed var(--eff-color-border-strong, var(--eff-color-border)); font-size: 0.8125rem; }
.cadence-goal-target::before { content: ""; display: inline-block; width: 12px; border-top: 2px solid var(--eff-color-accent); }
.cadence-account { display: flex; align-items: center; gap: var(--eff-space-2); min-height: 44px; margin-bottom: var(--eff-space-2); padding: 8px; color: var(--eff-color-text); border-radius: var(--eff-radius-sm); font-size: 0.875rem; text-decoration: none; }
.cadence-account:hover { background: var(--eff-color-bg); }
@media (min-width: 768px) and (max-width: 1023px) { .cadence-account { justify-content: center; padding: 8px 0; } .cadence-account > span:not(.cadence-icon) { display: none; } }
.cadence-muted { color: var(--eff-color-text); overflow-wrap: anywhere; }
.cadence-prose { white-space: pre-wrap; overflow-wrap: anywhere; }
.cadence-sr-only {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.cadence-panel,
.cadence-disclosure {
  margin: 0 0 var(--eff-space-5);
  padding: var(--eff-space-5);
  color: var(--eff-color-text);
  background: var(--eff-color-surface);
  border: 1px solid var(--eff-color-border);
  border-radius: var(--eff-radius-md);
}
.cadence-panel > h3 { margin: 0 0 var(--eff-space-3); font-size: 1.125rem; }
.cadence-disclosure > summary { cursor: pointer; font-weight: 600; }
.cadence-disclosure > p:last-child { margin-bottom: 0; }
.cadence-disclosure[open] > summary { margin-bottom: var(--eff-space-4); }
.cadence-chip {
  display: inline-block;
  padding: 3px 8px;
  color: var(--eff-color-text);
  background: var(--eff-color-bg);
  border: 1px solid var(--eff-color-border);
  border-radius: 999px;
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 600;
}
.cadence-chip.is-good,
.cadence-v2-content .cadence-delta.is-good { color: var(--cadence-v2-success-text); }
.cadence-chip.is-bad,
.cadence-v2-content .cadence-delta.is-bad { color: var(--cadence-v2-danger-text); }
.cadence-v2-content .cadence-delta.is-neutral,
.cadence-v2-content .cadence-source-note,
.cadence-v2-content .cadence-source-warning { color: var(--eff-color-text); }
.cadence-section-heading,
.cadence-action-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--eff-space-3); margin-bottom: var(--eff-space-4); }
.cadence-section-heading > h3 { margin: 0; font-size: 1.125rem; }
.cadence-action-row { justify-content: flex-start; }
.cadence-form { display: grid; gap: var(--eff-space-4); }
.cadence-form label { display: grid; gap: var(--eff-space-2); color: var(--eff-color-text); font-size: 0.875rem; font-weight: 500; }
.cadence-dashboard .cadence-form :is(input, select, textarea) {
  display: block;
  width: 100%; min-width: 0; max-width: 100%; min-height: 44px;
  padding: 10px 12px;
  color: var(--eff-color-text);
  background: var(--eff-color-surface);
  border: 1px solid var(--eff-color-border);
  border-radius: var(--eff-radius-sm);
  font: inherit;
}
.cadence-form textarea { resize: vertical; }
.cadence-form > .cadence-button { justify-self: start; }
.cadence-form [data-form-status] { margin: 0; overflow-wrap: anywhere; }
.cadence-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cadence-form-wide { grid-column: 1 / -1; }
.cadence-dashboard .cadence-button { min-height: 44px; }
.cadence-dashboard .cadence-button:disabled { opacity: 0.65; cursor: wait; }
.cadence-inline-error,
.cadence-main > .cadence-error { color: var(--cadence-v2-danger-text); }
.cadence-board { display: grid; grid-template-columns: repeat(5, minmax(220px, 1fr)); gap: var(--eff-space-4); overflow-x: auto; padding: 3px 3px var(--eff-space-4); }
.cadence-board-column { min-width: 0; padding: var(--eff-space-3); background: var(--eff-color-bg); border: 1px solid var(--eff-color-border); border-radius: var(--eff-radius-md); }
.cadence-board-column h4 { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0 0 var(--eff-space-4); font-size: 0.875rem; }
.cadence-count { display: inline-grid; place-items: center; min-width: 24px; min-height: 24px; padding: 0 5px; border: 1px solid var(--eff-color-border); border-radius: 999px; }
.cadence-board-column > ul,
.cadence-report-list { list-style: none; margin: 0; padding: 0; }
.cadence-request-card { margin-bottom: var(--eff-space-3); padding: var(--eff-space-4); background: var(--eff-color-surface); border: 1px solid var(--eff-color-border); border-radius: var(--eff-radius-sm); }
.cadence-request-card > p { margin: var(--eff-space-2) 0 0; font-size: 0.8125rem; }
.cadence-dashboard .cadence-request-open {
  display: inline-block; min-height: 44px; width: 100%; padding: 0;
  color: var(--eff-color-text); background: transparent;
  border: 0; border-radius: var(--eff-radius-sm);
  font-family: var(--eff-font-body); font-size: 0.9375rem; line-height: 1.5; font-weight: 600;
  text-align: left; text-decoration: underline; text-underline-offset: 3px;
  overflow-wrap: anywhere; cursor: pointer;
}
.cadence-column-empty { font-size: 0.8125rem; }
.cadence-table-wrap { overflow: auto; border-radius: var(--eff-radius-sm); }
.cadence-table { width: 100%; min-width: 640px; border-collapse: collapse; text-align: left; font-size: 0.875rem; }
.cadence-table :is(th, td) { padding: 12px; border-bottom: 1px solid var(--eff-color-border); vertical-align: top; }
.cadence-table thead th { background: var(--eff-color-bg); font-weight: 600; }
.cadence-dialog {
  width: min(760px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  margin: auto; padding: 0; overflow: auto;
  color: var(--eff-color-text);
  background-color: var(--cadence-overlay-base, #fff);
  background-image: linear-gradient(var(--eff-color-surface-raised, var(--eff-color-surface, #fff)), var(--eff-color-surface-raised, var(--eff-color-surface, #fff)));
  border: 1px solid var(--eff-color-border); border-radius: var(--eff-radius-lg);
  font-family: var(--eff-font-body); line-height: 1.5;
}
.cadence-dialog::backdrop { background: rgba(0, 0, 0, 0.68); }
.cadence-dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--eff-space-4); padding: var(--eff-space-5); border-bottom: 1px solid var(--eff-color-border); background: transparent; }
.cadence-dialog-heading h3 { margin: 0; font-family: var(--eff-font-heading); font-size: 1.25rem; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
.cadence-dialog-body { padding: var(--eff-space-5); }
.cadence-dialog a { color: var(--eff-color-text); text-decoration: underline; text-underline-offset: 3px; }
.cadence-comments { margin-top: var(--eff-space-5); padding-top: var(--eff-space-4); border-top: 1px solid var(--eff-color-border); }
.cadence-comments h4,
.cadence-report-section h4 { margin: 0 0 var(--eff-space-3); font-size: 1rem; }
.cadence-comments li { margin-bottom: var(--eff-space-4); }
.cadence-comments li p { margin: 0 0 var(--eff-space-2); }
.cadence-report-section { margin: var(--eff-space-5) 0; }
.cadence-report-section > ol { padding-left: 24px; }
.cadence-idea { margin-bottom: var(--eff-space-5); }
.cadence-snapshot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--eff-space-4); }
.cadence-snapshot > div { padding: var(--eff-space-3); background: var(--eff-color-bg); border: 1px solid var(--eff-color-border); border-radius: var(--eff-radius-sm); }
.cadence-snapshot dt { color: var(--eff-color-text); font-size: 0.8125rem; }
.cadence-snapshot dd { margin: 4px 0 0; font-weight: 600; overflow-wrap: anywhere; }

@media (max-width: 767px) {
  .cadence-v2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cadence-v2-grid .cadence-card { padding: 14px; }
  .cadence-v2-grid .cadence-value { font-size: 1.375rem; overflow-wrap: anywhere; }
  .cadence-board { grid-template-columns: minmax(0, 1fr); overflow-x: visible; }
  .cadence-form-grid { grid-template-columns: minmax(0, 1fr); }
  .cadence-panel,
  .cadence-disclosure,
  .cadence-dialog-body,
  .cadence-dialog-heading { padding: var(--eff-space-4); }
  .cadence-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
}
@media (max-width: 359px) {
  .cadence-v2-grid,
  .cadence-snapshot { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  #wpadminbar,
  .cadence-rail,
  .cadence-header-actions,
  .cadence-controls,
  .cadence-live,
  .cadence-error { display: none !important; }
  body:has(.cadence-report-dialog[open]) { background: #fff !important; }
  .cadence-dashboard-template,
  .cadence-dashboard-page { padding: 0 !important; margin: 0 !important; background: #fff !important; }
  .cadence-dashboard:has(.cadence-report-dialog[open]) > .cadence-shell { display: none !important; }
  .cadence-shell { display: block; overflow: visible; border: 0; }
  .cadence-main { padding: 0; }
  .cadence-report-dialog[open] { position: static; display: block; width: 100%; max-width: none; height: auto; max-height: none; margin: 0; overflow: visible; background: #fff; color: #000; border: 0; border-radius: 0; box-shadow: none; }
  .cadence-report-dialog::backdrop { display: none; }
  .cadence-report-dialog .cadence-dialog-heading,
  .cadence-report-dialog .cadence-dialog-body { padding: 0; background: #fff; color: #000; }
  .cadence-report-dialog .cadence-dialog-heading { margin-bottom: 20px; padding-bottom: 12px; border-color: #bbb; }
  .cadence-report-dialog .cadence-muted,
  .cadence-report-dialog dt { color: #444; }
  .cadence-report-section,
  .cadence-snapshot > div { break-inside: avoid; }
  .cadence-snapshot > div { background: #fff; border-color: #bbb; }
  .cadence-report-content a { color: #000; }
  .cadence-report-content a[href]::after { content: " (" attr(href) ")"; }
}
.cadence-interface-switch { display: inline-flex; flex-wrap: nowrap; gap: 4px; padding: 4px; background: var(--eff-color-surface); border: 1px solid var(--eff-color-border); border-radius: 12px; }
.cadence-interface-switch a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 13px; color: var(--eff-color-text); border-radius: 8px; font-size: 14px; text-decoration: none; }
.cadence-interface-switch a[aria-current="page"] { background: var(--eff-color-bg); font-weight: 700; }
.cadence-interface-switch a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
