@font-face {
  font-family:Nunito;
  src:url('/assets/nunito-latin-400-normal.woff2') format('woff2');
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:Nunito;
  src:url('/assets/nunito-latin-700-normal.woff2') format('woff2');
  font-weight:700;
  font-display:swap;
}
@font-face {
  font-family:Nunito;
  src:url('/assets/nunito-latin-800-normal.woff2') format('woff2');
  font-weight:800;
  font-display:swap;
}
:root {
  --type-caption:.9375rem;
  --type-body:1rem;
  --type-emphasis:1.125rem;
  --type-card:1.1875rem;
  --type-section:1.375rem;
  --type-heading:1.625rem;
  --type-display:2.125rem;
  --ink:#0a0a0a;
  --text:#34342f;
  --muted:#65655e;
  --orange:#ffa500;
  --orange-ink:#815000;
  --cream:#f4f2ed;
  --working:#ee9a08;
  --planned:#168475;
  --review:#5362d5;
  --confirmation:#c34c28;
  --working-soft:#fff3d9;
  --planned-soft:#e9f6f2;
  --review-soft:#eef0ff;
  --confirmation-soft:#fff0e9;
  --soft:#fff8ec;
  --paper:#fff;
  --line:#e4e4dc;
  --green:#196c47;
  --green-soft:#edf7f0;
  --amber:#815000;
  --amber-soft:#fff3d8;
  --red:#9c3535;
  --radius:14px;
  font-family:Nunito,system-ui,sans-serif;
  color:var(--text);
  background:var(--cream);
  font-synthesis:none;
  font-size:100%;
  font-variant-numeric:tabular-nums;
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
  min-width:0;
  min-height:100vh;
  background:radial-gradient(ellipse at 90% 65%,rgba(245,168,0,.12),transparent 55%),linear-gradient(145deg,#f8fafc 0%,#fff 34%,#fffaf0 68%,#fff4d8 100%);
  background-attachment:fixed;
}
button,input,select {
  font:inherit;
}
button,a,input,select,summary {
  -webkit-tap-highlight-color:transparent;
}
button,select,summary {
  cursor:pointer;
}
button {
  color:inherit;
}
a {
  color:var(--orange-ink);
  text-underline-offset:4px;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid var(--orange-ink);
  outline-offset:4px;
}
::selection {
  background:#ffda94;
  color:var(--ink);
}
input {
  caret-color:var(--orange-ink);
}
* {
  scrollbar-color:#b7b7aa var(--cream);
  scrollbar-width:thin;
}
[hidden] {
  display:none!important;
}
svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
}
h1,h2,h3,p {
  margin:0;
}
h1,h2,h3 {
  text-wrap:balance;
  color:var(--ink);
}
p {
  line-height:1.6;
}
button:disabled {
  cursor:wait;
  opacity:.6;
}
.muted {
  color:var(--muted);
}
.skip-link {
  position:fixed;
  left:16px;
  top:12px;
  background:var(--orange);
  color:var(--ink);
  padding:10px 16px;
  z-index:5;
  transform:translateY(-160%);
}
.skip-link:focus {
  transform:translateY(0);
}
.topbar {
  display:flex;
  align-items:center;
  gap:44px;
  padding:20px max(28px,calc((100vw - 1440px)/2));
  background:var(--paper);
}
.brand {
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.brand img {
  display:block;
  width:149px;
  height:auto;
}
.topbar nav {
  display:flex;
  align-items:center;
  gap:28px;
  margin-left:auto;
}
.topbar nav a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:var(--type-body);
  text-decoration:none;
  font-weight:700;
  color:var(--muted);
  padding:7px 0;
}
.topbar nav a:hover {
  color:var(--ink);
}
.topbar nav .nav-current {
  color:var(--ink);
  border-bottom:2px solid var(--orange);
}
.internal-label {
  font-size:var(--type-caption);
  color:var(--muted);
  border:1px solid var(--line);
  border-radius:6px;
  padding:5px 8px;
  white-space:nowrap;
}
.masthead {
  background:var(--ink);
  color:#fff;
  border-bottom:2px solid var(--orange);
}
.masthead-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
  max-width:1496px;
  margin:auto;
  padding:38px 28px 42px;
}
.masthead h1 {
  font-size:clamp(30px,3vw,44px);
  letter-spacing:-.025em;
  font-weight:800;
  color:#fff;
  line-height:1.15;
}
.masthead h1 span {
  color:var(--orange);
}
.masthead p {
  color:#c6c6bc;
  font-size:var(--type-body);
  margin-top:12px;
  max-width:65ch;
}
.sync-area {
  flex-shrink:0;
}
.sync-area>p {
  font-size:var(--type-caption);
  margin:0 0 12px;
  color:#d4d4c9;
  max-width:290px;
  text-align:right;
}
.sync-actions {
  display:flex;
  align-items:center;
  gap:20px;
}
.button {
  border:1px solid transparent;
  border-radius:8px;
  min-height:44px;
  padding:10px 16px;
  font-weight:800;
  font-size:var(--type-body);
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  transition:background-color .16s ease-out,border-color .16s ease-out;
}
.primary {
  background:var(--orange);
  color:var(--ink);
}
.primary:hover {
  background:#ffbd47;
}
.secondary {
  background:var(--paper);
  border-color:#c9c9bd;
  color:var(--text);
}
.secondary:hover {
  background:var(--soft);
  border-color:#b78b43;
}
.open-link {
  color:#eeeede;
  font-size:var(--type-caption);
  text-decoration:none;
}
.open-link:hover {
  text-decoration:underline;
}
main {
  max-width:1496px;
  margin:auto;
  padding:28px 28px 48px;
}
.filter-panel {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:17px 20px 0;
}
.filter-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:13px;
  gap:16px;
}
.filter-heading>span {
  font-size:var(--type-body);
  font-weight:800;
  color:var(--ink);
}
.text-button {
  background:transparent;
  border:0;
  padding:5px 0;
  color:var(--orange-ink);
  font-size:var(--type-caption);
  font-weight:800;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.text-button:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}
