.fiscal-panel { color: var(--on-dark-1); }
.fiscal-panel h1, .fiscal-panel h2, .fiscal-panel p, .fiscal-detail h1, .fiscal-detail h2, .fiscal-detail p { color: var(--on-dark-1); }
.fiscal-panel .page-head { align-items: end; }
.fiscal-eyebrow { color: var(--living-teal); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.fiscal-environments { display: inline-flex; gap: 3px; padding: 4px; margin: 4px 0 16px; border: 1px solid var(--dark-4); border-radius: 10px; background: var(--dark-1); }
.fiscal-environment { padding: 8px 15px; border-radius: 7px; font-size: 12px; font-weight: 600; color: var(--on-dark-2); }
.fiscal-environment.active { color: var(--living-teal); background: rgba(23,196,163,.13); }
.fiscal-environment.disabled { opacity: .45; cursor: not-allowed; }
.fiscal-banner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; align-items: center; border: 1px solid rgba(23,196,163,.3); background: rgba(23,196,163,.07); border-radius: 11px; padding: 14px 18px; margin-bottom: 22px; }
.fiscal-banner strong { color: var(--living-teal); }
.fiscal-banner span { color: var(--on-dark-2); }
.fiscal-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 20px; }
.fiscal-stat { display: flex; flex-direction: column; gap: 7px; background: var(--dark-3); border: 1px solid var(--dark-4); border-radius: 12px; padding: 18px; }
.fiscal-stat span { color: var(--on-dark-2); font-size: 12px; }
.fiscal-stat strong { font-size: 27px; font-variant-numeric: tabular-nums; line-height: 1; }
.fiscal-stat small { color: var(--on-dark-3); font-variant-numeric: tabular-nums; }
.fiscal-filters { display: grid; grid-template-columns: 1fr 1fr 1fr 1.4fr auto; align-items: end; gap: 12px; padding: 18px; background: var(--dark-3); border: 1px solid var(--dark-4); border-radius: 12px; margin-bottom: 24px; }
.fiscal-filters > div { min-width: 0; }
.fiscal-filters label, .fiscal-detail-card label { display: block; color: var(--on-dark-2); font-size: 12px; font-weight: 600; margin-bottom: 7px; }
.fiscal-filters .input, .fiscal-detail-card .input { width: 100%; min-width: 0; margin-bottom: 12px; background: var(--dark-2); color: var(--on-dark-1); border: 1px solid var(--dark-5); border-radius: 8px; padding: 9px 11px; }
.fiscal-filter-actions { display: flex; gap: 6px; }
.fiscal-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.fiscal-list-head h2 { margin: 0; font-size: 17px; }
.fiscal-list-head h2, .fiscal-detail h1, .fiscal-detail-card h2 { color: var(--on-dark-1); }
.fiscal-list-head span { color: var(--on-dark-3); font-size: 12px; }
.fiscal-table-wrap { border: 1px solid var(--dark-4); border-radius: 12px; }
.fiscal-table { width: 100%; font-size: 12px; }
.fiscal-table td { vertical-align: middle; }
.fiscal-table td strong { font-weight: 600; }
.fiscal-customer { display: inline-flex; flex-direction: column; gap: 4px; }
.fiscal-customer small { color: var(--on-dark-3); }
.fiscal-table .mono, .fiscal-detail .mono { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fiscal-badge { display: inline-flex; padding: 5px 9px; border-radius: 7px; font-size: 11px; font-weight: 700; white-space: nowrap; color: var(--on-dark-2); background: var(--dark-4); }
.fiscal-badge.issued { color: var(--living-teal); background: rgba(23,196,163,.12); }
.fiscal-badge.pending, .fiscal-badge.queued, .fiscal-badge.processing { color: #f4c579; background: rgba(219,162,76,.13); }
.fiscal-badge.blocked, .fiscal-badge.error, .fiscal-badge.rejected, .fiscal-badge.xml_pending { color: #ffb5b8; background: rgba(224,77,85,.13); }
.fiscal-form-page { max-width: 1080px; }
.fiscal-form-page h1 { margin: 18px 0 10px; }
.fiscal-config-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.fiscal-detail { padding: 26px; min-width: 0; overflow-y: auto; max-height: 100dvh; }
.fiscal-detail-head { display: flex; justify-content: space-between; align-items: start; gap: 10px; }
.fiscal-detail-head h1 { font-size: 25px; margin: 5px 0 20px; }
.fiscal-detail-card { background: var(--dark-3); border: 1px solid var(--dark-4); border-radius: 12px; padding: 19px; margin: 0 0 16px; }
.fiscal-detail-card h2 { font-size: 15px; margin: 0 0 16px; }
.fiscal-detail-card dl { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 11px; margin: 0; }
.fiscal-detail-card dt { color: var(--on-dark-3); }
.fiscal-detail-card dd { margin: 0; overflow-wrap: anywhere; }
.fiscal-detail-card form .btn { margin-top: 10px; }
.fiscal-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.fiscal-alert { border: 1px solid rgba(224,77,85,.35); background: rgba(224,77,85,.07); border-radius: 10px; padding: 15px; margin: 12px 0; }
.fiscal-timeline { padding-left: 18px; }
.fiscal-timeline li { padding: 7px 0; }
.fiscal-timeline time { display: block; color: var(--on-dark-3); font-size: 11px; }
@media(max-width: 1000px) { .fiscal-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 760px) {
  .fiscal-panel .page-head { align-items: start; flex-direction: column; }
  .fiscal-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fiscal-filters, .fiscal-config-grid { grid-template-columns: 1fr; }
  .fiscal-filters { padding: 14px; }
  .product-body .fiscal-panel .fiscal-table-wrap { border: 0; overflow: visible; background: transparent; }
  .fiscal-table thead { display: none; }
  .fiscal-table, .fiscal-table tbody, .fiscal-table tr, .fiscal-table td { display: block; width: 100%; }
  .fiscal-table tr { border: 1px solid var(--dark-4); background: var(--dark-3); border-radius: 11px; padding: 13px; margin-bottom: 10px; }
  .product-body .fiscal-panel .fiscal-table tbody td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 7px 0; text-align: right; }
  .fiscal-table td::before { content: attr(data-label); text-align: left; color: var(--on-dark-3); flex: 0 0 40%; margin-right: 10px; }
  .fiscal-table td:last-child::before { content: none; }
  .fiscal-table td:last-child { justify-content: flex-end; }
  .fiscal-table .tbl-empty td { display: block; }
  .fiscal-detail { padding: 18px; width: 100vw; }
}
