/* Profit Studio v0.37: responsive native SVG, staged inputs and comparison. */
.profit-calculator{
 --ps-bg:#f5f7fb;--ps-card:#fff;--ps-ink:#172c48;--ps-muted:#5f718a;--ps-line:#dce4ef;
 --ps-blue:#2459b7;--ps-blue-soft:#edf3ff;--ps-green:#08785c;--ps-green-soft:#e7f6ef;
 --ps-red:#b13d3e;--ps-red-soft:#fff0ed;--ps-gold:#936316;--ps-purple:#7850b8;
 color:var(--ps-ink);font-variant-numeric:tabular-nums;
}
.profit-calculator [hidden]{display:none!important}
.profit-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 0 26px;border-bottom:1px solid var(--ps-line);margin-bottom:26px}
.profit-hero h2{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-1.6px;color:var(--ps-ink);margin:10px 0 12px}
.profit-hero p{font-size:13px;line-height:1.7;max-width:570px;color:var(--ps-muted);margin:0}
.profit-hero .eyebrow{color:var(--ps-blue);letter-spacing:2px;font-size:12px;font-weight:800}
.profit-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;max-width:340px}
.profit-scenario-badge{flex-basis:100%;text-align:right;font-size:12px;color:var(--ps-muted);margin-bottom:4px}
.profit-header-actions .button,.profit-header-actions .primary{min-height:42px;white-space:nowrap;font-size:12px}
.profit-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;align-items:start}
.profit-inputs{min-width:0;background:var(--ps-card);border:1px solid var(--ps-line);border-radius:18px;padding:0;overflow:hidden;box-shadow:0 5px 16px #132c4d04}
.profit-input-heading{padding:24px 23px 20px;background:var(--ps-bg)}
.profit-input-heading .eyebrow{font-size:12px;letter-spacing:1.5px;color:var(--ps-blue);margin:0 0 10px}
.profit-input-heading h3{font-size:20px;letter-spacing:-.5px;color:var(--ps-ink);margin:0 0 9px}
.profit-input-heading p:not(.eyebrow){font-size:12px;line-height:1.7;color:var(--ps-muted);margin:0}
.profit-input-section{border-top:1px solid var(--ps-line)}
.profit-input-section>summary{position:relative;list-style:none;cursor:pointer;padding:20px 23px;min-height:44px}
.profit-input-section>summary::-webkit-details-marker{display:none}
.profit-input-section>summary:after{content:'+';position:absolute;right:22px;top:22px;color:var(--ps-muted);font-size:19px;line-height:1}
.profit-input-section[open]>summary:after{content:'−'}
.profit-input-section>summary>span{display:flex;gap:11px;align-items:center;padding-right:16px}
.profit-input-section>summary b{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--ps-blue-soft);color:var(--ps-blue);font-size:12px;letter-spacing:.2px}
.profit-input-section:nth-of-type(2)>summary b{background:var(--ps-green-soft);color:var(--ps-green)}
.profit-input-section:nth-of-type(3)>summary b{background:var(--ps-red-soft);color:var(--ps-red)}
.profit-input-section>summary strong{font-size:13px;font-weight:750}
.profit-input-section>summary small{display:block;margin:9px 0 0 37px;font-size:12px;line-height:1.5;color:var(--ps-muted)}
.profit-input-section[open]>summary{padding-bottom:6px}
.profit-input-group{border:0;padding:0 23px 22px;margin:0;min-width:0}
.profit-field{display:block;margin:17px 0;font-size:12px;line-height:1.6;font-weight:650;color:var(--ps-ink)}
.profit-input-control{display:block;position:relative;margin-top:7px}
.profit-field input,.profit-field select{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:11px 32px 11px 13px;border:1px solid var(--ps-line);border-radius:9px;background:var(--ps-bg);color:var(--ps-ink);font:inherit;font-size:16px;font-weight:550;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}
.profit-field input:hover,.profit-field select:hover{border-color:var(--ps-blue)}
.profit-field input:focus,.profit-field select:focus{border-color:var(--ps-blue);box-shadow:0 0 0 3px var(--ps-blue-soft)}
.profit-field select{margin-top:7px;padding-right:8px;font-size:12px;font-weight:550}
.profit-input-unit{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--ps-muted);pointer-events:none}
.profit-field small{display:block;margin-top:7px;font-size:12px;line-height:1.65;font-weight:400;color:var(--ps-muted)}
.profit-field-error{display:block;color:var(--ps-red);font-size:12px;font-weight:500;line-height:1.6;margin-top:7px}
.profit-field [aria-invalid=true]{border-color:var(--ps-red);background:var(--ps-red-soft)}
.profit-extra{padding-top:12px;margin-top:18px;border-top:1px dashed var(--ps-line)}
.profit-extra summary{font-size:12px;line-height:1.7;cursor:pointer;font-weight:650;color:var(--ps-blue)}
.profit-horizon{display:grid;grid-template-columns:1fr auto;gap:10px;margin:24px 0 12px;font-size:12px;font-weight:650}
.profit-horizon input{grid-column:1/-1;grid-row:2;accent-color:var(--ps-blue);width:100%;min-height:26px;margin:0}
.profit-horizon output{grid-column:2;grid-row:1;color:var(--ps-blue)}
.profit-periods,.profit-growth-presets{display:flex;gap:6px}
.profit-periods .button,.profit-growth-presets .button{flex:1;min-width:0;min-height:34px;padding:7px 3px;font-size:12px;background:var(--ps-card);border:1px solid var(--ps-line);color:var(--ps-muted);border-radius:7px;box-shadow:none}
.profit-periods [aria-pressed=true]{background:var(--ps-blue-soft);color:var(--ps-blue);border-color:var(--ps-blue)}
.profit-growth-presets{margin-top:-5px}
.profit-input-actions{display:flex;gap:8px;padding:20px 23px 0;border-top:1px solid var(--ps-line)}
.profit-input-actions .button{flex:1;min-height:38px;padding:8px;font-size:12px;color:var(--ps-muted)}
.profit-memory,.profit-feedback{font-size:12px;line-height:1.65;color:var(--ps-muted);padding:0 23px;margin:13px 0}
.profit-feedback{margin-bottom:22px}.profit-return{display:none!important}
.profit-results{min-width:0}
.profit-inputs,.profit-chart-scroll{scroll-margin-top:100px}
.profit-flow{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px;margin-bottom:22px}
.profit-flow-card{min-width:0;border:1px solid var(--ps-line);border-radius:16px;background:var(--ps-card);box-shadow:none;padding:21px 20px;position:relative;overflow:hidden}
.profit-flow-card>span{font-size:12px;font-weight:750;letter-spacing:.8px;text-transform:uppercase;color:var(--ps-muted)}
.profit-flow-card strong{display:block;font-size:clamp(23px,2.3vw,32px);font-weight:700;letter-spacing:-1px;line-height:1.3;margin:15px 0 10px;overflow-wrap:anywhere;color:var(--ps-ink)}
.profit-flow-card small{display:block;font-size:12px;line-height:1.65;color:var(--ps-muted)}
.profit-flow-card[data-tone=sales]{border-top:3px solid var(--ps-blue);padding-top:19px}
.profit-flow-card[data-tone=invest]{border-top:3px solid var(--ps-purple);padding-top:19px}
.profit-flow-card[data-tone=profit]{background:#163e47;border-color:#163e47;color:#fff;box-shadow:0 8px 22px #163e4717}
.profit-flow-card[data-tone=profit]>span{color:#b5dfd8}.profit-flow-card[data-tone=profit] strong{color:#d1fae7}.profit-flow-card[data-tone=profit] small{color:#c0dcd7}
.profit-flow-card[data-negative=true]{background:#593733;border-color:#593733}.profit-flow-card[data-negative=true]>span,.profit-flow-card[data-negative=true] small{color:#f1c9bf}.profit-flow-card[data-negative=true] strong{color:#ffe1d4}
.profit-view-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}
.profit-view-tabs{display:flex;gap:4px;background:var(--ps-bg);padding:4px;border:1px solid var(--ps-line);border-radius:11px}
.profit-view-tabs .button{min-height:36px;border:0;box-shadow:none;font-size:12px;padding:8px 14px;background:transparent;color:var(--ps-muted)}
.profit-view-tabs [aria-selected=true]{background:var(--ps-card);color:var(--ps-ink);box-shadow:0 2px 5px #172c480b}
.profit-view-nav>.button{font-size:12px;min-height:38px;padding:8px 12px;color:var(--ps-blue);border-color:var(--ps-line)}
.profit-chart-panel{background:var(--ps-card);border:1px solid var(--ps-line);border-radius:18px;padding:24px 22px 20px;min-width:0;box-shadow:0 6px 18px #132c4d04}
.profit-chart-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.profit-chart-heading .eyebrow{font-size:12px;color:var(--ps-blue);letter-spacing:1.5px;margin:0 0 8px}
.profit-chart-heading h3{font-size:22px;letter-spacing:-.6px;color:var(--ps-ink);margin:0 0 7px}
.profit-chart-heading p:not(.eyebrow){font-size:12px;line-height:1.65;color:var(--ps-muted);margin:0}
.profit-chart-controls{display:flex;gap:3px;border:1px solid var(--ps-line);background:var(--ps-bg);border-radius:8px;padding:3px}
.profit-chart-controls .button{border:0;background:transparent;color:var(--ps-muted);font-size:12px;min-height:36px;padding:6px 9px;border-radius:5px}
.profit-chart-controls [aria-pressed=true]{background:var(--ps-card);color:var(--ps-blue);box-shadow:0 1px 4px #172c4810}
.profit-legend{display:flex;flex-wrap:wrap;gap:9px 16px;list-style:none;padding:0;margin:21px 0 8px;color:var(--ps-muted);font-size:12px}
.profit-legend li{display:flex;align-items:center;gap:7px}.profit-legend li:before{content:'';width:17px;border-top:3px solid var(--ps-blue)}
.profit-legend [data-tone=costs]:before{border-color:var(--ps-gold);border-top-style:dashed}.profit-legend [data-tone=profit]:before{border-color:var(--ps-green)}.profit-legend [data-tone=pinned]:before{border-color:var(--ps-purple);border-top-style:dotted}
.profit-chart-scroll{width:100%;min-width:0;border-radius:9px;overflow:hidden}
.profit-chart-scroll svg{display:block;width:100%;height:auto;min-width:0;font-family:inherit;cursor:crosshair}
.profit-grid-line{stroke:var(--ps-line);stroke-width:1;stroke-dasharray:2 5}.profit-axis{fill:var(--ps-muted);font-size:12px}.profit-zero{stroke:var(--ps-muted);stroke-width:1;stroke-dasharray:4 4;opacity:.65}
.profit-line{stroke-linejoin:round;stroke-linecap:round;stroke-width:2.2}.profit-line.sales{stroke:var(--ps-blue)}.profit-line.costs{stroke:var(--ps-gold);stroke-dasharray:7 5}.profit-line.profit{stroke:var(--ps-green);stroke-width:3.3}.profit-line.pinned{stroke:var(--ps-purple);stroke-width:2.4;stroke-dasharray:2 6;opacity:.8}
.profit-gradient-gain{stop-color:var(--ps-green)}.profit-gradient-loss{stop-color:var(--ps-red)}.profit-area{pointer-events:none}.profit-cursor{stroke:var(--ps-blue);stroke-width:1;stroke-dasharray:3 5;opacity:.5}.profit-point{stroke:var(--ps-card);stroke-width:2.5}.profit-point.sales{fill:var(--ps-blue)}.profit-point.costs{fill:var(--ps-gold)}.profit-point.profit{fill:var(--ps-green)}
.profit-break-line{stroke:var(--ps-green);stroke-width:1;stroke-dasharray:2 5;opacity:.6}.profit-break-badge{fill:var(--ps-green-soft);stroke:var(--ps-line)}.profit-break-text{fill:var(--ps-green);font-size:12px;font-weight:700}
.profit-inspect-actions{display:flex;align-items:center;gap:12px;border-top:1px solid var(--ps-line);padding-top:15px;margin-top:5px}
.profit-inspect-actions>.button{width:34px;min-height:34px;padding:5px;flex:none;border:1px solid var(--ps-line);color:var(--ps-blue);font-size:16px}
.profit-inspect{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;flex:1;min-width:0;white-space:nowrap}
.profit-inspect input{flex:1;min-width:30px;min-height:24px;accent-color:var(--ps-blue)}
.profit-break-jump{display:block;border:0;background:none;color:var(--ps-green);font-size:12px;font-weight:650;padding:9px 0;margin-left:auto;cursor:pointer}
.profit-month-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:12px;padding:17px 18px;background:var(--ps-bg);border:1px solid var(--ps-line);border-radius:11px}
.profit-month-readout>strong{grid-column:1/-1;font-size:12px;color:var(--ps-ink)}.profit-month-readout>div{display:grid;gap:6px;min-width:0}.profit-month-readout span{font-size:12px;color:var(--ps-muted)}.profit-month-readout b{font-size:15px;font-weight:700;color:var(--ps-ink);overflow-wrap:anywhere}.profit-month-readout [data-tone=profit] b{color:var(--ps-green)}
.profit-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.profit-outcomes article{border:1px solid var(--ps-line);border-radius:13px;padding:19px 20px;background:var(--ps-card);box-shadow:none;min-width:0}
.profit-outcomes span{font-size:12px;font-weight:650;color:var(--ps-muted)}.profit-outcomes strong{display:block;font-size:23px;line-height:1.35;letter-spacing:-.6px;overflow-wrap:anywhere;margin:10px 0 8px;color:var(--ps-ink)}.profit-outcomes small{display:block;font-size:12px;color:var(--ps-muted);line-height:1.65}
.profit-warning{background:var(--ps-red-soft);border:1px solid var(--ps-line);border-radius:12px;color:var(--ps-red);padding:15px 18px;margin-top:16px;font-size:12px;line-height:1.7}
.profit-comparison{margin-top:16px;border:1px solid var(--ps-line);border-left:3px solid var(--ps-purple);border-radius:14px;background:var(--ps-card);padding:22px}
.profit-comparison-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.profit-comparison .eyebrow{font-size:12px;letter-spacing:1.3px;color:var(--ps-purple);margin:0 0 8px}.profit-comparison h3{font-size:18px;letter-spacing:-.3px;margin:0}.profit-comparison-head .button{font-size:12px;min-height:36px;padding:6px 10px}.profit-comparison-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:21px 0 16px}.profit-comparison-values>div{display:grid;gap:9px;min-width:0}.profit-comparison-values span{font-size:12px;color:var(--ps-muted)}.profit-comparison-values strong{font-size:19px;color:var(--ps-ink);overflow-wrap:anywhere}.profit-comparison p.muted{font-size:12px;line-height:1.7;margin:0;color:var(--ps-muted)}.profit-comparison>.button{margin-top:16px;font-size:12px}
.profit-monthly,.profit-method{background:var(--ps-card);border:1px solid var(--ps-line);border-radius:16px;padding:23px;min-width:0}
.profit-monthly h3{font-size:21px;letter-spacing:-.5px;margin:0 0 14px;color:var(--ps-ink)}
.profit-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 20px}.profit-table-toolbar p{font-size:12px;color:var(--ps-muted);margin:0}.profit-table-toolbar .button{font-size:12px;white-space:nowrap}.profit-table-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}
.profit-monthly table{width:100%;min-width:600px;border-collapse:collapse;font-size:12px;color:var(--ps-ink);font-variant-numeric:tabular-nums}.profit-monthly th,.profit-monthly td{padding:13px 11px;border-bottom:1px solid var(--ps-line);text-align:right;white-space:nowrap}.profit-monthly th:first-child{text-align:left}.profit-monthly thead{background:var(--ps-bg);color:var(--ps-muted);font-size:12px}.profit-monthly tbody tr:hover{background:var(--ps-blue-soft)}.profit-monthly caption{text-align:left;font-size:12px;line-height:1.6;color:var(--ps-muted);margin-bottom:15px}.profit-negative{color:var(--ps-red)}
.profit-method{margin-top:20px;padding:18px 22px;background:var(--ps-bg)}.profit-method summary{font-size:12px;font-weight:650;line-height:1.7;cursor:pointer;color:var(--ps-muted)}.profit-method ul{margin:16px 0 0;padding-left:18px}.profit-method li{font-size:12px;line-height:1.8;color:var(--ps-muted);margin:10px 0}
.profit-empty{padding:42px 25px;text-align:center;border:1px dashed var(--ps-line);border-radius:18px;background:var(--ps-card)}.profit-empty h3{font-size:22px;color:var(--ps-ink)}.profit-empty p{font-size:13px;color:var(--ps-muted);line-height:1.7}
.profit-calculator :focus-visible{outline:3px solid var(--ps-blue);outline-offset:3px}.profit-calculator button:disabled{opacity:.45;cursor:not-allowed}
[data-theme=dark] .profit-calculator{--ps-bg:#1b2a3c;--ps-card:#142236;--ps-ink:#e3edf9;--ps-muted:#a6b8cf;--ps-line:#34475f;--ps-blue:#a0c4ff;--ps-blue-soft:#203e61;--ps-green:#86ddbd;--ps-green-soft:#203e37;--ps-red:#ffb5a7;--ps-red-soft:#49342f;--ps-gold:#e2bd75;--ps-purple:#c6a7ee}
@media(max-width:1150px){.profit-layout{grid-template-columns:260px minmax(0,1fr);gap:18px}.profit-header-actions{max-width:300px}.profit-flow{gap:8px}.profit-flow-card{padding:18px 14px}.profit-flow-card strong{font-size:25px}.profit-flow-card[data-tone=invest],.profit-flow-card[data-tone=sales]{padding-top:16px}.profit-chart-panel{padding:22px 17px}.profit-input-heading,.profit-input-section>summary{padding-left:19px;padding-right:19px}.profit-input-group{padding-left:19px;padding-right:19px}}
@media(max-width:900px){.profit-hero{align-items:flex-start}.profit-hero h2{font-size:32px}.profit-layout{display:flex;flex-direction:column}.profit-results{order:0;width:100%}.profit-inputs{order:1;width:100%;margin-top:8px}.profit-input-group{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.profit-input-group>legend,.profit-input-group>.profit-extra,.profit-growth-presets,.profit-horizon,.profit-periods{grid-column:1/-1}.profit-return{display:flex!important;margin:16px 23px 23px;width:calc(100% - 46px);justify-content:center;color:var(--ps-blue);border-color:var(--ps-blue);min-height:44px}.profit-memory,.profit-feedback{font-size:12px}.profit-flow-card strong{font-size:30px}}
@media(max-width:600px){.profit-hero{display:block;padding:0 0 22px;margin-bottom:20px}.profit-hero h2{font-size:29px;letter-spacing:-1.1px}.profit-hero p{font-size:12px}.profit-header-actions{max-width:none;justify-content:flex-start;margin-top:18px}.profit-scenario-badge{order:3;text-align:left;font-size:12px;margin:2px 0 0}.profit-header-actions .button,.profit-header-actions .primary{flex:1;font-size:12px;min-height:42px}.profit-flow{grid-template-columns:1fr 1fr;gap:10px}.profit-flow-card{padding:17px 15px}.profit-flow-card strong{font-size:25px;margin:12px 0 7px}.profit-flow-card[data-tone=profit]{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:7px 14px;align-items:center;padding:18px 19px}.profit-flow-card[data-tone=profit]>span{font-size:12px}.profit-flow-card[data-tone=profit] strong{grid-column:2;grid-row:1/3;font-size:29px;margin:0;max-width:180px;text-align:right}.profit-view-nav{gap:8px;flex-wrap:wrap}.profit-view-tabs{flex:1}.profit-view-tabs .button{flex:1;padding:8px 9px;font-size:12px}.profit-view-nav>.button{font-size:12px;padding:8px 9px}.profit-chart-panel{padding:21px 13px 15px;border-radius:15px}.profit-chart-heading h3{font-size:22px}.profit-chart-controls{margin-top:4px}.profit-legend{font-size:12px;gap:9px 13px}.profit-month-readout{grid-template-columns:1fr;padding:15px;gap:11px}.profit-month-readout>div{display:flex;justify-content:space-between;gap:14px}.profit-month-readout span{font-size:12px}.profit-month-readout b{font-size:14px}.profit-inspect{display:grid;gap:2px}.profit-inspect input{width:100%;margin:0;box-sizing:border-box}.profit-outcomes{gap:10px}.profit-outcomes article{padding:17px 14px}.profit-outcomes strong{font-size:21px}.profit-outcomes small{font-size:12px}.profit-comparison{padding:19px 15px}.profit-comparison-values{grid-template-columns:1fr;gap:12px}.profit-comparison-values>div{display:flex;justify-content:space-between;align-items:center;gap:14px}.profit-comparison-values strong{font-size:18px;text-align:right}.profit-input-group{display:block}.profit-field input{font-size:16px}.profit-monthly,.profit-method{padding:20px 15px}.profit-periods .button,.profit-growth-presets .button{min-height:40px}.profit-inspect-actions>.button{min-height:40px;width:40px}}
@media(prefers-reduced-motion:reduce){.profit-calculator *{transition:none!important;scroll-behavior:auto!important}}