.filters {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:14px;
}
.filters label {
  display:block;
  font-size:var(--type-caption);
  font-weight:800;
  color:var(--muted);
  min-width:0;
}
.filters select,.filters input {
  margin-top:6px;
  width:100%;
  min-width:0;
  height:44px;
  border:1px solid #cdcdc2;
  border-radius:7px;
  background:var(--paper);
  color:var(--text);
  padding:0 11px;
  font-size:var(--type-body);
  font-weight:400;
}
.filters select:hover,.filters input:hover {
  border-color:#a8a895;
}
.filters input::placeholder {
  color:#717168;
  opacity:1;
}
.input-wrap {
  position:relative;
}
.input-wrap svg {
  position:absolute;
  left:11px;
  top:18px;
  width:17px;
  height:17px;
  color:var(--muted);
}
.filters .input-wrap input {
  padding-left:36px;
}
.more-filters {
  margin-top:15px;
  border-top:1px solid var(--line);
}
.more-filters>summary {
  padding:11px 0;
  font-size:var(--type-caption);
  font-weight:800;
  color:var(--orange-ink);
  width:fit-content;
  min-height:44px;
}
.more-filters>summary span {
  color:var(--muted);
  font-size:var(--type-caption);
  font-weight:400;
  margin-left:7px;
}
.advanced {
  padding:4px 0 18px;
}
.workspace {
  display:grid;
  grid-template-columns:minmax(0,1fr) 272px;
  gap:28px;
  margin-top:34px;
  align-items:start;
}
.section-heading {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:2px 12px;
  margin-bottom:4px;
}
.section-heading h2 {
  font-size:var(--type-heading);
  font-weight:800;
  letter-spacing:-.02em;
}
.section-heading p {
  margin:0;
  font-size:var(--type-caption);
  color:var(--muted);
}
.copy-button {
  font-size:var(--type-caption);
  white-space:nowrap;
}
.copy-button svg {
  width:15px;
  height:15px;
}
.status-tabs {
  display:flex;
  align-items:stretch;
  border-bottom:1px solid #d4d4c8;
  gap:4px;
  overflow-x:auto;
}
.status-tabs button {
  display:flex;
  gap:6px;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:10px 10px 12px;
  min-height:48px;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  font-size:var(--type-caption);
  font-weight:700;
  color:var(--muted);
}
.status-tabs button:hover {
  background:var(--soft);
  color:var(--ink);
}
.status-tabs button[aria-pressed=true] {
  border-bottom-color:var(--orange);
  color:var(--ink);
  font-weight:800;
}
.status-tabs span {
  min-width:20px;
  padding:2px 5px;
  background:#eaeae0;
  border-radius:5px;
  font-size:var(--type-caption);
  color:#4e4e45;
}
.status-tabs button[aria-pressed=true] span {
  background:#ffdf9f;
  color:#573600;
}
.list-caption {
  font-size:var(--type-caption);
  color:var(--muted);
  margin:13px 0 14px;
  line-height:1.5;
}
.demand-list {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.demand {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:12px;
  overflow:clip;
}
.demand>summary {
  list-style:none;
  padding:19px 20px;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:22px;
  row-gap:13px;
}
.demand>summary::-webkit-details-marker {
  display:none;
}
.demand>summary:hover {
  background:#fffdf8;
}
.demand>summary:focus-visible {
  outline-offset:-4px;
}
.demand-top {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:var(--type-caption);
}
.item-id {
  font-weight:800;
  color:var(--muted);
}
.kind {
  color:var(--muted);
}
.client-name {
  color:var(--ink);
  font-weight:800;
  font-size:var(--type-caption);
}
.priority {
  color:var(--amber);
  font-size:var(--type-caption);
  background:var(--amber-soft);
  padding:2px 6px;
  border-radius:4px;
}
.demand h3 {
  font-size:var(--type-emphasis);
  line-height:1.45;
  font-weight:800;
  letter-spacing:-.01em;
  margin-top:7px;
  max-width:64ch;
  text-wrap:pretty;
}
.status-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:var(--type-caption);
  line-height:1.4;
  font-weight:800;
  border-radius:5px;
  padding:5px 8px;
  white-space:nowrap;
  background:#efefe8;
  color:#55554b;
}
.status-badge:before {
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  flex-shrink:0;
}
.status-badge.working {
  background:var(--working-soft);
  color:#815000;
}
.status-badge.confirmation {
  background:var(--confirmation-soft);
  color:#ac4325;
}

