[hidden] { display: none !important; }
.locked-metric { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; border-radius:5px; background:#e5eee8; color:var(--green-dark); text-decoration:none; vertical-align:middle; }
.locked-metric svg { width:18px; height:18px; }
.locked-metric:hover { background:#d5e9de; }
.admin-footer-link { color: var(--muted); font-size: 14px; text-underline-offset: 4px; }
.preserve-lines { white-space: pre-line; }
.row-example { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 400; }
.directory-empty { padding: 45px 24px; text-align: center; color: var(--muted); }
.not-found { flex: 1; padding-block: 90px; }
.not-found p { color: var(--muted); font-size: 18px; margin-block: 24px; }
.report-card { padding: 30px; }
.report-preview { position: relative; width: 100%; max-width: 360px; height: 180px; margin: 16px auto 20px; }
.report-preview img, .paper { position: absolute; width: 36%; height: 170px; top: 8px; background: white; border: 1px solid #d9e5dc; border-radius: 2px; box-shadow: 0 10px 24px #001c2055; }
.report-preview img { object-fit: cover; object-position: top; }
.report-preview img:nth-child(1), .paper-0 { left: 3%; transform: rotate(-8deg); z-index: 1; }
.report-preview img:nth-child(2), .paper-1 { left: 28%; top: 0; transform: rotate(0); z-index: 3; }
.report-preview img:nth-child(3), .paper-2 { right: 2%; transform: rotate(8deg); z-index: 2; }
.report-preview img:only-child { left: 50%; transform: translateX(-50%) rotate(-3deg); }
.paper { padding: 10px; color: #172c23; overflow: hidden; }
.paper-brand { display: block; font-size: 7px; font-weight: 700; white-space: nowrap; }
.paper-rule { display: block; height: 3px; margin: 8px 0 13px; background: #01a071; }
.paper strong { display: block; font-size: 11px; line-height: 1.15; }
.paper-lines { display: block; height: 22px; margin-top: 10px; background: repeating-linear-gradient(to bottom,#dbe3df 0,#dbe3df 1px,transparent 1px,transparent 5px); }
.paper-chart { display: flex; align-items: end; gap: 5px; height: 26px; margin-top: 8px; border-bottom: 1px solid #dbe3df; }
.paper-chart i { width: 20%; background: #b9ddcb; height: 55%; }
.paper-chart i:nth-child(2) { height: 75%; }.paper-chart i:nth-child(3) { height: 65%; }.paper-chart i:nth-child(4) { height: 90%; background:#01a071; }
.paper small { display: block; margin-top: 8px; font-size: 4.5px; letter-spacing: .05em; }
.report-length { display: flex; align-items: center; gap: 14px; padding-top: 24px; border-top: 1px solid #3b614e; }
.report-length strong { font-size: 54px; font-weight: 600; line-height: 1; letter-spacing: -.04em; }
.report-length span { max-width: 180px; font-size: 18px; line-height: 1.3; }
.report-format { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 18px 0; color: #c6ded1; font-size: 12px; }
.report-format span + span::before { content: '·'; margin-right: 16px; }
.report-card .report-copy { margin-bottom: 20px; }
.report-price { margin: 0 0 20px; font-size: 26px; font-weight: 600; }
.purchase-button { text-decoration: none; }
.report-card .purchase-button { margin-top: 16px; }
.status-badge { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #dfefe6; color: #145b3d; font-size: 12px; line-height: 1.4; }
.status-badge.closed { background: #e9ecea; color: #59645f; }
@media(max-width:720px){ .report-preview { max-width: 360px; margin-inline: auto; } .report-card { padding:26px; } }
/* Keep single-select arrows consistently inset, with room for long option labels. */
body select:not([multiple]):not([size]),
body select:not([multiple])[size="1"] {
  -webkit-appearance: none;
  appearance: none;
  padding-inline-end: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23182720' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px 16px;
}
@media (forced-colors: active) {
  body select:not([multiple]):not([size]),
  body select:not([multiple])[size="1"] {
    -webkit-appearance: auto;
    appearance: auto;
    background-image: none;
  }
}
