/* Brand presentation. The supplied logo remains an unmodified image asset. */
:root {
  --navy: #15283d;
  --ink: #263449;
  --muted: #686762;
  --gold: #ad8d57;
  --line: #ded9cf;
  --cream: #f6f0e7;
  --green: #15283d;
  --white: #fffdf9;
  --gold-ink: #82663c;
  --field-border: #d5ccbe;
}

.masthead { background: var(--cream); border-bottom: 1px solid var(--gold); }
.masthead-inner { justify-content: space-between; min-height: 140px; padding-top: 12px; padding-bottom: 12px; gap: 24px; }
.brand-image { width: 455px; max-width: calc(100% - 220px); }
.brand-logo { aspect-ratio: 2048 / 520; mix-blend-mode: darken; }
.masthead-inner > .private-badge { position: static; transform: none; flex-shrink: 0; }
.private-badge { background: #fcf7ef; border-color: var(--gold); color: var(--navy); }
.private-badge .icon { color: var(--gold-ink); }
.eyebrow, .eyebrow span { color: var(--gold-ink); }
h1 { font-weight: 600; font-size: 40px; }
.page-heading p { color: var(--muted); }

.btn-outline, #example { background: var(--white); color: var(--gold-ink); border: 1px solid var(--gold); }
.btn-outline:hover, #example:hover { background: #f3eadc; border-color: var(--gold-ink); }
#export { color: var(--navy); border-color: var(--field-border); }
.btn-quiet { color: var(--muted); }
.btn-quiet:hover { background: #eee5d8; }
.btn-install, .btn-primary { background: var(--navy); color: #fffaf3; border-color: var(--navy); }
.btn-install:hover, .btn-primary:hover { background: #243c55; }
.print-btn { background: var(--white); color: var(--navy); border-color: var(--field-border); }
.print-btn:hover { background: #eee5d8; color: var(--navy); }
.icon-btn { color: #8a8175; }
input:focus-visible { outline-color: #ad8d5766; border-color: var(--gold); }

.case-strip { background: #f3ecdf; border-color: var(--line); }
.case-symbol, .case-strip label { color: var(--gold-ink); }
.case-strip label { font-size: 9px; }
.case-strip input::placeholder { color: #898173; }
.case-date { border-left-color: #d9c8a9; }
.case-date { width: 235px; flex-shrink: 0; }
.case-date #analysis-date { font-size: 14px; font-variant-numeric: tabular-nums; height: 27px; }
.case-date #analysis-date:not([readonly]) { background: var(--white); border: 1px solid var(--field-border); padding: 3px 7px; height: 33px; }
.case-date #analysis-date[aria-invalid=true] { border: 1px solid #cf867e; background: #fffafa; }
.case-date .analysis-date-mode { display: flex; align-items: center; gap: 6px; margin: 5px 0; font-size: 10px; font-weight: 400; letter-spacing: 0; color: var(--navy); cursor: pointer; }
.case-date .analysis-date-mode input { width: 13px; height: 13px; margin: 0; padding: 0; flex-shrink: 0; }
#analysis-date-context { display: block; color: var(--muted); font-size: 9px; line-height: 1.5; }
.metric { background: var(--white); border-color: var(--line); }
.metric-label, .metric-detail, .metric-count strong span { color: var(--muted); }
.metric-label { font-size: 12px; }
.metric > strong, .support-result > strong { font-family: Georgia, 'Times New Roman', serif; color: var(--navy); }
.currency-tag { background: #f2eade; color: var(--gold-ink); }
.metric-total { background: var(--navy); border-color: var(--navy); }
.metric-total::after { display: none; }
.metric-total .metric-label, .metric-total .metric-detail { color: #e0d9cf; }
.metric-total .metric-label .icon { color: #c5aa79; }
.metric-total > strong { color: #fffaf3; }

.payment-panel { background: #f8f2e9; border-color: #d9c8a9; }
.payment-intro .eyebrow { color: var(--gold-ink); font-size: 9px; }
.payment-intro h2, .card-toolbar h2, .support-top h2 { color: var(--navy); font: 400 24px/1.3 Georgia, 'Times New Roman', serif; }
.payment-intro p, .class-terms-heading p, .payment-total > span, .payment-total small { color: var(--muted); }
.payment-term label, .class-term-field > label { color: var(--navy); }
.payment-term label span, .class-term-field > label > span, .class-term-field > small { color: var(--muted); }
.payment-term input, .class-term-field > input { border-color: var(--field-border); background: var(--white); }
.class-term-field > label { font-size: 11px; }
.class-term-field > small { font-size: 9px; }
.class-term-field > input::placeholder { color: #8c857b; }
.payment-term #apply-general-term { background: var(--white); font-size: 10px; }
.payment-total { border-left-color: #d9c8a9; }
.payment-total output { color: var(--navy); }
.class-terms-section { border-top-color: var(--gold); }
.class-terms-heading h3 { color: var(--navy); }

.creditors-card { border-color: var(--line); background: var(--white); box-shadow: none; }
.card-toolbar h2 > span { background: #f2eade; color: var(--gold-ink); font-family: Arial, Helvetica, sans-serif; }
.card-toolbar p, .toggle, .priority-tools > span { color: var(--muted); }
.switch { background: #d8d2c7; }
.toggle input:checked + .switch { background: var(--navy); }
input[type=checkbox] { accent-color: var(--navy); }
.priority-guide { background: #f8f2e9; border-color: var(--line); color: var(--muted); }
.priority-guide summary, .priority-guide dt { color: var(--navy); }
.priority-guide a, .method-card a { color: var(--gold-ink); }
th { background: #f2eade; border-color: #e5dacb; color: var(--navy); font-size: 10px; }
th span, .support-col > span { color: var(--muted); }
td { border-bottom-color: #e9e1d7; }
td input:not([type=checkbox]) { border-color: var(--field-border); background: var(--white); }
td input[aria-invalid=true], .payment-term input[aria-invalid=true], .class-term-field > input[aria-invalid=true] { border-color: #cf867e; background: #fffafa; }
td input::placeholder, .capital-wrap > span { color: #8c857b; }
.row-selected { background: #fcf6e9; }
.row-number, .number-col { color: #8a8175; }
.credit-priority-line { color: var(--muted); }
.credit-priority-line select { background: #fcf7ef; border-color: var(--line); color: var(--navy); }
.payment-hint { color: var(--muted); }
tfoot td { background: #f6efe5; border-color: #e5dacb; }
.btn-add { background: var(--white); color: var(--gold-ink); border-color: var(--gold); }
.btn-add:hover { background: #f3eadc; }
.save-state { color: var(--muted); }
.save-state > span { background: var(--gold); }
.priority-summary-item { background: #fcf7ef; border-color: var(--line); }
.priority-summary-item > span, .priority-summary-item > small, .priority-payment > span, .priority-payment > small, .priority-payment > .priority-term-detail { color: var(--muted); }
.priority-summary-item > strong, .priority-payment > strong { color: var(--navy); }
.priority-summary-item > .priority-capital-label { color: var(--gold-ink); }
.priority-unclassified { background: #f8efdd; border-color: #ddc69f; }
.priority-payment, .priority-unclassified .priority-payment { border-top-color: #e0d4c0; }

.support-card, .method-card { border-color: var(--line); background: var(--white); }
.method-card { background: #f8f2e9; }
.support-top .eyebrow { color: var(--gold-ink); }
.support-icon { color: var(--gold-ink); background: #f2e6d4; border-color: #e5d4b8; }
.support-card > p, .support-result > span, .support-result > strong span, .support-bottom { color: var(--muted); }
.support-card > p strong, .support-bottom strong { color: var(--navy); }
.support-bottom { border-top-color: #e9e1d7; }
.progress-track { background: #e9e1d3; }
.progress-track > span { background: var(--gold); }
.method-heading .icon, .method-card a { color: var(--gold-ink); }
.method-heading h2 { color: var(--navy); font: 600 20px/1.3 Georgia, 'Times New Roman', serif; }
.formula, .formula b, .method-card > p, details, summary { color: var(--muted); }
.formula-line { background: #c4b392; }
.page-footer .icon { color: var(--gold-ink); }
.page-footer p, .page-footer p strong, .app-availability, #app-state { color: var(--muted); }
.offline-indicator { background: var(--gold); }
dialog { background: var(--white); border-color: var(--line); }
.install-platform-label { color: var(--navy); }
#installation-platform { background: #fcf7ef; border-color: var(--field-border); }
#install-dialog ol, #install-dialog .install-note { color: var(--muted); }

@media (max-width: 1050px) {
  .masthead-inner { min-height: 126px; }
  .brand-image { width: 400px; max-width: calc(100% - 210px); }
  h1 { font-size: 36px; }
  .payment-intro h2 { font-size: 22px; }
}
@media (max-width: 760px) {
  .masthead-inner { min-height: 105px; padding: 14px 20px; gap: 12px; }
  .brand-image { width: 300px; max-width: calc(100% - 44px); }
  .private-badge { width: 32px; height: 32px; padding: 8px; justify-content: center; }
  h1 { font-size: 32px; }
  .payment-intro h2, .card-toolbar h2, .support-top h2 { font-size: 21px; }
  .metric-label { font-size: 11px; }
  .heading-actions #install-app { order: 1; margin-top: 0; }
  .heading-actions #example { order: 2; margin-left: 0; }
  .heading-actions #export { order: 3; }
  .heading-actions #print { order: 4; }
  .case-date { max-width: calc(100% - 33px); }
}
@media print {
  body, .masthead { background: #fff; }
  .masthead-inner { min-height: 105px; padding: 10px 0; }
  .brand-image { width: 360px; max-width: calc(100% - 180px); }
  .metric-total { background: #f3ecdf !important; }
  .metric-total > strong, .metric-total .metric-label, .metric-total .metric-detail { color: var(--navy); }
  .payment-intro h2, .card-toolbar h2, .support-top h2 { font-size: 19px; }
  td input:not([type=checkbox]), .payment-term input, .class-term-field > input { background: transparent; border: 0; }
  .credit-priority-line select { background: transparent; border: 0; }
  .method-card { background: #fff; }
  .case-date .analysis-date-mode, #analysis-date-error { display: none; }
}