.status-badge.completed { background:var(--green-soft); color:var(--green); }
.row-side {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:space-between;
  gap:13px;
  min-width:145px;
}
.expand-label {
  font-size:var(--type-caption);
  color:var(--muted);
  display:flex;
  gap:5px;
  align-items:center;
}
.expand-label svg {
  width:14px;
  height:14px;
  transition:transform .2s ease-out;
}
.demand[open] .expand-label svg {
  transform:rotate(180deg);
}
.row-meta {
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:8px 20px;
  flex-wrap:wrap;
  font-size:var(--type-caption);
  color:var(--muted);
}
.row-meta .due-expired {
  color:var(--amber);
}
.row-meta span {
  display:flex;
  align-items:center;
  gap:5px;
}
.row-meta svg {
  width:13px;
  height:13px;
}
.quality-hint {
  grid-column:1/-1;
  display:flex;
  align-items:flex-start;
  gap:7px;
  font-size:var(--type-caption);
  line-height:1.5;
  color:var(--amber);
}
.quality-hint svg {
  width:14px;
  height:14px;
  margin-top:1px;
}
.demand[open] {
  border-color:#c9b993;
}
.demand-detail {
  border-top:1px solid var(--line);
  padding:19px 20px 21px;
  background:#fdfdf9;
  animation:detail-reveal .2s ease-out;
}
.detail-reason {
  font-size:var(--type-caption);
  color:var(--text);
  line-height:1.6;
}
.detail-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 24px;
  margin:19px 0;
}
.detail-grid div {
  min-width:0;
}
.detail-grid dt {
  font-size:var(--type-caption);
  color:var(--muted);
}
.detail-grid dd {
  font-size:var(--type-caption);
  color:var(--ink);
  margin:4px 0 0;
  overflow-wrap:anywhere;
}
.source-title {
  font-size:var(--type-caption);
  color:var(--muted);
  margin-bottom:15px;
  overflow-wrap:anywhere;
}
.detail-section {
  margin-top:24px;
}
.detail-section h4 {
  font-size:var(--type-caption);
  margin:0 0 10px;
  font-weight:800;
  color:var(--ink);
}
.activity-table {
  width:100%;
  border-collapse:collapse;
  font-size:var(--type-caption);
  text-align:left;
}
.activity-table caption {
  font-size:var(--type-caption);
  text-align:left;
  color:var(--muted);
  padding-bottom:10px;
}
.activity-table th {
  font-size:var(--type-caption);
  color:var(--muted);
  font-weight:700;
  padding:8px 9px;
  border-bottom:1px solid var(--line);
}
.activity-table td {
  padding:11px 9px;
  border-bottom:1px solid #ecece2;
  vertical-align:top;
}
.activity-table td:first-child {
  min-width:150px;
}
.activity-table th:first-child,.activity-table td:first-child {
  padding-left:0;
}
.activity-table td small {
  display:block;
  margin-top:4px;
  color:var(--muted);
}
.table-scroll {
  overflow-x:auto;
}
.raw-state {
  display:inline-block;
  color:var(--text);
  font-size:var(--type-caption);
  background:#efefe7;
  padding:3px 6px;
  border-radius:4px;
  white-space:nowrap;
}
.detail-note {
  font-size:var(--type-caption);
  color:var(--muted);
  line-height:1.65;
}
.pr-list,.warning-list {
  list-style:none;
  padding:0;
  margin:0;
}
.pr-list li {
  padding:11px 0;
  border-bottom:1px solid var(--line);
  font-size:var(--type-caption);
}
.pr-list li>div {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.pr-list p {
  margin-top:7px;
  font-size:var(--type-caption);
  color:var(--muted);
  overflow-wrap:anywhere;
}
.warning-list li {
  font-size:var(--type-caption);
  line-height:1.6;
  color:var(--amber);
  margin-top:8px;
}
.detail-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  margin-top:20px;
  padding-top:15px;
  border-top:1px solid var(--line);
  font-size:var(--type-caption);
}
.detail-actions a {
  font-weight:800;
}
.detail-actions span {
  color:var(--muted);
}
.show-more {
  display:flex;
  margin:18px auto 0;
}
.executive-aside {
  padding-top:2px;
}
.executive-aside h2 {
  font-size:var(--type-body);
  font-weight:800;
}
.aside-intro {
  font-size:var(--type-caption);
  color:var(--muted);
  margin-top:5px;
}
.signal-panel {
  padding:0 0 25px;
  border-bottom:1px solid #d8d8cd;
}
.signal {
  padding:15px 0;
  border-bottom:1px solid #e4e4d8;
}
.signal:last-child {
  border-bottom:0;
  padding-bottom:0;
}
.signal strong {
  display:block;
  font-size:var(--type-body);
  color:var(--ink);
  font-weight:800;
}
.signal p {
  margin-top:4px;
  color:var(--muted);
  font-size:var(--type-caption);
  line-height:1.6;
}
.signal button {
  margin-top:5px;
}
.signal-number {
  font-size:var(--type-section);
  margin-right:4px;
}
.source-panel {
  padding-top:25px;
}
.source-panel dl {
  margin:13px 0;
}
.source-panel dl>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 0;
  font-size:var(--type-caption);
}
.source-panel dt {
  color:var(--muted);
}
.source-panel dd {
  margin:0;
  font-size:var(--type-caption);
  font-weight:800;
  text-align:right;
}
.source-ok {
  color:var(--green);
}
.source-warning {
  color:var(--amber);
}
.sprint-context {
  font-size:var(--type-caption);
  color:var(--muted);
  line-height:1.7;
}
.coverage-details {
  margin-top:16px;
  padding-top:13px;
  border-top:1px solid #d8d8cd;
  font-size:var(--type-caption);
}
.coverage-details summary {
  font-weight:800;
  color:var(--orange-ink);
  padding:4px 0;
}
.coverage-details p {
  margin-top:10px;
}
.coverage-details ul {
  padding-left:16px;
  margin-bottom:0;
  color:var(--muted);
}
.coverage-details li {
  margin-top:9px;
  line-height:1.6;
}
.scope-review {
  margin-top:30px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:15px 18px;
  font-size:var(--type-caption);
  background:var(--soft);
}
.scope-review summary {
  font-weight:800;
  color:var(--orange-ink);
}
.scope-review>p {
  margin-top:10px;
}
.scope-review ul {
  margin-bottom:0;
  padding-left:18px;
}
.scope-review li {
  margin-top:12px;
}
.scope-review li p {
  font-size:var(--type-caption);
  color:var(--muted);
  margin-top:4px;
}
.reading-guide {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:50px;
  padding:29px 0 0;
  margin-top:46px;
  border-top:1px solid #d8d8cd;
}
.reading-guide h2 {
  font-size:1.5rem;
  letter-spacing:-.02em;
}
.reading-guide>div p {
  font-size:var(--type-caption);
  margin-top:10px;
  color:var(--muted);
  max-width:45ch;
}
.reading-guide dl {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 28px;
  margin:0;
}
.reading-guide dt {
  font-size:var(--type-caption);
  font-weight:800;
  color:var(--ink);
}
.reading-guide dd {
  margin:5px 0 0;
  font-size:var(--type-caption);
  color:var(--muted);
  line-height:1.7;
}
footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  max-width:1496px;
  margin:auto;
  padding:20px 28px 26px;
  font-size:var(--type-caption);
  color:var(--muted);
  border-top:1px solid var(--line);
}
footer a {
  color:var(--text);
  text-decoration:none;
}
footer a:hover {
  text-decoration:underline;
}
.loading-line {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:var(--type-caption);
  color:var(--muted);
  padding:0 0 18px;
}
.loading-dot {
  width:8px;
  height:8px;
  background:var(--orange-ink);
  border-radius:50%;
  opacity:1;
}
.error-box {
  padding:16px 20px;
  border:1px solid #dcbcbc;
  background:#fff5f3;
  color:var(--red);
  border-radius:10px;
  margin-bottom:20px;
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}
.error-box strong {
  font-size:var(--type-body);
}
.error-box p {
  font-size:var(--type-caption);
  margin-top:4px;
}
.error-box>div {
  flex:1;
  min-width:220px;
}
.error-box>a {
  font-size:var(--type-caption);
  color:var(--red);
}
.empty-state {
  text-align:center;
  padding:50px 22px;
  border:1px dashed #d1d1c5;
  border-radius:12px;
  background:var(--paper);
}
.empty-state>svg {
  width:42px;
  height:44px;
  color:#8b8b7c;
  margin-bottom:12px;
}
.empty-state h3 {
  font-size:var(--type-card);
}
.empty-state p {
  font-size:var(--type-caption);
  color:var(--muted);
  max-width:55ch;
  margin:8px auto 18px;
}
.demo-notice {
  padding:11px 20px;
  text-align:center;
  background:var(--orange);
  color:var(--ink);
  font-size:var(--type-caption);
  line-height:1.6;
}
.demo-notice strong {
  margin-right:8px;
}
.demo-notice a {
  color:var(--ink);
  margin-left:12px;
}
.toast {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  max-width:calc(100% - 32px);
  background:var(--ink);
  color:#fff;
  padding:12px 20px;
  border-radius:8px;
  font-size:var(--type-caption);
  box-shadow:0 6px 20px #0002;
  z-index:4;
}
.is-loading #refresh svg {
  animation:spin 1.2s linear infinite;
}
.is-stale .sync-area>p {
  color:#ffcf78;
}
@keyframes spin {
  to {
    transform:rotate(360deg);
  }
}
@keyframes detail-reveal {
  from {
    clip-path:inset(0 0 8% 0);
  }
  to {
    clip-path:inset(0);
  }
}
@media(min-width:1600px) {
  .topbar {
    padding-right:max(28px,calc((100vw - 1440px)/2));
    padding-left:max(28px,calc((100vw - 1440px)/2));
  }
}
@media(max-width:1180px) {
  .workspace {
    grid-template-columns:minmax(0,1fr) 230px;
    gap:22px;
  }
  .status-tabs {
    gap:0;
  }
  .status-tabs button {
    font-size:var(--type-caption);
    padding:10px 7px 12px;
  }
  .status-tabs span {
    min-width:17px;
  }
  .sync-actions {
    gap:12px;
  }
  .open-link {
    display:none;
  }
  .filters {
    grid-template-columns:1.2fr 1fr 1fr;
  }
  .filters>label:last-child {
    grid-column:auto;
  }
  .filters .search-field {
    grid-column:1/-1;
  }
  .filters.advanced {
    grid-template-columns:1fr 1fr;
  }
  .row-side {
    min-width:120px;
  }
  .demand>summary {
    column-gap:15px;
  }
}
@media(max-width:960px) {
  .workspace {
    grid-template-columns:1fr;
  }
  .executive-aside {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin-top:8px;
  }
  .signal-panel {
    padding-bottom:0;
    border-bottom:0;
  }
  .source-panel {
    padding-top:0;
  }
  .masthead-inner {
    gap:22px;
  }
  .masthead p {
    font-size:var(--type-body);
  }
  .sync-area>p {
    max-width:210px;
  }
  .reading-guide {
    gap:28px;
  }
  .topbar {
    gap:24px;
  }
  .topbar nav {
    gap:18px;
  }
  .row-side {
    min-width:145px;
  }
  .status-tabs button {
    font-size:var(--type-caption);
    padding:10px 13px 12px;
  }
}
@media(max-width:620px) {
  .topbar {
    padding:16px 18px;
    gap:16px;
    flex-wrap:wrap;
  }
  .brand img {
    width:125px;
  }
  .topbar nav {
    order:3;
    width:100%;
    gap:24px;
    border-top:1px solid var(--line);
    padding-top:7px;
  }
  .topbar nav a {
    font-size:var(--type-caption);
  }
  .internal-label {
    margin-left:auto;
  }
  .masthead-inner {
    padding:27px 18px 29px;
    display:block;
  }
  .masthead h1 {
    font-size:2.25rem;
  }
  .masthead p {
    font-size:var(--type-body);
    margin-top:10px;
  }
  .desktop-break {
    display:none;
  }
  .sync-area {
    margin-top:23px;
    display:flex;
    flex-direction:column-reverse;
    gap:10px;
  }
  .sync-area>p {
    text-align:left;
    max-width:none;
    margin:0;
    font-size:var(--type-caption);
  }
  .sync-actions {
    gap:20px;
  }
  .open-link {
    display:block;
    font-size:var(--type-caption);
  }
  main {
    padding:20px 16px 30px;
  }
  .filter-panel {
    padding:13px 14px 0;
  }
  .filter-heading {
    margin-bottom:8px;
  }
  .filter-heading>span {
    font-size:var(--type-caption);
  }
  .filters {
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .filters>label:last-child {
    grid-column:1/-1;
  }
  .filters.advanced>label:last-child {
    grid-column:auto;
  }
  .filters label {
    font-size:var(--type-caption);
  }
  .filters select,.filters input {
    font-size:var(--type-caption);
  }
  .more-filters>summary span {
    display:none;
  }
  .workspace {
    margin-top:27px;
  }
  .section-heading h2 {
    font-size:1.5rem;
  }
  .section-heading p {
    font-size:var(--type-caption);
  }
  .copy-button {
    min-height:44px;
  }
  .status-tabs button {
    font-size:var(--type-caption);
    padding:10px 9px;
    gap:5px;
  }
  .status-tabs {
    margin:0 -2px;
  }
  .list-caption {
    font-size:var(--type-caption);
  }
  .demand>summary {
    padding:16px 14px;
    grid-template-columns:minmax(0,1fr);
    gap:11px;
  }
  .demand h3 {
    font-size:var(--type-body);
  }
  .row-side {
    grid-row:2;
    flex-direction:row;
    align-items:center;
    min-width:0;
  }
  .row-meta {
    gap:7px 12px;
    font-size:var(--type-caption);
  }
  .quality-hint {
    font-size:var(--type-caption);
  }
  .status-badge {
    font-size:var(--type-caption);
  }
  .demand-detail {
    padding:17px 14px;
  }
  .detail-grid {
    gap:12px 18px;
  }
  .detail-grid dd {
    font-size:var(--type-caption);
  }
  .activity-table {
    font-size:var(--type-caption);
  }
  .activity-table td {
    padding:10px 6px;
  }
  .activity-table th {
    padding:8px 6px;
  }
  .executive-aside {
    grid-template-columns:1fr;
    gap:25px;
    margin-top:14px;
  }
  .source-panel {
    padding-top:20px;
    border-top:1px solid var(--line);
  }
  .signal-panel {
    display:block;
    padding-bottom:8px;
  }
  .signal {
    padding:12px 0;
  }
  .reading-guide {
    grid-template-columns:1fr;
    gap:23px;
    margin-top:32px;
    padding-top:25px;
  }
  .reading-guide h2 {
    font-size:1.5rem;
  }
  .reading-guide dl {
    grid-template-columns:1fr;
    gap:18px;
  }
  .reading-guide dd {
    font-size:var(--type-caption);
  }
  .reading-guide>div p {
    max-width:65ch;
  }
  .error-box {
    padding:14px;
  }
  .error-box>div {
    min-width:0;
    flex-basis:100%;
  }
  footer {
    padding:18px 16px 25px;
    font-size:var(--type-caption);
  }
  footer>span:nth-child(2) {
    width:100%;
    order:3;
  }
  .demo-notice {
    font-size:var(--type-caption);
    text-align:left;
  }
  .demo-notice a {
    display:block;
    margin-left:0;
  }
  .empty-state {
    padding:35px 16px;
  }
}
.embed .topbar {
  padding-top:12px;
  padding-bottom:12px;
}
.embed .topbar nav,.embed .internal-label {
  display:none;
}
.embed .masthead-inner {
  padding-top:24px;
  padding-bottom:26px;
}
.embed .masthead h1 {
  font-size:var(--type-display);
}
.embed .masthead p {
  font-size:var(--type-caption);
}
.embed .workspace {
  grid-template-columns:1fr;
}
.embed .executive-aside {
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:15px;
}
.embed .reading-guide {
  margin-top:30px;
}
.embed .topbar .brand img {
  width:125px;
}
@media(max-width:620px) {
  .embed .executive-aside {
    grid-template-columns:1fr;
  }
  .embed .masthead-inner {
    padding-top:22px;
    padding-bottom:23px;
  }
}
@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
}
.detail-note,.detail-reason,.source-title,.signal p,.coverage-details,.reading-guide dd,.scope-review li p {
  font-size:var(--type-body);
}
.masthead button:focus-visible,.masthead a:focus-visible {
  outline-color:var(--orange);
}

