/* Compatibility layer for the compiled frontend's simplified theme editor. */
html,
body,
#root,
.mobile-page,
.auth-page,
.app-shell,
.shell-main,
.shell-content {
  background-color: var(--theme-background-color) !important;
}

/* Bind the simplified controls to legacy components that were originally
   hard-wired to unrelated primary/card theme values. */
.simple-hero-card {
  background:
    radial-gradient(
      circle at 86% 16%,
      color-mix(in srgb, var(--theme-calculator-hero-color) 78%, white) 0 13%,
      transparent 14%
    ),
    linear-gradient(
      145deg,
      var(--theme-calculator-hero-color) 0%,
      color-mix(in srgb, var(--theme-calculator-hero-color) 82%, black) 100%
    ) !important;
}

/* Keep transparent branding transparent. The original bundle paints the
   logo container with Main Card, which creates a dark square/circle behind
   transparent PNG/WebP logos. */
.app-mark,
.sidebar-brand-logo {
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

.app-mark-image,
.sidebar-brand-logo {
  object-fit: contain !important;
}

/* Hero labels must remain readable independently of the Main Card color. */
.simple-status-pill span,
.simple-stats span {
  color: color-mix(in srgb, var(--theme-button-text-color) 78%, transparent) !important;
}

.simple-status-pill strong,
.simple-stats strong,
.simple-badge {
  color: var(--theme-button-text-color) !important;
}

/* Inputs previously inherited a low-opacity browser placeholder color. */
input::placeholder,
textarea::placeholder {
  color: var(--theme-secondary-text-color) !important;
  opacity: .78 !important;
}

/* Avoid a white-on-white pill when Secondary Text is light for a dark theme. */
.status-upcoming,
.status-not-submitted {
  background: var(--theme-info-surface-color) !important;
  color: var(--theme-info-text-color) !important;
}

/* The compiled loading card mixes every theme with white, making dark themes
   flash a large light panel while a page opens. Keep it within the two card
   surfaces instead. */
.app-loader-card {
  background:
    radial-gradient(
      circle at top left,
      color-mix(in srgb, var(--theme-button-background-color) 18%, transparent),
      transparent 42%
    ),
    linear-gradient(
      160deg,
      var(--theme-card-background-color) 0%,
      color-mix(in srgb, var(--theme-card-muted-background-color) 72%, var(--theme-card-background-color)) 100%
    ) !important;
  border-color: var(--theme-card-border-color) !important;
}

.app-loader-copy h2 {
  color: var(--theme-primary-text-color) !important;
}

.app-loader-copy p {
  color: var(--theme-secondary-text-color) !important;
}

/* Secondary actions were tied to the light Info Badge surface. On a dark
   theme this produced white text on a nearly white button. */
.header-btn.secondary,
.simple-secondary-btn {
  background: var(--theme-card-muted-background-color) !important;
  color: var(--theme-primary-text-color) !important;
  border: 1px solid var(--theme-card-border-color) !important;
}

/* The classic loan calculator shipped with fixed light-theme hex colors.
   Bind every result, label and breakdown card to the simplified theme. */
.loan-calculator-classic .loan-calculator-head p,
.loan-calculator-classic .loan-calculator-field span,
.loan-calculator-classic .loan-calculator-stat span,
.loan-calculator-classic .loan-calculator-breakdown span,
.loan-calculator-classic .loan-calculator-classic-breakdown span {
  color: var(--theme-secondary-text-color) !important;
}

.loan-calculator-classic .loan-calculator-range {
  accent-color: var(--theme-button-background-color) !important;
}

.loan-calculator-classic .loan-calculator-stat,
.loan-calculator-classic .loan-calculator-breakdown > div,
.loan-calculator-classic .loan-calculator-classic-breakdown > div {
  background: var(--theme-card-muted-background-color) !important;
  border: 1px solid var(--theme-card-border-color) !important;
}

.loan-calculator-classic .loan-calculator-stat.emphasis {
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--theme-button-background-color) 20%, var(--theme-card-muted-background-color)),
    var(--theme-card-muted-background-color)
  ) !important;
}

