.cc-page{
  --cc-ink:#0f172a;
  --cc-navy:#17365d;
  --cc-navy-deep:#102a49;
  --cc-blue:#1d4ed8;
  --cc-blue-soft:#eaf2ff;
  --cc-sky:#f4f8ff;
  --cc-green:#047857;
  --cc-green-soft:#ecfdf5;
  --cc-sage-soft:#f2f8f3;
  --cc-sage-border:#cfe0d4;
  --cc-amber:#b45309;
  --cc-amber-soft:#fffbeb;
  --cc-red:#b91c1c;
  --cc-red-soft:#fff1f2;
  --cc-border:#d8e2ef;
  --cc-border-strong:#c4d2e3;
  --cc-muted:#5b6f87;
  --cc-surface:#fff;
  --cc-surface-muted:#f7f9fc;
  position:relative;
  --cc-page-width:min(1280px,calc(100vw - 40px));
  width:var(--cc-page-width);
  margin:24px 0 0 calc((100% - var(--cc-page-width)) / 2);
  color:var(--cc-ink);
  overflow-wrap:normal;
  word-break:normal;
}

.cc-page *,
.cc-page *::before,
.cc-page *::after{ box-sizing:border-box;overflow-wrap:normal;word-break:normal; }

.cc-page [hidden]{ display:none!important; }

