@font-face {
  font-family: "Manrope";
  src: url("fonts/manrope/Manrope-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

:root {
  color-scheme: light;
  --navy-950: #27322e;
  --navy-900: #314039;
  --navy-700: #52665e;
  --blue-600: #426f62;
  --blue-500: #578679;
  --blue-100: #dfece6;
  --blue-50: #f0f5f1;
  --ink: #2e312e;
  --muted: #767a75;
  --line: #deddd5;
  --surface: #fffdf8;
  --canvas: #f2efe8;
  --success: #467967;
  --warning: #b4773f;
  --danger: #b65750;
  font-family: "Manrope", sans-serif;
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  min-height: 100%;
  background: var(--canvas);
  scrollbar-gutter: stable;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 0, rgba(65, 116, 255, 0.08), transparent 29rem),
    var(--canvas);
}

button,
input,
textarea {
  font: inherit;
}

button,
a,
input,
textarea {
  -webkit-tap-highlight-color: transparent;
}

.page-shell {
  width: min(1440px, 100%);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 38px 28px;
}

.topbar {
  position: relative;
  z-index: 200;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 86px;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid rgba(196, 207, 223, 0.65);
}

.data-integrity-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  margin: 12px 0 0;
  padding: 11px 12px;
  border: 1px solid #e5b45f;
  border-radius: 12px;
  color: #6f4308;
  background: #fff8e8;
  box-shadow: 0 8px 22px rgba(91, 57, 9, 0.08);
}

.data-integrity-banner[hidden] {
  display: none;
}

.data-integrity-banner[data-type="error"] {
  border-color: #e29a9a;
  color: #842828;
  background: #fff1f1;
}

.data-integrity-banner[data-type="download"] {
  border-color: #9eb9e7;
  color: #244d87;
  background: #eef5ff;
}

.data-integrity-banner__icon {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #be7411;
  font-weight: 900;
}

.data-integrity-banner[data-type="error"] .data-integrity-banner__icon {
  background: #c64a4a;
}

.data-integrity-banner[data-type="download"] .data-integrity-banner__icon {
  background: #356fc5;
}

.data-integrity-banner__copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.data-integrity-banner__copy strong {
  font-size: 12px;
}

.data-integrity-banner__copy small {
  font-size: 10px;
  line-height: 1.35;
}

.data-integrity-banner button {
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid currentColor;
  border-radius: 8px;
  color: inherit;
  background: transparent;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.data-integrity-banner button:hover,
.data-integrity-banner button:focus-visible {
  outline: 0;
  background: rgba(255, 255, 255, 0.7);
}

.data-integrity-banner .data-integrity-banner__dismiss {
  min-width: 30px;
  padding: 4px;
  border-color: transparent;
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 720px) {
  .data-integrity-banner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .data-integrity-banner #resolveDataIntegrity {
    grid-column: 2 / -1;
    justify-self: start;
  }

  .data-integrity-banner__dismiss {
    grid-column: 3;
    grid-row: 1;
  }
}

.brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  width: 142px;
  height: 60px;
  box-sizing: border-box;
  padding: 5px 9px;
  overflow: hidden;
  border-radius: 11px;
  background: #2b2f33;
  box-shadow: 0 8px 20px rgba(43, 47, 51, 0.18);
  text-decoration: none;
}

.brand-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.record-counter {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  appearance: none;
  padding: 8px 12px;
  border: 1px solid #dce4f0;
  border-radius: 999px;
  color: var(--navy-700);
  background: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

.record-counter:focus-visible {
  outline: 3px solid rgba(79, 126, 246, 0.3);
  outline-offset: 2px;
}

.record-counter__copy {
  display: grid;
  place-items: center;
  gap: 2px;
  line-height: 1;
}

.record-counter__copy small {
  color: #688078;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.today-date {
  position: relative;
  display: grid;
  place-items: center;
  gap: 3px;
  appearance: none;
  padding: 8px 10px;
  border: 1px solid #dce4f0;
  border-radius: 999px;
  color: var(--navy-700);
  background: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

.today-date small {
  color: #688078;
  font-size: 8px;
  font-weight: 750;
  line-height: 1;
  text-transform: capitalize;
}

.today-date:hover,
.today-date:focus-visible {
  border-color: #e1a71e;
  color: #8a5a00;
  outline: 0;
  background: #fff9e8;
  transform: translateY(-1px);
}

.today-tasks-badge,
.today-renewals-badge {
  position: absolute;
  top: -7px;
  display: grid;
  min-width: 19px;
  height: 19px;
  place-items: center;
  border: 2px solid var(--surface);
  border-radius: 999px;
  padding: 0 4px;
  color: #513500;
  background: #f4bd32;
  box-shadow: 0 4px 10px rgba(178, 119, 0, 0.24);
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}

.today-tasks-badge {
  right: -7px;
}

.today-renewals-badge {
  left: -7px;
  color: #fff;
  background: #3975d6;
  box-shadow: 0 4px 10px rgba(28, 76, 155, 0.24);
}

.today-tasks-badge[hidden],
.today-renewals-badge[hidden] {
  display: none;
}

.topbar-actions {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 10px;
}

.quote-calculator-button {
  display: inline-flex;
  height: 36px;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid #00a76f;
  border-radius: 11px;
  color: #fff;
  background: #00a76f;
  box-shadow: 0 6px 16px rgba(0, 167, 111, 0.18);
  cursor: pointer;
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
  transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.quote-calculator-button:hover,
.quote-calculator-button:focus-visible {
  border-color: #007a45;
  outline: 0;
  background: #007a45;
  box-shadow: 0 8px 20px rgba(0, 122, 69, 0.25);
  transform: translateY(-1px);
}

.quote-calculator-button svg {
  width: 16px;
  flex: 0 0 auto;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.settings-gear,
.screen-lock-button {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #dce4f0;
  border-radius: 11px;
  color: var(--navy-700);
  background: rgba(255, 255, 255, 0.72);
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

.screen-lock-button {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 900;
}

@media (max-width: 1500px) {
  .topbar {
    padding-right: 48px;
  }
}

.settings-gear:hover,
.settings-gear:focus-visible {
  border-color: #00b174;
  color: #007a45;
  outline: 0;
  background: #f2fbf7;
  transform: rotate(12deg);
}

.screen-lock-button:hover,
.screen-lock-button:focus-visible {
  border-color: #3975d6;
  color: #285cae;
  outline: 0;
  background: #eef5ff;
  transform: translateY(-1px);
}

.settings-gear svg,
.screen-lock-button svg {
  width: 18px;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-toggle {
  display: inline-flex;
  height: 38px;
  align-items: center;
  gap: 6px;
  border: 1px solid #dce4f0;
  border-radius: 999px;
  padding: 0 10px;
  color: #718096;
  background: rgba(255, 255, 255, 0.78);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
  border-color: #bdcce2;
  color: var(--blue-600);
  outline: 0;
}

.theme-toggle__sun,
.theme-toggle__moon {
  line-height: 1;
}

.theme-toggle__track {
  position: relative;
  display: block;
  width: 31px;
  height: 18px;
  border-radius: 999px;
  background: #dbe3ef;
  transition: background 160ms ease;
}

.theme-toggle__knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(20, 39, 65, 0.25);
  transition: transform 180ms ease;
}

.theme-toggle[aria-pressed="true"] .theme-toggle__track {
  background: var(--blue-600);
}

.theme-toggle[aria-pressed="true"] .theme-toggle__knob {
  transform: translateX(13px);
}

.theme-toggle__label {
  min-width: 39px;
  text-align: left;
}

.counter-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2bb482;
  box-shadow: 0 0 0 3px rgba(43, 180, 130, 0.13);
}

.hero {
  padding: 22px 20px 24px;
  border: 1px solid rgba(73, 91, 83, 0.1);
  border-radius: 26px;
  text-align: center;
  background:
    linear-gradient(180deg, rgba(242, 239, 232, 0.56), rgba(242, 239, 232, 0.72)),
    url("assets/mountain-login.jpg") center 48% / cover no-repeat;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.eyebrow,
.section-kicker {
  margin: 0;
  color: var(--blue-600);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.search-box {
  position: relative;
  display: flex;
  width: min(720px, 100%);
  height: 70px;
  align-items: center;
  margin: 0 auto;
  padding: 0 17px 0 24px;
  border: 1px solid #dbe4f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(25, 51, 89, 0.09);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.search-box:focus-within {
  border-color: rgba(36, 107, 254, 0.58);
  box-shadow: 0 16px 44px rgba(36, 107, 254, 0.14), 0 0 0 4px rgba(36, 107, 254, 0.08);
  transform: translateY(-1px);
}

.search-box svg {
  width: 24px;
  flex: 0 0 auto;
  stroke: var(--blue-600);
  stroke-width: 1.8;
  stroke-linecap: round;
}

.search-box input {
  width: 100%;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: 0;
  padding: 0 18px;
  color: var(--navy-950);
  background: transparent;
  font-size: 15px;
  font-weight: 600;
}

.search-box input::placeholder {
  color: #98a4b6;
  font-weight: 500;
}

.search-tools {
  display: flex;
  width: min(720px, 100%);
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 12px auto 0;
  text-align: left;
}

.date-search-controls {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
}

.date-filter-toggle,
.clear-search-filters {
  border: 0;
  outline: 0;
  padding: 6px 2px;
  color: #748298;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 10px;
  font-weight: 750;
  transition: color 150ms ease;
}

.date-filter-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
}

.date-filter-toggle svg {
  width: 13px;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 150ms ease;
}

.date-filter-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.date-filter-toggle:hover,
.date-filter-toggle:focus-visible,
.date-filter-toggle--active,
.clear-search-filters:hover,
.clear-search-filters:focus-visible {
  color: var(--blue-600);
}

.date-range-filter {
  display: flex;
  align-items: center;
  gap: 8px;
}

.date-range-filter[hidden] {
  display: none;
}

.date-range-filter label {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #8290a4;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.date-range-filter input {
  width: 125px;
  height: 32px;
  border: 1px solid #dbe4f1;
  outline: 0;
  border-radius: 8px;
  padding: 0 8px;
  color: var(--navy-950);
  background: #fff;
  font-family: inherit;
  font-size: 10px;
  font-weight: 650;
}

.date-range-filter input:focus {
  border-color: rgba(36, 107, 254, 0.58);
  box-shadow: 0 0 0 3px rgba(36, 107, 254, 0.08);
}

.clear-search-filters {
  flex: 0 0 auto;
  text-decoration: underline;
  text-decoration-color: rgba(116, 130, 152, 0.42);
  text-underline-offset: 3px;
}

.usage-guide-row {
  position: relative;
  z-index: 4;
  height: 0;
}

.usage-guide-button {
  position: absolute;
  bottom: 0;
  left: 4px;
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  gap: 5px;
  border: 1px solid rgba(0, 167, 111, 0.38);
  border-radius: 7px;
  padding: 0 8px;
  color: #007a50;
  background: rgba(239, 250, 246, 0.94);
  box-shadow: 0 4px 12px rgba(15, 86, 62, 0.08);
  cursor: pointer;
  font: inherit;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.01em;
  transition: border-color 140ms ease, color 140ms ease, background 140ms ease, transform 140ms ease;
}

.usage-guide-button svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.usage-guide-button:hover,
.usage-guide-button:focus-visible,
.usage-guide-button[aria-pressed="true"] {
  border-color: #00a76f;
  color: #fff;
  outline: 0;
  background: #00a76f;
  transform: translateY(-1px);
}

.policies-card {
  overflow: hidden;
  border: 1px solid #e1e7f0;
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 8px 30px rgba(27, 49, 79, 0.05);
}

.usage-guide-overlay {
  position: fixed;
  z-index: 12000;
  inset: 0;
  overflow: hidden;
  opacity: 1;
  pointer-events: none;
  transition: opacity 650ms ease;
}

.usage-guide-overlay[hidden] {
  display: none;
}

.usage-guide-overlay--leaving {
  opacity: 0;
}

.usage-guide-arrows,
.usage-guide-highlights,
.usage-guide-labels {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.usage-guide-arrows {
  overflow: visible;
  filter: drop-shadow(0 2px 2px rgba(45, 31, 0, 0.42));
}

.usage-guide-arrow {
  fill: none;
  stroke: #f4bd32;
  stroke-linecap: round;
  stroke-width: 2;
}

.usage-guide-highlight {
  position: absolute;
  border: 2px solid #f4bd32;
  border-radius: 10px;
  background: rgba(244, 189, 50, 0.08);
  box-shadow: 0 0 0 3px rgba(244, 189, 50, 0.18), 0 0 18px rgba(244, 189, 50, 0.32);
  animation: usage-guide-pulse 900ms ease-in-out infinite alternate;
}

.usage-guide-highlight--group {
  border-width: 3px;
  border-radius: 14px;
  background: rgba(244, 189, 50, 0.13);
  box-shadow: 0 0 0 5px rgba(244, 189, 50, 0.22), 0 0 28px rgba(244, 189, 50, 0.42);
}

.usage-guide-label {
  position: absolute;
  width: max-content;
  max-width: min(220px, calc(100vw - 20px));
  padding: 7px 9px;
  border: 1px solid #f4bd32;
  border-radius: 7px;
  color: #fff7da;
  background: rgba(37, 31, 18, 0.96);
  box-shadow: 0 7px 20px rgba(0, 0, 0, 0.3);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-align: center;
}

.usage-guide-status {
  position: absolute;
  top: 12px;
  left: 50%;
  display: grid;
  min-width: 220px;
  gap: 2px;
  overflow: hidden;
  border: 1px solid rgba(244, 189, 50, 0.72);
  border-radius: 10px;
  padding: 7px 11px 9px;
  color: #fff7da;
  background: rgba(31, 28, 22, 0.94);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3);
  text-align: center;
  transform: translateX(-50%);
}

.usage-guide-status strong {
  font-size: 9px;
  font-weight: 900;
}

.usage-guide-status span {
  color: #e9dbad;
  font-size: 7px;
  font-weight: 700;
}

.usage-guide-status i {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: #f4bd32;
  transform-origin: left;
  animation: usage-guide-progress 10s linear forwards;
}

@keyframes usage-guide-progress {
  from { transform: scaleX(1); }
  to { transform: scaleX(0); }
}

@keyframes usage-guide-pulse {
  from { box-shadow: 0 0 0 2px rgba(244, 189, 50, 0.14), 0 0 10px rgba(244, 189, 50, 0.2); }
  to { box-shadow: 0 0 0 4px rgba(244, 189, 50, 0.24), 0 0 20px rgba(244, 189, 50, 0.38); }
}

.card-heading {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 13px 28px;
  border-bottom: 1px solid var(--line);
}

.card-heading h2 {
  margin: 0;
  color: var(--navy-950);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.results-summary {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.search-tools .results-summary {
  flex: 1 1 auto;
  text-align: center;
  white-space: nowrap;
}

.heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}

.data-file-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 28px;
  border-bottom: 1px solid var(--line);
  background: #f8faf9;
}

.data-file-status {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.data-file-status > span:last-child {
  min-width: 0;
}

.data-file-status strong,
.data-file-status small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.data-file-status strong {
  color: var(--navy-950);
  font-size: 11px;
  font-weight: 800;
}

.data-file-status small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 600;
}

.data-file-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #e3a427;
  box-shadow: 0 0 0 4px rgba(227, 164, 39, 0.13);
}

.data-file-bar--connected .data-file-dot {
  background: #00b174;
  box-shadow: 0 0 0 4px rgba(0, 177, 116, 0.13);
}

.data-file-bar--error .data-file-dot {
  background: #c83f49;
  box-shadow: 0 0 0 4px rgba(200, 63, 73, 0.13);
}

.data-file-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.data-file-button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #d7e1de;
  border-radius: 9px;
  color: var(--navy-700);
  background: #fff;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease;
}

.data-file-button:hover,
.data-file-button:focus-visible {
  border-color: #00b174;
  color: #007a45;
  outline: 0;
}

.data-file-button:disabled {
  border-color: var(--line);
  color: var(--muted);
  background: var(--surface);
  cursor: not-allowed;
  opacity: 0.55;
}

.data-file-button--primary {
  border-color: #00b174;
  color: #fff;
  background: #00b174;
}

.data-file-button--primary:hover,
.data-file-button--primary:focus-visible {
  border-color: #007a45;
  color: #fff;
  background: #007a45;
}

.backup-snapshot-select {
  min-height: 34px;
  max-width: 220px;
  padding: 0 30px 0 10px;
  border: 1px solid #d7e1de;
  border-radius: 9px;
  color: var(--navy-700);
  background: #fff;
  font: inherit;
  font-size: 10px;
  font-weight: 700;
}

.backup-snapshot-select:disabled {
  color: var(--muted);
  background: var(--surface);
  opacity: 0.65;
}

.settings-dialog {
  width: min(840px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 28px 90px rgba(15, 28, 45, 0.32);
  overflow: hidden;
}

.settings-dialog::backdrop {
  background: rgba(12, 22, 35, 0.62);
  backdrop-filter: blur(4px);
}

.settings-panel {
  position: relative;
  display: flex;
  max-height: calc(100vh - 32px);
  flex-direction: column;
  background: var(--surface);
}

.settings-header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 21px 24px;
  border-bottom: 1px solid var(--line);
}

.settings-header p,
.settings-header h2,
.settings-section-heading h3,
.settings-section-heading p {
  margin: 0;
}

.settings-header p {
  margin-bottom: 3px;
  color: #00a46c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.settings-header h2 {
  color: var(--navy-950);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.settings-close {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--muted);
  background: var(--surface);
  font: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.settings-close:hover,
.settings-close:focus-visible {
  border-color: #e58b83;
  color: #d84a3f;
  outline: 0;
}

.settings-tabs {
  display: flex;
  flex: 0 0 auto;
  gap: 6px;
  padding: 10px 24px;
  border-bottom: 1px solid var(--line);
  background: var(--canvas);
}

.settings-tab {
  min-height: 36px;
  padding: 0 15px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
  transition: border-color 140ms ease, color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.settings-tab:hover,
.settings-tab:focus-visible {
  border-color: rgba(0, 177, 116, 0.35);
  color: #007a45;
  outline: 0;
}

.settings-tab--active,
.settings-tab--active:hover,
.settings-tab--active:focus-visible {
  border-color: #00a76f;
  color: #fff;
  background: #00a76f;
  box-shadow: 0 5px 14px rgba(0, 167, 111, 0.2);
}

.settings-content {
  min-height: 0;
  flex: 1 1 auto;
  padding: 2px 24px;
  overflow-y: auto;
}

.settings-tab-panel[hidden] {
  display: none;
}

.settings-section {
  padding: 20px 0;
}

.settings-section + .settings-section {
  border-top: 1px solid var(--line);
}

.settings-section-heading {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-bottom: 14px;
}

.settings-section-icon {
  display: grid;
  width: 31px;
  height: 31px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 9px;
  color: #007a45;
  background: rgba(0, 177, 116, 0.12);
  font-size: 11px;
  font-weight: 800;
}

.settings-section-heading h3 {
  color: var(--navy-950);
  font-size: 13px;
  font-weight: 800;
}

.settings-section-heading p {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.45;
}

.settings-data-file-bar {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.settings-data-notice {
  margin: 10px 2px 0;
  padding: 10px 12px;
  border-left: 3px solid #00b174;
  border-radius: 0 9px 9px 0;
  color: var(--muted);
  background: rgba(0, 177, 116, 0.07);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.55;
}

.settings-backup-result {
  border-left-color: #2f7dd1;
  background: rgba(47, 125, 209, 0.08);
}

.entry-organizer-settings-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--canvas);
}

.entry-organizer-settings-row > span,
.entry-organizer-settings-row strong,
.entry-organizer-settings-row small {
  display: block;
}

.entry-organizer-settings-row > span {
  min-width: 0;
}

.entry-organizer-settings-row strong {
  color: var(--navy-950);
  font-size: 11px;
  font-weight: 800;
}

.entry-organizer-settings-row small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.5;
}

.entry-organizer-settings-row .settings-file-button {
  flex: 0 0 auto;
}

.entry-organizer-settings-row .settings-file-button:disabled {
  border-color: var(--line);
  color: var(--muted);
  background: var(--surface);
  cursor: not-allowed;
  opacity: 0.68;
}

.application-update-row[data-state="available"] {
  border-color: rgba(0, 177, 116, 0.5);
  background: rgba(0, 177, 116, 0.06);
}

.application-update-row[data-state="pending"] {
  border-color: #e1bd6f;
  background: #fffaf0;
}

.application-update-row[data-state="error"] {
  border-color: #e6a4a4;
  background: #fff7f7;
}

.application-update-row[data-state="pending"] strong {
  color: #7a5400;
}

.application-update-row[data-state="error"] strong {
  color: #9f2525;
}

.application-update-row .settings-file-button {
  min-width: 142px;
}

.license-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid #e1bd6f;
  border-radius: 14px;
  background: #fffaf0;
}

.license-banner[hidden] {
  display: none;
}

.license-banner[data-stan="wygasla"],
.license-banner[data-stan="wylaczona"],
.license-banner[data-stan="brak"] {
  border-color: #e6a4a4;
  background: #fff7f7;
}

.license-banner__icon {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(159, 37, 37, 0.12);
  color: #9f2525;
  font-weight: 800;
  flex: 0 0 auto;
}

.license-banner[data-stan="karencja"] .license-banner__icon,
.license-banner[data-stan="aktywna"] .license-banner__icon {
  background: rgba(122, 84, 0, 0.12);
  color: #7a5400;
}

.license-banner__copy {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}

.license-banner__copy strong {
  color: var(--navy-950);
  font-size: 12px;
  font-weight: 800;
}

.license-banner__copy small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.license-banner button {
  flex: 0 0 auto;
  padding: 7px 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--card);
  color: var(--navy-950);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.license-banner button:hover:not(:disabled) {
  border-color: var(--brand);
}

.license-banner button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

html[data-theme="dark"] .license-banner {
  border-color: rgba(225, 189, 111, 0.45);
  background: rgba(225, 189, 111, 0.12);
}

html[data-theme="dark"] .license-banner[data-stan="wygasla"],
html[data-theme="dark"] .license-banner[data-stan="wylaczona"],
html[data-theme="dark"] .license-banner[data-stan="brak"] {
  border-color: rgba(230, 164, 164, 0.45);
  background: rgba(230, 164, 164, 0.12);
}

.license-row[data-state="active"] {
  border-color: rgba(0, 177, 116, 0.5);
  background: rgba(0, 177, 116, 0.06);
}

.license-row[data-state="required"] {
  border-color: #e1bd6f;
  background: #fffaf0;
}

.license-row[data-state="required"] strong {
  color: #7a5400;
}

.license-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 8px 0 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.license-form[hidden] {
  display: none;
}

.license-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.license-field span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.license-field input {
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--card);
  color: var(--navy-950);
  font-size: 11px;
}

.license-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
  grid-column: 1 / -1;
}

.license-remove-button {
  margin-left: auto;
  border-color: #bf4a42;
  color: #a93232;
}

html[data-theme="dark"] .license-row[data-state="required"] {
  border-color: rgba(225, 189, 111, 0.45);
  background: rgba(225, 189, 111, 0.12);
}

html[data-theme="dark"] .license-row[data-state="required"] strong {
  color: #f0c98a;
}

.settings-section-icon--trash {
  color: #a93232;
  background: rgba(207, 69, 69, 0.12);
}

.deleted-records-settings-row .settings-file-button {
  border-color: #bf4a42;
  background: #bf4a42;
}

.deleted-records-settings-row .settings-file-button:hover,
.deleted-records-settings-row .settings-file-button:focus-visible {
  border-color: #97342f;
  background: #97342f;
}

.settings-fields-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 14px;
}

.settings-field,
.settings-label {
  display: block;
}

.settings-label {
  margin-bottom: 7px;
  color: var(--navy-700);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.settings-field > input {
  width: 100%;
  height: 40px;
  border: 1px solid var(--line);
  outline: 0;
  border-radius: 10px;
  padding: 0 12px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-size: 11px;
  font-weight: 600;
}

.settings-field > input:focus {
  border-color: #00b174;
  box-shadow: 0 0 0 3px rgba(0, 177, 116, 0.1);
}

.calculator-account-card {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--canvas);
}

.calculator-account-card + .calculator-account-card {
  margin-top: 12px;
}

.calculator-account-heading,
.calculator-account-actions,
.quote-insurers-heading,
.quote-results-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.calculator-account-heading {
  margin-bottom: 13px;
}

.calculator-account-heading > span:not(.calculator-account-logo),
.calculator-account-heading strong,
.calculator-account-heading small,
.quote-insurers-heading > span,
.quote-insurers-heading strong,
.quote-insurers-heading small,
.quote-results-heading > span,
.quote-results-heading strong,
.quote-results-heading small {
  display: block;
}

.quote-print-offer-button {
  min-height: 34px;
  flex: 0 0 auto;
  padding: 0 12px;
  border: 1px solid #00a76f;
  border-radius: 9px;
  color: #fff;
  background: #00a76f;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 5px 14px rgba(0, 167, 111, 0.18);
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.quote-print-offer-button:hover,
.quote-print-offer-button:focus-visible {
  border-color: #008e5e;
  background: #008e5e;
  outline: 0;
  transform: translateY(-1px);
}

.calculator-account-heading > span:not(.calculator-account-logo) {
  min-width: 0;
  flex: 1;
}

.calculator-account-heading strong {
  color: var(--navy-950);
  font-size: 12px;
  font-weight: 850;
}

.calculator-account-heading small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.4;
}

.calculator-account-logo,
.quote-insurer-mark {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 10px;
  color: #fff;
  background: #e1262f;
  font-size: 14px;
  font-weight: 900;
}

.calculator-account-logo--generali,
.quote-insurer-mark--generali {
  background: #b5121b;
}

.calculator-account-logo--mtu,
.quote-insurer-mark--mtu {
  background: #006f45;
}

.calculator-account-logo--hestia {
  background: #1d1d6b;
  font-size: 12px;
}

.calculator-account-logo--trasti,
.quote-insurer-mark--trasti {
  background: #296ec6;
}

.calculator-account-logo--wiener,
.quote-insurer-mark--wiener {
  background: #7a2f88;
}

.calculator-account-logo--compensa,
.quote-insurer-mark--compensa {
  background: #2e8b3d;
}

.calculator-account-logo--allianz,
.quote-insurer-mark--allianz {
  background: #003781;
}

.calculator-account-logo--pzu,
.quote-insurer-mark--pzu {
  background: #003da5;
}

.calculator-account-logo--insly {
  background: #e30613;
}

.calculator-account-fields,
.quote-calculator-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.password-setting-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.password-setting-control input {
  min-width: 0;
  height: 40px;
  border: 1px solid var(--line);
  border-right: 0;
  outline: 0;
  border-radius: 10px 0 0 10px;
  padding: 0 12px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-size: 11px;
  font-weight: 600;
}

.password-setting-control input:focus {
  border-color: #00b174;
  box-shadow: 0 0 0 3px rgba(0, 177, 116, 0.1);
}

.password-setting-control input[data-saved-password-mask="true"] {
  color: #087450;
  letter-spacing: 0.12em;
}

.password-setting-control button {
  min-width: 58px;
  border: 1px solid var(--line);
  border-radius: 0 10px 10px 0;
  color: var(--navy-700);
  background: var(--surface);
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
}

.password-setting-control button:hover,
.password-setting-control button:focus-visible {
  border-color: #00b174;
  color: #007a45;
  outline: 0;
}

.password-setting-control button:disabled {
  color: #087450;
  background: #eafaf4;
  cursor: default;
}

.calculator-account-actions {
  align-items: flex-start;
  margin-top: 12px;
}

.calculator-account-actions > span {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.5;
}

.calculator-account-actions .settings-secondary-button {
  min-width: max-content;
  flex: 0 0 auto;
}

.calculator-account-buttons {
  display: flex;
  flex: 0 0 auto;
  gap: 7px;
}

.calculator-account-advanced {
  margin-top: 12px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.calculator-account-advanced summary {
  width: fit-content;
  color: var(--navy-700);
  cursor: pointer;
  font-size: 9px;
  font-weight: 850;
  list-style-position: inside;
}

.calculator-account-advanced[open] summary {
  color: #007a45;
}

.settings-secondary-button--danger {
  border-color: #e6a4a4;
  color: #9f2525;
  background: #fff7f7;
}

.settings-secondary-button--danger:hover,
.settings-secondary-button--danger:focus-visible {
  border-color: #c55252;
  color: #811818;
  background: #fff0f0;
}

.calculator-install-link {
  text-decoration: none;
}

.calculator-security-notice strong {
  color: inherit;
}

.quote-calculator-dialog {
  width: min(700px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 30px 95px rgba(15, 28, 45, 0.38);
  overflow: hidden;
}

.quote-calculator-dialog::backdrop {
  background: rgba(12, 22, 35, 0.66);
  backdrop-filter: blur(4px);
}

.quote-calculator-panel {
  display: flex;
  max-height: calc(100vh - 32px);
  flex-direction: column;
  background: var(--surface);
}

.quote-calculator-content {
  display: grid;
  min-height: 0;
  gap: 16px;
  padding: 20px 24px;
  overflow-y: auto;
}

.quote-calculator-main {
  display: grid;
  min-width: 0;
  gap: 16px;
  align-content: start;
}


.quote-calculator-content--with-info {
  grid-template-columns: minmax(300px, 376px) minmax(0, 1fr);
  align-items: start;
}

.quote-calculator-content--with-results {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 356px);
  align-items: start;
}

.quote-calculator-content--with-info.quote-calculator-content--with-results {
  grid-template-columns: minmax(280px, 344px) minmax(0, 1fr) minmax(292px, 344px);
}

.quote-calculator-dialog--with-results {
  width: min(1010px, calc(100vw - 32px));
}


.quote-calculator-dialog--with-info {
  width: min(1090px, calc(100vw - 32px));
}

.quote-calculator-dialog--with-info.quote-calculator-dialog--with-results {
  width: min(1420px, calc(100vw - 32px));
}

.quote-results.quote-results-column {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-height: calc(100vh - 190px);
  padding: 16px;
  border: 1px solid #8ed8be;
  border-radius: 14px;
  background: rgba(234, 250, 244, 0.5);
}


.quote-results-column .quote-results-heading {
  flex: none;
}

.quote-results-column .quote-results-list {
  min-height: 0;
  overflow-y: auto;
  
  padding-top: 2px;
  padding-right: 2px;
}

.quote-client-info {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: calc(100vh - 190px);
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2, rgba(15, 28, 45, 0.04));
}

.quote-client-info-heading,
.quote-client-info-note,
.quote-client-info-hint {
  flex: none;
}

.quote-client-info-list {
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
}

.quote-client-info-heading {
  display: grid;
  gap: 2px;
}

.quote-client-info-heading strong {
  font-size: 14px;
  font-weight: 850;
}

.quote-client-info-heading small {
  color: var(--muted);
  font-size: 11px;
}


.quote-client-info-actions {
  display: flex;
  flex: none;
  gap: 8px;
}

.quote-client-info-actions[hidden] {
  display: none;
}

.quote-client-info-action {
  flex: 1 1 auto;
  min-height: 30px;
  font-size: 10.5px;
}

.quote-client-info-list {
  display: grid;
  gap: 8px;
  margin: 0;
}

.quote-client-info-item {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.quote-client-info-item dt {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.quote-client-info-item dd {
  margin: 0;
}

.quote-client-info-value {
  width: 100%;
  padding: 0;
  border: 0;
  color: var(--navy-950);
  font: inherit;
  font-size: 13.5px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  background: transparent;
  cursor: copy;
  overflow-wrap: anywhere;
}

.quote-client-info-text,
.quote-client-info-email {
  display: block;
  color: var(--navy-950);
  font-size: 13.5px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.quote-client-info-email {
  color: var(--accent, #135ad1);
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 2px;
}

.quote-client-info-email:hover,
.quote-client-info-email:focus-visible {
  color: #00a46c;
  outline: 0;
}

.quote-client-info-value:hover,
.quote-client-info-value:focus-visible {
  color: var(--accent, #135ad1);
}

.quote-client-info-hint {
  color: var(--muted);
  font-size: 10.5px;
}

.quote-client-info-note {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #e3c489;
  border-radius: 10px;
  color: #7a4f10;
  background: #fdf4e3;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}


.quote-client-info-note--conflict {
  border-color: #e6a4a4;
  color: #9f2525;
  background: #fff0f0;
}

html[data-theme="dark"] .quote-client-info-note--conflict {
  border-color: #824b48;
  color: #ffb1aa;
  background: #422725;
}

.quote-client-info-note[hidden] {
  display: none;
}


.quote-client-card-offer {
  display: grid;
  flex: none;
  gap: 10px;
  padding: 12px;
  border: 1px solid #8ed8be;
  border-radius: 12px;
  background: #eafaf4;
}

.quote-client-card-offer[hidden] {
  display: none;
}

.quote-client-card-offer-summary {
  margin: 0;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.45;
}

.quote-client-card-offer-add {
  min-height: 32px;
  font-size: 11.5px;
}

html[data-theme="dark"] .quote-client-card-offer {
  border-color: #3c8068;
  background: #1a2321;
}

@media (max-width: 1180px) {
  .quote-calculator-content--with-info.quote-calculator-content--with-results {
    grid-template-columns: minmax(224px, 264px) minmax(0, 1fr) minmax(244px, 280px);
  }
}

@media (max-width: 980px) {
  
  .quote-calculator-content--with-info.quote-calculator-content--with-results {
    grid-template-columns: minmax(192px, 224px) minmax(0, 1fr);
  }

  .quote-calculator-content--with-info.quote-calculator-content--with-results .quote-results-column {
    position: static;
    grid-column: 2;
  }
}

@media (max-width: 860px) {
  .quote-calculator-content--with-info,
  .quote-calculator-content--with-results,
  .quote-calculator-content--with-info.quote-calculator-content--with-results {
    grid-template-columns: minmax(0, 1fr);
  }

  .quote-calculator-content--with-info.quote-calculator-content--with-results .quote-results-column {
    grid-column: 1;
  }

  .quote-results.quote-results-column,
  .quote-client-info {
    position: static;
    max-height: none;
  }

  .quote-results-column .quote-results-list,
  .quote-client-info-list {
    overflow-y: visible;
  }

  .quote-calculator-dialog--with-info,
  .quote-calculator-dialog--with-results,
  .quote-calculator-dialog--with-info.quote-calculator-dialog--with-results {
    width: min(700px, calc(100vw - 32px));
  }
}

.quote-calculator-content .settings-field > input {
  width: 100%;
  height: 44px;
}

.quote-calculator-error {
  margin: -5px 0 0;
  padding: 9px 11px;
  border: 1px solid #e6a4a4;
  border-radius: 9px;
  color: #9f2525;
  background: #fff0f0;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.4;
}

.quote-calculator-error[hidden],
.quote-progress[hidden],
.quote-results[hidden],
.quote-archive[hidden],
.quote-client-info[hidden] {
  display: none;
}

.quote-insurers,
.quote-results,
.quote-archive {
  display: grid;
  gap: 10px;
}

.quote-archive-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-height: 190px;
  overflow-y: auto;
  
  padding-top: 2px;
  padding-right: 2px;
}

.quote-archive-item {
  flex: 0 1 auto;
  display: grid;
  gap: 2px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--canvas);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}

.quote-archive-item:hover {
  border-color: #45b98c;
  background: #eafaf4;
  transform: translateY(-1px);
}

.quote-archive-item:focus-visible {
  outline: 2px solid #0f8f63;
  outline-offset: 2px;
}

.quote-archive-item[data-active="true"] {
  border-color: rgba(0, 177, 116, 0.65);
  background: #eafaf4;
  box-shadow: 0 0 0 3px rgba(0, 177, 116, 0.08);
}

.quote-archive-item strong {
  color: var(--navy-950);
  font-size: 11px;
  font-weight: 850;
}

.quote-archive-item small {
  color: var(--muted);
  font-size: 8.5px;
  line-height: 1.35;
}


.quote-archive-group {
  display: contents;
}

.quote-archive-group[data-expanded="true"] {
  display: flex;
  flex-basis: 100%;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  padding: 8px;
  border: 1px dashed rgba(0, 177, 116, 0.45);
  border-radius: 12px;
  background: rgba(0, 177, 116, 0.05);
}

.quote-archive-item--sub {
  padding: 7px 10px;
  border-style: dashed;
}

.quote-archive-item .quote-archive-more {
  color: #0f8f63;
  font-weight: 800;
}


.quote-archive-entry {
  position: relative;
  display: flex;
  flex: 0 1 auto;
}

.quote-archive-group[data-expanded="true"] .quote-archive-entry {
  align-items: stretch;
}

.quote-archive-entry > .quote-archive-item {
  flex: 1 1 auto;
  padding-right: 24px;
}

.quote-archive-delete {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.quote-archive-delete:hover {
  background: rgba(194, 47, 63, 0.12);
  color: #c22f3f;
}

.quote-archive-delete:focus-visible {
  outline: 2px solid #c22f3f;
  outline-offset: 1px;
}

.quote-insurers-heading strong,
.quote-results-heading strong {
  color: var(--navy-950);
  font-size: 12px;
  font-weight: 850;
}

.quote-insurers-heading small,
.quote-results-heading small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.4;
}

.quote-bridge-badge {
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid #e1bd6f;
  border-radius: 999px;
  color: #7a5400;
  background: #fff7df;
  font-size: 8px;
  font-weight: 850;
}

.quote-bridge-badge[data-state="ready"] {
  border-color: #8ed8be;
  color: #087450;
  background: #eafaf4;
}

.quote-bridge-badge[data-state="missing"],
.quote-bridge-badge[data-state="error"] {
  border-color: #e6a4a4;
  color: #9f2525;
  background: #fff0f0;
}

.quote-insurer-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--canvas);
}

.quote-insurer-card:has(input:checked) {
  border-color: rgba(0, 177, 116, 0.65);
  box-shadow: 0 0 0 3px rgba(0, 177, 116, 0.08);
}

.quote-insurer-card input {
  width: 17px;
  height: 17px;
  accent-color: #00a76f;
}

.quote-insurer-choice {
  display: grid;
  min-width: 0;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  cursor: pointer;
}

.quote-insurer-copy,
.quote-insurer-card strong,
.quote-insurer-card small {
  display: block;
}

.quote-insurer-card strong {
  color: var(--navy-950);
  font-size: 11px;
  font-weight: 850;
}

.quote-insurer-card small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}

.quote-insurer-card .quote-insurer-detail {
  max-width: 470px;
  opacity: 0.82;
}

.quote-insurers-empty {
  margin: 0;
  padding: 12px 14px;
  border: 1px dashed var(--line);
  border-radius: 10px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.quote-insurer-card[data-state="queued"],
.quote-insurer-card[data-state="running"] {
  border-color: #9eb9e7;
  background: #f5f8ff;
}

.quote-insurer-card[data-state="action"] {
  border-color: #e1bd6f;
  background: #fffaf0;
}

.quote-insurer-card[data-state="manual"],
.quote-insurer-card[data-state="error"] {
  border-color: #e6a4a4;
  background: #fff7f7;
}

.quote-insurer-card[data-state="completed"],
.quote-insurer-card[data-state="manual-ready"] {
  border-color: #8ed8be;
  background: #f1fbf7;
}

.quote-insurer-card[data-state="queued"] .quote-insurer-copy > small:first-of-type,
.quote-insurer-card[data-state="running"] .quote-insurer-copy > small:first-of-type {
  color: #244d87;
}

.quote-insurer-card[data-state="action"] .quote-insurer-copy > small:first-of-type {
  color: #7a5400;
}

.quote-insurer-card[data-state="manual"] .quote-insurer-copy > small:first-of-type,
.quote-insurer-card[data-state="error"] .quote-insurer-copy > small:first-of-type {
  color: #9f2525;
}

.quote-insurer-card[data-state="completed"] .quote-insurer-copy > small:first-of-type,
.quote-insurer-card[data-state="manual-ready"] .quote-insurer-copy > small:first-of-type {
  color: #087450;
}

.quote-insurer-card[data-state="queued"] .quote-insurer-copy > small:first-of-type::before,
.quote-insurer-card[data-state="running"] .quote-insurer-copy > small:first-of-type::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border: 2px solid rgba(36, 77, 135, 0.25);
  border-top-color: #244d87;
  border-radius: 50%;
  vertical-align: -1px;
  animation: quote-progress-spin 900ms linear infinite;
  content: "";
}

.quote-manual-repair {
  min-width: max-content;
  padding: 8px 11px;
  border: 1px solid #c55252;
  border-radius: 9px;
  color: #8d2020;
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
}

.quote-manual-repair:hover,
.quote-manual-repair:focus-visible {
  border-color: #9f2525;
  background: #fff0f0;
  outline: 0;
}

.quote-manual-repair:disabled {
  cursor: wait;
  opacity: 0.6;
}

.quote-progress {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid #9eb9e7;
  border-radius: 12px;
  color: #244d87;
  background: #eef5ff;
}

.quote-progress[data-state="action"] {
  border-color: #e1bd6f;
  color: #7a5400;
  background: #fff7df;
}

.quote-progress[data-state="error"] {
  border-color: #e6a4a4;
  color: #9f2525;
  background: #fff0f0;
}

.quote-progress-spinner {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 3px solid rgba(36, 77, 135, 0.2);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: quote-progress-spin 900ms linear infinite;
}

.quote-progress[data-state="action"] .quote-progress-spinner,
.quote-progress[data-state="error"] .quote-progress-spinner {
  border: 0;
  animation: none;
}

.quote-progress[data-state="action"] .quote-progress-spinner::before,
.quote-progress[data-state="error"] .quote-progress-spinner::before {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  content: "!";
  font-size: 12px;
  font-weight: 900;
}

.quote-progress > span:last-child,
.quote-progress strong,
.quote-progress small {
  display: block;
}

.quote-progress strong {
  font-size: 10px;
  font-weight: 850;
}

.quote-progress small {
  margin-top: 3px;
  color: inherit;
  font-size: 9px;
  line-height: 1.4;
  opacity: 0.85;
}

.quote-results-list {
  display: grid;
  gap: 8px;
}

.quote-result-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border: 1px solid #8ed8be;
  border-radius: 12px;
  background: #eafaf4;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}

.quote-result-card:hover {
  border-color: #45b98c;
  background: #ddf5ea;
  transform: translateY(-1px);
}

.quote-result-card:focus-visible {
  outline: 2px solid #0f8f63;
  outline-offset: 2px;
}

.quote-result-card > span,
.quote-result-card strong,
.quote-result-card small {
  display: block;
}

.quote-result-card strong {
  color: #087450;
  font-size: 11px;
  font-weight: 850;
}

.quote-result-card small {
  margin-top: 2px;
  color: #367766;
  font-size: 9px;
}

.quote-result-price {
  color: #087450;
  font-size: 16px;
  font-weight: 900;
  white-space: nowrap;
}

.quote-result-total {
  text-align: right;
}

.quote-result-total small {
  margin: 0 0 2px;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.quote-result-breakdown {
  display: grid;
  grid-column: 2 / -1;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 6px;
  margin: 2px 0 0;
}

.quote-result-breakdown > div {
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid rgba(8, 116, 80, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.58);
}

.quote-result-breakdown dt,
.quote-result-breakdown dd {
  margin: 0;
}

.quote-result-breakdown dt {
  color: #367766;
  font-size: 7px;
  font-weight: 750;
}

.quote-result-breakdown dd {
  margin-top: 2px;
  color: #087450;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.quote-result-breakdown dd small {
  display: block;
  margin-top: 1px;
  color: #367766;
  font-size: 8px;
  font-weight: 650;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}


.quote-result-chevron {
  width: 8px;
  height: 8px;
  margin-top: -3px;
  border-right: 2px solid #0f8f63;
  border-bottom: 2px solid #0f8f63;
  transform: rotate(45deg);
  transition: transform 0.15s ease;
  justify-self: end;
}

.quote-result-card--expanded .quote-result-chevron {
  margin-top: 3px;
  transform: rotate(-135deg);
}

.quote-result-variants {
  display: none;
  grid-column: 1 / -1;
  gap: 8px;
  margin-top: 2px;
}

.quote-result-card--expanded .quote-result-variants {
  display: grid;
}

.quote-result-variant {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 11px;
  padding: 9px 11px;
  border: 1px solid rgba(8, 116, 80, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.58);
  cursor: default;
}

.quote-result-variant > span {
  display: block;
  min-width: 0;
}

.quote-result-variant .quote-result-breakdown {
  grid-column: 1 / -1;
  margin-top: 4px;
}

.quote-result-variant .quote-result-price {
  font-size: 13px;
}

.quote-result-open {
  justify-self: start;
  padding: 7px 12px;
  border: 1px solid #45b98c;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.85);
  color: #087450;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.quote-result-open:hover {
  border-color: #0f8f63;
  background: #ffffff;
}

.quote-result-open:focus-visible {
  outline: 2px solid #0f8f63;
  outline-offset: 2px;
}

.quote-calculator-footer .settings-save-button:disabled {
  border-color: #cbd5df;
  color: #8793a1;
  background: #e8edf2;
  cursor: not-allowed;
}

.quote-manual-start-button {
  border-color: #6878cb;
  color: #4655a0;
  background: #f3f5ff;
}

.quote-manual-start-button:hover,
.quote-manual-start-button:focus-visible {
  border-color: #4d5db2;
  color: #fff;
  outline: 0;
  background: #4d5db2;
}

.quote-manual-start-button:disabled {
  border-color: #cbd5df;
  color: #8793a1;
  background: #e8edf2;
  cursor: not-allowed;
}

@keyframes quote-progress-spin {
  to { transform: rotate(360deg); }
}

.insurer-add-form,
.insurer-settings-item {
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) minmax(220px, 1.2fr) auto;
  align-items: end;
  gap: 10px;
}

.insurer-add-form {
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--canvas);
}

