/* Profitalyzer V48 stable UX refinement — visual consistency, accessibility, mobile actions, print quality and no-jump interactions */
:root{--pf47-purple:#25154f;--pf47-green:#36c98f;--pf47-radius:16px;--pf47-shadow:0 14px 36px -28px rgba(37,21,79,.32)}
html{scroll-behavior:smooth}
body{font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
.main{transition:none!important}.main.pf-view-enter{animation:none!important;transform:none!important;opacity:1!important}

/* A calmer, more consistent hierarchy across tools without changing the calculations. */
.card,.psec,.v3scenario,.v17explorercard,.pbchartcard,.iafinalreport,.docbuilder,.docpreviewwrap{border-radius:var(--pf47-radius)}
.card,.psec{box-shadow:var(--pf47-shadow)}
.psec{border-color:color-mix(in srgb,var(--rule) 88%,var(--brand) 12%)}
.chead h1,.pbworkhead h1,.v3outhead h2,.sechead h1{line-height:1.08}
.chead p,.pbworkhead p,.pnote,.v3scenariohead p,.v17explorerhead p{max-width:76ch}
.btn,.seg,.addln,.addsrc,.iconbtn,.ctl{min-height:40px}
.btn{font-weight:700;letter-spacing:-.005em;border-radius:11px}.btn.sm{min-height:34px}
.btn:not(.ghost){box-shadow:0 7px 18px -13px color-mix(in srgb,var(--brand) 75%,transparent)}
.btn:active,.seg:active,.addln:active{transform:translateY(1px)}
input,select,textarea{transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}

/* App-like navigation. */
.navlinks a{position:relative}.navlinks a.pf-active{color:var(--brand-ink);font-weight:700}.navlinks a.pf-active:after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--amber))}
.mobilepop a.pf-active{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}
.pf-account-link{order:20}.tools{order:30}

/* Existing template/business choices: make the choices easier to scan, not a new template system. */
.v11bizgrid,.v11goalgrid{gap:12px!important}.v11bizcard,.v11goalcard{border-radius:15px!important;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease!important}.v11bizcard:hover,.v11goalcard:hover{transform:none;box-shadow:0 12px 28px -20px rgba(37,21,79,.24)}.v11bizcard.selected,.v11goalcard.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)}

/* Progressive complexity: optional/advanced controls should read as intentionally optional. */
details.v3advanced{border:1px solid var(--rule);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 64%,transparent);overflow:hidden;margin-top:12px}details.v3advanced>summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:750;color:var(--brand-ink);display:flex;align-items:center;justify-content:space-between;gap:10px}details.v3advanced>summary::-webkit-details-marker{display:none}details.v3advanced>summary:after{content:"Optional +";font-size:.72rem;color:var(--ink-faint);font-weight:700;background:var(--surface);border:1px solid var(--rule);padding:4px 8px;border-radius:999px}details.v3advanced[open]>summary:after{content:"Hide −"}details.v3advanced[open]>summary{border-bottom:1px solid var(--rule)}details.v3advanced>summary~*{margin-inline:16px}details.v3advanced>*:last-child{margin-bottom:16px}

/* Forecast progress is clearer: past steps are visibly complete. */
.fgbuttons button.pf-complete:not(.on){color:var(--good);border-color:color-mix(in srgb,var(--good) 24%,var(--rule));background:var(--good-soft)}.fgbuttons button.pf-complete:not(.on) b{background:var(--good);color:#fff}.fgbuttons button.on{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 9%,transparent)}
.v3nav{background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);border:1px solid var(--rule);border-radius:14px;padding:9px 10px;box-shadow:0 10px 28px -24px rgba(20,22,45,.5)}

/* Results: headline first, details second. */
.v3outhead,.pbworkhead{border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:16px}.v3kpis,.pbkpis{gap:10px!important}.v3kpis .kpi,.pbkpis>*,.kpis .kpi{border-radius:14px!important;box-shadow:none!important}.v3statement,.v3monthly,.pbchartcard{overflow:hidden}.v3sthead,.pbtablebar{padding-inline:2px}.tblwrap{border-radius:12px;border:1px solid var(--rule)}.tblwrap table{margin:0}.tblwrap thead th{position:sticky;top:0;z-index:1}

/* Budget: visual simplification only — no planning logic changes. */
.pbwrap .pbsec{margin-bottom:14px}.pbsec>.stepkicker{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:.7rem;letter-spacing:.06em}.pbfields{gap:11px!important}.pbcat{border-radius:13px!important;overflow:hidden}.pbcat summary{min-height:50px}.pbstrip{position:sticky;top:70px;z-index:8;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);border-radius:13px}.pbchartcard{border-color:color-mix(in srgb,var(--rule) 82%,var(--brand) 18%)}.pbacts{align-items:center}.pf-budget-continuity{display:inline-flex;gap:7px;align-items:center}.pf-budget-continuity:before{content:"↻";font-weight:900}

