.toolkit-preview-link,
.toolkit-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--gold-bright);
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .035em;
}
.toolkit-preview-link { width: 100%; margin-top: 12px; padding: 6px 0 0; }
.toolkit-preview-link:hover { color: #ffe5a8; }
.toolkit-inline-link { margin-top: 28px; padding: 12px 0; color: var(--gold-dark); border-bottom: 1px solid rgba(159,118,39,.24); }

body.toolkit-open { overflow: hidden; }
.toolkit-dialog {
  width: min(1220px, 96vw);
  max-width: none;
  height: min(92vh, 900px);
  max-height: none;
  padding: 0;
  color: #211f1a;
  background: #f7f3ea;
  border: 1px solid rgba(216,173,82,.55);
  border-radius: 8px;
  box-shadow: 0 36px 120px rgba(0,0,0,.65);
  overflow: hidden;
}
.toolkit-dialog::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(7px); }
.toolkit-app { display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; height: 100%; }
.toolkit-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 77px;
  padding: 9px 22px;
  color: #fffaf0;
  background: #080808;
  border-bottom: 1px solid rgba(216,173,82,.38);
}
.toolkit-brand { display: flex; align-items: center; gap: 17px; }
.toolkit-brand img { width: 112px; height: 56px; object-fit: contain; }
.toolkit-brand div { display: flex; flex-direction: column; }
.toolkit-brand span { color: var(--gold); font-size: 7px; font-weight: 800; letter-spacing: .20em; text-transform: uppercase; }
.toolkit-brand strong { margin-top: 3px; font-family: var(--serif); font-size: 19px; }
.toolkit-header-actions { display: flex; align-items: center; gap: 18px; }
.toolkit-save-state { display: inline-flex; align-items: center; gap: 7px; color: #878178; font-size: 9px; }
.toolkit-save-state i { width: 6px; height: 6px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 12px rgba(216,173,82,.65); }
.toolkit-close { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; color: #b8b2a7; background: #121210; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; cursor: pointer; font-size: 25px; font-weight: 300; line-height: 1; }
.toolkit-close:hover { color: var(--gold-bright); border-color: rgba(216,173,82,.48); }

.toolkit-tabs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  background: #100f0d;
  border-bottom: 1px solid rgba(216,173,82,.18);
}
.toolkit-tabs button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 8px; color: #8b867d; background: transparent; border: 0; border-right: 1px solid rgba(255,255,255,.055); cursor: pointer; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.toolkit-tabs button span { color: #5f5b54; font-family: var(--serif); font-size: 11px; }
.toolkit-tabs button.active { color: #161108; background: linear-gradient(135deg, var(--gold-bright), #bb8530); }
.toolkit-tabs button.active span { color: #574016; }

.toolkit-body { overflow-y: auto; overscroll-behavior: contain; padding: 34px clamp(22px,4vw,54px) 42px; background: radial-gradient(circle at 93% 3%, rgba(216,173,82,.12), transparent 19rem), #f8f4ec; }
.tool-panel { display: none; width: min(960px,100%); margin: 0 auto; }
.tool-panel.active { display: block; animation: step-in .3s ease both; }
.tool-panel-heading { display: grid; grid-template-columns: 1fr auto; gap: 34px; align-items: start; margin-bottom: 28px; }
.tool-kicker { margin: 0 0 6px; color: var(--gold-dark); font-size: 8px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.tool-panel-heading h2 { margin: 0 0 9px; color: #100f0d; font-family: var(--serif); font-size: clamp(31px,4vw,47px); line-height: 1; }
.tool-panel-heading > div > p:last-child { max-width: 650px; margin: 0; color: #777168; font-size: 12px; }
.score-gauge, .metric-orb { position: relative; display: flex; align-items: baseline; justify-content: center; width: 104px; height: 104px; padding-top: 29px; color: #17130c; background: conic-gradient(var(--gold) var(--gauge,0%), #e4dccd var(--gauge,0%)); border-radius: 50%; }
.score-gauge::after, .metric-orb::after { content: ""; position: absolute; inset: 6px; z-index: 0; background: #fffdf8; border-radius: 50%; }
.score-gauge span, .score-gauge small, .metric-orb span, .metric-orb small { position: relative; z-index: 1; }
.score-gauge span, .metric-orb span { font-family: var(--serif); font-size: 26px; font-weight: 700; }
.score-gauge small { color: #817a6e; font-size: 8px; }
.metric-orb { flex-direction: column; align-items: center; padding-top: 26px; }
.metric-orb span { font-size: 21px; }
.metric-orb small { color: #817a6e; font-size: 7px; letter-spacing: .05em; text-transform: uppercase; }

.readiness-questions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.readiness-question { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; padding: 13px 14px; background: rgba(255,253,248,.85); border: 1px solid #e0d7c7; border-radius: 4px; }
.readiness-question > span { display: flex; align-items: center; gap: 10px; color: #2a2722; font-size: 10px; font-weight: 700; }
.readiness-question > span i { color: var(--gold-dark); font-family: var(--serif); font-size: 12px; font-style: normal; }
.readiness-question select { width: 116px; min-height: 36px; margin: 0; padding: 6px 8px; color: #302c25; background: #fff; border: 1px solid #d9cfbd; font-size: 9px; }

.calculator-card { padding: 6px 0 0; }
.account-table-head, .account-row { display: grid; grid-template-columns: minmax(115px,1.4fr) 1fr 1fr .9fr 34px; gap: 9px; align-items: center; }
.account-table-head { padding: 0 10px 7px; color: #8e877c; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.account-row { margin-bottom: 8px; padding: 10px; background: #fffdf8; border: 1px solid #ded5c5; border-radius: 4px; }
.account-row label { display: none; }
.account-row input { width: 100%; min-height: 39px; margin: 0; padding: 8px 10px; color: #211e19; background: #faf7f0; border: 1px solid #ded5c5; border-radius: 3px; font-size: 10px; }
.account-row .money-input { position: relative; }
.account-row .money-input::before { content: "$"; position: absolute; left: 9px; top: 8px; z-index: 1; color: #8c8578; font-size: 10px; }
.account-row .money-input input { padding-left: 19px; }
.account-rate { color: #17130c; font-family: var(--serif); font-size: 17px; font-weight: 700; text-align: center; }
.remove-account { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; color: #918a7d; background: transparent; border: 0; cursor: pointer; font-size: 20px; }
.remove-account:hover { color: #8d2c25; }
.add-row-button { margin-top: 5px; padding: 10px 0; color: var(--gold-dark); background: none; border: 0; cursor: pointer; font-size: 10px; font-weight: 800; }
.calculation-note { margin-top: 19px; padding: 13px 15px; color: #6e675d; background: #eee7da; border-left: 3px solid var(--gold); font-size: 10px; }
.calculation-note.positive { color: #315f45; background: #e9f1e9; border-left-color: #4c8d62; }
.calculation-note.warning { color: #7d5420; background: #f7ead5; border-left-color: #c48938; }
.calculation-note.priority { color: #7e3029; background: #f4e2df; border-left-color: #ad4a42; }

.calculator-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 11px; }
.tool-field { padding: 12px 13px; color: #4f4a42; background: #fffdf8; border: 1px solid #ded5c5; border-radius: 4px; font-size: 9px; font-weight: 800; }
.tool-field.featured-input { border-color: rgba(159,118,39,.65); box-shadow: 0 0 0 1px rgba(159,118,39,.08); }
.tool-field > span { display: flex; align-items: center; gap: 7px; margin-top: 7px; color: var(--gold-dark); font-family: var(--serif); font-size: 17px; }
.tool-field input { width: 100%; min-height: 33px; margin: 0; padding: 3px 5px; color: #201d18; background: transparent; border: 0; box-shadow: none; font-family: var(--serif); font-size: 19px; }
.tool-field input:focus { box-shadow: none; }
.cashflow-breakdown { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 16px; background: #0d0d0b; border: 1px solid #242017; }
.cashflow-breakdown span { display: flex; flex-direction: column; padding: 15px; }
.cashflow-breakdown span + span { border-left: 1px solid rgba(216,173,82,.16); }
.cashflow-breakdown small { color: #817b72; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.cashflow-breakdown b { margin-top: 4px; color: var(--gold-bright); font-family: var(--serif); font-size: 20px; }

.document-selectors { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.document-selectors label { color: #4d483f; font-size: 9px; font-weight: 800; }
.document-selectors select { margin-top: 6px; background: #fffdf8; }
.document-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.document-item { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; color: #35312b; background: #fffdf8; border: 1px solid #e0d7c7; border-radius: 4px; cursor: pointer; font-size: 10px; font-weight: 600; }
.document-item input { margin-top: 2px; accent-color: var(--gold-dark); }
.document-item:has(input:checked) { color: #6e695f; background: #ede8dd; text-decoration: line-through; }

.resource-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.resource-grid a { position: relative; display: flex; flex-direction: column; min-height: 132px; padding: 17px; background: #fffdf8; border: 1px solid #ded5c5; border-radius: 4px; transition: transform .2s ease,border .2s ease; }
.resource-grid a::after { content: "↗"; position: absolute; right: 14px; top: 12px; color: var(--gold-dark); }
.resource-grid a:hover { transform: translateY(-2px); border-color: var(--gold-dark); }
.resource-grid span { color: var(--gold-dark); font-size: 7px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.resource-grid b { margin-top: 12px; color: #201d18; font-family: var(--serif); font-size: 14px; line-height: 1.2; }
.resource-grid small { margin-top: 7px; color: #817a70; font-size: 9px; line-height: 1.5; }
.resource-disclaimer { margin: 16px 0 0; color: #898278; font-size: 8px; }

.toolkit-dashboard { padding: 0; color: #f7f2e8; background: #0b0b0a; }
.toolkit-metrics { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid rgba(216,173,82,.18); }
.toolkit-metrics span { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 42px; padding: 8px 16px; }
.toolkit-metrics span + span { border-left: 1px solid rgba(255,255,255,.06); }
.toolkit-metrics small { color: #6f6a62; font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.toolkit-metrics b { color: var(--gold-bright); font-size: 9px; }
.toolkit-recommendation { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; padding: 13px 18px; }
.toolkit-recommendation p { display: flex; flex-direction: column; margin: 0; }
.toolkit-recommendation p span { color: var(--gold); font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.toolkit-recommendation p strong { margin-top: 2px; font-family: var(--serif); font-size: 14px; }
.toolkit-recommendation p small { color: #79746c; font-size: 8px; }
.toolkit-recommendation > div { display: flex; align-items: center; gap: 8px; }
.toolkit-recommendation .button { min-height: 38px; padding: 7px 12px; font-size: 9px; }
.toolkit-reset { padding: 8px; color: #7d776f; background: none; border: 0; cursor: pointer; font-size: 8px; font-weight: 700; }

@media (max-width: 860px) {
  .toolkit-dialog { width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  .toolkit-tabs { display: flex; overflow-x: auto; }
  .toolkit-tabs button { flex: 0 0 124px; }
  .readiness-questions, .document-checklist { grid-template-columns: 1fr; }
  .resource-grid { grid-template-columns: repeat(2,1fr); }
  .toolkit-recommendation { grid-template-columns: 1fr; }
  .toolkit-recommendation > div { justify-content: flex-end; }
}

@media (max-width: 580px) {
  .toolkit-header { min-height: 66px; padding: 7px 12px; }
  .toolkit-brand img { width: 82px; height: 48px; }
  .toolkit-brand span, .toolkit-save-state { display: none; }
  .toolkit-brand strong { font-size: 14px; }
  .toolkit-body { padding: 25px 15px 34px; }
  .tool-panel-heading { grid-template-columns: 1fr; gap: 14px; }
  .score-gauge, .metric-orb { width: 82px; height: 82px; padding-top: 20px; }
  .metric-orb { padding-top: 18px; }
  .readiness-question { grid-template-columns: 1fr; gap: 8px; }
  .readiness-question select { width: 100%; }
  .account-table-head { display: none; }
  .account-row { grid-template-columns: 1fr 1fr; }
  .account-row > input:first-child { grid-column: 1 / -1; }
  .account-rate { text-align: left; }
  .remove-account { justify-self: end; }
  .calculator-grid, .document-selectors, .resource-grid { grid-template-columns: 1fr; }
  .cashflow-breakdown { grid-template-columns: 1fr; }
  .cashflow-breakdown span + span { border-left: 0; border-top: 1px solid rgba(216,173,82,.16); }
  .toolkit-metrics { grid-template-columns: repeat(2,1fr); }
  .toolkit-metrics span:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.06); }
  .toolkit-metrics span:nth-child(4) { border-top: 1px solid rgba(255,255,255,.06); }
  .toolkit-recommendation > div { display: grid; grid-template-columns: auto 1fr; }
  .toolkit-recommendation .button-gold { grid-column: 1 / -1; }
}