.insurer-add-form label,
.insurer-settings-item label {
  display: block;
  min-width: 0;
}

.insurer-add-form label > span,
.insurer-settings-item label > span {
  display: block;
  margin: 0 0 6px 2px;
  color: var(--navy-700);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.insurer-add-form input,
.insurer-settings-item input {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: 0;
  padding: 0 11px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-size: 10px;
  font-weight: 650;
}

.insurer-add-form input:focus,
.insurer-settings-item input:focus {
  border-color: #00b174;
  box-shadow: 0 0 0 3px rgba(0, 177, 116, 0.1);
}

.insurer-add-form .settings-file-button {
  min-height: 38px;
  white-space: nowrap;
}

.insurer-settings-error {
  margin: 9px 2px 0;
  color: #bd3f38;
  font-size: 9px;
  font-weight: 750;
}

.insurer-settings-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.insurer-settings-item {
  align-items: center;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
}

.insurer-settings-actions {
  display: flex;
  align-self: end;
  align-items: center;
  gap: 6px;
}

.insurer-settings-order {
  display: grid;
  gap: 2px;
}

.insurer-settings-order button {
  display: grid;
  width: 30px;
  height: 17px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 0 1px;
  color: var(--navy-700);
  background: var(--canvas);
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.insurer-settings-order button:hover:not(:disabled),
.insurer-settings-order button:focus-visible {
  border-color: #00a76f;
  color: #007a50;
  outline: 0;
  background: #eaf8f3;
}

.insurer-settings-order button:disabled {
  cursor: default;
  opacity: 0.32;
}

.insurer-settings-remove {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  align-self: end;
  border: 1px solid rgba(190, 66, 57, 0.35);
  border-radius: 9px;
  color: #b63f37;
  background: rgba(207, 69, 69, 0.08);
  font: inherit;
  font-size: 18px;
  cursor: pointer;
}

.insurer-settings-remove:hover,
.insurer-settings-remove:focus-visible {
  border-color: #b63f37;
  color: #fff;
  background: #b63f37;
  outline: 0;
}

.insurer-settings-popup {
  position: absolute;
  right: 18px;
  bottom: 72px;
  z-index: 5;
  display: flex;
  max-width: calc(100% - 36px);
  align-items: center;
  gap: 9px;
  padding: 11px 14px;
  border: 1px solid #b8dfd1;
  border-radius: 10px;
  color: #155f48;
  background: #f5fffb;
  box-shadow: 0 12px 34px rgba(20, 72, 55, 0.2);
  font-size: 10px;
  font-weight: 800;
  opacity: 0;
  pointer-events: none;
  transform: translateY(9px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.insurer-settings-popup[hidden] {
  display: none;
}

.insurer-settings-popup--visible {
  opacity: 1;
  transform: translateY(0);
}

.insurer-settings-popup__icon {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #28a778;
  font-size: 12px;
}

.insurer-settings-popup[data-type="removed"] {
  border-color: #efc4c4;
  color: #8a3030;
  background: #fff8f8;
}

.insurer-settings-popup[data-type="removed"] .insurer-settings-popup__icon {
  background: #c64a4a;
}

.insurer-settings-empty {
  margin: 12px 0 0;
  padding: 14px;
  border: 1px dashed var(--line);
  border-radius: 11px;
  color: var(--muted);
  background: var(--canvas);
  font-size: 9px;
  font-weight: 650;
  text-align: center;
}

.merge-files-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.merge-file-field {
  display: block;
  min-width: 0;
}

.merge-file-field > span {
  display: block;
  margin: 0 0 7px 2px;
  color: var(--navy-700);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.merge-file-field input {
  width: 100%;
  min-width: 0;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 4px;
  color: var(--muted);
  background: var(--surface);
  font: inherit;
  font-size: 9px;
  font-weight: 650;
}

.merge-file-field input::file-selector-button {
  height: 30px;
  margin-right: 8px;
  border: 0;
  border-radius: 7px;
  padding: 0 10px;
  color: #007a45;
  background: rgba(0, 177, 116, 0.12);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.merge-databases-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
}

.merge-databases-actions small {
  max-width: 470px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 550;
  line-height: 1.5;
}

.merge-databases-actions .settings-file-button {
  flex: 0 0 auto;
}

.merge-databases-actions .settings-file-button:disabled {
  border-color: var(--line);
  color: var(--muted);
  background: var(--canvas);
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.65;
}

.settings-checkbox-list {
  display: grid;
  gap: 8px;
}

.settings-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--canvas);
  cursor: pointer;
}

.settings-checkbox-row input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin: 1px 0 0;
  accent-color: #00b174;
}

.settings-checkbox-row strong,
.settings-checkbox-row small {
  display: block;
}

.settings-checkbox-row strong {
  color: var(--navy-950);
  font-size: 11px;
  font-weight: 800;
}

.settings-checkbox-row small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.5;
}

.theme-choice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--canvas);
}

.font-size-choice {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.theme-choice button {
  min-height: 32px;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.theme-choice button[aria-pressed="true"] {
  color: #fff;
  background: #00b174;
  box-shadow: 0 5px 14px rgba(0, 177, 116, 0.2);
}

html[data-font-size="medium"] .cell::before {
  font-size: 10px;
}

html[data-font-size="large"] .cell::before {
  font-size: 12px;
}

.logo-setting-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.logo-preview-frame {
  display: grid;
  width: 190px;
  min-height: 78px;
  flex: 0 0 auto;
  place-items: center;
  padding: 8px 14px;
  border-radius: 12px;
  background: #2b2f33;
}

.logo-preview-frame img {
  display: block;
  max-width: 100%;
  max-height: 65px;
  object-fit: contain;
}

.logo-setting-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.logo-setting-controls {
  display: grid;
  min-width: 0;
  flex: 1 1 320px;
  gap: 12px;
}

.settings-logo-message {
  width: 100%;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #e6a4a4;
  border-radius: 9px;
  color: #9f2525;
  background: #fff0f0;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.4;
}

.settings-logo-message[hidden] {
  display: none;
}

.settings-logo-message[data-type="success"] {
  border-color: #8ed8be;
  color: #087450;
  background: #eafaf4;
}

.settings-file-button,
.settings-secondary-button,
.settings-save-button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 9px;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.settings-file-button,
.settings-save-button {
  border: 1px solid #00b174;
  color: #fff;
  background: #00b174;
}

.settings-file-button:hover,
.settings-file-button:focus-visible,
.settings-save-button:hover,
.settings-save-button:focus-visible {
  border-color: #007a45;
  outline: 0;
  background: #007a45;
}

.settings-secondary-button {
  border: 1px solid var(--line);
  color: var(--navy-700);
  background: var(--surface);
}

.settings-secondary-button:hover,
.settings-secondary-button:focus-visible {
  border-color: #00b174;
  color: #007a45;
  outline: 0;
}

.settings-footer {
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 8px;
  padding: 15px 24px;
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.entry-organizer-dialog {
  width: min(920px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 30px 95px rgba(15, 28, 45, 0.38);
  overflow: hidden;
}

.deleted-records-dialog {
  width: min(900px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 30px 95px rgba(15, 28, 45, 0.38);
  overflow: hidden;
}

.deleted-records-dialog::backdrop {
  background: rgba(12, 22, 35, 0.72);
  backdrop-filter: blur(4px);
}

.deleted-records-panel {
  display: flex;
  max-height: calc(100vh - 32px);
  flex-direction: column;
  background: var(--surface);
}

.deleted-records-header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 21px 24px;
  border-bottom: 1px solid var(--line);
}

.deleted-records-header p,
.deleted-records-header h2 {
  margin: 0;
}

.deleted-records-header p {
  margin-bottom: 3px;
  color: #bf4a42;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.deleted-records-header h2 {
  color: var(--navy-950);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.deleted-records-toolbar {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 24px;
  border-bottom: 1px solid var(--line);
  background: var(--canvas);
}

.deleted-records-toolbar span,
.deleted-records-toolbar strong,
.deleted-records-toolbar small {
  display: block;
}

.deleted-records-toolbar strong {
  color: var(--navy-950);
  font-size: 11px;
  font-weight: 850;
}

.deleted-records-toolbar small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 550;
}

.deleted-records-delete-all {
  min-height: 34px;
  flex: 0 0 auto;
  border: 1px solid #bf4a42;
  border-radius: 9px;
  padding: 0 12px;
  color: #fff;
  background: #bf4a42;
  cursor: pointer;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
}

.deleted-records-delete-all:hover,
.deleted-records-delete-all:focus-visible {
  border-color: #97342f;
  outline: 0;
  background: #97342f;
}

.deleted-records-delete-all:disabled {
  border-color: var(--line);
  color: var(--muted);
  background: var(--surface);
  cursor: not-allowed;
  opacity: 0.66;
}

.deleted-records-list {
  min-height: 0;
  flex: 1 1 auto;
  padding: 14px 24px;
  overflow-y: auto;
}

.deleted-records-list[hidden],
.deleted-records-empty[hidden] {
  display: none;
}

.deleted-record-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(145px, 0.65fr) auto;
  align-items: center;
  gap: 18px;
  padding: 14px 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.deleted-record-card + .deleted-record-card {
  margin-top: 9px;
}

.deleted-record-main,
.deleted-record-meta {
  min-width: 0;
}

.deleted-record-main span,
.deleted-record-main strong,
.deleted-record-main small,
.deleted-record-meta span,
.deleted-record-meta small {
  display: block;
}

.deleted-record-name {
  color: var(--navy-950);
  font-size: 12px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.deleted-record-main strong {
  margin-top: 4px;
  color: #506178;
  font-size: 10px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.deleted-record-main small,
.deleted-record-meta small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 550;
  line-height: 1.4;
}

.deleted-record-expiry {
  color: #7e4e18;
  font-size: 9px;
  font-weight: 650;
}

.deleted-record-expiry strong {
  display: inline;
  font-weight: 850;
}

.deleted-record-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.deleted-record-actions button {
  min-height: 32px;
  border: 1px solid #00a76f;
  border-radius: 8px;
  padding: 0 10px;
  color: #007a50;
  background: #effaf6;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
}

.deleted-record-actions button:hover,
.deleted-record-actions button:focus-visible {
  color: #fff;
  outline: 0;
  background: #007a50;
}

.deleted-record-actions .deleted-record-delete {
  border-color: #d9827b;
  color: #a93232;
  background: #fff4f3;
}

.deleted-record-actions .deleted-record-delete:hover,
.deleted-record-actions .deleted-record-delete:focus-visible {
  color: #fff;
  background: #a93232;
}

.deleted-records-empty {
  display: grid;
  min-height: 260px;
  flex: 1 1 auto;
  place-items: center;
  align-content: center;
  gap: 7px;
  padding: 36px;
  color: var(--muted);
  text-align: center;
}

.deleted-records-empty > span {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  color: #007a50;
  background: rgba(0, 177, 116, 0.12);
  font-size: 20px;
  font-weight: 850;
}

.deleted-records-empty strong {
  color: var(--navy-950);
  font-size: 15px;
  font-weight: 850;
}

.deleted-records-empty small {
  font-size: 10px;
  font-weight: 550;
}

.deleted-records-footer {
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-end;
  padding: 14px 24px;
  border-top: 1px solid var(--line);
}

.entry-organizer-dialog::backdrop {
  background: rgba(12, 22, 35, 0.72);
  backdrop-filter: blur(5px);
}

.entry-organizer-panel {
  display: flex;
  max-height: calc(100vh - 32px);
  flex-direction: column;
  background: var(--surface);
}

.entry-organizer-header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--line);
}

.entry-organizer-header p,
.entry-organizer-header h2,
.entry-organizer-copy,
.entry-organizer-card h3 {
  margin: 0;
}

.entry-organizer-header p {
  margin-bottom: 3px;
  color: #00a46c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.entry-organizer-header h2 {
  color: var(--navy-950);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.entry-organizer-copy {
  padding: 14px 22px 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 550;
  line-height: 1.55;
}

.entry-organizer-comparison {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
  padding: 16px 22px 20px;
  overflow-y: auto;
}

.entry-organizer-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--canvas);
}

.entry-organizer-card--target {
  border-color: #bad0ee;
  background: #f5f9ff;
}

.entry-organizer-card--source {
  border-color: #9edbc6;
  background: #f2fbf7;
}

.entry-organizer-card-label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.entry-organizer-card h3 {
  color: var(--navy-950);
  font-size: 15px;
  font-weight: 850;
  line-height: 1.35;
}

.entry-organizer-arrow {
  display: grid;
  place-items: center;
  color: #00a46c;
  font-size: 24px;
  font-weight: 900;
}

.entry-organizer-record-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 12px;
  margin-top: 15px;
}

.entry-organizer-record-field span,
.entry-organizer-record-field strong {
  display: block;
}

.entry-organizer-record-field span {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.entry-organizer-record-field strong {
  overflow-wrap: anywhere;
  color: var(--navy-950);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.4;
}

.entry-organizer-pesel {
  margin: 2px 0 13px;
  padding: 11px 12px;
  border: 1px solid rgba(0, 164, 108, 0.28);
  border-radius: 11px;
  background: rgba(0, 177, 116, 0.1);
}


.merge-primary-options {
  display: grid;
  gap: 8px;
  margin: 14px 0 18px;
  text-align: left;
}

.merge-primary-option {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--canvas);
  text-align: left;
  cursor: pointer;
}

.merge-primary-option:hover,
.merge-primary-option:focus-visible {
  border-color: var(--blue-500);
  background: var(--blue-50);
  outline: 0;
}

.merge-primary-option strong {
  color: var(--navy-950);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.merge-primary-option small {
  color: var(--blue-600);
  font-size: 11px;
  font-weight: 750;
}

.merge-primary-option span {
  color: var(--muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}


.entry-organizer-group-list {
  display: grid;
  gap: 6px;
  margin: 14px 0 18px;
  text-align: left;
}

.entry-organizer-group-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--canvas);
  cursor: pointer;
}

.entry-organizer-group-row input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  accent-color: var(--blue-600);
  cursor: pointer;
}

.entry-organizer-group-row span {
  flex: 1;
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 650;
}

.entry-organizer-group-row b {
  flex: 0 0 auto;
  padding: 2px 9px;
  border-radius: 999px;
  color: var(--blue-600);
  background: var(--blue-100);
  font-size: 11px;
  font-weight: 800;
}

.entry-organizer-group-row--empty {
  opacity: 0.55;
  cursor: default;
}

.entry-organizer-group-row--empty input {
  cursor: default;
}

.entry-organizer-group-row--empty b {
  color: var(--muted);
  background: transparent;
  border: 1px solid var(--line);
  font-weight: 700;
}

.entry-organizer-pesel span,
.entry-organizer-pesel strong {
  display: block;
}

.entry-organizer-pesel span {
  color: #087450;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.entry-organizer-pesel strong {
  margin-top: 3px;
  color: #006b48;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.entry-organizer-source-records {
  display: grid;
  gap: 9px;
}

.entry-organizer-source-record {
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}

.entry-organizer-source-record strong,
.entry-organizer-source-record span {
  display: block;
}

.entry-organizer-source-record strong {
  color: var(--navy-950);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
}

.entry-organizer-source-record span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 550;
  line-height: 1.4;
}

.entry-organizer-manual[hidden],
#entryOrganizerMatchSource[hidden] {
  display: none;
}

.entry-organizer-manual p {
  margin: 2px 0 14px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 550;
  line-height: 1.55;
}

.entry-organizer-manual label,
.entry-organizer-manual label > span,
.entry-organizer-manual small {
  display: block;
}

.entry-organizer-manual label > span {
  margin-bottom: 6px;
  color: var(--navy-950);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.entry-organizer-manual input {
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #8bcfb8;
  border-radius: 10px;
  outline: 0;
  color: var(--navy-950);
  background: var(--surface);
  font: inherit;
  font-size: 17px;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.entry-organizer-manual input:focus {
  border-color: #00a46c;
  box-shadow: 0 0 0 3px rgba(0, 164, 108, 0.15);
}

.entry-organizer-manual input[aria-invalid="true"] {
  border-color: #d75a63;
  box-shadow: 0 0 0 3px rgba(215, 90, 99, 0.12);
}

.entry-organizer-manual small {
  margin-top: 7px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 600;
  line-height: 1.45;
}

.entry-organizer-manual .entry-organizer-manual-error {
  color: #b4343e;
  font-weight: 750;
}

.entry-organizer-footer {
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 9px;
  padding: 15px 22px;
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.entry-organizer-skip-all-button {
  margin-right: auto;
}

.entry-organizer-skip-all-button[hidden] {
  display: none;
}

.entry-organizer-footer button:disabled,
.entry-organizer-header button:disabled {
  cursor: wait;
  opacity: 0.65;
}

.merge-conflict-dialog {
  width: min(1040px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 30px 95px rgba(15, 28, 45, 0.38);
  overflow: hidden;
}

.merge-conflict-dialog::backdrop {
  background: rgba(12, 22, 35, 0.72);
  backdrop-filter: blur(5px);
}

.merge-conflict-panel {
  display: flex;
  max-height: calc(100vh - 32px);
  flex-direction: column;
  background: var(--surface);
}

.merge-conflict-header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--line);
}

.merge-conflict-header p,
.merge-conflict-header h2,
.merge-record-card h3,
.merge-conflict-copy {
  margin: 0;
}

.merge-conflict-header p {
  margin-bottom: 3px;
  color: #00a46c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.merge-conflict-header h2 {
  color: var(--navy-950);
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.merge-conflict-copy {
  padding: 12px 24px 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 550;
}

.merge-conflict-comparison {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 14px;
  padding: 16px 24px 24px;
  overflow-y: auto;
}

.merge-record-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--canvas);
}

.merge-record-card h3 {
  min-width: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  color: var(--navy-950);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.merge-record-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  padding: 13px 0 16px;
}

.merge-record-field {
  min-width: 0;
}

.merge-record-field span,
.merge-record-field strong {
  display: block;
}

.merge-record-field span {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.merge-record-field strong {
  color: var(--navy-950);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.merge-record-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: auto;
}

.merge-keep-both-action {
  display: flex;
  align-items: center;
  justify-content: center;
}

.merge-keep-both-button {
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid #00b174;
  border-radius: 9px;
  color: #007a45;
  background: var(--surface);
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
}

.merge-choice-button,
.merge-choice-all-button {
  min-height: 38px;
  border-radius: 9px;
  padding: 6px 9px;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.25;
  cursor: pointer;
}

.merge-choice-button {
  border: 1px solid #00b174;
  color: #fff;
  background: #00b174;
}

.merge-choice-all-button {
  border: 1px solid var(--line);
  color: var(--navy-700);
  background: var(--surface);
}

.merge-choice-button:hover,
.merge-choice-button:focus-visible {
  border-color: #007a45;
  outline: 0;
  background: #007a45;
}

.merge-choice-all-button:hover,
.merge-choice-all-button:focus-visible,
.merge-keep-both-button:hover,
.merge-keep-both-button:focus-visible {
  border-color: #00b174;
  color: #007a45;
  outline: 0;
  background: color-mix(in srgb, #00b174 10%, var(--surface));
}

.welcome-dialog {
  width: min(650px, calc(100vw - 32px));
  max-width: none;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 22px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 30px 95px rgba(15, 28, 45, 0.36);
  overflow: hidden;
}

.welcome-dialog::backdrop {
  background: rgba(12, 22, 35, 0.68);
  backdrop-filter: blur(5px);
}

.welcome-panel {
  padding: 34px 32px 30px;
  background: var(--surface);
  text-align: center;
}

.welcome-icon {
  display: grid;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  place-items: center;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(145deg, #00b174, #007a45);
  box-shadow: 0 12px 26px rgba(0, 177, 116, 0.24);
}

.welcome-icon svg {
  width: 30px;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.welcome-kicker,
.welcome-copy,
.welcome-panel h2 {
  margin: 0;
}

.welcome-kicker {
  color: #00a46c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.welcome-panel h2 {
  margin-top: 5px;
  color: var(--navy-950);
  font-size: 25px;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.welcome-copy {
  max-width: 480px;
  margin: 10px auto 18px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.welcome-file-setup {
  display: grid;
  gap: 10px;
  margin: 0 0 14px;
}

.welcome-file-card {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px 12px;
  background: var(--canvas);
  text-align: left;
  transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.welcome-file-card[data-ready="true"] {
  border-color: rgba(0, 177, 116, 0.48);
  background: rgba(0, 177, 116, 0.07);
  box-shadow: inset 3px 0 0 #00a76f;
}

.welcome-quick-card {
  border-color: rgba(0, 177, 116, 0.38);
  background: rgba(0, 177, 116, 0.045);
}

.welcome-quick-card .welcome-file-number {
  color: #fff;
  background: #00a76f;
}

.welcome-quick-separator {
  margin: 2px 0;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.attachments-info-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.attachments-info-actions #attachmentsInfoCancel {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 0 16px;
  color: var(--navy-700);
  background: var(--surface);
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.attachments-info-actions #attachmentsInfoCancel:hover,
.attachments-info-actions #attachmentsInfoCancel:focus-visible {
  border-color: #00b174;
  color: #007a45;
  outline: 0;
  background: var(--blue-50);
}

.welcome-file-number {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  color: #007a45;
  background: #e5f7f0;
  font-size: 11px;
  font-weight: 850;
}

.welcome-file-card[data-ready="true"] .welcome-file-number::before {
  content: "✓";
}

.welcome-file-card[data-ready="true"] .welcome-file-number {
  color: #fff;
  background: #00a76f;
  font-size: 0;
}

.welcome-file-card[data-ready="true"] .welcome-file-number::before {
  font-size: 12px;
}

.welcome-file-description {
  min-width: 0;
}

.welcome-file-description strong,
.welcome-file-description small {
  display: block;
}

.welcome-file-description strong {
  color: var(--navy-950);
  font-size: 11px;
  font-weight: 800;
}

.welcome-file-description small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.welcome-file-card[data-ready="true"] .welcome-file-description small {
  color: #007a45;
}

.welcome-file-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.welcome-file-actions button {
  min-height: 31px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 9px;
  color: var(--navy-700);
  background: var(--surface);
  font: inherit;
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
}

.welcome-file-actions button:hover,
.welcome-file-actions button:focus-visible {
  border-color: #00b174;
  color: #007a45;
  outline: 0;
  background: var(--blue-50);
}

.welcome-setup-hint {
  min-height: 18px;
  margin: 0 0 8px;
  color: #9a6a22;
  font-size: 9px;
  font-weight: 700;
}

.welcome-setup-hint[data-ready="true"] {
  color: #007a45;
}

.welcome-button {
  min-height: 42px;
  padding: 0 20px;
  border: 1px solid #00b174;
  border-radius: 11px;
  color: #fff;
  background: #00b174;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 9px 22px rgba(0, 177, 116, 0.2);
  transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.welcome-button:hover,
.welcome-button:focus-visible {
  border-color: #007a45;
  outline: 0;
  background: #007a45;
  transform: translateY(-1px);
}

.welcome-button:disabled,
.welcome-button:disabled:hover {
  border-color: #cbd5df;
  color: #8793a1;
  background: #e8edf2;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

.renewal-filter {
  display: inline-flex;
  height: 40px;
  align-items: center;
  gap: 8px;
  border: 1px solid #dbe4f0;
  border-radius: 10px;
  padding: 0 10px 0 12px;
  color: var(--navy-700);
  background: #fff;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.topbar .renewal-filter {
  height: 36px;
  border-radius: 11px;
}

.renewal-filter:hover,
.renewal-filter:focus-visible {
  border-color: #bfcfee;
  color: var(--blue-600);
  outline: 0;
}

.renewal-filter[aria-pressed="true"] {
  border-color: rgba(36, 107, 254, 0.78);
  color: var(--blue-600);
  background: var(--blue-100);
  box-shadow: 0 0 0 3px rgba(36, 107, 254, 0.16);
}

.renewal-filter svg {
  width: 17px;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.renewal-filter strong {
  display: grid;
  min-width: 21px;
  height: 21px;
  place-items: center;
  border-radius: 7px;
  color: var(--blue-600);
  background: var(--blue-100);
  font-size: 10px;
  font-weight: 850;
}

.renewal-filter[aria-pressed="true"] strong {
  color: #fff;
  background: var(--blue-600);
}

.table-scroll {
  overflow-x: hidden;
}

.policy-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.88fr) minmax(0, 0.72fr) minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(0, 0.86fr) minmax(0, 0.9fr) minmax(0, 0.62fr) minmax(0, 1.22fr) 36px;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

.policy-grid--labels {
  position: relative;
  min-height: 45px;
  padding: 0 20px;
  color: #7b879a;
  background: #fbfcfe;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.policy-grid--labels > [role="columnheader"] {
  text-align: center;
}

.renewal-column-label {
  display: none;
}

.policies-card--renewals .policy-grid--labels,
.policies-card--renewals .policy-row {
  grid-template-columns: 60px minmax(0, 1.45fr) minmax(0, 0.88fr) minmax(0, 0.72fr) minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(0, 0.86fr) minmax(0, 0.9fr) minmax(0, 0.62fr) minmax(0, 1.22fr) 36px;
  min-width: 0;
}

.policies-card--renewals .policy-grid--form {
  grid-template-columns: 60px minmax(0, 1.45fr) minmax(0, 0.88fr) minmax(0, 0.72fr) minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(0, 0.86fr) minmax(0, 0.9fr) minmax(0, 0.62fr) minmax(0, 1.22fr) 36px;
  min-width: 0;
}

.policies-card--renewals .policy-grid--form::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
}

.policies-card--renewals .renewal-column-label {
  display: inline;
}

.policies-card--renewals .contact-column-label {
  grid-column: 10 / 12;
}

.sort-button {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 0;
  outline: 0;
  padding: 6px 8px;
  margin-left: 0;
  border-radius: 7px;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  transition: color 150ms ease, background 150ms ease;
}

.sort-button:hover,
.sort-button:focus-visible,
.sort-button[aria-pressed="true"] {
  color: var(--blue-600);
  background: var(--blue-100);
}

.sort-button svg {
  width: 13px;
  opacity: 0.45;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: opacity 160ms ease, transform 160ms ease;
}

.sort-button[data-sort-direction="asc"] svg {
  opacity: 1;
  transform: translateY(1px) rotate(0deg);
}

.sort-button[data-sort-direction="desc"] svg {
  opacity: 1;
  transform: translateY(-1px) rotate(180deg);
}

.registration-sort-button {
  line-height: 1.25;
}

.registration-sort-button[aria-pressed="true"] {
  color: inherit;
  background: transparent;
}


.sort-button--cycle {
  flex-direction: column;
  gap: 3px;
  line-height: 1.25;
}

.sort-button--cycle[aria-pressed="true"] {
  color: inherit;
  background: transparent;
}

.sort-button--cycle:hover,
.sort-button--cycle:focus-visible {
  color: var(--blue-600);
  background: var(--blue-100);
}

.sort-button-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2px 4px;
}

.sort-cycle-value {
  color: #00a76f;
  font-weight: 900;
}

.sort-cycle-value[hidden] {
  display: none;
}

.registration-sort-divider {
  color: var(--line-strong);
}

.registration-sort-button[data-registration-sort-mode="registration"] [data-registration-sort-part="registration"],
.registration-sort-button[data-registration-sort-mode="policyType"] [data-registration-sort-part="policy-type"] {
  color: #00a76f;
  font-weight: 900;
}

.reset-sorting-button {
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 1;
  display: inline-flex;
  width: 52px;
  min-width: 0;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  padding: 3px 5px;
  border: 1px solid #b8decf;
  border-radius: 8px;
  color: #007a50;
  background: #effaf6;
  font: inherit;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.05;
  text-transform: none;
  cursor: pointer;
}

.reset-sorting-button:hover,
.reset-sorting-button:focus-visible {
  border-color: #00a76f;
  color: #006640;
  outline: 0;
  background: #dff5ec;
}

.reset-sorting-button:disabled {
  border-color: var(--line);
  color: var(--muted);
  background: transparent;
  cursor: default;
  opacity: 0.48;
}

.policy-grid--form {
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.88fr) minmax(0, 0.72fr) minmax(0, 0.8fr) minmax(0, 0.9fr) minmax(0, 0.86fr) minmax(0, 0.9fr) minmax(0, 0.62fr) minmax(0, 1.22fr) 36px;
  min-width: 0;
  padding: 17px 20px 10px;
  border-top: 1px solid #eef2f6;
  background: linear-gradient(90deg, rgba(245, 248, 255, 0.62), rgba(250, 252, 255, 0.95));
}

.policy-grid--form label {
  min-width: 0;
}

.contact-column-label,
.policy-grid--form > label:last-of-type {
  grid-column: 9 / 11;
}

.policies-card--renewals .policy-grid--form > label:last-of-type {
  grid-column: 10 / 12;
}

.form-date-field--hidden {
  visibility: hidden;
  pointer-events: none;
}

.policy-grid--form input,
.policy-grid--form textarea {
  display: block;
  width: 100%;
  height: 42px;
  border: 1px solid #dce3ed;
  outline: 0;
  border-radius: 9px;
  padding: 0 12px;
  color: var(--navy-950);
  background: #fff;
  font-size: 12px;
  font-weight: 600;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.policy-grid--form textarea {
  min-height: 42px;
  max-height: 150px;
  padding: 11px 12px;
  overflow: hidden;
  line-height: 1.45;
  overflow-wrap: anywhere;
  resize: none;
  white-space: pre-wrap;
}

.policy-grid--form input:focus,
.policy-grid--form textarea:focus {
  border-color: rgba(36, 107, 254, 0.6);
  box-shadow: 0 0 0 3px rgba(36, 107, 254, 0.08);
}

.policy-grid--form input::placeholder,
.policy-grid--form textarea::placeholder {
  color: #a5afbd;
  font-weight: 500;
}

.policy-grid--form input[type="date"] {
  color-scheme: light;
  color: #68778c;
}

@media (min-width: 801px) {
  html[data-font-size="large"] .policy-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.8fr) minmax(0, 0.92fr) minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1.02fr) minmax(0, 1.02fr) minmax(0, 0.58fr) minmax(0, 0.9fr) 36px;
  }

  html[data-font-size="large"] .policy-grid--form,
  html[data-font-size="large"] .policies-card--renewals .policy-grid--form {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.8fr) minmax(0, 0.92fr) minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1.02fr) minmax(0, 1.02fr) minmax(0, 0.58fr) minmax(0, 0.9fr) 36px;
  }

  html[data-font-size="large"] .policies-card--renewals .policy-grid--form {
    grid-template-columns: 60px minmax(0, 1.18fr) minmax(0, 0.8fr) minmax(0, 0.92fr) minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1.02fr) minmax(0, 1.02fr) minmax(0, 0.58fr) minmax(0, 0.9fr) 36px;
  }

  html[data-font-size="large"] .policies-card--renewals .policy-grid--labels,
  html[data-font-size="large"] .policies-card--renewals .policy-row {
    grid-template-columns: 60px minmax(0, 1.18fr) minmax(0, 0.8fr) minmax(0, 0.92fr) minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1.02fr) minmax(0, 1.02fr) minmax(0, 0.58fr) minmax(0, 0.9fr) 36px;
  }

  html[data-font-size="large"] .policy-grid--labels {
    letter-spacing: 0.045em;
  }

  html[data-font-size="large"] #sortByPremium {
    gap: 3px;
    padding-right: 3px;
    padding-left: 3px;
  }

  html[data-font-size="large"] #sortByPremium svg {
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
  }

  html[data-font-size="large"] .policy-grid--form input[type="date"],
  html[data-font-size="large"] .inline-field input[type="date"] {
    min-width: 0;
    padding-right: 5px;
    padding-left: 7px;
    letter-spacing: -0.025em;
  }
}

.mobile-label {
  display: none;
}

.always-visible-suggestions {
  position: fixed;
  z-index: 1200;
  display: grid;
  max-height: min(320px, calc(100vh - 16px));
  gap: 3px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 6px;
  border: 1px solid #cfdad6;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(20, 43, 59, 0.2);
}

.always-visible-suggestions[hidden] {
  display: none;
}

.always-visible-suggestions button {
  width: 100%;
  min-height: 34px;
  border: 0;
  border-radius: 7px;
  padding: 7px 9px;
  color: var(--navy-700);
  background: transparent;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
}

.always-visible-suggestions button:hover,
.always-visible-suggestions button:focus-visible {
  color: #006f43;
  outline: 0;
  background: #e8f8f1;
}

.always-visible-suggestions button.always-visible-suggestions-clear {
  margin-bottom: 3px;
  color: #a23a32;
  background: #fff1f0;
}