/* Contextual save status and save-as-new controls. */
.pf-autosave-status{position:fixed;right:18px;bottom:18px;z-index:100001;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 10px;border:1px solid var(--rule);border-radius:999px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(31,20,70,.10);color:var(--ink-faint);font-size:.72rem;font-weight:700;white-space:nowrap;pointer-events:none}.pf-autosave-status.saving:before{content:"";width:8px;height:8px;border-radius:50%;border:2px solid var(--rule-strong);border-top-color:var(--brand);animation:pfSpin .7s linear infinite}.pf-autosave-status.saved{color:var(--good);background:var(--good-soft)}@keyframes pfSpin{to{transform:rotate(360deg)}}
.pf-save-helper{border-radius:11px;padding:9px 11px;margin-top:8px;background:color-mix(in srgb,var(--brand-soft) 62%,transparent);color:var(--ink-soft);font-size:.78rem}

/* Tiny, accessible finance definitions. */
.pf-term-help{display:inline-grid;place-items:center;width:18px;height:18px;margin-inline-start:5px;border-radius:50%;border:1px solid var(--rule-strong);background:var(--surface);color:var(--brand-ink);font:800 11px/1 Manrope,Arial,sans-serif;cursor:help;vertical-align:middle;position:relative}.pf-term-help:hover:after,.pf-term-help:focus-visible:after{content:attr(data-tip);position:absolute;z-index:80;bottom:calc(100% + 8px);inset-inline-start:50%;transform:translateX(-50%);width:min(260px,70vw);padding:9px 10px;border-radius:10px;background:#211735;color:#fff;font:600 11.5px/1.45 Manrope,Arial,sans-serif;box-shadow:0 14px 34px rgba(0,0,0,.22);text-align:start;pointer-events:none}

/* Search can include My Work. */
.pf-search-work-label{padding:8px 12px 4px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.pf-search-work .sicon{background:var(--good-soft)!important;color:var(--good)!important}.searchpop{border-radius:16px!important;box-shadow:0 18px 50px -22px rgba(31,20,70,.35)!important}

/* Page-safe destructive actions. */
#v3clear,#pbreset{margin-inline-start:auto}.pf-undo-bar{position:fixed;z-index:100002;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:10px 12px 10px 15px;border-radius:13px;background:#211735;color:#fff;box-shadow:0 16px 50px rgba(20,14,35,.28);font:700 12px/1.2 Manrope,Arial,sans-serif}.pf-undo-bar button{border:0;border-radius:9px;background:#fff;color:#4f2ca8;padding:7px 11px;font-weight:800;cursor:pointer}

/* Account / My Work refinements. */
.pf-account-skeleton{display:grid;grid-template-columns:2fr 1fr;gap:14px;min-height:280px}.pf-account-skeleton i{display:block;min-height:90px;border-radius:18px;background:linear-gradient(90deg,#f3f1f8 25%,#faf9fc 45%,#f3f1f8 65%);background-size:240% 100%;animation:pfSkeleton 1.15s ease-in-out infinite}.pf-account-skeleton i:first-child{grid-column:1/-1;min-height:118px}.pf-account-skeleton i:last-child{grid-column:1/-1}@keyframes pfSkeleton{to{background-position:-150% 0}}
.pf-continue-card{margin-bottom:16px}.pf-textlink{align-self:center;font-size:12px;font-weight:800;text-decoration:none;color:var(--pf-purple2)}.pf-continue-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pf-continue-item{appearance:none;border:1px solid var(--pf-line);background:#fff;border-radius:14px;padding:13px;display:grid;grid-template-columns:36px 1fr;gap:10px;text-align:left;cursor:pointer;color:var(--pf-ink);transition:.14s ease}.pf-continue-item:hover{border-color:#d6cfeb;transform:none;box-shadow:0 10px 25px -22px rgba(37,21,79,.35)}.pf-continue-icon{grid-row:1/3;width:36px;height:36px;border-radius:11px;background:#f1edff;color:#4f2ca8;display:grid;place-items:center;font-weight:900}.pf-continue-item span:nth-child(2){min-width:0}.pf-continue-item b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.pf-continue-item small{display:block;margin-top:3px;color:#858c99;font-size:10.5px}.pf-continue-item i{grid-column:2;font-style:normal;font-size:10.5px;color:#4f2ca8;font-weight:800}
.pf-work-tabs{display:flex;gap:7px;overflow:auto;padding:2px 1px 10px;scrollbar-width:none}.pf-work-tabs::-webkit-scrollbar{display:none}.pf-work-tab{appearance:none;border:1px solid #e0dce9;background:#fff;color:#666d7b;border-radius:999px;padding:7px 10px;font:800 11px/1 Manrope,Arial,sans-serif;white-space:nowrap;cursor:pointer}.pf-work-tab small{font-size:9px;opacity:.7;margin-inline-start:3px}.pf-work-tab.on{background:#f0ecff;border-color:#cfc4f4;color:#4f2ca8}.pf-library-hint{font-size:11px;color:#8a91a0;align-self:center;justify-self:end}.pf-star{width:31px;height:31px;flex:none;border:0;background:transparent;color:#9a93aa;font-size:21px;line-height:1;cursor:pointer;border-radius:9px}.pf-star:hover{background:#fff8da;color:#ad7f00}.pf-saved-row.favorite{border-color:#ded5fb;background:linear-gradient(90deg,#fff,#fcfbff)}.pf-saved-row.favorite .pf-star{color:#d29b00}.pf-saved-row .pf-saved-actions{opacity:.88}.pf-saved-row:hover .pf-saved-actions,.pf-saved-row:focus-within .pf-saved-actions{opacity:1}

/* Compact loading and interaction feedback. */
button[disabled]{cursor:wait}.pf-cloud-toast{backdrop-filter:blur(10px)}

/* Mobile: touch-first, no cut-off buttons or action hunting. */
@media(max-width:760px){
  .shell{padding-inline:12px!important}.main{min-width:0}.card{border-radius:15px!important}.psec{padding:16px!important}
  input,select,textarea,.btn,.seg,.addln,.addsrc{font-size:16px!important} /* avoids iOS zoom */
  .acts,.forecastacts,.pbacts{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.acts .btn,.forecastacts .btn,.pbacts .btn{width:100%;min-width:0!important;margin:0!important}.forecastacts .savecloud,.pbacts .savecloud{grid-column:1/-1}
  .v3nav{position:sticky;bottom:8px;z-index:22;margin-inline:-4px}.v3nav .btn{min-width:104px}
  .tblwrap{overflow:auto!important;-webkit-overflow-scrolling:touch}.tblwrap table{min-width:620px}.monthlytable table{min-width:680px!important}
  .pbstrip{top:58px}.pbstripin{overflow:auto;scroll-snap-type:x proximity}.pbsi{min-width:118px;scroll-snap-align:start}
  .pf-continue-list{grid-template-columns:1fr}.pf-library-hint{display:none}.pf-account-skeleton{grid-template-columns:1fr}.pf-account-skeleton i,.pf-account-skeleton i:first-child,.pf-account-skeleton i:last-child{grid-column:1}
  .pf-saved-row{padding-right:12px!important}.pf-star{position:absolute;right:10px;top:9px}.pf-saved-row{position:relative}.pf-saved-copy{padding-right:28px}
  .pf-undo-bar{left:10px;right:10px;bottom:10px;transform:none;justify-content:space-between}
}
@media(max-width:430px){.acts,.forecastacts,.pbacts{grid-template-columns:1fr}.forecastacts .savecloud,.pbacts .savecloud{grid-column:auto}.navlinks{display:none!important}.pf-term-help:hover:after,.pf-term-help:focus-visible:after{inset-inline-start:auto;right:0;transform:none}}

/* Reduced motion. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.main.pf-view-enter,.pf-account-skeleton i,.pf-autosave-status.saving:before{animation:none!important}.card,.btn,.seg,.v11bizcard,.v11goalcard{transition:none!important}}

/* Site-wide print/PDF discipline for browser print paths. */
@media print{
  @page{size:A4 portrait;margin:13mm 11mm 16mm}
  html,body{background:#fff!important;background-image:none!important;color:#111!important;font-size:9.5pt!important}
  .top,.side,.listbar,.foot,.searchpop,.mobilepop,.pf-account-link,.v3nav,.forecastguide,.forecastacts,.pbacts,.whatif,.calcguide,.docactions,.pf-save-helper,.pf-autosave-status,.pf-term-help,.pf-undo-bar{display:none!important}
  .shell,.shell.wide{display:block!important;max-width:none!important;padding:0!important;margin:0!important}.main{width:100%!important;max-width:none!important}
  .card,.psec,.v3scenario,.v17explorercard,.pbchartcard,.iafinalreport,.docpreview{box-shadow:none!important;border-color:#d7d7df!important}
  h1,h2,h3,h4,.stepkicker,.v3sthead,.pbtablebar{break-after:avoid-page;page-break-after:avoid}
  .card,.psec,.kpi,.result,.result-section,.v3outhead,.v3kpis,.v3confidence,.v3modelnote,.v17explorercard,.v3scenariohead,.pbchecks,.pbnote,.pbchartcard,.pbgoal,.docpreviewwrap,.iaexecutive,.iaprofocus{break-inside:avoid-page;page-break-inside:avoid}
  table{width:100%!important;border-collapse:collapse!important}thead{display:table-header-group!important}tfoot{display:table-footer-group!important}tr{break-inside:avoid-page!important;page-break-inside:avoid!important}
  .tblwrap,.monthlytable,.pbtablewrap,.pbtable{overflow:visible!important;max-height:none!important;border:0!important}.tblwrap table,.monthlytable table{min-width:0!important;font-size:7.6pt!important}
  svg,canvas,img{max-width:100%!important;break-inside:avoid-page!important;page-break-inside:avoid!important}
  a{text-decoration:none!important;color:#111!important}.printmast{display:flex!important}.printjoin{display:block!important}
}

/* V48 stability: dynamic result panes never pull the viewport while values repaint. */
#v3out,#pbresults,#pbstrip,#calcvisual,#out,.v3revenuebuilder,.v3statement,.v3monthly{overflow-anchor:none}
input:focus,select:focus,textarea:focus{scroll-margin-block:90px}
@media(max-width:760px){.pf-autosave-status{right:10px;bottom:10px}}

/* V48.2 — compact application header: one row on wide desktop, never more than two rows */
.homequick{display:none!important}
@media(min-width:1450px){
  .topin{max-width:1720px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px 20px;flex-wrap:unset}
  .brand{grid-column:1;grid-row:1;min-width:max-content}
  .navlinks{grid-column:2;grid-row:1;justify-content:center;min-width:0;flex-wrap:nowrap;gap:2px}
  .navlinks a{font-size:.82rem;padding:7px 10px;white-space:nowrap}
  .tools{grid-column:3;grid-row:1;margin-inline-start:0;justify-self:end;flex-wrap:nowrap;gap:6px}
  .topin>.pf-account-link,.tools>.pf-account-link{margin-inline-start:0}
}
@media(min-width:1051px) and (max-width:1449px){
  .topin{max-width:1320px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 16px;flex-wrap:unset}
  .brand{grid-column:1;grid-row:1;min-width:max-content}
  .brand .tl{display:none!important}
  .navlinks{grid-column:2;grid-row:1;justify-content:flex-end;min-width:0;flex-wrap:nowrap;gap:1px}
  .navlinks a{font-size:.78rem;padding:6px 8px;white-space:nowrap}
  .tools{grid-column:1/-1;grid-row:2;margin-inline-start:0;justify-self:end;flex-wrap:nowrap;gap:6px}
  .topin>.pf-account-link,.tools>.pf-account-link{margin-inline-start:0}
}
@media(max-width:1050px) and (min-width:641px){
  .topin{max-width:none;padding:10px 14px;display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
  .brand .tl{display:none!important}
  .navlinks{display:none!important}
  .mobilemenu{display:inline-flex!important}
  .tools{margin-inline-start:auto;gap:6px;flex-wrap:nowrap}
  .pf-account-label{max-width:110px;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:640px){
  .homequick{display:none!important}
  .tools>.pf-account-link{margin-inline-start:0}
}

/* V48.4 — dark treatment for V47/V48 UX components. */
:root[data-theme="dark"] .pf-account-skeleton i{background:linear-gradient(90deg,#171927 25%,#202233 45%,#171927 65%)!important;background-size:240% 100%!important}
:root[data-theme="dark"] .pf-continue-item,
:root[data-theme="dark"] .pf-work-tab{background:#12131f!important;color:#eef0f8!important;border-color:#2a2d40!important}
:root[data-theme="dark"] .pf-continue-item:hover,
:root[data-theme="dark"] .pf-work-tab:hover{background:#171927!important;border-color:#3b3656!important;box-shadow:none!important}
:root[data-theme="dark"] .pf-continue-icon,
:root[data-theme="dark"] .pf-work-tab.on{background:#211b3c!important;color:#c9baff!important;border-color:#403661!important}
:root[data-theme="dark"] .pf-continue-item small,
:root[data-theme="dark"] .pf-library-hint{color:#a4a8bd!important}
:root[data-theme="dark"] .pf-continue-item i{color:#bdaeff!important}
:root[data-theme="dark"] .pf-saved-row.favorite{background:linear-gradient(90deg,#12131f,#171527)!important;border-color:#403761!important}
:root[data-theme="dark"] .pf-star:hover{background:#2a2411!important;color:#e3b74b!important}
:root[data-theme="dark"] .pf-undo-bar button{background:#2a2d40!important;color:#d9ceff!important}
:root[data-theme="dark"] .searchpop{background:#12131f!important;color:#eef0f8!important;border-color:#2a2d40!important}
:root[data-theme="dark"] .searchpop a,
:root[data-theme="dark"] .searchpop button{color:#eef0f8!important}
:root[data-theme="dark"] .searchpop a:hover,
:root[data-theme="dark"] .searchpop button:hover{background:#191b2a!important}
