.maximum-page .tool-hero { padding-bottom: 54px; }
.maximum-page .calculator-workspace { padding-top: 58px; }
.calculator-workspace { padding-bottom: 88px; background: var(--white); }
.calculator-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); gap: 14px; align-items: start; min-width: 0; }.calculator-grid > * { min-width: 0; }
.input-panel { padding: 25px 27px 27px; border: 1px solid var(--line); background: var(--paper); }.input-group + .input-group { margin-top: 30px; padding-top: 27px; border-top: 1px solid var(--line); }.input-group-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }.input-group-heading h3 { margin: 0; font-size: 18px; letter-spacing: -.04em; }.group-number { color: var(--coral); font: 10px 'DM Mono', monospace; }.group-note { max-width: 510px; margin: -8px 0 20px; color: var(--muted); font-size: 11px; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; min-width: 0; }.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }.field label { color: var(--muted); font: 9px 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }.field input, .field select { width: 100%; min-height: 41px; padding: 9px 10px; border: 1px solid #c9cbc3; border-radius: 0; outline: 0; background: var(--white); color: var(--ink); font: 600 13px 'Manrope', sans-serif; }.field input:focus, .field select:focus { border-color: var(--teal); box-shadow: 0 0 0 2px rgba(13,92,92,.12); }.field input.input-error { border-color: var(--coral); background: #fff5f1; }.field-error { min-height: 14px; margin: -3px 0 0; color: var(--coral); font-size: 10px; }.field-error:empty { display: none; }.input-with-symbol, .input-with-suffix { display: flex; align-items: stretch; min-width: 0; }.input-with-symbol span, .input-with-suffix span { display: grid; place-items: center; min-width: 34px; border: 1px solid #c9cbc3; border-right: 0; background: var(--cream); color: var(--muted); font: 12px 'DM Mono', monospace; }.input-with-suffix span { border-right: 1px solid #c9cbc3; border-left: 0; }.input-with-symbol input, .input-with-suffix input { min-width: 0; width: 1px; flex: 1 1 auto; }.input-with-suffix input { border-right: 0; }
.field label.has-help::after { content: 'Target profit margin as a percentage of selling price.'; display: block; margin-top: 5px; color: var(--muted); font: 9px 'Manrope', sans-serif; letter-spacing: 0; text-transform: none; }
.result-panel { position: sticky; top: 20px; padding: 28px 27px 27px; background: var(--teal-dark); color: var(--white); }.result-panel-heading .eyebrow { color: #f7a08d; }.result-panel h2 { margin: 0 0 27px; font-size: clamp(32px, 3.5vw, 47px); }.result-primary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 19px 0; border-top: 1px solid rgba(255,253,248,.25); border-bottom: 1px solid rgba(255,253,248,.25); }.result-primary div { display: grid; gap: 7px; }.result-primary div + div { padding-left: 17px; border-left: 1px solid rgba(255,253,248,.25); }.result-primary span, .result-metrics span, .margin-visual-heading span, .target-callout > span { color: rgba(255,253,248,.6); font: 9px 'DM Mono', monospace; letter-spacing: .08em; }.result-primary strong { color: var(--white); font-size: clamp(22px, 2.4vw, 32px); letter-spacing: -.06em; }.result-status { min-height: 19px; margin: 16px 0 20px; color: #f7a08d; font-size: 11px; }.target-callout { display: grid; gap: 5px; margin-bottom: 22px; padding: 15px 16px; border-left: 3px solid var(--coral); background: rgba(255,253,248,.08); }.target-callout strong { color: var(--white); font-size: 22px; letter-spacing: -.05em; }.target-callout small { color: rgba(255,253,248,.6); font-size: 10px; }.result-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; padding: 20px 0; border-top: 1px solid rgba(255,253,248,.2); border-bottom: 1px solid rgba(255,253,248,.2); }.result-metrics div { display: grid; gap: 6px; }.result-metrics strong { font-size: 17px; letter-spacing: -.04em; }.margin-visual { margin-top: 22px; }.margin-visual-heading { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 10px; }.margin-visual-heading span:last-child { color: #f7a08d; }.margin-bar { display: flex; height: 10px; gap: 3px; background: rgba(255,253,248,.12); }.margin-bar span { min-width: 0; }.margin-bar #supplier-bar { background: #0d8b83; }.margin-bar #cost-bar { background: #d6a64b; }.margin-bar #profit-bar { background: var(--coral); }.margin-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 11px; color: rgba(255,253,248,.62); font-size: 9px; }.margin-legend i { display: inline-block; width: 6px; height: 6px; margin-right: 4px; border-radius: 50%; }.legend-supplier { background: #0d8b83; }.legend-cost { background: #d6a64b; }.legend-profit { background: var(--coral); }
.fee-detail { margin-top: 16px; padding: 11px 13px; border-left: 2px solid #d6a64b; background: rgba(255,253,248,.06); color: rgba(255,253,248,.7); font-size: 10px; line-height: 1.5; }
.formula-section { padding: 96px 0 104px; background: var(--cream); }.formula-grid, .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }.formula-grid h2, .faq-grid h2, .related-tools h2 { margin: 0; font-size: clamp(36px, 4vw, 52px); }.formula-copy { max-width: 490px; color: var(--muted); font-size: 14px; }.formula-copy > p:first-child { margin-top: 7px; }.formula-card { display: grid; gap: 7px; margin: 18px 0; padding: 15px 17px; border-left: 2px solid var(--coral); background: var(--white); }.formula-card strong { color: var(--ink); font-size: 12px; }.formula-card span { color: var(--teal); font: 10px 'DM Mono', monospace; line-height: 1.5; }.formula-footnote { font-size: 11px; }.faq-section { padding: 96px 0 104px; background: var(--white); }.faq-intro { max-width: 300px; margin-top: 25px; color: var(--muted); font-size: 13px; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { padding: 18px 0; border-bottom: 1px solid var(--line); }.faq-list summary { cursor: pointer; color: var(--ink); font-size: 14px; font-weight: 800; }.faq-list p { max-width: 510px; margin: 12px 0 0; color: var(--muted); font-size: 12px; }.related-tools { padding: 78px 0 96px; background: var(--paper); }.related-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 35px; }.related-links a { position: relative; min-height: 150px; padding: 24px 28px; background: var(--white); transition: transform .2s ease, background .2s ease; }.related-links a:hover { background: var(--cream); transform: translateY(-3px); }.related-links span { display: block; color: var(--coral); font: 10px 'DM Mono', monospace; }.related-links strong { display: block; margin-top: 20px; color: var(--ink); font-size: 17px; letter-spacing: -.04em; }.related-links small { display: block; max-width: 280px; margin-top: 7px; color: var(--muted); font-size: 11px; }.related-links b { position: absolute; right: 24px; bottom: 20px; color: var(--coral); font-size: 20px; }
@media (max-width: 900px) { .calculator-grid { grid-template-columns: 1fr; }.result-panel { position: static; }.formula-grid, .faq-grid { gap: 45px; }.related-links { grid-template-columns: 1fr 1fr; } }
@media (max-width: 800px) { .maximum-page .tool-hero { padding-bottom: 63px; }.maximum-page .calculator-workspace { padding-top: 62px; }.calculator-workspace { padding-bottom: 70px; }.input-panel, .result-panel { padding: 22px 18px; }.workspace-actions { justify-content: start; }.example-note { text-align: left; }.formula-section, .faq-section { padding: 72px 0 80px; }.related-tools { padding: 65px 0 75px; } }
@media (max-width: 470px) { .field-grid { grid-template-columns: 1fr; }.result-primary { grid-template-columns: 1fr; }.result-primary div + div { padding: 15px 0 0; border-top: 1px solid rgba(255,253,248,.25); border-left: 0; }.result-metrics { grid-template-columns: 1fr; }.formula-grid, .faq-grid, .related-links { display: block; }.formula-copy, .faq-list { margin-top: 30px; }.related-links a + a { margin-top: 12px; }.target-callout strong { font-size: 20px; }.margin-legend { line-height: 1.8; } }