.loan-calculator-classic .loan-calculator-stat strong,
.loan-calculator-classic .loan-calculator-stat.emphasis span,
.loan-calculator-classic .loan-calculator-stat.emphasis strong,
.loan-calculator-classic .loan-calculator-breakdown strong,
.loan-calculator-classic .loan-calculator-classic-breakdown strong {
  color: var(--theme-primary-text-color) !important;
}

.loan-calculator-classic .loan-calculator-disclaimer {
  background: var(--theme-warning-surface-color) !important;
  color: var(--theme-warning-text-color) !important;
  border-color: color-mix(in srgb, var(--theme-warning-text-color) 24%, transparent) !important;
}

/* Repayment reminders are warning surfaces, so they use the same two simple
   controls as warning badges instead of maintaining a separate color role. */
.repayment-notice-card,
.refund-note,
.note {
  background: var(--theme-warning-surface-color) !important;
  color: var(--theme-warning-text-color) !important;
}

.repayment-notice-card {
  border-left-color: var(--theme-warning-text-color) !important;
}

.repayment-notice-text,
.repayment-notice-card p {
  color: var(--theme-warning-text-color) !important;
}

/* Present the review example as a reference preview rather than a raw image
   dropped between form controls. */
.review-submission-card .field:has(> img[alt="Review screenshot example"]) {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid var(--theme-card-border-color);
  border-radius: 18px;
  background: var(--theme-card-muted-background-color);
}

.review-submission-card .field:has(> img[alt="Review screenshot example"]) > label {
  margin-bottom: 10px;
  color: var(--theme-primary-text-color);
  font-size: .9rem;
}

.review-submission-card img[alt="Review screenshot example"] {
  display: block;
  width: 100% !important;
  max-height: 420px;
  margin: 0 !important;
  border: 1px solid color-mix(in srgb, var(--theme-card-border-color) 76%, transparent);
  border-radius: 13px !important;
  background: #ffffff;
  object-fit: contain;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--theme-background-color) 24%, transparent);
}

.review-submission-card .field:has(> img[alt="Review screenshot example"]):after {
  content: "Reference only — upload your own review screenshot below";
  display: block;
  margin-top: 9px;
  color: var(--theme-secondary-text-color);
  font-size: .78rem;
  line-height: 1.4;
}

/* Login progress should look like part of the form instead of a pale alert. */
.tac-status-card {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--theme-button-background-color) 14%, var(--theme-card-muted-background-color)),
    var(--theme-card-muted-background-color)
  ) !important;
  border-color: var(--theme-card-border-color) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--theme-background-color) 22%, transparent);
}

.tac-status-card strong {
  color: var(--theme-primary-text-color) !important;
}

.tac-status-card span {
  color: var(--theme-secondary-text-color) !important;
}

.tac-orbit {
  border-color: color-mix(in srgb, var(--theme-button-background-color) 48%, transparent) !important;
  background: color-mix(in srgb, var(--theme-button-background-color) 10%, transparent);
}

.tac-orbit-dot {
  background: var(--theme-button-background-color) !important;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--theme-button-background-color) 16%, transparent) !important;
}

/* Native file controls vary by browser. These rules preserve native file
   selection while giving the button and filename a consistent theme. */
input[type="file"] {
  min-height: 52px;
  padding: 7px !important;
  color: var(--theme-secondary-text-color) !important;
  background: var(--theme-input-background-color) !important;
  border-color: var(--theme-input-border-color) !important;
}