.cc-page input,
.cc-page select,
.cc-page textarea{
  width:100%;
  min-height:48px;
  border:1px solid var(--cc-border-strong);
  border-radius:11px;
  padding:11px 13px;
  background:#fff;
  color:var(--cc-ink);
  font:inherit;
  line-height:1.3;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.cc-page textarea{ min-height:100px;resize:vertical; }
.cc-page input::placeholder,
.cc-page textarea::placeholder{ color:#6b7280;opacity:1; }
.cc-page select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:46px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 5.5h9L8 10.5z' fill='%2317365d'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 17px center;
  background-size:16px 16px;
}
.cc-page .field select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:46px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 5.5h9L8 10.5z' fill='%2317365d'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 17px center;
  background-size:16px 16px;
}
.cc-page input[type="number"]{ appearance:textfield;-moz-appearance:textfield; }
.cc-page input[type="number"]::-webkit-inner-spin-button,
.cc-page input[type="number"]::-webkit-outer-spin-button{ margin:0;-webkit-appearance:none;appearance:none; }
.cc-page input:hover,
.cc-page select:hover,
.cc-page textarea:hover{ border-color:#9fb1c6; }
.cc-page input:focus,
.cc-page select:focus,
.cc-page textarea:focus{ outline:0;border-color:var(--cc-blue);box-shadow:0 0 0 4px rgba(29,78,216,.12); }
.cc-page input[aria-invalid="true"],
.cc-page select[aria-invalid="true"],
.cc-page textarea[aria-invalid="true"]{ border-color:var(--cc-red);box-shadow:0 0 0 4px rgba(185,28,28,.1); }
.cc-page button:focus-visible,
.cc-page a:focus-visible{ outline:3px solid var(--cc-blue);outline-offset:3px; }

.cc-page .primary,
.cc-page .secondary,
.cc-page .danger,
.cc-button-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border-radius:11px;
  padding:11px 17px;
  font-weight:850;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
.cc-page .primary{ border:1px solid var(--cc-navy);background:var(--cc-navy);color:#fff;box-shadow:0 7px 16px rgba(23,54,93,.14); }
.cc-page .primary:hover{ background:var(--cc-navy-deep);transform:translateY(-1px); }
.cc-page .secondary{ border:1px solid var(--cc-border-strong);background:#fff;color:#18314f; }
.cc-page .secondary:hover{ background:#f2f6fb;border-color:#aab9cb; }
.cc-page .danger{ border:1px solid #fecaca;background:#fff;color:#9f1239; }
.cc-page .danger:hover{ background:#fff1f2; }
.cc-button-link:hover{ text-decoration:none; }

.cc-license{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(520px,.95fr);
  gap:30px;
  align-items:center;
  padding:24px 28px;
  border:1px solid var(--cc-border);
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#f8fbff 62%,#eef5ff 100%);
  box-shadow:0 12px 34px rgba(15,23,42,.07);
}
.cc-license[hidden]{ display:none!important; }
.cc-license h1,
.cc-app-header h1,
.cc-section-heading h2{ margin:0;letter-spacing:-.04em; }
.cc-license h1{ font-size:clamp(30px,3.2vw,42px);line-height:1.04; }
.cc-license__copy p{ max-width:720px;margin:8px 0 0;line-height:1.55; }
.cc-license__copy .note:empty{ display:none; }
.cc-license__form{ display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px 14px;align-items:end;padding:18px;border:1px solid var(--cc-border);border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.045); }
.cc-license__field{ min-width:0; }
.cc-license__form label{ display:block;margin-bottom:7px;font-weight:850; }
.cc-license__actions{ display:flex;gap:10px;align-items:center; }
.cc-license__actions .primary,
.cc-license__actions .secondary{ min-height:48px; }

.cc-eyebrow{ margin:0 0 7px;color:var(--cc-blue);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }

.cc-app{ border:1px solid var(--cc-border);border-radius:24px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.1);overflow:clip; }
.cc-app-header{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:120px;
  gap:22px;
  padding:22px 32px 21px;
  overflow:hidden;
  border-bottom:1px solid #cad8e8;
  background:
    radial-gradient(circle at 88% 48%,rgba(47,125,88,.12) 0 72px,transparent 73px),
    radial-gradient(circle at 88% 48%,transparent 0 101px,rgba(23,54,93,.09) 102px 104px,transparent 105px),
    linear-gradient(125deg,#ffffff 0%,#f5f9ff 48%,#e4efff 100%);
}
.cc-app-header::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:30px;
  bottom:18px;
  width:280px;
  height:108px;
  opacity:.38;
  background-image:radial-gradient(circle,rgba(23,54,93,.28) 1.4px,transparent 1.5px);
  background-size:16px 16px;
  mask-image:linear-gradient(90deg,transparent,black 30%,black);
}
.cc-app-header__content{ position:relative;z-index:1;max-width:920px; }
.cc-app-header__accent{ display:block;width:50px;height:4px;margin-bottom:10px;border-radius:999px;background:#2f7d58;box-shadow:17px 0 0 rgba(47,125,88,.22); }
.cc-app-header h1{ color:#0d1b32;font-size:clamp(34px,3vw,44px);line-height:1; }
.cc-app-header p{ max-width:900px;margin:8px 0 0;color:#47617f;font-size:15px;line-height:1.55;white-space:pre-line; }
.cc-app-header p,
.cc-strategy-card dd,
.cc-reminder-list strong,
.cc-reminder-list span,
.cc-timeline strong,
#settingsCurrentEmail{ overflow-wrap:anywhere;word-break:break-word; }
.cc-visually-hidden{ position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.cc-status-pill,
.cc-progress-badge{ display:inline-flex;align-items:center;min-height:31px;padding:6px 11px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:12px;font-weight:850;white-space:nowrap; }
.cc-status-pill.is-saved{ background:#d1fae5;color:#065f46; }
.cc-status-pill.is-warning{ background:#fef3c7;color:#92400e; }
.cc-status-pill.is-error{ background:#fee2e2;color:#991b1b; }

.cc-privacy-banner{ display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 40px;border-bottom:1px solid #c7ddfb;background:#eff6ff;color:#17365d;font-size:13px; }
.cc-privacy-banner[hidden]{ display:none!important; }
.cc-privacy-banner span{ min-width:0;line-height:1.45; }
.cc-text-button{ min-height:auto!important;padding:5px 8px!important;border:0;background:transparent;color:#17365d;font-weight:850; }

.cc-plan-manager{ display:grid;grid-template-columns:minmax(0,620px) auto;justify-content:space-between;gap:18px;align-items:center;margin:14px 24px 12px;padding:11px 14px;border:1px solid var(--cc-border);border-radius:13px;background:#fbfdff;box-shadow:0 4px 14px rgba(15,23,42,.025); }
.cc-plan-manager__picker{ display:flex;align-items:center;gap:12px;min-width:0; }
.cc-plan-manager__picker label{ color:#1f3047;font-size:13px;font-weight:850;white-space:nowrap; }
.cc-plan-manager__picker select{ flex:1 1 420px;min-width:220px;min-height:44px; }
.cc-plan-manager .cc-button-row{ justify-content:flex-end; }
.cc-plan-manager .secondary{ min-height:42px;padding:9px 14px; }

/* The desktop application uses the same compact dark navigation rail shown in the product preview. */
.cc-app-layout{
  display:grid;
  grid-template-columns:225px minmax(0,1fr);
  align-items:stretch;
  min-height:720px;
  border-top:1px solid var(--cc-border);
}
.cc-nav{
  position:relative;
  min-width:0;
  border-right:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,#0c2d49 0%,#092641 100%);
}
.cc-nav__inner{
  position:sticky;
  top:0;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:18px 11px;
}
.cc-nav-button{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  width:100%;
  min-height:46px;
  padding:10px 13px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:rgba(255,255,255,.82);
  font-size:15px;
  font-weight:760;
  line-height:1.25;
  text-align:left;
  white-space:nowrap;
  box-shadow:none;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.cc-nav-button:hover{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.075);
  color:#fff;
  transform:translateX(1px);
}
.cc-nav-button.is-active{
  border-color:rgba(255,255,255,.06);
  background:#2f7d58;
  color:#fff;
  box-shadow:0 6px 14px rgba(3,18,31,.18);
}
.cc-nav-icon{
  flex:0 0 20px;
  width:20px;
  height:20px;
  color:currentColor;
  stroke-width:1.8;
}
.cc-nav-label{ min-width:0; }

.cc-workspace{ width:min(100%,1300px);min-width:0;margin:0 auto;padding:32px 34px 42px;background:#fff; }

.cc-plan-draft-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:max(16px,env(safe-area-inset-bottom,0px));
  z-index:2100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:min(1080px,calc(100vw - 32px));
  margin-inline:auto;
  padding:13px 15px;
  border:1px solid #e4bf74;
  border-radius:14px;
  background:#fffaeb;
  box-shadow:0 14px 34px rgba(15,23,42,.18);
}
.cc-plan-draft-bar[hidden]{ display:none!important; }
.cc-workspace.has-unsaved-plan-draft{ padding-bottom:150px; }
.cc-plan-draft-bar__copy{ display:flex;flex-direction:column;gap:3px;min-width:0; }
.cc-plan-draft-bar__copy strong{ color:#7c4a03;font-size:14px;font-weight:900; }
.cc-plan-draft-bar__copy span{ color:#6b5a3a;font-size:12px;line-height:1.45; }
.cc-plan-draft-bar__actions{ flex:0 0 auto;flex-wrap:nowrap; }
.cc-setup-clean-actions{ display:flex;justify-content:flex-end;margin-top:20px; }
.cc-setup-clean-actions[hidden]{ display:none!important; }
.cc-view{ min-width:0; }
.cc-view[hidden]{ display:none!important; }
.cc-section-heading,
.cc-panel-heading{ display:flex;align-items:flex-start;justify-content:space-between;gap:24px; }
.cc-section-heading{ margin-bottom:24px; }
.cc-section-heading h2{ font-size:clamp(30px,2.8vw,40px);line-height:1.05; }
.cc-section-heading p,
.cc-panel-heading p{ margin:7px 0 0;color:var(--cc-muted);line-height:1.55; }

.cc-panel{ margin-top:18px;padding:24px;border:1px solid var(--cc-border);border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(15,23,42,.035); }
.cc-panel:first-child{ margin-top:0; }
.cc-panel h3{ margin:0 0 9px;font-size:20px;letter-spacing:-.025em; }
.cc-panel p{ line-height:1.58; }
.cc-alert{ margin-bottom:18px;padding:14px 16px;border:1px solid;border-radius:12px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word; }
.cc-alert--error{ border-color:#fecaca;background:#fff1f2;color:#991b1b; }
.cc-alert--success{ border-color:#a7f3d0;background:#ecfdf5;color:#065f46; }

.cc-toast-region{
  --cc-navy:#17365d;
  --cc-navy-deep:#102a49;
  --cc-border-strong:#c4d2e3;
  position:fixed;
  z-index:1100;
  top:calc(env(safe-area-inset-top,0px) + 18px);
  right:max(18px,env(safe-area-inset-right,0px));
  display:flex;
  width:min(420px,calc(100vw - 36px));
  max-height:calc(100vh - 36px);
  flex-direction:column;
  gap:10px;
  overflow:visible;
  pointer-events:none;
}
.cc-page.has-unsaved-plan-draft .cc-toast-region{
  bottom:106px;
  max-height:none;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.cc-toast{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:14px 14px 14px 16px;
  border:1px solid var(--cc-border-strong);
  border-radius:13px;
  background:#fff;
  color:#17365d;
  box-shadow:0 16px 38px rgba(15,23,42,.18);
  font-size:13px;
  line-height:1.48;
  overflow-wrap:anywhere;
  word-break:break-word;
  pointer-events:auto;
  animation:cc-toast-in .16s ease-out;
}
.cc-toast.is-leaving{ opacity:0;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease; }
.cc-toast--success{ border-color:#a7f3d0;background:#ecfdf5;color:#065f46; }
.cc-toast--info{ border-color:#bfdbfe;background:#eff6ff;color:#1e3a5f; }
.cc-toast--warning,.cc-toast--sync{ border-color:#fed7aa;background:#fff7ed;color:#7c2d12; }
.cc-toast--error{ border-color:#fecaca;background:#fff1f2;color:#991b1b; }
.cc-toast__body{ min-width:0; }
.cc-toast__body strong{ color:inherit; }
.cc-toast__body ul{ margin:7px 0 0;padding-left:19px; }
.cc-toast__close{
  display:inline-flex;
  width:30px;
  min-width:30px;
  height:30px;
  min-height:30px;
  align-items:center;
  justify-content:center;
  margin:-5px -5px 0 0;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:currentColor;
  font:700 22px/1 Arial,sans-serif;
  cursor:pointer;
}
.cc-toast__close:hover{ background:rgba(15,23,42,.07); }
.cc-toast-region .primary,.cc-toast-region .secondary{ display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:10px;padding:8px 11px;font:inherit;font-weight:850;line-height:1.2;text-decoration:none;cursor:pointer; }
.cc-toast-region .primary{ border:1px solid var(--cc-navy);background:var(--cc-navy);color:#fff;box-shadow:0 6px 14px rgba(23,54,93,.13); }
.cc-toast-region .primary:hover{ background:var(--cc-navy-deep); }
.cc-toast-region .secondary{ border:1px solid var(--cc-border-strong);background:#fff;color:#18314f; }
.cc-toast-region .secondary:hover{ background:#f2f6fb;border-color:#aab9cb; }
.cc-toast-region button:focus-visible{ outline:3px solid #1d4ed8;outline-offset:2px; }
@keyframes cc-toast-in{ from{ opacity:0;transform:translateY(-7px); } to{ opacity:1;transform:translateY(0); } }

.cc-empty-state{ padding:58px 30px;border:1px dashed #9fb0c5;border-radius:17px;background:linear-gradient(145deg,#fbfdff,#f4f8fd);text-align:center; }
.cc-empty-state h3{ margin:0 0 9px;font-size:24px; }
.cc-empty-state p{ max-width:660px;margin:0 auto 22px;color:#64748b;line-height:1.6; }
.cc-empty-state .cc-button-row{ justify-content:center; }
.cc-empty-state--compact{ grid-column:1/-1;width:100%;padding:16px 18px;border-radius:13px;text-align:left; }
.cc-empty-state--compact p{ max-width:none;margin:0;font-size:14px;line-height:1.45; }
.cc-empty-state--compact .cc-empty-state-action{ margin-top:12px; }

.cc-dashboard-kpi-section{ margin-bottom:20px;padding:18px;border:1px solid #c8d7e8;border-radius:18px;background:#f8fbff; }
.cc-dashboard-kpi-section--plan{ background:#f8fbff; }
.cc-dashboard-kpi-section--current{ margin-top:24px;border-color:var(--cc-sage-border);background:var(--cc-sage-soft); }
.cc-dashboard-kpi-heading{ display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px; }
.cc-dashboard-kpi-heading h3{ margin:0;color:#10233f;font-size:18px; }
.cc-dashboard-kpi-heading p{ margin:4px 0 0;color:#607188;font-size:13px;line-height:1.45; }
.cc-kpi-grid{ display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px; }
.cc-kpi-grid--three{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.cc-kpi{ position:relative;min-height:138px;padding:20px;border:1px solid var(--cc-border);border-radius:16px;background:linear-gradient(145deg,#fff,#f5f9ff);overflow:hidden; }
.cc-kpi::after{ content:"";position:absolute;right:-28px;bottom:-38px;width:96px;height:96px;border-radius:50%;background:rgba(29,78,216,.045); }
.cc-kpi__label{ color:#607188;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.035em; }
.cc-kpi__value{ position:relative;z-index:1;margin-top:9px;color:#0f172a;font-size:28px;font-weight:900;letter-spacing:-.04em; }
.cc-kpi__sub{ position:relative;z-index:1;margin-top:6px;color:#607188;font-size:12px;line-height:1.45; }

.cc-two-column,
.cc-help-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start; }
.cc-two-column .cc-panel{ margin-top:18px; }
.cc-help-column{ display:flex;min-width:0;flex-direction:column;gap:18px; }
.cc-help-column .cc-panel{ margin-top:0; }

.cc-form-grid{ display:grid;gap:16px; }
.cc-form-grid--three{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.cc-form-grid--two{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.cc-page .field label{ display:block;margin:0 0 7px;color:#1f3047;font-size:13px;font-weight:850;line-height:1.3; }
.cc-field-label-row{ position:relative;display:flex;align-items:center;gap:6px;margin:0 0 7px;min-width:0; }
.cc-page .field .cc-field-label-row label{ min-width:0;margin:0; }
.cc-field-info{ display:inline-flex;flex:0 0 auto;vertical-align:middle; }
.cc-info-button{
  display:inline-flex;
  width:19px;
  min-width:19px;
  height:19px;
  min-height:19px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:1px solid #9eb3c9;
  border-radius:50%;
  background:#fff;
  color:#315374;
  box-shadow:none;
  font:900 11px/1 Arial,sans-serif;
  cursor:help;
}
.cc-info-button:hover{ border-color:#6f8eab;background:#edf4fb;color:#17365d;filter:none; }
.cc-info-button:focus-visible{ outline:3px solid var(--cc-blue);outline-offset:2px; }
.cc-info-tooltip{
  position:absolute;
  z-index:60;
  top:calc(100% + 8px);
  left:0;
  width:max-content;
  max-width:min(340px,100%);
  padding:9px 11px;
  border-radius:9px;
  background:#102a49;
  color:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.2);
  font-size:12px;
  font-weight:650;
  line-height:1.45;
  opacity:0;
  visibility:hidden;
  transform:translateY(-3px);
  pointer-events:none;
  transition:opacity .12s ease,transform .12s ease,visibility .12s ease;
}
.cc-field-info:hover .cc-info-tooltip,
.cc-field-info.is-open .cc-info-tooltip,
.cc-info-button:focus-visible + .cc-info-tooltip{ opacity:1;visibility:visible;transform:translateY(0); }
.cc-debt-selector legend{ position:relative;display:flex;align-items:center;gap:6px; }
.cc-check-row{ position:relative;display:flex;align-items:center;gap:7px;width:max-content;max-width:100%; }
.cc-check-row .cc-check{ margin:0; }
.cc-prefill-note{ color:#36516f;font-weight:750; }
.cc-field-note{ margin:8px 0 0;color:var(--cc-muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word; }
.cc-field-note--summary{ color:#36516f;font-weight:800; }
.cc-budget-summary{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px; }
.cc-budget-summary > div{ padding:9px 10px;border:1px solid #dce6f2;border-radius:10px;background:#f7faff; }
.cc-budget-summary span{ display:block;color:#607188;font-size:11px;font-weight:850;line-height:1.3;text-transform:uppercase;letter-spacing:.025em; }
.cc-budget-summary strong{ display:block;margin-top:4px;color:#17365d;font-size:14px;line-height:1.3; }
.cc-budget-summary strong.is-shortfall{ color:#991b1b; }
.cc-budget-details{ display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:18px;align-items:center;margin-top:11px;padding:11px 13px;border:1px solid #e0e8f2;border-radius:12px;background:#f9fbfe; }
.cc-budget-details .cc-budget-summary{ margin-top:0; }
.cc-budget-details .cc-field-note{ margin:0; }
.cc-setup-heading-actions{ flex-wrap:nowrap; }
.cc-form-actions,
.cc-button-row{ display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.cc-form-actions{
  position:sticky;
  z-index:20;
  bottom:12px;
  width:100%;
  justify-content:space-between;
  gap:18px;
  margin-top:20px;
  padding:12px 14px;
  border:1px solid #c8d8ea;
  border-radius:13px;
  background:rgba(255,255,255,.97);
  box-shadow:0 12px 30px rgba(15,23,42,.14);
  backdrop-filter:blur(10px);
}
#planForm{ padding-bottom:0; }
.cc-save-bar__copy{ display:flex;flex-direction:column;gap:2px;min-width:0; }
.cc-save-bar__copy span{ color:var(--cc-muted);font-size:12px;line-height:1.4; }
.cc-save-bar__status{ color:#334155;font-size:13px;font-weight:900; }
.cc-save-bar__status.is-saved{ color:#047857; }
.cc-save-bar__status.is-warning{ color:#92400e; }
.cc-save-bar__status.is-error{ color:#b91c1c; }

.cc-debt-heading{ margin:27px 0 10px; }
.cc-debt-heading h3{ margin:0 0 7px;font-size:20px;letter-spacing:-.025em; }
.cc-debt-heading__row{ display:flex;align-items:center;justify-content:space-between;gap:16px; }
.cc-debt-heading__row p{ margin:0;color:var(--cc-muted);line-height:1.5; }
.cc-debt-heading__row .secondary{ flex:0 0 auto;min-height:40px;padding:8px 14px; }
.cc-debt-list{ display:flex;flex-direction:column;gap:10px; }
.cc-debt-row{ display:grid;grid-template-columns:minmax(165px,1.15fr) minmax(112px,.78fr) minmax(82px,.52fr) minmax(190px,1.3fr) minmax(104px,.68fr) auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--cc-border);border-radius:14px;background:linear-gradient(145deg,#fbfdff,#f7f9fc); }
.cc-debt-row .field label{ min-height:34px;display:flex;align-items:flex-end;margin-bottom:6px; }
.cc-debt-row input,.cc-debt-row select{ min-height:48px; }
.cc-debt-row input{ padding:10px 11px; }
.cc-debt-actions{ display:flex;align-items:center;justify-content:flex-end;gap:7px;align-self:end;padding-bottom:1px; }
.cc-icon-button{ position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;min-width:42px;height:44px;min-height:44px;padding:8px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#264866;font-weight:850; }
.cc-action-icon{ width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round; }
.cc-icon-button:hover{ background:#eef3f8;border-color:#aebed0; }
.cc-icon-button.is-danger{ color:#991b1b; }
.cc-icon-button.is-danger:hover{ border-color:#fecaca;background:#fff1f2; }
.cc-icon-button:disabled{ opacity:1;cursor:not-allowed;border-color:#e2e8f0;background:#f1f5f9;color:#a8b4c3;box-shadow:none; }
.cc-icon-button[data-tooltip]::after{ content:attr(data-tooltip);position:absolute;z-index:12;left:50%;bottom:calc(100% + 9px);width:max-content;max-width:170px;padding:6px 8px;border-radius:7px;background:#102a49;color:#fff;font-size:11px;font-weight:750;line-height:1.25;white-space:nowrap;box-shadow:0 8px 18px rgba(15,23,42,.18);opacity:0;visibility:hidden;transform:translate(-50%,4px);pointer-events:none;transition:opacity .14s ease,transform .14s ease,visibility .14s ease; }
.cc-icon-button[data-tooltip]:hover::after,
.cc-icon-button[data-tooltip]:focus-visible::after{ opacity:1;visibility:visible;transform:translate(-50%,0); }
.cc-icon-button:disabled::after{ display:none; }

.cc-strategy-explainer{ max-width:980px;margin-top:10px!important;padding-left:13px;border-left:3px solid #b9cbe0;color:#4d647f!important;font-size:13px;line-height:1.55!important; }
.cc-extra-controls{ background:linear-gradient(145deg,#f8fbff,#f3f7fc); }
#applyExtraAssumptions{ margin-top:16px; }
.cc-strategy-grid{ display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0;align-items:stretch; }
.cc-strategy-card{ position:relative;display:flex;min-width:0;min-height:292px;flex-direction:column;padding:16px 14px;border:1px solid var(--cc-border);border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.03); }
.cc-strategy-card.is-active{ border-color:var(--cc-blue);box-shadow:0 0 0 3px rgba(29,78,216,.11),0 10px 24px rgba(29,78,216,.08); }
.cc-strategy-card.is-selected-unsaved{ border-color:#d29a2e;box-shadow:0 0 0 3px rgba(210,154,46,.14),0 10px 24px rgba(146,94,12,.08); }
.cc-strategy-card h3{ margin:0 0 5px;font-size:18px;line-height:1.2; }
.cc-strategy-card > .cc-field-note{ min-height:36px;margin-top:0;font-size:11.5px;line-height:1.42; }
.cc-strategy-card dl{ display:grid;grid-template-columns:1fr;gap:7px;margin:12px 0 14px; }
.cc-strategy-card dl > div{ min-width:0;padding-bottom:7px;border-bottom:1px solid #edf1f6; }
.cc-strategy-card dl > div:last-child{ border-bottom:0; }
.cc-strategy-card dt{ color:#64748b;font-size:9.5px;font-weight:850;text-transform:uppercase;letter-spacing:.035em; }
.cc-strategy-card dd{ margin:3px 0 0;color:#0f172a;font-size:15px;font-weight:900;line-height:1.25;overflow-wrap:anywhere;word-break:normal; }
.cc-strategy-card__select{ width:100%;min-height:42px;margin-top:auto;padding:9px 10px!important;font-size:12px;white-space:normal!important; }
.cc-strategy-card__empty{ display:grid;place-items:center;min-height:132px;margin:12px 0;padding:13px;border:1px dashed #b8c6d8;border-radius:11px;background:#f8fafc;color:#5d7189;text-align:center;font-size:12px;line-height:1.45; }

.cc-inline-label{ display:flex;align-items:center;gap:10px;flex:0 0 auto;color:#475569;font-size:13px;font-weight:850;white-space:nowrap; }
.cc-inline-label select{ width:auto;min-width:190px; }
.cc-schedule-table-toolbar{ display:flex;justify-content:flex-end;align-items:center;margin:18px 0 10px; }
.cc-chart{ position:relative;min-height:0;margin-top:17px;border:1px solid var(--cc-border);border-radius:14px;background:#fff;overflow:visible; }
.cc-chart svg{ display:block;width:100%;height:auto;min-height:0;border-radius:inherit; }
.cc-chart-empty{ display:grid;place-items:center;min-height:280px;color:#64748b; }
.cc-chart-line{ stroke-linecap:round;stroke-linejoin:round; }
.cc-chart-line--single{ stroke:#1e3a5f; }
.cc-chart-legend{ display:flex;gap:16px;flex-wrap:wrap;padding:10px 16px 15px;color:#475569;font-size:12px; }
.cc-chart-key{ display:inline-flex;align-items:center;gap:7px; }
.cc-chart-swatch{ width:16px;height:3px;border-radius:999px;background:currentColor; }
.cc-chart-key--fixed{ color:#64748b; }.cc-chart-key--snowball{ color:#c2410c; }.cc-chart-key--avalanche{ color:#2563eb; }.cc-chart-key--custom{ color:#111827; }.cc-chart-key--extra{ color:#047857; }
.cc-chart-key--snowball .cc-chart-swatch{ background:repeating-linear-gradient(90deg,currentColor 0 7px,transparent 7px 14px); }
.cc-chart-line--fixed{ stroke:#64748b; }.cc-chart-line--snowball{ stroke:#c2410c;stroke-dasharray:8 8; }.cc-chart-line--avalanche{ stroke:#2563eb; }.cc-chart-line--custom{ stroke:#111827;stroke-dasharray:3 5; }.cc-chart-line--extra{ stroke:#047857; }
.cc-chart-point{ fill:#fff;stroke:currentColor;stroke-width:2.5;cursor:pointer;transition:fill .14s ease,filter .14s ease,transform .14s ease;transform-box:fill-box;transform-origin:center; }
.cc-chart-point--single{ color:#1e3a5f; }
.cc-chart-point--fixed{ color:#64748b; }.cc-chart-point--snowball{ color:#c2410c; }.cc-chart-point--avalanche{ color:#2563eb; }.cc-chart-point--custom{ color:#111827; }.cc-chart-point--extra{ color:#047857; }
.cc-chart-point:hover,
.cc-chart-point:focus-visible{ fill:currentColor;filter:drop-shadow(0 3px 4px rgba(15,23,42,.22));transform:scale(1.28);outline:none; }
.cc-chart-hover-layer{ fill:transparent;cursor:crosshair;outline:none;touch-action:manipulation; }
.cc-chart-hover-layer:focus-visible{ outline:2px solid var(--cc-blue);outline-offset:-3px; }
.cc-chart-active-point{ fill:#fff;stroke:#1e3a5f;stroke-width:2.7;filter:drop-shadow(0 3px 4px rgba(15,23,42,.18));pointer-events:none;opacity:0;transition:opacity .1s ease; }
.cc-chart-active-point.is-visible{ opacity:1; }
.cc-chart-grid-line{ stroke:#e2e8f0;stroke-width:1; }
.cc-chart-grid-line--vertical{ stroke:#eef2f7; }
.cc-chart-series-active-point{ pointer-events:none;opacity:0;transition:opacity .1s ease;vector-effect:non-scaling-stroke; }
.cc-chart-series-active-point.is-visible{ opacity:1; }
.cc-chart-series-active-point--plan{ fill:#fff;stroke:var(--cc-navy);stroke-width:2.5; }
.cc-chart-series-active-point--actual{ fill:#fff;stroke:#c2410c;stroke-width:2.5; }
.cc-chart-series-active-point--current{ fill:#fff;stroke:#15803d;stroke-width:3; }
.cc-chart-tooltip{ position:absolute;z-index:4;min-width:190px;max-width:230px;padding:11px 13px;border:1px solid rgba(30,58,95,.18);border-radius:11px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18);pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,calc(-100% - 12px)) scale(.97);transition:opacity .12s ease,transform .12s ease,visibility .12s ease; }
.cc-chart-tooltip.is-visible{ opacity:1;visibility:visible;transform:translate(-50%,calc(-100% - 12px)) scale(1); }
.cc-chart-tooltip.is-visible.is-below{ transform:translate(-50%,12px) scale(1); }
.cc-chart-tooltip__kicker{ display:block;margin-bottom:5px;color:rgba(15,23,42,.62);font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase; }
.cc-chart-tooltip__strategy{ display:block;margin:-1px 0 7px;color:#1e3a5f;font-size:12px;font-weight:900; }
.cc-chart-tooltip__row{ display:flex;justify-content:space-between;gap:14px;color:rgba(15,23,42,.74);font-size:11px;font-weight:750;line-height:1.45; }
.cc-chart-tooltip__row + .cc-chart-tooltip__row{ margin-top:4px; }
.cc-chart-tooltip__row strong{ color:#0f172a;font-weight:900;white-space:nowrap; }
.cc-current-chart-tooltip{ min-width:230px;max-width:min(290px,calc(100vw - 28px)); }
.cc-chart-tooltip__note{ display:block;margin-top:6px;padding-top:6px;border-top:1px solid rgba(15,23,42,.12);color:rgba(15,23,42,.72);font-size:11px;font-weight:750;line-height:1.4; }
.cc-current-chart-tooltip [hidden]{ display:none !important; }
.cc-chart-overlap-note{ margin:0 16px 15px;padding:9px 11px;border:1px solid #fed7aa;border-radius:9px;background:#fff7ed;color:#9a3412;font-size:12px;line-height:1.45; }
.cc-chart-overlap-note strong{ color:#7c2d12; }
.cc-chart-range-note{ margin:0 16px 15px;padding:9px 11px;border:1px solid #bfdbfe;border-radius:9px;background:#eff6ff;color:#294b70;font-size:12px;line-height:1.45; }
.cc-chart-range-note strong{ color:#17365d; }

.cc-table-scroll{ width:100%;max-height:600px;margin-top:17px;overflow:auto;border:1px solid var(--cc-border);border-radius:12px;background:#fff; }
.cc-table{ width:100%;min-width:100%;border-collapse:collapse;font-size:13px; }
.cc-table th,
.cc-table td{ padding:12px 13px;border-bottom:1px solid #e5ebf2;white-space:nowrap; }
.cc-table th{ text-align:left; }
.cc-table td{ text-align:right; }
.cc-table td:first-child{ text-align:left; }
.cc-table thead th{ position:sticky;top:0;z-index:2;background:#f4f7fb;color:#334155;font-weight:850;box-shadow:0 1px 0 #dbe3ee; }
.cc-table tbody tr:nth-child(even){ background:#fbfcfe; }
.cc-table tbody tr:hover{ background:#f3f7fc; }
.cc-table--records{ min-width:720px; }
.cc-record-table-scroll{ overflow-x:auto; }
.cc-table--saved-scenarios,
.cc-table--saved-strategies{ min-width:0;table-layout:fixed; }
.cc-table--saved-scenarios th,
.cc-table--saved-scenarios td,
.cc-table--saved-strategies th,
.cc-table--saved-strategies td{ text-align:left;white-space:normal;vertical-align:top;overflow-wrap:anywhere; }
.cc-table--saved-scenarios th:nth-child(1),.cc-table--saved-scenarios td:nth-child(1){ width:23%; }
.cc-table--saved-scenarios th:nth-child(2),.cc-table--saved-scenarios td:nth-child(2){ width:17%; }
.cc-table--saved-scenarios th:nth-child(3),.cc-table--saved-scenarios td:nth-child(3){ width:45%; }
.cc-table--saved-scenarios th:nth-child(4),.cc-table--saved-scenarios td:nth-child(4){ width:15%; }
.cc-table--saved-strategies th:nth-child(1),.cc-table--saved-strategies td:nth-child(1){ width:38%; }
.cc-table--saved-strategies th:nth-child(2),.cc-table--saved-strategies td:nth-child(2){ width:24%; }
.cc-table--saved-strategies th:nth-child(3),.cc-table--saved-strategies td:nth-child(3){ width:16%; }
.cc-table--saved-strategies th:nth-child(4),.cc-table--saved-strategies td:nth-child(4){ width:22%; }
.cc-table--progress-history{ min-width:0;table-layout:fixed; }
.cc-table--progress-history th,
.cc-table--progress-history td{ text-align:left;white-space:normal;vertical-align:top;overflow-wrap:anywhere; }
.cc-table--progress-history th:nth-child(1),.cc-table--progress-history td:nth-child(1){ width:19%; }
.cc-table--progress-history th:nth-child(2),.cc-table--progress-history td:nth-child(2){ width:17%; }
.cc-table--progress-history th:nth-child(3),.cc-table--progress-history td:nth-child(3){ width:16%; }
.cc-table--progress-history th:nth-child(4),.cc-table--progress-history td:nth-child(4){ width:16%; }
.cc-table--progress-history th:nth-child(5),.cc-table--progress-history td:nth-child(5){ width:16%; }
.cc-table--progress-history th:nth-child(6),.cc-table--progress-history td:nth-child(6){ width:16%; }
.cc-table--schedule{ width:100%;min-width:var(--cc-schedule-preferred-width,690px);table-layout:fixed; }
.cc-table--schedule th,
.cc-table--schedule td{ padding:10px 12px;text-align:left; }
.cc-table--schedule th:nth-child(1),.cc-table--schedule td:nth-child(1){ width:82px; }
.cc-table--schedule th:nth-child(2),.cc-table--schedule td:nth-child(2){ width:122px; }
.cc-table--schedule th:nth-child(3),.cc-table--schedule td:nth-child(3){ width:116px; }
.cc-table--schedule th:nth-child(4),.cc-table--schedule td:nth-child(4){ width:176px; }
.cc-table--schedule th:nth-child(n+5),.cc-table--schedule td:nth-child(n+5){ width:170px; }
.cc-table--schedule thead th:nth-child(n+5){ white-space:normal;overflow-wrap:anywhere;word-break:break-word; }
.cc-horizontal-scroll-hint{ margin:10px 0 -5px;color:#64748b;font-size:12px;line-height:1.45; }
.cc-horizontal-scroll-hint[hidden]{ display:none!important; }
.cc-mobile-table-scroll-hint{ display:none; }
.cc-record-action-row td{ padding-top:4px;padding-bottom:13px;border-top:0;background:#fff;text-align:left; }
.cc-record-action-row:hover{ background:#fff!important; }
.cc-saved-scenario-actions,.cc-saved-strategy-actions,.cc-progress-history-actions{ justify-content:flex-start; }
.cc-progress-history-actions button{ min-width:170px; }
.cc-history-detail-heading{ align-items:flex-start;margin-bottom:0; }
.cc-history-detail-heading h3{ margin:0;font-size:25px;overflow-wrap:anywhere;word-break:break-word; }
.cc-history-detail-heading p{ overflow-wrap:anywhere;word-break:break-word; }
.cc-history-detail-heading .secondary{ flex:0 0 auto; }
.cc-result-grid--strategy-history{ grid-template-columns:repeat(3,minmax(0,1fr)); }

.cc-subtabs{ display:flex;gap:8px;margin-bottom:18px;border-bottom:1px solid var(--cc-border); }
.cc-subtab{ min-height:44px;padding:10px 16px;border-radius:11px 11px 0 0;background:transparent;color:#475569;font-weight:850;white-space:nowrap; }
.cc-subtab.is-active{ background:#dbeafe;color:#173f7a; }
.cc-scenario-panel{ padding:25px;border:1px solid var(--cc-border);border-radius:17px;background:#fff;box-shadow:0 7px 22px rgba(15,23,42,.03); }
.cc-scenario-panel h3{ margin-top:0;font-size:23px; }
.cc-debt-selector{ margin:0 0 20px;padding:17px;border:1px solid var(--cc-border);border-radius:13px;background:#f9fbfd; }
.cc-debt-selector legend{ padding:0 7px;font-weight:850; }
.cc-debt-selector > div{ display:flex;flex-wrap:wrap;gap:10px 20px; }
.cc-debt-selector label{ display:inline-flex;align-items:center;gap:8px; }
.cc-debt-selector input{ width:auto;min-height:auto; }
.cc-check{ display:inline-flex;align-items:flex-start;gap:8px;margin:15px 0; }
.cc-check input{ width:auto;min-height:auto;margin-top:3px; }
.cc-scenario-submit-row{ margin-top:18px; }
.cc-scenario-submit-row .primary{ min-width:230px; }
.cc-scenario-result{ margin-top:20px;padding:23px;border:1px solid #b9d5fb;border-radius:16px;background:linear-gradient(145deg,#eff6ff,#f8fbff); }
.cc-scenario-result h3{ margin:0 0 8px;font-size:23px; }
.cc-result-grid{ display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0; }
.cc-result-stat{ min-height:102px;padding:15px;border:1px solid #d7e7fb;border-radius:12px;background:#fff; }
.cc-result-stat span{ display:block;color:#64748b;font-size:11px;font-weight:850;line-height:1.35;text-transform:uppercase;letter-spacing:.025em; }
.cc-result-stat strong{ display:block;margin-top:7px;color:#0f172a;font-size:19px;line-height:1.2; }
.cc-result-grid--history{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.cc-result-grid--history .cc-result-stat--comparison{ grid-column:span 2; }
.cc-settings-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start; }
.cc-settings-column{ display:flex;min-width:0;flex-direction:column;gap:18px; }
.cc-settings-grid .cc-panel{ margin-top:0; }
.cc-settings-grid form{ display:flex;flex-direction:column;gap:14px;margin-top:14px; }
.cc-settings-grid form .secondary{ align-self:flex-start; }
.cc-settings-value{ margin:0 0 8px;color:#17365d;font-size:18px;font-weight:900; }
.cc-settings-action{ margin-top:13px; }
.cc-panel-heading--compact{ align-items:center;gap:14px;margin-bottom:12px; }
.cc-panel-heading--compact h3{ margin-bottom:0; }
.cc-page input[type="file"]{ padding:6px 8px; }
.cc-page input[type="file"]::file-selector-button{ min-height:34px;margin-right:10px;padding:7px 11px;border:1px solid var(--cc-border-strong);border-radius:8px;background:#f5f8fc;color:#18314f;font:inherit;font-weight:800;cursor:pointer; }
.cc-mobile-view-picker{ display:none; }

.cc-actual-grid{ display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:19px 0; }
.cc-actual-grid.is-saved-state{ grid-template-columns:1fr;margin-bottom:0; }
.cc-progress-saved-state{ grid-column:1/-1;width:100%;margin:0; }
.cc-progress-saved-state p{ margin:7px 0 0; }
.cc-progress-badge.is-ahead{ background:#d1fae5;color:#065f46; }
.cc-progress-badge.is-behind{ background:#fee2e2;color:#991b1b; }
.cc-progress-badge.is-on_schedule{ background:#dbeafe;color:#1e3a8a; }

.cc-milestone-builder .cc-form-grid{ align-items:end; }
.cc-milestone-builder .cc-compact-list{ margin-top:18px; }
.cc-settings-card--notifications .cc-check-row{ width:100%; }
.cc-settings-card--notifications #notificationStatus{ margin-top:14px; }
.cc-timeline{ list-style:none;margin:0;padding:0; }
.cc-timeline li{ position:relative;min-height:64px;margin-left:10px;padding:0 0 23px 32px; }
.cc-timeline li::after{ content:"";position:absolute;z-index:0;left:0;top:16px;bottom:-2px;width:2px;background:#cbd5e1;transform:translateX(-50%); }
.cc-timeline li::before{ content:"";position:absolute;z-index:1;left:0;top:2px;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #94a3b8;transform:translateX(-50%); }
.cc-timeline li.is-reached::before{ background:#15803d;box-shadow:0 0 0 1px #15803d; }
.cc-milestone-reached{ color:#15803d;font-style:normal;font-weight:850; }
.cc-timeline li:last-child{ padding-bottom:0; }
.cc-timeline li:last-child::after{ display:none; }
.cc-timeline strong{ display:block;font-size:17px; }
.cc-timeline span{ display:block;margin-top:4px;color:#64748b;font-size:13px; }
.cc-action-list{ display:flex;flex-direction:column;gap:10px;align-items:stretch; }
.cc-reports-grid{ display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"reports backup" "data backup";gap:18px;align-items:start; }
.cc-reports-grid .cc-panel{ margin-top:0; }
.cc-reports-grid__reports{ grid-area:reports; }
.cc-reports-grid__backup{ grid-area:backup; }
.cc-reports-grid__data{ grid-area:data; }
.cc-danger-zone{ border-color:#fecaca;background:linear-gradient(145deg,#fffafa,#fff); }
.cc-danger-zone .cc-button-row{ margin-top:15px; }
.cc-help-grid .cc-panel{ padding:26px 27px; }
.cc-help-grid .cc-panel h3{ margin-bottom:12px; }
.cc-help-grid .cc-panel p{ color:#475569;line-height:1.7; }
.cc-help-grid ul{ margin:10px 0 0;padding-left:22px;color:#475569;line-height:1.68; }
.cc-help-grid li + li{ margin-top:8px; }
.cc-print-report{ display:none; }


/* Reports and backup field/action spacing */
.cc-reports-grid__reports .cc-action-list{ margin-top:14px; }
.cc-reports-grid__backup > .field{ margin-top:14px; }
#exportBackup{ margin-top:14px; }
#importBackup{ margin-top:14px; }
@media (max-width:1240px){
  .cc-form-grid--three{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-debt-row{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cc-debt-row .field:nth-child(4){ grid-column:span 2; }
  .cc-debt-actions{ grid-column:1/-1;padding-top:8px;border-top:1px solid #e2e8f0; }
}

@media (max-width:1200px){
  .cc-strategy-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cc-strategy-card dl{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-result-grid:not(.cc-result-grid--history){ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-result-grid--history{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cc-result-grid--history .cc-result-stat--comparison{ grid-column:span 1; }
}

@media (max-width:1024px){
  .cc-page{ --cc-page-width:min(100%,calc(100vw - 26px)); }
  .cc-license{ grid-template-columns:1fr; }
  .cc-app-header{ min-height:112px;padding:21px 26px 20px; }
  .cc-privacy-banner{ padding-inline:24px; }
  .cc-plan-manager{ margin-inline:16px; }
  .cc-app-layout{ display:block;min-height:0; }
  .cc-nav{ display:none; }
  .cc-mobile-view-picker{
    position:sticky;
    top:0;
    z-index:12;
    display:block;
    margin:0 16px 12px;
    padding:11px 12px;
    border:1px solid var(--cc-navy);
    border-radius:12px;
    background:var(--cc-navy);
    box-shadow:0 7px 18px rgba(23,54,93,.18);
  }
  .cc-mobile-view-picker label{ display:block;margin-bottom:7px;color:#fff;font-size:12px;font-weight:850; }
  .cc-mobile-view-picker select{ min-height:43px;border-color:#b7c6d8;background-color:#fff; }
  .cc-mobile-view-picker select:focus{ outline:2px solid var(--cc-blue);outline-offset:2px;border-color:var(--cc-blue);box-shadow:0 0 0 4px rgba(29,78,216,.12); }
  .cc-workspace{ padding:28px 26px 36px; }
  .cc-kpi-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-debt-row{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cc-debt-row .field:nth-child(4){ grid-column:span 2; }
  .cc-debt-actions{ grid-column:1/-1;padding-top:8px;border-top:1px solid #e2e8f0; }
  .cc-form-grid--three{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-actual-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-budget-details{ grid-template-columns:minmax(280px,380px) minmax(0,1fr); }
  #view-milestones .cc-panel-heading--compact{ align-items:stretch;flex-direction:column; }
  #view-milestones .cc-panel-heading--compact .secondary{ width:100%; }
}

@media (max-width:780px){
  .cc-info-tooltip{ max-width:min(310px,100%);font-size:12px; }
  .cc-license{ grid-template-columns:1fr;padding:22px; }
  .cc-license__form{ grid-template-columns:1fr; }
  .cc-license__actions{ flex-wrap:wrap; }
  .cc-license__actions .primary,.cc-license__actions .secondary{ flex:1 1 180px; }
  .cc-app-header{ align-items:flex-start;flex-direction:column;gap:14px;min-height:0;padding:19px 18px 17px;background:linear-gradient(135deg,#fff 0%,#edf5ff 100%); }
  .cc-app-header::after{ display:none; }
  .cc-app-header__accent{ width:44px;height:4px;margin-bottom:9px; }
  .cc-app-header h1{ font-size:30px; }
  .cc-app-header p{ margin-top:7px;font-size:13px; }
  .cc-header-actions{ width:100%;align-items:flex-start;gap:7px; }
  .cc-account-controls{ justify-content:flex-start;max-width:none;gap:5px 10px; }
  .cc-account-controls > span,.cc-account-controls .cc-text-button{ font-size:12px; }
  .cc-privacy-banner{ grid-template-columns:1fr;gap:7px;padding:12px 16px; }
  .cc-privacy-banner .cc-text-button{ justify-self:start; }
  .cc-plan-manager{ grid-template-columns:1fr;margin:10px 10px;padding:11px;align-items:stretch; }
  .cc-plan-manager__picker{ align-items:stretch;flex-direction:column;gap:6px; }
  .cc-plan-manager__picker select{ flex:0 0 auto;width:100%;min-width:0;height:auto;min-height:44px; }
  .cc-plan-manager .cc-button-row{ justify-content:stretch; }
  .cc-plan-manager .cc-button-row button{ flex:1 1 130px; }
  .cc-mobile-view-picker{ margin:0 10px 10px; }
  .cc-workspace{ padding:22px 16px 30px; }
  .cc-section-heading,.cc-panel-heading{ align-items:stretch;flex-direction:column;gap:12px; }
  .cc-panel-heading--compact{ flex-direction:column;align-items:stretch; }
  .cc-section-heading{ margin-bottom:20px; }
  .cc-section-heading h2{ font-size:30px; }
  .cc-setup-heading-actions{ width:100%;flex-wrap:nowrap; }
  .cc-setup-heading-actions button{ flex:1 1 0; }
  .cc-strategy-grid,.cc-two-column,.cc-form-grid--three,.cc-form-grid--two,.cc-actual-grid{ grid-template-columns:1fr; }
  .cc-strategy-card,.cc-strategy-card:nth-child(4),.cc-strategy-card:nth-child(5){ grid-column:auto; }
  .cc-reports-grid{ grid-template-columns:1fr;grid-template-areas:"reports" "backup" "data"; }
  .cc-settings-grid,.cc-help-grid{ display:flex;flex-direction:column;gap:18px; }
  .cc-settings-column,.cc-help-column{ display:contents; }
  .cc-settings-card--subscription{ order:1; }
  .cc-settings-card--email{ order:2; }
  .cc-settings-card--notifications{ order:3; }
  .cc-settings-card--password{ order:4; }
  .cc-settings-card--session{ order:5; }
  .cc-help-card--assumptions{ order:1; }
  .cc-help-card--progress{ order:2; }
  .cc-help-card--limitations{ order:3; }
  .cc-help-card--cloud{ order:4; }
  .cc-help-card--backups{ order:5; }
  .cc-help-card--support{ order:6; }
  .cc-strategy-card{ min-height:0; }
  .cc-strategy-card dl{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-debt-row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-debt-row .field:nth-child(4){ grid-column:auto; }
  .cc-debt-row .field label{ min-height:0; }
  .cc-debt-actions{ justify-content:stretch; }
  .cc-debt-actions .cc-icon-button{ flex:1; }
  .cc-budget-details{ grid-template-columns:1fr;padding:10px 11px; }
  .cc-budget-summary{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-debt-heading__row{ align-items:center; }
  .cc-inline-label{ align-items:flex-start;flex-direction:column;white-space:normal; }
  .cc-inline-label select{ width:100%;min-width:0; }
  .cc-schedule-table-toolbar{ justify-content:stretch;margin-top:16px; }
  .cc-schedule-table-toolbar .cc-inline-label{ width:100%; }
  .cc-kpi-grid,.cc-result-grid,.cc-result-grid--history{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-result-grid--history .cc-result-stat--comparison{ grid-column:span 2; }
  .cc-chart-empty{ min-height:210px; }
  .cc-form-actions{ position:static;align-items:stretch;width:100%;margin-top:18px;box-shadow:0 7px 20px rgba(15,23,42,.08);backdrop-filter:none; }
  .cc-form-actions .primary{ flex:1 1 100%; }
  .cc-panel,.cc-scenario-panel{ padding:19px 17px; }
  .cc-subtabs{ gap:0; }
  .cc-subtab{ flex:1 1 50%;text-align:center;white-space:normal; }
  .cc-scenario-submit-row{ margin-top:23px; }
  .cc-scenario-submit-row .primary{ width:100%;min-width:0; }
  .cc-mobile-table-scroll-hint{ display:block; }
  .cc-record-table-scroll{ max-height:none;overflow:visible; }
  .cc-table--records{ min-width:0;border-collapse:separate;border-spacing:0; }
  .cc-table--records thead{ display:none; }
  .cc-table--records tbody,.cc-table--records tr{ display:block;width:100%; }
  .cc-table--records tr{ padding:8px 5px;border-bottom:1px solid #e5ebf2;background:#fff!important; }
  .cc-table--records tr:last-child{ border-bottom:0; }
  .cc-table--records td{ display:grid;grid-template-columns:minmax(108px,38%) minmax(0,1fr);gap:10px;width:100%;padding:7px 8px;border:0;text-align:left;white-space:normal; }
  .cc-table--records.cc-table--saved-scenarios td,
  .cc-table--records.cc-table--saved-strategies td,
  .cc-table--records.cc-table--progress-history td{ width:100%;min-width:0;max-width:none; }
  .cc-table--records td::before{ content:attr(data-label);color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.025em; }
  .cc-table--records td[colspan]{ display:block;padding:11px 9px; }
  .cc-table--records td[colspan]::before{ display:none; }
  .cc-table--records td[data-label="Actions"] .cc-button-row{ justify-content:flex-start; }
  .cc-table--records td[data-label="Actions"] .cc-icon-button{ width:auto;min-width:76px;padding-inline:11px; }
  .cc-table--records td[data-label="Actions"] .secondary,
  .cc-table--records td[data-label="Actions"] .danger{ flex:1 1 140px;white-space:normal; }
  .cc-record-main-row{ padding-bottom:2px!important;border-bottom:0!important; }
  .cc-record-action-row{ padding-top:0!important; }
  .cc-record-action-row td{ display:block!important;padding:4px 8px 9px!important; }
  .cc-record-action-row td::before{ display:none!important; }
  .cc-saved-scenario-actions button,.cc-saved-strategy-actions button,.cc-progress-history-actions button{ flex:1 1 145px; }
  .cc-table--schedule{ font-size:12px; }
  .cc-panel-heading--compact .secondary{ width:100%; }
  .cc-history-detail-heading .secondary{ width:100%; }
  .cc-settings-grid form .secondary{ width:100%;align-self:stretch; }
  #exportBackup,#importBackup,#saveStrategySnapshot{ margin-top:12px; }
  .cc-page input[type="file"]{ min-height:46px; }
}

@media (max-width:420px){
  .cc-page{ --cc-page-width:calc(100vw - 12px);margin-top:10px; }
  .cc-page .primary,
  .cc-page .secondary,
  .cc-page .danger,
  .cc-page .cc-button-link{ white-space:normal;text-align:center; }
  .cc-app{ border-radius:15px; }
  .cc-workspace{ padding:19px 11px 26px; }
  .cc-strategy-card dl{ grid-template-columns:1fr; }
  .cc-debt-row{ grid-template-columns:1fr;padding:12px; }
  .cc-debt-heading__row{ align-items:stretch;flex-direction:column;gap:9px; }
  .cc-debt-heading__row .secondary{ width:100%; }
  .cc-plan-manager .cc-button-row{ flex-direction:column; }
  .cc-plan-manager .cc-button-row button{ width:100%;flex:0 0 auto; }
  .cc-panel-heading--compact{ align-items:stretch;flex-direction:column; }
  .cc-table--records td{ grid-template-columns:1fr;gap:3px; }
  .cc-saved-scenario-actions,.cc-saved-strategy-actions,.cc-progress-history-actions{ flex-direction:column; }
  .cc-saved-scenario-actions button,.cc-saved-strategy-actions button{ width:100%;flex:0 0 auto; }
  .cc-progress-history-actions button{ width:100%;min-width:0;flex:0 0 auto; }
}

@media (max-width:350px){
  .cc-kpi-grid,.cc-result-grid,.cc-result-grid--history,.cc-budget-summary{ grid-template-columns:1fr; }
  .cc-result-grid--history .cc-result-stat--comparison{ grid-column:span 1; }
}

.cc-page + .footer{ margin-top:20px;padding-bottom:22px;color:#5b6f87;font-size:13px;line-height:1.65; }
.cc-page + .footer p{ margin:5px 0; }
.cc-page + .footer a{ font-weight:650; }

@media (max-width:540px){
  .cc-page + .footer{ font-size:12.5px; }
}

@media print{
  body{ background:#fff!important; }
  body > .container > .nav,
  body > .container > .footer,
  #commandCenterApp,
  #licenseGate{ display:none!important; }
  .cc-page{ width:auto;margin:0;transform:none;left:auto; }
  .cc-print-report{ display:block!important;color:#111827;font:11pt/1.45 Arial,sans-serif; }
  .cc-print-report h1{ margin:0 0 8px;font-size:22pt; }
  .cc-print-report h2{ margin:20px 0 8px;font-size:15pt;break-after:avoid-page;page-break-after:avoid; }
  .cc-print-report table{ width:100%;border-collapse:collapse;font-size:9pt; }
  .cc-print-report thead{ display:table-header-group; }
  .cc-print-report tr{ break-inside:avoid;page-break-inside:avoid; }
  .cc-print-report th,
  .cc-print-report td{ padding:5px;border:1px solid #cbd5e1; }
  .cc-print-report th{ text-align:left; }
  .cc-print-report td{ text-align:right; }
  .cc-print-report td:first-child{ text-align:left; }
}

/* Account-linked Stripe subscription access */
.cc-account-line{ color:#475569; }
.cc-subscription-panel{
  padding:18px;
  border:1px solid var(--cc-border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.045);
}
.cc-subscription-panel [hidden]{ display:none!important; }
.cc-access-actions{ display:flex;flex-wrap:wrap;gap:10px;align-items:center; }
.cc-subscription-options{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.cc-subscription-option{
  display:flex;
  min-width:0;
  min-height:178px;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  padding:17px;
  border:1px solid var(--cc-border);
  border-radius:13px;
  background:#f8fbff;
}
.cc-subscription-option--featured{ border-color:#94b8dc;background:#f2f8ff; }
.cc-subscription-option > span{ color:var(--cc-blue);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em; }
.cc-subscription-option > strong{ color:var(--cc-navy-deep);font-size:30px;line-height:1.05; }
.cc-subscription-option > small{ min-height:38px;color:#52657a;line-height:1.4; }
.cc-subscription-option .primary{ width:100%;margin-top:auto; }
.cc-subscription-panel .cc-field-note{ margin:13px 0 0; }
.cc-account-controls{ display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 14px;max-width:540px; }
.cc-account-controls > span{ color:#334155;font-size:13px;font-weight:800; }
.cc-account-controls .cc-text-button{ font-size:13px; }

@media (max-width:780px){
  .cc-subscription-options{ grid-template-columns:1fr; }
  .cc-account-controls{ justify-content:flex-start;max-width:none; }
}

/* Cloud synchronization status and recovery controls. */
.cc-header-actions{ position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:9px;max-width:580px; }
.cc-status-pill.is-checking,
.cc-status-pill.is-syncing{ background:#dbeafe;color:#1d4ed8; }
.cc-status-pill.is-synced{ background:#d1fae5;color:#065f46; }
.cc-status-pill.is-pending,
.cc-status-pill.is-offline{ background:#fef3c7;color:#92400e; }
.cc-status-pill.is-error,
.cc-status-pill.is-conflict{ background:#fee2e2;color:#991b1b; }
.cc-status-pill.is-local{ background:#e2e8f0;color:#334155; }
.cc-sync-message{ display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 40px;border-bottom:1px solid #f5c2c7;background:#fff7ed;color:#7c2d12;font-size:13px;line-height:1.5; }
.cc-sync-message[hidden]{ display:none!important; }
.cc-sync-message > span{ flex:1 1 auto; }
.cc-sync-message .cc-button-row{ flex:0 0 auto;justify-content:flex-end; }
.cc-sync-message button[hidden]{ display:none!important; }
.cc-toast-region .cc-sync-message{ align-items:stretch;flex-direction:column;gap:10px;padding:14px 14px 14px 16px;border:1px solid #fed7aa;border-radius:13px;box-shadow:0 16px 38px rgba(15,23,42,.18); }
.cc-toast-region .cc-sync-message .cc-button-row{ justify-content:flex-start; }
.cc-toast-region .cc-sync-message .cc-button-row button{ flex:1 1 120px;min-height:40px;padding:8px 10px;white-space:normal; }

@media (max-width:780px){
  .cc-header-actions{ align-items:flex-start;max-width:none; }
  .cc-sync-message{ align-items:stretch;flex-direction:column;padding:13px 20px; }
  .cc-sync-message .cc-button-row{ justify-content:flex-start; }
  .cc-sync-message .cc-button-row button{ flex:1 1 180px; }
}

/* Milestone reminder status */
.cc-reminder-list{ list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px; }
.cc-reminder-list li{ padding:13px 14px;border:1px solid #dbe5ef;border-radius:12px;background:#fff; }
.cc-reminder-list strong{ display:block;color:#0f172a;font-size:15px; }
.cc-reminder-list span{ display:block;margin-top:4px;color:#64748b;font-size:13px;line-height:1.45; }

.cc-nav-button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

/* Active-plan workflow enhancements */
.cc-monthly-columns{ align-items:start; }
.cc-tools-grid{ align-items:stretch; }
.cc-tools-grid > .cc-panel{ align-self:stretch; }
.cc-tools-grid form > .cc-button-row,
.cc-tools-grid form > button.primary,
.cc-tools-grid form > button.secondary,
.cc-tools-grid article > .cc-button-row{ margin-top:14px; }
#dashboardNextAction .cc-button-row{ margin-top:15px; }
#paymentForm > button[type="submit"]{ margin-top:13px; }
#customMilestoneForm > button[type="submit"]{ margin-top:14px; }
#reminderPreferencesForm .cc-button-row{ margin-top:15px; }
.cc-tool-result{ margin-top:14px;padding:13px 14px;border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff;color:#334155;line-height:1.5; }
.cc-tool-result[hidden]{ display:none!important; }
.cc-whatif-results{ margin-top:14px; }
.cc-compact-list{ margin-top:14px; }
.cc-plan-required-note{ margin:16px 0 0;color:var(--cc-ink);font-size:16px;line-height:1.5; }
.cc-settings-list{ list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px; }
.cc-settings-list li{ display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #dbe5ef;border-radius:11px;background:#fff; }
.cc-settings-list li > div{ min-width:0; }
.cc-settings-list strong,.cc-settings-list span{ display:block;overflow-wrap:anywhere; }
.cc-settings-list strong{ color:#172033;font-size:14px; }
.cc-settings-list span{ margin-top:3px;color:#64748b;font-size:12.5px;line-height:1.4; }
.cc-priority-list{ list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:9px;counter-reset:none; }
.cc-priority-list li{ display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 12px;border:1px solid #dbe5ef;border-radius:11px;background:#fff; }
.cc-priority-list li > div:nth-child(2) strong,.cc-priority-list li > div:nth-child(2) span{ display:block; }
.cc-priority-list li > div:nth-child(2) span{ margin-top:3px;color:#64748b;font-size:12.5px; }
.cc-priority-list li.cc-priority-list__empty{ display:block; }
.cc-priority-list li.cc-priority-list__empty span{ display:block;color:#64748b;line-height:1.5; }
.cc-priority-number{ display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#edf4fb;color:var(--cc-navy);font-size:13px;font-weight:900; }
.cc-payment-status{ display:inline-flex;align-items:center;justify-content:center;min-width:80px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap; }
.cc-payment-status.is-paid{ background:#dcfce7;color:#166534; }
.cc-payment-status.is-due_today{ background:#fef3c7;color:#92400e; }
.cc-payment-status.is-past_due{ background:#fee2e2;color:#991b1b; }
.cc-payment-status.is-upcoming{ background:#dbeafe;color:#1d4ed8; }
.cc-payment-status.is-not_due{ background:#e2e8f0;color:#475569; }
.cc-review-list{ list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:11px; }
.cc-review-list li{ display:grid;grid-template-columns:27px minmax(0,1fr);gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid #edf1f5; }
.cc-review-list li:last-child{ border-bottom:0; }
.cc-review-marker{ display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid #cbd5e1;border-radius:999px;color:#fff;font-size:14px;font-weight:900;line-height:1; }
.cc-review-list li.is-complete .cc-review-marker{ border-color:#15803d;background:#15803d; }
.cc-review-list li.is-complete .cc-review-marker::before{ content:"✓";display:block;line-height:1;transform:translateY(-.5px); }
.cc-review-list strong,.cc-review-list span{ display:block; }
.cc-review-list li > div > span{ margin:4px 0 6px;color:#64748b;font-size:13px;line-height:1.45; }
.cc-review-list .cc-text-button{ padding:0; }
.cc-progress-single-comparison{ display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px; }
.cc-progress-single-stat{ padding:15px 16px;border:1px solid #dbe5ef;border-radius:12px;background:#f8fbff; }
.cc-progress-single-stat span{ display:block;color:#64748b;font-size:11px;font-weight:850;letter-spacing:.035em;text-transform:uppercase; }
.cc-progress-single-stat strong{ display:block;margin-top:6px;color:#0f172a;font-size:22px;line-height:1.15; }
.cc-progress-single-note{ grid-column:1/-1;margin:0;padding:2px 2px 0;color:#5b6f87;font-size:13px;line-height:1.5; }
.cc-progress-line{ stroke-width:3;stroke-linecap:round;stroke-linejoin:round; }
.cc-progress-line--projected{ stroke:#2563eb;stroke-dasharray:8 6; }
.cc-progress-line--plan{ stroke:var(--cc-navy);stroke-dasharray:8 6; }
.cc-progress-line--actual{ stroke:#c2410c;stroke-width:3.5; }
.cc-progress-line--current{ stroke:#15803d;stroke-width:4; }
.cc-progress-dot--projected{ fill:#fff;stroke:#2563eb;stroke-width:2; }
.cc-progress-dot--actual{ fill:#fff;stroke:#c2410c;stroke-width:2.5; }
.cc-progress-dot--actual.is-authoritative{ fill:#c2410c; }
.cc-progress-dot--current-anchor{ fill:#fff;stroke:#15803d;stroke-width:3; }
.cc-chart-axis{ stroke:#cbd5e1;stroke-width:1; }
.cc-chart-label{ fill:#64748b;font-size:11px;font-weight:700; }
.cc-chart-label--y{ font-size:10px;font-weight:750; }
.cc-chart-label--x{ font-size:10px;font-weight:750; }
.cc-chart-legend{ display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:9px;color:#475569;font-size:12px;font-weight:750; }
.cc-chart-legend span{ display:flex;align-items:center;gap:7px; }
.cc-legend-line{ display:inline-block;width:24px;border-top:3px solid #17365d; }
.cc-legend-line--projected{ border-top-color:#2563eb;border-top-style:dashed; }
.cc-legend-line--plan{ border-top-color:var(--cc-navy);border-top-style:dashed; }
.cc-legend-line--actual{ border-top-color:#c2410c; }
.cc-legend-line--current{ border-top-color:#15803d;border-top-width:4px; }
.cc-chart-context-note{ margin:10px 0 0;color:#64748b;font-size:12px;line-height:1.5;text-align:center; }
.cc-check-row{ display:flex;align-items:flex-start;gap:9px;margin:11px 0;color:#334155;font-weight:700;line-height:1.4; }
.cc-check-row input{ margin-top:3px;flex:0 0 auto; }
.cc-history-revision-label{ display:inline-flex;align-items:center;padding:7px 10px;border-radius:9px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:800; }
.cc-table--monthly-plan td,.cc-table--payments td,.cc-table--plan-versions td{ vertical-align:middle; }
#progressChart{ min-height:280px; }
#progressChart.is-single-point{ min-height:0; }
#progressChart .cc-line-svg{ width:100%;height:auto;display:block; }

@media (max-width:780px){
  .cc-settings-list li{ align-items:stretch;flex-direction:column; }
  .cc-progress-single-comparison{ grid-template-columns:1fr; }
  .cc-progress-single-note{ grid-column:auto; }
  .cc-settings-list li button{ width:100%; }
  .cc-priority-list li{ grid-template-columns:34px minmax(0,1fr); }
  .cc-priority-list li > .cc-button-row{ grid-column:1 / -1; }
  .cc-priority-list li > .cc-button-row button{ flex:1 1 110px; }
  #progressChart{ min-height:230px;overflow-x:auto; }
}

@media (max-width:420px){
  .cc-priority-list li{ grid-template-columns:30px minmax(0,1fr);padding:10px; }
  .cc-payment-status{ min-width:0;white-space:normal;text-align:center; }
}

/* Native checkbox sizing inside Planner reminder controls. */
.cc-check-row input[type="checkbox"]{
  width:18px;
  min-width:18px;
  height:18px;
  min-height:18px;
  margin:2px 0 0;
  padding:0;
  flex:0 0 18px;
}
.cc-tools-grid > .cc-panel{
  min-width:0;
  width:100%;
}
.cc-check-row > span{
  min-width:0;
  overflow-wrap:anywhere;
}

@media (max-width:780px){
  .cc-tools-grid .cc-button-row button{
    min-width:0;
    flex:1 1 100%;
    white-space:normal;
  }
}

@media (max-width:420px){
  .cc-kpi__value{ font-size:26px; }
}

/* Deployed smoke-test remediation: Planner tool layout and history actions. */
.cc-field--full{ grid-column:1 / -1; }
.cc-whatif-strategy-field{ width:100%;margin-bottom:14px; }
.cc-whatif-strategy-field select{ width:100%; }
.cc-whatif-amount-grid{ margin-bottom:0; }
.cc-tools-primary-action{ margin-top:14px; }
.cc-custom-order-note{ width:100%;max-width:none; }

.cc-goal-result .cc-result-grid--goal{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.cc-goal-result .cc-result-stat{ min-width:0; }

.cc-table--whatif{ min-width:0;table-layout:fixed; }
.cc-table--whatif th,
.cc-table--whatif td{ text-align:left;white-space:normal;vertical-align:top;overflow-wrap:anywhere; }
.cc-table--whatif th:nth-child(1),.cc-table--whatif td:nth-child(1){ width:25%; }
.cc-table--whatif th:nth-child(2),.cc-table--whatif td:nth-child(2){ width:25%; }
.cc-table--whatif th:nth-child(3),.cc-table--whatif td:nth-child(3){ width:25%; }
.cc-table--whatif th:nth-child(4),.cc-table--whatif td:nth-child(4){ width:25%; }
.cc-whatif-explainer{ margin:14px 0 0;color:#526b88;font-size:13px;line-height:1.5; }

.cc-table--plan-versions{ min-width:0;table-layout:fixed; }
.cc-table--plan-versions th,
.cc-table--plan-versions td{ text-align:left;white-space:normal;vertical-align:top;overflow-wrap:anywhere; }
.cc-table--plan-versions th:nth-child(1),.cc-table--plan-versions td:nth-child(1){ width:27%; }
.cc-table--plan-versions th:nth-child(2),.cc-table--plan-versions td:nth-child(2){ width:48%; }
.cc-table--plan-versions th:nth-child(3),.cc-table--plan-versions td:nth-child(3){ width:25%; }
.cc-plan-version-history-scroll{ overflow-x:hidden; }
.cc-plan-version-action-heading{ text-align:left!important; }
.cc-plan-version-action-cell{ text-align:right!important;white-space:nowrap!important; }
.cc-plan-version-load{ min-width:0;max-width:100%;white-space:normal; }

.cc-table--payments{ min-width:0;table-layout:fixed; }
.cc-table--payments th,
.cc-table--payments td{ text-align:left;white-space:normal;vertical-align:top;overflow-wrap:anywhere; }
.cc-table--payments th:nth-child(1),.cc-table--payments td:nth-child(1){ width:20%; }
.cc-table--payments th:nth-child(2),.cc-table--payments td:nth-child(2){ width:24%; }
.cc-table--payments th:nth-child(3),.cc-table--payments td:nth-child(3){ width:18%; }
.cc-table--payments th:nth-child(4),.cc-table--payments td:nth-child(4){ width:38%; }
.cc-payment-history-actions{ justify-content:flex-start; }
.cc-payment-history-actions button{ min-width:145px; }

#progressFormActions[hidden],
#progressSubmitButton[hidden],
#cancelCheckinEdit[hidden],
#progressActualPaymentField[hidden],
#progressNoteField[hidden]{ display:none!important; }
#cancelPaymentEdit[hidden]{ display:none!important; }
.cc-progress-form-status:empty{ display:none; }
.cc-progress-form-actions{ margin-top:16px; }
.cc-progress-form-status.is-saved{ margin:16px 0 0;padding:12px 14px;border:1px solid #c7d8eb;border-radius:11px;background:#f7faff;color:#415a77; }

/* Geometric checkmark keeps the mark optically centered in the review circle. */
.cc-review-marker{ position:relative;display:block; }
.cc-review-list li.is-complete .cc-review-marker::before{
  content:"";
  position:absolute;
  left:50%;
  top:47%;
  width:6px;
  height:11px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:translate(-50%,-50%) rotate(45deg);
}

@media (max-width:780px){
  .cc-goal-result .cc-result-grid--goal{ grid-template-columns:1fr; }
  .cc-plan-version-load,
  .cc-payment-history-actions button{ min-width:0; }
}

@media (max-width:780px){
  .cc-table--whatif th,.cc-table--whatif td,
  .cc-table--plan-versions th,.cc-table--plan-versions td,
  .cc-table--payments th,.cc-table--payments td{ width:100%!important; }
}

/* Payment-formula and projection-context enhancements. */
.cc-debt-payment-config{
  grid-column:1 / -2;
  grid-row:2;
  display:grid;
  grid-template-columns:minmax(180px,280px) minmax(0,1fr);
  gap:10px 16px;
  align-items:end;
  padding-top:2px;
}
.cc-debt-payment-config > [data-payment-fields="fixed"]{ max-width:280px; }
.cc-percent-payment-fields{ display:grid;grid-template-columns:repeat(2,minmax(150px,240px));gap:10px;align-items:end; }
.cc-debt-payment-config [hidden]{ display:none!important; }
.cc-debt-payment-guidance{ grid-column:1 / -1;margin-top:0;max-width:760px; }
.cc-debt-actions{ grid-column:-2 / -1;grid-row:2; }

.cc-assumption-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:14px 0 18px;
  padding:11px 13px;
  border:1px solid #bfdbfe;
  border-radius:11px;
  background:#eff6ff;
  color:#294b70;
  font-size:13px;
  line-height:1.45;
}
.cc-assumption-banner[hidden]{ display:none!important; }
.cc-assumption-banner strong{ font-weight:800; }
.cc-assumption-banner .cc-text-button{ flex:0 0 auto; }

.cc-strategy-card__payment-context{
  display:flex;
  flex-wrap:wrap;
  gap:2px 6px;
  margin:8px 0 1px;
  padding:7px 8px;
  border:1px solid #d8e4f1;
  border-radius:9px;
  background:#f8fbff;
  color:#48617d;
  font-size:10.5px;
  line-height:1.35;
}
.cc-strategy-card__payment-context strong,
.cc-strategy-card__payment-context span{ display:inline;min-width:0; }
.cc-strategy-card__payment-context strong{ color:#17365d;font-size:11.5px; }

.cc-table--whatif th:nth-child(1),.cc-table--whatif td:nth-child(1){ width:21%;white-space:nowrap;overflow-wrap:normal;word-break:normal; }
.cc-table--whatif th:nth-child(2),.cc-table--whatif td:nth-child(2){ width:25%; }
.cc-table--whatif th:nth-child(3),.cc-table--whatif td:nth-child(3){ width:27%; }
.cc-table--whatif th:nth-child(4),.cc-table--whatif td:nth-child(4){ width:27%; }

@media (max-width:1180px){
  .cc-debt-payment-config{ grid-column:1 / -1;grid-row:auto;grid-template-columns:1fr; }
  .cc-debt-payment-config > [data-payment-fields="fixed"]{ max-width:none; }
  .cc-percent-payment-fields{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-debt-actions{ grid-column:1 / -1;grid-row:auto;justify-content:flex-start; }
}

@media (max-width:620px){
  .cc-percent-payment-fields{ grid-template-columns:1fr; }
  .cc-assumption-banner{ align-items:flex-start;flex-direction:column; }
  .cc-table--whatif th:nth-child(1),.cc-table--whatif td:nth-child(1){ white-space:normal; }
}
/* Final Planner UI polish: stable reorder anchoring and normalized form geometry. */
.cc-form-grid .field,.cc-tools-grid .field,.cc-scenario-panel .field,.cc-settings-grid .field,.cc-actual-grid .field{ min-width:0; }
#customOrderList{ overflow-anchor:none; }

@media (max-width:1180px){
  .cc-strategy-grid{ grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
  .cc-strategy-card{ min-height:0; }
  .cc-strategy-card dl{ grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px; }
}

@media (max-width:780px){
  .cc-strategy-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-toast-region{ top:calc(env(safe-area-inset-top,0px) + 12px);right:12px;left:12px;width:auto;max-height:calc(100vh - 24px); }
  .cc-page.has-unsaved-plan-draft .cc-toast-region{
    bottom:max(190px,calc(env(safe-area-inset-bottom,0px) + 190px));
    max-height:none;
  }
  .cc-toast{ padding:13px 12px 13px 14px; }
  .cc-toast-region .cc-sync-message{ padding:13px 12px 13px 14px; }
  .cc-help-grid .cc-panel{ padding:21px 19px; }
}

@media (max-width:520px){
  .cc-strategy-grid{ grid-template-columns:1fr; }
  .cc-strategy-card dl{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:380px){
  .cc-strategy-card dl{ grid-template-columns:1fr; }
}


/* What-if Explorer table: keep this four-column result table independent from schedule-table sizing. */
.cc-whatif-results .cc-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
}
.cc-whatif-results .cc-table--whatif{
  width:100%;
  min-width:560px;
  table-layout:fixed;
}
.cc-whatif-results .cc-table--whatif th,
.cc-whatif-results .cc-table--whatif td{
  padding:10px 10px;
  text-align:left;
  vertical-align:middle;
  line-height:1.35;
  overflow-wrap:normal;
  word-break:normal;
}
.cc-whatif-results .cc-table--whatif thead th{
  white-space:normal;
}
.cc-whatif-results .cc-table--whatif tbody td{
  white-space:nowrap;
}
.cc-whatif-results .cc-table--whatif th:nth-child(1),
.cc-whatif-results .cc-table--whatif td:nth-child(1){ width:22%; }
.cc-whatif-results .cc-table--whatif th:nth-child(2),
.cc-whatif-results .cc-table--whatif td:nth-child(2){ width:25%; }
.cc-whatif-results .cc-table--whatif th:nth-child(3),
.cc-whatif-results .cc-table--whatif td:nth-child(3){ width:27%; }
.cc-whatif-results .cc-table--whatif th:nth-child(4),
.cc-whatif-results .cc-table--whatif td:nth-child(4){ width:26%; }

@media (max-width:780px){
  .cc-whatif-results .cc-table--whatif{
    min-width:0;
  }
  .cc-whatif-results .cc-table--whatif tbody td{
    white-space:normal;
  }
}


/* What-if Explorer result controls and custom-scenario emphasis. */
.cc-whatif-results-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
}
.cc-whatif-results-header .cc-whatif-explainer{
  flex:1 1 auto;
  margin:0;
}
.cc-whatif-close{
  flex:0 0 auto;
  min-height:38px;
  padding:7px 12px;
  white-space:nowrap;
}
.cc-whatif-row--custom > td{
  background:#eef6ef;
}
.cc-whatif-row--custom:hover > td{
  background:#e6f1e8;
}
@media (max-width:620px){
  .cc-whatif-results-header{
    align-items:stretch;
    flex-direction:column;
  }
  .cc-whatif-close{
    align-self:flex-start;
  }
}

/* Explicit Plan-save workflow and Plan Setup layout. */
.cc-section-heading .cc-setup-heading-actions{ flex-wrap:nowrap; }
.cc-section-heading .cc-setup-heading-actions button{ flex:0 0 auto; }
.cc-debt-import-actions{ margin-top:14px; }
.cc-plan-save-actions{ flex:0 0 auto;justify-content:flex-end; }
.cc-plan-save-actions button{ min-width:142px; }
.cc-table--monthly-plan th,
.cc-table--monthly-plan td{ text-align:left!important; }

@media (min-width:1181px){
  .cc-debt-row{
    grid-template-columns:minmax(235px,1.55fr) minmax(125px,.78fr) minmax(88px,.5fr) minmax(205px,1.2fr) minmax(118px,.68fr);
  }
  .cc-debt-payment-config{ grid-column:1 / 5; }
  .cc-debt-actions{ grid-column:5 / 6; }
}

.cc-modal-backdrop{
  position:fixed;
  z-index:1200;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.58);
}
.cc-modal-backdrop[hidden]{ display:none!important; }
.cc-modal{
  width:min(680px,100%);
  max-height:min(82vh,760px);
  overflow:auto;
  padding:24px;
  border:1px solid #c8d8ea;
  border-radius:18px;
  background:#fff;
  box-shadow:0 28px 70px rgba(15,23,42,.28);
  color:var(--cc-ink);
}
.cc-modal h2{ margin:0 0 10px;font-size:24px;line-height:1.2; }
.cc-modal p{ margin:0;color:var(--cc-muted);line-height:1.6; }
.cc-modal ul{ margin:14px 0 0;padding-left:22px;color:#334155;line-height:1.55; }
.cc-modal-actions{ justify-content:flex-end;margin-top:22px; }
.cc-modal:focus{ outline:3px solid rgba(37,99,235,.24);outline-offset:3px; }

@media (max-width:620px){
  .cc-modal-backdrop{ padding:14px;align-items:flex-end; }
  .cc-modal{ padding:20px;border-radius:16px; }
  .cc-modal-actions{ align-items:stretch;flex-direction:column-reverse; }
  .cc-modal-actions button{ width:100%; }
  .cc-plan-save-actions{ width:100%; }
  .cc-plan-save-actions button{ flex:1 1 100%; }
}

@media (max-width:700px){
  .cc-plan-draft-bar{ align-items:stretch;flex-direction:column;bottom:max(10px,env(safe-area-inset-bottom,0px));width:calc(100vw - 20px); }
  .cc-workspace.has-unsaved-plan-draft{ padding-bottom:190px; }
  .cc-plan-draft-bar__actions{ width:100%; }
  .cc-plan-draft-bar__actions .primary,.cc-plan-draft-bar__actions .secondary{ flex:1 1 0; }
}

/* Mobile Planner hardening: keep unsaved-draft controls visible and make dense cards/forms readable. */
@media (max-width:780px){
  /* The banner is outside the clipped .cc-app shell; keep it above mobile content and browser safe areas. */
  .cc-plan-draft-bar{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:max(14px,env(safe-area-inset-bottom,0px))!important;
    z-index:2100!important;
    width:min(620px,calc(100vw - 20px))!important;
    max-width:calc(100vw - 20px);
    margin-inline:auto!important;
    transform:none!important;
    backdrop-filter:none!important;
  }

  /* Mobile debt layout: preserve useful two-column density while giving Payment mode more room than APR. */
  .cc-debt-row{
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:14px 10px;
  }
  .cc-debt-row > .field:nth-child(1){ grid-column:span 6; }
  .cc-debt-row > .field:nth-child(2){ grid-column:span 6; }
  .cc-debt-row > .field:nth-child(3){ grid-column:span 4; }
  .cc-debt-row > .field:nth-child(4){ grid-column:span 8; }
  .cc-debt-row > .field:nth-child(5){ grid-column:span 6; }
  .cc-debt-payment-config,
  .cc-debt-actions{ grid-column:1 / -1; }

  /* Keep Plan Version History as a real scrollable table instead of converting it to stacked record cards. */
  .cc-plan-version-history-scroll{
    max-height:420px;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }
  .cc-plan-version-history-scroll .cc-table--plan-versions{
    display:table;
    width:100%;
    min-width:640px;
    border-collapse:collapse;
    table-layout:fixed;
  }
  .cc-plan-version-history-scroll .cc-table--plan-versions thead{ display:table-header-group; }
  .cc-plan-version-history-scroll .cc-table--plan-versions tbody{ display:table-row-group; }
  .cc-plan-version-history-scroll .cc-table--plan-versions tr{
    display:table-row;
    width:auto;
    padding:0;
    border-bottom:0;
    background:#fff!important;
  }
  .cc-plan-version-history-scroll .cc-table--plan-versions th,
  .cc-plan-version-history-scroll .cc-table--plan-versions td{
    display:table-cell;
    width:auto!important;
    padding:11px 12px;
    border-bottom:1px solid #e5ebf2;
    text-align:left!important;
    vertical-align:middle;
    white-space:normal;
  }
  .cc-plan-version-history-scroll .cc-table--plan-versions td::before{ display:none!important;content:none!important; }
  .cc-plan-version-history-scroll .cc-plan-version-action-cell{ text-align:left!important;white-space:normal!important; }
  .cc-plan-version-history-scroll .cc-plan-version-load{ width:auto;min-width:168px; }
}

@media (max-width:560px){
  /* One-column KPI cards prevent long money values from colliding with card edges. */
  #dashboardPlanKpis,
  #dashboardCurrentKpis,
  #progressAnalyticsKpis{ grid-template-columns:1fr; }
  #dashboardPlanKpis .cc-kpi,
  #dashboardCurrentKpis .cc-kpi,
  #progressAnalyticsKpis .cc-kpi{ min-height:126px; }
  #dashboardPlanKpis .cc-kpi__value,
  #dashboardCurrentKpis .cc-kpi__value,
  #progressAnalyticsKpis .cc-kpi__value{ font-size:28px;letter-spacing:-.035em; }
}

@media (max-width:420px){
  /* Override the older one-column debt-row rule so APR and Payment mode stay paired on phones. */
  .cc-debt-row{ grid-template-columns:repeat(12,minmax(0,1fr));padding:12px; }
  .cc-debt-row > .field:nth-child(1){ grid-column:span 6; }
  .cc-debt-row > .field:nth-child(2){ grid-column:span 6; }
  .cc-debt-row > .field:nth-child(3){ grid-column:span 4; }
  .cc-debt-row > .field:nth-child(4){ grid-column:span 8; }
  .cc-debt-row > .field:nth-child(5){ grid-column:span 6; }
  .cc-debt-payment-config,
  .cc-debt-actions{ grid-column:1 / -1; }
}

/* Viewport modal hardening for mobile browsers and emulated mobile navigation. */
.cc-modal-backdrop{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100vw;
  height:100dvh;
  min-height:100vh;
  z-index:2200!important;
}
.cc-modal-backdrop:not([hidden]){ display:flex!important; }
@media (max-width:620px){
  .cc-modal-backdrop{
    align-items:center;
    justify-content:center;
    padding:max(14px,env(safe-area-inset-top,0px)) 14px max(14px,env(safe-area-inset-bottom,0px));
  }
  .cc-modal{ width:min(100%,560px);max-height:calc(100dvh - 28px); }
}

/* Trial and paid-export entitlement states */
.cc-trial-banner{border-color:#b8c8b1;background:#f4f8f1;}
.cc-premium-tag{display:inline-flex;align-items:center;margin-left:.35rem;padding:.08rem .42rem;border-radius:999px;font-size:.72em;font-weight:700;line-height:1.4;background:#eef2e9;color:#42513b;vertical-align:middle;}
[data-paid-export="true"].is-premium-locked{position:relative;}
[data-paid-export="true"].is-premium-locked::after{content:"🔒";margin-left:.35rem;font-size:.9em;}
#exportAccessNotice{margin-bottom:16px;}
#exportAccessNotice span{display:block;margin-top:4px;}