.always-visible-suggestions button.always-visible-suggestions-clear:hover,
.always-visible-suggestions button.always-visible-suggestions-clear:focus-visible {
  color: #852820;
  background: #ffe4e1;
}

.always-visible-suggestions-empty {
  padding: 9px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 650;
}

html[data-font-size="large"] .always-visible-suggestions button {
  min-height: 40px;
  font-size: 15px;
}

.premium-input {
  position: relative;
  display: block;
}

.premium-input input {
  padding-right: 34px;
}

.premium-input > span {
  position: absolute;
  top: 50%;
  right: 11px;
  color: #8a96a7;
  font-size: 10px;
  font-weight: 700;
  transform: translateY(-50%);
}

.add-button {
  display: inline-flex;
  min-width: 120px;
  height: 42px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(145deg, var(--blue-500), #1e62ee);
  box-shadow: 0 7px 16px rgba(36, 107, 254, 0.2);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  transition: transform 150ms ease, box-shadow 150ms ease, filter 150ms ease;
}

.add-button:hover {
  box-shadow: 0 9px 20px rgba(36, 107, 254, 0.28);
  filter: brightness(1.03);
  transform: translateY(-1px);
}

.add-button:active {
  box-shadow: 0 4px 10px rgba(36, 107, 254, 0.2);
  transform: translateY(1px);
}

.add-button:disabled,
.add-button:disabled:hover,
.add-button:disabled:active {
  box-shadow: none;
  cursor: not-allowed;
  filter: none;
  opacity: 0.5;
  transform: none;
}

.add-button svg {
  width: 15px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.attachment-count {
  display: grid;
  min-width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 999px;
  padding: 0 4px;
  color: #fff;
  background: #00a76f;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}

.attachment-count[hidden] {
  display: none;
}

.form-utility-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 4px 28px 12px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(245, 248, 255, 0.62), rgba(250, 252, 255, 0.95));
}

.form-file-actions {
  grid-column: 1;
  justify-self: start;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.form-submit-actions {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 8px;
}

.policy-import-tools {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.policy-import-help {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.policy-import-info-button {
  display: grid;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  place-items: center;
  border: 1px solid rgba(36, 107, 254, 0.48);
  border-radius: 50%;
  padding: 0;
  color: #1559d6;
  background: #f5f8ff;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  cursor: help;
  transition: border-color 140ms ease, color 140ms ease, background 140ms ease, transform 140ms ease;
}

.policy-import-info-button:hover,
.policy-import-info-button:focus-visible {
  border-color: #246bfe;
  color: #fff;
  outline: 0;
  background: #246bfe;
  transform: translateY(-1px);
}

.policy-import-tooltip {
  position: absolute;
  z-index: 40;
  top: calc(100% + 9px);
  right: -5px;
  display: block;
  width: min(430px, calc(100vw - 40px));
  padding: 14px 15px 13px;
  border: 1px solid #cad7ec;
  border-radius: 12px;
  color: #33425a;
  background: #fff;
  box-shadow: 0 18px 42px rgba(22, 45, 78, 0.22);
  font-size: 10px;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  visibility: hidden;
  transition: opacity 130ms ease, transform 130ms ease, visibility 130ms ease;
}

.policy-import-tooltip::before {
  position: absolute;
  right: 8px;
  bottom: 100%;
  width: 10px;
  height: 10px;
  border-top: 1px solid #cad7ec;
  border-left: 1px solid #cad7ec;
  background: #fff;
  content: "";
  transform: translateY(5px) rotate(45deg);
}

.policy-import-help:hover .policy-import-tooltip,
.policy-import-help:focus-within .policy-import-tooltip {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.policy-import-tooltip > strong {
  position: relative;
  display: block;
  margin-bottom: 9px;
  color: var(--navy-950);
  font-size: 11px;
}

.policy-import-tooltip__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 14px;
}

.policy-import-tooltip__grid > span {
  position: relative;
  display: block;
  padding-left: 10px;
  overflow-wrap: anywhere;
}

.policy-import-tooltip__grid > span::before {
  position: absolute;
  top: 0.53em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #246bfe;
  content: "";
}

.policy-import-tooltip small {
  display: block;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid #e3e9f2;
  color: var(--muted);
  font-size: 9px;
}

.pending-attachments {
  padding: 2px 28px 14px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(245, 248, 255, 0.62), rgba(250, 252, 255, 0.95));
}

.pending-attachments[hidden] {
  display: none;
}

.pending-attachments__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: #6d7c91;
  font-size: 9px;
  font-weight: 750;
}

.pending-attachments__heading button {
  border: 0;
  padding: 4px 0;
  color: #b14646;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 8px;
  font-weight: 850;
}

.pending-attachments__heading button:hover,
.pending-attachments__heading button:focus-visible {
  color: #d12f2f;
  outline: 0;
  text-decoration: underline;
}

.pending-attachment-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pending-attachment-chip {
  display: grid;
  width: min(260px, 100%);
  min-width: 0;
  grid-template-columns: 36px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 8px;
  border: 1px solid #dce5ee;
  border-radius: 9px;
  padding: 5px 6px;
  background: #fff;
}

.pending-attachment-chip__preview {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  overflow: hidden;
  border-radius: 7px;
  color: #c13d3d;
  background: #f1f4f7;
}

.pending-attachment-chip__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pending-attachment-chip__pdf {
  font-size: 8px;
  font-weight: 900;
}

.pending-attachment-chip__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.pending-attachment-chip__copy strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pending-attachment-chip__copy small {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
}

.pending-attachment-chip > button {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 0;
  border-radius: 6px;
  color: #b44d4d;
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
}

.pending-attachment-chip > button:hover,
.pending-attachment-chip > button:focus-visible {
  color: #fff;
  outline: 0;
  background: #cf4c4c;
}

.renewal-window-switch {
  display: none;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border: 1px solid rgba(0, 177, 116, 0.28);
  border-radius: 9px;
  background: rgba(240, 251, 247, 0.86);
}

.policies-card--renewals .renewal-window-switch {
  display: inline-flex;
}

.renewal-window-switch button {
  min-height: 30px;
  border: 0;
  border-radius: 7px;
  padding: 0 9px;
  color: #5f706d;
  background: transparent;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
  transition: color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.renewal-window-switch button:hover,
.renewal-window-switch button:focus-visible {
  color: #007a45;
  outline: 0;
  background: rgba(0, 177, 116, 0.09);
}

.renewal-window-switch button[aria-pressed="true"] {
  color: #fff;
  background: #00a76f;
  box-shadow: 0 4px 10px rgba(0, 167, 111, 0.2);
}

.renewal-expired-toggle {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  gap: 5px;
  border-left: 1px solid rgba(0, 177, 116, 0.24);
  padding: 0 7px;
  color: #4f6560;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.renewal-expired-toggle input {
  width: 13px;
  height: 13px;
  margin: 0;
  accent-color: #00a76f;
  cursor: pointer;
}

.clear-form-button,
.import-policies-button,
.print-policies-button,
.policy-visibility-toggle {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: var(--surface);
  font: inherit;
  font-size: 9px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease;
}

.clear-form-button {
  grid-column: 2;
  justify-self: center;
}

.print-policies-button {
  border-color: rgba(0, 177, 116, 0.34);
  color: #007a45;
  background: #f0fbf7;
}

.import-policies-button {
  border-color: rgba(36, 107, 254, 0.34);
  color: #1559d6;
  background: #eef4ff;
  transform-origin: center;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease,
    box-shadow 150ms ease, transform 150ms ease;
}

.import-policies-button:disabled {
  cursor: wait;
  opacity: 0.55;
}

.clear-form-button span {
  font-size: 14px;
  line-height: 1;
}

.clear-form-button:hover,
.clear-form-button:focus-visible,
.import-policies-button:hover,
.import-policies-button:focus-visible,
.print-policies-button:hover,
.print-policies-button:focus-visible,
.policy-visibility-toggle:hover,
.policy-visibility-toggle:focus-visible {
  border-color: #aab6c4;
  color: var(--navy-950);
  outline: 0;
  background: var(--blue-50);
}

.policy-visibility-toggle .visibility-toggle-slash {
  display: none;
}

.policy-visibility-toggle[aria-pressed="true"] {
  border-color: rgba(212, 138, 8, 0.45);
  color: #9a6a06;
  background: #fff4df;
}

.policy-visibility-toggle[aria-pressed="true"] .visibility-toggle-slash {
  display: block;
}

.policy-visibility-toggle[aria-pressed="true"]:hover,
.policy-visibility-toggle[aria-pressed="true"]:focus-visible {
  border-color: #d48a08;
  color: #7c5605;
  background: #ffedca;
}

.print-policies-button:hover,
.print-policies-button:focus-visible {
  border-color: #00b174;
  color: #006b42;
  background: #e5f8f0;
}

.import-policies-button:hover,
.import-policies-button:focus-visible {
  border-color: #246bfe;
  color: #104fbd;
  background: #e3edff;
}

.import-policies-button.import-policies-button--dragover {
  border-color: #246bfe;
  color: #fff;
  outline: 3px solid rgba(36, 107, 254, 0.18);
  background: #246bfe;
  box-shadow: 0 7px 18px rgba(36, 107, 254, 0.32);
  transform: translateY(-1px) scale(1.06);
}

.import-policies-button svg,
.print-policies-button svg,
.policy-visibility-toggle svg {
  width: 14px;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.print-options-dialog {
  width: min(720px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 17px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 28px 80px rgba(15, 35, 55, 0.26);
}

.print-options-dialog::backdrop {
  background: rgba(12, 25, 39, 0.58);
  backdrop-filter: blur(4px);
}

.termination-date-dialog {
  width: min(390px, calc(100vw - 32px));
  max-width: none;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 17px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 28px 80px rgba(15, 35, 55, 0.26);
}

.termination-date-dialog::backdrop {
  background: rgba(12, 25, 39, 0.58);
  backdrop-filter: blur(4px);
}

.confirm-delete-dialog {
  width: min(430px, calc(100vw - 32px));
}

.portfolio-path-repair-dialog {
  width: min(500px, calc(100vw - 32px));
}

.confirm-delete-content .confirm-delete-message {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.confirm-delete-accept {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid #d84d4d;
  border-radius: 9px;
  color: #fff;
  background: #d84d4d;
  cursor: pointer;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
}

.confirm-delete-accept:hover,
.confirm-delete-accept:focus-visible {
  border-color: #b93a3a;
  outline: 0;
  background: #b93a3a;
}

.calendar-renewed-dialog {
  width: min(470px, calc(100vw - 32px));
}

.calendar-renewed-content {
  display: grid;
  gap: 12px;
}

.calendar-renewed-record strong {
  font-size: 12px;
}

.calendar-renewed-results {
  display: grid;
  gap: 6px;
  max-height: 250px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.calendar-renewed-results:empty {
  display: none;
}

.calendar-renewed-result {
  display: grid;
  gap: 3px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 11px;
  color: inherit;
  background: var(--canvas);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 130ms ease, background 130ms ease;
}

.calendar-renewed-result:hover,
.calendar-renewed-result:focus-visible {
  border-color: #00a76f;
  outline: 0;
  background: #edf9f5;
}

.calendar-renewed-result strong {
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.calendar-renewed-result small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.calendar-renewed-content .calendar-renewed-empty {
  margin: 0;
  padding: 13px 12px;
  border: 1px dashed var(--line);
  border-radius: 10px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 650;
  text-align: center;
}

.calendar-renewed-empty[hidden] {
  display: none;
}

.contact-details-dialog {
  width: min(780px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 30px 95px rgba(15, 28, 45, 0.38);
  overflow: hidden;
}

.contact-details-dialog::backdrop {
  background: rgba(12, 25, 39, 0.62);
  backdrop-filter: blur(4px);
}

.contact-details-panel {
  display: flex;
  width: 100%;
  max-height: calc(100vh - 32px);
  flex-direction: column;
  background: var(--surface);
}

.contact-details-content {
  display: grid;
  min-height: 0;
  gap: 14px;
  padding: 22px 24px 24px;
  overflow-y: auto;
  background: var(--surface);
}

.contact-details-record {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--canvas);
}

.contact-details-record strong {
  min-width: 0;
  color: var(--navy-950);
  font-size: 13px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.contact-details-record span {
  flex: 0 1 auto;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  overflow-wrap: anywhere;
  text-align: right;
}

.contact-details-field {
  display: grid;
  gap: 8px;
}

.contact-details-field > span {
  color: var(--navy-700);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.contact-details-field textarea {
  width: 100%;
  min-height: 280px;
  max-height: 56vh;
  padding: 14px 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
  overflow-wrap: anywhere;
  resize: vertical;
}

.contact-details-field textarea:focus {
  border-color: #00a46c;
  outline: 3px solid rgba(0, 164, 108, 0.13);
}

.contact-details-hint {
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.45;
}

.vehicle-details-dialog {
  width: min(760px, calc(100vw - 32px));
}

.vehicle-details-content {
  gap: 18px;
}

.vehicle-details-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
  gap: 12px;
  margin: 0;
}

.vehicle-details-item {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--canvas);
}

.vehicle-details-item dt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.vehicle-details-item dd {
  margin: 0;
  color: var(--navy-950);
  font-size: 15px;
  font-weight: 850;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.vehicle-details-value-input {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
}


.vehicle-details-value-display {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: baseline;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 4px 8px;
  padding: 0;
  border: 0;
  color: var(--navy-950);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.vehicle-details-value-display > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.vehicle-details-value-action {
  flex: 0 0 auto;
  padding: 3px 7px;
  border: 0;
  border-radius: 999px;
  color: #007a45;
  background: rgba(0, 177, 116, 0.12);
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}

.vehicle-details-value-action:not(:disabled):hover {
  background: rgba(0, 177, 116, 0.24);
}

.vehicle-details-value-action:disabled {
  cursor: default;
  opacity: 0.55;
}


.vehicle-details-value-extra {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}


.vehicle-details-value-convert {
  padding: 1px 5px;
  border-radius: 6px;
  color: #007a45;
  cursor: pointer;
  text-decoration: underline dotted;
  text-underline-offset: 3px;
}

.vehicle-details-value-convert:hover {
  background: rgba(0, 177, 116, 0.14);
  text-decoration-style: solid;
}

.vehicle-details-value-display[data-empty="true"] .vehicle-details-value {
  color: var(--muted);
  font-weight: 700;
}

.vehicle-details-value-display[data-empty="true"] {
  cursor: default;
}

.vehicle-details-value-display:not(:disabled):not([data-empty="true"]):hover .vehicle-details-value,
.vehicle-details-value-display:focus-visible .vehicle-details-value {
  color: #007a45;
  text-decoration: underline;
  text-underline-offset: 3px;
}


.vehicle-details-value-display:hover:has(.vehicle-details-value-convert:hover) .vehicle-details-value {
  color: inherit;
  text-decoration: none;
}

.vehicle-details-value-display:focus-visible {
  outline: 0;
}

.vehicle-details-value-display:disabled {
  cursor: default;
}

.vehicle-details-value-input[hidden],
.vehicle-details-value-display[hidden],
.vehicle-details-value-action[hidden],
.vehicle-details-value-extra[hidden],
.contact-details-footer .settings-save-button[hidden] {
  display: none;
}

.vehicle-details-value-input:focus {
  border-color: #00a46c;
  outline: 3px solid rgba(0, 164, 108, 0.13);
}


#vehicleDetailsRegistration {
  display: flex;
  align-items: center;
  gap: 10px;
}

#vehicleDetailsRegistration .vehicle-details-value-display {
  width: auto;
  justify-content: flex-start;
}

#vehicleDetailsRegistration .vehicle-details-value-input {
  max-width: 250px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}


.vehicle-details-inline-cancel {
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  padding: 6px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--surface);
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.vehicle-details-inline-cancel:hover {
  color: var(--ink);
}

.vehicle-details-inline-cancel:disabled {
  cursor: wait;
  opacity: 0.7;
}

.vehicle-details-inline-cancel[hidden] {
  display: none;
}

.contact-details-footer .settings-save-button:disabled {
  cursor: wait;
  opacity: 0.7;
}

@media (max-width: 680px) {
  .vehicle-details-grid {
    grid-template-columns: 1fr;
  }
}

.premium-details-button {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
  text-align: inherit;
  text-decoration: underline dotted currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.premium-details-button:hover,
.premium-details-button:focus-visible {
  text-decoration-style: solid;
}

.premium-details-panel {
  max-width: 460px;
  margin: 0 auto;
}

.premium-details-dialog {
  width: min(460px, calc(100vw - 32px));
}

.premium-details-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.premium-risk-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--canvas);
}

.premium-risk-item__label {
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.premium-risk-item__amount {
  color: var(--navy-950);
  font-size: 15px;
  font-weight: 850;
  white-space: nowrap;
}

.calendar-dialog {
  width: min(1240px, calc(100vw - 32px));
  max-width: none;
  height: min(700px, calc(100vh - 32px));
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 30px 95px rgba(15, 28, 45, 0.38);
  overflow: hidden;
}

.calendar-dialog::backdrop {
  background: rgba(12, 25, 39, 0.62);
  backdrop-filter: blur(4px);
}

.calendar-panel {
  display: flex;
  width: 100%;
  height: 100%;
  max-height: calc(100vh - 32px);
  flex-direction: column;
  background: var(--surface);
}

.calendar-content {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  grid-template-columns: minmax(270px, 0.9fr) minmax(450px, 1.15fr) minmax(300px, 0.95fr);
  overflow: hidden;
}

.calendar-month-section,
.calendar-agenda {
  min-width: 0;
  padding: 20px 22px 22px;
}

.calendar-month-section {
  border-left: 1px solid var(--line);
  background: var(--canvas);
}

.calendar-month-toolbar {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 10px;
  margin-bottom: 13px;
}

.calendar-month-toolbar strong {
  color: var(--navy-950);
  font-size: 17px;
  font-weight: 850;
  text-align: center;
  text-transform: capitalize;
}

.calendar-month-toolbar button,
.calendar-go-today {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--navy-700);
  background: var(--surface);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  transition: border-color 140ms ease, color 140ms ease, background 140ms ease;
}

.calendar-month-toolbar button {
  display: grid;
  place-items: center;
  padding: 0 0 3px;
  font-size: 21px;
  line-height: 1;
}

.calendar-month-toolbar button:hover,
.calendar-month-toolbar button:focus-visible,
.calendar-go-today:hover,
.calendar-go-today:focus-visible {
  border-color: #00a76f;
  color: #007a50;
  outline: 0;
  background: #eaf8f3;
}

.calendar-weekdays,
.calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
}

.calendar-weekdays {
  margin-bottom: 6px;
}

.calendar-weekdays span {
  padding: 4px 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}

.calendar-day {
  position: relative;
  display: grid;
  min-width: 0;
  height: 56px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 11px;
  padding: 0;
  color: var(--navy-700);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  transition: border-color 130ms ease, color 130ms ease, background 130ms ease, transform 130ms ease;
}

.calendar-day:hover,
.calendar-day:focus-visible {
  border-color: #a7dbc9;
  color: #007a50;
  outline: 0;
  background: #edf9f5;
  transform: translateY(-1px);
}

.calendar-day--empty {
  visibility: hidden;
}

.calendar-day--today {
  border-color: #e6c25b;
  color: #7a5200;
  background: #fff8df;
}

.calendar-day--selected,
.calendar-day--selected:hover,
.calendar-day--selected:focus-visible {
  border-color: #00a76f;
  color: #fff;
  background: #00a76f;
  box-shadow: 0 5px 13px rgba(0, 167, 111, 0.22);
}

.calendar-day__tasks {
  position: absolute;
  right: 4px;
  bottom: 4px;
  display: grid;
  min-width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  padding: 0 5px;
  color: #513500;
  background: #f4bd32;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

.calendar-day--selected .calendar-day__tasks {
  color: #00613f;
  background: #fff3ad;
}

.calendar-day__renewals {
  position: absolute;
  left: 4px;
  bottom: 4px;
  display: grid;
  min-width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  padding: 0 5px;
  color: #fff;
  background: #3975d6;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 2px 5px rgba(28, 76, 155, 0.22);
}

.calendar-day--selected .calendar-day__renewals {
  color: #174b9e;
  background: #e4efff;
}

.calendar-go-today {
  display: block;
  margin: 13px auto 0;
  padding: 0 14px;
  font-size: 11px;
}

.calendar-agenda {
  display: flex;
  min-height: 0;
  flex-direction: column;
  background: var(--surface);
}

.calendar-agenda-header {
  margin-bottom: 14px;
}

.calendar-agenda-header span {
  display: block;
  margin-bottom: 3px;
  color: #00a46c;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.calendar-agenda-header h3 {
  margin: 0;
  color: var(--navy-950);
  font-size: 17px;
  font-weight: 850;
  text-transform: capitalize;
}

.calendar-task-form {
  display: grid;
  gap: 9px;
  margin-bottom: 14px;
}

.calendar-task-form label {
  display: grid;
  gap: 6px;
}

.calendar-task-form label > span {
  color: var(--navy-700);
  font-size: 9px;
  font-weight: 850;
}

.calendar-task-form input {
  width: 100%;
  min-height: 39px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
}

.calendar-task-form input:focus {
  border-color: #00a76f;
  outline: 3px solid rgba(0, 167, 111, 0.12);
}

.calendar-add-tasks {
  min-height: 35px;
  justify-self: end;
  border: 1px solid #00a76f;
  border-radius: 9px;
  padding: 0 13px;
  color: #fff;
  background: #00a76f;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
}

.calendar-add-tasks:hover,
.calendar-add-tasks:focus-visible {
  border-color: #007a50;
  outline: 0;
  background: #007a50;
}

.calendar-add-tasks:disabled,
.calendar-task-form input:disabled,
.calendar-month-toolbar button:disabled,
.calendar-go-today:disabled,
.calendar-day:disabled,
.calendar-task-actions button:disabled {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

.calendar-task-list {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  align-content: start;
  gap: 7px;
  padding-right: 4px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.calendar-task-list:empty {
  display: none;
}

.calendar-task-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 9px 9px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--canvas);
}

.calendar-task-row > span {
  min-width: 0;
  color: var(--ink);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.45;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.calendar-task-row--completed .calendar-task-text {
  color: var(--muted);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}

.calendar-task-actions {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.calendar-task-delete,
.calendar-task-check {
  display: grid;
  width: 29px;
  height: 29px;
  place-items: center;
  border-radius: 8px;
  padding: 0;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  line-height: 1;
  transition: border-color 130ms ease, color 130ms ease, background 130ms ease, transform 130ms ease;
}

.calendar-task-delete {
  border: 1px solid transparent;
  color: #b35d5d;
  background: transparent;
  font-size: 14px;
}

.calendar-task-delete:hover,
.calendar-task-delete:focus-visible {
  border-color: #efb4b4;
  color: #fff;
  outline: 0;
  background: #d84d4d;
}

.calendar-task-check {
  border: 1px solid #c5ccd3;
  color: #7b8792;
  background: #f1f3f5;
  font-size: 14px;
}

.calendar-task-check:hover,
.calendar-task-check:focus-visible {
  border-color: #8f99a3;
  color: #55616c;
  outline: 0;
  background: #e6e9ec;
  transform: translateY(-1px);
}

.calendar-task-check[aria-pressed="true"],
.calendar-task-check[aria-pressed="true"]:hover,
.calendar-task-check[aria-pressed="true"]:focus-visible {
  border-color: #00a76f;
  color: #fff;
  outline: 0;
  background: #00a76f;
  transform: translateY(-1px);
}

.calendar-tasks-empty {
  margin: 8px 0 0;
  padding: 17px 12px;
  border: 1px dashed var(--line);
  border-radius: 10px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 650;
  text-align: center;
}

.calendar-tasks-empty[hidden] {
  display: none;
}

.calendar-renewals {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  border-left: 1px solid #bcd3f5;
  background: linear-gradient(180deg, #f4f8ff 0, #edf4ff 100%);
}

.calendar-renewals-header {
  display: grid;
  gap: 3px;
  padding: 20px 20px 12px;
}

.calendar-renewals-header > div {
  min-width: 0;
}

.calendar-renewals-header span {
  display: block;
  margin-bottom: 3px;
  color: #3975d6;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.calendar-renewals-header h3 {
  margin: 0;
  color: var(--navy-950);
  font-size: 14px;
  font-weight: 850;
}

.calendar-renewals-header > strong {
  color: var(--navy-700);
  font-size: 10px;
  font-weight: 800;
  text-transform: capitalize;
}

.calendar-renewal-list {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  align-content: start;
  gap: 7px;
  padding: 2px 16px 16px 20px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.calendar-renewal-list:empty {
  display: none;
}

.calendar-renewals-empty {
  margin: 4px 20px 16px;
  padding: 17px 12px;
  border: 1px dashed #a9c6ef;
  border-radius: 10px;
  color: #4c69a0;
  font-size: 10px;
  font-weight: 650;
  text-align: center;
}

.calendar-renewals-empty[hidden] {
  display: none;
}

.calendar-renewals-hidden-restore {
  margin: 0 20px 14px;
  align-self: flex-start;
  border: 0;
  padding: 0;
  color: #4c69a0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: 750;
  text-decoration: underline dotted;
  text-underline-offset: 3px;
}

.calendar-renewals-hidden-restore:hover,
.calendar-renewals-hidden-restore:focus-visible {
  color: #174b9e;
  outline: 0;
  text-decoration-style: solid;
}

.calendar-renewals-hidden-restore[hidden] {
  display: none;
}

.calendar-renewal-menu {
  position: fixed;
  z-index: 40;
  display: grid;
  min-width: 216px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
  box-shadow: 0 16px 42px rgba(15, 28, 45, 0.24);
}

.calendar-renewal-menu[hidden] {
  display: none;
}

.calendar-renewal-menu button {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 9px 11px;
  color: var(--navy-700);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  text-align: left;
}

.calendar-renewal-menu button:hover,
.calendar-renewal-menu button:focus-visible {
  color: #007a50;
  outline: 0;
  background: #eaf8f3;
}

.calendar-renewal-menu button:disabled {
  color: var(--muted);
  cursor: default;
  background: transparent;
  opacity: 0.7;
}

.calendar-renewal-menu button[data-renewal-menu-action="hide"] {
  color: #9f4040;
}

.calendar-renewal-menu button[data-renewal-menu-action="hide"]:hover,
.calendar-renewal-menu button[data-renewal-menu-action="hide"]:focus-visible {
  color: #9f2525;
  background: #fff0f0;
}

.calendar-renewal-row {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "client status"
    "policy premium";
  align-items: center;
  gap: 7px 12px;
  padding: 10px 12px;
  border: 1px solid #ccdcf3;
  border-radius: 10px;
  color: inherit;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 3px 10px rgba(31, 75, 140, 0.06);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.calendar-renewal-row:hover,
.calendar-renewal-row:focus-visible {
  border-color: #7ea8e6;
  outline: 0;
  background: #fff;
  box-shadow: 0 6px 15px rgba(31, 75, 140, 0.13);
  transform: translateY(-1px);
}

.calendar-renewal-row:disabled {
  cursor: default;
  opacity: 0.7;
  transform: none;
}

.calendar-renewal-row__client,
.calendar-renewal-row__policy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.calendar-renewal-row__client {
  grid-area: client;
}

.calendar-renewal-row__policy {
  grid-area: policy;
}

.calendar-renewal-row__client strong,
.calendar-renewal-row__policy span {
  overflow: hidden;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-renewal-row__client small,
.calendar-renewal-row__policy small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-renewal-row__premium {
  grid-area: premium;
  justify-self: end;
  color: var(--navy-700);
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.calendar-renewal-status {
  grid-area: status;
  min-width: 82px;
  justify-self: end;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 9px;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
}

.calendar-renewal-status--pending {
  color: #174b9e;
  background: #dceaff;
}

.calendar-renewal-status--renewed {
  color: #00714b;
  background: #d9f5ea;
}

.calendar-renewal-status--lost {
  color: #a23f3f;
  background: #fde2e2;
}

.calendar-footer {
  justify-content: space-between;
}

.calendar-footer > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
}

@media (max-width: 1180px) {
  .calendar-dialog {
    width: calc(100vw - 24px);
    height: auto;
    max-height: calc(100vh - 24px);
  }

  .calendar-panel {
    height: auto;
  }

  .calendar-content {
    grid-template-columns: minmax(250px, 0.9fr) minmax(0, 1.2fr);
  }

  .calendar-task-list {
    max-height: 300px;
  }

  .calendar-renewals {
    grid-column: 1 / -1;
    border-top: 1px solid #bcd3f5;
    border-left: 0;
  }

  .calendar-renewal-list {
    max-height: 220px;
  }
}

@media (max-width: 760px) {
  .calendar-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .calendar-panel {
    max-height: calc(100vh - 20px);
    overflow-y: auto;
  }

  .calendar-content {
    display: block;
    flex: none;
    overflow: visible;
  }

  .calendar-month-section {
    border-top: 1px solid var(--line);
    border-left: 0;
    border-bottom: 1px solid var(--line);
  }

  .calendar-day {
    height: 46px;
  }

  .calendar-task-list {
    max-height: 280px;
  }

  .calendar-renewals {
    border-top: 1px solid #bcd3f5;
    border-left: 0;
  }

  .calendar-renewal-list {
    max-height: 240px;
  }
}

.termination-date-panel {
  width: 100%;
}

.termination-date-content {
  padding: 20px 22px 22px;
}

.termination-policy-end {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(0, 164, 108, 0.07);
}

.termination-policy-end span {
  color: var(--navy-700);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.termination-policy-end strong {
  color: #087153;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.termination-date-field {
  display: grid;
  gap: 7px;
}

.termination-date-field span {
  color: var(--navy-700);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.termination-date-field input {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}

.termination-date-field input:focus {
  border-color: #00a46c;
  outline: 3px solid rgba(0, 164, 108, 0.13);
}

.termination-type-picker {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-bottom: 14px;
}

.termination-type-option {
  position: relative;
}

.termination-type-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.termination-type-option span {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  color: var(--navy-700);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-align: center;
  cursor: pointer;
}

.termination-type-option input:checked + span {
  border-color: #00a46c;
  background: rgba(0, 164, 108, 0.1);
  color: #087153;
}

.termination-type-option input:focus-visible + span {
  outline: 3px solid rgba(0, 164, 108, 0.13);
}

.termination-signature-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.termination-buyer-field {
  margin-top: 12px;
}

.termination-buyer-field[hidden] {
  display: none;
}

.termination-date-content p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.45;
}

.termination-date-footer {
  padding: 14px 22px;
}

.attachment-target-dialog {
  width: min(600px, calc(100vw - 32px));
}

.termination-date-content .attachment-category-summary {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.attachment-category-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 12px;
}

.attachment-category-chip {
  padding: 8px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy-700);
  background: var(--surface);
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  transition: border-color 130ms ease, background 130ms ease, color 130ms ease;
}

.attachment-category-chip:hover,
.attachment-category-chip:focus-visible {
  border-color: #00a46c;
}

.attachment-category-chip--selected {
  border-color: #00a46c;
  color: #006b47;
  background: rgba(0, 164, 108, 0.12);
}

.attachment-target-category .attachment-category-options {
  margin: 5px 0 8px;
}

.attachment-target-results {
  display: grid;
  overflow: auto;
  max-height: 250px;
  gap: 7px;
  margin: 12px 0;
}

.attachment-target-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  cursor: pointer;
  text-align: left;
  font: inherit;
  transition: border-color 130ms ease, background 130ms ease;
}

.attachment-target-result:hover,
.attachment-target-result:focus-visible {
  border-color: #00a46c;
}

.attachment-target-result--selected {
  border-color: #00a46c;
  background: rgba(0, 164, 108, 0.1);
  box-shadow: inset 0 0 0 1px #00a46c;
}

.attachment-target-result__main {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.attachment-target-result__main strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attachment-target-result__main > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.attachment-target-result__meta {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px 8px;
  max-width: 46%;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  text-align: right;
}

.attachment-target-results__empty {
  margin: 0;
  padding: 14px;
  border: 1px dashed var(--line);
  border-radius: 9px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.print-options-panel {
  display: flex;
  max-height: calc(100vh - 32px);
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--surface);
}

.print-options-header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--line);
}

.print-options-header p,
.print-options-header h2,
.print-options-copy {
  margin: 0;
}

.print-options-header p {
  margin-bottom: 3px;
  color: #00a46c;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.print-options-header h2 {
  color: var(--navy-950);
  font-size: 18px;
  letter-spacing: -0.025em;
}

.print-options-content {
  overflow-y: auto;
  padding: 18px 22px 20px;
}

.print-options-copy {
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
}

.print-options-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 15px 0 10px;
}

.print-options-toolbar strong {
  color: var(--navy-700);
  font-size: 10px;
}

.print-options-toolbar > span {
  display: flex;
  gap: 6px;
}

.print-options-toolbar button {
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--navy-700);
  background: var(--surface);
  font: inherit;
  font-size: 8px;
  font-weight: 800;
  cursor: pointer;
}

.print-options-toolbar button:hover,
.print-options-toolbar button:focus-visible {
  border-color: #00b174;
  color: #007a45;
  outline: 0;
}

.print-column-options {
  margin: 0;
  padding: 0;
  border: 0;
}

.print-column-options legend {
  margin-bottom: 8px;
  color: var(--navy-700);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

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

.print-columns-grid label {
  display: flex;
  min-width: 0;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--navy-700);
  background: #f8faf9;
  font-size: 9px;
  font-weight: 750;
  line-height: 1.3;
  cursor: pointer;
}

.print-columns-grid label:hover {
  border-color: rgba(0, 177, 116, 0.5);
}

.print-columns-grid input {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  accent-color: #00a46c;
}

.print-options-footer {
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 22px;
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.print-options-footer .settings-save-button:disabled {
  border-color: var(--line);
  color: var(--muted);
  background: var(--surface);
  cursor: not-allowed;
  opacity: 0.65;
}

.quote-print-dialog {
  width: min(780px, calc(100vw - 32px));
}

.quote-print-agency-warning {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
  padding: 11px 12px;
  border: 1px solid #efc271;
  border-radius: 10px;
  color: #765014;
  background: #fff8e9;
}

.quote-print-agency-warning[hidden] {
  display: none;
}

.quote-print-agency-warning span,
.quote-print-agency-warning strong,
.quote-print-agency-warning small {
  display: block;
}

.quote-print-agency-warning strong {
  font-size: 10px;
  font-weight: 850;
}

.quote-print-agency-warning small {
  margin-top: 2px;
  font-size: 8px;
  font-weight: 650;
  line-height: 1.45;
}

.quote-print-agency-warning .settings-secondary-button {
  flex: 0 0 auto;
}

.quote-print-options-list {
  display: grid;
  gap: 10px;
}

.quote-print-insurer {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--canvas);
}

.quote-print-insurer-heading,
.quote-print-variant {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.quote-print-insurer-heading {
  padding: 11px 13px;
  color: var(--navy-950);
  background: rgba(0, 167, 111, 0.08);
  font-size: 10px;
  font-weight: 850;
}

.quote-print-insurer-heading input,
.quote-print-variant input {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  accent-color: #00a76f;
}

.quote-print-insurer-heading small {
  margin-left: auto;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
}

.quote-print-variants {
  display: grid;
  gap: 1px;
  background: var(--line);
}

.quote-print-variant {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  min-height: 52px;
  column-gap: 12px;
  padding: 8px 13px 8px 38px;
  background: var(--surface);
}

.quote-print-variant-selection {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  gap: 10px;
  cursor: pointer;
}

.quote-print-variant-selection > input {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin-top: 3px;
  accent-color: #00a76f;
}

.quote-print-variant-selection > span {
  display: grid;
  min-width: 0;
  flex: 1 1 auto;
  gap: 2px;
}

.quote-print-variant strong {
  overflow: hidden;
  color: var(--navy-700);
  font-size: 9px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quote-print-variant small {
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quote-print-variant .quote-print-variant-scope {
  display: block;
  overflow: visible;
  color: var(--muted);
  line-height: 1.4;
  text-overflow: clip;
  white-space: normal;
}

.quote-print-recommendation {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 7px;
  color: var(--muted);
  background: var(--surface);
  font-size: 7.5px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}

.quote-print-recommendation > input {
  width: 13px;
  height: 13px;
  margin: 0;
  accent-color: #00a76f;
}

.quote-print-recommendation:has(input:checked) {
  border-color: rgba(0, 167, 111, 0.45);
  color: #087450;
  background: rgba(0, 167, 111, 0.1);
}

.quote-print-variant > b {
  align-self: center;
  flex: 0 0 auto;
  color: #087450;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.agency-print-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.agency-print-details-wide {
  grid-column: 1 / -1;
}

.agency-print-details-grid .settings-field > textarea {
  width: 100%;
  min-height: 76px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  color: var(--ink);
  background: var(--surface);
  font: 600 11px/1.5 "Manrope", sans-serif;
}

.agency-print-details-grid .settings-field > textarea:focus {
  border-color: #00b174;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(0, 177, 116, 0.1);
}

html[data-theme="dark"] .quote-print-agency-warning {
  border-color: rgba(230, 178, 75, 0.48);
  color: #f1d79c;
  background: rgba(116, 75, 15, 0.28);
}

html[data-theme="dark"] .quote-print-insurer-heading {
  background: rgba(0, 167, 111, 0.14);
}

html[data-theme="dark"] .quote-print-variant {
  background: var(--surface);
}

html[data-theme="dark"] .quote-print-recommendation:has(input:checked) {
  border-color: rgba(143, 232, 201, 0.5);
  color: #8fe8c9;
  background: rgba(0, 167, 111, 0.18);
}

@media (max-width: 640px) {
  .settings-tabs {
    overflow-x: auto;
  }

  .settings-tab {
    flex: 0 0 auto;
  }

  .agency-print-details-grid {
    grid-template-columns: 1fr;
  }

  .agency-print-details-wide {
    grid-column: auto;
  }

  .quote-print-agency-warning {
    align-items: stretch;
    flex-direction: column;
  }

  .quote-print-variant {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-left: 13px;
  }

  .quote-print-recommendation {
    grid-column: 1;
    justify-self: start;
    margin-left: 26px;
  }

  .quote-print-variant > b {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

.policy-rows:empty {
  display: none;
}

.records-pagination-bar {
  display: grid;
  min-height: 56px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 10px 28px;
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.records-limit-control {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}

.records-limit-control select {
  min-width: 110px;
  height: 32px;
  padding: 0 28px 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  outline: 0;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  cursor: pointer;
}

.records-limit-control select:focus-visible {
  border-color: #00b174;
  box-shadow: 0 0 0 3px rgba(0, 177, 116, 0.12);
}

.pagination-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.pagination-nav[hidden] {
  display: none;
}

.pagination-page,
.pagination-ellipsis {
  min-width: 27px;
  height: 29px;
  padding: 0 6px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}

.pagination-page:hover,
.pagination-page:focus-visible,
.pagination-ellipsis:hover,
.pagination-ellipsis:focus-visible {
  border-color: #9ddbc7;
  color: #007a50;
  outline: 0;
}

.pagination-page--current {
  border-color: #00a76f;
  color: #fff;
  background: #00a76f;
}

.pagination-page--current:hover,
.pagination-page--current:focus-visible {
  color: #fff;
  background: #008f5f;
}

.pagination-separator {
  color: var(--line-strong);
  font-size: 10px;
}

.pagination-status {
  justify-self: end;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  white-space: nowrap;
}

.pagination-jump {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
}

.pagination-jump input {
  width: 62px;
  height: 31px;
  padding: 0 7px;
  border: 1px solid #00a76f;
  border-radius: 7px;
  outline: 0;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  text-align: center;
}

.pagination-jump button {
  height: 31px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}

.pagination-jump button:hover,
.pagination-jump button:focus-visible {
  border-color: #00a76f;
  color: #007a50;
  outline: 0;
}

.policy-row {
  min-height: 66px;
  padding: 9px 20px;
  border-bottom: 1px solid #edf1f6;
  animation: row-in 240ms ease both;
}

.policy-rows > .policy-row:last-child,
.policy-entry:last-child:not(.policy-entry--expanded) .policy-row {
  border-bottom: 0;
}

.policy-entry--expanded .policy-row {
  border-bottom-color: #dce8e3;
  background: #f5faf8;
  box-shadow: inset 3px 0 0 #00a76f;
}

.policy-row--renewal-marked {
  background: #f2f4f5;
}

.policy-row--renewal-marked .cell:not(.renewal-cell) {
  color: #747f8c;
}

.policy-row--renewal-marked .cell--name,
.policy-row--renewal-marked .premium-value {
  color: #596470;
}

.policy-row--renewed {
  box-shadow: inset 3px 0 0 rgba(17, 117, 83, 0.42);
}

.policy-row--lost {
  box-shadow: inset 3px 0 0 rgba(190, 64, 64, 0.42);
}

.cell {
  min-width: 0;
  overflow: visible;
  color: #495a71;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
  text-align: center;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
}

.cell--name {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  color: var(--navy-950);
  font-weight: 800;
  text-align: left;
}

.cell--name > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.registration-pill {
  display: inline-flex;
  max-width: 100%;
  padding: 6px 9px;
  border: 1px solid #e1e7f0;
  border-radius: 7px;
  color: #41536b;
  line-height: 1.35;
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: break-word;
  background: #f8fafc;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.registration-pill--button {
  font-family: inherit;
  text-align: center;
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background-color 150ms ease;
}

.registration-pill--button:hover,
.registration-pill--button:focus-visible {
  border-color: #00a46c;
  color: #007b52;
  background: #effbf6;
  outline: none;
}


.registration-street {
  max-width: 100%;
  color: #8290a4;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.registration-value {
  display: grid;
  justify-items: center;
  gap: 5px;
}

.record-quote-button {
  min-height: 21px;
  border: 1px solid #b7d7c9;
  border-radius: 6px;
  padding: 2px 7px;
  color: #087153;
  background: #eff9f5;
  cursor: pointer;
  font: inherit;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.2;
  transition: color 140ms ease, border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.record-quote-button:hover,
.record-quote-button:focus-visible {
  border-color: #5eb997;
  color: #fff;
  outline: 0;
  background: #087153;
  transform: translateY(-1px);
}

.date-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.termination-date-cell {
  display: grid;
  justify-items: center;
  gap: 5px;
}

.termination-button {
  min-height: 21px;
  border: 1px solid #b7d7c9;
  border-radius: 6px;
  padding: 2px 7px;
  color: #087153;
  background: #eff9f5;
  cursor: pointer;
  font: inherit;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.2;
  transition: color 140ms ease, border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.termination-button:hover,
.termination-button:focus-visible {
  border-color: #5eb997;
  color: #fff;
  outline: 0;
  background: #087153;
  transform: translateY(-1px);
}

.date-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #2bb482;
}

.date-dot--soon {
  background: #efa53b;
}

.date-dot.date-dot--expired {
  background: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.13);
}

.date-dot.date-dot--unknown {
  background: #9aa5b1;
  box-shadow: none;
}

.premium-value {
  color: var(--navy-950);
  font-weight: 800;
}

.policy-number-value {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 4px;
}

.renewal-relation {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  align-self: center;
  justify-content: center;
  flex-direction: column;
  appearance: none;
  border: 0;
  border-radius: 5px;
  padding: 2px 5px;
  color: #526579;
  background: #eef2f6;
  cursor: pointer;
  font-family: inherit;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-align: center;
  transition: box-shadow 140ms ease, filter 140ms ease, transform 140ms ease;
}

.renewal-relation:hover {
  filter: brightness(0.96);
  box-shadow: 0 2px 6px rgba(29, 49, 68, 0.14);
  transform: translateY(-1px);
}

.renewal-relation:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.renewal-relation--next {
  color: #087153;
  background: #e8f7f1;
}

.contact-value {
  position: relative;
  display: flex;
  min-width: 0;
  align-self: stretch;
  align-items: center;
  color: #5c6e84;
}

.contact-value__preview {
  display: -webkit-box;
  width: 100%;
  min-width: 0;
  flex: 0 1 100%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.contact-details-button {
  position: absolute;
  right: -2px;
  bottom: -7px;
  z-index: 1;
  display: grid;
  width: 24px;
  height: 18px;
  place-items: center;
  padding: 0 0 4px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: #66778d;
  background: var(--surface);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1px;
  line-height: 1;
  transition: border-color 140ms ease, color 140ms ease, background 140ms ease, transform 140ms ease;
}

.contact-details-button:hover,
.contact-details-button:focus-visible {
  border-color: #00a76f;
  color: #007a50;
  outline: 0;
  background: rgba(0, 167, 111, 0.08);
  transform: translateY(-1px);
}

.contact-email-link {
  color: #007a45;
  font-weight: 750;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-color: rgba(0, 122, 69, 0.42);
  text-underline-offset: 2px;
}

.contact-email-link:hover,
.contact-email-link:focus-visible {
  color: #00a46c;
  outline: 0;
  text-decoration-color: currentColor;
}

.insurer-calculator-link {
  color: #007a45;
  font-weight: 800;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-color: rgba(0, 122, 69, 0.42);
  text-underline-offset: 2px;
}

.insurer-calculator-link:hover,
.insurer-calculator-link:focus-visible {
  color: #00a46c;
  outline: 0;
  text-decoration-color: currentColor;
}

.identity-number-value {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  gap: 3px;
}

.identity-number-text {
  min-width: 0;
  overflow-wrap: anywhere;
}

.identity-type-badge {
  display: inline-grid;
  min-height: 14px;
  place-items: center;
  padding: 1px 4px;
  border: 1px solid rgba(0, 122, 69, 0.34);
  border-radius: 3px;
  color: #007a45;
  background: rgba(0, 177, 116, 0.07);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: 0.07em;
  line-height: 1.15;
  text-transform: uppercase;
}

.identity-type-badge--search {
  cursor: pointer;
  text-decoration: none;
}

.identity-type-badge--search:hover,
.identity-type-badge--search:focus-visible {
  border-color: rgba(0, 122, 69, 0.62);
  color: #00653a;
  background: rgba(0, 177, 116, 0.16);
  outline: 0;
}

.copy-value-button {
  display: inline;
  max-width: 100%;
  padding: 0;
  border: 0;
  appearance: none;
  color: inherit;
  font: inherit;
  text-align: center;
  background: transparent;
  cursor: copy;
  overflow-wrap: anywhere;
}

.copy-value-button:hover,
.copy-value-button:focus-visible {
  color: #007a45;
  outline: 0;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: rgba(0, 122, 69, 0.5);
  text-underline-offset: 2px;
}

.copy-value-tooltip {
  position: fixed;
  inset: auto;
  top: 0;
  left: -9999px;
  z-index: 12000;
  margin: 0;
  padding: 4px 9px;
  border: 0;
  border-radius: 7px;
  color: #eafff5;
  background: rgba(9, 42, 32, 0.94);
  box-shadow: 0 6px 18px rgba(4, 24, 18, 0.35);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  pointer-events: none;
  animation: copy-value-tooltip-in 0.16s ease-out;
}

@keyframes copy-value-tooltip-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.renewal-cell {
  display: flex;
  min-height: 49px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  overflow: visible;
}

@media (min-width: 801px) {
  .policies-card:not(.policies-card--renewals) .policy-row--editing-with-renewals .renewal-cell--editing {
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 35px;
    justify-content: flex-start;
    flex-direction: row;
    gap: 8px;
    border-top: 1px solid rgba(58, 92, 141, 0.12);
    padding: 7px 4px 0;
  }

  .policies-card:not(.policies-card--renewals) .policy-row--editing-with-renewals .renewal-cell--editing::before {
    color: #728096;
    content: "Status wznowienia:";
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }
}

.renewal-result {
  display: inline-flex;
  min-height: 16px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  padding: 1px 5px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.025em;
  line-height: 1.2;
}

.renewal-result--renewed {
  color: #117553;
  background: #e5f7f0;
}

.renewal-result--lost {
  color: #be4040;
  background: #fff0f0;
}


.transferred-badge {
  display: none !important;
  align-items: center;
  flex-shrink: 0;
  border-radius: 5px;
  padding: 1px 5px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.025em;
  line-height: 1.2;
  color: #9a6a1f;
  background: #fdf3e2;
  cursor: help;
}

.policy-row--transferred {
  opacity: 1;
  box-shadow: none;
}

.renewal-choice {
  display: flex;
  gap: 5px;
}

.renewal-choice button {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 1px solid #dde5ef;
  border-radius: 8px;
  color: #91a0b3;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  transition: color 140ms ease, border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.renewal-choice button:hover,
.renewal-choice button:focus-visible {
  outline: 0;
  transform: translateY(-1px);
}

.renewal-choice .renewal-yes:hover,
.renewal-choice .renewal-yes:focus-visible,
.renewal-choice .renewal-yes[aria-pressed="true"] {
  border-color: #9ad8c0;
  color: #117553;
  background: #e5f7f0;
}

.renewal-choice .renewal-no:hover,
.renewal-choice .renewal-no:focus-visible,
.renewal-choice .renewal-no[aria-pressed="true"] {
  border-color: #efb5b5;
  color: #be4040;
  background: #fff0f0;
}

.edit-button,
.attachment-button {
  position: relative;
  display: inline-flex;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid #dce4ef;
  border-radius: 8px;
  padding: 0;
  color: #566a84;
  background: #fff;
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;
}

.edit-button:hover,
.edit-button:focus-visible {
  border-color: #bfd0ee;
  color: var(--blue-600);
  background: var(--blue-50);
  outline: 0;
}

.edit-button svg,
.attachment-button svg {
  width: 13px;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.attachment-button svg {
  width: 15px;
}

.attachment-button:hover,
.attachment-button:focus-visible,
.attachment-button--active {
  border-color: #8bd0b9;
  color: #007a50;
  background: #eaf8f3;
  outline: 0;
}

.attachment-button .attachment-count {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 16px;
  height: 16px;
  border: 2px solid #fff;
  padding: 0 3px;
  font-size: 7px;
}

.row-actions {
  display: grid;
  grid-template-columns: 32px;
  grid-template-rows: repeat(2, 32px);
  align-items: center;
  justify-content: center;
  gap: 4px;
  overflow: visible;
}

.row-actions .edit-button {
  grid-column: 1;
  grid-row: 1;
}

.row-actions .delete-button {
  grid-column: 1;
  grid-row: 2;
}

.delete-button {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #efcaca;
  border-radius: 8px;
  color: #c54949;
  background: #fff5f5;
  cursor: pointer;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  transition: color 140ms ease, border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.delete-button:hover,
.delete-button:focus-visible {
  border-color: #e99e9e;
  color: #fff;
  background: #d84d4d;
  outline: 0;
  transform: translateY(-1px);
}

.attachments-panel {
  position: relative;
  display: grid;
  grid-template-rows: 1fr;
  overflow: hidden;
  border-bottom: 1px solid #e2ebe7;
  opacity: 1;
  background:
    radial-gradient(circle at 100% 0, rgba(0, 167, 111, 0.08), transparent 22rem),
    #f8fbfa;
  transform: translateY(0);
  transition:
    grid-template-rows 280ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 210ms ease,
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 140ms ease;
}

.attachments-panel__clip {
  min-height: 0;
  overflow: hidden;
}

.attachments-panel__content {
  padding: 18px 28px 22px;
}

.attachments-panel--opening,
.attachments-panel--closing {
  grid-template-rows: 0fr;
  opacity: 0;
  transform: translateY(-6px);
}

.attachments-panel--closing {
  pointer-events: none;
}

.attachments-panel--dragover {
  box-shadow: inset 0 0 0 2px #00a76f;
}

.attachments-panel--dragover::after {
  position: absolute;
  z-index: 5;
  inset: 8px;
  display: grid;
  place-items: center;
  border: 2px dashed #00a76f;
  border-radius: 12px;
  color: #006b47;
  background: rgba(234, 248, 243, 0.95);
  content: "Upuść pliki, aby dodać je do polisy";
  pointer-events: none;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
}

.policy-entry:last-child .attachments-panel {
  border-bottom: 0;
}

.attachments-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.attachments-panel__header > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.attachments-panel__header > div > span:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.attachments-panel__header strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}

.attachments-panel__header small {
  color: #758498;
  font-size: 9px;
  font-weight: 650;
}

.attachments-panel__icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 10px;
  color: #007a50;
  background: #e4f6ef;
}

.attachments-panel__icon svg {
  width: 18px;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.attachments-panel__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
}

.attachments-panel__add,
.attachments-panel__download {
  display: inline-flex;
  min-height: 34px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid #83cbb3;
  border-radius: 8px;
  padding: 0 11px;
  color: #007a50;
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  transition: color 140ms ease, border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.attachments-panel__add:hover,
.attachments-panel__add:focus-visible,
.attachments-panel__download:hover,
.attachments-panel__download:focus-visible {
  border-color: #00a76f;
  color: #fff;
  outline: 0;
  background: #00a76f;
  transform: translateY(-1px);
}

.attachments-panel__add svg,
.attachments-panel__download svg {
  width: 14px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.attachment-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 12px;
}

.attachment-sections {
  display: grid;
  gap: 16px;
}

.attachment-section {
  display: flex;
  align-items: stretch;
  gap: 12px;
}


.attachment-section__label {
  overflow: hidden;
  min-height: 150px;
  flex: 0 0 auto;
  margin: 0;
  padding: 10px 1px;
  color: #246f56;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.attachment-section__divider {
  flex: 0 0 auto;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #00a76f, rgba(0, 167, 111, 0.12));
}

.attachment-section .attachment-tiles {
  min-width: 0;
  flex: 1;
}

.attachment-tile {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dbe5e1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(31, 65, 53, 0.07);
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.attachment-tile:hover,
.attachment-tile:focus-within {
  border-color: #9bcfbd;
  box-shadow: 0 10px 25px rgba(31, 97, 74, 0.12);
  transform: translateY(-2px);
}

.attachment-tile__preview {
  position: relative;
  display: grid;
  height: 164px;
  place-items: center;
  overflow: hidden;
  background:
    linear-gradient(45deg, #eef2f0 25%, transparent 25%),
    linear-gradient(-45deg, #eef2f0 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #eef2f0 75%),
    linear-gradient(-45deg, transparent 75%, #eef2f0 75%),
    #f8faf9;
  background-position: 0 0, 0 7px, 7px -7px, -7px 0;
  background-size: 14px 14px;
}

.attachment-tile__preview > img,
.attachment-tile__pdf-preview {
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: contain;
  background: #fff;
  pointer-events: none;
}

.attachment-tile__file-placeholder {
  display: grid;
  width: 72px;
  height: 88px;
  place-items: center;
  border: 2px solid #70ae98;
  border-radius: 12px;
  color: #246f56;
  background: rgba(255, 255, 255, 0.88);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0.08em;
  box-shadow: 0 8px 20px rgba(31, 97, 74, 0.12);
}

.attachment-tile__file-placeholder--loading {
  animation: attachment-preview-loading 900ms ease-in-out infinite alternate;
}

.attachment-tile__file-placeholder--error {
  border-color: #cf8a8a;
  color: #a54848;
}

@keyframes attachment-preview-loading {
  from {
    opacity: 0.45;
    transform: scale(0.97);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.attachment-tile__open {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  border: 0;
  color: #fff;
  background: rgba(10, 43, 33, 0);
  cursor: pointer;
  opacity: 0;
  transition: opacity 150ms ease, background 150ms ease;
}

.attachment-tile__open:hover,
.attachment-tile__open:focus-visible {
  outline: 0;
  background: rgba(10, 43, 33, 0.42);
  opacity: 1;
}

.attachment-tile__open svg {
  width: 28px;
  padding: 5px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.35);
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.attachment-tile__type {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
  border-radius: 6px;
  padding: 4px 6px;
  color: #fff;
  background: rgba(24, 39, 34, 0.78);
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.15);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 0.06em;
  pointer-events: none;
}

.attachment-tile__meta {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 10px 11px 12px;
}

.attachment-tile__meta > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.attachment-tile__meta strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attachment-tile__meta small {
  color: var(--muted);
  font-size: 8px;
  font-weight: 650;
}

.attachment-tile__remove {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #f0d0d0;
  border-radius: 7px;
  color: #bd4c4c;
  background: #fff7f7;
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
}

.attachment-tile__remove:hover,
.attachment-tile__remove:focus-visible {
  border-color: #cf4c4c;
  color: #fff;
  outline: 0;
  background: #cf4c4c;
}

.attachments-panel__empty {
  display: grid;
  min-height: 82px;
  place-items: center;
  gap: 6px;
  border: 1px dashed #b9d4ca;
  border-radius: 11px;
  padding: 18px;
  color: #758498;
  background: rgba(255, 255, 255, 0.62);
  font-size: 10px;
  font-weight: 700;
  text-align: center;
}

.attachments-panel__empty small {
  color: #60766e;
  font-size: 9px;
  font-weight: 650;
}

.policy-row--editing {
  min-height: 72px;
  cursor: default;
  background: #f5f8ff;
  box-shadow: inset 3px 0 0 var(--blue-600);
}

.policy-row--editing.policy-row--renewal-marked {
  background: #eef1f2;
}

.policy-row--editing.policy-row--renewed {
  box-shadow: inset 3px 0 0 rgba(17, 117, 83, 0.42);
}

.policy-row--editing.policy-row--lost {
  box-shadow: inset 3px 0 0 rgba(190, 64, 64, 0.42);
}

.inline-field {
  display: block;
  min-width: 0;
}

.inline-label {
  display: none;
}

.inline-field input,
.inline-field textarea {
  width: 100%;
  height: 38px;
  border: 1px solid #ccd8e8;
  outline: 0;
  border-radius: 8px;
  padding: 0 10px;
  color: var(--navy-950);
  background: #fff;
  font-size: 10px;
  font-weight: 650;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.inline-field textarea {
  min-height: 38px;
  max-height: 150px;
  padding: 9px 10px;
  overflow: hidden;
  line-height: 1.4;
  overflow-wrap: anywhere;
  resize: none;
  white-space: pre-wrap;
}

.inline-field input:focus,
.inline-field textarea:focus {
  border-color: rgba(36, 107, 254, 0.65);
  box-shadow: 0 0 0 3px rgba(36, 107, 254, 0.08);
}

.inline-field input[type="date"] {
  color: #596a80;
}

.inline-actions {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.inline-actions button {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 9px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
  transition: transform 140ms ease, filter 140ms ease;
}

.inline-actions button:hover,
.inline-actions button:focus-visible {
  outline: 0;
  transform: translateY(-1px);
}

.inline-save {
  border: 0;
  color: #fff;
  background: #23956f;
  box-shadow: 0 5px 12px rgba(35, 149, 111, 0.2);
}

.inline-cancel {
  border: 1px solid #d9e1ec;
  color: #7c899a;
  background: #fff;
}

.inline-cancel:hover,
.inline-cancel:focus-visible {
  color: #bd4545;
  background: #fff3f3;
}

.row-status {
  display: inline-flex;
  width: max-content;
  align-items: center;
  justify-content: center;
  padding: 5px 8px;
  border-radius: 6px;
  color: var(--success);
  background: #e9f7f1;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.row-status--soon {
  color: var(--warning);
  background: #fff4df;
}

.row-status--expired {
  color: var(--danger);
  background: #fff0f0;
}

.row-status--unknown {
  color: #778598;
  background: #f0f3f7;
}

.empty-state {
  display: grid;
  min-height: 215px;
  place-items: center;
  align-content: center;
  padding: 34px 24px;
  text-align: center;
}

.empty-state[hidden] {
  display: none;
}

.empty-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  color: #6284bc;
  background: #edf3fc;
}

.empty-icon svg {
  width: 24px;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.empty-state h3 {
  margin: 13px 0 6px;
  color: var(--navy-900);
  font-size: 14px;
  font-weight: 800;
}

.empty-state p {
  max-width: 390px;
  margin: 0;
  color: #8491a2;
  font-size: 11px;
  line-height: 1.55;
}

footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 3px 0;
  color: #8d98a9;
  font-size: 9px;
  font-weight: 600;
}

.footer-support {
  flex: 1 1 auto;
  color: #65758a;
  text-align: center;
  text-decoration: none;
  transition: color 150ms ease;
}

.footer-support:hover,
.footer-support:focus-visible {
  color: #00a46c;
  outline: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-company {
  flex: 0 0 auto;
  color: inherit;
  text-decoration: none;
  transition: color 150ms ease;
}

.footer-company:hover,
.footer-company:focus-visible {
  color: #00a46c;
  outline: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.edit-dialog {
  width: min(620px, calc(100% - 32px));
  max-width: 620px;
  border: 0;
  border-radius: 18px;
  padding: 0;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 24px 80px rgba(11, 31, 58, 0.25);
}

.edit-dialog::backdrop {
  background: rgba(11, 31, 58, 0.48);
  backdrop-filter: blur(3px);
}

.edit-form {
  padding: 26px;
}

.edit-dialog__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.edit-dialog__heading h2 {
  margin: 6px 0 0;
  color: var(--navy-950);
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.dialog-close {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #e0e6ef;
  border-radius: 9px;
  color: #7d8999;
  background: #fff;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}

.dialog-close:hover,
.dialog-close:focus-visible {
  color: var(--navy-950);
  background: #f5f7fa;
  outline: 0;
}

.edit-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
  padding: 24px 0;
}

.edit-field {
  display: block;
  min-width: 0;
}

.edit-field--wide {
  grid-column: 1 / -1;
}

.edit-field > span:first-child {
  display: block;
  margin: 0 0 7px 2px;
  color: #66768c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.edit-field input,
.edit-field textarea {
  width: 100%;
  border: 1px solid #dce3ed;
  outline: 0;
  border-radius: 9px;
  color: var(--navy-950);
  background: #fff;
  font-size: 12px;
  font-weight: 600;
}

.edit-field input {
  height: 44px;
  padding: 0 12px;
}

.edit-field textarea {
  min-height: 86px;
  padding: 11px 12px;
  line-height: 1.5;
  resize: vertical;
}

.edit-field input:focus,
.edit-field textarea:focus {
  border-color: rgba(36, 107, 254, 0.6);
  box-shadow: 0 0 0 3px rgba(36, 107, 254, 0.08);
}

.edit-field .premium-input > span {
  display: inline;
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
}

.edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.secondary-button,
.save-button {
  display: inline-flex;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  padding: 0 16px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
}

.secondary-button {
  border: 1px solid #dce3ed;
  color: #65758a;
  background: #fff;
}

.secondary-button:hover,
.secondary-button:focus-visible {
  color: var(--navy-950);
  background: #f7f9fc;
  outline: 0;
}

.save-button {
  gap: 6px;
  border: 0;
  color: #fff;
  background: linear-gradient(145deg, var(--blue-500), #1e62ee);
  box-shadow: 0 7px 16px rgba(36, 107, 254, 0.2);
}

.save-button:hover,
.save-button:focus-visible {
  filter: brightness(1.04);
  outline: 0;
}

.save-button svg {
  width: 15px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.attachment-progress {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(17, 43, 34, 0.34);
  backdrop-filter: blur(3px);
}

.attachment-progress[hidden] {
  display: none;
}

.attachment-progress__panel {
  display: flex;
  width: min(440px, 100%);
  align-items: center;
  gap: 17px;
  padding: 22px 24px;
  border: 1px solid #cfe7de;
  border-radius: 16px;
  color: #17352b;
  background: #fff;
  box-shadow: 0 22px 65px rgba(17, 55, 42, 0.25);
}

.attachment-progress__spinner {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border: 4px solid #dcefe8;
  border-top-color: #00a76f;
  border-radius: 50%;
  animation: attachment-spinner 750ms linear infinite;
}

.attachment-progress__content {
  display: grid;
  min-width: 0;
  flex: 1;
  gap: 5px;
}

.attachment-progress__content strong {
  font-size: 14px;
  font-weight: 850;
}

.attachment-progress__content small {
  overflow: hidden;
  color: #66756f;
  font-size: 11px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attachment-progress progress {
  width: 100%;
  height: 7px;
  margin-top: 5px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #e7f1ed;
  accent-color: #00a76f;
}

.attachment-progress progress::-webkit-progress-bar {
  border-radius: 999px;
  background: #e7f1ed;
}

.attachment-progress progress::-webkit-progress-value {
  border-radius: 999px;
  background: linear-gradient(90deg, #00a76f, #25c68f);
}

@keyframes attachment-spinner {
  to {
    transform: rotate(360deg);
  }
}


.notification-dock {
  --notification-dock-bottom: 24px;
  position: fixed;
  inset: auto 24px var(--notification-dock-bottom) auto;
  z-index: 2000;
  display: none;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  width: auto;
  height: auto;
  max-width: min(480px, calc(100vw - 48px));
  margin: 0;
  border: 0;
  padding: 0;
  overflow: visible;
  color: inherit;
  background: transparent;
  pointer-events: none;
}

.notification-dock:popover-open,
.notification-dock--fixed {
  display: flex;
}


body:has(.portfolio-import-mini:not([hidden])) .notification-dock {
  --notification-dock-bottom: 104px;
}

.toast-stack {
  display: flex;
  flex-direction: column;
  align-items: inherit;
  gap: 10px;
}

.toast-stack:empty {
  display: none;
}

.toast {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 17px;
  border: 1px solid #d9ece5;
  border-radius: 11px;
  color: #155f48;
  background: #fff;
  box-shadow: 0 12px 38px rgba(25, 55, 46, 0.16);
  font-size: 11px;
  font-weight: 800;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.toast > span:first-child {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #28a778;
}

.toast[data-type="error"] {
  border-color: #efc4c4;
  color: #8a3030;
}

.toast[data-type="error"] > span:first-child {
  background: #c64a4a;
}

.toast[data-type="warning"] {
  border-color: #e5c777;
  color: #785a0d;
}

.toast[data-type="warning"] > span:first-child {
  background: #c69019;
}

.toast[data-type="music"] {
  border-color: #cdd2ef;
  color: #464b96;
}

.toast[data-type="music"] > span:first-child {
  background: #5f66c9;
}

.toast-message {
  display: inline;
}

.toast--visible {
  opacity: 1;
  transform: translateY(0);
}

.page-scroll-controls {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(132px, calc(env(safe-area-inset-bottom) + 132px));
  z-index: 9;
  display: grid;
  gap: 8px;
}

.page-scroll-controls[hidden] {
  display: none;
}

.page-scroll-controls button {
  display: inline-flex;
  min-width: 92px;
  height: 38px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--navy-700);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 24px rgba(25, 55, 46, 0.16);
  backdrop-filter: blur(8px);
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease, transform 160ms ease, opacity 160ms ease;
}

.page-scroll-controls button:hover:not(:disabled),
.page-scroll-controls button:focus-visible {
  border-color: var(--success);
  color: var(--success-dark);
  background: #f2fff9;
  transform: translateY(-1px);
}

.page-scroll-controls button:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--success) 36%, transparent);
  outline-offset: 2px;
}

.page-scroll-controls button:disabled {
  opacity: 0.42;
  cursor: default;
}

.page-scroll-controls svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 1280px) {
  .page-scroll-controls {
    right: 0;
  }

  .page-scroll-controls button {
    min-width: 0;
    width: 40px;
    padding: 0;
    border-right: 0;
    border-radius: 10px 0 0 10px;
  }

  .page-scroll-controls button span {
    display: none;
  }
}

@keyframes row-in {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 800px) {
  .deleted-record-card {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .deleted-record-actions {
    justify-content: flex-start;
  }

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

  .merge-conflict-comparison {
    grid-template-columns: 1fr;
  }

  .entry-organizer-comparison {
    grid-template-columns: 1fr;
  }

  .entry-organizer-arrow {
    min-height: 22px;
    transform: rotate(90deg);
  }

  .merge-record-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-fields-grid {
    grid-template-columns: 1fr;
  }

  .merge-files-grid {
    grid-template-columns: 1fr;
  }

  .merge-databases-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .page-shell {
    padding: 0 18px 24px;
  }

  .hero {
    padding: 18px 4px 20px;
  }

  .search-box {
    height: 62px;
    margin-top: 0;
    padding-left: 19px;
  }

  .card-heading {
    padding: 13px 20px;
  }

  .heading-actions {
    align-items: flex-end;
    gap: 10px;
  }

  .topbar .renewal-filter {
    padding: 0 7px;
  }

  .topbar .renewal-filter > span {
    display: none;
  }

  .table-scroll {
    overflow: visible;
  }

  .records-pagination-bar {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 9px;
    padding: 13px 20px;
  }

  .records-limit-control,
  .pagination-status {
    justify-self: center;
  }

  .policy-grid--labels {
    display: none;
  }

  .policy-grid {
    min-width: 0;
  }

  .policy-grid--form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 20px 20px 12px;
  }

  .policy-grid--form > label:last-of-type {
    grid-column: auto;
  }

  .form-date-field--hidden {
    display: none;
  }

  .policies-card--renewals .policy-grid--form,
  .policies-card--renewals .policy-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
  }

  .policies-card--renewals .policy-grid--form::before {
    display: none;
  }

  .policies-card--renewals .policy-grid--form > label:last-of-type {
    grid-column: auto;
  }

  .mobile-label {
    display: block;
    margin: 0 0 6px 2px;
    color: #728096;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .inline-label {
    display: block;
    margin: 0 0 6px 2px;
    color: #728096;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .inline-actions {
    align-self: end;
  }

  .add-button {
    align-self: end;
  }

  .policy-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
    padding: 18px 20px;
  }

  .cell {
    overflow: visible;
    white-space: normal;
  }

  .cell::before {
    display: block;
    margin-bottom: 5px;
    color: #8793a4;
    content: attr(data-label);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  .cell--name {
    grid-column: 1 / -1;
  }

  .renewal-cell {
    grid-column: 1 / -1;
  }

  .cell--name::before {
    display: none;
  }

  .cell--status {
    display: flex;
    align-self: end;
  }

  .cell--actions::before {
    display: none;
  }

  .pending-attachments,
  .attachments-panel__content {
    padding-right: 20px;
    padding-left: 20px;
  }

  .attachment-tiles {
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  }

  .edit-dialog {
    max-height: calc(100% - 24px);
  }
}

@media (max-width: 520px) {
  .contact-details-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .contact-details-panel {
    max-height: calc(100vh - 20px);
  }

  .contact-details-content {
    padding: 18px 16px 20px;
  }

  .contact-details-record {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .contact-details-record span {
    text-align: left;
  }

  .vehicle-details-grid {
    grid-template-columns: 1fr;
  }

  .vehicle-details-value-display {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .contact-details-field textarea {
    min-height: 230px;
  }

  .print-options-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .print-options-panel {
    max-height: calc(100vh - 20px);
  }

  .print-options-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .print-options-toolbar > span {
    justify-content: space-between;
  }

  .print-columns-grid {
    grid-template-columns: 1fr;
  }

  .print-options-footer {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .merge-conflict-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .entry-organizer-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .deleted-records-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .deleted-records-panel {
    max-height: calc(100vh - 20px);
  }

  .deleted-records-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .deleted-records-delete-all {
    width: 100%;
  }

  .entry-organizer-panel {
    max-height: calc(100vh - 20px);
  }

  .entry-organizer-header {
    padding: 16px;
  }

  .entry-organizer-copy {
    padding: 11px 16px 0;
  }

  .entry-organizer-comparison {
    padding: 13px 16px 16px;
  }

  .entry-organizer-record-details {
    grid-template-columns: 1fr;
  }

  .entry-organizer-footer {
    display: grid;
    grid-template-columns: 1fr;
    padding: 14px 16px;
  }

  .entry-organizer-skip-all-button {
    margin-right: 0;
  }

  .merge-conflict-panel {
    max-height: calc(100vh - 20px);
  }

  .merge-conflict-header {
    padding: 16px;
  }

  .merge-conflict-copy {
    padding: 10px 16px 0;
  }

  .merge-conflict-comparison {
    padding: 13px 16px 16px;
  }

  .merge-record-details {
    grid-template-columns: 1fr;
  }

  .welcome-dialog {
    width: calc(100vw - 20px);
  }

  .welcome-panel {
    padding: 28px 20px 24px;
  }

  .welcome-file-card {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .welcome-file-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .settings-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .settings-panel {
    max-height: calc(100vh - 20px);
  }

  .settings-header,
  .settings-footer {
    padding: 14px 16px;
  }

  .settings-tabs {
    gap: 5px;
    padding: 9px 16px;
  }

  .settings-tab {
    flex: 1 1 0;
    padding: 0 8px;
    font-size: 9px;
  }

  .settings-content {
    padding: 0 16px;
  }

  .insurer-add-form,
  .insurer-settings-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .insurer-settings-remove {
    width: 38px;
    align-self: auto;
  }

  .insurer-settings-actions {
    width: 100%;
    justify-content: flex-end;
  }

  .insurer-settings-order {
    grid-template-columns: 38px 38px;
  }

  .insurer-settings-order button {
    width: 38px;
    height: 36px;
  }

  .entry-organizer-settings-row {
    align-items: stretch;
    flex-direction: column;
  }

  .logo-setting-row {
    align-items: stretch;
    flex-direction: column;
  }

  .logo-setting-controls {
    flex-basis: auto;
  }

  .logo-preview-frame {
    width: 100%;
  }

  .logo-setting-actions,
  .settings-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 76px;
    gap: 9px;
  }

  .brand {
    width: 98px;
    height: 46px;
    padding: 5px 7px;
  }

  .record-counter {
    padding: 7px 10px;
    font-size: 10px;
  }

  .topbar-actions {
    display: grid;
    grid-template-columns: auto auto auto;
    grid-template-rows: auto auto;
    gap: 3px 6px;
  }

  .today-date {
    grid-column: 1;
    grid-row: 1;
    padding: 2px 8px;
    border: 0;
    background: transparent;
    font-size: 9px;
    text-align: center;
  }

  .today-date small {
    font-size: 7px;
  }

  .record-counter {
    grid-column: 1;
    grid-row: 2;
  }

  .topbar .renewal-filter {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
  }

  .settings-gear {
    grid-column: 3;
    grid-row: 1 / 3;
  }

  .theme-toggle {
    padding: 0 8px;
  }

  .theme-toggle__sun,
  .theme-toggle__moon,
  .theme-toggle__label {
    display: none;
  }

  .search-box input {
    padding-right: 5px;
    font-size: 13px;
  }

  .search-tools {
    align-items: flex-start;
  }

  .date-search-controls,
  .date-range-filter {
    flex-wrap: wrap;
  }

  .date-search-controls {
    gap: 5px 10px;
  }

  .date-range-filter {
    width: 100%;
  }

  .date-range-filter label {
    flex: 1 1 145px;
  }

  .date-range-filter input {
    width: 100%;
  }

  .form-utility-row {
    grid-template-columns: 1fr;
    padding: 5px 20px 14px;
  }

  .form-file-actions {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .clear-form-button {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
  }

  .form-submit-actions {
    grid-column: 1;
    grid-row: 3;
    justify-self: end;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .pending-attachments__heading,
  .attachments-panel__header {
    align-items: stretch;
    flex-direction: column;
  }

  .attachments-panel__actions {
    align-self: flex-start;
    flex-wrap: wrap;
  }

  .attachment-tiles {
    grid-template-columns: 1fr;
  }

  .attachment-section {
    flex-direction: column;
    gap: 8px;
  }

  .attachment-section__label {
    min-height: 0;
    padding: 0;
    writing-mode: initial;
    transform: none;
    text-align: left;
  }

  .attachment-section__divider {
    width: auto;
    height: 3px;
    background: linear-gradient(90deg, #00a76f, rgba(0, 167, 111, 0.12));
  }

  .attachment-tile__preview {
    height: 190px;
  }

  .card-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .heading-actions {
    width: 100%;
    align-items: center;
    justify-content: space-between;
  }

  .data-file-bar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    padding: 14px 20px;
  }

  .data-file-actions {
    width: 100%;
  }

  .data-file-button {
    flex: 1;
  }

  .data-file-status small {
    white-space: normal;
  }

  .results-summary {
    text-align: right;
  }

  .policy-grid--form,
  .policy-row {
    grid-template-columns: 1fr;
  }

  .policies-card--renewals .policy-grid--form,
  .policies-card--renewals .policy-row {
    grid-template-columns: 1fr;
  }

  .policy-row .cell--name {
    grid-column: auto;
  }

  .add-button {
    margin-top: 3px;
  }

  footer {
    display: block;
    line-height: 1.8;
    text-align: center;
  }

  footer span {
    display: block;
  }

  .footer-support {
    display: block;
    margin: 5px 0;
  }

  .footer-company {
    display: block;
  }

  .notification-dock {
    --notification-dock-bottom: 14px;
    inset: auto 14px var(--notification-dock-bottom) 14px;
    max-width: none;
    align-items: stretch;
  }

  .toast {
    justify-content: center;
  }

  .edit-form {
    padding: 20px;
  }

  .edit-fields {
    grid-template-columns: 1fr;
  }

  .edit-field--wide {
    grid-column: auto;
  }

  .edit-actions {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
  }
}

html[data-theme="dark"] {
  color-scheme: dark;
  --navy-950: #f5f7f6;
  --navy-900: #e9fffc;
  --navy-700: #bbbcbe;
  --blue-600: #00b174;
  --blue-500: #08c184;
  --blue-100: #143d31;
  --blue-50: #102a23;
  --ink: #f0f3f2;
  --muted: #a9abad;
  --line: #3b4144;
  --surface: #2b2f33;
  --canvas: #1d1d1d;
  --success: #00b174;
}

html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 50% 0, rgba(0, 177, 116, 0.12), transparent 30rem),
    var(--canvas);
}

html[data-theme="dark"] .page-shell {
  width: min(1480px, 100%);
  padding-top: 0;
}

html[data-theme="dark"] .hero {
  border-color: #373d40;
  background:
    linear-gradient(180deg, rgba(29, 33, 31, 0.82), rgba(29, 33, 31, 0.91)),
    url("assets/mountain-login.jpg") center 48% / cover no-repeat;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

html[data-theme="dark"] .welcome-file-card {
  background: #24282a;
}

html[data-theme="dark"] .welcome-file-card[data-ready="true"] {
  border-color: #18785b;
  background: #17372d;
}

html[data-theme="dark"] .welcome-file-number {
  color: #75e2bd;
  background: #173e31;
}

html[data-theme="dark"] .welcome-quick-card {
  border-color: #1d5a45;
  background: #20302a;
}

html[data-theme="dark"] .welcome-quick-card .welcome-file-number {
  color: #0f2a20;
  background: #2ec592;
}

html[data-theme="dark"] .welcome-file-card[data-ready="true"] .welcome-file-description small,
html[data-theme="dark"] .welcome-setup-hint[data-ready="true"] {
  color: #75e2bd;
}

html[data-theme="dark"] .welcome-file-actions button,
html[data-theme="dark"] .attachments-info-actions #attachmentsInfoCancel {
  border-color: #4a5154;
  color: #d5dbd8;
  background: #2b2f33;
}

html[data-theme="dark"] .welcome-button:disabled,
html[data-theme="dark"] .welcome-button:disabled:hover {
  border-color: #454b4e;
  color: #7f8784;
  background: #303537;
}

html[data-theme="dark"] .topbar {
  min-height: 76px;
  padding: 8px 14px;
  border: 1px solid #373d40;
  border-radius: 22px;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

html[data-theme="dark"] .brand {
  background: transparent;
  box-shadow: none;
}

@media (max-width: 1500px) {
  html[data-theme="dark"] .topbar {
    padding-right: 56px;
  }
}

@media (max-width: 800px) {
  html[data-theme="dark"] .topbar {
    border-radius: 16px;
  }
}

html[data-theme="dark"] .record-counter,
html[data-theme="dark"] .today-date,
html[data-theme="dark"] .settings-gear,
html[data-theme="dark"] .screen-lock-button,
html[data-theme="dark"] .search-box,
html[data-theme="dark"] .renewal-filter {
  border-color: #454b4e;
  background: #2b2f33;
}

html[data-theme="dark"] .search-box {
  background: rgba(43, 47, 51, 0.68);
  backdrop-filter: blur(2px) saturate(1.08);
}

html[data-theme="dark"] .renewal-filter[aria-pressed="true"] {
  border-color: #6f9dff;
  box-shadow: 0 0 0 3px rgba(111, 157, 255, 0.24);
}

html[data-theme="dark"] .today-date small {
  color: #9db4ac;
}

html[data-theme="dark"] .today-date:hover,
html[data-theme="dark"] .today-date:focus-visible {
  border-color: #d6a72c;
  color: #ffd970;
  background: #3b3420;
}

html[data-theme="dark"] .today-tasks-badge {
  border-color: #2b2f33;
  color: #2e2100;
  background: #f4bd32;
}

html[data-theme="dark"] .today-renewals-badge {
  border-color: #2b2f33;
  color: #eef5ff;
  background: #3f78d4;
}

html[data-theme="dark"] .calendar-month-section {
  background: #222628;
}

html[data-theme="dark"] .calendar-month-toolbar button,
html[data-theme="dark"] .calendar-go-today,
html[data-theme="dark"] .calendar-task-form input {
  border-color: #454b4e;
  color: #e5e9e7;
  background: #2b2f33;
}

html[data-theme="dark"] .calendar-month-toolbar button:hover,
html[data-theme="dark"] .calendar-month-toolbar button:focus-visible,
html[data-theme="dark"] .calendar-go-today:hover,
html[data-theme="dark"] .calendar-go-today:focus-visible,
html[data-theme="dark"] .calendar-day:hover,
html[data-theme="dark"] .calendar-day:focus-visible {
  border-color: #168b66;
  color: #72e6bd;
  background: #173b30;
}

html[data-theme="dark"] .calendar-day--today {
  border-color: #8a722e;
  color: #f3cf69;
  background: #39331f;
}

html[data-theme="dark"] .calendar-day--selected,
html[data-theme="dark"] .calendar-day--selected:hover,
html[data-theme="dark"] .calendar-day--selected:focus-visible {
  border-color: #08c184;
  color: #fff;
  background: #008f5f;
}

html[data-theme="dark"] .calendar-day__renewals {
  color: #eef5ff;
  background: #3f78d4;
  box-shadow: none;
}

html[data-theme="dark"] .calendar-day--selected .calendar-day__renewals {
  color: #173d79;
  background: #dce9ff;
}

html[data-theme="dark"] .calendar-task-row {
  border-color: #41484a;
  background: #24282a;
}

html[data-theme="dark"] .calendar-task-check {
  border-color: #555d62;
  color: #a2aaae;
  background: #303538;
}

html[data-theme="dark"] .calendar-task-check:hover,
html[data-theme="dark"] .calendar-task-check:focus-visible {
  border-color: #747e84;
  color: #d0d5d7;
  background: #3a4044;
}

html[data-theme="dark"] .calendar-task-check[aria-pressed="true"],
html[data-theme="dark"] .calendar-task-check[aria-pressed="true"]:hover,
html[data-theme="dark"] .calendar-task-check[aria-pressed="true"]:focus-visible {
  border-color: #08c184;
  color: #fff;
  background: #008f5f;
}

html[data-theme="dark"] .calendar-renewals {
  border-color: #344c70;
  background: linear-gradient(180deg, #202b3a 0, #1e2835 100%);
}

html[data-theme="dark"] .calendar-renewals-header span {
  color: #81aef2;
}

html[data-theme="dark"] .calendar-renewals-empty {
  border-color: #3b5580;
  color: #9db8dd;
}

html[data-theme="dark"] .calendar-renewals-hidden-restore {
  color: #81aef2;
}

html[data-theme="dark"] .calendar-renewals-hidden-restore:hover,
html[data-theme="dark"] .calendar-renewals-hidden-restore:focus-visible {
  color: #a9c8f7;
}

html[data-theme="dark"] .calendar-renewal-menu {
  border-color: #454b4e;
  background: #24282a;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.5);
}

html[data-theme="dark"] .calendar-renewal-menu button {
  color: #cdd4d2;
}

html[data-theme="dark"] .calendar-renewal-menu button:hover,
html[data-theme="dark"] .calendar-renewal-menu button:focus-visible {
  color: #72e6bd;
  background: #173b30;
}

html[data-theme="dark"] .calendar-renewal-menu button[data-renewal-menu-action="hide"] {
  color: #e19b96;
}

html[data-theme="dark"] .calendar-renewal-menu button[data-renewal-menu-action="hide"]:hover,
html[data-theme="dark"] .calendar-renewal-menu button[data-renewal-menu-action="hide"]:focus-visible {
  color: #ffb0aa;
  background: #55302f;
}

html[data-theme="dark"] .calendar-renewed-result:hover,
html[data-theme="dark"] .calendar-renewed-result:focus-visible {
  border-color: #168b66;
  background: #173b30;
}

html[data-theme="dark"] .calendar-renewal-row {
  border-color: #3b4b61;
  background: rgba(42, 49, 59, 0.92);
  box-shadow: none;
}

html[data-theme="dark"] .calendar-renewal-row:hover,
html[data-theme="dark"] .calendar-renewal-row:focus-visible {
  border-color: #547bb5;
  background: #303a48;
  box-shadow: none;
}

html[data-theme="dark"] .calendar-renewal-status--pending {
  color: #b9d3ff;
  background: #263f66;
}

html[data-theme="dark"] .calendar-renewal-status--renewed {
  color: #8ee6c5;
  background: #1d493a;
}

html[data-theme="dark"] .calendar-renewal-status--lost {
  color: #ffb0aa;
  background: #55302f;
}

html[data-theme="dark"] .record-counter__copy small {
  color: #9db4ac;
}

html[data-theme="dark"] .settings-gear:hover,
html[data-theme="dark"] .settings-gear:focus-visible {
  border-color: #00b174;
  color: #08c184;
  background: #143d31;
}

html[data-theme="dark"] .screen-lock-button:hover,
html[data-theme="dark"] .screen-lock-button:focus-visible {
  border-color: #6f9dff;
  color: #9cbcff;
  background: #1d304d;
}

html[data-theme="dark"] .data-file-bar {
  background: #24282a;
}

html[data-theme="dark"] .data-file-button {
  border-color: #4a5154;
  color: #c5c5c5;
  background: #2b2f33;
}

html[data-theme="dark"] .data-file-button:hover,
html[data-theme="dark"] .data-file-button:focus-visible {
  border-color: #00b174;
  color: #e9fffc;
}

html[data-theme="dark"] .data-file-button--primary {
  border-color: #00b174;
  color: #fff;
  background: #00b174;
}

html[data-theme="dark"] .data-file-button--primary:hover,
html[data-theme="dark"] .data-file-button--primary:focus-visible {
  border-color: #08c184;
  background: #007a45;
}

html[data-theme="dark"] .theme-toggle__track {
  background: #4a5053;
}

html[data-theme="dark"] .theme-toggle[aria-pressed="true"] .theme-toggle__track {
  background: var(--blue-600);
}

html[data-theme="dark"] .theme-toggle__knob {
  background: #f5f7f6;
}

html[data-theme="dark"] .date-filter-toggle,
html[data-theme="dark"] .clear-search-filters,
html[data-theme="dark"] .date-range-filter label {
  color: #a9adaf;
}

html[data-theme="dark"] .date-filter-toggle:hover,
html[data-theme="dark"] .date-filter-toggle:focus-visible,
html[data-theme="dark"] .date-filter-toggle--active,
html[data-theme="dark"] .clear-search-filters:hover,
html[data-theme="dark"] .clear-search-filters:focus-visible {
  color: #25d49b;
}

html[data-theme="dark"] .usage-guide-button {
  border-color: #327a61;
  color: #75e2bd;
  background: rgba(23, 55, 45, 0.96);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
}

html[data-theme="dark"] .usage-guide-button:hover,
html[data-theme="dark"] .usage-guide-button:focus-visible,
html[data-theme="dark"] .usage-guide-button[aria-pressed="true"] {
  border-color: #08c184;
  color: #eafff7;
  background: #176d53;
}

html[data-theme="dark"] .date-range-filter input {
  border-color: #4a5053;
  color: #f1f3f2;
  background: #212121;
  color-scheme: dark;
}

html[data-theme="dark"] .policies-card {
  border-color: #3d4346;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.22);
}

html[data-theme="dark"] .policy-grid--labels {
  color: #bbbcbe;
  background: #1d1d1d;
}

html[data-theme="dark"] .reset-sorting-button {
  border-color: #176d53;
  color: #75e2bd;
  background: #17372d;
}

html[data-theme="dark"] .reset-sorting-button:hover,
html[data-theme="dark"] .reset-sorting-button:focus-visible {
  border-color: #08c184;
  color: #d9fff1;
  background: #1b4638;
}

html[data-theme="dark"] .reset-sorting-button:disabled {
  border-color: #454b4e;
  color: #8d9491;
  background: transparent;
}

html[data-theme="dark"] .policy-grid--form {
  border-color: #3e4548;
  background: linear-gradient(90deg, #212121, #2b2f33);
}

html[data-theme="dark"] .form-utility-row {
  border-color: #3e4548;
  background: linear-gradient(90deg, #212121, #2b2f33);
}

html[data-theme="dark"] .pending-attachments {
  border-color: #3e4548;
  background: linear-gradient(90deg, #212121, #2b2f33);
}

html[data-theme="dark"] .pending-attachments__heading {
  color: #aeb5b2;
}

html[data-theme="dark"] .pending-attachment-chip {
  border-color: #454c4f;
  background: #24282a;
}

html[data-theme="dark"] .pending-attachment-chip__preview {
  background: #343a3d;
}

html[data-theme="dark"] .renewal-window-switch {
  border-color: #176d53;
  background: #17372d;
}

html[data-theme="dark"] .renewal-window-switch button {
  color: #aeb8b4;
}

html[data-theme="dark"] .renewal-window-switch button:hover,
html[data-theme="dark"] .renewal-window-switch button:focus-visible {
  color: #8ff0cd;
  background: rgba(0, 177, 116, 0.16);
}

html[data-theme="dark"] .renewal-window-switch button[aria-pressed="true"] {
  color: #fff;
  background: #00a76f;
}

html[data-theme="dark"] .renewal-expired-toggle {
  border-left-color: #176d53;
  color: #c1cbc7;
}

html[data-theme="dark"] .records-pagination-bar {
  border-color: #3e4548;
  background: #242729;
}

html[data-theme="dark"] .records-limit-control select,
html[data-theme="dark"] .pagination-jump input,
html[data-theme="dark"] .pagination-jump button {
  border-color: #4a5154;
  color: #f3f5f4;
  background: #2b2f33;
  color-scheme: dark;
}

html[data-theme="dark"] .pagination-page:hover,
html[data-theme="dark"] .pagination-page:focus-visible,
html[data-theme="dark"] .pagination-ellipsis:hover,
html[data-theme="dark"] .pagination-ellipsis:focus-visible {
  border-color: #087955;
  color: #72e6bd;
}

html[data-theme="dark"] .pagination-page--current,
html[data-theme="dark"] .pagination-page--current:hover,
html[data-theme="dark"] .pagination-page--current:focus-visible {
  border-color: #00a76f;
  color: #fff;
  background: #00a76f;
}

html[data-theme="dark"] .print-policies-button {
  border-color: #007a45;
  color: #75e2bd;
  background: #17372d;
}

html[data-theme="dark"] .print-policies-button:hover,
html[data-theme="dark"] .print-policies-button:focus-visible {
  border-color: #08c184;
  color: #d9fff1;
  background: #1b4638;
}

html[data-theme="dark"] .policy-visibility-toggle[aria-pressed="true"] {
  border-color: #8a6410;
  color: #f0c568;
  background: #3a2f14;
}

html[data-theme="dark"] .policy-visibility-toggle[aria-pressed="true"]:hover,
html[data-theme="dark"] .policy-visibility-toggle[aria-pressed="true"]:focus-visible {
  border-color: #c99b2a;
  color: #ffe3a1;
  background: #46391a;
}

html[data-theme="dark"] .import-policies-button {
  border-color: #315a9e;
  color: #a9c9ff;
  background: #1c2d49;
}

html[data-theme="dark"] .import-policies-button:hover,
html[data-theme="dark"] .import-policies-button:focus-visible {
  border-color: #5f91ec;
  color: #e3eeff;
  background: #263c61;
}

html[data-theme="dark"] .import-policies-button.import-policies-button--dragover {
  border-color: #6d9fff;
  color: #fff;
  background: #246bfe;
  box-shadow: 0 7px 18px rgba(36, 107, 254, 0.38);
}

html[data-theme="dark"] .policy-import-info-button {
  border-color: #5279b7;
  color: #a9c9ff;
  background: #1c2d49;
}

html[data-theme="dark"] .policy-import-info-button:hover,
html[data-theme="dark"] .policy-import-info-button:focus-visible {
  border-color: #6fa0f4;
  color: #fff;
  background: #315a9e;
}

html[data-theme="dark"] .policy-import-tooltip {
  border-color: #4b6080;
  color: #d6e0ef;
  background: #253247;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
}

html[data-theme="dark"] .policy-import-tooltip::before {
  border-color: #4b6080;
  background: #253247;
}

html[data-theme="dark"] .policy-import-tooltip > strong {
  color: #f2f6fc;
}

html[data-theme="dark"] .policy-import-tooltip small {
  border-color: #40516c;
  color: #aebbd0;
}

html[data-theme="dark"] .policy-grid--form input,
html[data-theme="dark"] .policy-grid--form textarea,
html[data-theme="dark"] .inline-field input,
html[data-theme="dark"] .inline-field textarea {
  border-color: #4a5154;
  color: #f5f7f6;
  background: #2b2f33;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: #8c8c8c;
}

html[data-theme="dark"] .policy-row {
  border-color: #373d40;
}

html[data-theme="dark"] .policy-row--editing {
  background: #28332f;
}

html[data-theme="dark"] .policy-entry--expanded .policy-row {
  border-color: #355247;
  background: #22362f;
}

html[data-theme="dark"] .policy-row--renewal-marked,
html[data-theme="dark"] .policy-row--editing.policy-row--renewal-marked {
  background: #222624;
}

html[data-theme="dark"] .policy-row--renewal-marked .cell:not(.renewal-cell),
html[data-theme="dark"] .policy-row--renewal-marked .cell--name,
html[data-theme="dark"] .policy-row--renewal-marked .premium-value {
  color: #989f9c;
}

html[data-theme="dark"] .renewal-result--renewed {
  color: #8fe8c9;
  background: #173e31;
}

html[data-theme="dark"] .renewal-result--lost {
  color: #ffb1aa;
  background: #422725;
}

html[data-theme="dark"] .transferred-badge {
  color: #ffd28a;
  background: #46351d;
}

html[data-theme="dark"] .policy-row--transferred {
  box-shadow: none;
}

html[data-theme="dark"] .cell {
  color: #c5c5c5;
}

html[data-theme="dark"] .record-quote-button,
html[data-theme="dark"] .termination-button {
  border-color: #416b5c;
  color: #a4e5cc;
  background: #243b34;
}

html[data-theme="dark"] .record-quote-button:hover,
html[data-theme="dark"] .record-quote-button:focus-visible,
html[data-theme="dark"] .termination-button:hover,
html[data-theme="dark"] .termination-button:focus-visible {
  border-color: #6bc4a3;
  color: #102b22;
  background: #8bdaba;
}

html[data-theme="dark"] .contact-value {
  color: #bbbcbe;
}

html[data-theme="dark"] .renewal-relation {
  color: #c6cfcc;
  background: #353b3d;
}

html[data-theme="dark"] .renewal-relation--next {
  color: #8fe8c9;
  background: #173e31;
}

html[data-theme="dark"] .print-columns-grid label {
  border-color: #454b4e;
  color: #d7dcda;
  background: #24282a;
}

html[data-theme="dark"] .always-visible-suggestions {
  border-color: #4a5154;
  background: #2b2f33;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38);
}

html[data-theme="dark"] .always-visible-suggestions button {
  color: #e1e5e3;
}

html[data-theme="dark"] .always-visible-suggestions button:hover,
html[data-theme="dark"] .always-visible-suggestions button:focus-visible {
  color: #6fe0b6;
  background: #143d31;
}

html[data-theme="dark"] .always-visible-suggestions button.always-visible-suggestions-clear {
  color: #ffb1a8;
  background: #3a2523;
}

html[data-theme="dark"] .always-visible-suggestions button.always-visible-suggestions-clear:hover,
html[data-theme="dark"] .always-visible-suggestions button.always-visible-suggestions-clear:focus-visible {
  color: #ffd1cc;
  background: #4a2b28;
}

html[data-theme="dark"] .print-options-toolbar button {
  border-color: #454b4e;
  color: #d7dcda;
  background: #24282a;
}

html[data-theme="dark"] .print-options-toolbar button:hover,
html[data-theme="dark"] .print-options-toolbar button:focus-visible {
  border-color: #00b174;
  color: #49d3a0;
}

html[data-theme="dark"] .termination-policy-end {
  background: rgba(8, 193, 132, 0.1);
}

html[data-theme="dark"] .termination-policy-end strong {
  color: #6fe0b6;
}

html[data-theme="dark"] .termination-type-option input:checked + span {
  border-color: #00b174;
  background: rgba(8, 193, 132, 0.12);
  color: #6fe0b6;
}

html[data-theme="dark"] .contact-email-link {
  color: #49d3a0;
  text-decoration-color: rgba(73, 211, 160, 0.5);
}

html[data-theme="dark"] .insurer-calculator-link {
  color: #49d3a0;
  text-decoration-color: rgba(73, 211, 160, 0.5);
}

html[data-theme="dark"] .identity-type-badge {
  border-color: rgba(73, 211, 160, 0.42);
  color: #6fe0b6;
  background: rgba(0, 177, 116, 0.12);
}

html[data-theme="dark"] .identity-type-badge--search:hover,
html[data-theme="dark"] .identity-type-badge--search:focus-visible {
  border-color: rgba(111, 224, 182, 0.7);
  color: #8ceac6;
  background: rgba(0, 177, 116, 0.2);
}

html[data-theme="dark"] .copy-value-button:hover,
html[data-theme="dark"] .copy-value-button:focus-visible {
  color: #49d3a0;
  text-decoration-color: rgba(73, 211, 160, 0.55);
}

html[data-theme="dark"] .copy-value-tooltip {
  border: 1px solid rgba(73, 211, 160, 0.3);
  background: rgba(14, 22, 19, 0.96);
}

html[data-theme="dark"] .registration-pill,
html[data-theme="dark"] .edit-button,
html[data-theme="dark"] .attachment-button,
html[data-theme="dark"] .inline-cancel,
html[data-theme="dark"] .renewal-choice button {
  border-color: #4a5154;
  color: #c5c5c5;
  background: #2b2f33;
}

html[data-theme="dark"] .registration-street {
  color: #969ca3;
}

html[data-theme="dark"] .attachment-button:hover,
html[data-theme="dark"] .attachment-button:focus-visible,
html[data-theme="dark"] .attachment-button--active {
  border-color: #00b174;
  color: #75e2bd;
  background: #17372d;
}

html[data-theme="dark"] .attachment-button .attachment-count {
  border-color: #24282a;
}

html[data-theme="dark"] .delete-button {
  border-color: #87423b;
  color: #ffaca4;
  background: #382321;
}

html[data-theme="dark"] .attachments-panel {
  border-color: #384640;
  background:
    radial-gradient(circle at 100% 0, rgba(0, 177, 116, 0.12), transparent 22rem),
    #202725;
}

html[data-theme="dark"] .attachments-panel--dragover {
  box-shadow: inset 0 0 0 2px #08c184;
}

html[data-theme="dark"] .attachments-panel--dragover::after {
  border-color: #08c184;
  color: #d9fff1;
  background: rgba(23, 55, 45, 0.96);
}

html[data-theme="dark"] .attachments-panel__header small,
html[data-theme="dark"] .attachments-panel__empty {
  color: #aeb5b2;
}

html[data-theme="dark"] .attachments-panel__empty small {
  color: #8ea69e;
}

html[data-theme="dark"] .attachments-panel__icon {
  color: #75e2bd;
  background: #173e31;
}

html[data-theme="dark"] .attachments-panel__add,
html[data-theme="dark"] .attachments-panel__download {
  border-color: #18785b;
  color: #75e2bd;
  background: #17372d;
}

html[data-theme="dark"] .attachments-panel__add:hover,
html[data-theme="dark"] .attachments-panel__add:focus-visible,
html[data-theme="dark"] .attachments-panel__download:hover,
html[data-theme="dark"] .attachments-panel__download:focus-visible {
  border-color: #08c184;
  color: #fff;
  background: #007a45;
}

html[data-theme="dark"] .attachment-section__label {
  color: #8fe1c4;
}

html[data-theme="dark"] .attachment-section__divider {
  background: linear-gradient(180deg, #08c184, rgba(8, 193, 132, 0.16));
}

html[data-theme="dark"] .attachment-category-chip {
  border-color: #414a47;
  color: #cfd8d4;
  background: #292f2d;
}

html[data-theme="dark"] .attachment-target-result {
  border-color: #414a47;
  background: #292f2d;
}

html[data-theme="dark"] .attachment-target-result__main strong {
  color: #e8efec;
}

html[data-theme="dark"] .attachment-target-result__main > span,
html[data-theme="dark"] .attachment-target-result__meta {
  color: #aeb5b2;
}

html[data-theme="dark"] .attachment-target-results__empty {
  border-color: #414a47;
  color: #aeb5b2;
}

html[data-theme="dark"] .attachment-category-chip:hover,
html[data-theme="dark"] .attachment-category-chip:focus-visible,
html[data-theme="dark"] .attachment-target-result:hover,
html[data-theme="dark"] .attachment-target-result:focus-visible {
  border-color: #08c184;
}

html[data-theme="dark"] .attachment-category-chip--selected {
  border-color: #08c184;
  color: #8fe1c4;
  background: rgba(8, 193, 132, 0.14);
}

html[data-theme="dark"] .attachment-target-result--selected {
  border-color: #08c184;
  background: rgba(8, 193, 132, 0.12);
  box-shadow: inset 0 0 0 1px #08c184;
}

html[data-theme="dark"] .attachment-tile {
  border-color: #414a47;
  background: #292f2d;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] .attachment-tile:hover,
html[data-theme="dark"] .attachment-tile:focus-within {
  border-color: #18785b;
  box-shadow: 0 11px 28px rgba(0, 0, 0, 0.32);
}

html[data-theme="dark"] .attachment-tile__preview {
  background-color: #303735;
}

html[data-theme="dark"] .attachment-tile__file-placeholder {
  border-color: #278365;
  color: #8fe1c4;
  background: #24332e;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] .attachment-tile__remove {
  border-color: #87423b;
  color: #ffaca4;
  background: #382321;
}

html[data-theme="dark"] .attachments-panel__empty {
  border-color: #41675a;
  background: rgba(23, 55, 45, 0.42);
}

html[data-theme="dark"] .empty-icon {
  color: #00b174;
  background: #143d31;
}

html[data-theme="dark"] .toast {
  border-color: #007a45;
  color: #e9fffc;
  background: #143329;
}

html[data-theme="dark"] .insurer-settings-order button {
  border-color: #4a5053;
  color: #c9cfcc;
  background: #252827;
}

html[data-theme="dark"] .insurer-settings-order button:hover:not(:disabled),
html[data-theme="dark"] .insurer-settings-order button:focus-visible {
  border-color: #08c184;
  color: #8fe1c4;
  background: #17372d;
}

html[data-theme="dark"] .insurer-settings-popup {
  border-color: #007a45;
  color: #e9fffc;
  background: #143329;
}

html[data-theme="dark"] .insurer-settings-popup[data-type="removed"] {
  border-color: #7b3f46;
  color: #ffc3c8;
  background: #2d1d21;
}

html[data-theme="dark"] .page-scroll-controls button {
  border-color: #53605c;
  color: #dce6e2;
  background: rgba(39, 45, 43, 0.94);
  box-shadow: 0 9px 26px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .page-scroll-controls button:hover:not(:disabled),
html[data-theme="dark"] .page-scroll-controls button:focus-visible {
  border-color: #08c184;
  color: #8fe1c4;
  background: #17372d;
}

html[data-theme="dark"] .toast[data-type="warning"] {
  border-color: #8b6a1d;
  color: #ffe8a6;
  background: #3b3018;
}

html[data-theme="dark"] .toast[data-type="music"] {
  border-color: #565da8;
  color: #dfe2ff;
  background: #232647;
}

html[data-theme="dark"] .data-integrity-banner {
  border-color: #7e5a26;
  color: #ffd99b;
  background: #2b2419;
}

html[data-theme="dark"] .data-integrity-banner[data-type="error"] {
  border-color: #7b3f46;
  color: #ffc3c8;
  background: #2d1d21;
}

html[data-theme="dark"] .data-integrity-banner[data-type="download"] {
  border-color: #395b8b;
  color: #c9dcff;
  background: #192638;
}

html[data-theme="dark"] .attachment-progress {
  background: rgba(4, 13, 10, 0.58);
}

html[data-theme="dark"] .attachment-progress__panel {
  border-color: #28624f;
  color: #effff9;
  background: #1d2b26;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.46);
}

html[data-theme="dark"] .attachment-progress__content small {
  color: #a6bbb4;
}

html[data-theme="dark"] .attachment-progress progress,
html[data-theme="dark"] .attachment-progress progress::-webkit-progress-bar {
  background: #33443e;
}

html[data-theme="dark"] .settings-logo-message {
  border-color: #874242;
  color: #ffc1c1;
  background: #3b2525;
}

html[data-theme="dark"] .settings-logo-message[data-type="success"] {
  border-color: #18785b;
  color: #9ff0d5;
  background: #183b30;
}

html[data-theme="dark"] .application-update-row[data-state="pending"] {
  border-color: #8b6a1d;
  background: #3b3018;
}

html[data-theme="dark"] .application-update-row[data-state="pending"] strong {
  color: #ffe8a6;
}

html[data-theme="dark"] .application-update-row[data-state="error"] {
  border-color: #7b3f46;
  background: #2d1d21;
}

html[data-theme="dark"] .application-update-row[data-state="error"] strong {
  color: #ffc3c8;
}

html[data-theme="dark"] .deleted-record-card {
  border-color: #454b4e;
  background: #292d2f;
}

html[data-theme="dark"] .deleted-record-main strong {
  color: #c5ccca;
}

html[data-theme="dark"] .deleted-record-expiry {
  color: #f0bf7a;
}

html[data-theme="dark"] .deleted-record-actions button {
  border-color: #18785b;
  color: #8fe8c9;
  background: #17372d;
}

html[data-theme="dark"] .deleted-record-actions .deleted-record-delete {
  border-color: #87423b;
  color: #ffaca4;
  background: #382321;
}

html[data-theme="dark"] .deleted-records-delete-all:disabled {
  border-color: #4a5154;
  color: #8c9491;
  background: #2b2f33;
}

html[data-theme="dark"] .entry-organizer-card--target {
  border-color: #3d5d7f;
  background: #202d3a;
}

html[data-theme="dark"] .entry-organizer-card--source {
  border-color: #2e715a;
  background: #1d322b;
}

html[data-theme="dark"] .entry-organizer-pesel {
  border-color: #28765b;
  background: #173e31;
}

html[data-theme="dark"] .entry-organizer-pesel span,
html[data-theme="dark"] .entry-organizer-pesel strong {
  color: #8fe8c9;
}

html[data-theme="dark"] .entry-organizer-source-record {
  border-color: #46504c;
  background: #24282a;
}

html[data-theme="dark"] .entry-organizer-manual input {
  border-color: #2e715a;
  color: #edfff9;
  background: #172720;
}

html[data-theme="dark"] .entry-organizer-manual .entry-organizer-manual-error {
  color: #ffadb3;
}

html[data-theme="dark"] footer {
  color: #8c8c8c;
}

html[data-theme="dark"] .footer-support {
  color: #a9abad;
}

html[data-theme="dark"] .footer-support:hover,
html[data-theme="dark"] .footer-support:focus-visible {
  color: #08c184;
}

html[data-theme="dark"] .footer-company:hover,
html[data-theme="dark"] .footer-company:focus-visible {
  color: #08c184;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

.idle-rpg-dialog {
  width: min(760px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  border: none;
  border-radius: 22px;
  background: transparent;
  overflow: visible;
}

.idle-rpg-dialog::backdrop {
  background: rgba(11, 31, 58, 0.45);
  backdrop-filter: blur(2px);
}

.idle-rpg-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px 22px 22px;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 60px rgba(11, 31, 58, 0.25);
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}

.idle-rpg-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.idle-rpg-header p {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.idle-rpg-header h2 {
  margin: 2px 0 0;
  font-size: 20px;
}

.idle-rpg-scene {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--canvas);
  padding: 14px 16px 12px;
}

.idle-rpg-zone {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.idle-rpg-battle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 6px 4px;
  overflow: hidden;
}

.idle-rpg-fighter {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 132px;
  padding: 8px 6px;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
}

button.idle-rpg-fighter {
  cursor: pointer;
  border-radius: 14px;
  transition: transform 0.1s ease, background-color 0.15s ease;
  -webkit-user-select: none;
  user-select: none;
}

button.idle-rpg-fighter:hover,
button.idle-rpg-fighter:focus-visible {
  background: var(--blue-50);
}

button.idle-rpg-fighter:active {
  transform: scale(0.94);
}

button.idle-rpg-fighter--block-window {
  background: rgba(34, 197, 94, 0.14);
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.28);
  animation: idle-rpg-block-window var(--idle-rpg-attack-duration, 0.35s) ease;
}

button.idle-rpg-fighter--block-cooldown {
  cursor: wait;
  opacity: 0.62;
}

@keyframes idle-rpg-block-window {
  50% { box-shadow: 0 0 0 7px rgba(34, 197, 94, 0.12); }
}

.idle-rpg-sprite {
  display: inline-block;
  font-size: 46px;
  line-height: 1.15;
  filter: drop-shadow(0 4px 8px rgba(11, 31, 58, 0.2));
}

.idle-rpg-sprite--hit {
  animation: idle-rpg-shake 0.18s ease;
}

@keyframes idle-rpg-shake {
  25% { transform: translateX(-4px) rotate(-6deg); }
  75% { transform: translateX(4px) rotate(5deg); }
}

.idle-rpg-vs {
  font-size: 18px;
  color: var(--muted);
}

.idle-rpg-hp {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: var(--line);
  overflow: hidden;
}

.idle-rpg-hp-fill {
  height: 100%;
  width: 100%;
  border-radius: inherit;
  background: var(--danger);
  transition: width 0.15s ease;
}

.idle-rpg-hp-fill--hero {
  background: var(--success);
}

.idle-rpg-fighter small {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.idle-rpg-log {
  margin: 4px 0 0;
  min-height: 18px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
}

.idle-rpg-float {
  position: absolute;
  top: 34%;
  font-size: 13px;
  font-weight: 800;
  pointer-events: none;
  color: var(--ink);
  animation: idle-rpg-float 0.8s ease-out forwards;
}

.idle-rpg-float--crit { color: var(--warning); font-size: 16px; }
.idle-rpg-float--spell { color: var(--blue-600); }
.idle-rpg-float--fire { color: #f26a21; font-size: 16px; }
.idle-rpg-float--coin { color: var(--warning); }
.idle-rpg-float--hurt { color: var(--danger); }
.idle-rpg-float--dodge { color: var(--success); }
.idle-rpg-float--block { color: var(--success); font-size: 16px; }
.idle-rpg-float--super-block {
  color: var(--warning);
  font-size: 18px;
  text-shadow: 0 0 10px color-mix(in srgb, var(--warning) 55%, transparent);
}
.idle-rpg-float--cooldown { color: var(--muted); font-size: 12px; }

@keyframes idle-rpg-float {
  0% { opacity: 0; transform: translateY(8px); }
  15% { opacity: 1; }
  100% { opacity: 0; transform: translateY(-32px); }
}

.idle-rpg-projectile {
  position: absolute;
  left: 27%;
  z-index: 4;
  display: block;
  pointer-events: none;
  animation: idle-rpg-projectile-flight 0.42s cubic-bezier(0.22, 0.7, 0.3, 1) forwards;
}

.idle-rpg-projectile--fire {
  top: 43%;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: radial-gradient(circle at 68% 38%, #fff7b2 0 16%, #ffad28 30%, #f04418 68%, rgba(240, 68, 24, 0) 72%);
  box-shadow: -8px 0 10px rgba(255, 109, 24, 0.65), 0 0 13px rgba(255, 184, 40, 0.9);
}

.idle-rpg-projectile--fire::before {
  position: absolute;
  top: 5px;
  right: 13px;
  width: 24px;
  height: 9px;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(90deg, rgba(240, 68, 24, 0), rgba(255, 151, 35, 0.75));
  content: "";
}

.idle-rpg-projectile--surge {
  top: 29%;
  color: #f4c430;
  font-size: 31px;
  line-height: 1;
  filter: drop-shadow(0 0 7px rgba(60, 130, 255, 0.9));
}

@keyframes idle-rpg-projectile-flight {
  0% { left: 27%; opacity: 0; transform: translateY(7px) scale(0.7); }
  15% { opacity: 1; }
  82% { opacity: 1; }
  100% { left: 69%; opacity: 0; transform: translateY(-3px) scale(1.15); }
}

.idle-rpg-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
}

.idle-rpg-coins {
  font-size: 15px;
  color: var(--ink);
}

.idle-rpg-coins strong {
  font-variant-numeric: tabular-nums;
}

.idle-rpg-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.idle-rpg-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px 14px;
}

.idle-rpg-box h3 {
  margin: 0;
  font-size: 13px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
}

.idle-rpg-box h3 small {
  font-weight: 600;
  color: var(--muted);
  font-size: 11px;
}

.idle-rpg-stats,
.idle-rpg-shop {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.idle-rpg-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.idle-rpg-row__icon {
  font-size: 20px;
}

.idle-rpg-row__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  min-width: 0;
}

.idle-rpg-row__info strong {
  font-size: 12.5px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.idle-rpg-row__info small {
  font-size: 11px;
  color: var(--muted);
}

.idle-rpg-row__button {
  min-width: 34px;
  height: 30px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.1s ease;
}

.idle-rpg-row__button:hover:not(:disabled),
.idle-rpg-row__button:focus-visible:not(:disabled) {
  background: var(--blue-50);
}

.idle-rpg-row__button:active:not(:disabled) {
  transform: scale(0.95);
}

.idle-rpg-row__button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.idle-rpg-row__button--buy {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.idle-rpg-hint {
  margin: 0;
  font-size: 10.5px;
  color: var(--muted);
}

@media (max-width: 600px) {
  .idle-rpg-columns {
    grid-template-columns: 1fr;
  }
}

.idle-rpg-sprite--boss {
  font-size: 64px;
}

.idle-rpg-sprite--lunge-right {
  animation: idle-rpg-lunge-right 0.35s ease;
}

.idle-rpg-sprite--lunge-left {
  animation: idle-rpg-lunge-left var(--idle-rpg-attack-duration, 0.35s) cubic-bezier(0.3, 0.05, 0.55, 1);
}

.idle-rpg-sprite--attacking {
  font-size: 42px;
  filter:
    drop-shadow(0 0 7px rgba(239, 68, 68, 0.52))
    drop-shadow(0 4px 8px rgba(11, 31, 58, 0.2));
}

.idle-rpg-sprite--boss.idle-rpg-sprite--attacking {
  font-size: 52px;
}

@keyframes idle-rpg-lunge-right {
  30% { transform: translateX(16px); }
  100% { transform: translateX(0); }
}

@keyframes idle-rpg-lunge-left {
  0% { transform: translateX(0) rotate(0); }
  24% { transform: translateX(8px) rotate(4deg); }
  60% { transform: translateX(-8px) rotate(-2deg); }
  100% { transform: translateX(-48px) rotate(-7deg) scale(1.08); }
}

.idle-rpg-float--surge { color: var(--warning); }
.idle-rpg-float--slow { color: var(--blue-500); }

.idle-rpg-float--ult {
  color: var(--success);
  font-size: 17px;
}

.record-counter {
  position: relative;
}

.record-counter__plus {
  position: absolute;
  top: -8px;
  right: -10px;
  font-size: 13px;
  font-weight: 800;
  color: var(--success);
  text-shadow: 0 0 6px rgba(0, 177, 116, 0.9), 0 0 16px rgba(0, 177, 116, 0.5);
  pointer-events: none;
  animation: record-counter-plus 2s ease-out forwards;
}

@keyframes record-counter-plus {
  0% { opacity: 0; transform: translateY(5px) scale(0.5); }
  12% { opacity: 1; transform: translateY(0) scale(1.3); }
  24% { transform: translateY(-1px) scale(1); }
  55% { opacity: 1; text-shadow: 0 0 8px rgba(0, 177, 116, 1), 0 0 20px rgba(0, 177, 116, 0.7); }
  100% { opacity: 0; transform: translateY(-16px) scale(0.85); }
}


.save-status-popup {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 15px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  box-shadow: 0 12px 38px rgba(25, 55, 46, 0.16);
  animation: save-status-in 0.25s ease;
}

.save-status-popup[hidden] {
  display: none;
}

.save-status-popup__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--warning);
}

.save-status-popup[data-state="saving"] .save-status-popup__dot {
  animation: save-status-pulse 1s ease-in-out infinite;
}

.save-status-popup[data-state="saved"] {
  border-color: rgba(0, 177, 116, 0.55);
  color: var(--success);
}

.save-status-popup[data-state="saved"] .save-status-popup__dot {
  background: var(--success);
  animation: none;
}

@keyframes save-status-in {
  from { opacity: 0; transform: translateX(14px); }
  to { opacity: 1; transform: none; }
}

@keyframes save-status-pulse {
  50% { opacity: 0.35; }
}

html[data-theme="dark"] .quote-calculator-button {
  border-color: #00b174;
  background: #008d5c;
  box-shadow: 0 6px 18px rgba(0, 177, 116, 0.2);
}

html[data-theme="dark"] .quote-calculator-button:hover,
html[data-theme="dark"] .quote-calculator-button:focus-visible {
  border-color: #58d9aa;
  background: #00784e;
}

html[data-theme="dark"] .calculator-account-card,
html[data-theme="dark"] .quote-insurer-card {
  border-color: #454b4e;
  background: #24282a;
}

html[data-theme="dark"] .quote-insurer-card[data-state="queued"],
html[data-theme="dark"] .quote-insurer-card[data-state="running"] {
  border-color: #465f8c;
  background: #222f46;
}

html[data-theme="dark"] .quote-insurer-card[data-state="action"] {
  border-color: #806d3a;
  background: #3b3420;
}

html[data-theme="dark"] .quote-insurer-card[data-state="manual"],
html[data-theme="dark"] .quote-insurer-card[data-state="error"] {
  border-color: #824b48;
  background: #422725;
}

html[data-theme="dark"] .quote-insurer-card[data-state="completed"],
html[data-theme="dark"] .quote-insurer-card[data-state="manual-ready"] {
  border-color: #3c8068;
  background: #173e31;
}

html[data-theme="dark"] .quote-manual-repair {
  border-color: #a85b57;
  color: #ffb1aa;
  background: #342322;
}

html[data-theme="dark"] .quote-manual-repair:hover,
html[data-theme="dark"] .quote-manual-repair:focus-visible {
  border-color: #d07a74;
  background: #4a2927;
}

html[data-theme="dark"] .password-setting-control input,
html[data-theme="dark"] .password-setting-control button {
  border-color: #4a5154;
  color: #dfe4e2;
  background: #2b2f33;
}

html[data-theme="dark"] .quote-bridge-badge {
  border-color: #806d3a;
  color: #f1d480;
  background: #3b3420;
}

html[data-theme="dark"] .quote-bridge-badge[data-state="ready"] {
  border-color: #3c8068;
  color: #8fe8c9;
  background: #173e31;
}

html[data-theme="dark"] .quote-bridge-badge[data-state="missing"],
html[data-theme="dark"] .quote-bridge-badge[data-state="error"],
html[data-theme="dark"] .quote-calculator-error,
html[data-theme="dark"] .quote-progress[data-state="error"] {
  border-color: #824b48;
  color: #ffb1aa;
  background: #422725;
}

html[data-theme="dark"] .quote-progress {
  border-color: #465f8c;
  color: #a9c6ff;
  background: #222f46;
}

html[data-theme="dark"] .quote-progress[data-state="action"] {
  border-color: #806d3a;
  color: #f1d480;
  background: #3b3420;
}

html[data-theme="dark"] .quote-result-card {
  border-color: #3c8068;
  background: #173e31;
}

html[data-theme="dark"] .quote-result-card:hover {
  border-color: #55b391;
  background: #1d4f3f;
}

html[data-theme="dark"] .quote-result-card:focus-visible {
  outline-color: #8fe8c9;
}

html[data-theme="dark"] .quote-result-card strong,
html[data-theme="dark"] .quote-result-price {
  color: #8fe8c9;
}

html[data-theme="dark"] .quote-result-card small {
  color: #9dc9ba;
}

html[data-theme="dark"] .quote-result-breakdown > div {
  border-color: rgba(143, 232, 201, 0.2);
  background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .quote-result-breakdown dt {
  color: #9dc9ba;
}

html[data-theme="dark"] .quote-result-breakdown dd {
  color: #8fe8c9;
}

html[data-theme="dark"] .quote-result-breakdown dd small {
  color: #9dc9ba;
}

html[data-theme="dark"] .quote-result-chevron {
  border-color: #8fe8c9;
}

html[data-theme="dark"] .quote-result-variant {
  border-color: rgba(143, 232, 201, 0.2);
  background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .quote-result-open {
  border-color: #3c8068;
  background: #1d4f3f;
  color: #8fe8c9;
}

html[data-theme="dark"] .quote-result-open:hover {
  border-color: #55b391;
  background: #245c4a;
}

html[data-theme="dark"] .quote-result-open:focus-visible {
  outline-color: #8fe8c9;
}

html[data-theme="dark"] .quote-calculator-footer .settings-save-button:disabled {
  border-color: #454b4e;
  color: #7f8784;
  background: #303537;
}

html[data-theme="dark"] .quote-manual-start-button {
  border-color: #6676b6;
  color: #c6d0ff;
  background: #263052;
}

html[data-theme="dark"] .quote-manual-start-button:hover,
html[data-theme="dark"] .quote-manual-start-button:focus-visible {
  border-color: #8999df;
  color: #fff;
  background: #435293;
}

html[data-theme="dark"] .quote-manual-start-button:disabled {
  border-color: #454b4e;
  color: #7f8784;
  background: #303537;
}

html[data-theme="dark"] .quote-results.quote-results-column {
  border-color: #3c8068;
  background: #1a2321;
}

html[data-theme="dark"] .quote-archive-item {
  border-color: #454b4e;
  background: #24282a;
}

html[data-theme="dark"] .quote-archive-item:hover {
  border-color: #55b391;
  background: #1d4f3f;
}

html[data-theme="dark"] .quote-archive-item:focus-visible {
  outline-color: #8fe8c9;
}

html[data-theme="dark"] .quote-archive-item[data-active="true"] {
  border-color: #3c8068;
  background: #173e31;
  box-shadow: 0 0 0 3px rgba(60, 128, 104, 0.25);
}

html[data-theme="dark"] .quote-archive-item strong {
  color: #dfe4e2;
}

html[data-theme="dark"] .quote-archive-item[data-active="true"] strong {
  color: #8fe8c9;
}

html[data-theme="dark"] .quote-archive-item small {
  color: #9aa3a0;
}

html[data-theme="dark"] .quote-archive-item[data-active="true"] small {
  color: #9dc9ba;
}

html[data-theme="dark"] .quote-archive-group[data-expanded="true"] {
  border-color: rgba(85, 179, 145, 0.45);
  background: rgba(85, 179, 145, 0.08);
}

html[data-theme="dark"] .quote-archive-item .quote-archive-more {
  color: #8fe8c9;
}

html[data-theme="dark"] .quote-archive-delete {
  color: #7f8ea3;
}

html[data-theme="dark"] .quote-archive-delete:hover {
  background: rgba(255, 138, 138, 0.16);
  color: #ff8a8a;
}

html[data-theme="dark"] .quote-archive-delete:focus-visible {
  outline-color: #ff8a8a;
}

@media (max-width: 800px) {
  .topbar-actions {
    grid-template-columns: auto auto auto auto;
  }

  .quote-calculator-button {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 36px;
    align-self: center;
    justify-content: center;
    padding: 0;
  }

  .quote-calculator-button > span {
    display: none;
  }

  .topbar .renewal-filter {
    grid-column: 3;
  }

  .settings-gear {
    grid-column: 4;
  }
}

@media (max-width: 600px) {
  .quote-calculator-dialog {
    width: min(100% - 16px, 700px);
    max-height: calc(100vh - 16px);
    border-radius: 16px;
  }

  .quote-calculator-panel {
    max-height: calc(100vh - 16px);
  }

  .quote-calculator-content {
    padding: 17px 16px;
  }

  .calculator-account-fields,
  .quote-calculator-fields {
    grid-template-columns: 1fr;
  }

  .calculator-account-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .calculator-account-actions .settings-secondary-button {
    width: 100%;
  }

  .calculator-account-buttons {
    display: grid;
    grid-template-columns: 1fr;
  }

  .quote-result-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .quote-result-chevron {
    display: none;
  }

  .quote-result-price {
    grid-column: 2;
  }

  .quote-result-total {
    grid-column: 2;
    text-align: left;
  }

  .quote-result-breakdown {
    grid-column: 1 / -1;
  }

  .quote-insurer-card {
    grid-template-columns: 1fr;
  }

  .quote-manual-repair {
    width: 100%;
  }
}

@media (max-width: 430px) {
  .record-counter {
    display: none;
  }

  .topbar-actions {
    grid-template-columns: repeat(4, 34px);
    grid-template-rows: 36px;
    gap: 3px;
  }

  .today-date,
  .quote-calculator-button,
  .topbar .renewal-filter,
  .settings-gear,
  .screen-lock-button {
    width: 34px;
    height: 34px;
    grid-row: 1;
  }

  .today-date {
    grid-column: 1;
    padding: 0;
  }

  .today-date small {
    display: none;
  }

  .topbar .renewal-filter {
    width: 36px;
    justify-content: center;
    padding: 0;
  }

  .topbar .renewal-filter strong {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 18px;
    height: 18px;
    font-size: 8px;
  }

  .topbar .renewal-filter {
    position: relative;
  }
}

.quote-input-requests {
  display: grid;
  gap: 12px;
}

.quote-input-requests[hidden] {
  display: none;
}

.quote-input-form {
  display: grid;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid #e1bd6f;
  border-radius: 12px;
  color: #7a5400;
  background: #fff7df;
}

.quote-input-form-title {
  font-size: 13px;
}

.quote-input-form-hint {
  color: #8a6a1f;
}

.quote-input-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px 12px;
}

.quote-input-form-row {
  display: grid;
  gap: 4px;
  font-size: 12px;
}

.quote-input-form-row[data-invalid="true"] .quote-input-form-label {
  color: #9f2525;
  font-weight: 750;
}

.quote-input-form-label {
  font-weight: 650;
}

.quote-input-form-row input[type="text"],
.quote-input-form-row input[type="date"],
.quote-input-form-row input[type="datetime-local"],
.quote-input-form-row input[type="month"],
.quote-input-form-row select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #d6c391;
  border-radius: 9px;
  background: #fff;
  color: #3d3d3d;
  font: inherit;
  font-size: 12px;
}

.quote-input-form-row[data-invalid="true"] input[type="text"],
.quote-input-form-row[data-invalid="true"] input[type="date"],
.quote-input-form-row[data-invalid="true"] input[type="datetime-local"],
.quote-input-form-row[data-invalid="true"] input[type="month"],
.quote-input-form-row[data-invalid="true"] select {
  border-color: #c55252;
}

.quote-input-form-format {
  color: #786b4c;
  font-size: 11px;
}

.quote-input-form-checkbox {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 0;
  font-size: 12px;
}

.quote-input-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.quote-insurer-mark--wide {
  width: auto;
  min-width: 34px;
  height: 26px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.03em;
}

html[data-theme="dark"] .quote-input-form {
  border-color: #8a6a1f;
  color: #e8c778;
  background: #34290e;
}

html[data-theme="dark"] .quote-input-form-hint {
  color: #c9a64f;
}

html[data-theme="dark"] .quote-input-form-row[data-invalid="true"] .quote-input-form-label {
  color: #ff9e9e;
}

html[data-theme="dark"] .quote-input-form-row input[type="text"],
html[data-theme="dark"] .quote-input-form-row input[type="date"],
html[data-theme="dark"] .quote-input-form-row input[type="datetime-local"],
html[data-theme="dark"] .quote-input-form-row input[type="month"],
html[data-theme="dark"] .quote-input-form-row select {
  border-color: #6b5a2a;
  color: #f0e6c8;
  background: #201808;
}

html[data-theme="dark"] .quote-input-form-row[data-invalid="true"] input[type="text"],
html[data-theme="dark"] .quote-input-form-row[data-invalid="true"] input[type="date"],
html[data-theme="dark"] .quote-input-form-row[data-invalid="true"] input[type="datetime-local"],
html[data-theme="dark"] .quote-input-form-row[data-invalid="true"] input[type="month"],
html[data-theme="dark"] .quote-input-form-row[data-invalid="true"] select {
  border-color: #c55252;
}

html[data-theme="dark"] .quote-input-form-format {
  color: #b7a77e;
}

.mtu-portfolio-report-dialog {
  border: none;
  border-radius: 18px;
  padding: 0;
  width: min(440px, calc(100vw - 32px));
  box-shadow: 0 24px 64px rgba(11, 31, 58, 0.28);
}

.mtu-portfolio-report-dialog::backdrop {
  background: rgba(11, 31, 58, 0.45);
}

.mtu-portfolio-report-panel {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border-radius: 18px;
}

.mtu-portfolio-report-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px 24px;
}

.mtu-portfolio-report-highlights {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 12px;
}

.mtu-portfolio-report-highlight {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--blue-50);
  text-align: center;
}

.mtu-portfolio-report-highlight strong {
  font-size: 30px;
  line-height: 1.1;
  color: var(--navy-900);
}

.mtu-portfolio-report-highlight span {
  font-size: 12.5px;
  color: var(--muted);
}

.mtu-portfolio-report-details {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}

.mtu-portfolio-report-details li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  font-size: 13.5px;
}

.mtu-portfolio-report-details li + li {
  border-top: 1px solid var(--line);
}

.mtu-portfolio-report-details span {
  color: var(--muted);
}

.mtu-portfolio-report-details strong {
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

.mtu-portfolio-report-warning {
  margin: 0;
  padding: 10px 14px;
  border-radius: 10px;
  background: #fdf3e7;
  color: var(--warning);
  font-size: 13px;
}

.mtu-portfolio-report-info {
  margin: 0;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--blue-50);
  color: var(--muted);
  font-size: 13px;
}

html[data-theme="dark"] .mtu-portfolio-report-panel {
  background: #14213b;
}

html[data-theme="dark"] .mtu-portfolio-report-highlight {
  background: rgba(61, 123, 255, 0.12);
  border-color: rgba(227, 233, 242, 0.16);
}

html[data-theme="dark"] .mtu-portfolio-report-highlight strong {
  color: #eaf1ff;
}

html[data-theme="dark"] .mtu-portfolio-report-details {
  border-color: rgba(227, 233, 242, 0.16);
}

html[data-theme="dark"] .mtu-portfolio-report-details li + li {
  border-top-color: rgba(227, 233, 242, 0.16);
}

html[data-theme="dark"] .mtu-portfolio-report-details strong {
  color: #eaf1ff;
}

html[data-theme="dark"] .mtu-portfolio-report-warning {
  background: rgba(173, 101, 17, 0.18);
}

html[data-theme="dark"] .mtu-portfolio-report-info {
  background: rgba(61, 123, 255, 0.12);
  color: #9db1d9;
}

.mtu-portfolio-pdf-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  flex: 1 1 100%;
  width: 100%;
  margin: 4px 0 2px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--blue-50);
}

.calculator-account-actions:has(.mtu-portfolio-pdf-options) {
  flex-wrap: wrap;
}

.calculator-account-actions:has(.mtu-portfolio-pdf-options) .calculator-account-buttons {
  margin-left: auto;
}

.warta-portfolio-import {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  margin: 4px 0 2px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--blue-50);
}

.calculator-account-actions:has(.warta-portfolio-import) {
  flex-wrap: wrap;
}

.calculator-account-actions:has(.warta-portfolio-import) .calculator-account-buttons {
  margin-left: auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: 100%;
  min-width: 0;
}

.warta-portfolio-record-field {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.warta-portfolio-record-field select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 40px;
  border: 1px solid var(--line);
  outline: 0;
  border-radius: 10px;
  padding: 0 12px;
  color: var(--ink);
  background: var(--surface);
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.warta-portfolio-record-field select:focus {
  border-color: #00b174;
  box-shadow: 0 0 0 3px rgba(0, 177, 116, 0.1);
}

.mtu-portfolio-pdf-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: var(--ink);
  cursor: pointer;
}

.mtu-portfolio-pdf-toggle input {
  margin: 0;
}

.mtu-portfolio-pdf-info {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.4;
}

html[data-theme="dark"] .mtu-portfolio-pdf-options {
  background: rgba(61, 123, 255, 0.12);
  border-color: rgba(227, 233, 242, 0.16);
}


.app-busy-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 26px;
  background: var(--canvas);
  transition: opacity 0.28s ease;
}

.app-busy-overlay[data-hidden="true"] {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0s linear 0.28s;
}

.app-busy-orb {
  position: relative;
  width: 92px;
  height: 92px;
}

.app-busy-orb__halo,
.app-busy-orb__core {
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.app-busy-orb__halo {
  background: radial-gradient(circle, rgba(61, 123, 255, 0.55) 0%, rgba(61, 123, 255, 0) 70%);
  transform: scale(1.9);
  animation: app-busy-halo 1.8s ease-in-out infinite;
  will-change: transform, opacity;
}

.app-busy-orb__core {
  background: radial-gradient(circle at 34% 30%, var(--blue-500), var(--blue-600) 62%, var(--navy-900) 130%);
  box-shadow:
    0 0 18px rgba(61, 123, 255, 0.75),
    0 0 46px rgba(61, 123, 255, 0.45),
    0 0 90px rgba(61, 123, 255, 0.25);
  animation: app-busy-core 1.8s ease-in-out infinite;
  will-change: transform;
}

html[data-theme="dark"] .app-busy-orb__halo {
  background: radial-gradient(circle, rgba(8, 193, 132, 0.5) 0%, rgba(8, 193, 132, 0) 70%);
}

html[data-theme="dark"] .app-busy-orb__core {
  background: radial-gradient(circle at 34% 30%, var(--blue-500), var(--blue-600) 62%, #0a5e42 130%);
  box-shadow:
    0 0 18px rgba(8, 193, 132, 0.7),
    0 0 46px rgba(8, 193, 132, 0.4),
    0 0 90px rgba(8, 193, 132, 0.22);
}

.app-busy-label {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink);
  animation: app-busy-label 1.8s ease-in-out infinite;
}

@keyframes app-busy-halo {
  0%, 100% { transform: scale(1.55); opacity: 0.55; }
  50% { transform: scale(2.15); opacity: 1; }
}

@keyframes app-busy-core {
  0%, 100% { transform: scale(0.94); }
  50% { transform: scale(1.06); }
}

@keyframes app-busy-label {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .app-busy-orb__halo,
  .app-busy-orb__core,
  .app-busy-label {
    animation: none;
  }
}


.app-busy-overlay:popover-open {
  display: flex;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  padding: 0;
  overflow: hidden;
  background: var(--canvas);
  color: inherit;
}



.account-gate {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 0, rgba(65, 116, 255, 0.12), transparent 32rem),
    var(--canvas);
  transition: opacity 0.28s ease;
}

.account-gate[data-hidden="true"] {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0s linear 0.28s;
}

.account-gate-panel {
  width: min(420px, 100%);
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 34px 36px 30px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 24px 70px rgba(11, 31, 58, 0.18);
  text-align: center;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
}

.account-gate-panel:has(.account-gate-insurers:not([hidden])) {
  width: min(680px, 100%);
}

.account-gate-logo {
  align-self: center;
  max-width: 168px;
  height: auto;
}

.account-gate-title {
  margin: 4px 0 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--ink);
}

.account-gate-subtitle {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--muted);
}

.account-gate-form,
.account-gate-success {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 6px;
}

.account-gate-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: left;
}

.account-gate-field > span {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}

.account-gate-field > input {
  padding: 12px 14px;
  font-size: 17px;
  font-family: inherit;
  color: var(--ink);
  background: var(--canvas);
  border: 1px solid var(--line);
  border-radius: 10px;
  outline: none;
}

.account-gate-field > input:focus-visible {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(61, 123, 255, 0.22);
}

.account-gate-insurers {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  text-align: left;
}

.account-gate-insurers > legend {
  padding: 0 6px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
}

.account-gate-insurers > p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.45;
}

#accountGatePin,
#accountGatePinRepeat {
  letter-spacing: 0.35em;
  text-align: center;
}

.account-gate-error {
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--danger);
}

.account-gate-submit {
  padding: 12px 18px;
  font-size: 15.5px;
  font-weight: 700;
  font-family: inherit;
  color: #fff;
  background: var(--blue-600);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
}

.account-gate-submit:hover {
  background: var(--blue-500);
}

.account-gate-submit:active {
  transform: scale(0.99);
}

.account-gate-submit:disabled {
  opacity: 0.6;
  cursor: default;
}

.account-gate-success-note {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--muted);
  text-align: left;
}

.account-gate-id-row {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.account-gate-id {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 10px;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ink);
  background: var(--canvas);
  border: 1px dashed var(--line);
  border-radius: 10px;
  user-select: all;
}

.account-gate-copy {
  padding: 0 16px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  color: var(--ink);
  background: var(--canvas);
  border: 1px solid var(--line);
  border-radius: 10px;
  cursor: pointer;
}

.account-gate-copy:hover {
  border-color: var(--blue-500);
  color: var(--blue-600);
}



.agency-insurer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 8px;
}

.agency-insurer-option {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--canvas);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.agency-insurer-option:has(input:checked) {
  border-color: rgba(0, 167, 111, 0.62);
  background: rgba(0, 167, 111, 0.1);
}

.agency-insurer-option:has(input:disabled) {
  cursor: default;
}

.agency-insurer-option > input {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin: 0;
  accent-color: #00a76f;
}

.agency-insurer-option > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agency-insurer-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.agency-insurer-actions > small {
  flex: 1 1 260px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.agency-account-row {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.agency-account-row--end {
  justify-content: flex-start;
}

.agency-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 200px;
  flex: 1;
  max-width: 320px;
}


.agency-field[hidden] {
  display: none;
}

.agency-field > span {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}

.agency-field > input {
  padding: 10px 12px;
  font-size: 15px;
  font-family: inherit;
  color: var(--ink);
  background: var(--canvas);
  border: 1px solid var(--line);
  border-radius: 10px;
  outline: none;
}

.agency-field > input:focus-visible {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(61, 123, 255, 0.22);
}

.agency-field > input:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.agency-id-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  align-self: center;
}

.agency-id {
  padding: 10px 16px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ink);
  background: var(--canvas);
  border: 1px dashed var(--line);
  border-radius: 10px;
  cursor: copy;
  user-select: all;
}

.agency-id:hover {
  border-color: var(--blue-500);
  color: var(--blue-600);
}

.agency-status {
  margin: 10px 0 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--success);
}

.agency-status[data-tone="error"] {
  color: var(--danger);
}

.agency-export-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}

.agency-field > select {
  padding: 10px 12px;
  font-size: 15px;
  font-family: inherit;
  color: var(--ink);
  background: var(--canvas);
  border: 1px solid var(--line);
  border-radius: 10px;
  outline: none;
}

.agency-field > select:focus-visible {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(61, 123, 255, 0.22);
}

.agency-export-summary {
  margin: 0 0 12px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--muted);
}

.agency-export-summary[data-tone="warning"] {
  color: var(--danger);
}

.agency-export-last {
  font-size: 12.5px;
  color: var(--muted);
  align-self: center;
}

.agency-pin-details {
  margin-top: 14px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.agency-pin-details > summary {
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
}

.agency-pin-grid {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.agency-pin-grid .agency-field {
  min-width: 150px;
  max-width: 200px;
}

.agency-add-member-form {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.agency-members-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.agency-member-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--canvas);
}

.agency-member-info {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.agency-member-label {
  padding: 8px 12px;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  min-width: 140px;
}

.agency-member-label:focus-visible {
  outline: none;
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(61, 123, 255, 0.22);
}

.agency-member-id {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--muted);
  cursor: copy;
}

.agency-member-id:hover {
  color: var(--blue-600);
}

.agency-member-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}



.agency-assignment-panel,
.agency-pairing-panel {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}

.agency-assignment-heading,
.agency-assignment-actions,
.agency-pairing-panel {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.agency-assignment-heading {
  justify-content: space-between;
}

.agency-assignment-heading h4,
.agency-pairing-code-card h2 {
  margin: 0;
}

.agency-assignment-target {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.agency-assignment-warning {
  margin: 12px 0;
  padding: 10px 12px;
  border-left: 4px solid #e69b00;
  border-radius: 8px;
  color: var(--ink);
  background: rgba(255, 181, 35, 0.12);
}

.agency-assignment-actions {
  justify-content: flex-end;
  margin-top: 14px;
}

.agency-pairing-panel .agency-field {
  flex: 1 1 360px;
}

.agency-pairing-code-dialog {
  width: min(620px, calc(100vw - 32px));
  padding: 0;
  border: none;
  border-radius: 16px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 22px 70px rgba(11, 31, 58, 0.3);
}

.agency-pairing-code-dialog::backdrop {
  background: rgba(11, 31, 58, 0.58);
}

.agency-pairing-code-card {
  padding: 22px;
}

.agency-pairing-code-output {
  display: block;
  margin-top: 16px;
  padding: 14px;
  overflow-wrap: anywhere;
  font: 700 14px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace;
  user-select: all;
  color: var(--blue-600);
  background: var(--blue-50);
  border: 1px solid var(--blue-100);
  border-radius: 10px;
}



.agency-seed-picker-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.agency-seed-picker-row .agency-export-summary {
  margin: 0;
  flex: 1 1 260px;
}

.agency-import-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  cursor: pointer;
}

.agency-import-consent input {
  margin-top: 3px;
  width: 17px;
  height: 17px;
  accent-color: var(--blue-600);
  flex: none;
}

.agency-import-consent span {
  display: grid;
  gap: 2px;
}

.agency-import-consent small {
  color: var(--muted);
  line-height: 1.45;
}

.agency-policy-picker-dialog {
  width: min(760px, calc(100vw - 32px));
  max-height: min(84vh, 900px);
  padding: 0;
  border: none;
  border-radius: 16px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 22px 70px rgba(11, 31, 58, 0.3);
}

.agency-policy-picker-dialog::backdrop {
  background: rgba(11, 31, 58, 0.58);
}

.agency-policy-picker {
  display: flex;
  flex-direction: column;
  max-height: inherit;
  padding: 20px 22px 16px;
  gap: 12px;
}

.agency-policy-picker__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.agency-policy-picker__header h2 {
  margin: 0;
  font-size: 20px;
}

.agency-policy-picker__filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.agency-policy-picker__filters .agency-field {
  flex: 0 1 220px;
}

.agency-policy-picker__filters .agency-policy-picker__search {
  flex: 1 1 260px;
}

.agency-policy-picker__bulk {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.agency-policy-picker__groups {
  flex: 1 1 auto;
  min-height: 160px;
  overflow-y: auto;
  display: grid;
  gap: 8px;
  align-content: start;
  padding-right: 4px;
}

.agency-policy-picker-group {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.agency-policy-picker-group__summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
  list-style-position: outside;
}

.agency-policy-picker-group__summary input {
  width: 17px;
  height: 17px;
  accent-color: var(--blue-600);
  flex: none;
}

.agency-policy-picker-group__summary strong {
  font-size: 15px;
}

.agency-policy-picker-group__summary small {
  margin-left: auto;
  color: var(--muted);
  white-space: nowrap;
}

.agency-policy-picker-group__summary::after {
  content: "";
  width: 8px;
  height: 8px;
  flex: none;
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  transform: rotate(45deg);
  transition: transform 0.15s ease;
  margin-top: -3px;
}

.agency-policy-picker-group[open] > .agency-policy-picker-group__summary::after {
  transform: rotate(225deg);
  margin-top: 3px;
}

.agency-policy-picker-group__summary::-webkit-details-marker {
  display: none;
}

.agency-policy-picker-group__rows {
  display: grid;
  gap: 2px;
  padding: 4px 10px 10px;
  border-top: 1px solid var(--line);
}

.agency-policy-picker-group__rows .agency-seed-policy {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 8px;
  cursor: pointer;
}

.agency-policy-picker-group__rows .agency-seed-policy:hover {
  background: var(--blue-50);
}

.agency-policy-picker-group__rows .agency-seed-policy input {
  width: 16px;
  height: 16px;
  accent-color: var(--blue-600);
  flex: none;
}

.agency-seed-policy__details {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.agency-seed-policy__details strong {
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agency-seed-policy__details small {
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agency-policy-picker__empty {
  margin: 18px 0;
  text-align: center;
  color: var(--muted);
}

.agency-policy-picker__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.agency-policy-picker__footer .agency-export-summary {
  margin: 0;
  flex: 1 1 300px;
}

.agency-policy-picker__footer-buttons {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

.topbar-brand-group {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-self: start;
}

.profile-switcher {
  position: relative;
}

.profile-switcher-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 700;
  font-family: inherit;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.profile-switcher-button:hover,
.profile-switcher-button[aria-expanded="true"] {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(61, 123, 255, 0.16);
}

.profile-switcher-icon {
  font-size: 16px;
}

.profile-switcher-caret {
  font-size: 11px;
  color: var(--muted);
}

.profile-switcher-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 300;
  min-width: 210px;
  display: flex;
  flex-direction: column;
  padding: 6px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 18px 44px rgba(11, 31, 58, 0.18);
}

.profile-switcher-menu > button {
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  text-align: left;
  color: var(--ink);
  background: transparent;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

.profile-switcher-menu > button:hover {
  background: var(--blue-50);
  color: var(--blue-600);
}

.profile-switcher-menu > button[aria-checked="true"] {
  background: var(--blue-100);
  color: var(--blue-600);
}


.renewal-accounts-filter {
  position: relative;
  display: inline-flex;
  margin-left: 3px;
  padding-left: 6px;
  border-left: 1px solid rgba(0, 177, 116, 0.24);
}

.renewal-accounts-filter > button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.renewal-accounts-caret {
  font-size: 8px;
  opacity: 0.75;
  transform: translateY(0.5px);
}

.renewal-accounts-filter > button[aria-expanded="true"] {
  color: #007a45;
  background: rgba(0, 177, 116, 0.12);
}


.renewal-accounts-button--active::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ff9f43;
  box-shadow: 0 0 0 2px rgba(255, 159, 67, 0.25);
}

.renewal-accounts-menu {
  
  position: fixed;
  z-index: 1200;
  min-width: 215px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 8px;
  background: var(--surface);
  border: 1px solid rgba(0, 177, 116, 0.28);
  border-radius: 11px;
  box-shadow: 0 16px 38px rgba(11, 31, 58, 0.2);
}


.renewal-accounts-menu::before {
  content: "";
  position: absolute;
  top: -5px;
  right: 18px;
  width: 8px;
  height: 8px;
  background: var(--surface);
  border-top: 1px solid rgba(0, 177, 116, 0.28);
  border-left: 1px solid rgba(0, 177, 116, 0.28);
  transform: rotate(45deg);
}

.renewal-accounts-menu-title {
  margin: 2px 4px 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}

.renewal-account-option {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 9px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink);
  border-radius: 8px;
  cursor: pointer;
  transition: background 120ms ease;
}

.renewal-account-option:hover {
  background: rgba(0, 177, 116, 0.09);
}

.renewal-account-option > input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #00a76f;
  cursor: pointer;
}

.policy-entry {
  position: relative;
}

.policy-owner-badge {
  position: absolute;
  top: -7px;
  left: 10px;
  z-index: 5;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 2px 9px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: var(--blue-600);
  border-radius: 999px;
  box-shadow: 0 3px 8px rgba(11, 31, 58, 0.25);
  pointer-events: auto;
  cursor: help;
}

.policy-owner-badge--unknown {
  background: var(--warning);
}

html[data-theme="dark"] .profile-switcher-menu,
html[data-theme="dark"] .renewal-accounts-menu {
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .renewal-accounts-menu {
  background: #1f2a26;
  border-color: #176d53;
}

html[data-theme="dark"] .renewal-accounts-menu::before {
  background: #1f2a26;
  border-color: #176d53;
}

html[data-theme="dark"] .renewal-accounts-filter {
  border-left-color: #176d53;
}

html[data-theme="dark"] .renewal-accounts-filter > button[aria-expanded="true"] {
  color: #7fe0b6;
  background: rgba(0, 177, 116, 0.16);
}

html[data-theme="dark"] .renewal-account-option:hover {
  background: rgba(0, 177, 116, 0.12);
}

html[data-theme="dark"] .profile-switcher-menu > button:hover {
  background: rgba(61, 123, 255, 0.14);
}

html[data-theme="dark"] .profile-switcher-menu > button[aria-checked="true"] {
  background: rgba(61, 123, 255, 0.22);
  color: var(--blue-500);
}


.account-gate-form[hidden],
.account-gate-success[hidden],
.account-gate-field[hidden],
.account-gate-error[hidden],
.account-gate-insurers[hidden],
.quote-insurer-card[hidden],
.calculator-account-card[hidden],
.quote-insurers-empty[hidden] {
  display: none;
}


.profile-switcher[hidden],
.profile-switcher-menu[hidden],
.renewal-accounts-filter[hidden],
.renewal-accounts-menu[hidden] {
  display: none;
}


.client-profile-link {
  min-width: 0;
  padding: 0;
  border: 0;
  color: var(--navy-950);
  background: transparent;
  font: inherit;
  font-weight: 800;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: color 150ms ease, text-decoration-color 150ms ease;
}

.client-profile-link:hover,
.client-profile-link:focus-visible {
  color: var(--blue-600);
  text-decoration-color: currentColor;
  outline: 0;
}

.client-profile-dialog {
  width: min(1480px, calc(100vw - 28px));
  height: min(940px, calc(100vh - 28px));
  max-width: none;
  max-height: none;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 22px;
  color: var(--ink);
  background: var(--canvas);
  box-shadow: 0 30px 90px rgba(11, 31, 58, 0.3);
  overflow: hidden;
}

.client-profile-dialog::backdrop {
  background: rgba(8, 20, 39, 0.68);
  backdrop-filter: blur(4px);
}

.client-profile-panel {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  height: 100%;
}

.client-profile-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 26px 18px;
  color: #fff;
  background:
    radial-gradient(circle at 80% -40%, rgba(255, 255, 255, 0.22), transparent 22rem),
    linear-gradient(115deg, #102848, #1b4b83);
}

html[data-theme="dark"] .client-profile-header {
  background:
    radial-gradient(circle at 80% -40%, rgba(126, 239, 194, 0.16), transparent 22rem),
    linear-gradient(115deg, #102d25, #0b503c);
}

.client-profile-heading {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.client-profile-heading p,
.client-profile-heading h2,
.client-profile-heading span {
  margin: 0;
}

.client-profile-heading p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.client-profile-heading h2 {
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.client-profile-heading span {
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  font-weight: 650;
}

.client-profile-header .settings-close {
  flex: 0 0 auto;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
}

.client-profile-header .settings-close:hover,
.client-profile-header .settings-close:focus-visible {
  background: rgba(255, 255, 255, 0.18);
}

.client-profile-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 12px 26px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.client-profile-search label {
  display: flex;
  min-width: 0;
  min-height: 42px;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--canvas);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.client-profile-search label:focus-within {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue-500) 15%, transparent);
}

.client-profile-search label > span {
  color: var(--blue-600);
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.client-profile-search input {
  min-width: 0;
  width: 100%;
  border: 0;
  color: var(--ink);
  background: transparent;
  outline: 0;
  font-size: 13px;
}

.client-profile-search > button {
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: var(--blue-600);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.client-profile-search > button:hover,
.client-profile-search > button:focus-visible {
  background: var(--blue-500);
  outline: 0;
}

.client-profile-content {
  min-height: 0;
  padding: 20px 26px 28px;
  overflow: auto;
  scroll-behavior: smooth;
}

.client-profile-content[aria-busy="true"] {
  cursor: progress;
}

.client-profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  align-items: start;
  gap: 18px;
  max-width: 1380px;
  margin: 0 auto;
}

.client-profile-main {
  display: grid;
  min-width: 0;
  gap: 16px;
}

.client-profile-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.client-profile-overview > div {
  display: grid;
  min-width: 0;
  min-height: 92px;
  align-content: center;
  gap: 3px;
  padding: 14px 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 6px 18px rgba(18, 44, 76, 0.04);
}

.client-profile-overview span,
.client-profile-overview small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.client-profile-overview span {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.client-profile-overview strong {
  color: var(--navy-950);
  font-size: 22px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.client-profile-section {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--surface);
  box-shadow: 0 8px 24px rgba(18, 44, 76, 0.045);
}

.client-profile-section--history {
  background: color-mix(in srgb, var(--surface) 92%, var(--canvas));
}

.client-profile-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.client-profile-section-heading > div {
  display: grid;
  gap: 2px;
}

.client-profile-section-heading span {
  color: var(--blue-600);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.client-profile-section-heading h3,
.client-profile-section-heading small,
.client-profile-section-heading strong {
  margin: 0;
}

.client-profile-section-heading h3 {
  color: var(--navy-950);
  font-size: 17px;
}

.client-profile-section-heading small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
  text-align: right;
}

.client-profile-section-heading > strong {
  color: var(--success);
  font-size: 16px;
}

.client-profile-person-form,
.client-profile-policy-edit,
.client-profile-vehicle-edit {
  display: grid;
  gap: 12px;
}

.client-profile-edit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.client-profile-edit-grid label,
.client-profile-wide-field {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.client-profile-edit-grid label > span,
.client-profile-wide-field > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.client-profile-edit-grid input,
.client-profile-edit-grid select,
.client-profile-wide-field textarea {
  min-width: 0;
  width: 100%;
  min-height: 41px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: var(--canvas);
  outline: 0;
  font-size: 13px;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.client-profile-wide-field textarea {
  min-height: 66px;
  resize: vertical;
  line-height: 1.5;
}

.client-profile-edit-grid input:focus,
.client-profile-edit-grid select:focus,
.client-profile-wide-field textarea:focus {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue-500) 13%, transparent);
}

.client-profile-edit-grid .client-profile-field--wide {
  grid-column: span 2;
}


.client-profile-edit-grid .client-profile-field--linked input[readonly] {
  color: var(--muted);
  background: var(--blue-50);
  border-style: dashed;
  cursor: default;
}

.client-profile-edit-grid .client-profile-field--linked input[readonly]:focus {
  border-color: var(--line);
  box-shadow: none;
}

.client-profile-source-details {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.client-profile-source-details span {
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: var(--canvas);
  font-size: 11px;
}

.client-profile-source-details b {
  color: var(--ink);
}

.client-profile-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 2px;
}

.client-profile-form-actions > span {
  margin-right: auto;
  color: var(--muted);
  font-size: 11px;
}

.client-profile-form-actions button {
  min-height: 36px;
}

.client-profile-vehicle-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.client-profile-vehicle-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--canvas);
}

.client-profile-vehicle-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.client-profile-vehicle-title > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.client-profile-vehicle-title strong {
  color: var(--navy-950);
  font-size: 15px;
  letter-spacing: 0.05em;
}


.client-profile-vehicle-registration-button {
  justify-self: start;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.client-profile-vehicle-registration-button:not(:disabled):hover strong,
.client-profile-vehicle-registration-button:focus-visible strong {
  color: #007a45;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.client-profile-vehicle-registration-button:disabled {
  cursor: default;
}

.client-profile-vehicle-title span,
.client-profile-vehicle-title small {
  color: var(--muted);
  font-size: 11px;
}

.client-profile-vehicle-title small {
  flex: 0 0 auto;
}

.client-profile-vehicle-facts,
.client-profile-policy-facts {
  display: grid;
  gap: 0;
  margin: 11px 0 0;
}

.client-profile-vehicle-facts > div,
.client-profile-policy-facts > div {
  display: grid;
  grid-template-columns: minmax(118px, 0.38fr) minmax(0, 1fr);
  gap: 10px;
  padding: 7px 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
}

.client-profile-vehicle-facts dt,
.client-profile-policy-facts dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
}

.client-profile-vehicle-facts dd,
.client-profile-policy-facts dd {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
}


.client-profile-vehicle-facts {
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  gap: 7px;
  margin-top: 12px;
}

.client-profile-vehicle-facts > div {
  grid-template-columns: 1fr;
  align-content: start;
  gap: 2px;
  padding: 7px 9px 8px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 9px;
  background: var(--surface);
}

.client-profile-vehicle-facts > div.client-profile-vehicle-fact--wide {
  grid-column: 1 / -1;
}

.client-profile-vehicle-facts dt {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.client-profile-vehicle-facts dd.client-profile-vehicle-fact-empty {
  color: var(--muted);
  font-weight: 600;
  opacity: 0.75;
}

.client-profile-card-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.client-profile-card-actions button {
  min-height: 33px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--blue-600);
  background: var(--surface);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.client-profile-card-actions button:hover,
.client-profile-card-actions button:focus-visible {
  border-color: var(--blue-500);
  background: var(--blue-50);
  outline: 0;
}

.client-profile-policy-list {
  display: grid;
  gap: 10px;
}

.client-profile-policy-card {
  position: relative;
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid var(--line);
  border-left-width: 4px;
  border-radius: 13px;
  background: var(--canvas);
  scroll-margin: 90px;
}

.client-profile-policy-card--active {
  border-left-color: var(--success);
}

.client-profile-policy-card--soon {
  border-left-color: var(--warning);
}

.client-profile-policy-card--history {
  border-left-color: var(--muted);
}

.client-profile-policy-card--unknown {
  border-left-color: var(--blue-500);
}

.client-profile-policy-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.client-profile-policy-card__top > div:first-child {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.client-profile-policy-card__top strong {
  color: var(--navy-950);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.client-profile-policy-card__top small {
  color: var(--muted);
  font-size: 11px;
}

.client-profile-status {
  width: max-content;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.client-profile-status--active {
  color: #087153;
  background: #dff7ed;
}

.client-profile-status--soon {
  color: #8c530d;
  background: #fff0d9;
}

.client-profile-status--history {
  color: var(--muted);
  background: color-mix(in srgb, var(--muted) 13%, transparent);
}

.client-profile-status--unknown {
  color: var(--blue-600);
  background: var(--blue-100);
}

.client-profile-status--transferred {
  display: none !important;
  color: #9a6a1f;
  background: #fdf3e2;
}

html[data-theme="dark"] .client-profile-status--active {
  color: #77e0b8;
  background: #143f32;
}

html[data-theme="dark"] .client-profile-status--soon {
  color: #ffc879;
  background: #49331b;
}

html[data-theme="dark"] .client-profile-status--transferred {
  color: #ffd28a;
  background: #46351d;
}

.client-profile-policy-premium {
  display: grid;
  flex: 0 0 auto;
  gap: 2px;
  text-align: right;
}

.client-profile-policy-premium span {
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 750;
  text-transform: uppercase;
}

.client-profile-policy-premium strong {
  color: var(--success);
  font-size: 16px;
}

.client-profile-policy-note {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--muted);
  background: var(--surface);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.client-profile-policy-edit,
.client-profile-vehicle-edit {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.client-profile-empty {
  margin: 0;
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 11px;
  color: var(--muted);
  background: var(--canvas);
  font-size: 12px;
  text-align: center;
}

.client-profile-merge-toggle {
  min-height: 33px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--blue-600);
  background: var(--canvas);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}


html:not([data-client-profile-merge-enabled="true"]) .client-profile-merge-section {
  display: none !important;
}

html:not([data-client-profile-merge-enabled="true"]) .client-profile-merge-toggle--inline {
  display: none !important;
}


.client-profile-name-field {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.client-profile-name-field > label {
  flex: 1;
  min-width: 0;
}

.client-profile-merge-toggle--inline {
  min-height: 41px;
  white-space: nowrap;
  flex-shrink: 0;
}

.client-profile-merge-toggle:hover,
.client-profile-merge-toggle:focus-visible {
  border-color: var(--blue-500);
  background: var(--blue-50);
  outline: 0;
}

.client-profile-merge-hint {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.client-profile-merge-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-bottom: 12px;
}

.client-profile-merge-search input {
  min-width: 0;
  width: 100%;
  min-height: 39px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: var(--canvas);
  outline: 0;
  font-size: 13px;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.client-profile-merge-search input:focus {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue-500) 13%, transparent);
}

.client-profile-merge-list {
  display: grid;
  gap: 8px;
}

.client-profile-merge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--canvas);
}

.client-profile-merge-row + .client-profile-merge-list {
  margin-top: 8px;
}

.client-profile-merge-row-info {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.client-profile-merge-row-info strong {
  color: var(--navy-950);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.client-profile-merge-row-info small {
  color: var(--muted);
  font-size: 11px;
}

.client-profile-merge-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
}

.client-profile-merge-reasons span {
  padding: 2px 8px;
  border-radius: 999px;
  color: var(--blue-600);
  background: var(--blue-100);
  font-size: 10px;
  font-weight: 750;
}

.client-profile-merge-row > button {
  flex: 0 0 auto;
  min-height: 33px;
  padding: 7px 14px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--blue-600);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.client-profile-merge-row > button:hover,
.client-profile-merge-row > button:focus-visible {
  background: var(--blue-500);
  outline: 0;
}


.client-profile-link-toggle {
  min-height: 33px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--blue-600);
  background: var(--canvas);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}

.client-profile-link-toggle:hover,
.client-profile-link-toggle:focus-visible {
  border-color: var(--blue-500);
  background: var(--blue-50);
  outline: 0;
}

.client-profile-link-hint {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.client-profile-link-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-bottom: 12px;
}

.client-profile-link-search input {
  min-width: 0;
  width: 100%;
  min-height: 39px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: var(--canvas);
  outline: 0;
  font-size: 13px;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.client-profile-link-search input:focus {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue-500) 13%, transparent);
}

.client-profile-link-list {
  display: grid;
  gap: 8px;
}

.client-profile-link-list + .client-profile-link-hint {
  margin-top: 12px;
}

.client-profile-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--canvas);
}

.client-profile-link-row-info {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.client-profile-link-row-info small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.client-profile-link-row-info strong {
  color: var(--navy-950);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.client-profile-link-row-info span {
  color: var(--muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}

.client-profile-link-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
}

.client-profile-link-reasons span {
  padding: 2px 8px;
  border-radius: 999px;
  color: var(--blue-600);
  background: var(--blue-100);
  font-size: 10px;
  font-weight: 750;
}

.client-profile-link-row-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

.client-profile-link-row-actions button[data-client-profile-link-confirm] {
  min-height: 33px;
  padding: 7px 14px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: var(--blue-600);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.client-profile-link-row-actions button[data-client-profile-link-confirm]:hover,
.client-profile-link-row-actions button[data-client-profile-link-confirm]:focus-visible {
  background: var(--blue-500);
  outline: 0;
}

.client-profile-sidebar {
  position: sticky;
  top: 0;
  display: grid;
  gap: 12px;
}

.client-profile-contact-card,
.client-profile-all-policies {
  display: grid;
  min-width: 0;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 8px 24px rgba(18, 44, 76, 0.045);
}

.client-profile-contact-card > span,
.client-profile-all-policies > div > span {
  color: var(--blue-600);
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.client-profile-contact-card > strong {
  color: var(--navy-950);
  font-size: 16px;
  overflow-wrap: anywhere;
}

.client-profile-contact-card a {
  color: var(--blue-600);
  font-size: 13px;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.client-profile-contact-card small,
.client-profile-contact-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.client-profile-all-policies > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.client-profile-all-policies > div > strong {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--blue-600);
  font-size: 12px;
}

.client-profile-all-policies nav {
  display: grid;
  max-height: min(570px, calc(100vh - 335px));
  gap: 4px;
  overflow: auto;
}

.client-profile-all-policies nav > button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 9px 8px;
  border: 0;
  border-radius: 9px;
  color: var(--ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.client-profile-all-policies nav > button:hover,
.client-profile-all-policies nav > button:focus-visible {
  background: var(--blue-50);
  outline: 0;
}

.client-profile-all-policies nav > button > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.client-profile-all-policies nav strong,
.client-profile-all-policies nav small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-profile-all-policies nav strong {
  font-size: 12px;
}

.client-profile-all-policies nav small {
  color: var(--muted);
  font-size: 10.5px;
}

.client-profile-all-policies nav b {
  color: var(--success);
  font-size: 11px;
  white-space: nowrap;
}

.client-profile-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--muted);
}

.client-profile-status-dot--active {
  background: var(--success);
}

.client-profile-status-dot--soon {
  background: var(--warning);
}

.client-profile-status-dot--unknown {
  background: var(--blue-500);
}

.client-profile-policy-card--highlight {
  animation: client-profile-highlight 1.4s ease-out;
}

@keyframes client-profile-highlight {
  0%,
  35% {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--blue-500) 22%, transparent);
  }
  100% {
    box-shadow: none;
  }
}

@media (max-width: 1050px) {
  .client-profile-layout {
    grid-template-columns: 1fr;
  }

  .client-profile-sidebar {
    position: static;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    grid-row: 1;
  }

  .client-profile-all-policies nav {
    max-height: 230px;
  }
}

@media (max-width: 760px) {
  .client-profile-dialog {
    width: 100vw;
    height: 100dvh;
    max-width: 100vw;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .client-profile-header {
    padding: 17px 16px 14px;
  }

  .client-profile-search {
    grid-template-columns: 1fr;
    padding: 10px 14px;
  }

  .client-profile-search > button {
    min-height: 36px;
  }

  .client-profile-content {
    padding: 14px;
  }

  .client-profile-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-profile-section {
    padding: 14px;
  }

  .client-profile-edit-grid,
  .client-profile-vehicle-list,
  .client-profile-sidebar {
    grid-template-columns: 1fr;
  }

  .client-profile-edit-grid .client-profile-field--wide {
    grid-column: auto;
  }

  .client-profile-section-heading {
    align-items: flex-start;
  }

  .client-profile-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .client-profile-form-actions > span {
    margin: 0;
  }

  .client-profile-form-actions button {
    width: 100%;
  }

  .client-profile-merge-search {
    grid-template-columns: 1fr;
  }

  .client-profile-merge-row {
    flex-direction: column;
    align-items: stretch;
  }

  .client-profile-link-search {
    grid-template-columns: 1fr;
  }

  .client-profile-link-row {
    flex-direction: column;
    align-items: stretch;
  }

  .client-profile-link-row-actions {
    justify-content: stretch;
  }

  .client-profile-link-row-actions button {
    flex: 1;
  }

  .client-profile-sidebar {
    grid-row: auto;
  }
}


.client-profile-card-actions {
  flex-wrap: wrap;
  gap: 7px;
}

.client-profile-card-actions button.client-profile-card-action--danger {
  color: #be4040;
}

.client-profile-card-actions button.client-profile-card-action--danger:hover,
.client-profile-card-actions button.client-profile-card-action--danger:focus-visible {
  border-color: #d98080;
  background: #fff0f0;
}

html[data-theme="dark"] .client-profile-card-actions button.client-profile-card-action--danger {
  color: #ffb1aa;
}

html[data-theme="dark"] .client-profile-card-actions button.client-profile-card-action--danger:hover,
html[data-theme="dark"] .client-profile-card-actions button.client-profile-card-action--danger:focus-visible {
  border-color: #7c4b47;
  background: #422725;
}


.client-profile-card-actions button.client-profile-vehicle-history-button {
  color: #1d4f91;
  font-weight: 700;
  transition: padding 0.25s ease;
}

.client-profile-card-actions button.client-profile-vehicle-history-button:hover,
.client-profile-card-actions button.client-profile-vehicle-history-button:focus-visible {
  border-color: #7fa3d1;
  background: #eef4fc;
}

.client-profile-card-actions button.client-profile-vehicle-history-button--busy {
  padding-inline: 20px;
  animation: client-profile-vehicle-history-pulse 1.1s ease-in-out infinite;
}

@keyframes client-profile-vehicle-history-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.55; }
}

html[data-theme="dark"] .client-profile-card-actions button.client-profile-vehicle-history-button {
  color: #9ec4f5;
}

html[data-theme="dark"] .client-profile-card-actions button.client-profile-vehicle-history-button:hover,
html[data-theme="dark"] .client-profile-card-actions button.client-profile-vehicle-history-button:focus-visible {
  border-color: #3d5a78;
  background: #24344a;
}

.client-profile-vehicle-facts div.client-profile-vehicle-fact--missing dt,
.client-profile-vehicle-facts div.client-profile-vehicle-fact--missing dd {
  color: #c62a2a;
  font-weight: 700;
}

.client-profile-vehicle-title strong.client-profile-vehicle-fact--missing {
  color: #c62a2a;
}

html[data-theme="dark"] .client-profile-vehicle-facts div.client-profile-vehicle-fact--missing dt,
html[data-theme="dark"] .client-profile-vehicle-facts div.client-profile-vehicle-fact--missing dd,
html[data-theme="dark"] .client-profile-vehicle-title strong.client-profile-vehicle-fact--missing {
  color: #ff9d94;
}


.vehicle-details-history-button {
  margin-right: auto;
  color: #1d4f91;
  font-weight: 700;
  transition: padding 0.25s ease;
}

.vehicle-details-history-button--busy {
  padding-inline: 20px;
  animation: client-profile-vehicle-history-pulse 1.1s ease-in-out infinite;
}

html[data-theme="dark"] .vehicle-details-history-button {
  color: #9ec4f5;
}

.vehicle-details-item--missing dt,
.vehicle-details-item--missing .vehicle-details-value {
  color: #c62a2a;
  font-weight: 700;
}

.vehicle-details-item--missing .vehicle-details-value-display {
  border-color: #d98080;
}

html[data-theme="dark"] .vehicle-details-item--missing dt,
html[data-theme="dark"] .vehicle-details-item--missing .vehicle-details-value {
  color: #ff9d94;
}

html[data-theme="dark"] .vehicle-details-item--missing .vehicle-details-value-display {
  border-color: #7c4b47;
}

.client-profile-vehicle-title .client-profile-vehicle-sold-badge {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  margin-top: 2px;
  border-radius: 5px;
  padding: 2px 7px;
  color: #9a6a1f;
  background: #fdf3e2;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.03em;
}

html[data-theme="dark"] .client-profile-vehicle-title .client-profile-vehicle-sold-badge {
  color: #ffd28a;
  background: #46351d;
}

.client-profile-vehicle-card--sold {
  border-color: #eadfc8;
}

html[data-theme="dark"] .client-profile-vehicle-card--sold {
  border-color: #46351d;
}

.client-profile-status--sold {
  color: #9a6a1f;
  background: #fdf3e2;
}

html[data-theme="dark"] .client-profile-status--sold {
  color: #ffd28a;
  background: #46351d;
}

.client-profile-status-dot--sold {
  background: #d99a2b;
}

.client-profile-vehicle-restore {
  margin-top: 10px;
  min-height: 33px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: var(--canvas);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.client-profile-vehicle-restore:hover,
.client-profile-vehicle-restore:focus-visible {
  border-color: var(--blue-500);
  color: var(--blue-600);
  background: var(--blue-50);
  outline: 0;
}


.vehicle-sold-badge {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  border-radius: 5px;
  padding: 1px 5px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.025em;
  line-height: 1.2;
  color: #9a6a1f;
  background: #fdf3e2;
  cursor: help;
}

html[data-theme="dark"] .vehicle-sold-badge {
  color: #ffd28a;
  background: #46351d;
}

.policy-row--vehicle-sold {
  opacity: 0.82;
}



.portfolio-import-launcher {
  position: relative;
  display: flex;
  min-height: 210px;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: column;
  gap: 22px;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: 14px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 20px;
  color: #fff;
  background:
    linear-gradient(95deg, rgba(18, 31, 27, 0.94) 0%, rgba(22, 39, 33, 0.78) 54%, rgba(20, 30, 27, 0.24) 100%),
    url("assets/mountain-login.jpg") center 56% / cover no-repeat;
  box-shadow:
    0 18px 42px rgba(38, 48, 43, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.portfolio-import-launcher::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 92% 15%, rgba(255, 255, 255, 0.18), transparent 13rem),
    linear-gradient(180deg, transparent 44%, rgba(10, 19, 16, 0.22));
  content: "";
  pointer-events: none;
}

.portfolio-import-launcher__copy {
  display: flex;
  z-index: 1;
  max-width: 570px;
  flex-direction: column;
  gap: 7px;
}

.portfolio-import-launcher__copy strong {
  color: #fff;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: clamp(23px, 3.2vw, 31px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.05;
  text-wrap: balance;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.32);
}

.portfolio-import-launcher__copy small {
  max-width: 520px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-weight: 560;
  line-height: 1.55;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}

.portfolio-import-launcher__eyebrow {
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(20, 35, 30, 0.3);
  backdrop-filter: blur(10px);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.portfolio-import-launcher__actions {
  display: flex;
  z-index: 1;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.portfolio-import-launcher__button {
  min-height: 44px;
  flex: 0 0 auto;
  gap: 12px;
  padding: 0 18px;
  border-radius: 12px;
  font-size: 11px;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 24px rgba(11, 27, 21, 0.3);
  transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.portfolio-import-launcher__button:hover,
.portfolio-import-launcher__button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(11, 27, 21, 0.36);
}

.portfolio-import-launcher__button-icon {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.portfolio-import-launcher__credentials {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 12px;
  color: #fff;
  background: rgba(20, 35, 30, 0.32);
  backdrop-filter: blur(12px);
  font: inherit;
  font-size: 10px;
  font-weight: 780;
  cursor: pointer;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.28);
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}

.portfolio-import-launcher__credentials:hover,
.portfolio-import-launcher__credentials:focus-visible {
  border-color: rgba(255, 255, 255, 0.7);
  outline: 0;
  background: rgba(35, 57, 49, 0.58);
  transform: translateY(-1px);
}

#calculatorCredentialsStart {
  scroll-margin-top: 14px;
}

@media (max-width: 600px) {
  .portfolio-import-launcher {
    min-height: 260px;
    padding: 22px 20px;
    background-position: 58% 56%;
  }

  .portfolio-import-launcher__actions {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
  }

  .portfolio-import-launcher__button,
  .portfolio-import-launcher__credentials {
    width: 100%;
  }
}

.portfolio-import-dialog {
  border: none;
  border-radius: 18px;
  padding: 0;
  width: min(620px, calc(100vw - 32px));
  box-shadow: 0 24px 64px rgba(11, 31, 58, 0.28);
}

.portfolio-import-dialog::backdrop {
  background: rgba(11, 31, 58, 0.45);
}

.portfolio-import-panel {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border-radius: 18px;
  max-height: min(84vh, 780px);
}

.portfolio-import-header-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}

.portfolio-import-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px 24px;
  overflow-y: auto;
}

.portfolio-import-intro {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}

.portfolio-import-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.portfolio-import-row {
  display: grid;
  grid-template-columns: minmax(140px, 200px) 1fr;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}

.portfolio-import-row[data-state="action"] {
  border-color: var(--danger);
  background: rgba(198, 74, 74, 0.06);
}

.portfolio-import-row[data-state="done"] {
  border-color: rgba(21, 128, 92, 0.4);
}

.portfolio-import-row[data-state="skipped"] {
  opacity: 0.55;
}

.portfolio-import-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  cursor: pointer;
}

.portfolio-import-row[data-running="true"] .portfolio-import-choice {
  cursor: default;
}

.portfolio-import-choice strong {
  font-size: 14px;
  color: var(--navy-900);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.portfolio-import-track {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.portfolio-import-bar {
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: var(--blue-100);
  overflow: hidden;
}

.portfolio-import-bar__fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--blue-500), var(--blue-600));
  transition: width 420ms ease;
}

.portfolio-import-row[data-state="done"] .portfolio-import-bar__fill {
  background: var(--success);
}

.portfolio-import-row[data-state="action"] .portfolio-import-bar__fill {
  background: var(--danger);
}

.portfolio-import-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  color: var(--muted);
}

.portfolio-import-meta__counters {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-import-meta__percent {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  color: var(--navy-700);
}


.portfolio-import-input {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(43, 108, 176, 0.1);
  font-size: 12px;
  line-height: 1.45;
}

.portfolio-import-input small {
  color: var(--muted);
}

.portfolio-import-input label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 260px;
}

.portfolio-import-input input {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: inherit;
  font: inherit;
  letter-spacing: 0.08em;
}

.portfolio-import-input select {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: inherit;
  font: inherit;
}

.portfolio-import-input__buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.portfolio-import-action {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(198, 74, 74, 0.1);
  color: var(--danger);
  font-size: 12px;
  line-height: 1.45;
}

.portfolio-import-action button {
  flex: 0 0 auto;
}

.portfolio-import-empty {
  margin: 0;
  padding: 14px;
  border-radius: 12px;
  background: var(--blue-50);
  color: var(--muted);
  font-size: 13px;
}

.portfolio-import-pdf-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--ink);
  cursor: pointer;
}

.portfolio-import-full-toggle > span {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.portfolio-import-full-toggle small {
  color: var(--muted);
  line-height: 1.35;
}

.portfolio-import-totals {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
  padding-top: 4px;
}


.portfolio-import-totals[hidden] {
  display: none;
}

.portfolio-import-total {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px;
  border-radius: 12px;
  background: var(--blue-50);
  text-align: center;
}

.portfolio-import-total strong {
  font-size: 20px;
  line-height: 1.1;
  color: var(--navy-900);
  font-variant-numeric: tabular-nums;
}

.portfolio-import-total small {
  font-size: 11px;
  color: var(--muted);
}

.portfolio-import-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.portfolio-import-status {
  margin: 0;
  flex: 1 1 220px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.portfolio-import-status[data-state="error"] {
  color: var(--danger);
}

.portfolio-import-status[data-state="success"] {
  color: var(--success);
}

.portfolio-import-footer-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}

.portfolio-import-report-rows {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}

.portfolio-import-report-rows li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  font-size: 13px;
}

.portfolio-import-report-rows li + li {
  border-top: 1px solid var(--line);
}

.portfolio-import-report-rows strong {
  color: var(--navy-900);
}

.portfolio-import-report-rows span {
  color: var(--muted);
  text-align: right;
}

.portfolio-import-report-rows li[data-state="action"] span {
  color: var(--danger);
}


.portfolio-import-mini {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px 10px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  box-shadow: 0 16px 40px rgba(11, 31, 58, 0.22);
  cursor: pointer;
  font: inherit;
  text-align: left;
}


.portfolio-import-mini[hidden] {
  display: none;
}

.portfolio-import-mini:hover,
.portfolio-import-mini:focus-visible {
  border-color: var(--blue-500);
}

.portfolio-import-mini[data-state="action"] {
  border-color: var(--danger);
}

.portfolio-import-mini__ring {
  position: relative;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
}

.portfolio-import-mini__ring svg {
  width: 48px;
  height: 48px;
  transform: rotate(-90deg);
  animation: portfolio-import-spin 2.6s linear infinite;
}

.portfolio-import-mini__track {
  fill: none;
  stroke: var(--blue-100);
  stroke-width: 4;
}

.portfolio-import-mini__arc {
  fill: none;
  stroke: var(--blue-600);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 125.66;
  stroke-dashoffset: 125.66;
  transition: stroke-dashoffset 420ms ease;
}

.portfolio-import-mini[data-state="action"] .portfolio-import-mini__arc {
  stroke: var(--danger);
}

.portfolio-import-mini__percent {
  position: absolute;
  font-size: 12px;
  font-weight: 700;
  color: var(--navy-900);
  font-variant-numeric: tabular-nums;
}

.portfolio-import-mini__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.portfolio-import-mini__copy strong {
  font-size: 13px;
  color: var(--navy-900);
}

.portfolio-import-mini__copy small {
  font-size: 11px;
  color: var(--muted);
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-import-mini__alert {
  flex: 0 0 auto;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--danger);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

@keyframes portfolio-import-spin {
  to { transform: rotate(270deg); }
}

html[data-theme="dark"] .portfolio-import-empty,
html[data-theme="dark"] .portfolio-import-total {
  background: rgba(61, 123, 255, 0.12);
  border-color: rgba(227, 233, 242, 0.16);
}

html[data-theme="dark"] .portfolio-import-choice strong,
html[data-theme="dark"] .portfolio-import-total strong,
html[data-theme="dark"] .portfolio-import-mini__copy strong,
html[data-theme="dark"] .portfolio-import-mini__percent,
html[data-theme="dark"] .portfolio-import-report-rows strong {
  color: #eaf1ff;
}

html[data-theme="dark"] .portfolio-import-panel,
html[data-theme="dark"] .portfolio-import-mini {
  background: #14213b;
}

html[data-theme="dark"] .portfolio-import-row,
html[data-theme="dark"] .portfolio-import-report-rows,
html[data-theme="dark"] .portfolio-import-report-rows li + li {
  border-color: rgba(227, 233, 242, 0.16);
}

html[data-theme="dark"] .portfolio-import-row {
  background: rgba(61, 123, 255, 0.06);
}

html[data-theme="dark"] .portfolio-import-bar {
  background: rgba(227, 233, 242, 0.14);
}

html[data-theme="dark"] .portfolio-import-mini__track {
  stroke: rgba(227, 233, 242, 0.14);
}

html[data-theme="dark"] .portfolio-import-meta__percent {
  color: #9db1d9;
}

@media (prefers-reduced-motion: reduce) {
  .portfolio-import-mini__ring svg {
    animation: none;
  }

  .portfolio-import-bar__fill,
  .portfolio-import-mini__arc {
    transition: none;
  }
}



html:not([data-theme="dark"]) {
  color-scheme: light;
  --warm-white: #fffdf8;
  --warm-canvas: #f2efe8;
  --warm-panel: #f8f5ed;
  --warm-line: #deddd5;
  --forest-900: #26352f;
  --forest-700: #426f62;
  --forest-500: #6d9488;
  --peach-200: #edc198;
  --sky-200: #bdd2d2;
  --sand-200: #eedaa5;
}

html:not([data-theme="dark"]) body {
  background:
    radial-gradient(circle at 12% -8%, rgba(237, 193, 152, 0.35), transparent 25rem),
    radial-gradient(circle at 88% 4%, rgba(189, 210, 210, 0.42), transparent 30rem),
    linear-gradient(180deg, #f7f4ed 0, var(--warm-canvas) 32rem);
}

html:not([data-theme="dark"]) body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 6% 36%, rgba(238, 218, 165, 0.22), transparent 18rem),
    radial-gradient(circle at 96% 52%, rgba(109, 148, 136, 0.1), transparent 24rem);
  content: "";
  pointer-events: none;
}

html:not([data-theme="dark"]) .page-shell {
  width: min(1480px, 100%);
  padding: 0 38px 36px;
}

html:not([data-theme="dark"]) .topbar {
  min-height: 76px;
  padding: 8px 14px;
  border: 1px solid rgba(216, 214, 204, 0.9);
  border-radius: 22px;
  background: rgba(255, 253, 248, 0.78);
  box-shadow:
    0 18px 48px rgba(57, 63, 58, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(18px);
}

html:not([data-theme="dark"]) .brand {
  width: 148px;
  height: 58px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  background: linear-gradient(145deg, #34483f, #222d29);
  box-shadow:
    0 10px 24px rgba(38, 53, 47, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html:not([data-theme="dark"]) .record-counter,
html:not([data-theme="dark"]) .today-date,
html:not([data-theme="dark"]) .renewal-filter,
html:not([data-theme="dark"]) .settings-gear,
html:not([data-theme="dark"]) .screen-lock-button,
html:not([data-theme="dark"]) .profile-switcher-button {
  border-color: #d9d8d0;
  color: #4c5c55;
  background: rgba(255, 253, 248, 0.86);
  box-shadow: 0 5px 14px rgba(48, 57, 52, 0.045);
}

html:not([data-theme="dark"]) .record-counter,
html:not([data-theme="dark"]) .today-date {
  min-height: 38px;
  padding-right: 13px;
  padding-left: 13px;
}

html:not([data-theme="dark"]) .counter-dot {
  background: #5e8c79;
  box-shadow: 0 0 0 4px rgba(94, 140, 121, 0.13);
}

html:not([data-theme="dark"]) .quote-calculator-button {
  height: 40px;
  padding: 0 15px;
  border-color: var(--forest-900);
  border-radius: 13px;
  background: linear-gradient(145deg, #39584d, var(--forest-900));
  box-shadow: 0 9px 22px rgba(38, 53, 47, 0.18);
  letter-spacing: 0.01em;
}

html:not([data-theme="dark"]) .quote-calculator-button:hover,
html:not([data-theme="dark"]) .quote-calculator-button:focus-visible {
  border-color: #1d2924;
  background: linear-gradient(145deg, #496b60, #2c3f37);
  box-shadow: 0 12px 26px rgba(38, 53, 47, 0.24);
}

html:not([data-theme="dark"]) .settings-gear,
html:not([data-theme="dark"]) .screen-lock-button {
  width: 40px;
  height: 40px;
  border-radius: 13px;
}

html:not([data-theme="dark"]) .screen-lock-button {
  top: 20px;
  right: 18px;
}

html:not([data-theme="dark"]) .hero {
  position: relative;
  padding: 34px 20px 30px;
}

html:not([data-theme="dark"]) .hero::before,
html:not([data-theme="dark"]) .hero::after {
  position: absolute;
  z-index: -1;
  border-radius: 999px;
  content: "";
  filter: blur(0.2px);
}

html:not([data-theme="dark"]) .hero::before {
  top: 26px;
  left: calc(50% - 430px);
  width: 48px;
  height: 48px;
  background: rgba(237, 193, 152, 0.55);
}

html:not([data-theme="dark"]) .hero::after {
  right: calc(50% - 440px);
  bottom: 30px;
  width: 30px;
  height: 30px;
  background: rgba(189, 210, 210, 0.72);
}

html:not([data-theme="dark"]) .search-box {
  width: min(760px, 100%);
  height: 72px;
  padding-right: 20px;
  padding-left: 25px;
  border-color: #d8d7cf;
  border-radius: 24px;
  background: rgba(255, 253, 248, 0.68);
  backdrop-filter: blur(2px) saturate(1.08);
  box-shadow:
    0 20px 50px rgba(55, 65, 59, 0.1),
    inset 0 1px 0 #fff;
}

html:not([data-theme="dark"]) .search-box:focus-within {
  border-color: rgba(66, 111, 98, 0.7);
  box-shadow:
    0 22px 54px rgba(55, 65, 59, 0.12),
    0 0 0 5px rgba(66, 111, 98, 0.1);
}

html:not([data-theme="dark"]) .search-box svg {
  stroke: var(--forest-700);
}

html:not([data-theme="dark"]) .search-box input {
  color: var(--forest-900);
  font-size: 15px;
}

html:not([data-theme="dark"]) .search-box input::placeholder {
  color: #9b9d97;
}

html:not([data-theme="dark"]) .search-tools {
  width: min(760px, 100%);
}

html:not([data-theme="dark"]) .date-filter-toggle:hover,
html:not([data-theme="dark"]) .date-filter-toggle:focus-visible,
html:not([data-theme="dark"]) .date-filter-toggle--active,
html:not([data-theme="dark"]) .clear-search-filters:hover,
html:not([data-theme="dark"]) .clear-search-filters:focus-visible {
  color: var(--forest-700);
}

html:not([data-theme="dark"]) .usage-guide-button {
  border-color: rgba(66, 111, 98, 0.34);
  color: #456d61;
  background: rgba(240, 247, 243, 0.94);
  box-shadow: 0 6px 16px rgba(55, 83, 73, 0.08);
}

html:not([data-theme="dark"]) .usage-guide-button:hover,
html:not([data-theme="dark"]) .usage-guide-button:focus-visible,
html:not([data-theme="dark"]) .usage-guide-button[aria-pressed="true"] {
  border-color: var(--forest-700);
  background: var(--forest-700);
}

html:not([data-theme="dark"]) .policies-card {
  border-color: #dcdad2;
  border-radius: 24px;
  background: rgba(255, 253, 248, 0.97);
  box-shadow:
    0 20px 55px rgba(52, 61, 56, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

html:not([data-theme="dark"]) .policy-grid--labels {
  min-height: 48px;
  color: #777b74;
  background:
    linear-gradient(90deg, rgba(237, 193, 152, 0.13), rgba(238, 218, 165, 0.18) 48%, rgba(189, 210, 210, 0.14));
  letter-spacing: 0.075em;
}

html:not([data-theme="dark"]) .sort-button:hover,
html:not([data-theme="dark"]) .sort-button:focus-visible,
html:not([data-theme="dark"]) .sort-button[aria-pressed="true"],
html:not([data-theme="dark"]) .sort-button--cycle:hover,
html:not([data-theme="dark"]) .sort-button--cycle:focus-visible {
  color: var(--forest-700);
  background: rgba(223, 236, 230, 0.72);
}

html:not([data-theme="dark"]) .policy-grid--form {
  padding-top: 19px;
  border-top-color: #e7e3da;
  background:
    linear-gradient(110deg, rgba(249, 245, 235, 0.96), rgba(245, 248, 244, 0.9));
}

html:not([data-theme="dark"]) .policy-grid--form input,
html:not([data-theme="dark"]) .policy-grid--form textarea,
html:not([data-theme="dark"]) .inline-field input,
html:not([data-theme="dark"]) .inline-field textarea {
  border-color: #d8d6cd;
  color: var(--forest-900);
  background: rgba(255, 253, 248, 0.95);
  box-shadow: inset 0 1px 2px rgba(48, 57, 52, 0.025);
}

html:not([data-theme="dark"]) .policy-grid--form input:focus,
html:not([data-theme="dark"]) .policy-grid--form textarea:focus,
html:not([data-theme="dark"]) .inline-field input:focus,
html:not([data-theme="dark"]) .inline-field textarea:focus {
  border-color: rgba(66, 111, 98, 0.72);
  box-shadow: 0 0 0 4px rgba(66, 111, 98, 0.1);
}

html:not([data-theme="dark"]) .add-button,
html:not([data-theme="dark"]) .settings-save-button,
html:not([data-theme="dark"]) .data-file-button--primary {
  border-radius: 11px;
  background: linear-gradient(145deg, #547d71, var(--forest-900));
  box-shadow: 0 9px 20px rgba(38, 53, 47, 0.18);
}

html:not([data-theme="dark"]) .add-button:hover,
html:not([data-theme="dark"]) .settings-save-button:hover,
html:not([data-theme="dark"]) .settings-save-button:focus-visible,
html:not([data-theme="dark"]) .data-file-button--primary:hover,
html:not([data-theme="dark"]) .data-file-button--primary:focus-visible {
  box-shadow: 0 12px 24px rgba(38, 53, 47, 0.23);
}

html:not([data-theme="dark"]) .renewal-filter[aria-pressed="true"] {
  border-color: rgba(66, 111, 98, 0.58);
  color: var(--forest-700);
  background: #e4eee9;
  box-shadow: 0 0 0 3px rgba(66, 111, 98, 0.1);
}

html:not([data-theme="dark"]) .renewal-filter strong {
  color: var(--forest-700);
  background: #e2ece7;
}

html:not([data-theme="dark"]) .renewal-filter[aria-pressed="true"] strong {
  color: #fff;
  background: var(--forest-700);
}

html:not([data-theme="dark"]) .reset-sorting-button {
  border-color: #c9ddd4;
  color: #456f62;
  background: #edf5f1;
}

html:not([data-theme="dark"]) .policy-row {
  border-color: #ebe7de;
  transition: background 150ms ease, box-shadow 150ms ease;
}

html:not([data-theme="dark"]) .policy-row:hover {
  background: rgba(245, 248, 244, 0.86);
  box-shadow: inset 3px 0 0 rgba(66, 111, 98, 0.42);
}

html:not([data-theme="dark"]) .records-pagination-bar {
  border-top-color: #e6e2d9;
  background: #faf7f0;
}

html:not([data-theme="dark"]) .pagination-page--current,
html:not([data-theme="dark"]) .pagination-page--current:hover,
html:not([data-theme="dark"]) .pagination-page--current:focus-visible {
  border-color: var(--forest-700);
  background: var(--forest-700);
}

html:not([data-theme="dark"]) .settings-panel,
html:not([data-theme="dark"]) .quote-calculator-panel,
html:not([data-theme="dark"]) .print-options-panel,
html:not([data-theme="dark"]) .calendar-dialog-panel,
html:not([data-theme="dark"]) .client-profile-panel {
  border-color: #dedbd2;
  background: var(--warm-white);
  box-shadow: 0 28px 80px rgba(38, 48, 43, 0.2);
}

html:not([data-theme="dark"]) :is(button, input, textarea, select):focus-visible {
  outline-color: rgba(66, 111, 98, 0.72);
}


.account-gate {
  padding: clamp(14px, 3vw, 40px);
  background:
    radial-gradient(circle at 10% 10%, rgba(237, 193, 152, 0.55), transparent 24rem),
    radial-gradient(circle at 88% 90%, rgba(189, 210, 210, 0.65), transparent 28rem),
    #efebe2;
}

.account-gate::before,
.account-gate::after {
  position: absolute;
  border-radius: 999px;
  content: "";
  pointer-events: none;
}

.account-gate::before {
  top: 8%;
  right: 7%;
  width: 70px;
  height: 70px;
  border: 1px solid rgba(73, 86, 79, 0.13);
  box-shadow:
    0 0 0 16px rgba(255, 255, 255, 0.1),
    0 0 0 32px rgba(255, 255, 255, 0.06);
}

.account-gate::after {
  bottom: 7%;
  left: 5%;
  width: 28px;
  height: 28px;
  background: rgba(238, 218, 165, 0.75);
}

.account-gate-panel {
  position: relative;
  display: grid;
  width: min(1080px, 100%);
  max-height: min(760px, calc(100vh - 48px));
  grid-template-columns: minmax(330px, 0.94fr) minmax(420px, 1.06fr);
  gap: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 32px;
  background: #fffdf8;
  box-shadow:
    0 34px 100px rgba(38, 48, 43, 0.22),
    0 5px 18px rgba(38, 48, 43, 0.07);
  text-align: left;
}

.account-gate-panel:has(.account-gate-insurers:not([hidden])) {
  width: min(1180px, 100%);
}

.account-gate-visual {
  position: relative;
  display: flex;
  min-height: 660px;
  flex-direction: column;
  justify-content: space-between;
  isolation: isolate;
  overflow: hidden;
  padding: 34px;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(19, 29, 26, 0.16), rgba(15, 24, 21, 0.12) 35%, rgba(11, 18, 16, 0.84)),
    url("assets/mountain-login.jpg") center 55% / cover no-repeat;
}

.account-gate-visual::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(125deg, rgba(36, 55, 48, 0.1), transparent 55%),
    radial-gradient(circle at 26% 22%, rgba(255, 255, 255, 0.2), transparent 16rem);
  content: "";
}

.account-gate-visual__copy {
  max-width: 390px;
  margin-top: auto;
  padding-top: 80px;
}

.account-gate-visual__copy p {
  margin: 0 0 16px;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: clamp(36px, 4.2vw, 56px);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 0.98;
  text-wrap: balance;
  text-shadow: 0 3px 30px rgba(0, 0, 0, 0.28);
}

.account-gate-visual__copy > span {
  display: block;
  max-width: 340px;
  color: rgba(255, 255, 255, 0.79);
  font-size: 13px;
  font-weight: 550;
  line-height: 1.6;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

.account-gate-visual__badge {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 9px;
  margin-top: 34px;
  padding: 9px 13px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(22, 34, 30, 0.34);
  backdrop-filter: blur(14px);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.account-gate-visual__badge b {
  font: inherit;
}

.account-gate-visual__badge span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d9e9df;
  box-shadow: 0 0 0 4px rgba(217, 233, 223, 0.15);
}

.account-gate-content {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow-y: auto;
  padding: clamp(34px, 5vw, 68px) clamp(32px, 5vw, 72px) 28px;
  color: #2d302d;
  background:
    radial-gradient(circle at 100% 0, rgba(189, 210, 210, 0.24), transparent 18rem),
    radial-gradient(circle at 0 100%, rgba(238, 218, 165, 0.16), transparent 16rem),
    #fffdf8;
  scrollbar-width: thin;
}

.account-gate-brand {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.account-gate-logo {
  width: 144px;
  max-width: 42%;
  align-self: auto;
}

.account-gate-brand__status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #788078;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.account-gate-brand__status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5f8c79;
  box-shadow: 0 0 0 4px rgba(95, 140, 121, 0.12);
}

.account-gate-heading {
  margin-top: clamp(42px, 7vh, 72px);
}

.account-gate-kicker {
  margin: 0 0 10px;
  color: #6b8b7f;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.account-gate-title {
  margin: 0;
  color: #2b302c;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: clamp(38px, 4.2vw, 54px);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.02;
  text-wrap: balance;
}

.account-gate-subtitle {
  max-width: 460px;
  min-height: 24px;
  margin: 14px 0 0;
  color: #737873;
  font-size: 13px;
  line-height: 1.65;
}

.account-gate-subtitle a {
  color: inherit;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.account-gate-subtitle a:hover {
  color: #28463c;
}

.account-gate-form,
.account-gate-success {
  gap: 16px;
  margin-top: 30px;
}

.account-gate-field {
  gap: 8px;
}

.account-gate-field > span {
  color: #565f59;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.02em;
}

.account-gate-field > input {
  width: 100%;
  min-height: 52px;
  padding: 13px 16px;
  border: 1px solid #d8d7cf;
  border-radius: 14px;
  color: #27322e;
  background: #f7f4ed;
  box-shadow: inset 0 1px 2px rgba(40, 49, 44, 0.035);
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.account-gate-field > input:hover {
  border-color: #c7cbc4;
  background: #faf8f2;
}

.account-gate-field > input:focus-visible {
  border-color: rgba(66, 111, 98, 0.74);
  outline: 0;
  background: #fffdf8;
  box-shadow: 0 0 0 4px rgba(66, 111, 98, 0.11);
}

.account-gate-insurers {
  padding: 16px;
  border-color: #d9d8d0;
  border-radius: 16px;
  background: #faf7f0;
}

.account-gate-insurers > legend {
  color: #38443e;
}

.account-gate-error {
  padding: 10px 12px;
  border: 1px solid rgba(182, 87, 80, 0.23);
  border-radius: 10px;
  color: #a34d47;
  background: #fff2ef;
  font-size: 12px;
}

.account-gate-submit {
  display: inline-flex;
  width: 100%;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  margin-top: 2px;
  padding: 13px 17px 13px 19px;
  border: 1px solid #26352f;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(145deg, #426257, #26352f);
  box-shadow: 0 12px 24px rgba(38, 53, 47, 0.2);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.01em;
  transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.account-gate-submit::after {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: #26352f;
  background: #e9f0ec;
  content: "→";
  font-size: 15px;
  line-height: 1;
}

.account-gate-submit:hover {
  background: linear-gradient(145deg, #4e7065, #30453d);
  box-shadow: 0 16px 30px rgba(38, 53, 47, 0.26);
  transform: translateY(-1px);
}

.account-gate-submit:active {
  transform: translateY(1px);
}

.account-gate-submit:disabled {
  box-shadow: none;
  opacity: 0.55;
}

.account-gate-success-note {
  color: #6f756f;
  font-size: 12px;
}

.account-gate-id {
  border-color: #d5d8d1;
  color: #2d3b35;
  background: #f6f3ec;
}

.account-gate-copy {
  border-color: #d5d8d1;
  color: #43564e;
  background: #f6f3ec;
}

.account-gate-copy:hover {
  border-color: #6d9488;
  color: #426f62;
}

.account-gate-footnote {
  margin: auto 0 0;
  padding-top: 30px;
  color: #a0a19c;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  html:not([data-theme="dark"]) .page-shell {
    padding: 0 18px 28px;
  }

  html:not([data-theme="dark"]) .topbar {
    border-radius: 18px;
  }

  .account-gate-panel,
  .account-gate-panel:has(.account-gate-insurers:not([hidden])) {
    width: min(620px, 100%);
    grid-template-columns: 1fr;
  }

  .account-gate-visual {
    min-height: 190px;
    padding: 24px;
    background-position: center 61%;
  }

  .account-gate-visual__copy {
    max-width: 420px;
    padding-top: 32px;
  }

  .account-gate-visual__copy p {
    margin-bottom: 8px;
    font-size: clamp(30px, 7vw, 42px);
  }

  .account-gate-visual__copy > span,
  .account-gate-visual__badge {
    display: none;
  }

  .account-gate-content {
    padding: 30px clamp(24px, 7vw, 48px) 24px;
  }

  .account-gate-heading {
    margin-top: 34px;
  }
}

@media (max-width: 600px) {
  .account-gate {
    align-items: flex-start;
    overflow-y: auto;
    padding: 10px;
  }

  .account-gate-panel {
    max-height: none;
    border-radius: 24px;
  }

  .account-gate-visual {
    min-height: 156px;
    padding: 20px;
  }

  .account-gate-visual__copy {
    padding-top: 22px;
  }

  .account-gate-visual__copy p {
    max-width: 310px;
    font-size: 31px;
  }

  .account-gate-content {
    overflow: visible;
    padding: 26px 22px 22px;
  }

  .account-gate-brand__status {
    display: none;
  }

  .account-gate-logo {
    max-width: 154px;
  }

  .account-gate-heading {
    margin-top: 30px;
  }

  .account-gate-title {
    font-size: 39px;
  }

  .account-gate-form,
  .account-gate-success {
    margin-top: 24px;
  }

  .account-gate-id-row {
    flex-direction: column;
  }

  .account-gate-copy {
    min-height: 44px;
  }

  html:not([data-theme="dark"]) .page-shell {
    padding: 0 10px 22px;
  }

  html:not([data-theme="dark"]) .topbar {
    padding: 8px 10px;
    border-radius: 16px;
  }

  html:not([data-theme="dark"]) .hero {
    padding: 24px 8px 22px;
  }

  html:not([data-theme="dark"]) .search-box {
    height: 62px;
    border-radius: 18px;
  }

  html:not([data-theme="dark"]) .policies-card {
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .account-gate-submit,
  .account-gate-field > input,
  html:not([data-theme="dark"]) .policy-row {
    transition: none;
  }
}



html:not([data-theme="dark"]) .brand {
  width: auto;
  min-width: 150px;
  height: 58px;
  justify-content: flex-start;
  gap: 10px;
  padding: 7px 14px 7px 8px;
  border-color: #d9d8d0;
  background: rgba(255, 253, 248, 0.92);
  box-shadow: 0 6px 18px rgba(48, 57, 52, 0.07);
}

html:not([data-theme="dark"]) .brand-logo {
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  object-fit: contain;
  transform: none;
}

.brand-wordmark,
.account-gate-wordmark {
  color: #2e3d36;
  font-family: "Manrope", sans-serif;
  font-weight: 780;
  letter-spacing: -0.045em;
}

.brand-wordmark {
  font-size: 19px;
  line-height: 1;
}

html[data-theme="dark"] .brand {
  width: auto;
  min-width: 150px;
  justify-content: flex-start;
  gap: 10px;
  padding: 7px 14px 7px 8px;
}

html[data-theme="dark"] .brand-logo {
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  object-fit: contain;
}

html[data-theme="dark"] .brand-wordmark {
  color: #f4f7f5;
}

.brand[data-logo-mode="default"] {
  min-width: 188px;
}

html:not([data-theme="dark"]) .brand[data-logo-mode="default"],
html[data-theme="dark"] .brand[data-logo-mode="default"] {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.brand[data-logo-mode="default"] .brand-logo,
html:not([data-theme="dark"]) .brand[data-logo-mode="default"] .brand-logo,
html[data-theme="dark"] .brand[data-logo-mode="default"] .brand-logo {
  width: 164px;
  height: 46px;
  flex: 0 0 164px;
  object-fit: contain;
}

.brand[data-logo-mode="default"] .brand-wordmark {
  display: none;
}

.brand-wordmark {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html:not([data-theme="dark"]) .logo-preview-frame {
  border: 1px solid #d9d8d0;
  background:
    radial-gradient(circle at 20% 10%, rgba(237, 193, 152, 0.18), transparent 8rem),
    #f7f4ed;
}

.account-gate-brand__identity {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.account-gate-logo {
  width: 168px;
  height: 44px;
  max-width: none;
  flex: 0 0 168px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}

.account-gate-logo[src$="iseca-logo-dark.png"] {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.account-gate-wordmark {
  font-size: 19px;
  line-height: 1;
}

html:not([data-theme="dark"]) .screen-lock-button {
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 11px;
}

html:not([data-theme="dark"]) .usage-guide-button:hover,
html:not([data-theme="dark"]) .usage-guide-button:focus-visible {
  border-color: #7fa095;
  color: #345e52;
  background: #fffdf8;
  box-shadow:
    0 7px 18px rgba(55, 83, 73, 0.1),
    0 0 0 3px rgba(66, 111, 98, 0.08);
  transform: translateY(-1px);
}

html:not([data-theme="dark"]) .usage-guide-button[aria-pressed="true"] {
  border-color: var(--forest-700);
  color: #fff;
  background: var(--forest-700);
  box-shadow: 0 7px 18px rgba(55, 83, 73, 0.16);
}

@media (max-width: 800px) {
  html[data-theme="dark"] .brand,
  html:not([data-theme="dark"]) .brand {
    min-width: 118px;
    height: 46px;
    gap: 7px;
    padding: 5px 10px 5px 6px;
  }

  html[data-theme="dark"] .brand-logo,
  html:not([data-theme="dark"]) .brand-logo {
    width: 35px;
    height: 35px;
    flex-basis: 35px;
  }

  .brand-wordmark {
    font-size: 16px;
  }
}

@media (max-width: 430px) {
  html[data-theme="dark"] .brand,
  html:not([data-theme="dark"]) .brand {
    min-width: 46px;
    width: 46px;
    padding: 5px;
  }

  html[data-theme="dark"] .brand-logo,
  html:not([data-theme="dark"]) .brand-logo {
    width: 35px;
    height: 35px;
    flex-basis: 35px;
  }

  .brand-wordmark {
    display: none;
  }

  html:not([data-theme="dark"]) .screen-lock-button {
    width: 34px;
    height: 34px;
  }
}


.page-shell > .screen-lock-button {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 900;
}

@media (max-width: 1500px) {
  html:not([data-theme="dark"]) .topbar {
    padding-right: 56px;
  }
}

@media (max-width: 1280px) {
  .screen-lock-button,
  .page-shell > .screen-lock-button,
  html:not([data-theme="dark"]) .screen-lock-button {
    right: 0;
    border-right: 0;
    border-radius: 11px 0 0 11px;
  }
}



.appearance-dock {
  position: fixed;
  top: 50%;
  left: 0;
  z-index: 850;
  display: flex;
  width: 82px;
  max-height: calc(100vh - 28px);
  flex-direction: column;
  align-items: center;
  gap: 12px;
  overflow-y: auto;
  padding: 38px 11px 15px;
  border: 1px solid #d9d8d0;
  border-left: 0;
  border-radius: 0 20px 20px 0;
  color: #34423c;
  background:
    radial-gradient(circle at 0 0, rgba(237, 193, 152, 0.22), transparent 7rem),
    rgba(255, 253, 248, 0.96);
  box-shadow:
    12px 16px 36px rgba(46, 57, 51, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(18px);
  scrollbar-width: none;
  transition:
    width 210ms cubic-bezier(0.22, 1, 0.36, 1),
    min-height 210ms cubic-bezier(0.22, 1, 0.36, 1),
    padding 210ms ease,
    border-radius 210ms ease,
    box-shadow 210ms ease;
  transform: translateY(-50%);
}

.appearance-dock::-webkit-scrollbar {
  display: none;
}

.appearance-dock[hidden] {
  display: none;
}

.appearance-dock__close {
  position: absolute;
  top: 8px;
  right: 8px;
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border: 1px solid #d8d8d1;
  border-radius: 50%;
  padding: 0;
  color: #6d746f;
  background: rgba(255, 253, 248, 0.84);
  cursor: pointer;
  font: 700 14px/1 "Manrope", sans-serif;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

.appearance-dock__close:hover,
.appearance-dock__close:focus-visible {
  border-color: #b96961;
  color: #9d4e47;
  outline: 0;
  background: #fff0ed;
  transform: rotate(6deg);
}

.appearance-dock__collapse {
  position: absolute;
  top: 8px;
  left: 8px;
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  padding: 0;
  border: 1px solid #d9ddd9;
  border-radius: 50%;
  color: #69756f;
  background: rgba(255, 255, 255, 0.76);
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

.appearance-dock__collapse svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.appearance-dock__collapse:hover,
.appearance-dock__collapse:focus-visible {
  border-color: #78b9a6;
  color: var(--green);
  outline: 0;
  background: #eefaf6;
  transform: translateX(-2px);
}

.appearance-dock__expand-button {
  display: none;
}

.appearance-dock__title {
  color: #536159;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.11em;
  line-height: 1;
  text-transform: uppercase;
}

.appearance-dock__section {
  display: grid;
  justify-items: center;
  gap: 8px;
}

.appearance-dock__label {
  color: #8b8f8a;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1;
  text-transform: uppercase;
}

.appearance-dock__divider {
  width: 42px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d3d4cd, transparent);
}

.appearance-theme-toggle {
  display: grid;
  justify-items: center;
  gap: 6px;
  border: 0;
  padding: 0;
  color: #9a815e;
  background: transparent;
  cursor: pointer;
}

.appearance-theme-toggle__icon {
  display: grid;
  width: 24px;
  height: 20px;
  place-items: center;
  font-size: 15px;
  line-height: 1;
  transition: color 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.appearance-theme-toggle__icon:last-child {
  color: #74817b;
  opacity: 0.55;
}

.appearance-theme-toggle__track {
  position: relative;
  display: block;
  width: 32px;
  height: 62px;
  border: 1px solid #d4d7d0;
  border-radius: 999px;
  background:
    linear-gradient(180deg, #f4e2bd 0%, #e9eee9 48%, #d7dfde 100%);
  box-shadow:
    inset 0 2px 5px rgba(55, 66, 60, 0.09),
    0 4px 12px rgba(55, 66, 60, 0.08);
}

.appearance-theme-toggle__track i {
  position: absolute;
  top: 4px;
  left: 4px;
  display: grid;
  width: 22px;
  height: 22px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #dcae61;
  box-shadow: 0 4px 9px rgba(68, 64, 48, 0.22);
  transition: background 190ms ease, box-shadow 190ms ease, transform 190ms ease;
}

.appearance-theme-toggle[aria-pressed="true"] {
  color: #8b9691;
}

.appearance-theme-toggle[aria-pressed="true"] .appearance-theme-toggle__icon:first-child {
  color: #8b9691;
  opacity: 0.48;
}

.appearance-theme-toggle[aria-pressed="true"] .appearance-theme-toggle__icon:last-child {
  color: #d7e6df;
  opacity: 1;
  transform: scale(1.06);
}

.appearance-theme-toggle[aria-pressed="true"] .appearance-theme-toggle__track i {
  background: #344a42;
  box-shadow: 0 4px 10px rgba(21, 32, 28, 0.34);
  transform: translateY(30px);
}

.appearance-theme-toggle:hover .appearance-theme-toggle__track,
.appearance-theme-toggle:focus-visible .appearance-theme-toggle__track {
  border-color: #7f9f94;
  outline: 0;
  box-shadow:
    inset 0 2px 5px rgba(55, 66, 60, 0.09),
    0 0 0 4px rgba(66, 111, 98, 0.1);
}

.appearance-font-options {
  display: grid;
  gap: 7px;
}

.appearance-font-options button {
  position: relative;
  display: grid;
  width: 46px;
  min-height: 42px;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2px;
  border: 1px solid #d8d8d0;
  border-radius: 12px;
  padding: 4px 7px;
  color: #59655f;
  background: rgba(255, 253, 248, 0.82);
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.appearance-font-options button span {
  align-self: center;
  line-height: 1;
}

.appearance-font-options button small {
  display: grid;
  width: 14px;
  height: 14px;
  place-items: center;
  border-radius: 50%;
  color: #8b918d;
  background: #ecece6;
  font-size: 7px;
  font-weight: 900;
  line-height: 1;
}

.appearance-font-options button[data-appearance-font-size="standard"] span {
  font-size: 13px;
  font-weight: 700;
}

.appearance-font-options button[data-appearance-font-size="medium"] span {
  font-size: 16px;
  font-weight: 720;
}

.appearance-font-options button[data-appearance-font-size="large"] span {
  font-size: 19px;
  font-weight: 750;
}

.appearance-font-options button:hover,
.appearance-font-options button:focus-visible {
  border-color: #8ba79e;
  color: #355e52;
  outline: 0;
  background: #f3f8f5;
  transform: translateX(1px);
}

.appearance-font-options button[aria-pressed="true"] {
  border-color: #365d52;
  color: #fff;
  background: linear-gradient(145deg, #547d71, #2f453d);
  box-shadow: 0 7px 15px rgba(38, 53, 47, 0.2);
}

.appearance-font-options button[aria-pressed="true"] small {
  color: #2f453d;
  background: #e8f0ec;
}

.appearance-dock button:disabled {
  cursor: wait;
  opacity: 0.58;
}

.appearance-dock.appearance-dock--collapsed {
  width: 56px;
  min-height: 46px;
  gap: 0;
  overflow: hidden;
  padding: 6px;
  border-radius: 0 16px 16px 0;
  box-shadow:
    8px 12px 24px rgba(46, 57, 51, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.appearance-dock--collapsed .appearance-dock__collapse,
.appearance-dock--collapsed .appearance-dock__close,
.appearance-dock--collapsed .appearance-dock__title,
.appearance-dock--collapsed .appearance-dock__section,
.appearance-dock--collapsed .appearance-dock__divider {
  display: none;
}

.appearance-dock--collapsed .appearance-dock__expand-button {
  display: grid;
  width: 44px;
  height: 34px;
  place-items: center;
  padding: 0;
  border: 1px solid #d5dbd7;
  border-radius: 10px;
  color: #536159;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 3px 9px rgba(46, 57, 51, 0.08);
  cursor: pointer;
  font: 850 8px/1 "Manrope", sans-serif;
  letter-spacing: 0.04em;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

.appearance-dock--collapsed .appearance-dock__expand-button:hover,
.appearance-dock--collapsed .appearance-dock__expand-button:focus-visible {
  border-color: #78b9a6;
  color: var(--green);
  outline: 0;
  background: #eefaf6;
  transform: translateX(1px);
}

html[data-theme="dark"] .appearance-dock {
  border-color: #414944;
  color: #edf3f0;
  background:
    radial-gradient(circle at 0 0, rgba(109, 148, 136, 0.18), transparent 8rem),
    rgba(37, 43, 40, 0.96);
  box-shadow:
    12px 16px 40px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

html[data-theme="dark"] .appearance-dock__close {
  border-color: #515a55;
  color: #c2cbc6;
  background: #303733;
}

html[data-theme="dark"] .appearance-dock__collapse {
  border-color: #515a55;
  color: #c2cbc6;
  background: #303733;
}

html[data-theme="dark"] .appearance-dock__collapse:hover,
html[data-theme="dark"] .appearance-dock__collapse:focus-visible {
  border-color: #77bca7;
  color: #b9f0df;
  background: #23473d;
}

html[data-theme="dark"] .appearance-dock--collapsed .appearance-dock__expand-button {
  border-color: #4d5752;
  color: #dce7e1;
  background: #303733;
}

html[data-theme="dark"] .appearance-dock--collapsed .appearance-dock__expand-button:hover,
html[data-theme="dark"] .appearance-dock--collapsed .appearance-dock__expand-button:focus-visible {
  border-color: #699486;
  color: #eafff7;
  background: #344a42;
}

html[data-theme="dark"] .appearance-dock__close:hover,
html[data-theme="dark"] .appearance-dock__close:focus-visible {
  border-color: #c17770;
  color: #ffd8d3;
  background: #553532;
}

html[data-theme="dark"] .appearance-dock__title {
  color: #dce7e1;
}

html[data-theme="dark"] .appearance-dock__label {
  color: #9da8a2;
}

html[data-theme="dark"] .appearance-dock__divider {
  background: linear-gradient(90deg, transparent, #535c57, transparent);
}

html[data-theme="dark"] .appearance-theme-toggle__track {
  border-color: #55615b;
  background: linear-gradient(180deg, #645b45 0%, #46504b 48%, #28312d 100%);
}

html[data-theme="dark"] .appearance-font-options button {
  border-color: #4d5752;
  color: #cbd5d0;
  background: #303733;
}

html[data-theme="dark"] .appearance-font-options button small {
  color: #c1cbc6;
  background: #454e49;
}

html[data-theme="dark"] .appearance-font-options button:hover,
html[data-theme="dark"] .appearance-font-options button:focus-visible {
  border-color: #699486;
  color: #eafff7;
  background: #344a42;
}

html[data-theme="dark"] .appearance-font-options button[aria-pressed="true"] {
  border-color: #78a99a;
  color: #fff;
  background: linear-gradient(145deg, #537c70, #30483f);
}

@media (max-width: 600px) {
  .appearance-dock {
    width: 72px;
    gap: 10px;
    padding-right: 8px;
    padding-left: 8px;
    border-radius: 0 17px 17px 0;
  }

  .appearance-font-options button {
    width: 43px;
  }
}

@media (max-height: 540px) {
  .appearance-dock {
    top: 8px;
    bottom: 8px;
    max-height: none;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .appearance-theme-toggle__track i,
  .appearance-font-options button,
  .appearance-dock__close,
  .appearance-dock__collapse,
  .appearance-dock__expand-button,
  .appearance-dock {
    transition: none;
  }
}


.radio-player {
  position: relative;
  flex: 0 0 auto;
}

.radio-player-toggle {
  display: inline-flex;
  min-width: 142px;
  height: 36px;
  align-items: center;
  gap: 8px;
  border: 1px solid #dce4f0;
  border-radius: 11px;
  padding: 0 10px;
  color: var(--navy-700);
  background: rgba(255, 255, 255, 0.72);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

.radio-player-toggle:hover,
.radio-player-toggle:focus-visible,
.radio-player-toggle[aria-expanded="true"] {
  border-color: #00a76f;
  outline: 0;
  color: #007a45;
  background: #f2fbf7;
  transform: translateY(-1px);
}

.radio-player-toggle__icon {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  color: #007a45;
  background: rgba(0, 167, 111, 0.12);
}

.radio-player-toggle__icon svg,
.radio-player-art svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.radio-player-toggle__copy {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
}

.radio-player-toggle__copy strong,
.radio-player-toggle__copy small {
  display: block;
  max-width: 92px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.radio-player-toggle__copy strong {
  font-size: 9px;
  font-weight: 850;
  line-height: 1.15;
}

.radio-player-toggle__copy small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 7px;
  font-weight: 650;
  line-height: 1.15;
}

.radio-player-toggle__signal {
  display: inline-flex;
  height: 13px;
  align-items: flex-end;
  gap: 2px;
}

.radio-player-toggle__signal i {
  display: block;
  width: 2px;
  height: 5px;
  border-radius: 99px;
  background: #9ba8b8;
}

.radio-player-toggle__signal i:nth-child(2) {
  height: 9px;
}

.radio-player-toggle__signal i:nth-child(3) {
  height: 13px;
}

.radio-player[data-state="playing"] .radio-player-toggle__signal i {
  background: #00a76f;
  animation: radio-signal 780ms ease-in-out infinite alternate;
}

.radio-player[data-state="playing"] .radio-player-toggle__signal i:nth-child(2) {
  animation-delay: 180ms;
}

.radio-player[data-state="playing"] .radio-player-toggle__signal i:nth-child(3) {
  animation-delay: 360ms;
}

@keyframes radio-signal {
  from { transform: scaleY(0.45); }
  to { transform: scaleY(1); }
}

.radio-player-popover {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 720;
  width: 310px;
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 15px;
  color: var(--ink);
  background: var(--surface);
  box-shadow: 0 24px 60px rgba(24, 43, 74, 0.2);
}

.radio-player-popover[hidden] {
  display: none;
}

.radio-player-popover::before {
  position: absolute;
  top: -6px;
  right: 24px;
  width: 10px;
  height: 10px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: var(--surface);
  content: "";
  transform: rotate(45deg);
}

.radio-player-popover__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.radio-player-popover__header span,
.radio-player-popover__header small,
.radio-player-popover__header strong {
  display: block;
}

.radio-player-popover__header span {
  min-width: 0;
}

.radio-player-popover__header small {
  color: var(--muted);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.radio-player-popover__header strong {
  max-width: 238px;
  margin-top: 4px;
  overflow: hidden;
  color: var(--navy-950);
  font-size: 13px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.radio-player-popover__header button {
  display: grid;
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: var(--muted);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 18px;
  line-height: 1;
}

.radio-player-popover__header button:hover,
.radio-player-popover__header button:focus-visible {
  outline: 0;
  color: var(--ink);
  background: var(--canvas);
}

.radio-player-popover__now {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--canvas);
}

.radio-player-art {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #00b174, #007a55);
  box-shadow: 0 8px 18px rgba(0, 167, 111, 0.2);
}

.radio-player-art svg {
  width: 21px;
  height: 21px;
}

.radio-player-popover__now > span:last-child,
.radio-player-popover__now strong,
.radio-player-popover__now small {
  display: block;
  min-width: 0;
}

.radio-player-popover__now strong {
  color: var(--navy-950);
  font-size: 10px;
  font-weight: 800;
}

.radio-player-popover__now small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 600;
}

.radio-player-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 14px 0;
}

.radio-player-control {
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy-700);
  background: var(--surface);
  cursor: pointer;
}

.radio-player-control--primary {
  width: 46px;
  height: 46px;
  border-color: #00a76f;
  color: #fff;
  background: #00a76f;
  box-shadow: 0 9px 20px rgba(0, 167, 111, 0.24);
}

.radio-player-control:hover:not(:disabled),
.radio-player-control:focus-visible {
  border-color: #007a55;
  outline: 0;
  color: #fff;
  background: #007a55;
}

.radio-player-control:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.radio-player-control--active {
  border-color: #35b98a;
  color: #007a55;
  background: #e9f8f2;
}

.radio-player-control svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.radio-player-control [hidden] {
  display: none;
}

.radio-volume {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 32px;
  align-items: center;
  gap: 9px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 750;
}

.radio-volume input {
  width: 100%;
  accent-color: #00a76f;
}

.radio-volume output {
  color: var(--navy-700);
  text-align: right;
}

.radio-player-error {
  margin-top: 10px;
  border-radius: 9px;
  padding: 9px 10px;
  color: #9a342d;
  background: rgba(199, 65, 56, 0.1);
  font-size: 8px;
  font-weight: 650;
  line-height: 1.45;
}

.radio-player-error[hidden] {
  display: none;
}

.radio-player-settings-link {
  width: 100%;
  margin-top: 12px;
  border: 0;
  padding: 3px;
  color: #007a55;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
}

.radio-player-settings-link:hover,
.radio-player-settings-link:focus-visible {
  outline: 0;
  color: #00a76f;
  text-decoration: underline;
}

.radio-youtube-host {
  position: fixed;
  left: -10000px;
  bottom: 0;
  width: 200px;
  height: 200px;
  overflow: hidden;
  pointer-events: none;
}

.radio-links-field textarea {
  width: 100%;
  min-height: 138px;
  resize: vertical;
  border: 1px solid var(--line);
  outline: 0;
  border-radius: 11px;
  padding: 11px 12px;
  color: var(--ink);
  background: var(--surface);
  font: 600 10px/1.55 "Manrope", sans-serif;
}

.radio-links-field textarea:focus {
  border-color: #00b174;
  box-shadow: 0 0 0 3px rgba(0, 177, 116, 0.1);
}

.radio-shuffle-setting {
  margin-top: 10px;
}

.radio-settings-summary {
  margin: 9px 2px 0;
  color: var(--muted);
  font-size: 9px;
  font-weight: 650;
}

.radio-playlist-dialog {
  width: min(560px, calc(100vw - 32px));
}

.radio-playlist-dialog .settings-data-notice {
  margin-top: 12px;
}

html[data-theme="dark"] .radio-player-toggle {
  border-color: #454b4e;
  color: #d8dedb;
  background: rgba(43, 47, 51, 0.92);
}

html[data-theme="dark"] .radio-player-toggle:hover,
html[data-theme="dark"] .radio-player-toggle:focus-visible,
html[data-theme="dark"] .radio-player-toggle[aria-expanded="true"] {
  border-color: #00b174;
  color: #72e6bd;
  background: #143d31;
}

html[data-theme="dark"] .radio-player-toggle__icon {
  color: #72e6bd;
  background: rgba(0, 177, 116, 0.16);
}

html[data-theme="dark"] .radio-player-popover {
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.38);
}

html[data-theme="dark"] .radio-player-error {
  color: #ffb0aa;
  background: rgba(207, 69, 69, 0.16);
}

@media (max-width: 1250px) {
  .radio-player-toggle {
    min-width: 36px;
    width: 36px;
    padding: 0;
    justify-content: center;
  }

  .radio-player-toggle__copy,
  .radio-player-toggle__signal {
    display: none;
  }
}

@media (max-width: 800px) {
  .radio-player-popover {
    position: fixed;
    top: 72px;
    right: 12px;
    left: 12px;
    width: auto;
  }

  .radio-player-popover::before {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .radio-player[data-state="playing"] .radio-player-toggle__signal i {
    animation: none;
  }
}


.left-utility-docks {
  position: fixed;
  top: 50%;
  left: 0;
  z-index: 850;
  display: flex;
  max-height: calc(100vh - 24px);
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  overflow-y: auto;
  padding: 6px 12px 6px 0;
  scrollbar-width: none;
  transform: translateY(-50%);
}

.left-utility-docks::-webkit-scrollbar {
  display: none;
}

.left-utility-docks > .appearance-dock {
  position: relative;
  top: auto;
  left: auto;
  z-index: auto;
  max-height: none;
  flex: 0 0 auto;
  transform: none;
}

.left-utility-docks > .radio-dock {
  position: relative;
  display: flex;
  width: 194px;
  flex: 0 0 auto;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d9d8d0;
  border-left: 0;
  border-radius: 0 20px 20px 0;
  color: #34423c;
  background:
    radial-gradient(circle at 0 0, rgba(189, 210, 210, 0.32), transparent 9rem),
    rgba(255, 253, 248, 0.97);
  box-shadow:
    12px 16px 36px rgba(46, 57, 51, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(18px);
  transition:
    width 210ms cubic-bezier(0.22, 1, 0.36, 1),
    border-radius 210ms ease,
    box-shadow 210ms ease;
  animation: radio-dock-arrive 220ms ease-out both;
}

.left-utility-docks > .radio-dock[hidden] {
  display: none;
}

@keyframes radio-dock-arrive {
  from {
    opacity: 0;
    transform: translateX(-18px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.radio-dock__header {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  padding: 11px 9px 9px 11px;
}

.radio-dock .radio-player-toggle__icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
}

.radio-dock .radio-player-toggle__icon svg {
  width: 17px;
  height: 17px;
}

.radio-dock .radio-player-toggle__copy strong,
.radio-dock .radio-player-toggle__copy small {
  max-width: 91px;
}

.radio-dock .radio-player-toggle__copy {
  display: block;
}

.radio-dock .radio-player-toggle__copy strong {
  font-size: 10px;
}

.radio-dock .radio-player-toggle__copy small {
  font-size: 7px;
}

.radio-dock .radio-player-toggle__signal {
  display: inline-flex;
  margin-left: auto;
}

.radio-dock__close {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #d8d8d1;
  border-radius: 50%;
  padding: 0;
  color: #6d746f;
  background: rgba(255, 253, 248, 0.9);
  cursor: pointer;
  font: 700 15px/1 "Manrope", sans-serif;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

.radio-dock__collapse {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 1px solid #d9ddd9;
  border-radius: 50%;
  color: #69756f;
  background: rgba(255, 255, 255, 0.76);
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

.radio-dock__collapse svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.radio-dock__collapse:hover,
.radio-dock__collapse:focus-visible {
  border-color: #78b9a6;
  color: var(--green);
  outline: 0;
  background: #eefaf6;
  transform: translateX(-2px);
}

.radio-dock__expand-button {
  display: none;
}

.radio-dock__close:hover,
.radio-dock__close:focus-visible {
  border-color: #b96961;
  color: #9d4e47;
  outline: 0;
  background: #fff0ed;
  transform: rotate(6deg);
}

.radio-dock__body {
  padding: 0 11px 11px;
  border-top: 1px solid rgba(211, 212, 205, 0.72);
}

.radio-dock__now {
  min-width: 0;
  padding-top: 9px;
  text-align: center;
}

.radio-dock__now strong,
.radio-dock__now small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.radio-dock__now strong {
  color: var(--navy-950);
  font-size: 9px;
  font-weight: 850;
}

.radio-dock__now small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 7px;
  font-weight: 650;
}

.radio-dock .radio-player-controls {
  gap: 8px;
  margin: 9px 0;
}

.radio-dock .radio-player-control {
  width: 32px;
  height: 32px;
}

.radio-dock .radio-player-control--primary {
  width: 39px;
  height: 39px;
}

.radio-dock .radio-player-control svg {
  width: 16px;
  height: 16px;
}

.radio-dock .radio-volume {
  grid-template-columns: auto minmax(0, 1fr) 27px;
  gap: 6px;
  font-size: 7px;
}

.radio-dock .radio-player-error {
  margin-top: 8px;
  padding: 7px 8px;
  font-size: 7px;
}

.radio-dock .radio-player-settings-link {
  margin-top: 8px;
  font-size: 8px;
}

.left-utility-docks > .radio-dock.radio-dock--collapsed {
  width: 56px;
  min-height: 112px;
  overflow: hidden;
  border-radius: 0 16px 16px 0;
  box-shadow:
    8px 12px 24px rgba(46, 57, 51, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.radio-dock--collapsed .radio-dock__header,
.radio-dock--collapsed .radio-dock__now,
.radio-dock--collapsed .radio-volume,
.radio-dock--collapsed .radio-player-error,
.radio-dock--collapsed .radio-player-settings-link {
  display: none;
}

.radio-dock--collapsed .radio-dock__expand-button {
  display: grid;
  width: 44px;
  height: 26px;
  flex: 0 0 auto;
  place-items: center;
  margin: 7px 5px 1px;
  padding: 0;
  border: 1px solid #d5dbd7;
  border-radius: 9px;
  color: #536159;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 3px 9px rgba(46, 57, 51, 0.08);
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

.radio-dock--collapsed .radio-dock__expand-button svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.radio-dock--collapsed .radio-dock__expand-button:hover,
.radio-dock--collapsed .radio-dock__expand-button:focus-visible {
  border-color: #78b9a6;
  color: var(--green);
  outline: 0;
  background: #eefaf6;
  transform: translateX(1px);
}

.radio-dock--collapsed .radio-dock__body {
  position: relative;
  width: 100%;
  padding: 5px 13px 8px;
  border-top: 0;
  pointer-events: none;
}

.radio-dock--collapsed .radio-player-controls {
  flex-direction: column;
  gap: 6px;
  margin: 0;
}

.radio-dock--collapsed .radio-player-control,
.radio-dock--collapsed .radio-player-control--primary {
  width: 30px;
  height: 30px;
  pointer-events: auto;
}

.radio-dock--collapsed .radio-player-control svg {
  width: 14px;
  height: 14px;
}

.radio-dock--collapsed .radio-player-control--prev,
.radio-dock--collapsed .radio-player-control--repeat {
  display: none;
}

html[data-theme="dark"] .left-utility-docks > .radio-dock {
  border-color: #414944;
  color: #edf3f0;
  background:
    radial-gradient(circle at 0 0, rgba(109, 148, 136, 0.22), transparent 9rem),
    rgba(37, 43, 40, 0.97);
  box-shadow:
    12px 16px 40px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

html[data-theme="dark"] .radio-dock__close {
  border-color: #515a55;
  color: #c2cbc6;
  background: #303733;
}

html[data-theme="dark"] .radio-dock__collapse {
  border-color: #515a55;
  color: #c2cbc6;
  background: #303733;
}

html[data-theme="dark"] .radio-dock__collapse:hover,
html[data-theme="dark"] .radio-dock__collapse:focus-visible {
  border-color: #77bca7;
  color: #b9f0df;
  background: #23473d;
}

html[data-theme="dark"] .radio-dock--collapsed .radio-dock__expand-button {
  border-color: #4d5752;
  color: #dce7e1;
  background: #303733;
}

html[data-theme="dark"] .radio-dock--collapsed .radio-dock__expand-button:hover,
html[data-theme="dark"] .radio-dock--collapsed .radio-dock__expand-button:focus-visible {
  border-color: #699486;
  color: #eafff7;
  background: #344a42;
}

html[data-theme="dark"] .radio-dock__close:hover,
html[data-theme="dark"] .radio-dock__close:focus-visible {
  border-color: #c17770;
  color: #ffd8d3;
  background: #553532;
}

html[data-theme="dark"] .radio-dock__body {
  border-top-color: #4a524e;
}

html[data-theme="dark"] .radio-player-control--active {
  border-color: #77bca7;
  color: #b9f0df;
  background: #23473d;
}

@media (max-height: 650px) {
  .left-utility-docks {
    top: 10px;
    max-height: calc(100vh - 20px);
    transform: none;
  }
}

@media (max-width: 620px) {
  .left-utility-docks > .radio-dock {
    width: 176px;
  }

  .radio-dock .radio-player-toggle__copy strong,
  .radio-dock .radio-player-toggle__copy small {
    max-width: 74px;
  }

  .radio-dock .radio-player-controls {
    gap: 5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .left-utility-docks > .radio-dock {
    animation: none;
    transition: none;
  }
}