input[type="file"]::file-selector-button {
  min-height: 36px;
  margin-right: 11px;
  padding: 8px 13px;
  border: 0;
  border-radius: 9px;
  background: var(--theme-button-background-color);
  color: var(--theme-button-text-color);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

input[type="file"]::-webkit-file-upload-button {
  min-height: 36px;
  margin-right: 11px;
  padding: 8px 13px;
  border: 0;
  border-radius: 9px;
  background: var(--theme-button-background-color);
  color: var(--theme-button-text-color);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.compatibility-admin-review-preview {
  display: grid;
  gap: 8px;
  margin: 12px 0 8px;
  padding: 10px;
  border: 1px solid var(--theme-card-border-color);
  border-radius: 14px;
  background: var(--theme-card-muted-background-color);
  color: var(--theme-primary-text-color);
  text-decoration: none;
}

.compatibility-admin-review-preview span {
  color: var(--theme-secondary-text-color);
  font-size: .82rem;
  font-weight: 700;
}

.compatibility-admin-review-preview img {
  display: block;
  width: 100%;
  max-height: 320px;
  border-radius: 10px;
  background: #ffffff;
  object-fit: contain;
}

.compatibility-admin-review-preview.preview-error {
  display: none;
}

.mobile-footer-bar,
.mobile-footer-sheet {
  background: color-mix(in srgb, var(--theme-footer-background-color) 94%, transparent) !important;
}

.mobile-footer-link.active .mobile-footer-link-inner,
.mobile-footer-link.menu.active .mobile-footer-link-inner {
  background: var(--theme-footer-active-background-color) !important;
  color: var(--theme-footer-active-text-color) !important;
}

.mobile-footer-link.active .mobile-footer-link-icon,
.mobile-footer-link.menu.active .mobile-footer-link-icon {
  background: var(--theme-footer-active-background-color) !important;
  color: var(--theme-footer-active-text-color) !important;
}

/* Popups need a neutral overlay. The compiled bundle used primaryColor here,
   which tinted the full application blue and obscured the selected page color. */
.modal-backdrop {
  background: rgba(5, 10, 22, .58) !important;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.review-popup-modal {
  border: 1px solid var(--theme-card-border-color) !important;
  background: var(--theme-card-muted-background-color) !important;
  color: var(--theme-primary-text-color) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .3) !important;
}

body:has(.theme-studio-shell) .theme-structure-panel,
body:has(.theme-studio-shell) .theme-controls-toolbar,
body:has(.theme-studio-shell) .theme-console-stats,
body:has(.theme-studio-shell) .theme-editor-target-note,
body:has(.theme-studio-shell) .theme-color-areas,
body:has(.theme-studio-shell) .theme-color-purpose {
  display: none !important;
}

body:has(.theme-studio-shell) .theme-workbench {
  display: block !important;
}

body:has(.theme-studio-shell) .theme-editor-panel {
  width: 100% !important;
}

body:has(.theme-studio-shell) .theme-settings-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}

.theme-color-field[hidden],
.theme-settings-group[hidden] {
  display: none !important;
}

.simple-theme-panel + .theme-studio-shell {
  display: none !important;
}

.simple-theme-panel {
  padding: 28px !important;
}

.simple-theme-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

.simple-theme-head span {
  display: block;
  color: var(--theme-button-background-color);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.simple-theme-head h3 {
  margin: 5px 0 7px;
}

.simple-theme-head p {
  margin: 0;
  color: var(--theme-secondary-text-color);
}

.simple-theme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.simple-theme-field {
  display: block;
  padding: 16px;
  border: 1px solid var(--theme-card-border-color);
  border-radius: 14px;
  background: var(--theme-card-muted-background-color);
}

.simple-theme-field-title,
.simple-theme-field small {
  display: block;
}

.simple-theme-field-title {
  color: var(--theme-primary-text-color);
  font-weight: 800;
}

.simple-theme-field small {
  min-height: 34px;
  margin: 4px 0 10px;
  color: var(--theme-secondary-text-color);
}

.simple-theme-field > div {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 9px;
}

.simple-theme-field input[type="color"] {
  width: 48px;
  height: 42px;
  padding: 2px;
  border: 1px solid var(--theme-card-border-color);
  border-radius: 9px;
  background: var(--theme-card-background-color);
}

.simple-theme-field input[type="text"] {
  min-width: 0;
  padding: 9px 11px;
  border: 1px solid var(--theme-card-border-color);
  border-radius: 9px;
  background: var(--theme-card-background-color);
  color: var(--theme-primary-text-color);
  font: inherit;
}

.simple-theme-status {
  min-height: 22px;
  margin-bottom: 10px;
  color: var(--theme-success-text-color);
  font-weight: 700;
}

.simple-theme-error {
  color: var(--theme-error-text-color);
}

@media (max-width: 720px) {
  .simple-theme-head {
    flex-direction: column;
  }

  .simple-theme-head .btn {
    width: 100%;
  }
}
/* Keep the compiled admin navigation usable on phones. The Telegram setup
   route remains intentionally absent from the sidebar links. */
@media (max-width: 768px) {
  .admin-shell .menu-toggle {
    display: inline-flex !important;
    flex: 0 0 auto;
    min-width: 44px;
    min-height: 44px;
    position: relative;
    z-index: 1102;
  }

  .admin-shell .app-sidebar.admin-sidebar {
    display: flex !important;
    position: fixed !important;
    inset: 0 auto 0 0;
    z-index: 1101;
    width: min(84vw, 290px) !important;
    height: 100dvh;
    padding: 24px 18px !important;
    opacity: 1 !important;
    overflow-y: auto;
    transform: translateX(-105%) !important;
    transition: transform 0.22s ease !important;
    box-shadow: 18px 0 45px rgba(2, 8, 23, 0.28);
  }

  .admin-shell.sidebar-open .app-sidebar.admin-sidebar {
    transform: translateX(0) !important;
  }

  .admin-shell .shell-header {
    min-height: 72px;
    padding: 12px 14px;
  }

  .admin-shell .shell-header > div:nth-child(2) {
    min-width: 0;
    flex: 1;
  }

  .admin-shell .shell-header h2 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1.15rem;
  }

  .admin-shell .shell-content {
    width: 100%;
    padding-inline: 12px;
  }
}

.compat-loan-list-tools{margin-bottom:18px;display:grid;gap:14px}.compat-loan-quick,.compat-loan-filter,.compat-loan-pagination{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.compat-loan-quick button,.compat-loan-filter button,.compat-loan-pagination button{width:auto;margin:0;padding:10px 14px;border-radius:10px}.compat-loan-quick button.active{background:var(--theme-button-background-color);color:var(--theme-button-text-color)}.compat-loan-filter input,.compat-loan-filter select{min-width:190px;flex:1;margin:0}.compat-loan-pagination span{margin-right:auto;color:var(--theme-secondary-text-color);font-weight:700}.compat-loan-pagination button:disabled{opacity:.45}.tracking-page{min-height:100vh;background:#f3f6fb;padding:28px;font-family:Inter,Arial,sans-serif;color:#162033}.tracking-page .tg-shell{max-width:920px;margin:auto}.tracking-page .tg-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.tracking-page .tg-head h1{margin:0 0 6px;font-size:28px}.tracking-page .tg-head p{margin:0;color:#5b6b82}.tracking-page .tg-back{color:#1d4ed8;text-decoration:none;font-weight:700}.tracking-page .tg-card{background:#fff;border:1px solid #dce6f2;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.tracking-page .tg-grid{display:grid;gap:16px}.tracking-page label{display:grid;gap:7px;font-weight:700}.tracking-page .tg-input{width:100%;border:1px solid #cdd8e7;border-radius:10px;padding:11px 12px;font:inherit;background:#fff;color:#162033}.tracking-page .tg-switch{display:flex;grid-auto-flow:column;justify-content:start;align-items:center;gap:10px}.tracking-page .tg-switch input{width:20px;height:20px}.tracking-page .tg-btn{border:0;border-radius:10px;padding:11px 16px;background:#1d4ed8;color:#fff;font-weight:700;cursor:pointer}.tracking-page .tg-status{display:none;margin:0 0 16px;padding:12px 14px;border-radius:10px}.tracking-page .tg-status.show{display:block}.tracking-page .tg-status.ok{background:#e9f9ef;color:#166534}.tracking-page .tg-status.error{background:#feecee;color:#b42318}.tracking-page .tg-private{font-size:12px;color:#718096;margin-top:14px}@media(max-width:768px){.compat-loan-filter>*{width:100%;min-width:100%}.compat-loan-pagination span{width:100%}.tracking-page{padding:18px 12px}.tracking-page .tg-head{align-items:flex-start;flex-direction:column}}
.tracking-page textarea.tg-input{resize:vertical;min-height:210px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}.tracking-page .tracking-warning{border:1px solid #f4c96b;background:#fff7df;color:#8a5700;border-radius:10px;padding:12px 14px;line-height:1.5}
.integration-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.integration-nav a{display:inline-flex;align-items:center;min-height:42px;padding:9px 13px;border:1px solid #cdd8e7;border-radius:10px;background:#fff;color:#1d4ed8;text-decoration:none;font-weight:700}.integration-nav a.active{border-color:#1d4ed8;background:#1d4ed8;color:#fff}@media(max-width:768px){.integration-nav{width:100%}.integration-nav a{flex:1;justify-content:center}}
.compat-filter-note{border-left:4px solid var(--theme-button-background-color);background:var(--theme-card-muted-background-color);color:var(--theme-secondary-text-color);border-radius:8px;padding:10px 12px;font-size:.9rem;font-weight:700}
.shell-content.compat-integration-active>.admin-layout{display:none!important}.shell-content .compat-integration-page{min-height:0!important;width:100%;max-width:none;background:transparent!important;padding:0!important}.shell-content .compat-integration-page .tg-shell{max-width:1100px;margin:0}.admin-sidebar .sidebar-link[data-compat-telegram-link],.admin-sidebar .sidebar-link[data-compat-tracking-link]{display:flex}.admin-sidebar .sidebar-link.compat-settings-child{margin-left:14px;width:calc(100% - 14px);font-size:14px}
.compat-loan-list-tools{position:sticky;top:10px;z-index:20;box-shadow:0 8px 22px rgba(15,23,42,.1)}.compat-loan-pagination{margin-top:16px;padding:14px 16px;position:relative;z-index:1}@media(max-width:768px){.compat-loan-list-tools{top:6px;max-height:52vh;overflow:auto}}
.compat-application-status{display:inline-flex;padding:8px 13px;border-radius:999px;background:#eaf1ff;color:#154bcc;font-weight:800;white-space:nowrap}.compat-status-note{display:block;width:max-content;max-width:180px;margin-top:5px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.compat-status-note.pending{background:#fff4db;color:#9a4d00}.compat-status-note.refunded{background:#feecee;color:#b42318}
.compat-integration-page{padding:24px 28px!important}.compat-integration-page .integration-nav{display:none!important}.compat-integration-page .tg-shell{margin:0 auto!important}.tg-destination-list{display:grid;gap:8px;margin-top:10px}.tg-destination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dce6f2;border-radius:10px;background:#fff}.tg-destination span{display:grid;gap:3px}.tg-destination small{color:#5b6b82}.tg-remove{width:auto!important;margin:0!important;padding:7px 11px!important;border:1px solid #fecaca!important;border-radius:8px!important;background:#fff1f2!important;color:#b42318!important;font-weight:800!important}@media(max-width:600px){.compat-integration-page{padding:16px 12px!important}.tg-destination{align-items:flex-start}.tg-remove{flex:none}}
.compat-review-reject{width:auto!important;margin:6px 0 0 8px!important;padding:7px 11px!important;border:1px solid #fecaca!important;border-radius:8px!important;background:#fff1f2!important;color:#b42318!important;font-weight:800!important}.compat-review-reject:disabled{opacity:.6}.compat-review-reason{display:block;max-width:220px;margin-top:6px;color:#b42318}.compat-reject-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px;background:rgba(3,12,29,.66)}.compat-reject-dialog{width:min(520px,100%);padding:22px;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28)}.compat-reject-dialog h3{margin:0 0 8px}.compat-reject-dialog p{color:#5b6b82}.compat-reject-dialog textarea{box-sizing:border-box;width:100%;min-height:130px;padding:12px;border:1px solid #cdd8e7;border-radius:10px;font:inherit}.compat-reject-dialog div{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.compat-reject-dialog button{width:auto;margin:0;padding:10px 14px}.compat-reject-dialog .danger{background:#dc2626;color:#fff}.compat-review-rejected{margin:0 0 16px;padding:16px;border:1px solid #f3a5a5;border-left:5px solid #dc2626;border-radius:12px;background:#fff1f2;color:#7f1d1d}.compat-review-rejected strong{font-size:18px}.compat-review-rejected p{margin:8px 0;font-weight:700}.compat-review-rejected small{color:#9f1239}
.compat-payment-rejected-notice{box-sizing:border-box;width:100%;margin:0 0 12px;padding:11px 13px;border:1px solid var(--theme-card-border-color,#dce6f2);border-radius:10px;background:var(--theme-card-muted-background-color,#f6f9fc);color:var(--theme-primary-text-color,#162033);text-align:left}.compat-payment-rejected-notice p{margin:0;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}
.compat-customer-desktop-guard{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;box-sizing:border-box;padding:24px;background:#f3f6fb;color:#162033;font-family:Inter,Arial,sans-serif;text-align:center}.compat-customer-desktop-guard>div{box-sizing:border-box;width:min(460px,100%);padding:36px 30px;border:1px solid #dce6f2;border-radius:20px;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.12)}.compat-customer-desktop-guard span{display:block;margin-bottom:14px;font-size:48px}.compat-customer-desktop-guard h1{margin:0 0 10px;font-size:26px}.compat-customer-desktop-guard p{margin:0;color:#5b6b82;font-size:16px;line-height:1.55}@media(max-width:899px){.compat-customer-desktop-guard{display:none!important}}
.compat-review-bank-editor{margin-top:18px}.compat-review-bank-editor h3{margin-top:0}.compat-review-bank-editor textarea{box-sizing:border-box;width:100%;min-height:220px;margin:8px 0 14px;resize:vertical}.compat-review-bank-editor button{width:auto;margin:0;padding:11px 18px}.compat-bank-status{margin-top:12px;font-weight:700}.compat-bank-status.success{color:#166534}.compat-bank-status.error{color:#b42318}
.compat-maintenance-experience{position:fixed;inset:0;z-index:100000;overflow:auto;color:#eaf2ff;background:#07111f;font-family:Inter,system-ui,sans-serif}.compat-maintenance-experience *{box-sizing:border-box}.maintenance-v3-shell,.maintenance-v4-shell{width:min(1160px,calc(100% - 40px));margin:auto;min-height:100%;padding:28px 0}.compat-maintenance-experience header{display:flex;align-items:center;justify-content:space-between;padding:10px 0 42px}.maintenance-brand{font-size:20px;font-weight:900}.maintenance-live-badge,.maintenance-eyebrow{display:inline-flex;border:1px solid rgba(116,190,255,.25);border-radius:999px;background:rgba(30,116,255,.1);color:#78c8ff;padding:7px 12px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.maintenance-v3-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.75fr);align-items:center;gap:72px;padding:30px 0 70px}.maintenance-v3-hero h1,.maintenance-v4-hero h1{max-width:760px;margin:20px 0 18px;color:#fff;font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.045em}.maintenance-v3-hero>div>p,.maintenance-v4-hero>p{max-width:650px;color:#a9b9cf;font-size:18px;line-height:1.75}.maintenance-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.maintenance-trust span{padding:9px 12px;border-radius:10px;background:#10223a;color:#cfe1f8;font-size:13px}.maintenance-calc-card{padding:28px;border:1px solid rgba(148,184,229,.2);border-radius:28px;background:linear-gradient(145deg,#122943,#0b1d32);box-shadow:0 35px 80px rgba(0,0,0,.35)}.maintenance-calc-card label{display:grid;gap:12px;margin-bottom:20px;color:#a9b9cf;font-size:13px;font-weight:700}.maintenance-calc-card label:first-child{display:flex;align-items:center;justify-content:space-between}.maintenance-calc-card label strong{color:#fff;font-size:22px}.maintenance-calc-card input[type=range]{width:100%;height:7px;border-radius:99px;appearance:none;background:linear-gradient(90deg,#37b9ff var(--progress,0%),#30455f var(--progress,0%));outline:0}.maintenance-calc-card input[type=range]::-webkit-slider-thumb{width:24px;height:24px;border:5px solid #dff5ff;border-radius:50%;appearance:none;background:#1aaef2}.maintenance-range-labels{display:flex;justify-content:space-between;margin:-10px 0 24px;color:#7187a4;font-size:11px}.maintenance-calc-card select{width:100%;padding:13px 14px;border:1px solid #35516f;border-radius:12px;background:#0a1a2e;color:#fff}.maintenance-result{margin-top:8px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#0d76d8,#16a7db)}.maintenance-result>div:first-child{display:grid;gap:6px}.maintenance-result span{font-size:12px;opacity:.82}.maintenance-result>div>strong{font-size:34px;color:#fff}.maintenance-result-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22)}.maintenance-result-grid p{display:grid;gap:4px;margin:0}.maintenance-calc-card>small{display:block;margin-top:16px;color:#7890ac;line-height:1.5}.compat-maintenance-experience footer{margin-top:30px;padding:24px 0;border-top:1px solid rgba(148,184,229,.14);color:#758aa5;text-align:center;font-size:13px}.maintenance-v4-shell{max-width:1080px}.maintenance-v4-hero{padding:28px 0 50px;text-align:center}.maintenance-v4-hero .maintenance-eyebrow{margin:auto}.maintenance-v4-hero h1,.maintenance-v4-hero p{margin-left:auto;margin-right:auto}.maintenance-knowledge-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.maintenance-knowledge-grid article{min-height:240px;padding:28px;border:1px solid rgba(148,184,229,.16);border-radius:22px;background:#0d1d32}.maintenance-knowledge-grid article>span{color:#34b8ff;font-size:13px;font-weight:900}.maintenance-knowledge-grid h2{margin:40px 0 12px;color:#fff;font-size:22px}.maintenance-knowledge-grid p,.maintenance-faq p{color:#9fb1c8;line-height:1.7}.maintenance-v4-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 50px}.maintenance-v4-summary div{display:grid;gap:6px;padding:18px;border-radius:16px;background:#123052}.maintenance-v4-summary span{color:#86a2c2;font-size:12px}.maintenance-v4-summary strong{color:#fff}.maintenance-faq{max-width:760px;margin:auto}.maintenance-faq h2{text-align:center;color:#fff;font-size:30px}.maintenance-faq details{margin:10px 0;padding:18px 20px;border:1px solid rgba(148,184,229,.16);border-radius:14px;background:#0d1d32}.maintenance-faq summary{cursor:pointer;color:#fff;font-weight:800}.maintenance-faq p{margin:12px 0 0}.compat-calculator-experience-editor{display:grid;gap:22px}.compat-experience-head span{color:#1d4ed8;font-size:12px;font-weight:900;text-transform:uppercase}.compat-experience-head h3{margin:5px 0 6px;font-size:24px}.compat-experience-head p{margin:0;color:#5b6b82}.compat-experience-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.compat-experience-options label{position:relative;display:grid;gap:7px;min-height:150px;padding:20px;border:2px solid #dce6f2;border-radius:16px;background:#f8fbff;cursor:pointer}.compat-experience-options label:has(input:checked){border-color:#1d4ed8;background:#edf4ff}.compat-experience-options input{position:absolute;right:18px;top:18px;width:20px;height:20px}.compat-experience-options b{color:#1d4ed8;font-size:13px}.compat-experience-options strong{font-size:18px}.compat-experience-options small{color:#5b6b82;line-height:1.5}.compat-experience-status{min-height:20px;color:#5b6b82;font-weight:700}.compat-experience-status.success{color:#15803d}.compat-experience-status.error{color:#b42318}.compat-experience-save{width:100%}@media(max-width:760px){.maintenance-v3-shell,.maintenance-v4-shell{width:calc(100% - 24px);padding-top:14px}.compat-maintenance-experience header{padding-bottom:22px}.maintenance-v3-hero{grid-template-columns:1fr;gap:30px;padding:20px 0 40px}.maintenance-v3-hero h1,.maintenance-v4-hero h1{font-size:40px}.maintenance-v3-hero>div>p,.maintenance-v4-hero>p{font-size:16px}.maintenance-calc-card{padding:20px}.maintenance-knowledge-grid,.maintenance-v4-summary,.compat-experience-options{grid-template-columns:1fr}.maintenance-knowledge-grid article{min-height:auto}.maintenance-knowledge-grid h2{margin-top:24px}}
.compat-calculator-experience-editor{gap:18px!important}.compat-calculator-experience-editor>h4{margin:12px 0 -10px!important;padding-top:18px;border-top:1px solid #dce6f2;color:#162033;font-size:19px}.compat-experience-help{margin:-2px 0 0!important;color:#5b6b82}