/* Revisão executiva: navegação direta, carregamento no hero e visão por cliente. */
.topbar { padding-top:14px; padding-bottom:14px; justify-content:space-between; }
.sync-area { display:flex; align-items:center; flex-direction:row; gap:20px; margin:0 0 0 auto; }
.sync-copy { text-align:right; min-height:38px; }
.sync-copy p,.is-stale .sync-copy p { margin:0; color:var(--muted); font-size:var(--type-caption); line-height:1.55; }
.sync-copy p:first-child { color:var(--text); }
.sync-copy time { font-weight:700; }
.masthead { position:relative; isolation:isolate; overflow:hidden; border:0; background:linear-gradient(110deg,#1a1a1a 0%,#1a1a1a 42%,#724207 63%,#f5a800 82%,#fff0c9 94%,#fff 100%); }
.masthead::before { content:""; position:absolute; inset:-90% -12% -90% 55%; pointer-events:none; background:radial-gradient(ellipse at center,rgba(255,165,0,.38),transparent 65%); animation:hero-drift 4.5s ease-out both; }
.masthead-inner { position:relative; z-index:1; display:block; padding:24px 28px 26px; }
.masthead h1,.embed .masthead h1 { font-size:var(--type-display); }
.masthead p,.embed .masthead p { font-size:var(--type-body); margin:7px 0 0; max-width:48ch; }
.query-track { position:relative; z-index:1; height:3px; background:linear-gradient(90deg,#f5a800 0%,#ffbd32 48%,#ffe7a0 78%,#fff 100%); overflow:hidden; }
#queryProgress { position:absolute; inset:0 auto 0 0; width:30%; background:#ffe6ad; animation:query-run 1.4s ease-in-out infinite; }
.is-stale .query-track { background:var(--red); }
@keyframes hero-drift { from { transform:translate3d(-8%,0,0); } to { transform:translate3d(10%,4%,0); } }
@keyframes query-run { from { transform:translateX(-120%); } to { transform:translateX(440%); } }
main { padding-top:22px; }
.filter-panel { padding-top:12px; }
.filter-heading { margin-bottom:7px; }
.active-context { color:var(--muted); font-size:var(--type-caption); margin:16px 2px; font-weight:700; }
.overview { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:24px; margin:0 0 28px; align-items:start; }
.client-chart { min-width:0; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:20px; }
.chart-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.chart-heading h2 { font-size:var(--type-section); letter-spacing:-.015em; }
.chart-heading>span { font-size:var(--type-caption); color:var(--muted); white-space:nowrap; }
.chart-caption { color:var(--muted); font-size:var(--type-caption); margin-top:4px; }
.chart-legend { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin:14px 0 10px; font-size:var(--type-caption); color:var(--muted); }
.chart-legend>span { display:inline-flex; align-items:center; gap:6px; }
.chart-key { width:8px; height:8px; border-radius:2px; background:var(--chart-fill); }
.chart-key.working,.chart-segment.working { --chart-fill:var(--working); --chart-text:#392400; }
.chart-key.planned,.chart-segment.planned { --chart-fill:var(--planned); --chart-text:#fff; }
.chart-key.review,.chart-segment.review { --chart-fill:var(--review); --chart-text:#fff; }
.chart-key.confirmation,.chart-segment.confirmation { --chart-fill:var(--confirmation); --chart-text:#fff; }
.chart-row { display:grid; grid-template-columns:150px minmax(0,1fr) 28px; align-items:center; gap:14px; min-height:48px; }
.chart-client { font-size:var(--type-body); font-weight:700; color:var(--text); line-height:1.35; }
.chart-track { height:34px; border-radius:6px; background:#f0f2f6; }
.chart-bars { display:flex; height:100%; border-radius:6px; }
.chart-enter .chart-bars { animation:chart-reveal .75s cubic-bezier(.16,1,.3,1) both; }
.chart-row:nth-child(2) .chart-bars { animation-delay:60ms; }
.chart-row:nth-child(3) .chart-bars { animation-delay:120ms; }
.chart-row:nth-child(n+4) .chart-bars { animation-delay:180ms; }
.chart-segment { flex-basis:0; min-width:0; padding:0; border:0; border-right:2px solid white; background:var(--chart-fill); color:var(--chart-text); font-size:var(--type-caption); font-weight:800; container-type:inline-size; transition:filter .16s ease-out; }
.chart-segment:first-child { border-radius:6px 0 0 6px; }
.chart-segment:last-child { border-radius:0 6px 6px 0; border-right:0; }
.chart-segment:only-child { border-radius:6px; }
.chart-segment:hover { filter:brightness(.94); }
.chart-segment:focus-visible { position:relative; z-index:1; outline:3px solid var(--ink); outline-offset:2px; }
@container (max-width:24px) { .chart-segment span { visibility:hidden; } }
@keyframes chart-reveal { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
.chart-row>strong { font-size:var(--type-body); text-align:right; color:var(--ink); }
.chart-note,.chart-empty { color:var(--muted); font-size:var(--type-caption); margin-top:12px; }
.executive-aside,.embed .executive-aside { display:block; padding:0; margin:0; }
.signal-panel { height:100%; padding:20px; border:1px solid var(--line); background:var(--paper); border-radius:14px; }
.signal-panel h2 { font-size:var(--type-section); color:var(--ink); letter-spacing:-.015em; margin-bottom:10px; }
.signal { display:flex; align-items:center; gap:12px; padding:16px 0; border-color:var(--line); }
.signal strong { color:var(--text); font-size:var(--type-caption); font-weight:700; flex:1; }
.signal strong>span { display:block; }
.signal p { color:var(--muted); font-size:var(--type-caption); line-height:1.5; }
.signal-number { color:var(--signal-ink,var(--ink)); font-size:2rem; line-height:1.1; font-weight:800; margin:0 0 4px; }
.signal .text-button { min-height:44px; padding:3px 0; margin:0; flex-shrink:0; color:var(--signal-ink,var(--orange-ink)); font-size:var(--type-caption); gap:5px; }
.signal .text-button svg { width:15px; height:15px; }
.status-badge.review { background:var(--review-soft); color:#4855b9; }
.status-badge.planned { background:var(--planned-soft); color:#116c60; }
.demand-panel .status-tabs { margin-bottom:18px; }
.coverage-notice { margin-bottom:16px; padding:12px 16px; border:1px solid #ddbf81; border-radius:8px; background:var(--soft); color:var(--amber); font-size:var(--type-body); line-height:1.55; }
.api-hint { color:var(--muted); }
.pagination { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.pagination>p { color:var(--muted); font-size:var(--type-body); }
.page-controls { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.page-controls label { display:flex; align-items:center; gap:7px; font-size:var(--type-caption); color:var(--muted); }
.page-controls select { background:var(--paper); border:1px solid #cdcdc2; border-radius:7px; height:44px; padding:0 10px; color:var(--text); }
.pagination .button:disabled { cursor:default; opacity:.45; }
.embed .masthead-inner { padding-top:16px; padding-bottom:16px; }
@media(max-width:1000px) {
  .overview { grid-template-columns:minmax(0,1fr) 280px; gap:18px; }
  .chart-row { grid-template-columns:130px minmax(0,1fr) 24px; gap:9px; }
}
@media(max-width:860px) {
  .overview { grid-template-columns:1fr; }
  .signal-panel { display:block; }
  #signals { display:block; }
  .signal:last-child { padding-bottom:13px; }
  .pagination { align-items:flex-start; flex-direction:column; }
}
@media(max-width:620px) {
  .topbar { padding:14px 16px; gap:14px; }
  .sync-area { width:100%; justify-content:space-between; gap:12px; }
  .sync-copy { text-align:left; min-width:0; }
  .sync-copy p { font-size:var(--type-caption); }
  .sync-area .button { flex-shrink:0; padding:10px 12px; font-size:var(--type-caption); }
  .masthead-inner { padding:18px 16px; display:block; }
  .masthead h1,.embed .masthead h1 { font-size:2rem; }
  .masthead p,.embed .masthead p { font-size:var(--type-caption); margin-top:6px; }
  .client-chart,.signal-panel { padding:17px 14px; }
  .chart-heading { align-items:flex-start; gap:10px; }
  .chart-heading h2 { font-size:var(--type-section); }
  .chart-row { grid-template-columns:minmax(0,1fr) 24px; gap:0 10px; padding:6px 0; }
  .chart-client { grid-column:1; }
  .chart-row>strong { grid-column:2; grid-row:1; }
  .chart-track { grid-column:1/-1; grid-row:2; margin-top:7px; }
  .chart-legend { gap:8px 12px; font-size:var(--type-caption); }
  .chart-caption { font-size:var(--type-caption); }
  #signals { grid-template-columns:1fr; }
  .pagination { margin-top:15px; }
  .page-controls { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:10px; }
  .page-controls label { justify-content:space-between; }
  .page-controls .button { min-width:0; }
  .overview { margin-bottom:24px; }
}
@media(prefers-reduced-motion:reduce) { .masthead::before,#queryProgress { animation:none; } }

/* Visual v3: shared semantic colors, clear hierarchy and loading feedback. */
.sync-copy p:first-child { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.sync-copy p:first-child::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--green); }
.is-loading .sync-copy p:first-child::before { background:var(--orange); }
.is-stale .sync-copy p:first-child::before { background:var(--red); }
.masthead p { color:#eee1ca; }
.filter-panel { border-color:#dfe2e7; }
.filters input:focus,.filters select:focus { background:#fffcf6; }
.active-context { display:flex; align-items:center; gap:8px; color:#505762; }
.active-context:not(:empty)::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--orange); }
.chart-heading>span { padding:5px 10px; background:#f0f2f6; border-radius:6px; color:#4d5564; font-weight:800; }
.chart-legend { margin:18px 0 12px; color:#505762; }
.chart-key { width:9px; height:9px; border-radius:3px; }
.chart-row>strong { font-size:var(--type-body); }
.signal-review { --signal-ink:#4855b9; --signal-soft:var(--review-soft); }
.signal-warnings { --signal-ink:#be324b; --signal-soft:#fff0f3; }
.signal-confirmation { --signal-ink:#ac4325; --signal-soft:var(--confirmation-soft); }
.signal-date { --signal-ink:var(--orange-ink); --signal-soft:var(--working-soft); }
.signal-icon { width:38px; height:38px; flex-shrink:0; display:grid; place-items:center; border-radius:10px; color:var(--signal-ink); background:var(--signal-soft); }
.signal-icon svg { width:21px; height:21px; }
.status-tabs { gap:8px; border-color:#dfe2e7; }
.status-tabs button { padding:12px 14px; border-radius:8px 8px 0 0; font-size:var(--type-body); }
.status-tabs button[data-status=working],.status-badge.working { --state-ink:#815000; --state-soft:var(--working-soft); --state-color:var(--working); }
.status-tabs button[data-status=planned],.status-badge.planned { --state-ink:#116c60; --state-soft:var(--planned-soft); --state-color:var(--planned); }
.status-tabs button[data-status=review],.status-badge.review { --state-ink:#4855b9; --state-soft:var(--review-soft); --state-color:var(--review); }
.status-tabs button[data-status=confirmation],.status-badge.confirmation { --state-ink:#ac4325; --state-soft:var(--confirmation-soft); --state-color:var(--confirmation); }
.status-tabs button[data-status=completed],.status-badge.completed { --state-ink:var(--green); --state-soft:var(--green-soft); --state-color:var(--green); }
.status-tabs button::before { content:""; width:6px; height:6px; background:var(--state-color); border-radius:50%; flex-shrink:0; }
.status-tabs button[aria-pressed=true] { background:var(--state-soft); color:var(--state-ink); border-bottom-color:var(--state-color); }
.status-tabs span,.status-tabs button[aria-pressed=true] span { color:var(--state-ink); background:var(--state-soft); font-weight:800; }
.status-tabs button[aria-pressed=true] span { background:white; }
.status-badge { padding:7px 10px; border-radius:6px; }
.demand { border-color:#dfe2e7; transition:border-color .18s ease-out; }
.demand:hover,.demand[open] { border-color:#b8bec8; }
.demand>summary { padding:22px 24px; row-gap:16px; }
.demand>summary:hover { background:#fcfcfd; }
.demand h3 { font-size:var(--type-card); margin-top:10px; max-width:76ch; }
.demand-top { gap:9px; }
.client-name { background:#f0f2f6; color:#363e4a; padding:3px 8px; border-radius:5px; }
.row-meta { color:#535b68; font-size:var(--type-body); gap:10px 22px; }
.row-meta svg { width:15px; height:15px; color:#697484; }
.quality-hint { background:#fff7e8; color:#815000; border-radius:6px; padding:8px 10px; }
.quality-hint.api-hint { background:#f3f4f7; color:#535b68; }
.expand-label { color:#535b68; font-weight:700; }
.button:active:not(:disabled) { transform:translateY(1px); }
.button:disabled { cursor:default; }
.skeleton-line { display:block; position:relative; overflow:hidden; height:15px; border-radius:5px; background:#e9ecf1; }
.skeleton-line::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,#ffffffb8,transparent); transform:translateX(-100%); animation:skeleton-sweep 1.5s ease-in-out infinite; }
.chart-skeleton>div { display:grid; grid-template-columns:150px 1fr; gap:14px; align-items:center; min-height:48px; }
.chart-skeleton>div .skeleton-line:last-child { height:34px; }
.chart-skeleton>div:nth-child(2) .skeleton-line:last-child { width:85%; }
.chart-skeleton>div:nth-child(3) .skeleton-line:last-child { width:65%; }
.chart-skeleton>div:nth-child(4) .skeleton-line:last-child { width:40%; }
.signal-skeleton { display:grid; gap:24px; padding-top:16px; }
.signal-skeleton .skeleton-line { height:52px; }
.demand-skeleton { display:grid; gap:12px; }
.demand-skeleton>div { display:grid; gap:18px; padding:24px; background:white; border:1px solid var(--line); border-radius:12px; }
.demand-skeleton .skeleton-line:nth-child(1) { width:30%; }
.demand-skeleton .skeleton-line:nth-child(2) { width:65%; height:20px; }
.demand-skeleton .skeleton-line:nth-child(3) { width:45%; }
@keyframes skeleton-sweep { to { transform:translateX(100%); } }
@media(max-width:1100px) and (min-width:861px) {
  .overview { grid-template-columns:minmax(0,1fr) 320px; gap:18px; }
  .chart-row { grid-template-columns:115px minmax(0,1fr) 22px; gap:8px; }
}
@media(max-width:620px) {
  .sync-copy p:first-child { justify-content:flex-start; }
  .chart-skeleton>div { grid-template-columns:85px 1fr; }
  .demand>summary { padding:18px 16px; gap:13px; }
  .demand h3 { font-size:var(--type-emphasis); }
  .row-meta { font-size:var(--type-caption); gap:8px 16px; }
  .status-tabs button { padding:11px 10px; font-size:var(--type-caption); }
  .signal-number { font-size:1.875rem; }
}

/* Revisões: pessoas atribuídas à validação, separadas da qualidade dos registros. */
.review-focus .signal { border-bottom:0; padding-bottom:6px; }
.review-caption { color:var(--muted); font-size:var(--type-caption); line-height:1.5; }
.review-owners-label { margin-top:20px; color:var(--text); font-size:var(--type-caption); font-weight:800; }
.review-owners { margin:8px 0 12px; padding:0; list-style:none; }
.review-owners li + li { border-top:1px solid #ececf2; }
.review-owners button { display:grid; grid-template-columns:minmax(0,1fr) 28px 16px; align-items:center; gap:9px; width:100%; min-height:46px; padding:9px 7px; border:0; border-radius:6px; text-align:left; background:transparent; color:var(--text); font-size:var(--type-body); line-height:1.4; }
.review-owners button:hover,.review-owners button[aria-pressed=true] { background:var(--review-soft); color:#3f4ba7; }
.review-owners strong { display:grid; place-items:center; width:27px; height:27px; border-radius:6px; color:#4855b9; background:var(--review-soft); font-weight:800; }
.review-owners svg { width:15px; height:15px; color:#4855b9; }
.review-clear { padding:15px 0; }
.data-quality { margin-top:18px; padding-top:8px; border-top:1px solid var(--line); font-size:var(--type-caption); }
.data-quality summary { min-height:44px; padding:12px 0; font-weight:700; color:var(--muted); }
.data-quality p { margin:0 0 9px; color:var(--muted); }
.data-quality .text-button { color:var(--orange-ink); }
.review-owner-hint { grid-column:1/-1; display:flex; align-items:flex-start; gap:10px; background:var(--review-soft); color:#3f4ba7; padding:12px 14px; border-radius:8px; }
.review-owner-hint span,.review-owner-hint strong,.review-owner-hint small { display:block; }
.review-owner-hint span { font-size:var(--type-caption); }
.review-owner-hint strong { font-size:var(--type-emphasis); margin-top:2px; }
.review-owner-hint small { font-size:var(--type-caption); margin-top:5px; line-height:1.5; }
@media(min-width:1101px) { .filters.advanced { grid-template-columns:1.1fr 1.2fr 1.2fr 1fr 1fr; } }
@media(max-width:860px) { .masthead { background:linear-gradient(120deg,#1a1a1a 45%,#724207 70%,#f5a800 90%,#fff 100%); } }
@media(max-width:620px) { .masthead { background:linear-gradient(160deg,#1a1a1a 58%,#724207 80%,#f5a800 93%,#fff 100%); } .masthead p { max-width:33ch; } }

/* Escala de leitura: mesmo piso no desktop e no celular. */
body { line-height:1.5; }
small { font-size:var(--type-caption); }
.topbar { flex-wrap:wrap; }
.sync-area { max-width:100%; flex-wrap:wrap; }
.review-owner-hint>div { min-width:0; }
.filters select,.filters input,.page-controls select { height:48px; font-size:var(--type-body); }
.filters label { line-height:1.5; }
.input-wrap svg { top:21px; }
.overview { grid-template-columns:minmax(0,1fr) 380px; }
.signal { display:grid; grid-template-columns:38px minmax(0,1fr); gap:6px 14px; }
.signal .text-button,.signal>p { grid-column:2; justify-self:start; }
.signal-icon { align-self:start; margin-top:3px; }
.review-owners button { min-height:50px; }
.chart-row { min-height:54px; }
.chart-track { height:38px; }
.chart-heading { flex-wrap:wrap; }
.row-meta { line-height:1.6; }
.review-owner-hint strong { overflow-wrap:anywhere; }
@media(max-width:1100px) and (min-width:861px) { .overview { grid-template-columns:minmax(0,1fr) 340px; } }
@media(max-width:860px) { .overview { grid-template-columns:1fr; } }
@media(max-width:620px) {
  .sync-area { flex-wrap:wrap; }
  .sync-copy { flex:1 1 160px; }
  .sync-area .button { font-size:var(--type-caption); }
  .row-side { flex-wrap:wrap; gap:10px; }
  .filters,.filters.advanced { grid-template-columns:1fr; }
  .demand h3 { font-size:var(--type-card); }
  .masthead p { max-width:29ch; }
}

/* Atenção: situação, quantidade e acesso no mesmo eixo. */
.attention-item { display:grid; grid-template-columns:34px minmax(0,1fr) auto 16px; align-items:center; gap:10px; width:100%; min-height:64px; padding:12px 0; border:0; border-radius:6px; background:transparent; text-align:left; color:var(--text); }
button.attention-item:hover { background:var(--signal-soft); }
.attention-item .signal-icon { width:34px; height:34px; margin:0; align-self:center; border-radius:8px; }
.attention-label { font-size:var(--type-body); line-height:1.4; font-weight:800; }
.attention-count { min-width:28px; text-align:right; color:var(--signal-ink); font-size:1.75rem; line-height:1; font-weight:800; }
.attention-item>svg { width:16px; height:16px; color:var(--signal-ink); }
#signals>.attention-item { border-top:1px solid var(--line); border-radius:0; }
.review-focus .review-caption { margin:0 0 16px; }
.review-assignees { border-top:1px solid var(--line); padding-top:16px; margin-top:4px; }
.review-assignees .review-owners-label { margin:0; }
.review-assignees .review-owners { margin-bottom:0; }
.owner-tag { display:inline; padding:2px 6px; border-radius:4px; background:#edf0f4; color:#303a48; font-size:inherit; font-weight:800; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.owner-tag.is-unassigned { color:#815000; background:#ffedc5; }
.row-meta>span { flex-wrap:wrap; }
.assignment-hint { grid-column:1/-1; display:flex; align-items:flex-start; gap:8px; color:#815000; font-size:var(--type-caption); }
.assignment-hint svg { width:18px; height:18px; margin-top:2px; }
/* Seletor compartilhado: fonte nativa de dados, apresentação e teclado próprios. */
.custom-select { display:block; min-width:0; width:100%; margin-top:6px; }
.select-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:48px; padding:10px 12px; border:1px solid #c9c9bd; border-radius:8px; background:#fff; color:var(--text); font-size:var(--type-body); font-weight:400; line-height:1.4; text-align:left; transition:background-color .16s ease,border-color .16s ease; }
.select-trigger:hover { border-color:#b58b39; background:#fffdf8; }
.select-trigger[aria-expanded=true] { border-color:#b77900; background:#fffaf0; }
.select-trigger:disabled { opacity:.55; cursor:default; }
.select-value { min-width:0; overflow-wrap:anywhere; }
.select-trigger>svg { width:18px; height:18px; color:#815000; transition:transform .18s ease; }
.select-trigger[aria-expanded=true]>svg { transform:rotate(180deg); }
.select-menu { position:fixed; z-index:20; overflow-y:auto; overscroll-behavior:contain; padding:6px; border-radius:10px; background:#fff; box-shadow:0 8px 28px #31261926,0 2px 6px #31261914; color:var(--text); font-size:var(--type-body); font-weight:400; animation:select-reveal .16s ease-out; }
.select-option { display:grid; grid-template-columns:minmax(0,1fr) 18px; align-items:center; gap:12px; min-height:44px; padding:10px; border-radius:6px; cursor:pointer; line-height:1.4; overflow-wrap:anywhere; }
.select-option>svg { width:18px; height:18px; visibility:hidden; }
.select-option[aria-selected=true] { background:#fff0ce; color:#6e4400; font-weight:800; }
.select-option[aria-selected=true]>svg { visibility:visible; }
.select-option:hover,.select-option.is-active { background:#fff7e6; outline:1px solid #d8b36f; outline-offset:-1px; }
.select-option[aria-disabled=true] { opacity:.5; cursor:default; }
.page-controls .custom-select { width:auto; min-width:80px; margin:0; }
@keyframes select-reveal { from { opacity:.4; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .select-menu { animation:none; } .select-trigger>svg { transition:none; } }

/* Explicações contextuais e vazio com ação relacionada ao recorte. */
.empty-state { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:20px; padding:30px 24px; border:1px solid var(--line); border-radius:12px; background:#fff; text-align:left; }
.empty-state .empty-symbol { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; background:#fff1d2; color:#815000; }
.empty-state .empty-symbol svg { width:28px; height:28px; margin:0; color:inherit; }
.empty-state h3 { margin:0 0 6px; font-size:var(--type-card); }
.empty-state p { margin:0; max-width:65ch; font-size:var(--type-body); }
.empty-state .button { margin:0; }
@media(max-width:860px) { .empty-state { grid-template-columns:48px minmax(0,1fr); } .empty-state .button { grid-column:2; justify-self:start; } }
@media(max-width:400px) { .empty-state { grid-template-columns:1fr; padding:22px 18px; gap:14px; } .empty-state .button { grid-column:1; } }

/* Mudança de situação sem deslocar o ponto de leitura. */
.demand-panel { overflow-anchor:none; min-height:calc(100svh - 64px); }
.status-tabs button { transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out; }
@media(prefers-reduced-motion:reduce) { .status-tabs button { transition:none; } }

/* Recorte explícito junto da fila; remover um filtro não apaga os demais. */
.filter-heading { list-style:none; cursor:pointer; gap:12px; min-height:48px; }
.filter-heading::-webkit-details-marker { display:none; }
.filter-heading>strong { color:var(--ink); }
.filter-heading>span { margin-left:auto; color:var(--muted); font-size:var(--type-caption); text-align:right; }
.filter-heading>svg { width:18px; height:18px; transition:transform .16s ease; }
.filter-panel[open]>.filter-heading>svg { transform:rotate(180deg); }
.filter-panel:not([open]) { padding-bottom:12px; }
.filter-panel:not([open]) #clearFilters { display:none; }
#clearFilters { flex-shrink:0; margin-left:12px; }
.active-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 8px; }
.filter-scope { color:#535b68; font-size:var(--type-caption); padding:4px 0; margin-right:4px; }
.filter-chip { display:inline-flex; align-items:center; gap:12px; max-width:100%; min-height:40px; padding:7px 10px; border:1px solid #d9ddeb; border-radius:8px; background:#fff; color:#394456; font-size:var(--type-caption); text-align:left; transition:background-color .16s ease; }
.filter-chip>span:first-child { min-width:0; overflow-wrap:anywhere; }
.filter-chip>span:last-child { font-size:1.25rem; line-height:1; }
.filter-chip:hover { background:#eef0ff; border-color:#aab2dd; }
.filter-chip.is-paused { border-style:dashed; color:#65655e; background:#fafafa; }
.row-meta .sprint-match { color:#116c60; font-weight:700; }
.review-owner-hint { align-items:center; flex-wrap:wrap; padding:10px 12px; }
.review-owner-hint strong { font-size:var(--type-body); }
.review-task-links { display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; margin-left:auto; }
.review-task-links a { display:inline-flex; align-items:center; min-height:44px; color:#3f4ba7; font-size:var(--type-caption); font-weight:800; }
.demand-detail>.api-hint { margin:16px 0; }
#demandsTitle:focus-visible { outline:2px solid var(--orange-ink); outline-offset:5px; border-radius:3px; }
@media(max-width:860px) {
  .overview:empty { display:none; }
  main>.executive-aside { margin:0 0 18px; }
  main>.client-chart { margin:28px 0; }
  .filter-panel { margin-bottom:16px; }
  .filter-heading { margin:0; padding:0; }
  .filter-heading>span { max-width:65%; }
  .filter-panel[open]>.filter-heading { margin-bottom:12px; }
  .filter-panel[open] #filterSummary { display:none; }
  #clearFilters { margin-left:auto; }
  .status-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; overflow:visible; padding:0 0 10px; }
  .status-tabs button { min-width:0; min-height:48px; white-space:normal; border-radius:8px; justify-content:flex-start; text-align:left; }
  .status-tabs button span { margin-left:auto; }
  .review-task-links { width:100%; margin-left:30px; }
  .filter-chip { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { .filter-heading>svg,.filter-chip { transition:none; } }
.snapshot-notice { margin:0 0 18px; padding:10px 14px; border-left:3px solid var(--planned); background:#f1f8f5; color:#35584d; font-size:var(--type-caption); border-radius:4px; }
.snapshot-notice.is-stale { border-color:var(--orange); background:#fff3d9; color:#815000; }

.signal-overdue, .deadline-overdue { --deadline-ink:#982841; --deadline-soft:#fff0f3; }
.signal-soon, .deadline-soon { --deadline-ink:var(--orange-ink); --deadline-soft:var(--working-soft); }
.signal-unassigned { --deadline-ink:#495567; --deadline-soft:#edf0f4; }
.attention-item:is(.signal-overdue,.signal-soon,.signal-unassigned) { --signal-ink:var(--deadline-ink); --signal-soft:var(--deadline-soft); }
button.attention-item[aria-pressed=true] { background:var(--signal-soft); }
button.attention-item:disabled { cursor:default; }
button.attention-item:disabled > svg { visibility:hidden; }
.review-focus { padding-bottom:8px; }
.review-focus .review-owners { margin:0 0 0 44px; }
.review-focus .review-caption { margin:4px 0 8px; }
.attention-note { color:var(--muted); font-size:var(--type-caption); margin-top:10px; }
.deadline-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border-radius:6px; color:var(--deadline-ink,#394456); background:var(--deadline-soft,#edf0f4); }
.deadline-badge svg { width:16px; height:16px; color:inherit; }
.deadline-badge strong { margin-inline-start:4px; }
.activity-deadline { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; font-size:var(--type-caption); }
.activity-deadlines { padding:0; list-style:none; display:grid; gap:8px; }
.status-tabs button[data-status=all] { --state-ink:#394456; --state-soft:#edf0f4; --state-color:#495567; }
