:root {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  color: #202124;
  background: #ffffff;
  font-synthesis: none;
  --blue: #2f8cff;
  --blue-dark: #1674e8;
  --border: #dedfe2;
  --muted: #8a8d91;
  --soft: #f4f4f5;
  --sidebar: #fafafa;
  --danger: #b42318;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body { margin: 0; min-width: 320px; background: #fff; }
small { font-size: 13px; }

button, input, select, textarea { font: inherit; }

button { color: inherit; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 270px minmax(0, 1fr); }

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 28px 18px 22px;
  border-right: 1px solid #ececef;
  background: var(--sidebar);
  overflow-y: auto;
  z-index: 20;
}

.brand {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  padding: 0 10px 25px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.brand:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; border-radius: 13px; }
.brand-mark {
  width: 39px; height: 39px; flex: 0 0 39px; display: block;
  border-radius: 12px; object-fit: cover;
}
.brand strong, .brand span { display: block; line-height: 1.15; }
.brand strong { font-size: 15px; }
.brand span { margin-top: 3px; color: var(--muted); font-size: 13px; }

.nav-group-title {
  margin: 18px 10px 7px;
  color: #a0a2a6;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.nav-button {
  width: 100%; display: flex; align-items: center; gap: 10px;
  border: 0; border-radius: 11px; padding: 10px 11px; background: transparent;
  text-align: left; cursor: pointer; font-size: 14px; line-height: 1.25;
}
.nav-button:hover { background: #f0f0f1; }
.nav-button.active { background: #eaf3ff; color: #146acb; font-weight: 600; }
.nav-icon { width: 26px; flex: 0 0 26px; color: #777a7f; text-align: center; font-size: 16px; }
.nav-button > span:last-child { min-width: 0; }
.nav-button.active .nav-icon { color: var(--blue-dark); }
.home-nav-button { margin-top: 2px; }
.nav-separator { height: 1px; margin: 12px 10px 4px; background: #e7e8ea; }

.sidebar-note { margin: auto 10px 0; padding-top: 26px; color: #9a9ca0; font-size: 13px; line-height: 1.5; }

.workspace { width: 100%; min-width: 0; max-width: 1160px; margin: 0 auto; padding: 52px 52px 36px; }
.page-header { display: flex; gap: 12px; margin-bottom: 31px; }
.eyebrow { margin: 0 0 7px; color: var(--blue-dark); font-size: 13px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
h1 { margin: 0; font-size: 29px; line-height: 1.15; font-weight: 650; letter-spacing: -.025em; }
.page-description { max-width: 760px; margin: 10px 0 0; color: #71747a; font-size: 14px; line-height: 1.55; }
.menu-button { display: none; border: 0; background: transparent; font-size: 22px; cursor: pointer; }

.calculator-panel, .home-panel { max-width: 960px; }
.home-panel[hidden], .calculator-panel[hidden] { display: none; }

.home-legal-notice {
  margin-bottom: 20px;
  border: 1px solid #e6eaee;
  border-radius: 10px;
  color: #68737c;
  background: #f8fafb;
  overflow: hidden;
}
.home-legal-notice[open] { background: #fbfcfd; }
.home-legal-notice-summary {
  display: flex;
  gap: 8px;
  padding: 9px 12px;
  align-items: center;
  color: #7f8a93;
  font-size: 12px;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}
.home-legal-notice-summary::-webkit-details-marker { display: none; }
.home-legal-notice[open] .home-legal-notice-summary { border-bottom: 1px solid #edf0f2; }
.home-legal-notice-summary:hover { background: #f3f6f8; }
.home-legal-notice-summary:focus-visible { outline: 2px solid var(--blue); outline-offset: -3px; }
.home-legal-notice-title {
  color: #59656e;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}
.home-legal-notice-chevron {
  display: inline-flex;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  margin-left: auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eef5fc;
  transition: transform .15s ease;
}
.home-legal-notice-chevron::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-right: 1.5px solid #3974b9;
  border-bottom: 1.5px solid #3974b9;
  transform: rotate(45deg);
}
.home-legal-notice[open] .home-legal-notice-chevron { transform: rotate(180deg); }
.home-legal-notice-copy { padding: 10px 12px 12px; }
.home-legal-notice-copy p { margin: 0; color: #68737c; font-size: 12px; line-height: 1.5; }
.home-legal-notice-copy p + p { margin-top: 7px; }
.home-legal-notice-copy a {
  display: inline-flex;
  gap: 5px;
  margin-top: 9px;
  border-radius: 4px;
  color: #738ba0;
  font-size: 12px;
  text-decoration: none;
}
.home-legal-notice-copy a:hover { text-decoration: underline; }
.home-legal-notice-copy a:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }

.home-search-wrap { max-width: 720px; }
.home-search-wrap > label {
  display: block;
  margin: 0 0 8px;
  color: #63676d;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.home-search-control { position: relative; }
.home-search-control > span {
  position: absolute;
  top: 50%;
  left: 16px;
  z-index: 1;
  transform: translateY(-54%);
  color: #73777d;
  font-size: 23px;
  pointer-events: none;
}
.home-search-control input {
  min-height: 52px;
  border-color: #d8dce1;
  border-radius: 16px;
  padding: 12px 16px 12px 47px;
  background: #fbfbfc;
  font-size: 15px;
  box-shadow: 0 5px 18px rgba(31, 43, 55, .04);
}
.home-search-control input:focus { background: #fff; box-shadow: 0 0 0 1px var(--blue), 0 8px 24px rgba(47, 140, 255, .08); }
.home-search-wrap > p { margin: 7px 3px 0; color: #9a9da2; font-size: 13px; }

.home-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  margin-top: 25px;
  align-items: start;
}
.home-group {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e3e5e8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 5px 20px rgba(31, 43, 55, .035);
}
.home-group[hidden] { display: none; }
.home-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 16px 10px;
  cursor: pointer;
  list-style: none;
}
.home-group-heading::-webkit-details-marker { display: none; }
.home-group:not([open]) .home-group-heading { padding-bottom: 15px; }
.home-group-heading h2 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .02em; }
.home-group-heading-meta { display: flex; align-items: center; gap: 8px; }
.home-group-heading .home-group-count,
.home-group-heading .home-group-chevron {
  min-width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #767b81;
  background: #f1f2f3;
  font-size: 13px;
  font-weight: 650;
}
.home-group-heading .home-group-chevron {
  color: #4d7ba7;
  background: #eef5fc;
  font-size: 14px;
  transition: transform .16s ease;
}
.home-group[open] .home-group-chevron { transform: rotate(180deg); }
.home-group-count { display: none !important; }
.home-group-heading:focus-visible { outline: 2px solid #8dbce9; outline-offset: -2px; }
.home-tool-list { padding: 0 7px 8px; }
.home-tool {
  width: 100%;
  min-height: 65px;
  display: flex;
  align-items: center;
  gap: 13px;
  border: 0;
  border-radius: 12px;
  padding: 10px 11px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.home-tool:hover, .home-tool:focus-visible { background: #f2f7fd; outline: none; }
.home-tool:focus-visible { box-shadow: inset 0 0 0 2px #a9cff8; }
.home-tool[hidden] { display: none; }
.home-tool-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #4b76a3;
  background: #edf4fb;
  font-size: 16px;
  font-weight: 650;
}
.home-tool-copy { min-width: 0; flex: 1 1 auto; }
.home-tool-copy strong, .home-tool-copy small { display: block; }
.home-tool-copy strong {
  overflow: hidden;
  color: #2d3034;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-tool-copy small {
  overflow: hidden;
  margin-top: 3px;
  color: #92969b;
  font-size: 13px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-tool-arrow { flex: 0 0 auto; color: #a5a8ac; font-size: 14px; transition: transform .15s ease, color .15s ease; }
.home-tool:hover .home-tool-arrow { transform: translateX(2px); color: var(--blue-dark); }

.home-search-empty {
  margin-top: 26px;
  padding: 28px;
  border: 1px dashed #d9dde1;
  border-radius: 17px;
  color: #6f747a;
  text-align: center;
}
.home-search-empty[hidden] { display: none; }
.home-search-empty strong { font-size: 14px; }
.home-search-empty p { margin: 5px 0 0; color: #999da2; font-size: 13px; }

.home-recent { margin-top: 30px; padding-top: 25px; border-top: 1px solid #e5e7e9; }
.home-recent[hidden] { display: none; }
.home-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.home-section-heading span { display: block; margin-bottom: 4px; color: #979ba0; font-size: 13px; text-transform: uppercase; letter-spacing: .055em; }
.home-section-heading h2 { margin: 0; font-size: 16px; }
.home-section-heading button {
  border: 0;
  padding: 4px 0;
  color: #2876c8;
  background: transparent;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}
.home-section-heading button:hover { text-decoration: underline; }
.home-recent-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 13px; }
.home-recent-item {
  min-width: 0;
  min-height: 105px;
  border: 1px solid #e2e5e8;
  border-radius: 14px;
  padding: 12px 13px;
  background: #fafbfc;
  text-align: left;
  cursor: pointer;
}
.home-recent-item:hover, .home-recent-item:focus-visible { border-color: #bfd7ef; background: #f4f8fc; outline: none; }
.home-recent-item:disabled { opacity: .6; cursor: wait; }
.home-recent-item span, .home-recent-item strong, .home-recent-item small { display: block; overflow: hidden; text-overflow: ellipsis; }
.home-recent-item span { color: #4e7ba5; font-size: 13px; line-height: 1.4; text-transform: uppercase; white-space: nowrap; }
.home-recent-item strong { margin-top: 7px; font-size: 13px; line-height: 1.4; }
.home-recent-item small { margin-top: 5px; color: #8c9197; font-size: 13px; line-height: 1.4; white-space: nowrap; }

.home-bottom-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(200px, 1fr);
  gap: 12px;
  align-items: start;
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid #e5e7e9;
}
.home-key-rate { min-width: 0; }
.home-reference-content { margin-top: 13px; }
.home-reference-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.home-reference-card {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 17px;
  border: 1px solid #d9e7f6;
  border-radius: 16px;
  background: linear-gradient(145deg, #f4f9ff, #fff);
  box-shadow: 0 5px 18px rgba(36, 98, 158, .045);
}
.home-reference-label { color: #55738f; font-size: 13px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.home-reference-card strong { margin-top: auto; color: #176fc5; font-size: 27px; line-height: 1.05; white-space: nowrap; }
.home-reference-card small { margin-top: 9px; color: #69747f; font-size: 13px; line-height: 1.4; }
.home-reference-card a { margin-top: 10px; color: #176fc5; font-size: 13px; font-weight: 650; text-decoration: none; }
.home-reference-card a:hover { text-decoration: underline; }
.home-reference-status { margin: 10px 2px 0; color: #8a929b; font-size: 13px; line-height: 1.45; }

.home-calendar-column { min-width: 0; }
.home-production-calendar {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-top: 13px;
  padding: 14px;
  border: 1px solid #d9e7f6;
  border-radius: 16px;
  background: linear-gradient(145deg, #f4f9ff, #fff);
  box-shadow: 0 5px 18px rgba(36, 98, 158, .045);
}
.home-calendar-toolbar { display: grid; grid-template-columns: 25px minmax(0, 1fr) 25px; align-items: center; gap: 5px; }
.home-calendar-toolbar strong { color: #202124; font-size: 13px; text-align: center; }
.home-calendar-toolbar strong span { color: #87919c; font-size: 13px; font-weight: 500; }
.home-calendar-toolbar button {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border: 1px solid #d9e7f6;
  border-radius: 8px;
  padding: 0;
  color: #176fc5;
  background: rgba(255, 255, 255, .8);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}
.home-calendar-toolbar button:hover:not(:disabled) { border-color: #9fc8ed; background: #fff; }
.home-calendar-toolbar button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.home-calendar-toolbar button:disabled { color: #bec8d2; cursor: default; }
.home-production-calendar-content {
  width: 100%;
  margin: 10px auto 0;
}
.home-production-calendar-unavailable { margin-top: 10px; padding: 12px; border-radius: 11px; color: #737b84; background: #f4f6f8; font-size: 13px; line-height: 1.5; }
.home-calendar-open {
  align-self: center;
  border: 0;
  margin-top: auto;
  padding: 7px 0 0;
  color: #176fc5;
  background: transparent;
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
}
.home-calendar-open:hover { text-decoration: underline; }

.production-calendar-toolbar,
.production-calendar-summary,
.production-calendar-year,
.production-calendar-footer,
.production-calendar-sources { grid-column: 1 / -1; }
.production-calendar-toolbar {
  position: relative;
  z-index: 5;
  padding: 17px 18px;
  border: 1px solid #dfe7ef;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fbff 0%, #f4f8fc 55%, #f8fafc 100%);
  box-shadow: 0 9px 30px rgba(42, 67, 91, .06);
}
.production-calendar-toolbar-controls { display: grid; grid-template-columns: 126px minmax(270px, 1fr) auto auto; align-items: end; gap: 13px; }
.production-calendar-year-select,
.production-calendar-region-picker { min-width: 0; color: #52606d; font-size: 13px; font-weight: 700; }
.production-calendar-year-select > span,
.production-calendar-control-label { display: block; margin: 0 0 7px 2px; }
.production-calendar-year-select select { display: block; width: 100%; min-height: 48px; border-color: #d5dee8; border-radius: 13px; background: #fff; box-shadow: 0 3px 10px rgba(45, 74, 101, .04); }
.production-calendar-region-picker { position: relative; }
.production-calendar-region-button { width: 100%; min-height: 48px; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 13px; border: 1px solid #d5dee8; border-radius: 13px; color: #1f2d3a; background: #fff; box-shadow: 0 3px 10px rgba(45, 74, 101, .04); font: inherit; font-size: 14px; font-weight: 650; text-align: left; cursor: pointer; }
.production-calendar-region-button:hover { border-color: #b9cee1; box-shadow: 0 5px 15px rgba(45, 91, 132, .08); }
.production-calendar-region-button:focus-visible { border-color: #2f8cff; outline: 3px solid rgba(47, 140, 255, .15); }
.production-calendar-region-button:disabled { color: #8d979f; background: #f2f5f7; box-shadow: none; cursor: not-allowed; }
.production-calendar-region-pin { position: relative; width: 15px; height: 15px; border: 2px solid #4d8bc4; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.production-calendar-region-pin::after { position: absolute; top: 3px; left: 3px; width: 5px; height: 5px; border-radius: 50%; background: #4d8bc4; content: ""; }
.production-calendar-region-button:disabled .production-calendar-region-pin { border-color: #9da6ad; }
.production-calendar-region-button:disabled .production-calendar-region-pin::after { background: #9da6ad; }
.production-calendar-region-arrow { color: #73808b; font-size: 18px; line-height: 1; transition: transform .16s ease; }
.production-calendar-region-button[aria-expanded="true"] .production-calendar-region-arrow { transform: rotate(180deg); }
.production-calendar-region-dropdown { position: absolute; z-index: 35; top: calc(100% + 8px); left: 0; width: min(440px, calc(100vw - 48px)); padding: 10px; border: 1px solid #dce4ec; border-radius: 15px; background: #fff; box-shadow: 0 20px 48px rgba(31, 52, 72, .18); }
.production-calendar-region-dropdown.hidden { display: none; }
.production-calendar-region-search-row { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid #dce4ec; border-radius: 11px; background: #f8fafc; }
.production-calendar-region-search-row > span { position: relative; width: 13px; height: 13px; border: 2px solid #82909c; border-radius: 50%; }
.production-calendar-region-search-row > span::after { position: absolute; right: -5px; bottom: -3px; width: 6px; height: 2px; border-radius: 2px; background: #82909c; transform: rotate(45deg); content: ""; }
.production-calendar-region-search-row input { min-width: 0; min-height: 41px; padding: 0; border: 0; background: transparent; box-shadow: none; font-size: 14px; }
.production-calendar-region-search-row input:focus { outline: 0; box-shadow: none; }
.production-calendar-region-search-row small { min-width: 34px; color: #7b8791; font-size: 13px; font-weight: 600; text-align: right; white-space: nowrap; }
.production-calendar-region-options { max-height: min(380px, 54vh); margin-top: 8px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.production-calendar-region-option { width: 100%; min-height: 39px; display: grid; grid-template-columns: minmax(0, 1fr) 18px; align-items: center; gap: 8px; padding: 8px 10px; border: 0; border-radius: 9px; color: #334250; background: transparent; font: inherit; font-size: 14px; line-height: 1.35; text-align: left; cursor: pointer; }
.production-calendar-region-option[hidden] { display: none; }
.production-calendar-region-option i { display: none; color: #2479c8; font-style: normal; font-weight: 800; text-align: center; }
.production-calendar-region-option:hover,
.production-calendar-region-option.keyboard-active { color: #1768b6; background: #eff6fc; }
.production-calendar-region-option.keyboard-active { outline: 2px solid rgba(47, 140, 255, .22); outline-offset: -2px; }
.production-calendar-region-option[aria-selected="true"] { color: #1768b6; background: #e9f3fc; font-weight: 700; }
.production-calendar-region-option[aria-selected="true"] i { display: block; }
.production-calendar-region-empty { margin: 18px 10px; color: #8b949c; font-size: 13px; font-weight: 500; text-align: center; }
.production-calendar-legal-toggle { min-height: 48px; display: flex; align-items: center; gap: 9px; padding: 0 14px; border: 1px solid #dfe6ed; border-radius: 13px; color: #4f5d68; background: rgba(255, 255, 255, .78); font-size: 13px; font-weight: 650; white-space: nowrap; cursor: pointer; }
.production-calendar-legal-toggle:hover { border-color: #c7d6e3; background: #fff; }
.production-calendar-legal-toggle input { width: 18px; height: 18px; margin: 0; accent-color: #2f8cff; }
.production-calendar-region-context { margin: 12px 0 0; padding: 9px 12px; border-left: 3px solid #6e9cca; border-radius: 5px 10px 10px 5px; color: #56636e; background: rgba(231, 241, 250, .78); font-size: 13px; line-height: 1.5; }
.production-calendar-region-context[hidden] { display: none; }
.reference-export-actions { margin: 0; }
.production-calendar-toolbar-controls > .result-workbench-actions.reference-export-actions { align-self: end; margin: 0; }
.production-calendar-toolbar-controls > .reference-export-actions .productivity-action { min-height: 48px; border-color: #d5dee8; border-radius: 13px; background: #fff; box-shadow: 0 3px 10px rgba(45, 74, 101, .04); }
.court-directory-results > .reference-export-actions { margin: -2px 0 12px; }
.production-calendar-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.production-calendar-summary article { padding: 13px 14px; border: 1px solid #e0e5ea; border-radius: 14px; background: #fff; }
.production-calendar-summary span { display: block; min-height: 30px; color: #7e858d; font-size: 13px; line-height: 1.45; text-transform: uppercase; letter-spacing: .035em; }
.production-calendar-summary strong { display: block; margin-top: 5px; color: #2d5276; font-size: 23px; }
.production-calendar-year { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.production-calendar-month { min-width: 0; padding: 14px; border: 1px solid #e0e4e8; border-radius: 16px; background: #fff; box-shadow: 0 3px 13px rgba(31, 43, 55, .025); }
.production-calendar-month header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.production-calendar-month header div { display: flex; align-items: baseline; gap: 6px; }
.production-calendar-month header strong { font-size: 13px; }
.production-calendar-month header span { color: #8b9198; font-size: 13px; }
.production-calendar-month header small { color: #8a9096; font-size: 13px; white-space: nowrap; }
.production-calendar-weekdays,
.production-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.production-calendar-weekdays { margin-bottom: 4px; }
.production-calendar-weekdays span { color: #92979d; font-size: 13px; font-weight: 650; text-align: center; text-transform: uppercase; }
.production-calendar-day { position: relative; aspect-ratio: 1; display: grid; width: 100%; min-width: 0; padding: 0; place-items: center; border: 0; border-radius: 7px; color: #43484e; background: #f7f8f9; font: inherit; font-size: 13px; }
.production-calendar-day.weekend { color: #a95454; background: #fff2f1; }
.production-calendar-day.holiday { color: #ad3c38; background: #fee7e5; font-weight: 700; }
.production-calendar-day.working-weekend { color: #176fc5; background: #e7f2fd; font-weight: 700; }
.production-calendar-day.shortened::after { position: absolute; right: 3px; bottom: 3px; width: 5px; height: 5px; border-radius: 999px; background: #e1a126; content: ""; }
.production-calendar-day.calendar-event { cursor: pointer; }
.production-calendar-day.calendar-event:hover { box-shadow: inset 0 0 0 2px #6d99c2, 0 3px 9px rgba(52, 91, 128, .16); }
.production-calendar-day.calendar-event:focus-visible { outline: 2px solid #2876c8; outline-offset: 2px; }
.production-calendar-day.regional-holiday { box-shadow: inset 0 0 0 2px #d28a29; font-weight: 700; }
.production-calendar-day.regional-holiday::after { position: absolute; left: 3px; bottom: 3px; width: 5px; height: 5px; border-radius: 999px; background: #d28a29; content: ""; }
.production-calendar-day.legal-holiday { cursor: pointer; box-shadow: inset 0 0 0 2px #8066c8; font-weight: 700; }
.production-calendar-day.legal-holiday::before { position: absolute; top: 3px; right: 3px; width: 5px; height: 5px; border-radius: 999px; background: #8066c8; content: ""; }
.production-calendar-day.legal-holiday:hover { box-shadow: inset 0 0 0 2px #5f43ae, 0 3px 9px rgba(95, 67, 174, .18); }
.production-calendar-day.legal-holiday:focus-visible { outline: 2px solid #5f43ae; outline-offset: 2px; }
.production-calendar-day.today { box-shadow: inset 0 0 0 2px #2f8cff; }
.production-calendar-day.empty { background: transparent; }
.production-calendar-month.home { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.production-calendar-month.home header { margin-bottom: 8px; }
.production-calendar-month.home header strong { font-size: 13px; }
.production-calendar-month.home header span { font-size: 13px; }
.production-calendar-month.home header small { font-size: 13px; }
.production-calendar-month.home .production-calendar-weekdays,
.production-calendar-month.home .production-calendar-days { gap: 2px; }
.production-calendar-month.home .production-calendar-weekdays { margin-bottom: 3px; }
.production-calendar-month.home .production-calendar-day { height: 18px; aspect-ratio: auto; border-radius: 5px; font-size: 13px; }
.production-calendar-legend { display: flex; flex-wrap: wrap; gap: 9px 15px; color: #69717a; font-size: 13px; line-height: 1.45; }
.production-calendar-legend span { display: flex; align-items: center; gap: 6px; }
.production-calendar-legend i { width: 11px; height: 11px; flex: 0 0 11px; border-radius: 3px; background: #f7f8f9; }
.production-calendar-legend i.weekend { background: #fff2f1; }
.production-calendar-legend i.holiday { background: #fee7e5; }
.production-calendar-legend i.working-weekend { background: #e7f2fd; }
.production-calendar-legend i.shortened { background: #fff7df; box-shadow: inset 0 -3px 0 #e1a126; }
.production-calendar-legend i.regional-holiday { background: #fff5e5; box-shadow: inset 0 0 0 2px #d28a29; }
.production-calendar-legend i.legal-holiday { background: #f1edff; box-shadow: inset 0 0 0 2px #8066c8; }
.production-calendar-footer { padding: 16px 18px; border-radius: 14px; background: #f5f7f9; }
.production-calendar-holiday-dialog { width: min(520px, calc(100vw - 32px)); padding: 25px 27px 26px; border: 1px solid #d9dfe7; border-radius: 18px; color: #27333c; background: #fff; box-shadow: 0 24px 70px rgba(26, 36, 48, .22); }
.production-calendar-holiday-dialog::backdrop { background: rgba(29, 39, 50, .38); backdrop-filter: blur(2px); }
.production-calendar-holiday-dialog h2 { margin: 0 36px 16px 0; font-size: 20px; line-height: 1.3; }
.production-calendar-holiday-events { display: grid; gap: 11px; }
.production-calendar-holiday-event { padding: 14px 15px; border-radius: 13px; background: #f6f8fa; }
.production-calendar-holiday-event > span { display: inline-block; padding: 4px 7px; border-radius: 999px; color: #2769a5; background: #e8f2fc; font-size: 13px; font-weight: 700; }
.production-calendar-holiday-event.regional > span { color: #936016; background: #fff0d8; }
.production-calendar-holiday-event.professional > span { color: #5f43ae; background: #f1edff; }
.production-calendar-holiday-event h3 { margin: 9px 0 0; font-size: 16px; line-height: 1.4; }
.production-calendar-holiday-event p { margin: 7px 0 0; color: #59636d; font-size: 14px; line-height: 1.58; }
.production-calendar-holiday-event .production-calendar-holiday-basis { padding-top: 8px; border-top: 1px solid #dfe5ea; color: #46535e; font-size: 13px; }
.production-calendar-holiday-basis strong { color: #2f3d48; }
.production-calendar-holiday-event a { display: inline-block; margin-top: 9px; color: #2876c8; font-size: 13px; font-weight: 650; text-decoration: none; }
.production-calendar-holiday-event a:hover { text-decoration: underline; }
.production-calendar-holiday-close { position: absolute; top: 14px; right: 15px; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; color: #6d7580; background: #f2f4f6; cursor: pointer; font-size: 22px; line-height: 1; }
.production-calendar-holiday-close:hover { color: #333d46; background: #e7ebee; }
.production-calendar-sources { padding: 18px; border: 1px solid #dce4eb; border-radius: 15px; background: #fff; }
.production-calendar-sources.draft { border-color: #ead9ad; background: #fffcf4; }
.production-calendar-source-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.production-calendar-source-heading > div > span { color: #8a9198; font-size: 13px; font-weight: 650; letter-spacing: .055em; text-transform: uppercase; }
.production-calendar-source-heading h3 { margin: 4px 0 0; font-size: 16px; }
.production-calendar-source-status { padding: 5px 8px; border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.production-calendar-source-status.official { color: #35714a; background: #eaf6ed; }
.production-calendar-source-status.draft { color: #8a641a; background: #fff1cb; }
.production-calendar-source-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 13px; }
.production-calendar-source-links a { min-width: 0; padding: 12px 13px; border: 1px solid #e2e7eb; border-radius: 12px; color: inherit; background: #fafbfc; text-decoration: none; }
.production-calendar-source-links a:hover { border-color: #bcd6ef; background: #f5f9fd; }
.production-calendar-source-links strong,
.production-calendar-source-links span { display: block; }
.production-calendar-source-links strong { font-size: 13px; line-height: 1.45; }
.production-calendar-source-links span { margin-top: 6px; color: #2876c8; font-size: 13px; font-weight: 650; }
.production-calendar-source-warning { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; color: #785816; background: #fff3d3; font-size: 13px; line-height: 1.5; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 15px; row-gap: 24px; }
.field { min-width: 0; }
.field.full, .form-section, .context-note, .repeater, .simple-calculator-intro, .publication-intro, .publication-help, .publication-rule-card, .kommersant-schedule, .bankruptcy-intro, .bankruptcy-rule-card, .bankruptcy-counting-help, .au-intro, .au-boundaries, .au-procedure-card, .fixed-rate-card, .expense-limit-intro, .expense-limit-help, .bfo-lookup, .court-selected-address, .court-directory-sources { grid-column: 1 / -1; }
.field.hidden, .form-section.hidden, .context-note.hidden, .repeater.hidden { display: none; }
.bfo-lookup.hidden { display: none; }
.publication-rule-card.hidden, .bankruptcy-rule-card.hidden { display: none; }
.kommersant-schedule.hidden { display: none; }
.bankruptcy-legal-help.hidden { display: none; }
.field label, .field-label { display: block; margin: 0 0 7px; font-size: 14px; line-height: 1.35; }
.optional { color: #9a9ca0; font-size: 13px; }
.field-hint { margin: 6px 2px 0; color: #8a8f96; font-size: 13px; line-height: 1.45; }

.simple-calculator-intro {
  max-width: 820px;
  padding: 0 0 3px;
}

.simple-calculator-intro h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
}

.simple-calculator-intro p {
  margin: 7px 0 0;
  color: #747a82;
  font-size: 14px;
  line-height: 1.55;
}

.procedural-rule-selection { grid-column: 1 / -1; }
.procedural-rule-selection > .publication-picker { width: 100%; }
.procedural-manual-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 11px;
}
.procedural-manual-heading.hidden { display: none; }
.procedural-manual-heading .section-title { margin: 0; }
.procedural-mode-toggle {
  padding: 0;
  border: 0;
  color: #2876c8;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  text-align: right;
}
.procedural-mode-toggle:hover { text-decoration: underline; }
.procedural-mode-toggle:focus-visible { outline: 2px solid #8bbcf0; outline-offset: 4px; border-radius: 2px; }
.procedural-category-badge { color: #315f88; background: #eaf3fc; }
.procedural-rule-explanation { color: #5e6871; }
.procedural-form-legal-help.hidden,
.limitation-form-legal-help.hidden { display: none; }
.procedural-form-legal-help { margin-top: 1px; }

.interest-settings,
.penalty-settings,
.interest-legal-help {
  grid-column: 1 / -1;
  margin-top: -4px;
  border-top: 1px solid #e5e8eb;
  color: #5e6871;
  font-size: 13px;
  line-height: 1.55;
}

.interest-settings[open] {
  margin-top: 0;
  padding: 0 14px 14px;
  border: 1px solid #dce5ed;
  border-radius: 12px;
  background: #fbfcfd;
}

.interest-settings[open] > summary { padding-bottom: 12px; }
.interest-settings[open] > summary { border-bottom: 1px solid #e7edf2; }

.interest-settings > summary,
.penalty-settings > summary,
.interest-legal-help > summary {
  padding-top: 13px;
  color: #2876c8;
  cursor: pointer;
  font-weight: 600;
}

.interest-settings > summary span,
.penalty-settings > summary .optional {
  margin-left: 5px;
  color: #8c9399;
  font-weight: 400;
}

.interest-settings > .section-grid,
.penalty-settings > .section-grid { margin-top: 14px; }
.interest-moratorium-note { grid-column: 1 / -1; margin: -2px 0 0; color: #747d85; }
.moratorium-industries { grid-column: 1 / -1; margin: 0; border: 1px solid #e2e8ee; border-radius: 11px; background: #f8fafc; }
.moratorium-industries > summary { padding: 10px 12px; color: #4b6478; cursor: pointer; font-weight: 600; }
.moratorium-industries[open] > summary { border-bottom: 1px solid #e2e8ee; }
.moratorium-industry-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; padding: 6px 12px; }
.moratorium-industry-list > div { display: grid; grid-template-columns: minmax(145px, .8fr) minmax(0, 1.2fr); gap: 10px; padding: 6px 0; border-bottom: 1px solid #edf0f3; }
.moratorium-industry-list > div:nth-last-child(-n + 2) { border-bottom: 0; }
.moratorium-industry-list span { color: #596874; }
.moratorium-industry-list code { color: #315f86; font: 500 12px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.moratorium-industry-footnote { margin: 0; padding: 4px 12px 10px; color: #7b848c; font-size: 13px; }
.interest-legal-content { display: grid; gap: 15px; margin-top: 13px; }
.indexation-legal-content.hidden { display: none; }
.interest-legal-content section { padding: 14px 15px; border-radius: 13px; background: #f7f9fb; }
.interest-legal-content h3 { margin: 0 0 8px; color: #3f4c57; font-size: 14px; }
.interest-legal-content ul { margin: 0; padding-left: 19px; }
.interest-legal-content li + li { margin-top: 5px; }
.interest-legal-content blockquote { margin: 9px 0 0; padding: 10px 12px; border-left: 3px solid #bfd9f3; border-radius: 4px 10px 10px 4px; color: #4f5c67; background: #fff; }
.interest-legal-content blockquote strong { color: #354754; }
.interest-legal-content blockquote p { margin: 3px 0 0; line-height: 1.45; }
.interest-legal-content blockquote p + p { margin-top: 5px; }
.interest-court-guidance blockquote strong { font-weight: 400; }
.interest-court-guidance blockquote > strong:first-child { font-weight: 700; }
.interest-legal-content section > p { margin: 10px 0 0; }
.interest-law-links { display: flex; flex-wrap: wrap; gap: 7px 13px; margin: 0; }
.interest-law-links a { color: #2876c8; text-decoration: none; }
.interest-law-links a:hover { text-decoration: underline; }

.judicial-option {
  grid-column: 1 / -1;
  margin-top: -4px;
  border-top: 1px solid #e5e8eb;
  color: #5e6871;
  font-size: 13px;
  line-height: 1.55;
}

.judicial-option > summary {
  padding-top: 13px;
  color: #2876c8;
  cursor: pointer;
  font-weight: 600;
}

.judicial-option > summary .optional {
  margin-left: 5px;
  color: #8c9399;
  font-weight: 400;
}

.judicial-option-body { margin-top: 14px; }
.judicial-option .section-grid { gap: 12px; }
.judicial-option .field label,
.judicial-option .repeater-row label > span {
  display: block;
  margin: 0 0 6px;
  color: #59636d;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

.judicial-exclusions .repeater { padding-top: 0; }
.judicial-exclusions .repeater-header {
  align-items: center;
  gap: 18px;
  margin-bottom: 12px;
}
.judicial-exclusions .repeater-help {
  margin: 0;
  color: #7b838b;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.judicial-exclusions .add-button {
  flex: 0 0 auto;
  border: 1px solid #cfe0f2;
  border-radius: 9px;
  padding: 6px 10px;
  background: #f3f8fd;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}
.judicial-exclusions .add-button:hover { border-color: #a9caea; background: #eaf4fe; }
.judicial-exclusions .repeater-row { align-items: end; gap: 10px; margin-bottom: 0; }
.judicial-exclusions .repeater-row + .repeater-row { margin-top: 10px; }

.enforcement-law-title {
  display: block;
  margin-top: 10px;
  color: #4f5963;
  font-size: 13px;
  line-height: 1.5;
}

.enforcement-counting-rule {
  display: block;
  margin-top: 7px;
  color: #7b838b;
  font-size: 13px;
  line-height: 1.5;
}

.enforcement-deadline-legal-help.hidden { display: none; }

.enforcement-exception-help { margin-top: 2px; }
.enforcement-exception-title { margin: 0; color: #44515d; font-weight: 400; }
.enforcement-exception-list { margin: 10px 0 0; padding-left: 21px; columns: 2; column-gap: 34px; }
.enforcement-exception-list li { break-inside: avoid; margin: 0 0 8px; padding-right: 8px; }
.enforcement-exception-notes { margin-top: 4px; border-top: 1px solid #dfe6ec; }
.enforcement-exception-notes summary { padding-top: 10px; color: #52616e; cursor: pointer; font-weight: 500; }
.enforcement-exception-notes p { margin: 9px 0 0; }
.enforcement-exception-notes small { display: block; margin-top: 9px; color: #707982; }

@media (max-width: 700px) {
  .enforcement-exception-list { columns: 1; }
}

input, select, textarea {
  width: 100%; min-height: 38px; border: 1px solid var(--border); border-radius: 13px;
  padding: 8px 11px; color: #24262a; background: #fff; outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
textarea { min-height: 86px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #c5c7cb; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
input::placeholder, textarea::placeholder { color: #b0b2b6; }

.checkbox-field { display: flex; gap: 10px; align-items: flex-start; padding-top: 2px; }
.checkbox-field input { width: 17px; height: 17px; min-height: auto; margin: 1px 0 0; accent-color: var(--blue); }
.checkbox-field label { margin: 0; color: #45484d; font-size: 13px; line-height: 1.45; cursor: pointer; }

/* Reusable compact choices for debtor types, procedures and payment kinds. */
.choice-card-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 190px));
  align-items: stretch;
  justify-content: start;
  gap: 10px;
}

.choice-card-grid[data-columns="2"] { grid-template-columns: repeat(2, minmax(165px, 190px)); }
.choice-card-grid[data-columns="3"] { grid-template-columns: repeat(3, minmax(165px, 190px)); }
.choice-card-grid[data-columns="4"] { grid-template-columns: repeat(4, minmax(155px, 190px)); }
.choice-card-grid[data-columns="5"] { grid-template-columns: repeat(5, minmax(145px, 190px)); }

.choice-card {
  position: relative;
  min-width: 0;
  min-height: 72px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  border: 1px solid #dce3ea;
  border-radius: 14px;
  padding: 12px 14px;
  color: #4e5d6b;
  background: #fff;
  box-shadow: 0 2px 8px rgba(35, 47, 58, .025);
  cursor: pointer;
  text-align: left;
  transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.choice-card:hover {
  border-color: #a8c9e9;
  background: #f7fbff;
  transform: translateY(-1px);
}

.choice-card.active,
.choice-card[aria-pressed="true"],
.choice-card[aria-selected="true"],
.choice-card:has(input:checked) {
  border-color: #4a94dc;
  color: #176fc5;
  background: #edf6ff;
  box-shadow: inset 0 0 0 1px #4a94dc;
}

.choice-card:focus-visible,
.choice-card:has(input:focus-visible) {
  outline: 3px solid rgba(47, 140, 255, .28);
  outline-offset: 2px;
}

.choice-card > strong,
.choice-card-title {
  font-size: 14px;
  line-height: 1.35;
}

.choice-card > span,
.choice-card > small,
.choice-card-description {
  color: #7b8792;
  font-size: 13px;
  line-height: 1.4;
}

.choice-card.active > span,
.choice-card.active > small,
.choice-card[aria-pressed="true"] > span,
.choice-card[aria-pressed="true"] > small {
  color: #4e82b4;
}

.choice-card > input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}

.checkbox-field[data-field="is_bankruptcy"] {
  min-height: 43px;
  align-self: end;
  align-items: center;
  padding: 0 2px 2px;
}

.checkbox-field[data-field="is_bankruptcy"] input {
  margin-top: 0;
}

.duty-conditions {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
}

.context-note { margin-top: -6px; padding: 12px 14px; border-left: 3px solid #b9d7fb; border-radius: 4px 10px 10px 4px; background: #f5f9fe; color: #5d6670; font-size: 13px; line-height: 1.55; }
.context-note strong { color: #374151; }

.publication-intro { padding: 15px 17px; border-radius: 15px; background: #f7f9fc; }
.publication-intro strong { display: block; font-size: 14px; }
.publication-intro p { margin: 5px 0 0; color: #6e747c; font-size: 13px; line-height: 1.5; }
.publication-picker { position: relative; }
.publication-picker-button { width: 100%; min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--border); border-radius: 13px; padding: 8px 11px; color: #24262a; background: #fff; text-align: left; cursor: pointer; }
.publication-picker-button:hover { border-color: #c5c7cb; }
.publication-picker-button:focus { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue); outline: none; }
.publication-picker-button:disabled { color: #9da0a5; background: #fafafa; cursor: default; }
.publication-picker-arrow { flex: 0 0 auto; color: #73777c; font-size: 17px; line-height: 1; }
.publication-picker-dropdown, .duty-picker-dropdown { position: absolute; z-index: 30; top: calc(100% + 7px); left: 0; right: 0; padding: 10px; border: 1px solid #dfe2e6; border-radius: 15px; background: #fff; box-shadow: 0 16px 38px rgba(33, 43, 54, .14); }
.publication-picker-dropdown.drop-up,
.duty-picker-dropdown.drop-up { top: auto; bottom: calc(100% + 7px); }
.publication-picker-dropdown.hidden { display: none; }
.publication-picker-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; }
.publication-picker-search { min-height: 39px; font-size: 13px; }
.publication-picker-count { min-width: 52px; color: #7c838a; font-size: 13px; text-align: right; white-space: nowrap; }
.publication-picker-options { max-height: var(--picker-options-max-height, min(460px, 58vh)); margin-top: 7px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.publication-list-options { margin-top: 0; }
.publication-picker-option { width: 100%; min-height: 36px; border: 0; border-radius: 8px; padding: 7px 10px; background: transparent; text-align: left; cursor: pointer; font-size: 13px; line-height: 1.35; }
.publication-picker-option:hover, .publication-picker-option[aria-selected="true"] { color: #1768b6; background: #eef5fc; }
.duty-picker-option.keyboard-active { color: #1768b6; background: #eef5fc; outline: 2px solid rgba(47, 140, 255, .35); outline-offset: -2px; }
.publication-picker-empty { margin: 12px 8px; color: #969a9f; font-size: 13px; }

.publication-picker-group {
  padding: 4px 0 6px;
}

.publication-picker-group + .publication-picker-group {
  border-top: 1px solid #edf0f2;
}

.publication-picker-group[hidden] {
  display: none;
}

.publication-picker-group-title {
  position: sticky;
  z-index: 1;
  top: 0;
  display: flex;
  align-items: center;
  min-height: 27px;
  margin: 0 3px 2px;
  padding: 5px 8px;
  color: #657584;
  background: rgba(248, 250, 252, .97);
  backdrop-filter: blur(5px);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .045em;
  line-height: 1.35;
  text-transform: uppercase;
}

.publication-picker-group .publication-picker-option {
  padding-left: 13px;
}

.publication-picker-option mark {
  border-radius: 3px;
  padding: 0 1px;
  color: inherit;
  background: #fff0b8;
}

.duty-picker-empty {
  grid-column: 1 / -1;
  padding: 18px;
  border: 1px dashed #d9dde1;
  border-radius: 14px;
  color: #777f87;
  background: #fbfcfd;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}

.duty-result-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
}

.duty-result-tags span {
  padding: 5px 8px;
  border-radius: 999px;
  color: #53616d;
  background: #edf1f4;
  font-size: 13px;
  line-height: 1.35;
}

.yes-no-choice-field .choice-card-grid[data-columns="2"] {
  grid-template-columns: repeat(2, 84px);
}

.yes-no-choice-field .yes-no-choice {
  width: 84px;
  min-height: 84px;
  align-items: center;
  padding: 10px;
  text-align: center;
}

.yes-no-choice-field .yes-no-choice strong {
  font-size: 15px;
}

.duty-secondary-options {
  grid-column: 1 / -1;
  margin-top: -4px;
  border-top: 1px solid #e5e8eb;
  color: #5e6871;
  font-size: 13px;
  line-height: 1.55;
}

.duty-secondary-options.hidden {
  display: none;
}

.duty-secondary-options > summary {
  padding-top: 13px;
  color: #647482;
  cursor: pointer;
  font-weight: 600;
}

.duty-secondary-options > summary:hover {
  color: #2876c8;
}

.duty-secondary-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #e3e7ea;
  border-radius: 14px;
  background: #fafbfc;
}

input[data-money-input] {
  font-variant-numeric: tabular-nums;
}

#duty-picker-value {
  min-width: 0;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
}

#duty-picker-count {
  flex: 0 0 auto;
  color: #7b8792;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.duty-picker-group .publication-picker-group-title {
  justify-content: space-between;
  gap: 12px;
}

.duty-picker-group .publication-picker-group-title small {
  color: #8c98a3;
  font-size: 13px;
  font-weight: 700;
}

.claim-change-tranche-row,
.new-independent-claim-row {
  align-items: end;
  padding: 11px;
  border: 1px solid #e5e9ed;
  border-radius: 11px;
  background: #fff;
}

.claim-change-tranche-row {
  grid-template-columns: minmax(210px, 1.25fr) repeat(2, minmax(150px, 1fr)) 28px;
}

.new-independent-claim-row {
  grid-template-columns: minmax(260px, 1.7fr) minmax(150px, .8fr) minmax(170px, 1fr) 28px;
}

.claim-change-tranche-row > .remove-button,
.new-independent-claim-row > .remove-button {
  grid-column: 4;
  grid-row: 1;
}

.new-independent-claim-hint {
  grid-column: 1 / -1;
  margin: 0;
  color: #6b7782;
  font-size: 13px;
  line-height: 1.45;
}

.claim-change-tranche-row label,
.new-independent-claim-row label {
  min-width: 0;
  margin: 0;
  font-size: 13px;
}

.claim-change-tranche-row label > span,
.new-independent-claim-row label > span {
  display: block;
  margin-bottom: 6px;
  color: #5b6873;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

.duty-mixed-presets {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid #dce6f0;
  border-radius: 16px;
  background: #f8fbfe;
}

.duty-mixed-presets > div > p {
  margin: -2px 0 2px;
  color: #6c7883;
  font-size: 13px;
  line-height: 1.5;
}

.duty-preset-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.duty-preset-buttons button {
  min-height: 36px;
  border: 1px solid #c9dbea;
  border-radius: 10px;
  padding: 7px 11px;
  color: #2d6da8;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
}

.duty-preset-buttons button:hover { border-color: #79addd; background: #f4f9fd; }
.duty-preset-buttons button:focus-visible { outline: 3px solid rgba(47, 140, 255, .25); outline-offset: 2px; }

.repeater.claims .duty-claim-row {
  grid-template-columns: repeat(12, minmax(0, 1fr)) 28px;
  align-items: end;
  padding: 12px;
  border: 1px solid #e3e8ed;
  border-radius: 13px;
  background: #fbfcfd;
}

.duty-claim-type { grid-column: 1 / 7; }
.duty-claim-amount { grid-column: 7 / 11; }
.duty-claim-count { grid-column: 11 / 13; }
.duty-claim-row > .remove-button { grid-column: 13; grid-row: 1; }
.duty-component-bankruptcy { grid-column: 1 / 7; }

.duty-claim-row label,
.duty-price-component-row label {
  min-width: 0;
  margin: 0;
  font-size: 13px;
}

.duty-claim-row label > span,
.duty-price-component-row label > span {
  display: block;
  margin-bottom: 6px;
  color: #5b6873;
  line-height: 1.35;
}

.duty-price-component-row {
  grid-template-columns: repeat(12, minmax(0, 1fr)) 28px;
  align-items: end;
}

.duty-price-kind { grid-column: 1 / 4; }
.duty-price-label { grid-column: 4 / 8; }
.duty-price-amount { grid-column: 8 / 11; }
.duty-component-included { grid-column: 11 / 13; }
.duty-price-component-row > .remove-button { grid-column: 13; }

.duty-component-included {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
}

.duty-component-included input {
  width: 17px;
  height: 17px;
  min-height: 0;
  accent-color: var(--blue);
}

.duty-mixed-presets.hidden,
.duty-component-bankruptcy.hidden,
.duty-claim-amount.hidden,
.duty-claim-count.hidden { display: none; }

.duty-alternatives {
  margin-top: 16px;
  border-bottom: 1px solid #d9e2eb;
  color: #555a61;
}

.duty-alternatives > summary {
  padding: 3px 0 12px;
  color: #2876c8;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  line-height: normal;
}

.duty-alternatives > summary:focus-visible { outline: 3px solid rgba(47, 140, 255, .25); outline-offset: 2px; }
.duty-alternative-content { padding: 0 0 14px; }
.duty-alternative-content > p { margin: 0; font-size: 13px; line-height: 1.5; }
.duty-alternative-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-top: 10px; }
.duty-alternative-card { padding: 13px; border: 1px solid #dce6f0; border-radius: 12px; background: #f8fbfe; }
.duty-alternative-card > span, .duty-alternative-card > strong, .duty-alternative-card > small { display: block; }
.duty-alternative-card > span { color: #5b6873; font-size: 13px; line-height: 1.4; }
.duty-alternative-card > strong { margin-top: 6px; font-size: 19px; font-variant-numeric: tabular-nums; }
.duty-alternative-card > p { margin: 7px 0 0; color: #5d6268; font-size: 13px; line-height: 1.48; }
.duty-alternative-card > small { margin-top: 8px; color: #986b18; font-size: 13px; line-height: 1.45; }
.duty-alternative-warning { margin-top: 10px !important; color: #6f6550; }
.duty-alternative-practice { margin-top: 12px; padding-top: 12px; border-top: 1px solid #e3e8ed; }
.duty-alternative-practice h4 { margin: 0; font-size: 13px; line-height: 1.45; }
.duty-alternative-practice p { margin: 7px 0 0; color: #5d6268; font-size: 13px; line-height: 1.5; }
.duty-alternative-practice a { display: inline-block; margin-top: 8px; color: #2876c8; font-size: 13px; text-decoration: none; }
.duty-alternative-practice a:hover { text-decoration: underline; }
.publication-help { margin-top: -7px; border-bottom: 1px solid #e8e9eb; color: #555a61; font-size: 13px; line-height: 1.55; }
.publication-help summary { padding: 3px 0 12px; cursor: pointer; color: #2876c8; font-weight: 600; }
.publication-help p { margin: 0 0 8px; }
.publication-help ul { margin: 0 0 15px; padding-left: 20px; }
.publication-help li { margin-top: 5px; }
.kommersant-schedule { padding: 0 2px 14px; border-bottom: 1px solid #e5e8eb; color: #343b42; }
.kommersant-schedule > summary { width: fit-content; padding: 2px 0; cursor: pointer; color: #3f4f5d; font-size: 14px; font-weight: 600; line-height: 1.5; }
.kommersant-schedule > summary:hover { color: #176fc8; }
.kommersant-schedule > summary:focus-visible { outline: 3px solid rgba(47, 140, 255, .22); outline-offset: 3px; border-radius: 4px; }
.kommersant-schedule-body { padding-top: 16px; }
.kommersant-schedule-year { display: inline-flex; gap: 9px; align-items: center; color: #59636c; font-size: 13px; font-weight: 600; }
.kommersant-schedule-year select { width: auto; min-width: 92px; padding: 8px 34px 8px 11px; border: 1px solid #d4dbe1; border-radius: 9px; background-color: #fff; font: inherit; }
.kommersant-schedule-content { margin-top: 18px; }
.kommersant-schedule-quarter + .kommersant-schedule-quarter { margin-top: 24px; }
.kommersant-schedule-quarter h3 { margin: 0 0 9px; color: #313a42; font-size: 14px; font-weight: 650; }
.kommersant-schedule-table-wrap { overflow-x: auto; border-top: 1px solid #dfe4e8; }
.kommersant-schedule table { width: 100%; min-width: 560px; border-collapse: collapse; color: #3f474e; font-size: 13px; }
.kommersant-schedule th, .kommersant-schedule td { padding: 10px 12px; border-bottom: 1px solid #e5e8eb; text-align: left; vertical-align: top; }
.kommersant-schedule th { color: #68737c; background: #f8f9fa; font-weight: 600; }
.kommersant-schedule th:first-child, .kommersant-schedule td:first-child { width: 28%; }
.kommersant-schedule th:nth-child(2), .kommersant-schedule td:nth-child(2) { width: 24%; white-space: nowrap; }
.kommersant-schedule-status { margin: 0; color: #77818a; font-size: 13px; }
.kommersant-schedule-source { margin-top: 14px; text-align: right; }
.kommersant-schedule-source a, .kommersant-schedule-error a { color: #2876c8; font-size: 13px; font-weight: 600; text-decoration: none; }
.kommersant-schedule-source a:hover, .kommersant-schedule-error a:hover { text-decoration: underline; }
.kommersant-schedule-error { padding: 13px 15px; border: 1px solid #ead9b8; border-radius: 12px; background: #fffaf2; }
.kommersant-schedule-error strong { color: #705c37; font-size: 13px; }
.kommersant-schedule-error p { margin: 5px 0 9px; color: #776c59; font-size: 13px; line-height: 1.45; }
.publication-rule-card { padding: 16px 18px; border: 1px solid #e1e5ea; border-radius: 18px; background: #fff; box-shadow: 0 5px 18px rgba(31, 43, 55, .045); }
.publication-card-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.publication-card-kicker { color: #8d9298; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.publication-card-heading h2 { max-width: 700px; margin: 5px 0 0; font-size: 17px; line-height: 1.35; }
.debtor-badge { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: #376894; background: #edf5fc; font-size: 13px; }
.publication-platform-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.platform-badge { padding: 5px 8px; border-radius: 999px; font-size: 13px; font-weight: 650; }
.platform-badge.efrsb { color: #1768b6; background: #eaf3fc; }
.platform-badge.kommersant { color: #4f555b; background: #f0f1f2; }
.publication-rule-compact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: stretch; margin-top: 13px; padding-top: 13px; border-top: 1px solid #eceef0; }
.publication-rule-compact span { display: block; color: #376894; font-size: 13px; font-weight: 700; line-height: 1.4; text-transform: uppercase; letter-spacing: .05em; }
.publication-rule-compact p { margin: 6px 0 0; color: #1f2d3a; font-size: 13px; line-height: 1.45; }
.publication-deadline-highlight, .publication-rule-basis { box-sizing: border-box; height: 100%; padding: 14px 16px; border: 1px solid #c9def3; border-left: 4px solid #2f8cff; border-radius: 13px; background: #edf6ff; box-shadow: 0 4px 12px rgba(47, 140, 255, .08); }
.publication-rule-basis { border-left-color: #6f9fc9; background: #f1f6fb; }
.publication-deadline-highlight .publication-deadline-text { margin-top: 6px; font-size: 13px; line-height: 1.45; font-weight: 400; letter-spacing: 0; }
.publication-deadline-text strong { font-weight: 600; }
.publication-rule-basis p { font-size: 13px; }
.auction-legal-basis-list { margin: 8px 0 0; padding-left: 18px; color: #1f2d3a; font-size: 13px; line-height: 1.48; }
.auction-legal-basis-list li + li { margin-top: 7px; }
.auction-legal-basis-list li::marker { color: #6f9fc9; }
.publication-rule-compact-platforms { grid-template-columns: minmax(0, 1.45fr) minmax(230px, .55fr); }
.publication-rule-compact-platforms-separated { grid-template-columns: minmax(0, 1fr); }
.publication-rule-compact-platforms .publication-rule-basis { border: 1px solid #d6e1ec; background: #fff; box-shadow: none; }
.publication-platform-timing { padding: 15px 16px; border: 1px solid #d6e1ec; border-radius: 13px; background: #fff; }
.publication-platform-timing-title { color: #315f88; }
.publication-platform-timing-layout { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 17px; align-items: start; margin-top: 11px; }
.publication-platform-timing-layout + .publication-platform-timing-layout { padding-top: 13px; border-top: 1px solid #e5e9ed; }
.publication-duration-tile { display: flex; min-height: 112px; padding: 12px 10px; border: 1px solid #d4e0eb; border-radius: 13px; background: #f2f6f9; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.publication-duration-tile strong { color: #173e62; font-size: 38px; font-weight: 700; line-height: 1; letter-spacing: -.03em; }
.publication-duration-tile span { margin-top: 7px; color: #596d7e; font-size: 13px; font-weight: 600; line-height: 1.3; text-transform: none; letter-spacing: 0; }
.limitation-platform-timing-layout { grid-template-columns: auto minmax(0, 1fr); }
.limitation-duration-tiles { display: grid; grid-template-columns: 112px; gap: 10px; }
.limitation-duration-tiles.multiple { grid-template-columns: repeat(2, 112px); }
.limitation-duration-tile small { min-height: 27px; margin-bottom: 7px; color: #71808d; font-size: 11px; font-weight: 650; line-height: 1.2; }
.publication-platform-timing-list section + section { margin-top: 13px; padding-top: 12px; border-top: 1px solid #e5e9ed; }
.publication-platform-timing-list h3 { margin: 0; color: #1f2d3a; font-size: 14px; line-height: 1.4; }
.publication-platform-timing-list ul { margin: 7px 0 0; padding: 0; list-style: none; color: #53606b; font-size: 13px; line-height: 1.48; }
.publication-platform-timing-list li { position: relative; padding-left: 16px; }
.publication-platform-timing-list li + li { margin-top: 6px; }
.publication-platform-timing-list li::before { position: absolute; top: .62em; left: 1px; width: 5px; height: 5px; border-radius: 50%; background: #6f9fc9; content: ""; }
.publication-platform-timing-list .publication-platform-legal-basis { margin: 9px 0 0; color: #667683; font-size: 13px; line-height: 1.45; }
.publication-platform-timing-list .publication-platform-legal-basis strong { color: #376894; font-weight: 700; }
.publication-platform-timing-trigger { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 17px; margin-top: 13px !important; padding-top: 12px; border-top: 1px solid #e5e9ed; }
.publication-platform-timing-trigger span { color: #71808d; font-size: 13px; text-align: center; }
.bankruptcy-rule-compact .publication-platform-timing-trigger { color: #53606b; font-size: 13px !important; font-weight: 400; line-height: 1.48; }
.enforcement-duration-text strong { font-size: 24px; line-height: 1.1; }
.enforcement-basis-list { margin: 8px 0 0; padding-left: 17px; color: #53606b; font-size: 13px; line-height: 1.48; }
.enforcement-basis-list li + li { margin-top: 7px; }
.enforcement-basis-list li::marker { color: #6f9fc9; }
.publication-message-card { margin-top: 14px; overflow: hidden; border: 1px solid #d9e4ee; border-radius: 16px; background: #fff; box-shadow: 0 5px 16px rgba(31, 43, 55, .04); }
.publication-message-card-heading { display: flex; padding: 15px 17px 14px; background: linear-gradient(135deg, #f7fbff 0%, #fbfdff 100%); cursor: pointer; align-items: center; justify-content: space-between; gap: 18px; list-style: none; }
.publication-message-card-heading::-webkit-details-marker { display: none; }
.publication-message-card[open] > .publication-message-card-heading { border-bottom: 1px solid #e3eaf1; }
.publication-message-card-heading-copy { min-width: 0; }
.publication-message-card-heading-copy strong { display: block; margin: 0; color: #1f2d3a; font-size: 16px; line-height: 1.4; }
.publication-message-card-heading-copy small { display: block; max-width: 850px; margin-top: 5px; color: #66717c; font-size: 13px; font-weight: 400; line-height: 1.5; }
.publication-message-card-chevron { position: relative; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid #d8e2eb; border-radius: 50%; background: #fff; }
.publication-message-card-chevron::before { position: absolute; top: 8px; left: 9px; width: 7px; height: 7px; border-right: 2px solid #5e7790; border-bottom: 2px solid #5e7790; transform: rotate(45deg); transition: transform .18s ease, top .18s ease; content: ""; }
.publication-message-card[open] .publication-message-card-chevron::before { top: 11px; transform: rotate(225deg); }
.publication-message-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.publication-message-section { min-width: 0; padding: 16px 17px 17px; }
.publication-message-common { background: #fff; }
.publication-message-selected { border-left: 1px solid #dfe7ef; background: #fff; }
.publication-message-section-heading { display: block; }
.publication-message-section-heading h4 { margin: 0; color: #294f72; font-size: 14px; font-weight: 700; line-height: 1.4; }
.publication-message-list { margin: 12px 0 0; padding: 0; list-style: none; color: #4f5963; font-size: 13px; line-height: 1.48; }
.publication-message-list li { position: relative; padding-left: 17px; }
.publication-message-list li + li { margin-top: 7px; }
.publication-message-list li::before { position: absolute; top: .62em; left: 1px; width: 6px; height: 6px; border-radius: 50%; background: #6f9fc9; content: ""; }
.publication-platform-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 17px; }
.publication-platform { padding: 12px 13px; border-radius: 13px; background: #f7f8f9; }
.publication-platform span { font-size: 13px; font-weight: 700; }
.publication-platform p { margin: 4px 0 0; color: #71767d; font-size: 13px; line-height: 1.45; }
.publication-platform.efrsb { border-left: 3px solid #2f8cff; }
.publication-platform.kommersant { border-left: 3px solid #60666c; }
.publication-platform-warning { margin: 9px 0 0; color: #805d1d; font-size: 13px; }
.publication-rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #eceef0; }
.publication-rule-grid span { color: #92969b; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.publication-rule-grid p { margin: 4px 0 0; font-size: 13px; line-height: 1.5; }
.publication-rule-note { margin-top: 14px; padding: 12px 14px; border-radius: 12px; font-size: 13px; line-height: 1.5; }
.publication-rule-note { background: #f6f8fa; }
.publication-inline-warning { margin-top: 14px; padding: 15px 17px 14px; border: 1px solid #d9e4ee; border-radius: 16px; color: #626b73; background: linear-gradient(135deg, #f7fbff 0%, #fbfdff 100%); box-shadow: 0 5px 16px rgba(31, 43, 55, .04); font-size: 13px; line-height: 1.5; }
.publication-rule-note strong, .publication-inline-warning strong { display: block; font-size: 13px; }
.publication-inline-warning strong { color: #1f2d3a; font-size: 16px; font-weight: 700; line-height: 1.4; }
.publication-rule-note p, .publication-inline-warning p { margin: 4px 0 0; }
.publication-inline-warning p { white-space: pre-line; }

.bankruptcy-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 16px; border: 1px solid #dce8f5; border-radius: 15px; background: #f7faff; }
.bankruptcy-intro h2 { margin: 3px 0 4px; font-size: 17px; }
.bankruptcy-intro p { margin: 0; color: #626b75; font-size: 13px; line-height: 1.45; }
.bankruptcy-version { flex: 0 0 auto; padding: 6px 9px; border-radius: 9px; color: #48729b; background: #eaf3fc; font-size: 13px; white-space: nowrap; }
.bankruptcy-rule-card { padding: 16px 18px; border: 1px solid #e1e5ea; border-radius: 18px; background: #fff; box-shadow: 0 5px 18px rgba(31, 43, 55, .045); }
.bankruptcy-card-heading h2 { max-width: 700px; margin: 0; font-size: 17px; line-height: 1.35; }
.bankruptcy-rule-context { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.bankruptcy-rule-context span { padding: 5px 8px; border-radius: 999px; color: #65707a; background: #f0f2f4; font-size: 13px; line-height: 1.35; }
.bankruptcy-rule-context span:first-child { color: #1768b6; background: #eaf3fc; font-weight: 650; }
.bankruptcy-rule-summary { max-width: none; }
.bankruptcy-rule-compact { margin-top: 13px; }
.bankruptcy-rule-compact .publication-rule-basis p { color: #1f2d3a; font-size: 13px; line-height: 1.45; }
.bankruptcy-deadline-list { margin: 7px 0 0; padding: 0; list-style: none; color: #53606b; font-size: 13px; line-height: 1.48; }
.bankruptcy-deadline-list li { position: relative; padding-left: 16px; }
.bankruptcy-deadline-list li + li { margin-top: 6px; }
.bankruptcy-deadline-list li::before { position: absolute; top: .62em; left: 1px; width: 5px; height: 5px; border-radius: 50%; background: #6f9fc9; content: ""; }
.bankruptcy-attention ul { margin: 10px 0 0; padding-left: 20px; }
.bankruptcy-attention li + li { margin-top: 6px; }
.bankruptcy-legal-basis-list { margin: 8px 0 0; padding-left: 18px; color: #1f2d3a; font-size: 13px; line-height: 1.48; }
.bankruptcy-legal-basis-list li + li { margin-top: 7px; }
.bankruptcy-legal-basis-list li::marker { color: #6f9fc9; }
.bankruptcy-protocol-guidance > p:last-child { margin-top: 12px; padding-top: 10px; border-top: 1px solid #dce7f0; }
.bankruptcy-rule-warning { margin-top: 14px; padding: 12px 14px; border-radius: 12px; color: #765018; background: #fff7e7; }
.bankruptcy-rule-warning.critical { color: #8f2922; background: #fff0ee; }
.bankruptcy-rule-warning strong { display: block; font-size: 13px; }
.bankruptcy-rule-warning p { margin: 4px 0 0; font-size: 13px; line-height: 1.5; }
.bankruptcy-rule-details { margin-top: 13px; border-top: 1px solid #eceef0; color: #626970; }
.bankruptcy-rule-details summary { padding-top: 12px; color: #2876c8; cursor: pointer; font-size: 13px; font-weight: 600; }
.bankruptcy-rule-details p { margin: 8px 0 0; font-size: 13px; line-height: 1.5; }
.bankruptcy-rule-detail-warning { padding: 9px 10px; border-radius: 9px; color: #73531e; background: #fff8e9; }
.bankruptcy-counting-help { margin-top: -5px; border-top: 1px solid #e7e9ec; color: #626970; font-size: 13px; line-height: 1.5; }
.bankruptcy-counting-help summary { padding-top: 11px; color: #2876c8; cursor: pointer; font-size: 13px; font-weight: 600; }
.bankruptcy-counting-help p { margin: 8px 0 0; }
.bankruptcy-legal-help .interest-legal-content { gap: 9px; }
.bankruptcy-legal-help .interest-legal-content section { padding: 11px 13px; }
.bankruptcy-legal-help .interest-legal-content h3 { margin-bottom: 5px; }
.bankruptcy-legal-help .interest-legal-content blockquote { margin-top: 6px; padding: 8px 10px; white-space: pre-line; }
.bankruptcy-legal-help .interest-legal-content blockquote + blockquote { margin-top: 6px; }

.limitation-no-limit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 13px; }
.limitation-rule-card { grid-column: 1 / -1; }
.limitation-card-heading > div { min-width: 0; }
.limitation-rule-description { max-width: 860px; margin: 7px 0 0; color: #66717c; font-size: 13px; line-height: 1.5; }
.limitation-duration-text strong { max-width: 100%; font-size: 17px; line-height: 1.3; text-align: center; }
.limitation-form-legal-help { margin-top: 1px; }
.limitation-no-limit-grid section { padding: 12px 13px; border-radius: 12px; }
.limitation-no-limit-grid .applies { border-left: 3px solid #68a97c; background: #f1f8f3; }
.limitation-no-limit-grid .boundary { border-left: 3px solid #d6a351; background: #fff8eb; }
.limitation-no-limit-grid h3 { margin: 0 0 5px; font-size: 13px; }
.limitation-no-limit-grid p { margin: 0; color: #5f6971; font-size: 13px; line-height: 1.55; }
.limitation-practice ul { margin: 7px 0 0; padding-left: 19px; }
.limitation-practice li { margin-top: 7px; color: #5f6971; font-size: 13px; line-height: 1.5; }
.limitation-practice a { display: inline-block; margin-left: 6px; color: #2774bb; font-size: 13px; text-decoration: none; }
.limitation-practice a:hover { text-decoration: underline; }
.limitation-optional-fields { grid-column: 1 / -1; margin-top: -2px; border-top: 1px solid #e7e9ec; color: #626970; font-size: 13px; line-height: 1.5; }
.limitation-optional-fields.hidden,
.limitation-brief-help.hidden { display: none; }
.limitation-optional-fields > summary { padding-top: 13px; color: #2876c8; cursor: pointer; font-weight: 600; }
.limitation-optional-fields > summary .optional { margin-left: 5px; font-weight: 400; }
.limitation-optional-fields > .section-grid { margin-top: 14px; }
.limitation-brief-help {
  grid-column: 1 / -1;
  margin-top: 1px;
  border-top: 1px solid #e7e9ec;
  color: #626970;
  font-size: 13px;
  line-height: 1.55;
}
.limitation-brief-help[open] {
  padding: 0 13px;
  border: 1px solid #e2e8ee;
  border-radius: 12px;
  background: #fbfcfd;
}
.limitation-brief-help > summary { padding: 11px 0; color: #2876c8; cursor: pointer; font-weight: 600; }
.limitation-brief-help[open] > summary { border-bottom: 1px solid #edf0f2; }
.limitation-brief-content { margin: 10px 0 12px; }
.limitation-brief-content p { margin: 6px 0; }
.limitation-brief-content ul { margin: 8px 0; padding-left: 21px; }
.limitation-brief-content li + li { margin-top: 5px; }
.limitation-brief-note { color: #858b91; }
.limitation-events-wrap {
  grid-column: 1 / -1;
  margin-top: -2px;
  border-top: 1px solid #e7e9ec;
}
.limitation-events-wrap.hidden { display: none; }
.limitation-events-wrap > summary { padding-top: 13px; color: #2876c8; cursor: pointer; font-size: 13px; font-weight: 600; }
.limitation-events-wrap > summary .optional { margin-left: 5px; color: #94999f; font-size: 13px; font-weight: 400; }
.limitation-events-wrap[open] > summary { margin-bottom: 9px; }
.form-section { padding-top: 2px; }
.section-title { margin: 0 0 11px; font-size: 14px; font-weight: 600; }
.section-description { max-width: 850px; margin: -4px 0 14px; color: #747a82; font-size: 13px; line-height: 1.55; }
.section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }

.au-intro { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 15px 17px; border: 1px solid #dfe8f4; border-radius: 15px; background: #f6f9fd; }
.au-intro strong { display: block; font-size: 14px; }
.au-intro span { color: #4380bd; font-size: 13px; font-weight: 600; }
.au-mode-picker { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 4px; border: 1px solid #e4e9ee; border-radius: 15px; background: #f5f7f9; }
.au-mode-picker button {
  display: flex;
  min-width: 0;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #56626c;
  background: transparent;
  cursor: pointer;
  font: inherit;
}
.au-mode-picker button > strong { overflow: hidden; text-overflow: ellipsis; font-size: 14px; font-weight: 650; }
.au-mode-picker button:hover { color: #2f566f; background: #fff; }
.au-mode-picker button.active { border-color: #a9cceb; color: #176fc5; background: #fff; box-shadow: 0 2px 8px rgba(40, 87, 125, .07); }
.au-mode-picker button:focus { outline: none; }
.au-mode-picker button:focus-visible { outline: 3px solid rgba(47, 140, 255, .24); outline-offset: 2px; }
.au-step-header { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 10px; margin: 0; }
.au-step-header span { flex: 0 0 auto; color: #71808c; font-size: 12px; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.au-step-header h2 { margin: 0; color: #2d3942; font-size: 16px; font-weight: 650; line-height: 1.35; }
.au-procedure-card { margin-top: -7px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.au-procedure-card[open] { padding: 0 13px 12px; border: 1px solid #e3e8ec; border-radius: 11px; background: #fbfcfd; }
.au-procedure-card summary { padding: 7px 0 2px; cursor: pointer; color: #536675; font-size: 13px; font-weight: 600; }
.au-procedure-card-body { margin-top: 12px; }
.au-procedure-card > span { color: #8b9096; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.au-procedure-card h3 { margin: 4px 0 7px; font-size: 16px; }
.au-procedure-card p { margin: 5px 0; color: #535e68; font-size: 13px; line-height: 1.5; }
.au-procedure-card strong { display: block; margin-top: 9px; font-size: 13px; }
.au-procedure-rates { margin: 10px 0 8px; padding-left: 20px; color: #343b42; font-size: 14px; line-height: 1.55; }
.au-procedure-rates li + li { margin-top: 4px; }
.au-procedure-card .au-procedure-note { color: #7a5b20; }
.au-procedure-card small { display: block; margin-top: 9px; color: #6f7b85; font-size: 13px; }
.au-required-card { grid-column: 1 / -1; margin-top: 3px; padding: 14px 15px 15px; border: 1px solid #dfe6ec; border-radius: 13px; background: #fbfcfd; box-shadow: 0 3px 10px rgba(39, 60, 76, .03); }
.au-required-card.hidden,
.fixed-rate-card.hidden,
.au-procedure-card.hidden { display: none; }
.au-required-card > header { margin-bottom: 14px; }
.au-required-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
[data-field="percentage_required_card"] { margin-top: 2px; padding: 17px 0 0; border: 0; border-top: 1px solid #e4e8ec; border-radius: 0; background: transparent; box-shadow: none; }
.au-optional-details { padding: 0; overflow: hidden; border: 1px solid #e1e7ec; border-radius: 12px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.au-optional-details:hover { border-color: #cbd9e4; }
.au-optional-details[open] { padding: 0 14px 14px; border-color: #cfdce7; background: #fbfcfd; box-shadow: 0 4px 12px rgba(39, 60, 76, .035); }
.au-optional-details > .au-optional-summary { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 58px; padding: 10px 14px 10px 39px; color: #344653; cursor: pointer; list-style: none; }
.au-optional-details[open] > .au-optional-summary { margin: 0 -14px; border-bottom: 1px solid #e2e8ed; background: #f7fafc; }
.au-optional-details > .au-optional-summary::-webkit-details-marker { display: none; }
.au-optional-details > .au-optional-summary::before { content: "›"; position: absolute; left: 15px; top: 50%; color: #607b91; font-size: 20px; line-height: 1; transform: translateY(-50%); transition: transform .15s ease; }
.au-optional-details[open] > .au-optional-summary::before { transform: translateY(-50%) rotate(90deg); }
.au-optional-copy { display: grid; gap: 3px; min-width: 0; }
.au-optional-copy strong { color: #2f485a; font-size: 14px; line-height: 1.35; }
.au-optional-copy small { overflow: hidden; color: #7b8790; font-size: 13px; font-weight: 400; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.au-optional-meta { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.au-optional-meta > span,
.au-optional-meta > em { padding: 4px 8px; border-radius: 999px; font-size: 13px; font-style: normal; font-weight: 500; line-height: 1.2; white-space: nowrap; }
.au-optional-meta > span { color: #7c8790; background: #f0f3f5; }
.au-optional-meta > em { color: #2e6f4d; background: #eaf6ef; }
.au-optional-meta > em[hidden] { display: none; }
.au-optional-details > .section-grid { margin-top: 16px; }
.au-fixed-required-card { margin-top: 5px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.au-fixed-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; align-items: start; }
.fixed-rate-card { grid-column: auto; display: flex; min-height: 142px; box-sizing: border-box; padding: 15px; border: 1px solid #dbe4eb; border-radius: 13px; background: #f8fafc; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.fixed-rate-card span { color: #718391; font-size: 12px; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.fixed-rate-card strong { display: block; margin-top: 10px; color: #173e62; font-size: 27px; font-weight: 700; line-height: 1.05; letter-spacing: -.025em; }
.fixed-rate-card em { margin-top: 6px; color: #526b80; font-size: 13px; font-style: normal; font-weight: 600; }
.fixed-rate-meta { width: 100%; box-sizing: border-box; margin-top: 10px; padding: 0 2px; color: #71808c; font-size: 13px; line-height: 1.45; }
.fixed-rate-meta > p { margin: 0; white-space: nowrap; }
.fixed-rate-meta details { margin-top: 8px; }
.fixed-rate-meta details summary { width: fit-content; color: #4d708f; cursor: pointer; font-size: 13px; font-weight: 600; }
.fixed-rate-meta details p { margin: 8px 0 0; color: #626b73; line-height: 1.5; }
.au-fixed-period, .au-fixed-procedure { min-width: 0; padding: 4px 0; }
.au-fixed-period.hidden, .au-fixed-procedure.hidden { display: none; }
.au-fixed-period > header, .au-fixed-procedure > header { margin-bottom: 17px; }
.au-fixed-period > header h3, .au-fixed-procedure > header h3 { margin: 0; color: #2d3942; font-size: 16px; line-height: 1.35; }
.au-fixed-date-grid { display: grid; grid-template-columns: 1fr; gap: 17px; }
.au-fixed-procedure-grid { display: grid; grid-template-columns: 1fr; gap: 17px; }
.au-fixed-multiple-note { max-width: 660px; margin: 0; padding: 13px 0 13px 15px; border-left: 3px solid #b9cfe1; color: #60717f; font-size: 14px; line-height: 1.5; }
.au-fixed-multiple-note.hidden { display: none; }
.au-fixed-followup { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; row-gap: 20px; margin-top: 19px; }
[data-field="court_set_fixed"], [data-field="custom_fixed_amount"] { grid-column: 1 / -1; }
.fixed-court-adjustment { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr; gap: 14px; padding: 19px 2px 0; border: 0; border-top: 1px solid #e5e9ed; border-radius: 0; background: transparent; }
.fixed-court-help { grid-column: 1 / -1; margin-top: 1px; }
.fixed-court-help summary { width: fit-content; color: #647787; cursor: pointer; font-size: 13px; font-weight: 500; }
.fixed-court-help p { max-width: 850px; margin: 9px 0 0; color: #626b73; font-size: 13px; line-height: 1.55; }
.fixed-court-help a, .absent-fee-source a { color: #2876c8; text-decoration: none; }
.fixed-court-help a:hover, .absent-fee-source a:hover { text-decoration: underline; }
.absent-fee-source { grid-column: 1 / -1; margin: -3px 2px 0; color: #68737c; font-size: 13px; line-height: 1.5; }
.absent-fee-source.hidden { display: none; }
.au-subsidiary-inputs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.au-subsidiary-inputs .field { display: grid; grid-template-rows: minmax(40px, auto) auto 1fr; align-content: start; }
.au-subsidiary-inputs .field label { align-self: end; }
.au-law-text { grid-column: 1 / -1; margin-top: 2px; border-top: 1px solid #e5e8eb; }
.au-law-text summary { padding-top: 13px; color: #2876c8; cursor: pointer; font-size: 13px; font-weight: 650; }
.au-law-text > div { margin-top: 11px; padding: 13px 14px; border: 1px solid #e2e6e9; border-radius: 12px; background: #fff; }
.au-law-text p { margin: 0 0 10px; color: #555e66; font-size: 13px; line-height: 1.6; }
.au-law-text ol { margin: 0 0 11px; padding-left: 19px; color: #555e66; font-size: 13px; line-height: 1.55; }
.au-law-text li + li { margin-top: 5px; }
.au-law-links { display: flex; gap: 14px; margin-bottom: 0 !important; }
.au-law-text a { display: inline-block; color: #2876c8; font-size: 13px; font-weight: 600; text-decoration: none; }
.au-law-text a:hover { text-decoration: underline; }
.au-collateral-section > .section-grid { gap: 13px; }
.au-collateral-section .bankruptcy-repeater { padding: 0; border: 0; background: transparent; }
.au-collateral-section .bankruptcy-entry-card.repeater-row { box-shadow: none; }
.au-collateral-main { display: grid; grid-template-columns: 1.3fr repeat(2, minmax(0, 1fr)); gap: 11px; }
.au-collateral-main label { display: grid; gap: 5px; min-width: 0; }
.au-collateral-main label > span { color: #626d75; font-size: 13px; font-weight: 400; line-height: 1.35; }
.au-collateral-lot-row .bankruptcy-entry-heading span { color: #345f7f; font-weight: 500; }
.au-collateral-lot-row .bankruptcy-entry-heading small { color: #77818a; font-size: 13px; font-weight: 400; }
.au-collateral-lot-row .bankruptcy-entry-more { margin-top: 15px; padding: 13px 14px 14px; border: 1px solid #d8e2e9; border-radius: 13px; background: #f6f9fb; }
.au-collateral-lot-row .bankruptcy-entry-more > summary { color: #3e5d73; font-weight: 600; }
.au-collateral-field-groups { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.55fr); gap: 12px; margin-top: 11px; }
.au-collateral-field-groups > section { min-width: 0; padding: 13px 14px 14px; border: 1px solid #dce4e9; border-radius: 12px; background: #fff; }
.au-collateral-field-groups > section:first-child { box-shadow: inset 3px 0 0 #d6b36b; }
.au-collateral-field-groups > section:last-child { box-shadow: inset 3px 0 0 #8db7d7; }
.au-collateral-field-groups h4 { margin: 0 0 11px; color: #344b5c; font-size: 13px; font-weight: 600; }
.au-collateral-field-groups label { display: grid; gap: 5px; min-width: 0; }
.au-collateral-field-groups label > span { color: #626d75; font-size: 13px; font-weight: 400; line-height: 1.4; }
.au-collateral-allocation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.au-collateral-allocation-grid > label:not(.au-collateral-obligation) { align-self: stretch; grid-template-rows: minmax(0, 1fr) auto minmax(18px, auto); }
.au-collateral-allocation-grid > label:not(.au-collateral-obligation) > input { grid-row: 2; }
.au-collateral-allocation-grid > label:not(.au-collateral-obligation) > .au-collateral-field-hint { grid-row: 3; }
.au-collateral-obligation { grid-column: 1 / -1; }
.au-collateral-obligation.hidden { display: none; }
.au-collateral-field-hint { color: #899198; font-size: 13px; font-weight: 400; line-height: 1.4; }
.au-collateral-law-reference { color: #7c858d; font-size: 13px; font-weight: 400; line-height: 1.4; }
.au-collateral-help { grid-column: 1 / -1; margin-top: 10px; padding: 0 12px; border: 1px solid #dce5eb; border-radius: 10px; background: #fff; }
.au-collateral-help + .au-collateral-help { margin-top: 8px; }
.au-collateral-distribution-help.hidden { display: none; }
.au-collateral-help > summary { padding: 10px 0; color: #3e5d73; cursor: pointer; font-size: 13px; font-weight: 550; }
.au-collateral-help[open] > summary { border-bottom: 1px solid #e2e8ed; }
.au-collateral-help > div { max-width: none; padding: 12px 0 2px; }
.au-collateral-help p { margin: 0 0 8px; color: #5d6871; font-size: 13px; line-height: 1.55; }
.au-distribution-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-bottom: 10px; }
.au-distribution-grid section { display: flex; min-width: 0; padding: 14px 15px; flex-direction: column; border: 1px solid #e2e7eb; border-radius: 12px; background: #f8fafc; }
.au-distribution-grid h4 { margin: 0 0 10px; color: #344653; font-size: 14px; font-weight: 500; line-height: 1.4; }
.au-distribution-grid dl { display: grid; gap: 6px; margin: 0; }
.au-distribution-grid dl > div { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 9px; align-items: baseline; }
.au-distribution-grid dt { color: #345f7f; font-size: 13px; font-weight: 600; line-height: 1.45; }
.au-distribution-grid dd { margin: 0; color: #5d6871; font-size: 13px; line-height: 1.45; }
.au-distribution-grid .au-distribution-note { margin: 11px 0 0; padding-top: 10px; border-top: 1px solid #e2e7eb; color: #77818a; }
.au-reference-notes { display: grid; gap: 8px; margin-top: 12px; }
.au-reference-notes p { margin: 0; padding: 11px 13px; border-left: 3px solid #ccd6de; border-radius: 0 9px 9px 0; background: #f8f9fa; }
.au-law-reference { color: #344653; font-weight: 500; }
.au-boundaries { margin-top: -5px; border-top: 1px solid #e8e9eb; color: #555a61; font-size: 13px; line-height: 1.5; }
.au-boundaries summary { padding-top: 13px; cursor: pointer; color: #2876c8; font-weight: 600; }
.au-boundaries ul { margin: 10px 0 0; padding-left: 20px; color: #6f747b; }
.au-boundaries li { margin-top: 5px; }
.expense-limit-intro { padding: 18px 19px; border: 1px solid #dce8f1; border-radius: 17px; background: linear-gradient(135deg, #f3f8fc, #fafcfd); }
.expense-limit-intro strong { display: block; font-size: 15px; }
.expense-limit-intro p { max-width: 830px; margin: 6px 0 9px; color: #626c75; font-size: 13px; line-height: 1.55; }
.expense-limit-intro span { color: #427598; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.bfo-lookup { padding: 0 17px 15px; border: 1px solid #d7e5f2; border-radius: 16px; background: #f7fbff; }
.bfo-lookup > summary { padding: 14px 0 0; color: #176fc8; cursor: pointer; font-size: 13px; font-weight: 600; }
[data-field="au_balance_lookup"].bfo-lookup { padding: 0; border: 0; border-radius: 0; background: transparent; }
[data-field="au_balance_lookup"].bfo-lookup[open] { padding: 0 14px 15px; border: 1px solid #e3eaf0; border-radius: 12px; background: #fcfdff; }
[data-field="au_balance_lookup"].bfo-lookup > summary { color: #536675; font-weight: 600; }
[data-field="au_balance_lookup"] .bfo-lookup-grid input { border-color: #cfd7df; background: #fff; cursor: text; }
[data-field="au_balance_lookup"] .bfo-lookup-grid input:hover { border-color: #abb9c5; }
[data-field="au_balance_lookup"] .bfo-lookup-grid input:focus { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(47, 140, 255, .14); }
.bfo-lookup-intro { margin-top: 13px; }
.bfo-lookup-intro strong { display: block; font-size: 13px; }
.bfo-lookup-intro p { max-width: 820px; margin: 5px 0 0; color: #67737e; font-size: 13px; line-height: 1.5; }
.bfo-lookup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 14px; }
.bfo-lookup-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 14px; margin-top: 14px; }
.bfo-lookup-actions span { color: #899198; font-size: 13px; }
.bfo-lookup-button, .bfo-apply-button { border: 0; border-radius: 11px; padding: 9px 14px; color: #fff; background: #2376cc; cursor: pointer; font-size: 13px; font-weight: 600; }
.bfo-lookup-button:hover, .bfo-apply-button:hover { background: #1766b8; }
.bfo-lookup-button:disabled { opacity: .65; cursor: wait; }
.bfo-lookup-status { margin-top: 12px; }
.bfo-lookup-status.loading, .bfo-lookup-status.error { padding: 11px 12px; border-radius: 11px; font-size: 13px; line-height: 1.45; }
.bfo-lookup-status.loading { color: #4d657a; background: #edf5fc; }
.bfo-lookup-status.error { color: #8b3028; background: #fff0ee; }
.bfo-lookup-result { padding: 14px 15px; border: 1px solid #c9dfd0; border-radius: 14px; background: #f5fbf6; }
.bfo-lookup-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.bfo-lookup-heading span { color: #5c8568; font-size: 13px; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; }
.bfo-lookup-heading h3 { margin: 4px 0; font-size: 14px; line-height: 1.35; }
.bfo-lookup-heading small { color: #78837d; font-size: 13px; }
.bfo-lookup-heading a { flex: 0 0 auto; color: #2672b7; font-size: 13px; text-decoration: none; }
.bfo-lookup-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 13px; }
.bfo-lookup-values div { padding: 10px 11px; border-radius: 11px; background: #fff; }
.bfo-lookup-values span { display: block; color: #8a918d; font-size: 13px; }
.bfo-lookup-values strong { display: block; margin-top: 5px; font-size: 13px; line-height: 1.35; }
.bfo-lookup-result > p { margin: 11px 0 0; color: #5e6e63; font-size: 13px; line-height: 1.45; }
.bfo-lookup-result > span { display: block; margin-top: 6px; color: #808b84; font-size: 13px; }
.bfo-lookup-confirm { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 12px; margin-top: 12px; padding-top: 11px; border-top: 1px solid #dbe9df; }
.bfo-lookup-confirm em { color: #79827c; font-size: 13px; font-style: normal; }
.bfo-lookup-confirm em.applied { color: #2d7541; font-weight: 600; }
.expense-limit-help { margin-top: -6px; border-top: 1px solid #e4e7e9; color: #5c646b; font-size: 13px; line-height: 1.5; }
.expense-limit-help summary { padding-top: 13px; color: #2876c8; cursor: pointer; font-weight: 600; }
.expense-limit-legal-help > summary { font-size: 14px; }
.expense-limit-legal-help [data-expense-legal-procedure].hidden,
.expense-limit-legal-help [data-expense-legal-procedure][hidden] { display: none !important; }
.expense-limit-help-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 13px; }
.expense-limit-help-grid section { padding: 13px 14px; border-radius: 13px; background: #f7f8f9; }
.form-grid .expense-limit-help-grid h3 { margin: 0; font-size: 14px; }
.expense-limit-help-grid ul { margin: 8px 0 0; padding-left: 18px; font-size: 13px; }
.expense-limit-help-grid li { margin-top: 5px; }
.expense-limit-help > p { margin: 12px 0 0; color: #7a5a20; font-size: 13px; }
.engaged-corporate-content { display: contents; }
.engaged-corporate-content.hidden { display: none; }
.expense-limit-citizen-card { grid-column: 1 / -1; padding: 20px; border: 1px solid #cfe0ef; border-radius: 17px; background: linear-gradient(135deg, #f5f9fd, #fff); }
.expense-limit-citizen-card.hidden { display: none; }
.expense-limit-citizen-card > header > span { color: #2876c8; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.expense-limit-citizen-card > header h2 { max-width: 900px; margin: 6px 0 0; color: #32495a; font-size: 20px; line-height: 1.35; }
.expense-limit-citizen-card > header p { max-width: 980px; margin: 10px 0 0; color: #596772; font-size: 14px; line-height: 1.6; }
.expense-limit-citizen-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 17px; }
.expense-limit-citizen-grid > section { padding: 15px 16px; border: 1px solid #dfe7ed; border-radius: 14px; background: #fff; }
.expense-limit-citizen-grid > section:last-child { grid-column: 1 / -1; }
.form-grid .expense-limit-citizen-grid h3 { margin: 0; color: #3d5261; font-size: 14px; }
.expense-limit-citizen-grid ul { margin: 9px 0 0; padding-left: 19px; color: #5d6972; font-size: 13px; line-height: 1.52; }
.expense-limit-citizen-grid li + li { margin-top: 6px; }
.expense-limit-citizen-grid p { margin: 9px 0 0; color: #5d6972; font-size: 13px; line-height: 1.55; }
.expense-limit-citizen-exception { margin-top: 13px; padding: 13px 15px; border: 1px solid #eed9a9; border-radius: 13px; background: #fffaf0; }
.expense-limit-citizen-exception strong { color: #72571c; font-size: 13px; }
.expense-limit-citizen-exception p { margin: 6px 0 0; color: #725f36; font-size: 13px; line-height: 1.55; }
.expense-limit-citizen-legal { margin-top: 14px; border-top: 1px solid #dce5eb; }
.expense-limit-citizen-legal > summary { padding-top: 13px; color: #2876c8; cursor: pointer; font-size: 13px; font-weight: 650; }
.expense-limit-citizen-legal > div { margin-top: 12px; }
.expense-limit-citizen-legal blockquote { margin: 10px 0 0; padding: 13px 14px; border-left: 3px solid #84add2; border-radius: 0 10px 10px 0; color: #58656f; background: #fff; font-size: 13px; line-height: 1.55; }

.moratorium-extra-claims { grid-column: 1 / -1; padding-top: 2px; border-top: 1px solid #e5e8eb; }
.moratorium-extra-claims > summary { width: fit-content; padding-top: 11px; color: #7b848c; cursor: pointer; font-size: 13px; }
.moratorium-extra-claims[open] > summary { color: #2876c8; }
.moratorium-extra-claims > .section-grid { margin-top: 13px; }
.moratorium-manual-rate { display: grid; grid-column: 1 / -1; grid-template-columns: 1fr; gap: 12px; padding-top: 3px; }
.moratorium-manual-rate [data-field="manual_rate"] { min-height: 42px; }
.moratorium-manual-rate [data-field="rate"] { width: min(100%, 590px); }
.moratorium-legal-help .interest-legal-content section:first-child p { margin-top: 0; }
.moratorium-legal-help .interest-legal-content section:first-child ul { margin-top: 10px; }
.moratorium-result { padding: 23px; background: #f5f7f9; }
.moratorium-result > .result-label { padding-right: 160px; }
.moratorium-result-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.moratorium-result-heading h2 { margin: 0; font-size: 28px; line-height: 1.2; letter-spacing: -.02em; }
.moratorium-result-heading p { margin: 7px 0 0; color: #737c84; font-size: 13px; }
.moratorium-result-heading > span { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: #326b9e; background: #e6f1fb; font-size: 13px; font-weight: 650; }
.moratorium-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 17px; }
.moratorium-metrics > section, .moratorium-payment-summary { min-height: 102px; padding: 14px; border: 1px solid #dfe4e8; border-radius: 14px; background: #fff; }
.moratorium-metrics > section.primary { border-color: #b8d8c3; background: #f3faf5; }
.moratorium-metrics span { display: block; color: #788189; font-size: 13px; line-height: 1.4; }
.moratorium-metrics strong { display: block; margin-top: 8px; font-size: 17px; line-height: 1.25; }
.moratorium-metrics small { display: block; margin-top: 7px; color: #8a9299; font-size: 13px; line-height: 1.4; }
.moratorium-excluded { display: grid; grid-template-columns: minmax(145px, .45fr) minmax(0, 1.55fr); gap: 16px; align-items: center; margin-top: 11px; padding: 13px 14px; border: 1px solid #ead8b4; border-radius: 13px; background: #fff9ee; }
.moratorium-excluded span { display: block; color: #96753c; font-size: 13px; }
.moratorium-excluded strong { display: block; margin-top: 4px; color: #74541d; font-size: 14px; }
.moratorium-excluded p { margin: 0; color: #77684e; font-size: 13px; line-height: 1.5; }
.moratorium-result-warnings { margin-top: 12px; padding: 13px 14px; border-radius: 13px; color: #765018; background: #fff7e7; }
.moratorium-result-warnings strong { font-size: 13px; }
.moratorium-result-warnings ul { margin: 7px 0 0; padding-left: 19px; font-size: 13px; line-height: 1.5; }
.moratorium-result-warnings li { margin-top: 4px; }
.moratorium-calculation-details { margin-top: 15px; border-top: 1px solid #dde1e4; }
.moratorium-calculation-details summary { padding-top: 14px; color: #4f5d69; cursor: pointer; font-size: 13px; font-weight: 650; }
.moratorium-calculation-details table { min-width: 830px; }
.moratorium-legal-basis { margin-top: 15px; border-top: 1px solid #dde1e4; }
.moratorium-legal-basis > summary { padding-top: 14px; color: #4f5d69; cursor: pointer; font-size: 13px; font-weight: 650; }
.moratorium-legal-basis[open] > summary { color: #2876c8; }
.moratorium-legal-basis > .interest-legal-content { margin-top: 13px; font-size: 13px; line-height: 1.55; }
.moratorium-legal-basis .interest-legal-content :is(blockquote, blockquote strong, a) { font-size: 13px !important; line-height: 1.55; }
.moratorium-checklist { margin-top: 15px; border-top: 1px solid #dde1e4; }
.moratorium-checklist summary { padding-top: 14px; color: #4f5d69; cursor: pointer; font-size: 13px; font-weight: 650; }
.moratorium-checklist ul { margin: 9px 0 0; padding-left: 20px; color: #626b73; font-size: 13px; line-height: 1.5; }
.moratorium-checklist li { margin-top: 4px; }

.repeater-help { margin: -4px 0 10px; color: #888d94; font-size: 13px; line-height: 1.45; }
.au-managers { grid-column: 1 / -1; }
.au-managers .repeater-help { color: #6f7a84; }
.au-managers input::placeholder { color: #7f8b96; opacity: 1; }
.repeater.au-managers .repeater-row { grid-template-columns: minmax(150px, 1.4fr) minmax(135px, 1fr) minmax(135px, 1fr) 28px; }

.repeater { padding-top: 3px; }
.repeater-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.repeater-header .field-label { margin: 0; }
.add-button, .remove-button, .text-button, .copy-button, .value-copy-button, .table-copy-button {
  border: 0; background: transparent; cursor: pointer; color: #2276d2; font-size: 13px;
}
.value-copy-button, .table-copy-button {
  width: fit-content; margin-top: 7px; padding: 4px 7px; border-radius: 8px; color: #657887; background: #f0f5f8; line-height: 1.3;
}
.value-copy-button:hover, .table-copy-button:hover { color: #176fc8; background: #e8f2fa; }
.table-copy-button { display: block; margin-top: 4px; padding: 3px 6px; font-size: 13px; }
.add-button { padding: 5px 0; }
.repeater-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 28px; gap: 10px; margin-bottom: 9px; align-items: center; }
.repeater.claims .repeater-row { grid-template-columns: minmax(0, 2fr) minmax(140px, 1fr) 28px; }
.indexation-document-returns { padding-top: 12px; border-top: 1px solid #e5e8eb; }
.form-section[data-field="indexation_inputs"] .checkbox-field { grid-column: 1 / -1; padding: 2px 0; }
.indexation-document-returns .repeater-header { align-items: flex-start; gap: 18px; }
.indexation-document-returns .repeater-help { max-width: 720px; margin: 4px 0 0; }
.indexation-return-row { align-items: end; padding: 12px 13px; border: 1px solid #e2e7eb; border-radius: 13px; background: #fafbfc; }
.indexation-return-row label > span { display: block; margin-bottom: 5px; color: #6d747b; font-size: 13px; line-height: 1.35; }
.indexation-return-row label > span em { color: #999da1; font-style: normal; }
.indexation-return-error { grid-column: 1 / -2; display: flex; align-items: flex-start; gap: 9px; width: fit-content; max-width: 100%; padding: 9px 11px; border-radius: 10px; color: #53616c; background: #f1f5f8; font-size: 13px; line-height: 1.4; cursor: pointer; }
.indexation-return-error input { flex: 0 0 auto; width: 16px; height: 16px; min-height: 0; margin: 1px 0 0; accent-color: var(--blue); }
.indexation-return-error span { display: inline; margin: 0; color: inherit; font-size: inherit; line-height: inherit; }
.indexation-pension-note { padding: 13px 15px; border-left: 3px solid #bfd9f3; background: #f7f9fb; }
.indexation-pension-note p { margin: 6px 0 0; color: #69747d; font-size: 13px; line-height: 1.5; }
.remove-button { width: 28px; height: 28px; color: #92959a; font-size: 20px; line-height: 1; }
.limitation-payments { padding-top: 9px; border-top: 1px solid #e8eaed; }
.limitation-events { padding: 0 0 4px; }
.limitation-events .repeater-header { justify-content: flex-end; margin-top: 2px; }
.limitation-payments .repeater-header { align-items: flex-start; gap: 18px; }
.limitation-payments .repeater-header .repeater-help { max-width: 700px; margin: 3px 0 0; }
.limitation-event-row { position: relative; display: block; margin-bottom: 11px; padding: 0; border: 0; background: transparent; }
.limitation-event-row.is-configured { padding: 14px 48px 14px 15px; border: 1px solid #e1e5e9; border-radius: 15px; background: #fafbfc; }
.limitation-event-remove { position: absolute; top: 10px; right: 10px; display: none; }
.limitation-event-row.is-configured .limitation-event-remove { display: block; }
.limitation-event-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.limitation-event-grid .event-kind { grid-column: 1 / -1; }
.limitation-event-grid label > span, .limitation-payment-row label > span { display: block; margin-bottom: 5px; color: #6d747b; font-size: 13px; line-height: 1.35; }
.limitation-event-grid label.hidden { display: none; }
.limitation-event-help { margin: 9px 1px 0; color: #7e868e; font-size: 13px; line-height: 1.45; }
.limitation-event-help:empty { display: none; }
.limitation-payment-row { grid-template-columns: minmax(170px, 1.3fr) minmax(135px, .8fr) minmax(135px, .8fr) 28px; align-items: end; padding: 11px 12px; border: 1px solid #e4e7ea; border-radius: 14px; background: #fafbfc; }
.limitation-payment-row label > span em { color: #999da1; font-size: 13px; font-style: normal; }

.form-actions { display: flex; gap: 18px; align-items: center; margin-top: 27px; }
.form-actions.hidden { display: none; }
.primary-button {
  min-width: 142px; border: 0; border-radius: 12px; padding: 10px 20px;
  color: #fff; background: var(--blue); cursor: pointer; font-weight: 600;
  box-shadow: 0 1px 2px rgba(24, 119, 242, .17);
}
.primary-button:hover { background: var(--blue-dark); }
.primary-button:disabled { opacity: .65; cursor: not-allowed; }
.text-button { color: #85888d; padding: 8px 0; }

.error-box { margin-top: 20px; padding: 12px 14px; border-radius: 12px; color: var(--danger); background: #fff2f0; font-size: 13px; line-height: 1.45; }
.error-box[data-kind="data_pending"] { color: #785816; background: #fff7e7; }
.error-box[data-kind="data_pending"] a { color: #8b5d0b; font-weight: 650; }
.result-area:empty { display: none; }
.result-area > .au-fee-legal-help { margin-top: 18px; }
.result-card {
  position: relative;
  margin-top: 28px;
  padding: 23px;
  border: 1px solid #e1e5e8;
  border-radius: 20px;
  background: #f6f7f8;
  box-shadow: 0 8px 25px rgba(31, 43, 55, .045);
}
.result-label { margin: 0 0 11px; color: #929498; font-size: 14px; }
.result-value { margin: 0; font-size: 28px; line-height: 1.2; font-weight: 680; letter-spacing: -.015em; }
.result-formula {
  margin: 15px 0 0;
  padding: 13px 15px;
  border: 1px solid #dce5ed;
  border-left: 3px solid #75ace0;
  border-radius: 12px;
  color: #415466;
  background: #fff;
  font-size: 14px;
  line-height: 1.5;
}
.result-explanation {
  margin: 15px 0 0;
  padding: 14px 15px;
  border-radius: 13px;
  color: #505a63;
  background: rgba(255, 255, 255, .78);
  white-space: pre-line;
  font-size: 14px;
  line-height: 1.6;
}

.procedural-result-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-right: 0;
}

.procedural-result-heading .result-label { margin-bottom: 5px; }
.procedural-status { flex: 0 0 auto; display: grid; gap: 3px; padding: 9px 11px; border-radius: 11px; font-size: 13px; }
.procedural-status strong { font-size: 13px; }
.procedural-status small { color: inherit; opacity: .72; }
.procedural-status.upcoming { color: #176a43; background: #eaf6ef; }
.procedural-status.today { color: #805d13; background: #fff4d7; }
.procedural-status.expired { color: #9c3d33; background: #fff0ee; }

.procedural-result-rule { margin-top: 17px; padding: 14px 16px; border: 1px solid #d6e1ec; border-radius: 13px; background: rgba(255, 255, 255, .72); }
.procedural-result-rule > div { display: flex; flex-wrap: wrap; gap: 7px; }
.procedural-result-rule > div span { padding: 4px 7px; border-radius: 999px; color: #596d7e; background: #eef2f5; font-size: 13px; }
.procedural-result-rule h3 { margin: 9px 0 0; color: #263b4d; font-size: 16px; line-height: 1.4; }
.procedural-result-rule p { margin: 6px 0 0; color: #65717b; font-size: 13px; line-height: 1.5; }

.procedural-result-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 17px;
}

.procedural-result-metrics > div { padding: 11px 13px; border-radius: 11px; background: rgba(255, 255, 255, .78); }
.procedural-result-metrics span { display: block; color: #777e85; font-size: 13px; }
.procedural-result-metrics strong { display: block; margin-top: 4px; font-size: 14px; }
.procedural-reverse-note { margin: 15px 0 0; color: #626b73; font-size: 13px; line-height: 1.55; }

.procedural-transfer-explanation { margin-top: 16px; padding: 14px 15px; border-left: 3px solid #8dbce8; border-radius: 4px 13px 13px 4px; color: #53616d; background: #f4f8fc; font-size: 13px; line-height: 1.55; }
.procedural-transfer-explanation h3 { margin: 0; color: #344b5e; font-size: 14px; }
.procedural-transfer-explanation p { margin: 8px 0 0; }
.procedural-transfer-explanation blockquote { margin: 10px 0 0; padding: 11px 12px; border-left: 3px solid #bfd9f3; border-radius: 4px 10px 10px 4px; color: #4f5c67; background: #fff; }
.procedural-transfer-explanation blockquote strong { color: #354754; }
.procedural-transfer-explanation .interest-law-links { margin-top: 10px; }

.procedural-timeline { margin-top: 16px; border-top: 1px solid #dfe3e6; }
.procedural-timeline summary { padding: 14px 0 2px; color: #2876c8; cursor: pointer; font-size: 13px; font-weight: 600; line-height: normal; }
.procedural-timeline ol { display: grid; gap: 0; margin: 14px 0 0; padding: 0; list-style: none; }
.procedural-timeline li { display: grid; grid-template-columns: 95px minmax(0, 1fr); gap: 13px; padding: 10px 0; border-bottom: 1px solid #e7eaec; }
.procedural-timeline li:last-child { border-bottom: 0; }
.procedural-timeline time { color: #69727a; font-size: 13px; font-variant-numeric: tabular-nums; }
.procedural-timeline strong { display: block; font-size: 13px; }
.procedural-timeline p { margin: 3px 0 0; color: #747d85; font-size: 13px; line-height: 1.45; }
.procedural-timeline li.skipped strong,
.procedural-timeline li.transfer strong { color: #8a641a; }
.procedural-timeline li.due strong { color: #176a43; }
.procedural-result-legal-help { margin-top: 14px; }
.procedural-legal-content { gap: 2px; }
.procedural-legal-content section { padding: 8px 11px; }
.procedural-legal-content h3 { margin-bottom: 5px; }
.procedural-legal-content blockquote { margin-top: 5px; padding: 7px 9px 5px; }
.procedural-legal-content blockquote + blockquote { margin-top: 5px; }
.procedural-legal-source { display: block; width: fit-content; margin-top: 5px; color: #2876c8; font-size: 13px; font-style: normal; font-weight: 600; text-decoration: none; }
.procedural-legal-source:hover { text-decoration: underline; }
.procedural-court-guidance blockquote { color: #52616d; }
.legal-basis { margin: 15px 2px 0; color: #6f777e; font-size: 13px; line-height: 1.55; }
.legal-quote {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-left: 3px solid #b9d7fb;
  border-radius: 4px 11px 11px 4px;
  color: #46525e;
  background: #f5f9fe;
  font-size: 14px;
  line-height: 1.55;
}
.legal-quote span { display: block; margin-bottom: 4px; color: #7b838b; font-size: 13px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; }
.warning-list { margin: 13px 0 0; padding: 0; list-style: none; }
.warning-list li { margin-top: 7px; padding-left: 18px; color: #8a5b16; font-size: 13px; line-height: 1.45; }
.warning-list li::before { content: "!"; float: left; margin-left: -18px; width: 14px; height: 14px; border-radius: 50%; color: #fff; background: #d6932c; text-align: center; font-size: 13px; line-height: 14px; }
.enforcement-fee-retention { margin-top: 13px; padding: 12px 14px; border-radius: 12px; color: #596570; background: #f5f8fb; }
.enforcement-fee-retention h3 { margin: 0; color: #3f4c57; font-size: 14px; }
.enforcement-fee-retention ul { margin: 8px 0 0; padding-left: 19px; font-size: 13px; line-height: 1.5; }
.enforcement-fee-retention li + li { margin-top: 5px; }
.enforcement-fee-retention details { margin-top: 9px; border-top: 1px solid #dde5ec; }
.enforcement-fee-retention summary { padding-top: 9px; color: #4d6172; cursor: pointer; font-size: 13px; font-weight: 500; }
.enforcement-fee-retention details small { display: block; margin-top: 9px; color: #7b8792; }
.enforcement-fee-retention blockquote { margin: 6px 0 0; padding: 10px 12px; border-left: 3px solid #bfd9f3; border-radius: 4px 10px 10px 4px; color: #4f5c67; background: #fff; font-size: 13px; line-height: 1.5; }
.copy-button { position: absolute; top: 17px; right: 17px; color: #777a7e; }
.result-card-au { background: #f5f7f9; }
.au-result-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: -2px 0 14px; padding-bottom: 14px; border-bottom: 1px solid #dfe5ea; }
.au-result-top > strong { color: #52616c; font-size: 14px; font-weight: 650; }
.au-result-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.au-result-toolbar > .result-workbench-actions { margin: 0; }
.au-result-value-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; }
.au-inline-copy-button { border: 0; padding: 2px 3px; color: #89939b; background: transparent; cursor: pointer; font-size: 13px; font-weight: 500; line-height: 1.2; }
.au-inline-copy-button:hover { color: #5f7382; background: transparent; }
.au-fee-total { padding: 15px 16px; border: 1px solid #dce4ea; border-radius: 15px; background: #fff; }
.au-fee-total .result-label { padding-right: 0; }
.au-fee-composition { display: grid; gap: 8px; margin-top: 15px; padding-top: 13px; border-top: 1px solid #e6eaed; }
.au-fee-composition > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.au-fee-composition span { min-width: 0; }
.au-fee-composition strong { display: block; color: #34424d; font-size: 14px; line-height: 1.35; }
.au-fee-composition small { display: block; margin-top: 2px; color: #8a9299; font-size: 13px; line-height: 1.35; }
.au-fee-composition b { flex: 0 0 auto; color: #243643; font-size: 14px; }
.au-balance-source { margin-top: 14px; padding: 13px 15px; border: 1px solid #cfe0ee; border-radius: 12px; background: #f5faff; }
.au-balance-source span, .au-balance-source small { display: block; color: #657684; font-size: 13px; line-height: 1.45; }
.au-balance-source strong { display: block; margin-top: 4px; color: #2f4352; font-size: 14px; }
.au-balance-source a { display: inline-block; margin-top: 7px; color: #176fc8; font-size: 13px; font-weight: 600; text-decoration: none; }
.au-balance-source a:hover { text-decoration: underline; }
.au-court-change-legal { padding: 14px 15px; border: 1px solid #d8e5f0; border-radius: 12px; background: #f8fbfe; }
.subsidiary-result { margin-top: 18px; padding: 16px 17px; border: 1px solid #d9e4ee; border-radius: 16px; background: linear-gradient(135deg, #f7fbff 0%, #fbfdff 100%); box-shadow: 0 5px 16px rgba(31, 43, 55, .04); }
.subsidiary-result > span { color: #657684; font-size: 13px; font-weight: 600; }
.subsidiary-result h3 { margin: 4px 0 13px; color: #1f2d3a; font-size: 16px; line-height: 1.4; }
.subsidiary-result p { margin: 6px 0; color: #626b73; font-size: 13px; line-height: 1.5; }
.subsidiary-result .subsidiary-status { display: block; color: #334756; font-size: 14px; }
.subsidiary-breakdown { display: grid; gap: 0; margin: 0; border-top: 1px solid #dfe8ef; }
.subsidiary-breakdown > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, auto); gap: 18px; align-items: center; padding: 9px 0; border-bottom: 1px solid #e5edf3; }
.subsidiary-breakdown dt { color: #64727d; font-size: 13px; line-height: 1.45; }
.subsidiary-breakdown dd { margin: 0; color: #2c3e4c; font-size: 13px; font-weight: 650; line-height: 1.45; text-align: right; }
.subsidiary-breakdown .subsidiary-total { margin-top: 2px; padding: 11px 12px; border: 1px solid #dbe6ef; border-radius: 11px; background: #fff; }
.subsidiary-breakdown .subsidiary-value { color: #1f3f59; font-size: 17px; }
.subsidiary-notice { margin-top: 13px; padding: 12px 13px; border-left: 3px solid #bfd6e8; border-radius: 4px 11px 11px 4px; background: #fff; }
.subsidiary-notice strong { display: block; color: #263744; font-size: 14px; }
.subsidiary-notice p { margin-top: 4px; }
.subsidiary-law-link { margin-top: 11px !important; }
.subsidiary-result a { color: #2876c8; text-decoration: none; }
.subsidiary-result a:hover { text-decoration: underline; }
.manager-distribution { margin-top: 18px; padding: 16px; border: 1px solid #cfdfee; border-radius: 15px; background: #edf4fc; }
.manager-distribution h3 { margin: 0; color: #263b4e; font-size: 17px; line-height: 1.35; }
.manager-distribution .table-wrap { margin-top: 11px; border: 1px solid #dbe5ee; }
.manager-distribution table { min-width: 720px; font-size: 14px; }
.manager-distribution th { color: #536779; background: #f8fbfe; font-size: 13px; }
.manager-distribution td { color: #2f3e4b; font-size: 14px; }
.manager-calculations { margin-top: 12px; border-top: 1px solid #dce3e9; }
.manager-calculations > summary { padding-top: 12px; color: #2876c8; cursor: pointer; font-size: 13px; font-weight: 650; }
.manager-calculations article { margin-top: 10px; padding: 12px 13px; border: 1px solid #dde5eb; border-radius: 12px; background: #fff; }
.manager-calculations article header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.manager-calculations article header strong { font-size: 13px; }
.manager-calculation-summary { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-left: auto; }
.manager-calculation-summary > span { color: #263d50; font-size: 14px; font-weight: 700; white-space: nowrap; }
.manager-calculations article p { margin: 7px 0 0; color: #68737c; font-size: 13px; line-height: 1.5; }
.manager-calculations article .table-wrap { margin-top: 10px; }
.result-boundaries { margin-top: 15px; border-top: 1px solid #dedee0; }
.result-boundaries summary { padding-top: 13px; cursor: pointer; color: #63686e; font-size: 13px; font-weight: 600; }
.result-boundaries ul { margin: 9px 0 0; padding-left: 19px; color: #777c82; font-size: 13px; line-height: 1.5; }
.result-boundaries li { margin-top: 5px; }

.publication-result { padding: 22px; background: #f5f6f7; }
.publication-result-title { max-width: 720px; margin: 0; padding-right: 145px; font-size: 20px; line-height: 1.35; }
.publication-result-summary { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.publication-result-summary span { padding: 5px 8px; border-radius: 999px; color: #65707a; background: #fff; font-size: 13px; }
.publication-result-summary p { margin: 0; width: 100%; }
.publication-action { display: inline-block; width: fit-content; max-width: min(100%, 620px); margin-top: 17px; padding: 12px 14px; border-radius: 12px; color: #315b3d; background: #edf8f0; font-size: 13px; line-height: 1.5; }
.publication-deadline-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.publication-deadline-card { padding: 16px 17px; border: 1px solid #dfe5ea; border-radius: 13px; background: #fff; }
.publication-deadline-card.missed { border-color: #edc7c2; }
.publication-deadline-card.today { border-color: #e7c989; }
.publication-deadline-card.informational { background: #fff; }
.publication-deadline-header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; }
.publication-deadline-header h3 { margin: 0; color: #202a33; font-size: 15px; }
.status-pill { max-width: 70%; padding: 0; border-radius: 0; background: transparent; font-size: 13px; font-weight: 500; line-height: 1.4; text-align: right; }
.status-pill.upcoming { color: #427650; }
.status-pill.today { color: #82661f; }
.status-pill.missed { color: #a04b42; }
.status-pill.informational { color: #747d85; }
.publication-deadline-label { display: block; margin-top: 15px; color: #87919a; font-size: 13px; }
.publication-deadline-value { display: block; margin-top: 4px; color: #202a33; font-size: 20px; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.publication-deadline-card.informational .publication-deadline-value { font-size: 18px; font-weight: 600; }
.publication-editorial-recommendation { margin-top: 13px; padding-top: 12px; border-top: 1px solid #e5e9ed; }
.publication-editorial-recommendation span { display: block; color: #87919a; font-size: 13px; line-height: 1.45; }
.publication-editorial-recommendation strong { display: block; margin-top: 4px; color: #202a33; font-size: 18px; line-height: 1.35; }
.publication-editorial-recommendation small { display: block; margin-top: 4px; font-size: 13px; line-height: 1.4; }
.publication-editorial-recommendation small.upcoming { color: #427650; }
.publication-editorial-recommendation small.today { color: #82661f; }
.publication-editorial-recommendation small.missed { color: #a04b42; }
.publication-editorial-note { margin: 10px 0 0; padding: 0; border: 0; color: #68727b; font-size: 13px; line-height: 1.5; }
.result-section { margin-top: 17px; padding-top: 15px; border-top: 1px solid #dedee0; }
.result-section h3 { margin: 0 0 7px; font-size: 15px; }
.result-section p { margin: 0; font-size: 14px; line-height: 1.55; }
.duty-result {
  padding: 24px;
  background: #f7f9fb;
}

.duty-result.incomplete {
  border-color: #e4c986;
  background: #fffaf0;
}

.duty-result.incomplete .duty-result-heading h2 {
  color: #76591d;
}

.duty-result > .result-label {
  padding-right: 170px;
  font-weight: 650;
}

.duty-result-heading > span,
.duty-result-kind > span {
  display: block;
  color: #858c93;
  font-size: 13px;
  line-height: 1.4;
}

.duty-result-heading h2 {
  margin: 4px 0 0;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.duty-result-tags {
  margin-top: 12px;
}

.duty-result-tags span:first-child {
  color: #286395;
  background: #e8f2fb;
}

.duty-result-kind {
  margin-top: 18px;
  padding: 15px 16px;
  border: 1px solid #e1e6ea;
  border-radius: 14px;
  background: #fff;
}

.duty-result-kind h3 {
  max-width: 760px;
  margin: 5px 0 0;
  font-size: 16px;
  line-height: 1.45;
}

.duty-result-explanation p + p {
  margin-top: 8px;
}

.duty-law-quotes {
  margin-top: 15px;
  border-top: 1px solid #dde1e4;
}

.duty-law-quotes > summary {
  padding-top: 14px;
  color: #2876c8;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}

.duty-law-quotes > summary:focus-visible {
  outline: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.duty-hardship-help {
  margin-top: 12px;
  border-top: 1px solid #e4e7ea;
  color: #667079;
}

.duty-hardship-help > summary {
  padding-top: 12px;
  color: #2876c8;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}

.duty-hardship-help p { margin: 8px 0 0; font-size: 13px; line-height: 1.5; }
.duty-hardship-help blockquote { margin: 10px 0 0; padding: 2px 0 2px 13px; border-left: 3px solid #b9d7fb; color: #4f5a64; }
.duty-hardship-help blockquote p:first-child { margin-top: 0; }
.duty-hardship-help a { display: inline-block; margin-top: 9px; color: #2876c8; font-size: 13px; text-decoration: none; }
.duty-hardship-help a:hover { text-decoration: underline; }

.duty-law-quote-list {
  display: grid;
  gap: 12px;
  margin-top: 13px;
  padding: 14px 15px;
  border-radius: 13px;
  background: #f7f9fb;
}

.duty-law-quote {
  padding: 14px 15px;
  border-left: 3px solid #bfd9f3;
  border-radius: 4px 12px 12px 4px;
  background: #fff;
}

.duty-law-quote h4 {
  margin: 0 0 6px;
  color: #21394d;
  font-size: 14px;
  line-height: 1.45;
}

.duty-law-quote blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  color: #4f5c67;
  background: transparent;
}

.duty-law-quote blockquote p {
  margin: 0;
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
}

.duty-law-quote blockquote p + p {
  margin-top: 5px;
}

.duty-law-quote > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 13px;
  color: #3d7199;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.duty-law-quote > a:hover {
  color: #1f5c8d;
  text-decoration: underline;
}

.duty-result-warning {
  margin-top: 16px;
  padding: 13px 15px;
  border-radius: 13px;
  color: #6f5624;
  background: #fff6df;
}

.duty-result-warning strong {
  display: block;
  font-size: 14px;
}

.duty-result-warning ul {
  margin: 7px 0 0;
  padding-left: 19px;
  font-size: 14px;
  line-height: 1.5;
}

.publication-result-legal-help { margin-top: 17px; border-top: 1px solid #dedee0; }
.publication-result-legal-help > summary { padding-top: 14px; }
.publication-legal-content { gap: 6px; }
.publication-legal-content .publication-legal-act { padding: 14px 15px; border-radius: 13px; background: #f7f9fb; }
.publication-legal-act + .publication-legal-act { margin-top: 0; }
.publication-legal-act > h3 { margin-bottom: 9px; color: #33475a; font-size: 15px; }
.publication-legal-content blockquote { padding: 11px 12px; }
.publication-legal-content blockquote p { margin: 5px 0 0; }
.publication-legal-content blockquote p + p { margin-top: 5px; }
.publication-legal-source { display: inline-block; margin-top: 8px; color: #176fc5; font-size: 13px; font-weight: 650; text-decoration: none; }
.publication-legal-source:hover { text-decoration: underline; }
.publication-control-list { display: grid; gap: 8px; }
.publication-control-list div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 14px; padding: 10px 12px; border-radius: 11px; background: #fff; }
.publication-control-list span { color: #555c63; font-size: 13px; }
.publication-control-list strong { font-size: 15px; }
.publication-control-list small { grid-column: 1 / -1; color: #777d84; font-size: 13px; line-height: 1.45; }
.publication-reverse-deadline-grid { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
.publication-checklist { margin-top: 16px; border-top: 1px solid #dedee0; }
.publication-checklist summary { padding-top: 14px; cursor: pointer; color: #555c63; font-size: 14px; font-weight: 600; }
.publication-checklist ul { margin: 10px 0 0; padding-left: 20px; color: #5d636a; font-size: 13px; line-height: 1.5; }
.publication-checklist li { margin-top: 5px; }
.publication-boundaries { margin: 15px 0 0; color: #71767c; font-size: 13px; line-height: 1.5; }

.expense-limit-result { padding: 23px; background: #f5f7f8; }
.expense-limit-result.exceeded { border: 1px solid #edc9c4; background: #faf6f5; }
.expense-limit-result h2 { max-width: 720px; margin: 0; padding-right: 145px; font-size: 21px; line-height: 1.35; }
.expense-limit-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.expense-limit-tags span { padding: 5px 8px; border-radius: 999px; color: #566b79; background: #fff; font-size: 13px; }
.expense-limit-procedure-rule { margin-top: 17px; padding: 15px 16px; border: 1px solid #b8d8c1; border-radius: 15px; background: #f2faf4; }
.expense-limit-procedure-rule > strong { display: block; color: #245f35; font-size: 16px; }
.expense-limit-procedure-rule p { margin: 7px 0 0; color: #355f41; font-size: 14px; line-height: 1.5; }
.expense-limit-procedure-rule small { display: block; margin-top: 6px; color: #5d7463; font-size: 13px; line-height: 1.45; }
.expense-limit-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin-top: 13px; }
.expense-limit-metric { min-height: 101px; padding: 14px; border: 1px solid #dfe4e7; border-radius: 15px; background: #fff; }
.expense-limit-metric.remaining { border-color: #bcdcc4; background: #f4fbf6; }
.expense-limit-metric.used { border-color: #d9e4ec; background: #f8fbfd; }
.expense-limit-metric.excess { border-color: #efbeb8; color: #8a2f27; background: #fff1ef; }
.expense-limit-metric span { display: block; color: #747c83; font-size: 13px; line-height: 1.4; }
.expense-limit-metric strong { display: block; margin-top: 8px; font-size: 20px; }
.expense-limit-metric small { display: block; margin-top: 7px; color: #7c8389; font-size: 13px; line-height: 1.4; }
.expense-limit-calculation { margin-top: 14px; padding: 13px 14px; border-radius: 13px; background: #fff; }
.expense-limit-calculation summary { color: #64727b; cursor: pointer; font-size: 13px; font-weight: 650; }
.expense-limit-calculation p { margin: 9px 0 0; color: #3f4b52; font-size: 13px; line-height: 1.45; }
.expense-limit-source { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 18px; margin-top: 14px; padding: 14px 15px; border: 1px solid #cfe1d4; border-radius: 14px; background: #f5fbf6; }
.expense-limit-source > div > span { color: #65816d; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.expense-limit-source h3 { margin: 3px 0 0; font-size: 13px; }
.expense-limit-source > a { color: #2672b7; font-size: 13px; text-decoration: none; }
.expense-limit-source > strong, .expense-limit-source > p, .expense-limit-source > small, .expense-limit-source > em { grid-column: 1 / -1; }
.expense-limit-source > strong { margin-top: 6px; font-size: 13px; }
.expense-limit-source > p { margin: 0; color: #5d6961; font-size: 13px; line-height: 1.45; }
.expense-limit-source > small { color: #7e8981; font-size: 13px; }
.expense-limit-source > em { color: #3f704c; font-size: 13px; font-style: normal; }
.expense-limit-classification { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.expense-limit-classification > div { padding: 13px 14px; border-radius: 13px; background: #fff; }
.expense-limit-classification strong { font-size: 13px; }
.expense-limit-classification ul { margin: 8px 0 0; padding-left: 18px; color: #5e666d; font-size: 13px; line-height: 1.45; }
.expense-limit-classification li { margin-top: 4px; }
.expense-limit-function-note { margin-top: 10px !important; color: #73571e; font-size: 13px !important; }
.expense-limit-checklist { margin-top: 16px; border-top: 1px solid #dfe1e3; }
.expense-limit-checklist summary { padding-top: 14px; color: #4e5963; cursor: pointer; font-size: 13px; font-weight: 600; }
.expense-limit-checklist ul { margin: 9px 0 0; padding-left: 20px; color: #626970; font-size: 13px; line-height: 1.5; }
.expense-limit-checklist li { margin-top: 4px; }
.expense-limit-version { margin: 17px 0 0; padding-top: 13px; border-top: 1px solid #dfe1e3; color: #8b9096; font-size: 13px; line-height: 1.45; }

.bankruptcy-result { padding: 23px; background: #fff; }
.bankruptcy-result.critical { border: 1px solid #edc6c1; background: #faf6f5; }
.bankruptcy-result h2 { max-width: 735px; margin: 0; font-size: 20px; line-height: 1.4; }
.bankruptcy-result-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.bankruptcy-result-tags span { padding: 5px 8px; border-radius: 999px; color: #607080; background: #fff; font-size: 13px; }
.bankruptcy-critical { margin-top: 16px; padding: 13px 14px; border: 1px solid #edc2bd; border-radius: 13px; color: #892c24; background: #fff0ee; }
.bankruptcy-critical strong { display: block; font-size: 13px; }
.bankruptcy-critical p { margin: 5px 0 0; font-size: 13px; line-height: 1.5; }
.bankruptcy-control-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 360px)); justify-content: start; gap: 11px; margin-top: 17px; }
.bankruptcy-control-card { min-height: 94px; padding: 14px; border: 1px solid #dfe4e8; border-radius: 15px; background: #fff; }
.bankruptcy-control-card.start { border-color: #bcdcc4; background: #f5fbf6; }
.bankruptcy-control-card.limit { border-color: #e8cf9d; background: #fffbf2; }
.bankruptcy-control-card.controlling { border-color: #b9d6f3; background: #f4f9fe; }
.bankruptcy-control-card span { display: block; color: #4f5d69; font-size: 13px; line-height: 1.4; }
.bankruptcy-control-card strong { display: block; margin-top: 9px; color: #17212b; font-size: 22px; font-weight: 750; }
.bankruptcy-control-card .value-copy-button { margin-top: 4px; padding: 2px 0; color: #89939b; background: transparent; font-size: 12px; opacity: .78; }
.bankruptcy-control-card .value-copy-button:hover { color: #5f7382; background: transparent; opacity: 1; }
.bankruptcy-detail-grid { margin-top: 0; padding-top: 0; border-top: 0; }
.bankruptcy-transfer { margin-top: 13px; padding: 8px 10px; border-left: 2px solid #d8dde1; color: #737b82; background: transparent; }
.bankruptcy-transfer.moved { color: #73716b; border-left-color: #d9caa9; background: #fbfaf7; }
.bankruptcy-transfer strong { display: block; font-size: 13px; }
.bankruptcy-transfer p { margin-top: 3px; font-size: 13px; }
.bankruptcy-result-details { margin-top: 14px; border-top: 1px solid #e3e6e8; color: #626970; }
.bankruptcy-result-details + .bankruptcy-result-details { margin-top: 0; }
.bankruptcy-result-details summary { padding: 13px 0; color: #2876c8; cursor: pointer; font-size: 13px; font-weight: 400; }
.bankruptcy-result-details[open] { padding-bottom: 13px; }
.bankruptcy-result-details[open] summary { padding-bottom: 11px; }
.bankruptcy-result-details .bankruptcy-detail-grid { margin-top: 0; }
.bankruptcy-result-details .detail-item { border-color: #cbd6df; background: #f8fafc; }
.bankruptcy-result-details .detail-item span { color: #4f5d69; }
.bankruptcy-result-details .detail-item strong { color: #17212b; font-weight: 750; }
.bankruptcy-period-list ul { margin: 7px 0 0; padding-left: 19px; color: #17212b; font-size: 14px; font-weight: 650; line-height: 1.48; }
.bankruptcy-period-list li + li { margin-top: 5px; }
.bankruptcy-result-explanation { max-width: 850px; margin: 12px 0 0; font-size: 13px; line-height: 1.55; }
.bankruptcy-result-details .bankruptcy-legal-citation { margin: 0; font-size: 13px; line-height: 1.55; }
.bankruptcy-checklist { margin-top: 16px; border-top: 1px solid #dfe1e3; }
.bankruptcy-checklist summary { padding-top: 14px; cursor: pointer; color: #4e5963; font-size: 13px; font-weight: 600; }
.bankruptcy-checklist ul { margin: 9px 0 0; padding-left: 20px; color: #626970; font-size: 13px; line-height: 1.5; }
.bankruptcy-checklist li { margin-top: 4px; }
.bankruptcy-result-footer { display: grid; gap: 4px; margin-top: 17px; padding-top: 13px; border-top: 1px solid #dfe1e3; color: #8b9096; font-size: 13px; line-height: 1.45; }

.limitation-result { background: #fff; }
.limitation-result-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.limitation-result-title h2, .limitation-result.no-limitation h2 { max-width: 700px; margin: 0; font-size: 24px; line-height: 1.35; }
.limitation-result-title p { max-width: 700px; margin: 8px 0 0; color: #69717a; font-size: 14px; line-height: 1.55; }
.limitation-scenario-list { display: grid; gap: 13px; margin-top: 18px; }
.limitation-scenario { padding: 16px; border: 1px solid #dfe4e8; border-radius: 16px; background: #fff; }
.limitation-scenario.active { border-color: #c9dfcf; }
.limitation-scenario.urgent, .limitation-scenario.today { border-color: #ead29f; }
.limitation-scenario.expired { border-color: #e9c5c0; }
.limitation-scenario-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.limitation-scenario-heading.single { justify-content: flex-end; }
.limitation-scenario-heading > div > span { color: #8b939a; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.limitation-scenario-heading h3 { margin: 3px 0 0; font-size: 16px; }
.limitation-status, .limitation-table-status { display: inline-block; padding: 6px 9px; border-radius: 999px; font-size: 13px; font-weight: 650; line-height: 1.35; }
.limitation-status.active, .limitation-table-status.active { color: #2f6940; background: #eaf6ed; }
.limitation-status.urgent, .limitation-status.today, .limitation-table-status.urgent, .limitation-table-status.today { color: #78530f; background: #fff2cf; }
.limitation-status.expired, .limitation-table-status.expired { color: #96372f; background: #fdeceb; }
.limitation-status.pending, .limitation-table-status.pending { color: #27689f; background: #e9f3fc; }
.limitation-status.not_started, .limitation-table-status.not_started { color: #526474; background: #edf1f4; }
.limitation-status.resolved, .limitation-status.review, .limitation-table-status.resolved, .limitation-table-status.review { color: #666d74; background: #eef0f2; }
.limitation-primary-date { margin-top: 13px; padding: 14px; border-radius: 13px; background: #f3f7fa; }
.limitation-primary-date > span { display: block; color: #79828a; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.limitation-deadline { display: block; margin-top: 5px; font-size: 28px; line-height: 1.2; }
.limitation-deadline.text { max-width: 680px; font-size: 17px; line-height: 1.45; }
.limitation-primary-date small { display: block; min-height: 13px; margin-top: 7px; color: #75808a; font-size: 13px; }
.limitation-date-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 9px; margin-top: 10px; }
.limitation-date-grid > div { padding: 10px 11px; border-radius: 11px; background: #f8f9fa; }
.limitation-date-grid span { display: block; color: #888f96; font-size: 13px; line-height: 1.35; }
.limitation-date-grid strong { display: block; margin-top: 5px; font-size: 14px; }
.limitation-transfer { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; color: #626b73; background: #f8f9fa; font-size: 13px; line-height: 1.5; }
.limitation-timeline { margin-top: 12px; border-top: 1px solid #eceef0; }
.limitation-timeline summary { padding-top: 11px; color: #53616e; cursor: pointer; font-size: 13px; font-weight: 650; }
.limitation-timeline ol { margin: 10px 0 0; padding: 0; list-style: none; }
.limitation-timeline li { position: relative; display: grid; grid-template-columns: 83px minmax(0, 1fr); gap: 13px; padding: 0 0 12px 17px; }
.limitation-timeline li::before { content: ""; position: absolute; left: 1px; top: 4px; width: 7px; height: 7px; border: 2px solid #7caadb; border-radius: 50%; background: #fff; }
.limitation-timeline li::after { content: ""; position: absolute; left: 5px; top: 14px; bottom: -2px; width: 1px; background: #d9e2ea; }
.limitation-timeline li:last-child::after { display: none; }
.limitation-timeline time { color: #66717b; font-size: 13px; font-weight: 650; }
.limitation-timeline li strong { display: block; font-size: 13px; }
.limitation-timeline li p { margin: 3px 0 0; color: #7c848b; font-size: 13px; line-height: 1.45; }
.limitation-payment-result table { min-width: 760px; }
.limitation-assumptions { margin: 8px 0 0; padding-left: 19px; color: #5d666e; font-size: 13px; line-height: 1.5; }
.limitation-assumptions li { margin-top: 4px; }
.limitation-warnings { margin-top: 17px; padding: 13px 14px; border-radius: 13px; color: #765018; background: #fff7e7; }
.limitation-warnings strong { font-size: 13px; }
.limitation-warnings ul { margin: 8px 0 0; padding-left: 19px; font-size: 13px; line-height: 1.5; }
.limitation-warnings li { margin-top: 4px; }
.limitation-checklist { margin-top: 16px; border-top: 1px solid #dfe1e3; }
.limitation-checklist summary { padding-top: 14px; color: #4e5963; cursor: pointer; font-size: 13px; font-weight: 600; }
.limitation-checklist ul { margin: 9px 0 0; padding-left: 20px; color: #626970; font-size: 13px; line-height: 1.5; }
.limitation-checklist li { margin-top: 4px; }
.limitation-version-footer { margin: 17px 0 0; padding-top: 13px; border-top: 1px solid #dfe1e3; color: #8b9096; font-size: 13px; line-height: 1.45; }
.limitation-no-date { margin-top: 16px; padding: 15px; border: 1px solid #c9dfcf; border-radius: 14px; color: #315f3e; background: #f1f9f3; }
.limitation-no-date strong { display: block; font-size: 17px; }
.limitation-result-legal-help { margin-top: 18px; border-top: 1px solid #e0e3e6; }
.limitation-result-legal-help > summary { padding-top: 14px; }
.limitation-application-notice { margin-top: 15px; padding-top: 11px; border-top: 1px solid #eceeef; color: #858b91; }
.limitation-application-notice p { max-width: 860px; margin: 0; font-size: 13px; line-height: 1.5; }
.limitation-application-notice span { color: #747b82; font-weight: 600; }
.limitation-practice li span { color: #555f68; }

.court-reference-mode-switch { grid-column: 1 / -1; display: flex; gap: 28px; align-items: end; min-height: 39px; border-bottom: 1px solid #dfe3e6; }
.court-reference-mode-switch button { position: relative; border: 0; padding: 5px 0 11px; color: #7b838a; background: transparent; cursor: pointer; font-size: 14px; font-weight: 500; text-align: left; }
.court-reference-mode-switch button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: transparent; content: ""; }
.court-reference-mode-switch button:hover { color: #3f624a; }
.court-reference-mode-switch button:focus-visible { border-radius: 4px; outline: 2px solid #aeb7bf; outline-offset: 3px; }
.court-reference-mode-switch button.active { color: #294c36; font-weight: 650; }
.court-reference-mode-switch button.active::after { background: #5c876a; }
.court-filter-choice { display: grid; gap: 7px; }
.court-filter-line { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 14px; align-items: center; }
.court-filter-line > .field-label { margin: 0; color: #4f5c53; font-size: 13px; font-weight: 600; }
.court-filter-tabs { display: inline-flex; justify-self: start; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid #dfe3e5; border-radius: 12px; background: #f4f5f6; }
.court-filter-tab { border: 1px solid transparent; border-radius: 8px; padding: 8px 12px; color: #697178; background: transparent; cursor: pointer; font-size: 14px; }
.court-filter-tab:hover { color: #374047; background: rgba(255, 255, 255, .72); }
.court-filter-tab:focus-visible { outline: 2px solid #aeb7bf; outline-offset: 1px; }
.court-filter-tab.active { border-color: #d3d8db; color: #30383f; background: #fff; box-shadow: 0 1px 4px rgba(34, 43, 50, .08); font-weight: 600; }
.court-filter-note { margin: 0 0 0 144px; color: #7c8b81; font-size: 12px; line-height: 1.4; }
.court-selected-address { display: flex; gap: 7px; align-items: baseline; margin-top: -6px; color: #77818a; font-size: 13px; }
.court-selected-address[hidden] { display: none; }
.court-selected-address span { color: #9299a0; }
.court-selected-address a { color: #4c6f8f; text-decoration: none; }
.court-selected-address a:hover { text-decoration: underline; }
.court-directory-sources { margin-top: -5px; border-top: 1px solid #e7e9ec; color: #667079; }
.court-directory-sources summary { padding-top: 12px; cursor: pointer; color: #3378bb; font-size: 13px; font-weight: 600; }
.court-directory-sources div { display: flex; flex-wrap: wrap; gap: 7px 13px; margin-top: 10px; }
.court-directory-sources div > span { display: flex; gap: 7px; align-items: baseline; padding: 6px 8px; border-radius: 9px; background: #f5f8fb; }
.court-directory-sources strong { color: #59646e; font-size: 13px; }
.court-directory-sources a { color: #2873b9; font-size: 13px; text-decoration: none; }
.court-directory-sources a:hover { text-decoration: underline; }
.court-directory-sources p { margin: 10px 0 0; color: #899098; font-size: 13px; line-height: 1.5; }
.court-directory-results { margin-top: 22px; }
.court-directory-summary { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; margin-bottom: 11px; color: #525a62; font-size: 13px; }
.court-directory-summary small { color: #959ba1; font-size: 13px; white-space: nowrap; }
.court-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.court-contact-card { min-width: 0; padding: 15px 16px; border: 1px solid #e2e5e8; border-radius: 16px; background: #fff; box-shadow: 0 4px 14px rgba(35, 47, 58, .035); }
.court-contact-card.service { border-color: #e0e3e5; background: #fafafa; }
.court-contact-heading { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.court-contact-heading h3 { margin: 6px 0 0; font-size: 14px; line-height: 1.35; }
.court-badge { display: inline-block; padding: 4px 7px; border-radius: 999px; color: #52718d; background: #eef4f8; font-size: 13px; font-weight: 650; }
.court-contact-card.service .court-badge { color: #59636b; background: #eceff1; }
.contact-copy-button { flex: 0 0 auto; border: 0; padding: 4px 0; color: #8a9198; background: transparent; cursor: pointer; font-size: 13px; }
.contact-copy-button:hover { color: #2677c6; }
.court-contact-phone > .contact-copy-button { display: block; margin-top: 5px; }
.court-contact-phone { margin-top: 12px; }
.court-contact-phone > span:first-child { display: block; margin-bottom: 4px; color: #88929b; font-size: 13px; text-transform: uppercase; letter-spacing: .035em; }
.court-contact-phone > small { margin-left: 7px; color: #768490; }
.court-phone-link { color: #176fc8; font-size: 18px; font-weight: 650; text-decoration: none; letter-spacing: -.01em; }
.court-phone-link:hover { text-decoration: underline; }
.court-phone-missing { color: #999da2; font-size: 13px; }
.court-contact-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.court-contact-tags span { padding: 4px 6px; border-radius: 7px; color: #707982; background: #f3f5f6; font-size: 13px; }
.court-contact-backup { margin-top: 13px; padding: 11px 12px; border: 1px solid #d9e6f1; border-radius: 12px; background: #f6faff; }
.court-contact-backup strong { display: block; color: #4c5d6d; font-size: 13px; }
.court-contact-backup > div { margin-top: 3px; color: #596875; font-size: 13px; }
.court-contact-backup p { display: flex; flex-wrap: wrap; gap: 7px; align-items: baseline; margin: 7px 0 0; }
.court-contact-backup p a { color: #176fc8; font-size: 14px; font-weight: 650; text-decoration: none; }
.court-contact-backup p span { color: #768490; font-size: 13px; }
.court-contact-backup > small { display: block; margin-top: 6px; color: #768490; }
.court-contact-card p { margin: 9px 0 0; color: #777f87; font-size: 13px; line-height: 1.45; }
.court-staff-groups { display: grid; gap: 8px; }
.court-staff-group { overflow: hidden; border: 1px solid #e1e5e8; border-radius: 13px; background: #fff; }
.court-staff-group summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 14px; color: #4d5964; cursor: pointer; font-size: 13px; font-weight: 650; }
.court-staff-group summary:hover { background: #fafbfd; }
.court-staff-group summary small { min-width: 23px; padding: 3px 6px; border-radius: 999px; color: #70808d; background: #edf2f6; font-size: 13px; text-align: center; }
.court-staff-group[open] summary { border-bottom: 1px solid #e7eaed; background: #f8fafc; }
.court-staff-group > div { padding: 0 14px; }
.court-staff-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 11px 0; border-bottom: 1px solid #edf0f2; }
.court-staff-row:last-child { border-bottom: 0; }
.court-staff-row > div:first-child { display: grid; gap: 2px; min-width: 0; }
.court-staff-row strong { color: #555f68; font-size: 13px; line-height: 1.4; }
.court-staff-row > div:first-child > span { color: #747d85; font-size: 13px; line-height: 1.4; }
.court-staff-row > div:first-child > small { color: #92989e; font-size: 13px; line-height: 1.4; }
.court-staff-row > div:last-child { display: grid; justify-items: end; gap: 3px; }
.court-staff-phone { display: flex; gap: 6px; align-items: baseline; }
.court-staff-phone a { color: #176fc8; font-size: 13px; font-weight: 650; text-decoration: none; }
.court-staff-phone a:hover { text-decoration: underline; }
.court-staff-phone small, .court-staff-room { color: #8a9299; font-size: 13px; }
.court-staff-phone .contact-copy-button { margin-left: 3px; }
.moscow-court-email { display: flex; flex-wrap: wrap; gap: 7px; align-items: baseline; }
.court-contact-secondary-source { display: block; margin-top: 5px; color: #8a9299; font-size: 13px; line-height: 1.45; }
.court-contact-secondary-source a { color: #397cb7; text-decoration: none; }
.court-contact-secondary-source a:hover { text-decoration: underline; }
.court-directory-more { margin: 12px 0 0; color: #8b9197; font-size: 13px; text-align: center; }
.court-directory-empty { padding: 30px 20px; border: 1px dashed #d9dde1; border-radius: 17px; color: #737b83; text-align: center; }
.court-directory-empty strong { color: #4f575f; font-size: 14px; }
.court-directory-empty p { margin: 7px 0 0; font-size: 13px; }

.moscow-court-grid { display: grid; gap: 14px; }
.moscow-court-card { overflow: hidden; border: 1px solid #dfe5e9; border-radius: 18px; background: #fff; box-shadow: 0 7px 24px rgba(35, 47, 58, .045); }
.moscow-court-card > header { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; padding: 18px 19px 16px; background: linear-gradient(135deg, #f5f9fc, #fbfcfd); }
.moscow-court-card > header span { color: #507899; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.moscow-court-card > header h2 { margin: 5px 0 0; color: #344853; font-size: 18px; line-height: 1.35; }
.moscow-court-card > header > a { flex: 0 0 auto; color: #2875b7; font-size: 13px; text-decoration: none; }
.moscow-court-card > header > a:hover { text-decoration: underline; }
.moscow-court-card > header small { display: block; margin-top: 5px; color: #7a8790; font-size: 13px; }
.moscow-magistrate-judge { display: grid; gap: 4px; padding: 14px 19px; border-top: 1px solid #e8ecef; background: #fbfcfd; }
.moscow-magistrate-judge span, .moscow-magistrate-hours span { color: #8a959e; font-size: 12px; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.moscow-magistrate-judge strong { color: #425968; font-size: 15px; }
.moscow-magistrate-judge.unavailable strong { color: #87939b; font-size: 13px; font-weight: 500; }
.moscow-magistrate-hours { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 2px 19px 16px; }
.moscow-magistrate-hours > div { display: grid; gap: 4px; }
.moscow-magistrate-hours strong { color: #66747e; font-size: 13px; font-weight: 500; line-height: 1.45; }
.moscow-court-address { display: grid; gap: 4px; padding: 14px 19px; border-top: 1px solid #e8ecef; border-bottom: 1px solid #e8ecef; }
.moscow-court-address span, .moscow-court-card > footer span { color: #8a959e; font-size: 13px; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.moscow-court-address strong { color: #4b5963; font-size: 13px; line-height: 1.5; }
.moscow-court-locations { padding: 13px 19px; border-bottom: 1px solid #e8ecef; background: #fbfcfd; }
.moscow-court-locations strong { color: #62717c; font-size: 13px; }
.moscow-court-locations ul { margin: 7px 0 0; padding-left: 18px; color: #6f7b84; font-size: 13px; line-height: 1.5; }
.moscow-court-notice { margin: 14px 19px 0; padding: 13px 14px; border: 1px solid #ead6ae; border-radius: 13px; color: #705a31; background: #fff9ed; }
.moscow-court-notice strong { font-size: 13px; }
.moscow-court-notice p { margin: 5px 0 0; font-size: 13px; line-height: 1.5; }
.moscow-court-notice a { display: inline-block; margin-top: 7px; color: #8a6525; font-size: 13px; text-decoration: none; }
.moscow-court-notice a:hover { text-decoration: underline; }
.moscow-court-contacts { padding: 15px 19px 3px; }
.moscow-court-contacts h3 { margin: 0 0 6px; color: #596873; font-size: 13px; }
.moscow-court-contacts .court-staff-row { padding: 10px 0; }
.moscow-court-card > footer { display: flex; justify-content: space-between; gap: 16px; align-items: end; max-width: none; margin: 0; padding: 13px 19px; border-top: 1px solid #e8ecef; color: #77838c; background: #fafbfd; }
.moscow-court-card > footer > div { display: grid; gap: 4px; }
.moscow-court-card > footer > div a { color: #3278b3; font-size: 13px; text-decoration: none; }
.moscow-court-card > footer > div a + a { margin-top: -1px; }
.moscow-court-card > footer > a { color: #3278b3; font-size: 13px; text-decoration: none; }
.moscow-court-card > footer a:hover { text-decoration: underline; }
.moscow-court-footer-actions { display: grid; gap: 7px; justify-items: end; }
.moscow-court-footer-actions > a { color: #3278b3; font-size: 13px; text-decoration: none; }

.court-payment-results { display: grid; gap: 16px; }
.court-payment-results .court-payment-card { margin-top: 0; }
.court-payment-card { margin-top: 24px; overflow: hidden; border: 1px solid #dfe4e8; border-radius: 20px; background: #fff; box-shadow: 0 10px 30px rgba(38, 52, 64, .05); }
.court-payment-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; padding: 20px 21px 18px; background: #f7f9fb; }
.court-payment-heading h2 { margin: 6px 0 0; color: #35414b; font-size: 20px; line-height: 1.35; }
.court-payment-heading p { margin: 6px 0 0; color: #87919a; font-size: 13px; }
.court-payment-badge { display: inline-block; padding: 5px 8px; border-radius: 999px; color: #59636b; background: #eceff1; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.court-payment-copy-all { flex: 0 0 auto; border: 1px solid #d5dadd; border-radius: 10px; padding: 8px 10px; color: #4e5961; background: #fff; cursor: pointer; font-size: 13px; font-weight: 600; }
.court-payment-copy-all:hover { border-color: #aeb6bc; background: #f7f8f8; }
.court-payment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #e6eaed; }
.court-payment-field { min-width: 0; padding: 14px 20px; border-right: 1px solid #e9ecef; border-bottom: 1px solid #e9ecef; }
.court-payment-field:nth-child(even), .court-payment-field.wide { border-right: 0; }
.court-payment-field.wide { grid-column: 1 / -1; }
.court-payment-field > span { display: block; color: #8a939b; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.court-payment-field > div { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-top: 5px; }
.court-payment-field strong { min-width: 0; overflow-wrap: anywhere; color: #3d4851; font-size: 13px; line-height: 1.45; }
.court-payment-field button, .court-payment-code button, .court-payment-purpose button { flex: 0 0 auto; border: 0; padding: 1px 0; color: #337bbb; background: transparent; cursor: pointer; font-size: 13px; }
.court-payment-field button:hover, .court-payment-code button:hover, .court-payment-purpose button:hover { text-decoration: underline; }
.court-payment-warnings { margin: 17px 20px 0; padding: 13px 14px; border-radius: 13px; color: #765018; background: #fff7e7; }
.court-payment-warnings > strong { font-size: 13px; }
.court-payment-warnings ul { margin: 7px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.5; }
.court-payment-warnings li { margin-top: 3px; }
.court-payment-codes { padding: 17px 20px; border-bottom: 1px solid #e9ecef; }
.court-payment-codes h3, .court-payment-purpose h3 { margin: 0; color: #535e67; font-size: 13px; }
.court-payment-codes > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.court-payment-code { min-width: 0; padding: 11px 12px; border: 1px solid #e2e8ed; border-radius: 12px; background: #fafbfd; }
.court-payment-code > span { display: block; min-height: 27px; color: #77828b; font-size: 13px; line-height: 1.4; }
.court-payment-code > div { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; margin-top: 5px; }
.court-payment-code strong { color: #2f5575; font-size: 13px; overflow-wrap: anywhere; }
.court-payment-purpose { position: relative; padding: 17px 20px; border-bottom: 1px solid #e9ecef; }
.court-payment-purpose p { max-width: 760px; margin: 7px 110px 0 0; color: #5f6870; font-size: 13px; line-height: 1.5; }
.court-payment-purpose button { position: absolute; top: 18px; right: 20px; }
.court-payment-source { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 12px 20px; color: #9299a0; background: #fafbfc; font-size: 13px; }
.court-payment-source a { color: #2d76b6; font-size: 13px; text-decoration: none; }
.court-payment-source a:hover { text-decoration: underline; }

.auction-counting-help { grid-column: 1 / -1; }
.future-law-notice { display: block; grid-column: 1 / -1; min-width: 0; border: 1px solid #e6eaee; border-radius: 10px; background: #f8fafb; }
.future-law-notice > summary { display: flex; gap: 8px; align-items: center; padding: 9px 12px; color: #7f8a93; font-size: 12px; line-height: 1.35; list-style: none; cursor: pointer; }
.future-law-notice > summary::-webkit-details-marker { display: none; }
.future-law-notice > summary::before { content: "›"; color: #a1a9b0; font-size: 17px; line-height: 1; transform: rotate(0); transition: transform .15s ease; }
.future-law-notice[open] > summary::before { transform: rotate(90deg); }
.future-law-notice > summary small { color: #a0a8af; font-size: 12px; }
.future-law-notice[open] > summary { border-bottom: 1px solid #edf0f2; }
.future-law-notice > div { padding: 0 12px 11px 37px; }
.future-law-notice article { padding-top: 10px; color: #68737c; background: transparent; }
.future-law-notice article strong { color: #59656e; font-size: 13px; line-height: 1.4; }
.future-law-notice article p { margin: 5px 0 0; font-size: 12px; line-height: 1.5; }
.future-law-notice article a { display: inline-block; margin-top: 6px; color: #738ba0; font-size: 12px; text-decoration: none; }
.future-law-notice article a:hover { text-decoration: underline; }
.auction-task-picker { grid-column: 1 / -1; }
.auction-task-picker h2 { margin: 0 0 10px; font-size: 14px; }
.auction-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.auction-task-button { display: grid; gap: 3px; min-height: 66px; padding: 11px 12px; border: 1px solid #dce3ea; border-radius: 13px; background: #fff; color: #4e5d6b; text-align: left; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.auction-task-button:hover { border-color: #a8c9e9; background: #f7fbff; }
.auction-task-button.active { border-color: #4a94dc; background: #edf6ff; color: #176fc5; box-shadow: inset 0 0 0 1px #4a94dc; }
.auction-task-button strong { font-size: 13px; line-height: 1.3; }
.auction-task-button span { color: #7b8792; font-size: 13px; line-height: 1.35; }
.auction-task-button.active span { color: #4e82b4; }
.auction-search { grid-column: 1 / -1; }
.auction-search-control { display: grid; grid-template-columns: 38px minmax(0, 1fr); overflow: hidden; border: 1px solid #cbd9e4; border-radius: 12px; align-items: center; background: #fff; box-shadow: 0 5px 16px rgba(47, 77, 101, .045); }
.auction-search-control:focus-within { border-color: #4a94dc; box-shadow: 0 0 0 3px rgba(74, 148, 220, .13); }
.auction-search-control > span { color: #718ba0; text-align: center; font-size: 22px; line-height: 1; }
.auction-search-control input { width: 100%; min-width: 0; padding: 11px 13px 11px 0; border: 0; outline: 0; color: #394844; background: transparent; font: inherit; }
.auction-search-control input:focus { box-shadow: none; }
.auction-search-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.auction-search-results[hidden] { display: none; }
.auction-search-result { display: grid; gap: 3px; min-width: 0; padding: 11px 12px; border: 1px solid #dce4eb; border-radius: 11px; color: #4a5551; background: #fff; text-align: left; cursor: pointer; }
.auction-search-result:hover, .auction-search-result.active { border-color: #7eb4df; background: #f4f9fe; }
.auction-search-result > span { color: #7c8790; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
.auction-search-result strong { font-size: 13px; line-height: 1.35; }
.auction-search-result small { color: #7d8884; font-size: 13px; line-height: 1.4; }
.auction-search-empty { grid-column: 1 / -1; margin: 2px 0 0; padding: 10px 12px; border-radius: 10px; color: #707b77; background: rgba(255, 255, 255, .72); font-size: 13px; }
.auction-preparation-routes { grid-column: 1 / -1; min-width: 0; padding: 16px 18px; border: 1px solid #dfe6ec; border-radius: 16px; background: #fff; }
.auction-preparation-routes h3 { margin: 0 0 10px; color: #4b5854; font-size: 14px; }
.auction-preparation-routes > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.auction-preparation-routes .auction-process-branch { border-color: #d7e3ec; background: #fbfdff; }
.auction-preparation-routes .auction-process-branch:hover { border-color: #a8c9e9; background: #f5faff; }
.auction-preparation-routes .auction-process-branch.active { border-color: #4a94dc; background: #edf6ff; box-shadow: inset 0 0 0 1px #4a94dc; }
.auction-exception-routes { grid-column: 1 / -1; min-width: 0; padding: 2px 0 0; border: 0; background: transparent; }
.auction-exception-routes h3 { margin: 0 0 6px; color: #8a9298; font-size: 12px; font-weight: 600; }
.auction-exception-routes > div { display: grid; grid-template-columns: 1fr; gap: 9px; }
.auction-exception-routes .auction-process-branch { min-height: 0; padding: 8px 11px; border-color: #e3e8ec; background: #fafbfc; color: #66717a; box-shadow: none; }
.auction-exception-routes .auction-process-branch strong { font-size: 13px; font-weight: 600; }
.auction-exception-routes .auction-process-branch span { color: #8a9298; font-size: 12px; }
.auction-exception-routes .auction-process-branch:hover { border-color: #ccd6de; background: #f7f9fa; }
.auction-exception-routes .auction-process-branch.active { border-color: #bfcbd4; background: #f4f7f9; color: #52616c; box-shadow: none; }
.auction-guide { display: grid; grid-column: 1 / -1; min-width: 0; gap: 12px; }
.auction-guide.hidden { display: none; }
.auction-guide-figure { min-width: 0; margin: 0; padding: 17px 18px; border: 1px solid #dfe6ec; border-radius: 16px; background: #fff; }
.auction-process-diagram { max-width: 820px; margin: 5px auto; padding: 4px 12px; }
.auction-process-timeline { position: relative; display: grid; margin: 0; padding: 0; list-style: none; }
.auction-process-timeline li { position: relative; display: grid; grid-template-columns: 37px minmax(0, 1fr); gap: 18px; min-width: 0; padding-bottom: 16px; }
.auction-process-timeline li:not(:last-child)::before { content: ""; position: absolute; z-index: 0; top: 18.5px; bottom: -18.5px; left: 18.5px; width: 2px; border-radius: 2px; background: #b6c7d5; transform: translateX(-1px); }
.auction-process-timeline li:last-child { padding-bottom: 0; }
.auction-process-marker { z-index: 1; justify-self: start; }
.auction-process-marker span { display: grid; width: 37px; height: 37px; border: 2px solid #8eaec6; border-radius: 50%; place-items: center; color: #55738f; background: #fff; box-shadow: 0 0 0 5px rgba(85, 115, 143, .06); font-size: 13px; font-weight: 750; }
.auction-process-card { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) minmax(215px, .65fr); gap: 26px; min-width: 0; padding: 15px 17px; border: 1px solid #e2e9ef; border-radius: 14px; align-items: center; color: inherit; background: #fff; box-shadow: 0 5px 18px rgba(47, 77, 101, .035); text-align: left; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease; }
.auction-process-card:hover { border-color: #b8d2e7; background: #fbfdff; }
.auction-process-card:focus-visible { outline: 3px solid rgba(74, 148, 220, .22); outline-offset: 2px; }
.auction-process-card.active { border-color: #9fc3df; background: #fff; box-shadow: none; transform: none; }
.auction-process-copy { min-width: 0; }
.auction-process-copy strong, .auction-process-copy small, .auction-process-term span, .auction-process-term b { display: block; line-height: 1.45; }
.auction-process-copy strong { color: #33413d; font-size: 14px; font-weight: 700; }
.auction-process-copy small { margin-top: 5px; color: #66736f; font-size: 13px; }
.auction-process-copy small span, .auction-process-term span { color: #64727c; font-weight: 700; }
.auction-process-terms { display: grid; gap: 7px; min-width: 0; }
.auction-process-term { min-width: 0; padding: 7px 0 0; border-top: 1px solid #edf1f4; border-radius: 0; background: transparent; }
.auction-process-term span { margin-bottom: 2px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.auction-process-term b { color: #46545f; font-size: 14px; font-weight: 400; }
.auction-process-branches { grid-column: 2; min-width: 0; margin-top: -3px; padding: 13px 14px 14px; border: 1px solid #e4ddec; border-radius: 14px; background: #fbf9fd; }
.auction-process-branches h3 { margin: 0 0 9px; color: #51445e; font-size: 14px; line-height: 1.4; }
.auction-process-branches > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.auction-process-branch { display: grid; align-content: start; gap: 5px; min-width: 0; padding: 11px 12px; border: 1px solid #ddd6e6; border-radius: 11px; color: #4d5854; background: #fff; text-align: left; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.auction-process-branch:hover { border-color: #b9a9ca; background: #fdfcff; }
.auction-process-branch:focus-visible { outline: 3px solid rgba(112, 83, 169, .18); outline-offset: 2px; }
.auction-process-branch.active { border-color: #8d6ab7; background: #f5f1fa; box-shadow: inset 0 0 0 1px #8d6ab7; }
.auction-process-branch strong { color: #403849; font-size: 14px; line-height: 1.4; }
.auction-process-branch span { color: #665e6d; font-size: 14px; line-height: 1.45; }
.auction-continuation { max-width: 820px; margin: 12px auto 0; border: 1px solid #dfe6ec; border-radius: 16px; background: #fff; }
.auction-continuation[open] { box-shadow: 0 7px 22px rgba(47, 77, 101, .055); }
.auction-continuation > summary { display: grid; position: relative; gap: 3px; padding: 14px 46px 14px 17px; cursor: pointer; list-style: none; }
.auction-continuation > summary::-webkit-details-marker { display: none; }
.auction-continuation > summary:focus-visible { outline: 3px solid rgba(74, 148, 220, .22); outline-offset: 2px; border-radius: 13px; }
.auction-continuation > summary::after { content: "+"; position: absolute; top: 50%; right: 17px; color: #4a94dc; font-size: 22px; transform: translateY(-50%); }
.auction-continuation[open] > summary::after { content: "−"; }
.auction-continuation > summary > span { color: #8a918f; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .045em; }
.auction-continuation > summary > strong { color: #3f4946; font-size: 15px; }
.auction-continuation > summary > small { color: #838d89; font-size: 13px; line-height: 1.4; }
.auction-continuation-note { margin: 0 17px 13px; padding: 10px 12px; border-radius: 10px; color: #746b55; background: #fff8e8; font-size: 13px; line-height: 1.45; }
.auction-continuation > ol { display: grid; margin: 0; padding: 0 29px 18px; list-style: none; }
.auction-continuation > ol > li { position: relative; display: grid; grid-template-columns: 37px minmax(0, 1fr); gap: 18px; align-items: start; padding-bottom: 14px; }
.auction-continuation > ol > li:not(:last-child)::before { content: ""; position: absolute; top: 18.5px; bottom: -18.5px; left: 18.5px; width: 2px; border-radius: 2px; background: #b6c7d5; transform: translateX(-1px); }
.auction-continuation > ol > li:last-child { padding-bottom: 0; }
.auction-continuation-number { z-index: 1; display: grid; width: 37px; height: 37px; border: 2px solid #8eaec6; border-radius: 50%; place-items: center; color: #55738f; background: #fff; box-shadow: 0 0 0 5px rgba(85, 115, 143, .06); font-size: 13px; font-weight: 750; }
.auction-continuation-card { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) minmax(215px, .65fr); gap: 26px; min-width: 0; padding: 15px 17px; border: 1px solid #e2e9ef; border-radius: 14px; align-items: center; color: inherit; background: #fff; box-shadow: 0 5px 18px rgba(47, 77, 101, .035); text-align: left; cursor: pointer; }
.auction-continuation-card:hover, .auction-continuation-card.active { border-color: #9fc3df; background: #fff; box-shadow: none; }
.auction-continuation-copy strong, .auction-continuation-copy small, .auction-continuation-term span, .auction-continuation-term b { display: block; line-height: 1.45; }
.auction-continuation-copy strong { color: #33413d; font-size: 14px; font-weight: 700; }
.auction-continuation-copy small { margin-top: 5px; color: #66736f; font-size: 13px; }
.auction-continuation-terms { display: grid; gap: 6px; }
.auction-continuation-term { padding: 7px 0 0; border-top: 1px solid #edf1f4; border-radius: 0; background: transparent; }
.auction-continuation-term span { color: #64727c; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.auction-continuation-term b { margin-top: 2px; color: #46545f; font-size: 14px; font-weight: 400; }
.auction-continuation-branches { margin: 0 17px 17px 55px; padding: 12px; border: 1px solid #eadce5; border-radius: 12px; background: #fff9fc; }
.auction-continuation-branches h3 { margin: 0 0 8px; color: #795e70; font-size: 13px; }
.auction-continuation-branches > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.auction-event-panel, .auction-selected-calculation { grid-column: 1 / -1; min-width: 0; }
.auction-event-panel.hidden, .auction-selected-calculation.hidden { display: none; }
.auction-event-panel { padding: 18px; border: 1px solid #d5e1ea; border-radius: 16px; background: #f3f7fa; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8); }
.form-grid .auction-event-heading h2 { margin: 0; color: #33434f; font-size: 16px; line-height: 1.4; }
.auction-event-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 10px; align-items: stretch; }
.auction-event-button { position: relative; display: grid; height: 100%; gap: 4px; min-width: 0; padding: 14px 15px; border: 1px solid #d7e2ea; border-left: 3px solid #9dbfda; border-radius: 12px; align-content: start; color: #4d5854; background: #fff; box-shadow: 0 3px 10px rgba(47, 77, 101, .055); text-align: left; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease; }
.auction-event-button:hover { border-color: #a9c5da; border-left-color: #68a1cd; background: #fff; box-shadow: 0 5px 14px rgba(47, 77, 101, .09); transform: translateY(-1px); }
.auction-event-button.active { border-color: #76a9d0; border-left-color: var(--blue); background: #fbfdff; box-shadow: 0 0 0 1px rgba(47, 140, 255, .08), 0 4px 12px rgba(47, 77, 101, .07); }
.auction-event-button strong { color: #33413d; font-size: 14px; font-weight: 700; line-height: 1.45; }
.auction-event-button[data-auction-rule="bid_acceptance"] { grid-row: span 2; }
.auction-event-button > span:not(.auction-event-term):not(.auction-event-terms) { color: #66736f; font-size: 13px; line-height: 1.5; }
.auction-applicability-badges { display: flex !important; flex-wrap: wrap; gap: 5px; }
.auction-applicability-badge { width: fit-content; padding: 3px 7px; border-radius: 999px; color: #665179 !important; background: #f2edf7; font-size: 13px !important; font-weight: 650; line-height: 1.35 !important; }
.auction-event-terms { display: grid !important; gap: 8px; }
.auction-event-term { display: block; margin-top: 5px; padding: 9px 10px; border: 1px solid #e1eaf0; border-radius: 9px; color: #46545f !important; background: #f7fafc; font-size: 13px; font-weight: 400; line-height: 1.45; }
.auction-event-terms .auction-event-term { margin-top: 0; }
.auction-event-term small { display: block; margin-bottom: 2px; color: #55728a; font-size: 13px; font-weight: 700; line-height: 1.35; text-transform: uppercase; letter-spacing: .035em; }
.auction-event-duration { color: #33413d; font-weight: 650; }
.auction-selected-calculation { display: grid; grid-template-columns: 1fr; gap: 12px; }
.auction-selected-calculation > .field { grid-column: 1 / -1; }
.auction-rule-card, .auction-publication-rule-card { grid-column: 1 / -1; }
.auction-rule-card { padding: 16px 18px; border: 1px solid #dbe5ed; border-radius: 18px; background: #f8fbfd; box-shadow: 0 5px 18px rgba(31, 43, 55, .045); }
.auction-publication-rule-card { min-width: 0; border-color: #dbe5ed; background: #f8fbfd; }
.auction-card-heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.auction-card-heading h2 { max-width: 700px; margin: 0; color: #3f4946; font-size: 17px; line-height: 1.35; }
.auction-card-badges { display: flex; flex: none; flex-wrap: wrap; justify-content: flex-end; gap: 6px; align-items: flex-start; }
.auction-nature-badge { flex: none; padding: 6px 9px; border-radius: 999px; background: #e7f2fd; color: #176fc5 !important; font-size: 13px !important; text-transform: none !important; }
.auction-rule-description { margin: 12px 0 0; color: #626b68; font-size: 13px; line-height: 1.5; }
.auction-rule-calculation { margin-top: 11px; }
.auction-rule-calculation h3 { margin: 0; color: #1f2d3a; font-size: 14px; line-height: 1.4; }
.auction-rule-calculation p { margin: 7px 0 0; color: #53606b; font-size: 14px; line-height: 1.5; }
.auction-rule-calculation b { color: #173e62; font-weight: 700; }
.auction-rule-timing-layout { align-items: stretch; }
.auction-rule-duration-tiles { display: grid; grid-template-columns: 112px; gap: 10px; }
.auction-rule-duration-tiles.multiple { grid-template-columns: repeat(2, 112px); }
.auction-rule-guidance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin-top: 16px; padding-top: 15px; border-top: 1px solid #e2e9ef; }
.auction-rule-guidance section { min-width: 0; }
.auction-rule-guidance section:only-child { grid-column: 1 / -1; }
.auction-rule-guidance h3 { margin: 0; color: #344650; font-size: 14px; line-height: 1.4; }
.auction-rule-guidance p { margin: 7px 0 0; color: #596872; font-size: 13px; line-height: 1.52; }
.auction-rule-guidance ul { margin: 8px 0 0; padding-left: 19px; color: #596872; font-size: 13px; line-height: 1.52; }
.auction-rule-guidance li + li { margin-top: 5px; }
.auction-rule-guidance li::marker { color: #6f9fc9; }
.auction-rule-card > .auction-legal-help { margin: 13px 0 0; }
.auction-legal-help .interest-legal-content blockquote a { display: block; margin-top: 8px; font-size: 13px; font-style: normal; }
.platform-badge.etp { color: #7457a0; background: #f1ecf8; }
.auction-rule-warning, .auction-result-warning { margin-top: 13px; padding: 12px 14px; border-radius: 12px; background: #fff7e7; color: #746447; font-size: 13px; line-height: 1.5; }
.auction-result-warning > summary { cursor: pointer; font-weight: 650; }
.auction-rule-warning ul, .auction-result-warning ul { margin: 6px 0 0; padding-left: 18px; }
.auction-counting-help { padding: 0 4px; color: #656d6a; font-size: 13px; line-height: 1.55; }
.auction-counting-help summary, .auction-checklist summary { cursor: pointer; color: #4f5d58; font-weight: 600; }
.auction-result h2 { margin: 13px 0 16px; padding-right: 150px; font-size: 20px; }
.auction-result-status { display: flex; gap: 8px; align-items: center; }
.auction-result-status span { padding: 5px 9px; border-radius: 999px; background: #e7f2fd; color: #176fc5; font-size: 13px; font-weight: 650; }
.auction-result-status.manual_review span, .auction-result-status.calculation_reference span { background: #fff0d7; color: #8b6223; }
.auction-result-status small { color: #8b9290; font-size: 13px; }
.auction-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.auction-control-card { padding: 14px; border: 1px solid #dfe4e2; border-radius: 14px; background: #fff; }
.auction-control-card.failed { border-color: #e6bdb7; background: #fffafa; }
.auction-control-card > span, .auction-control-card > small { display: block; color: #858d8a; font-size: 13px; }
.auction-control-card > strong { display: block; margin-top: 5px; color: #394541; font-size: 18px; }
.auction-control-card > p { margin: 8px 0 0; color: #818784; font-size: 13px; line-height: 1.4; }
.auction-control-card details { margin-top: 9px; color: #68716e; font-size: 13px; }
.auction-control-card details p { margin: 5px 0 0; line-height: 1.45; }
.auction-calculation-steps { margin: 9px 0 0; padding-left: 20px; color: #656d6a; font-size: 13px; line-height: 1.55; }
.auction-price-metrics, .auction-public-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.auction-price-metrics section, .auction-public-summary > div { padding: 14px; border: 1px solid #e0e4e3; border-radius: 14px; background: #fff; }
.auction-price-metrics section.primary { border-color: #9fc9ef; background: #f3f8fe; }
.auction-price-metrics section.failed { border-color: #e3aaa2; background: #fff6f5; }
.auction-price-metrics span, .auction-public-summary span { display: block; color: #888f8d; font-size: 13px; }
.auction-price-metrics strong, .auction-public-summary strong { display: block; margin-top: 5px; color: #3f4946; font-size: 16px; }
.auction-deposit-total { display: grid; min-height: 150px; padding: 24px 26px; border: 1px solid #91c1ee; border-radius: 18px; place-content: center; justify-items: center; background: linear-gradient(135deg, #edf6ff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(47, 140, 255, .11); text-align: center; }
.auction-deposit-total.failed { border-color: #e3aaa2; background: linear-gradient(135deg, #fff3f1 0%, #fffafa 100%); box-shadow: 0 8px 24px rgba(180, 75, 62, .08); }
.auction-deposit-total span { color: #376894; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .055em; }
.auction-deposit-total strong { margin-top: 8px; color: #123f68; font-size: clamp(34px, 5vw, 48px); font-weight: 750; line-height: 1.05; letter-spacing: -.035em; }
.auction-deposit-total.failed strong { color: #9b3f34; }
.auction-deposit-total small { margin-top: 10px; color: #607587; font-size: 14px; line-height: 1.45; }
.auction-deposit-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; }
.auction-public-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.auction-public-offer-group { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; padding: 14px; border: 1px solid #e2e8ed; border-radius: 15px; background: #fbfcfd; }
.auction-public-offer-group h3 { grid-column: 1 / -1; margin: 0; color: #466177; font-size: 14px; }
.auction-application-requirements { margin-top: 18px; padding: 19px; border: 1px solid #dce6ef; border-radius: 16px; background: linear-gradient(145deg, #f7fbfe 0%, #fff 72%); }
.auction-application-requirements-intro > span { color: #547996; font-size: 12px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.auction-application-requirements-intro h3 { margin: 6px 0 0; color: #33434f; font-size: 19px; line-height: 1.35; }
.auction-application-requirements-intro p { max-width: 780px; margin: 7px 0 0; color: #687781; font-size: 14px; line-height: 1.55; }
.auction-application-requirements-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; align-items: stretch; }
.auction-application-requirement-group { min-width: 0; padding: 15px 15px 14px; border: 1px solid #e1e9ef; border-radius: 13px; background: rgba(255, 255, 255, .92); }
.auction-application-requirement-group.warning { grid-column: 1 / -1; border-color: #eadfd0; background: #fffaf3; }
.auction-application-requirement-heading { display: flex; gap: 9px; align-items: center; }
.auction-application-requirement-heading > span { display: grid; flex: 0 0 27px; width: 27px; height: 27px; border-radius: 8px; place-items: center; color: #42739a; background: #edf5fb; font-size: 11px; font-weight: 750; }
.auction-application-requirement-group.warning .auction-application-requirement-heading > span { color: #94673c; background: #f8edde; }
.auction-application-requirement-heading h4 { margin: 0; color: #354651; font-size: 14px; line-height: 1.4; }
.auction-application-requirement-list { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.auction-application-requirement-list li { position: relative; padding-left: 14px; color: #53636d; font-size: 13px; line-height: 1.55; }
.auction-application-requirement-list li::before { position: absolute; top: .59em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: #6d9fbe; content: ""; }
.auction-application-requirement-group.warning .auction-application-requirement-list li::before { background: #c38d51; }
.auction-application-requirements-note { margin: 13px 0 0; padding: 12px 13px; border-left: 3px solid #77a7c6; border-radius: 0 9px 9px 0; color: #4d626f; background: #eef5fa; font-size: 13px; line-height: 1.55; }
.auction-application-requirements-note strong { color: #35566d; }
.auction-application-requirements-basis { margin: 10px 0 0; color: #78848b; font-size: 12px; line-height: 1.5; }
.auction-legal-help { margin-top: 18px; }
.auction-legal-citation { margin: 0; }
.auction-legal-help .interest-legal-content blockquote { font-size: 13px; line-height: 1.55; }
.auction-period-table tr.cutoff td { background: #fff8ec; }
.auction-checklist { margin-top: 14px; padding: 12px 14px; border: 1px solid #e0e4e3; border-radius: 13px; color: #626b68; font-size: 13px; line-height: 1.5; }
.auction-checklist ul { margin: 9px 0 0; padding-left: 18px; }
.auction-result-footer { margin-top: 15px; color: #939896; font-size: 13px; }

.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.detail-item {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #e1e5e8;
  border-radius: 12px;
  background: #fff;
}
.detail-item span { display: block; color: #7f878e; font-size: 13px; line-height: 1.4; }
.detail-item strong { display: block; margin-top: 5px; overflow-wrap: anywhere; font-size: 14px; font-weight: 600; line-height: 1.4; }
.indexation-result .indexation-detail-wide { grid-column: 1 / -1; }
.indexation-result .indexation-detail-wide:first-child { border-color: #d7e5f2; background: #f8fbfe; }
.indexation-result .indexation-detail-wide:last-child { padding: 10px 13px; border-style: dashed; color: #5f6d78; background: transparent; }
.indexation-result .result-explanation { max-width: 880px; padding: 14px 16px; border-radius: 13px; background: #fff; line-height: 1.55; }
.detail-item .approval-note { display: block; margin-top: 8px; color: #737d86; font-size: 13px; line-height: 1.45; }

.result-details { margin-top: 14px; border-top: 1px solid #dedee0; }
.result-details summary { padding: 14px 0 3px; cursor: pointer; color: #46515b; font-size: 14px; font-weight: 600; }
.table-wrap { margin-top: 12px; overflow-x: auto; border-radius: 11px; background: #fff; }
.table-title { margin: 15px 0 7px; font-size: 13px; font-weight: 600; }
table { width: 100%; border-collapse: collapse; min-width: 590px; font-size: 13px; }
th, td { padding: 9px 10px; border-bottom: 1px solid #ececef; text-align: left; vertical-align: top; }
th { color: #73767b; background: #fbfbfb; font-weight: 600; }
tr:last-child td { border-bottom: 0; }

footer { max-width: 960px; margin-top: 38px; color: #8f9297; font-size: 13px; line-height: 1.55; }
.app-footer { display: grid; gap: 6px; padding-top: 16px; border-top: 1px solid #e4e7ea; }
.app-footer p { margin: 0; }
.app-footer a { color: #2876c8; font-weight: 600; text-decoration: none; }
.app-footer a:hover { text-decoration: underline; }
.app-footer a:focus-visible { border-radius: 3px; outline: 2px solid var(--blue); outline-offset: 2px; }

.legal-information-body { min-width: 320px; background: #f7f8fa; }
.legal-information-shell { width: min(100% - 32px, 880px); margin: 0 auto; padding: 38px 0 48px; }
.legal-information-header { margin-bottom: 22px; }
.legal-information-brand { display: inline-flex; align-items: center; gap: 10px; color: #3f454b; text-decoration: none; }
.legal-information-brand img { width: 34px; height: 34px; border-radius: 10px; }
.legal-information-brand span { font-size: 14px; font-weight: 700; }
.legal-information-back {
  display: inline-block;
  margin: 23px 0 21px;
  border-radius: 4px;
  color: #2876c8;
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
}
.legal-information-back:hover { text-decoration: underline; }
.legal-information-brand:focus-visible,
.legal-information-back:focus-visible,
.legal-information-document a:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.legal-information-header .eyebrow { margin-bottom: 8px; }
.legal-information-header h1 { max-width: 760px; }
.legal-information-document {
  padding: 30px 34px;
  border: 1px solid #e1e4e8;
  border-radius: 20px;
  color: #41464c;
  background: #fff;
  box-shadow: 0 10px 32px rgba(31, 43, 55, .055);
}
.legal-information-document section + section { margin-top: 25px; padding-top: 25px; border-top: 1px solid #eceef1; }
.legal-information-document h2 { margin: 0 0 10px; color: #2d3339; font-size: 18px; line-height: 1.4; }
.legal-information-document p { margin: 0; font-size: 15px; line-height: 1.68; }
.legal-information-document p + p { margin-top: 12px; }
.legal-information-document ul { margin: 10px 0 0; padding-left: 22px; font-size: 15px; line-height: 1.62; }
.legal-information-document li + li { margin-top: 5px; }
.legal-information-document a { color: #2876c8; font-weight: 650; }
.legal-information-summary { padding: 17px 19px; border-left: 4px solid #d99b32; border-radius: 12px; background: #fff9ec; }
.legal-information-updated { color: #858a90; font-size: 13px !important; }

.reference-loading,
.currency-converter,
.timezone-intro,
.currency-rates,
.timezone-results,
.timezone-source,
.reference-unavailable {
  grid-column: 1 / -1;
}
.reference-loading,
.timezone-intro {
  padding: 16px 18px;
  border: 1px solid #dce7f2;
  border-radius: 15px;
  background: #f7fafe;
}
.reference-loading strong,
.reference-loading span,
.timezone-intro strong { display: block; }
.reference-loading span,
.timezone-intro p { margin: 5px 0 0; color: #737b84; font-size: 13px; line-height: 1.5; }
.currency-converter { display: grid; gap: 14px; }
.currency-converter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 15px; }
.currency-converter-grid input[readonly] { color: #176fc5; background: #f7fafe; font-weight: 700; }
.currency-result-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.currency-result-control .value-copy-button { height: 42px; margin: 0; padding: 0 11px; border: 1px solid #d5e2ec; background: #fff; white-space: nowrap; }
.currency-result-control .value-copy-button:disabled { color: #a5adb4; cursor: default; }
.currency-converter-actions { display: flex; align-items: flex-start; justify-content: flex-end; gap: 10px; }
.currency-swap {
  min-width: min(100%, 280px);
  min-height: 43px;
  border: 1px solid #d8e0e8;
  border-radius: 11px;
  background: #fff;
  color: #2876c8;
  cursor: pointer;
}
.currency-swap:hover { border-color: #9fc5e9; background: #f7fbff; }
.currency-export-slot > .reference-export-actions { margin: 0; }
.currency-export-slot .productivity-action { min-height: 43px; }
.currency-rate-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 10px; }
.currency-rate-card { padding: 14px 15px; border: 1px solid #dfe7ef; border-radius: 13px; background: #fff; }
.currency-rate-card span, .currency-rate-card small { display: block; color: #7c8792; font-size: 13px; }
.currency-rate-card strong { display: block; margin: 4px 0; color: #176fc5; font-size: 18px; }
.official-source-line { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; color: #747d86; font-size: 13px; }
.official-source-line a { color: #2876c8; font-weight: 650; text-decoration: none; }
.official-source-line a:hover { text-decoration: underline; }
.reference-unavailable { padding: 16px 18px; border: 1px solid #ecd8b5; border-radius: 14px; background: #fffaf1; }
.reference-unavailable p { margin: 5px 0 0; color: #766b58; font-size: 13px; line-height: 1.5; }
.timezone-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.timezone-card { min-width: 0; padding: 17px; border: 1px solid #dce5ee; border-radius: 15px; background: #fff; }
.timezone-card > span { color: #2876c8; font-size: 13px; font-weight: 650; }
.timezone-card h2 { margin: 7px 0 6px; font-size: 25px; }
.timezone-card strong { display: block; font-size: 13px; line-height: 1.4; }
.timezone-card p, .timezone-card small { display: block; margin: 7px 0 0; color: #7c858e; font-size: 13px; line-height: 1.45; }
.timezone-placeholder { grid-column: 1 / -1; padding: 28px; border: 1px dashed #d8dfe6; border-radius: 14px; color: #858c94; text-align: center; }
.timezone-placeholder strong, .timezone-placeholder span { display: block; }
.timezone-placeholder span { margin-top: 5px; font-size: 13px; }

/* Readability pass for secondary legal text across all calculators. */
.result-card small,
.result-card [class*="-version"],
.result-card [class*="-footer"] {
  font-size: 13px !important;
  line-height: 1.5;
}

.result-card :is(
  [class*="-basis"],
  [class*="-note"],
  [class*="-warning"],
  [class*="-warnings"],
  [class*="-boundaries"],
  [class*="-details"]
) :is(p, li, small, strong, span, a, summary) {
  font-size: 14px !important;
  line-height: 1.5;
}

.publication-rule-card :is(p, small),
.publication-help,
.publication-rule-note,
.publication-inline-warning {
  font-size: 13px;
}

.publication-rule-note strong {
  font-size: 13px;
}

/* Keep secondary text as readable in every section as it is in publications. */
:is(
  .bankruptcy-intro,
  .bankruptcy-rule-card,
  .bankruptcy-counting-help,
  .limitation-no-limit-grid,
  .limitation-optional-fields,
  .au-intro,
  .au-boundaries,
  .au-procedure-card,
  .fixed-rate-card,
  .expense-limit-intro,
  .expense-limit-help,
  .bfo-lookup,
  .moratorium-legal-help,
  .auction-task-grid,
  .auction-rule-card,
  .auction-counting-help,
  .court-selected-address,
  .court-directory-sources,
  .court-directory,
  .court-payment-card
) :is(p, li, small, summary, a, em) {
  font-size: 14px !important;
  line-height: 1.5;
}

:is(
  .bankruptcy-intro,
  .bankruptcy-rule-card,
  .au-intro,
  .au-procedure-card,
  .fixed-rate-card,
  .expense-limit-intro,
  .bfo-lookup,
  .moratorium-legal-help,
  .auction-task-grid,
  .auction-rule-card,
  .court-directory,
  .court-payment-card
) span {
  font-size: 13px !important;
  line-height: 1.45;
}

.result-card :is(
  .moratorium-metrics,
  .moratorium-excluded,
  .expense-limit-tags,
  .expense-limit-metric,
  .expense-limit-calculation,
  .expense-limit-source,
  .bankruptcy-result-tags,
  .bankruptcy-control-card,
  .limitation-result-title,
  .limitation-scenario-heading,
  .limitation-primary-date,
  .limitation-date-grid,
  .limitation-timeline,
  .auction-result-status,
  .auction-control-card,
  .auction-price-metrics,
  .auction-public-summary
) :is(span, small, em, a) {
  font-size: 13px !important;
  line-height: 1.5;
}

.court-directory :is(.court-staff-row, .court-contact-card, .court-contact-backup)
  :is(strong, span, small, p, a),
.court-payment-card :is(.court-payment-field, .court-payment-code, .court-payment-purpose)
  :is(span, p, button) {
  font-size: 13px !important;
  line-height: 1.45;
}

.court-directory-summary small,
.court-badge,
.contact-copy-button,
.court-contact-phone > span:first-child,
.court-contact-tags span,
.court-contact-backup strong,
.court-contact-backup p span,
.court-staff-group summary small,
.court-staff-row strong,
.court-staff-row > div:first-child > span,
.court-staff-row > div:first-child > small,
.court-staff-phone small,
.court-staff-room {
  font-size: 13px !important;
  line-height: 1.45;
}

.court-contact-card p,
.court-directory-more,
.court-directory-empty p {
  font-size: 14px !important;
  line-height: 1.5;
}

.bankruptcy-rule-warning strong,
.limitation-no-limit-grid h3,
.limitation-event-heading strong,
.manager-result-note p,
.expense-limit-classification strong,
.bankruptcy-transfer strong,
.auction-task-button strong,
  .auction-rule-trigger p,
  .auction-rule-timing p {
  font-size: 14px !important;
  line-height: 1.45;
}

:is(
  .bankruptcy-counting-help,
  .limitation-optional-fields,
  .moratorium-legal-help,
  .auction-counting-help,
  .auction-rule-details,
  .auction-rule-warning,
  .auction-result-warning,
  .auction-checklist,
  .repeater-help,
  .court-selected-address,
  .court-payment-source
) {
  font-size: 14px !important;
  line-height: 1.5;
}

/* Unified content scale: 13 px metadata, 14 px body, 16–20 px headings. */
.optional,
.field-hint,
.section-description,
.context-note,
footer {
  font-size: 13px;
}

.page-description,
.field label,
.field-label {
  font-size: 14px;
}

.checkbox-field label,
.publication-intro p,
.publication-help,
.result-explanation {
  font-size: 14px;
}

.publication-intro strong,
.section-title {
  font-size: 16px;
}

.form-grid h2,
.publication-card-heading h2 {
  font-size: 18px;
}

.form-grid h3,
.result-card h3 {
  font-size: 16px;
}

.result-card h2 {
  font-size: 20px;
}

.publication-rule-compact span,
.publication-rule-grid span,
.publication-card-kicker,
.debtor-badge,
.platform-badge {
  font-size: 13px;
}

.publication-rule-compact p,
.publication-rule-basis p,
.publication-message-card-heading p,
.publication-message-list,
.publication-deadline-highlight .publication-deadline-text {
  font-size: 13px;
}

.legal-basis,
.warning-list li,
.result-boundaries ul {
  font-size: 14px;
}
.sidebar-backdrop { display: none; }

@media (max-width: 900px) {
  .app-shell { display: block; }
  .sidebar { position: fixed; left: 0; transform: translateX(-102%); width: 280px; transition: transform .2s ease; box-shadow: 7px 0 30px rgba(0,0,0,.08); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-backdrop { position: fixed; inset: 0; z-index: 15; background: rgba(0,0,0,.2); }
  .sidebar-backdrop.open { display: block; }
  .workspace { padding: 30px 25px; }
  .page-header { gap: 4px; }
  .menu-button {
    flex: 0 0 44px;
    min-width: 44px;
    min-height: 44px;
    display: grid;
    place-items: center;
    margin: -8px 0 0 -12px;
    padding: 0;
  }
  .home-recent-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-calendar-toolbar-controls { grid-template-columns: 126px minmax(240px, 1fr); }
  .production-calendar-legal-toggle { justify-self: start; }
  .production-calendar-toolbar-controls > .result-workbench-actions.reference-export-actions { justify-self: end; }
  .production-calendar-year { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .moratorium-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  body { min-width: 0; }
  .workspace { padding: 24px 16px 30px; }
  h1 { font-size: 24px; }
  .home-legal-notice-summary { align-items: center; }
  .legal-information-shell { width: min(100% - 24px, 880px); padding: 24px 0 32px; }
  .legal-information-back { margin: 19px 0 17px; }
  .legal-information-document { padding: 22px 18px; border-radius: 16px; }
  .legal-information-document p,
  .legal-information-document ul { font-size: 14px; }
  .form-actions > .primary-button,
  .form-actions > .text-button { min-height: 44px; }
  .home-groups { grid-template-columns: 1fr; margin-top: 20px; }
  .home-search-control input { min-height: 48px; }
  .home-bottom-dashboard { grid-template-columns: 1fr; }
  .home-calendar-column { width: min(100%, 260px); }
  .home-production-calendar { padding: 16px; }
  .home-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .production-calendar-toolbar { padding: 15px; }
  .production-calendar-toolbar-controls { grid-template-columns: 1fr; }
  .production-calendar-legal-toggle { width: 100%; white-space: normal; }
  .production-calendar-toolbar-controls > .result-workbench-actions.reference-export-actions { width: 100%; justify-self: stretch; }
  .production-calendar-toolbar-controls > .reference-export-actions .productivity-action { width: 100%; justify-content: center; }
  .production-calendar-region-dropdown { width: 100%; }
  .production-calendar-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-calendar-year { grid-template-columns: 1fr; }
  .production-calendar-source-heading { align-items: flex-start; flex-direction: column; }
  .production-calendar-source-links { grid-template-columns: 1fr; }
  .home-tool-copy small {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
  }
  .home-recent-list { grid-template-columns: 1fr; }
  .home-recent-item { min-height: 90px; }
  .home-reference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .currency-rate-grid, .timezone-results { grid-template-columns: 1fr; }
  .currency-converter-grid { grid-template-columns: 1fr; }
  .currency-converter-actions { display: grid; grid-template-columns: 1fr; }
  .currency-swap { width: 100%; max-width: none; }
  .currency-export-slot > .reference-export-actions,
  .currency-export-slot .productivity-action { width: 100%; }
  .currency-export-slot .productivity-action { justify-content: center; }
  .au-intro { align-items: flex-start; flex-direction: column; }
  .form-grid, .section-grid, .au-required-grid, .au-subsidiary-inputs { grid-template-columns: 1fr; }
  .au-required-card { padding: 15px; border-radius: 14px; }
  .au-fixed-required-card { padding: 0; border-radius: 0; }
  .au-fixed-layout { grid-template-columns: 1fr; gap: 18px; }
  .fixed-rate-card { width: 100%; min-height: 128px; padding: 15px; }
  .fixed-rate-card strong { margin-top: 9px; font-size: 25px; }
  .fixed-rate-meta > p { white-space: normal; }
  .au-fixed-followup { grid-template-columns: 1fr; }
  .au-required-card > header { gap: 8px; }
  .manager-calculations article header { align-items: flex-start; flex-direction: column; gap: 9px; }
  .manager-calculation-summary { width: 100%; margin-left: 0; }
  .subsidiary-breakdown > div { grid-template-columns: 1fr; gap: 4px; }
  .subsidiary-breakdown dd { text-align: left; }
  .au-optional-details > .au-optional-summary { grid-template-columns: 1fr; gap: 8px; padding-block: 13px; }
  .au-optional-copy small { white-space: normal; }
  .au-optional-meta { justify-content: flex-start; }
  .form-grid:has(.au-mode-picker) + .form-actions {
    position: sticky;
    z-index: 12;
    bottom: 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-top: 22px;
    padding: 8px;
    border: 1px solid rgba(217, 225, 232, .9);
    border-radius: 15px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 24px rgba(37, 55, 70, .13);
    backdrop-filter: blur(10px);
  }
  .form-grid:has(.au-mode-picker) + .form-actions.hidden { display: none; }
  .form-grid:has(.au-mode-picker) + .form-actions > .primary-button { width: 100%; }
  .form-grid:has(.au-mode-picker) + .form-actions > .text-button { padding-inline: 8px; }
  .moratorium-industry-list { grid-template-columns: 1fr; }
  .moratorium-industry-list > div,
  .moratorium-industry-list > div:nth-last-child(-n + 2) { grid-template-columns: 1fr; gap: 2px; border-bottom: 1px solid #edf0f3; }
  .moratorium-industry-list > div:last-child { border-bottom: 0; }
  .procedural-manual-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
  .procedural-mode-toggle { text-align: left; }
  .procedural-mode { width: 100%; }
  .procedural-mode button { min-width: 0; padding-inline: 8px; white-space: normal; }
  .procedural-result-heading { display: grid; padding-right: 0; }
  .procedural-status { justify-self: start; }
  .procedural-result-metrics { grid-template-columns: 1fr; }
  .procedural-timeline li { grid-template-columns: 82px minmax(0, 1fr); gap: 10px; }
  .au-subsidiary-inputs .field { display: block; }
  .choice-card-grid,
  .choice-card-grid[data-columns="2"],
  .choice-card-grid[data-columns="3"],
  .choice-card-grid[data-columns="4"],
  .choice-card-grid[data-columns="5"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .choice-card { min-height: 68px; padding: 11px 12px; }
  .repeater.claims .duty-claim-row,
  .duty-price-component-row { grid-template-columns: 1fr 1fr; }
  .duty-claim-row .duty-claim-type,
  .duty-claim-row .duty-component-bankruptcy { grid-column: 1 / -1; }
  .duty-claim-row .duty-claim-amount { grid-column: 1; }
  .duty-claim-row .duty-claim-count { grid-column: 2; }
  .duty-claim-row .remove-button,
  .duty-price-component-row .remove-button { grid-column: 2; justify-self: end; }
  .duty-price-component-row .duty-price-kind,
  .duty-price-component-row .duty-price-label { grid-column: 1 / -1; }
  .duty-price-component-row .duty-price-amount { grid-column: 1; }
  .duty-price-component-row .duty-component-included { grid-column: 2; }
  .duty-preset-buttons { display: grid; grid-template-columns: 1fr 1fr; }
  .duty-preset-buttons button { min-width: 0; text-align: left; }
  .duty-alternative-grid { grid-template-columns: 1fr; }
  .field.full, .form-section, .context-note, .repeater, .simple-calculator-intro, .publication-intro, .publication-help, .publication-rule-card, .kommersant-schedule, .bankruptcy-intro, .bankruptcy-rule-card, .bankruptcy-counting-help, .auction-rule-card, .auction-counting-help, .limitation-optional-fields, .au-intro, .au-boundaries, .au-procedure-card, .fixed-rate-card, .expense-limit-intro, .expense-limit-help, .bfo-lookup, .court-selected-address, .court-directory-sources { grid-column: 1; }
  .result-card { padding: 18px; border-radius: 17px; }
  .au-result-top { display: grid; align-items: start; }
  .au-result-toolbar { justify-content: flex-start; }
  .au-result-toolbar > .result-workbench-actions { justify-content: flex-start; }
  .au-fee-total .result-label { padding-right: 0; }
  .duty-result > .result-label { padding-right: 0; }
  .duty-result .copy-button { position: static; margin: 0 0 13px; padding: 0; }
  .duty-result-heading h2 { font-size: 26px; }
  .detail-grid { grid-template-columns: 1fr; }
  .repeater-row, .repeater.claims .repeater-row { grid-template-columns: 1fr 1fr 27px; }
  .claim-change-tranche-row,
  .new-independent-claim-row { grid-template-columns: 1fr 1fr; }
  .claim-change-tranche-row > label:first-child,
  .new-independent-claim-row > label:first-child { grid-column: 1 / -1; }
  .claim-change-tranche-row > .remove-button,
  .new-independent-claim-row > .remove-button { grid-column: 2; grid-row: auto; justify-self: end; }
  .indexation-return-row { grid-template-columns: 1fr 27px; }
  .indexation-return-row > label:not(.indexation-return-error) { grid-column: 1 / -1; }
  .indexation-return-error { grid-column: 1; }
  .repeater.au-managers .repeater-row { grid-template-columns: 1fr 1fr; padding-bottom: 12px; border-bottom: 1px solid #eceef0; }
  .limitation-result-title, .limitation-scenario-heading { display: grid; }
  .limitation-no-limit-grid { grid-template-columns: 1fr; }
  .limitation-event-grid { grid-template-columns: 1fr; }
  .limitation-event-grid .event-kind { grid-column: 1; }
  .limitation-payment-row { grid-template-columns: 1fr; }
  .limitation-payment-row .remove-button { justify-self: end; }
  .limitation-result > .result-label { padding-right: 0; }
  .limitation-timeline li { grid-template-columns: 75px minmax(0, 1fr); }
  .moratorium-result-heading { display: grid; }
  .moratorium-result > .result-label { padding-right: 0; }
  .moratorium-result .copy-button { position: static; margin: 0 0 13px; padding: 0; }
  .moratorium-result-heading > span { justify-self: start; }
  .moratorium-metrics { grid-template-columns: 1fr; }
  .moratorium-excluded { grid-template-columns: 1fr; }
  .publication-card-heading { display: block; }
  .bankruptcy-intro { display: grid; gap: 10px; }
  .bankruptcy-version { justify-self: start; }
  .debtor-badge { display: inline-block; margin-top: 10px; }
  .publication-platform-grid, .publication-rule-grid, .publication-deadline-grid { grid-template-columns: 1fr; }
  .publication-rule-compact { grid-template-columns: 1fr; gap: 10px; }
  .publication-platform-timing-layout { grid-template-columns: 92px minmax(0, 1fr); gap: 13px; }
  .limitation-platform-timing-layout { grid-template-columns: 1fr; }
  .limitation-duration-tiles { grid-template-columns: minmax(92px, 112px); }
  .limitation-duration-tiles.multiple { grid-template-columns: repeat(2, minmax(92px, 112px)); }
  .publication-duration-tile { min-height: 92px; }
  .publication-platform-timing-trigger { grid-template-columns: 1fr; gap: 4px; }
  .publication-platform-timing-trigger span { text-align: left; }
  .publication-message-sections { grid-template-columns: 1fr; }
  .publication-message-selected { border-top: 1px solid #dfe7ef; border-left: 0; }
  .publication-deadline-header { display: block; }
  .status-pill { display: block; max-width: none; margin-top: 4px; text-align: left; }
  .publication-result-title { padding-right: 0; font-size: 18px; }
  .bankruptcy-card-heading { display: block; }
  .bankruptcy-result h2 { padding-right: 0; font-size: 18px; }
  .bankruptcy-result .copy-button { position: static; margin: 0 0 13px; padding: 0; }
  .auction-card-heading { display: grid; }
  .auction-card-badges { justify-content: flex-start; }
  .auction-rule-duration-tiles { grid-template-columns: minmax(92px, 112px); }
  .auction-rule-duration-tiles.multiple { grid-template-columns: repeat(2, minmax(92px, 112px)); }
  .auction-rule-guidance { grid-template-columns: 1fr; gap: 16px; }
  #calculator-form:has(.auction-task-picker) input:not([type="hidden"]),
  #calculator-form:has(.auction-task-picker) select { min-height: 44px; }
  .auction-task-grid { grid-template-columns: 1fr 1fr; }
  .auction-search-results { grid-template-columns: 1fr; }
  .auction-preparation-routes > div { grid-template-columns: 1fr; }
  .future-law-notice > summary { align-items: flex-start; }
  .future-law-notice > summary small { display: none; }
  .future-law-notice > div { padding-left: 32px; }
  .auction-process-diagram { padding-right: 0; padding-left: 0; }
  .auction-process-timeline li { grid-template-columns: 31px minmax(0, 1fr); gap: 13px; padding-bottom: 16px; }
  .auction-process-timeline li:not(:last-child)::before { top: 15.5px; bottom: -15.5px; left: 15.5px; }
  .auction-process-marker span { width: 31px; height: 31px; }
  .auction-process-card { grid-template-columns: 1fr; gap: 10px; padding: 13px; }
  .auction-process-term { padding: 8px 10px; }
  .auction-process-branches { grid-column: 2; padding: 12px; }
  .auction-process-branches > div { grid-template-columns: 1fr; }
  .auction-continuation > summary { padding-left: 13px; }
  .auction-continuation > ol { padding-right: 12px; padding-left: 12px; }
  .auction-continuation > ol > li { grid-template-columns: 25px minmax(0, 1fr); gap: 8px; }
  .auction-continuation-number { width: 25px; height: 25px; }
  .auction-continuation-card { grid-template-columns: 1fr; }
  .auction-continuation-branches { margin-right: 12px; margin-left: 45px; }
  .auction-continuation-branches > div { grid-template-columns: 1fr; }
  .auction-event-grid { grid-template-columns: 1fr; }
  .auction-event-button[data-auction-rule="bid_acceptance"] { grid-row: auto; }
  .auction-public-offer-group { grid-template-columns: 1fr; }
  .auction-rule-compact { grid-template-columns: 1fr; }
  .auction-application-requirements { padding: 14px; }
  .auction-application-requirements-grid { grid-template-columns: 1fr; }
  .auction-control-grid, .auction-price-metrics, .auction-public-summary { grid-template-columns: 1fr; }
  .auction-result h2 { padding-right: 0; font-size: 18px; }
  .auction-result .copy-button { position: static; margin: 0 0 13px; padding: 0; }
  .expense-limit-help-grid, .expense-limit-metrics, .expense-limit-classification, .expense-limit-citizen-grid, .bfo-lookup-grid, .bfo-lookup-values { grid-template-columns: 1fr; }
  .expense-limit-citizen-grid > section:last-child { grid-column: 1; }
  .expense-limit-citizen-card { padding: 16px; }
  .expense-limit-citizen-card > header h2 { font-size: 18px; }
  .bfo-lookup-heading { display: grid; }
  .expense-limit-result h2 { padding-right: 0; font-size: 18px; }
  .expense-limit-result .copy-button { position: static; margin: 0 0 13px; padding: 0; }
  .court-selected-address { display: grid; gap: 2px; }
  .court-reference-mode-switch { gap: 18px; overflow-x: auto; }
  .court-reference-mode-switch button { flex: 0 0 auto; white-space: nowrap; }
  .court-filter-line { grid-template-columns: 1fr; gap: 7px; }
  .court-filter-tabs { display: flex; overflow-x: auto; }
  .court-filter-tab { flex: 0 0 auto; }
  .court-filter-note { margin-left: 0; }
  .court-contact-grid { grid-template-columns: 1fr; }
  .court-staff-row { grid-template-columns: 1fr; gap: 7px; }
  .court-staff-row > div:last-child { justify-items: start; }
  .court-directory-summary { display: grid; gap: 4px; }
  .moscow-court-card > header, .moscow-court-card > footer { display: grid; }
  .moscow-magistrate-hours { grid-template-columns: 1fr; }
  .moscow-court-card > header > a, .moscow-court-card > footer > a { justify-self: start; }
  .moscow-court-footer-actions { justify-items: start; }
  .court-payment-card { border-radius: 17px; }
  .court-payment-heading, .court-payment-source { display: grid; }
  .court-payment-copy-all { justify-self: start; }
  .court-payment-grid, .court-payment-codes > div { grid-template-columns: 1fr; }
  .court-payment-field, .court-payment-field:nth-child(even) { border-right: 0; }
  .court-payment-field.wide { grid-column: 1; }
  .court-payment-purpose p { margin-right: 0; }
  .court-payment-purpose button { position: static; margin-top: 9px; }
}

/* Structured inputs for meeting votes, creditor registers and estate distribution. */
.bankruptcy-tool-intro {
  position: relative;
}

.bankruptcy-tool-version {
  display: inline-flex;
  margin-top: 10px;
  border-radius: 999px;
  padding: 5px 9px;
  color: #56717f;
  background: #edf5f8;
  font-size: 13px;
  font-weight: 650;
}

.section-grid > .bankruptcy-repeater,
.bankruptcy-tool-collateral .bankruptcy-repeater {
  grid-column: 1 / -1;
}

.bankruptcy-repeater {
  border: 1px solid #e4e9ed;
  border-radius: 16px;
  padding: 14px;
  background: #fbfcfd;
}

.bankruptcy-repeater > .repeater-header {
  align-items: flex-start;
  margin-bottom: 12px;
}

.bankruptcy-repeater .repeater-help {
  max-width: 760px;
  margin: 4px 0 0;
}

.bankruptcy-entry-card.repeater-row {
  display: block;
  margin: 0 0 12px;
  border: 1px solid #dfe6eb;
  border-radius: 15px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(35, 48, 58, .035);
}

.bankruptcy-entry-card.repeater-row:last-child {
  margin-bottom: 0;
}

.bankruptcy-entry-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.bankruptcy-entry-heading > div {
  display: grid;
  gap: 2px;
}

.bankruptcy-entry-heading span {
  color: #2c6e9e;
  font-size: 13px;
  font-weight: 700;
}

.bankruptcy-entry-heading strong {
  color: #293943;
  font-size: 14px;
}

.bankruptcy-entry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
}

.bankruptcy-entry-grid label,
.bankruptcy-compact-row label,
.bankruptcy-allocation-row label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.bankruptcy-entry-grid label > span,
.bankruptcy-compact-row label > span,
.bankruptcy-allocation-row label > span {
  color: #626d75;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

.bankruptcy-entry-grid .wide {
  grid-column: span 2;
}

.bankruptcy-entry-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 15px;
  margin-top: 12px;
}

.bankruptcy-entry-id-hint {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.bankruptcy-entry-checks label {
  display: inline-flex;
  align-items: flex-start;
  gap: 7px;
  color: #4f5d66;
  font-size: 13px;
  line-height: 1.4;
}

.bankruptcy-entry-checks input {
  width: 16px;
  min-height: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: var(--blue);
}

.bankruptcy-entry-more {
  margin-top: 12px;
  border-top: 1px solid #edf0f2;
  padding-top: 10px;
}

.bankruptcy-entry-more summary {
  color: #577080;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
}

.bankruptcy-entry-more .bankruptcy-entry-grid {
  margin-top: 11px;
}

@media (max-width: 760px) {
  .au-collateral-main { grid-template-columns: 1fr; }
  .au-collateral-field-groups,
  .au-collateral-allocation-grid { grid-template-columns: 1fr; }
  .au-collateral-allocation-grid > label:not(.au-collateral-obligation) { grid-template-rows: auto auto auto; }
  .au-collateral-obligation { grid-column: auto; }
  .au-distribution-grid { grid-template-columns: 1fr; }
}

.bankruptcy-compact-row.repeater-row,
.bankruptcy-allocation-row.repeater-row {
  align-items: end;
  border-bottom: 1px solid #edf0f2;
  padding: 0 0 10px;
}

.bankruptcy-compact-row.repeater-row {
  grid-template-columns: minmax(0, 1fr) 28px;
}

.bankruptcy-allocation-row.repeater-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) 28px;
}

.bankruptcy-tool-collateral {
  grid-column: 1 / -1;
}

.bankruptcy-tool-collateral > .bankruptcy-repeater {
  margin-top: 13px;
}

.bankruptcy-tool-help {
  grid-column: 1 / -1;
}

.bankruptcy-tool-result {
  border-color: #d9e7ef;
  background:
    linear-gradient(180deg, rgba(239, 248, 252, .72), rgba(255, 255, 255, 0) 150px),
    #fff;
}

.bankruptcy-tool-result .result-value {
  max-width: 780px;
  color: #143f5a;
}

.bankruptcy-tool-result .detail-grid {
  margin: 18px 0;
}

.bankruptcy-tool-result .result-details {
  margin-top: 18px;
}

.bankruptcy-field-help {
  margin-top: 1px;
  color: #697985;
  font-size: 13px;
  line-height: 1.45;
}

.bankruptcy-field-help summary {
  width: fit-content;
  color: #3e7caf;
  cursor: pointer;
  font-weight: 650;
}

.bankruptcy-field-help p {
  margin: 6px 0 0;
  padding: 9px 10px;
  border: 1px solid #dce8f1;
  border-radius: 10px;
  background: #f7fbfe;
}

.register-entry-main label > span small {
  color: #8d969d;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.calculator-panel:has(.creditor-register-result) {
  max-width: 1180px;
}

.creditor-register-result {
  padding: 26px;
  overflow: hidden;
}

.register-result-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding-right: 112px;
}

.register-result-heading h2,
.register-result-heading p {
  margin: 0;
}

.register-result-heading h2 {
  color: #183849;
  font-size: 25px;
  letter-spacing: -.02em;
}

.register-result-heading p {
  margin-top: 5px;
  color: #66808f;
  font-size: 13px;
}

.register-result-heading > strong {
  color: #135f91;
  font-size: 24px;
  white-space: nowrap;
}

.register-result-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 20px 0;
}

.register-result-metrics section {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #dbe6ed;
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
}

.register-result-metrics section.sanctions {
  border-color: #eadfca;
  background: #fffaf2;
}

.register-result-metrics span,
.register-result-metrics strong {
  display: block;
}

.register-result-metrics span {
  color: #768793;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.register-result-metrics strong {
  margin-top: 6px;
  overflow-wrap: anywhere;
  color: #233e4d;
  font-size: 16px;
}

.register-table-section {
  margin: 0 -26px;
  border-top: 1px solid #dae4ea;
  border-bottom: 1px solid #dae4ea;
  background: #fff;
}

.register-table-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 26px 13px;
}

.register-table-heading span,
.register-table-heading h3,
.register-table-heading p {
  margin: 0;
}

.register-table-heading span {
  color: #788a94;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.register-table-heading h3 {
  margin-top: 2px;
  color: #243e4c;
  font-size: 17px;
}

.register-table-heading p {
  color: #7e8b92;
  font-size: 13px;
}

.register-table-wrap {
  margin: 0;
  border-radius: 0;
}

.creditor-register-table {
  min-width: 1120px;
  font-size: 13px;
}

.creditor-register-table th,
.creditor-register-table td {
  padding: 11px 9px;
}

.creditor-register-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #687b86;
  background: #f4f8fa;
  font-size: 13px;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.creditor-register-table th small {
  font-size: 13px;
  text-transform: none;
}

.creditor-register-table tbody tr:hover td {
  background: #f9fcfd;
}

.register-creditor-cell {
  width: 150px;
}

.register-creditor-cell strong,
.register-creditor-cell small,
.register-priority-cell small {
  display: block;
}

.register-creditor-cell strong {
  color: #263e4b;
  font-size: 13px;
}

.register-creditor-cell small,
.register-priority-cell small {
  margin-top: 4px;
  color: #8a969d;
  font-size: 13px;
  line-height: 1.35;
}

.register-priority-cell {
  min-width: 260px;
  max-width: 360px;
  color: #425761;
  line-height: 1.4;
}

.money-cell {
  min-width: 94px;
  color: #344a55;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.sanctions-cell {
  color: #936317;
  background: #fffcf6;
}

.total-cell {
  color: #173f56;
  font-weight: 750;
}

.register-status-pill {
  display: inline-flex;
  max-width: 118px;
  border-radius: 999px;
  padding: 4px 7px;
  color: #31667f;
  background: #eaf4f8;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.register-status-pill.current { color: #746331; background: #f7f1db; }
.register-status-pill.late { color: #98544c; background: #fae9e7; }
.register-status-pill.post_register,
.register-status-pill.subordinated { color: #675987; background: #f0ecf8; }

.register-row-notes summary {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  color: #94641d;
  background: #fff2d9;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  list-style: none;
}

.register-row-notes summary::-webkit-details-marker { display: none; }
.register-row-notes ul { min-width: 220px; margin: 7px 0 0; padding-left: 17px; color: #6e5d47; font-size: 13px; line-height: 1.45; }
.register-row-ok { color: #4b9270; font-weight: 800; }

.register-result-warnings,
.register-result-legal {
  margin-top: 16px;
  color: #647680;
  font-size: 13px;
  line-height: 1.5;
}

.register-result-warnings {
  padding: 13px 15px;
  border: 1px solid #eadfc8;
  border-radius: 12px;
  background: #fffaf1;
}

.register-result-warnings ul,
.register-result-legal ul { margin: 7px 0 0; padding-left: 18px; }
.register-result-legal summary { color: #526a77; cursor: pointer; font-weight: 700; }

@media (max-width: 900px) {
  .bankruptcy-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bankruptcy-entry-grid .wide {
    grid-column: 1 / -1;
  }

  .register-result-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .bankruptcy-repeater,
  .bankruptcy-entry-card.repeater-row {
    padding: 12px;
  }

  .bankruptcy-entry-grid,
  .bankruptcy-allocation-row.repeater-row {
    grid-template-columns: 1fr;
  }

  .creditor-register-result { padding: 18px; }
  .register-result-heading { display: block; padding-right: 0; }
  .register-result-heading > strong { display: block; margin-top: 12px; }
  .register-result-metrics { grid-template-columns: 1fr; }
  .register-table-section { margin: 0 -18px; }
  .register-table-heading { display: block; padding: 14px 18px 11px; }
  .register-table-heading p { margin-top: 6px; }

  .bankruptcy-allocation-row.repeater-row .remove-button {
    justify-self: end;
  }
}

/* Mobile usability hardening shared by every calculator and reference page. */
@media (max-width: 900px) {
  body.sidebar-open {
    overflow: hidden;
    overscroll-behavior: contain;
  }

  .sidebar {
    top: 0;
    bottom: 0;
    width: min(86vw, 320px);
    height: 100vh;
    height: 100dvh;
    padding-top: max(28px, env(safe-area-inset-top));
    padding-bottom: max(22px, env(safe-area-inset-bottom));
    overscroll-behavior: contain;
  }

  .sidebar-backdrop.open {
    touch-action: none;
  }
}

@media (max-width: 620px) {
  button,
  a,
  input,
  select,
  textarea,
  summary {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .workspace {
    padding-top: max(24px, env(safe-area-inset-top));
    padding-right: max(16px, env(safe-area-inset-right));
    padding-bottom: max(30px, env(safe-area-inset-bottom));
    padding-left: max(16px, env(safe-area-inset-left));
  }

  .page-header {
    align-items: flex-start;
    margin-bottom: 25px;
  }

  .page-header-copy,
  .calculator-panel,
  .home-panel,
  .result-area,
  .result-card {
    min-width: 0;
  }

  h1,
  .result-value,
  .result-card h2,
  .result-card h3,
  .detail-item strong,
  .detail-item span {
    overflow-wrap: anywhere;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea,
  .publication-picker-button {
    min-height: 48px;
    font-size: 16px;
  }

  .publication-picker-option,
  .production-calendar-region-option,
  .court-filter-tab {
    min-height: 44px;
  }

  details > summary,
  .procedural-mode-toggle,
  .add-button,
  .home-calendar-open {
    min-height: 44px;
  }

  .procedural-mode-toggle,
  .add-button,
  .home-calendar-open {
    display: inline-flex;
    align-items: center;
  }

  .checkbox-field {
    min-height: 44px;
    align-items: center;
    padding-top: 0;
  }

  .checkbox-field label {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .remove-button {
    position: relative;
  }

  .remove-button::before {
    position: absolute;
    inset: -8px;
    content: "";
  }

  .result-card > .copy-button {
    position: static;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    margin: -5px 0 8px;
    padding: 8px 0;
  }

  .result-card > .result-label {
    padding-right: 0;
  }

  .court-reference-mode-switch {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: visible;
    border: 1px solid #dfe3e6;
    border-radius: 13px;
    background: #f7f8f9;
  }

  .court-reference-mode-switch button {
    width: 100%;
    min-height: 44px;
    padding: 11px 13px;
    white-space: normal;
  }

  .court-reference-mode-switch button + button {
    border-top: 1px solid #dfe3e6;
  }

  .court-reference-mode-switch button::after {
    top: 8px;
    right: auto;
    bottom: 8px;
    left: 0;
    width: 3px;
    height: auto;
    border-radius: 0 3px 3px 0;
  }

  .court-reference-mode-switch button.active {
    background: #fff;
  }

  .court-filter-tabs {
    width: 100%;
    overflow-x: visible;
  }

  .home-calendar-toolbar {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
  }

  .home-calendar-toolbar button {
    width: 44px;
    height: 44px;
  }

  .production-calendar-holiday-dialog {
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
    padding: 22px 18px 20px;
    overflow-y: auto;
  }

  .production-calendar-holiday-dialog h2 {
    margin-right: 42px;
  }

  .production-calendar-holiday-close {
    top: 8px;
    right: 8px;
    width: 44px;
    height: 44px;
  }

  .table-wrap,
  .kommersant-schedule-table-wrap,
  .register-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
}
