/* Fiscal administration: compact, isolated visual system. */
.fiscal-admin-page {
  --fiscal-blue: #1769e8;
  --fiscal-ink: #17243b;
  --fiscal-muted: #6f7d92;
  --fiscal-line: #e1e8f1;
  width: min(100%, 1480px);
  max-width: none;
  padding: 8px 4px 28px;
  gap: 13px;
  color: var(--fiscal-ink);
}

.fiscal-admin-page > .page__header {
  min-height: 74px;
  padding: 0 2px 11px;
  align-items: end;
  border-bottom: 1px solid var(--fiscal-line);
}

.fiscal-admin-page .page__title-group { gap: 3px; }
.fiscal-admin-page .page__eyebrow { color: #5680bc; font-size: 8px; letter-spacing: .12em; }
.fiscal-admin-page .page__title { font-size: clamp(24px, 1.8vw, 29px); letter-spacing: -.45px; }
.fiscal-admin-page .page__description { max-width: 650px; color: var(--fiscal-muted); font-size: 11px; }
.fiscal-admin-page .page__toolbar .btn { min-height: 36px; padding-inline: 13px; border-color: #cfdbeb; border-radius: 8px; color: #175fca; background: #fff; font-size: 11px; }
.fiscal-admin-page .page__toolbar .btn:hover { border-color: #8eb4ed; background: #f5f9ff; }

.fiscal-admin-page > .stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.fiscal-admin-page .fiscal-stat-card {
  position: relative;
  min-height: 82px;
  padding: 12px 14px 11px 17px;
  gap: 5px;
  overflow: hidden;
  border-color: var(--fiscal-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 3px 11px rgb(32 55 91 / 5%);
}
.fiscal-stat-card::before { content: ""; position: absolute; inset: 12px auto 12px 0; width: 3px; border-radius: 0 3px 3px 0; background: #3b82ef; }
.fiscal-stat-card::after { content: ""; position: absolute; top: -26px; right: -22px; width: 72px; height: 72px; border-radius: 50%; background: #edf4ff; opacity: .8; }
.fiscal-stat-card--green::before { background: #25a05a; }.fiscal-stat-card--green::after { background: #eaf8ef; }
.fiscal-stat-card--violet::before { background: #7743d5; }.fiscal-stat-card--violet::after { background: #f1ebff; }
.fiscal-stat-card--orange::before { background: #df8418; }.fiscal-stat-card--orange::after { background: #fff2df; }
.fiscal-stat-card .card__header { position: relative; z-index: 1; margin: 0; }
.fiscal-stat-card .card__title { color: #596981; font-size: 10px; font-weight: 700; }
.fiscal-stat-card .card__meta { margin-top: 2px; color: #8995a7; font-size: 8.5px; }
.fiscal-stat-card .card__value { position: relative; z-index: 1; overflow: hidden; color: #17243b; font-size: clamp(18px, 1.6vw, 23px); line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }

.fiscal-admin-page .fiscal-admin-grid { grid-template-columns: minmax(0, 1.35fr) minmax(330px, .82fr); align-items: stretch; gap: 11px; }
.fiscal-admin-page .fiscal-admin-card {
  min-width: 0;
  padding: 0;
  gap: 0;
  overflow: hidden;
  border-color: var(--fiscal-line);
  border-radius: 10px;
  box-shadow: 0 3px 12px rgb(32 55 91 / 4%);
}
.fiscal-admin-page .fiscal-admin-card > .card__header { min-height: 58px; margin: 0; padding: 11px 15px; align-items: center; border-bottom: 1px solid #e8edf4; }
.fiscal-admin-page .fiscal-admin-card .card__title { font-size: 13px; }
.fiscal-admin-page .fiscal-admin-card .card__subtitle { margin-top: 2px; color: #79869a; font-size: 9px; }
.fiscal-admin-page .fiscal-admin-card > .card__header .btn { min-height: 30px; padding-inline: 10px; border: 1px solid #d8e3f1; border-radius: 7px; color: #1762ce; background: #f9fbff; font-size: 9.5px; }

.fiscal-admin-page .fiscal-admin-profile-grid { padding: 13px 14px 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.fiscal-admin-page .return-summary-card,
.modal:has(.fiscal-form) .return-summary-card { min-height: 66px; padding: 10px 11px; border-color: #e4eaf2; border-radius: 8px; background: #f8faff; }
.fiscal-admin-page .return-summary-card span,
.modal:has(.fiscal-form) .return-summary-card span { color: #718097; font-size: 8.5px; }
.fiscal-admin-page .return-summary-card strong,
.modal:has(.fiscal-form) .return-summary-card strong { margin-top: 4px; overflow: hidden; color: #23324a; font-size: 11.5px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.fiscal-admin-page .return-summary-card small,
.modal:has(.fiscal-form) .return-summary-card small { display: block; margin-top: 3px; color: #8290a3; font-size: 8.5px; }

.fiscal-admin-page .fiscal-admin-profile-list { margin: 0 14px 13px; gap: 0; overflow: hidden; border: 1px solid #e5eaf2; border-radius: 8px; }
.fiscal-admin-page .fiscal-admin-profile-list > div { min-height: 45px; padding: 8px 11px; border-bottom: 1px solid #edf1f5; display: grid; grid-template-columns: minmax(125px, .55fr) minmax(0, 1.45fr); align-content: center; align-items: center; gap: 2px 12px; }
.fiscal-admin-page .fiscal-admin-profile-list > div:last-child { border-bottom: 0; }
.fiscal-admin-page .fiscal-admin-profile-list > div > span { font-size: 8.5px; font-weight: 700; }
.fiscal-admin-page .fiscal-admin-profile-list > div > strong,
.fiscal-admin-page .fiscal-admin-profile-list > div > .highlight-list { grid-column: 2; color: #34435a; font-size: 10px; }
.fiscal-admin-page .fiscal-admin-profile-list > div > small { grid-column: 2; font-size: 8px; }

.fiscal-admin-page .fiscal-admin-alerts { padding: 13px 14px; gap: 7px; }
.fiscal-admin-page .fiscal-admin-alerts > .alert { min-height: 38px; padding: 8px 10px; border-radius: 7px; font-size: 9px; line-height: 1.35; }
.fiscal-admin-page .fiscal-admin-alerts > .return-summary-card { min-height: 72px; }
.fiscal-admin-page .fiscal-admin-alerts > .return-summary-card strong { white-space: normal; }

.fiscal-admin-page .catalog-table-wrap { scrollbar-gutter: auto; }
.fiscal-admin-page .fiscal-sequence-table { min-width: 1020px; table-layout: fixed; font-size: 10px; }
.fiscal-admin-page .fiscal-sequence-table th { height: 38px; padding: 7px 13px; color: #5b6a80; background: #fafbfd; font-size: 8px; letter-spacing: .045em; }
.fiscal-admin-page .fiscal-sequence-table td { height: 57px; padding: 8px 13px; vertical-align: middle; }
.fiscal-admin-page .fiscal-sequence-table th:nth-child(1) { width: 12%; }
.fiscal-admin-page .fiscal-sequence-table th:nth-child(2) { width: 11%; }
.fiscal-admin-page .fiscal-sequence-table th:nth-child(3) { width: 16%; }
.fiscal-admin-page .fiscal-sequence-table th:nth-child(4) { width: 13%; }
.fiscal-admin-page .fiscal-sequence-table th:nth-child(5) { width: 17%; }
.fiscal-admin-page .fiscal-sequence-table th:nth-child(6) { width: 22%; }
.fiscal-admin-page .fiscal-sequence-table th:nth-child(7) { width: 9%; }
.fiscal-admin-page .catalog-table__stack { gap: 2px; }
.fiscal-admin-page .catalog-table__stack strong { overflow: hidden; color: #293950; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.fiscal-admin-page .catalog-table__stack small { overflow: hidden; color: #7f8b9e; font-size: 8px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.fiscal-admin-page .fiscal-sequence-table .badge { min-height: 19px; padding: 2px 7px; font-size: 8px; }
.fiscal-admin-page .fiscal-sequence-table .table-actions .btn { min-height: 28px; padding-inline: 9px; border: 1px solid #d6e2f1; border-radius: 6px; color: #1762cc; background: #f8fbff; font-size: 9px; }

.fiscal-admin-page .fiscal-admin-summary-grid { padding: 13px 14px 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.fiscal-admin-page .fiscal-admin-summary-grid .return-summary-card { min-height: 62px; }

/* Fiscal profile and sequence modals. */
.modal:has(.fiscal-form) { width: min(780px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); padding: 0; gap: 0; overflow: hidden; border-color: #d9e2ee; border-radius: 14px; box-shadow: 0 24px 64px rgb(15 33 58 / 22%); }
.modal:has(.fiscal-form) .modal__header { min-height: 62px; padding: 12px 17px; }
.modal:has(.fiscal-form) .modal__title { font-size: 16px; }
.modal:has(.fiscal-form) .modal__subtitle { max-width: 620px; font-size: 10px; }
.modal:has(.fiscal-form) .modal__header .icon-btn { width: 30px; height: 30px; border-radius: 7px; font-size: 12px; }
.modal:has(.fiscal-form) .modal__body { min-height: 0; max-height: calc(100dvh - 90px); padding: 14px 17px 0; color: #34435a; }
.fiscal-form { gap: 11px; }
.fiscal-form > .alert { min-height: 36px; padding: 8px 10px; border-radius: 7px; font-size: 9.5px; line-height: 1.35; }
.fiscal-form .form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.fiscal-form .form-row--triple { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fiscal-form .field { min-width: 0; gap: 4px; }
.fiscal-form .field__label { color: #34435a; font-size: 10px; font-weight: 700; }
.fiscal-form .field__input,
.fiscal-form .field__select { height: 38px; min-height: 38px; padding: 0 10px; border-color: #d7e0eb; border-radius: 7px; font-size: 11px; }
.fiscal-form .field__textarea { min-height: 72px; padding: 9px 10px; border-color: #d7e0eb; border-radius: 7px; font-size: 11px; line-height: 1.45; resize: vertical; }
.fiscal-form .field__input[readonly] { color: #69778d; background: #f4f6f9; }
.fiscal-form .field__input:focus,
.fiscal-form .field__select:focus,
.fiscal-form .field__textarea:focus { border-color: #4b8ce9; outline: 3px solid rgb(23 105 232 / 9%); }
.fiscal-form .field__hint,
.fiscal-form .field__error { margin-top: 0; font-size: 8.5px; line-height: 1.35; }
.fiscal-form .fiscal-sequence-form__meta { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.fiscal-form .fiscal-sequence-form__meta .return-summary-card { min-height: 58px; padding: 8px 9px; }
.fiscal-form__status { padding: 9px 10px; border: 1px solid #e1e7ef; border-radius: 8px; background: #f8faff; }
.fiscal-form .form-row > .fiscal-form__status:only-child { grid-column: 1 / -1; }
.fiscal-toggle { min-height: 24px; display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 8px; cursor: pointer; }
.fiscal-toggle .field__checkbox { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.fiscal-toggle__control { position: relative; width: 31px; height: 18px; border-radius: 99px; background: #cbd5e2; transition: background-color .18s ease; }
.fiscal-toggle__control::after { content: ""; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgb(23 38 62 / 22%); transition: transform .18s ease; }
.fiscal-toggle .field__checkbox:checked + .fiscal-toggle__control { background: #1769e8; }
.fiscal-toggle .field__checkbox:checked + .fiscal-toggle__control::after { transform: translateX(13px); }
.fiscal-toggle .field__checkbox:focus-visible + .fiscal-toggle__control { outline: 3px solid rgb(23 105 232 / 16%); outline-offset: 2px; }
.fiscal-toggle__label { color: #33435a; font-size: 10px; font-weight: 650; }
.fiscal-form .catalog-form__actions { position: sticky; bottom: 0; z-index: 2; min-height: 58px; margin: 3px -17px 0; padding: 10px 17px; border-top: 1px solid #e4eaf2; background: rgb(255 255 255 / 96%); backdrop-filter: blur(7px); }
.fiscal-form .catalog-form__actions .btn { min-height: 36px; padding: 0 13px; border-radius: 7px; font-size: 10px; }

@media (max-width: 1100px) {
  .fiscal-admin-page .fiscal-admin-grid { grid-template-columns: 1fr; }
  .fiscal-admin-page .fiscal-admin-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .fiscal-admin-page { padding: 5px 0 22px; }
  .fiscal-admin-page > .page__header { align-items: flex-start; }
  .fiscal-admin-page > .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fiscal-admin-page .fiscal-admin-profile-list > div { grid-template-columns: 1fr; }
  .fiscal-admin-page .fiscal-admin-profile-list > div > strong,
  .fiscal-admin-page .fiscal-admin-profile-list > div > small,
  .fiscal-admin-page .fiscal-admin-profile-list > div > .highlight-list { grid-column: 1; }
  .modal:has(.fiscal-form) { width: calc(100vw - 12px); max-height: calc(100dvh - 12px); border-radius: 11px; }
  .modal:has(.fiscal-form) .modal__body { max-height: calc(100dvh - 76px); padding-inline: 13px; }
  .fiscal-form .form-row,
  .fiscal-form .form-row--triple { grid-template-columns: 1fr; }
  .fiscal-form .fiscal-sequence-form__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fiscal-form .catalog-form__actions { margin-inline: -13px; padding-inline: 13px; }
}

@media (max-width: 430px) {
  .fiscal-admin-page > .stats-grid,
  .fiscal-admin-page .fiscal-admin-profile-grid,
  .fiscal-admin-page .fiscal-admin-summary-grid { grid-template-columns: 1fr; }
  .fiscal-admin-page .fiscal-stat-card { min-height: 75px; }
}
