/* Keep the initial home/form/step rebuilds behind one branded loading state. */
.fx-startup505{display:none}
html[data-route-pending505="1"] body>:not(#fxStartup505):not(script):not(style){visibility:hidden!important}
html[data-route-pending505="1"] #fxStartup505{position:fixed;inset:0;display:flex;visibility:visible!important;align-items:center;justify-content:center;gap:16px;background:#f8fafc;color:#4338ca;z-index:2147483001;font-size:26px;font-weight:800}
.fx-startup505>span{width:32px;height:32px;border:3px solid #c7d2fe;border-top-color:#6366f1;border-radius:50%;animation:fxStartup505 .8s linear infinite}
.dark #fxStartup505{background:#0f172a!important;color:#c4b5fd!important}
@keyframes fxStartup505{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.fx-startup505>span{animation:none}}
@media print{#fxStartup505{display:none!important}}
@media screen{
.tab-content[data-page-ux505="1"]{min-width:0;box-sizing:border-box;max-width:100%}
#freelance[data-page-ux505="1"] #fxhHeader494,#salary[data-page-ux505="1"] .sal-header,.tab-content[data-page-ux505="1"] .fx-unified-header505{position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;min-width:0;flex-wrap:nowrap!important}
#freelance[data-page-ux505="1"] #fxhHeader494 :is(h1,h2),#salary[data-page-ux505="1"] .sal-header :is(h1,h2),.tab-content[data-page-ux505="1"] .fx-unified-header505 :is(h1,h2){font-size:clamp(24px,3.2vw,36px)!important;font-weight:850!important;line-height:1.3!important;margin:0!important;overflow-wrap:break-word}
.tab-content[data-page-ux505="1"] .fx-v328-title-group{min-width:0;flex:1}
#freelance[data-page-ux505="1"] #fxhHeader494 #fxhFavoriteSlot494,.tab-content[data-page-ux505="1"] .fx-favorite505{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;flex:0 0 112px!important;width:112px!important;max-width:112px!important;min-width:0!important;margin:0!important;padding:0!important;align-self:flex-start!important;order:2!important;gap:3px!important}
#freelance[data-page-ux505="1"] #fxhHeader494 #fxhFav,#salary[data-page-ux505="1"] #fav-btn-salary,.tab-content[data-page-ux505="1"] button.fx-favorite-button505{position:static!important;inset:auto!important;transform:none!important;width:54px!important;min-width:54px!important;height:54px!important;font-size:44px!important;line-height:1!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.tab-content[data-page-ux505="1"] button.fx-favorite-button505::after{display:none!important;content:none!important}
#freelance[data-page-ux505="1"] #fxhHeader494 #fxhFavoriteCaption494,.tab-content[data-page-ux505="1"] :is(#fxhFavoriteCaption494,.fx-favorite-caption505){font-size:12px!important;line-height:1.45!important;font-weight:650!important;text-align:center!important;width:100%!important;max-width:112px!important;overflow-wrap:break-word!important;color:#475569}
#freelance[data-page-ux505="1"] #fxhHeader494 #fxhHeadingGroup494{min-width:0;flex:1}
#salary[data-page-ux505="1"] .fx-v328-actions,#freelance[data-page-ux505="1"] .fxh-result-actions-407,.tab-content[data-page-ux505="1"] :is(.fx-v328-actions,.fxh-result-actions-407){display:none!important}
#freelance[data-page-ux505="1"] #fxhHeader494,#salary[data-page-ux505="1"] .sal-header,.tab-content[data-page-ux505="1"] .fx-unified-header505{padding:18px!important;border:1px solid #e0e7ff!important;border-radius:20px!important;background:linear-gradient(135deg,#f8faff,#faf5ff)!important}
.dark #freelance[data-page-ux505="1"] #fxhHeader494,.dark #salary[data-page-ux505="1"] .sal-header,.dark .tab-content[data-page-ux505="1"] .fx-unified-header505{background:linear-gradient(135deg,#0f172a,#1e1b4b)!important;border-color:#334155!important}
.fx-context-actions505{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px;justify-content:flex-start}
:is(.fx-context-actions505,.fx-action-row) button[data-quick505]{min-height:44px;padding:10px 16px;border:1px solid #c7d2fe;border-radius:12px;font-size:14px;font-weight:650;line-height:1.5;background:#eef2ff;color:#3730a3;cursor:pointer;white-space:normal}
:is(.fx-context-actions505,.fx-action-row) button[data-quick505]:hover{background:#e0e7ff}
.fx-step-lead502{font-weight:750!important;color:#334155!important}
.fx-mega-head h3,.fx-mega-card h4,.fx-v307-insight h3{font-weight:800!important;font-size:clamp(17px,2vw,21px)!important;line-height:1.5!important}
.fx-mega-card p,.fx-tip-text,.fx-v307-insight :is(p,.fx-v307-insight-text){font-size:16px!important;line-height:1.8!important;font-weight:600!important}
.fx-faq-body505{display:grid;gap:10px;margin-top:16px}
.fx-faq-body505>details{border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#f8fafc;min-width:0}
.fx-faq-body505 summary{cursor:pointer;font-size:15px;font-weight:700;line-height:1.6}
.fx-faq-body505 p{font-size:14px;line-height:1.85;white-space:normal;overflow-wrap:anywhere;margin:12px 0 0}
html body #toastContainer[data-page-toast505="1"]{position:fixed!important;inset:auto!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(24px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;width:min(460px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;margin:0!important;z-index:2147483000!important;pointer-events:none!important}
html body #toastContainer[data-page-toast505="1"]>div{width:fit-content!important;max-width:100%!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box!important;font-size:14px!important;line-height:1.6!important}
.dark .fx-step-lead502,.dark #freelance[data-page-ux505="1"] #fxhHeader494 #fxhFavoriteCaption494,.dark .tab-content[data-page-ux505="1"] :is(#fxhFavoriteCaption494,.fx-favorite-caption505){color:#cbd5e1!important}
.dark :is(.fx-context-actions505,.fx-action-row) button[data-quick505]{background:#1e1b4b;color:#e0e7ff;border-color:#4338ca}
.dark .fx-faq-body505>details{background:#0f172a;border-color:#334155}
@media(max-width:768px){html body #toastContainer[data-page-toast505="1"]{bottom:calc(92px + env(safe-area-inset-bottom))!important}#freelance[data-page-ux505="1"] #fxhHeader494 #fxhFavoriteSlot494,.tab-content[data-page-ux505="1"] .fx-favorite505{flex-basis:96px!important;width:96px!important;max-width:96px!important}#freelance[data-page-ux505="1"] #fxhHeader494,#salary[data-page-ux505="1"] .sal-header,.tab-content[data-page-ux505="1"] .fx-unified-header505{gap:12px!important}.fx-context-actions505 button{flex:1 1 auto}.fx-faq-body505>details{padding:12px}}
@media(max-width:480px){.tab-content[data-page-ux505="1"]{padding-inline:14px!important}#freelance[data-page-ux505="1"] #fxhHeader494 :is(h1,h2),#salary[data-page-ux505="1"] .sal-header :is(h1,h2),.tab-content[data-page-ux505="1"] .fx-unified-header505 :is(h1,h2){font-size:24px!important}#freelance[data-page-ux505="1"] #fxhHeader494 #fxhFavoriteSlot494,.tab-content[data-page-ux505="1"] .fx-favorite505{flex-basis:84px!important;width:84px!important;max-width:84px!important}#freelance[data-page-ux505="1"] #fxhHeader494 #fxhFavoriteCaption494,.tab-content[data-page-ux505="1"] :is(#fxhFavoriteCaption494,.fx-favorite-caption505){font-size:11px!important}.fx-context-actions505{gap:6px}.fx-context-actions505 button[data-quick505]{padding:10px;font-size:13px}}
}

/* V506: one header caption; related tools immediately before feedback. */
@media screen{
.tab-content[data-page-ux505="1"] .fx-unified-header505{direction:inherit!important;width:100%!important;box-sizing:border-box}
.tab-content[data-page-ux505="1"] .fx-unified-header505>.fixer-tool-actions-v12{display:none!important}
.tab-content[data-page-ux505="1"] :is(#fxhFav,button[id^="fav-btn-"])::before,.tab-content[data-page-ux505="1"] :is(#fxhFav,button[id^="fav-btn-"])::after{content:none!important;display:none!important}
.tab-content[data-page-ux505="1"]>.fixer-related-tools-v124,.tab-content[data-page-ux505="1"]>.fixer-related-tools{order:98!important;margin-block:24px!important;width:100%;min-width:0}
.tab-content[data-page-ux505="1"]>.fixer-tool-feedback{order:99!important;width:100%;min-width:0;box-sizing:border-box}
}

/* V507: the same title frame on Home, History and legal/contact pages. */
@media screen{
#home h2[data-i18n="home_welcome"],#history>div:first-child,:is(#page-privacy,#page-terms,#page-contact)>h2,#contentHost>h1{padding:18px!important;border:1px solid #e0e7ff!important;border-radius:20px!important;background:linear-gradient(135deg,#f8faff,#faf5ff)!important;box-sizing:border-box;max-width:100%;color:#0f172a!important;overflow-wrap:break-word}
#contentHost>h1{font-size:clamp(24px,3.2vw,36px);line-height:1.3;margin-block:0 20px}
.dark #home h2[data-i18n="home_welcome"],.dark #history>div:first-child,.dark :is(#page-privacy,#page-terms,#page-contact)>h2,.dark #contentHost>h1{background:linear-gradient(135deg,#0f172a,#1e1b4b)!important;border-color:#334155!important;color:#f1f5f9!important}
#history>div:first-child{gap:12px;flex-wrap:wrap}
}

/* V508: identical geometry before and after hourly heading grouping. */
@media screen{
#freelance[data-page-ux505="1"] .fxh-header-407{padding:18px!important;border:1px solid #e0e7ff!important;border-radius:20px!important;background:linear-gradient(135deg,#f8faff,#faf5ff)!important;box-sizing:border-box;transition:none!important;animation:none!important}
.dark #freelance[data-page-ux505="1"] .fxh-header-407{background:linear-gradient(135deg,#0f172a,#1e1b4b)!important;border-color:#334155!important}
#freelance[data-page-ux505="1"] #fxhHeading494{min-width:0;flex:1 1 0!important}
}

/* V509: assemble before styling; exactly two grid columns, never squeezed flex text. */
@media screen{
#freelance[data-page-ux505="1"] #fxhHeader494{display:grid!important;grid-template-columns:minmax(0,1fr) 112px!important;grid-template-rows:auto!important;align-items:start!important;height:auto!important;min-height:0!important;max-height:none!important;padding:18px!important;margin-block:0 12px!important;gap:18px!important;box-sizing:border-box!important}
#freelance[data-page-ux505="1"] #fxhHeader494 #fxhHeading494{grid-column:1!important;grid-row:1!important;display:block!important;width:auto!important;min-width:0!important;max-width:100%!important}
#freelance[data-page-ux505="1"] #fxhHeader494 #fxhFavoriteSlot494{grid-column:2!important;grid-row:1!important;align-self:start!important}
#freelance[data-page-ux505="1"] #fxhHeader494>.fxh-header-title{display:none!important}
#freelance[data-page-ux505="1"] #fxhHeader494 #fxhHeading494 .fxh-header-copy{margin-top:10px!important;width:100%!important}
@media(max-width:768px){#freelance[data-page-ux505="1"] #fxhHeader494{grid-template-columns:minmax(0,1fr) 96px!important;gap:12px!important}}
@media(max-width:480px){#freelance[data-page-ux505="1"] #fxhHeader494{grid-template-columns:minmax(0,1fr) 84px!important;padding:14px!important;gap:10px!important}}
}

@media screen{
#salary[data-page-ux505="1"]>.sal-header{display:flex!important;width:100%!important;float:none!important;flex-direction:row!important;clear:both!important}
#salary[data-page-ux505="1"]>.sal-lead{display:block!important;width:100%!important;clear:both!important}
#salary[data-page-ux505="1"]>.fx-context-actions505{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;width:100%!important;clear:both!important}
.tab-content[data-page-ux505="1"] .fx-favorite505>:is(#fxhFav,button[id^="fav-btn-"]){order:1!important}
.tab-content[data-page-ux505="1"] .fx-favorite505>:is(#fxhFavoriteCaption494,.fx-favorite-caption505){order:2!important}
}

/* V512: every tool stacks its title and toolbar outside legacy flex wrappers. */
@media screen{
.tab-content[data-page-ux505="1"]{display:block!important}
.tab-content[data-page-ux505="1"].hidden{display:none!important}
.tab-content[data-page-ux505="1"]>.fx-unified-header505{width:100%!important;float:none!important;clear:both!important;flex-direction:row!important;box-sizing:border-box!important}
.tab-content[data-page-ux505="1"]>.fx-context-actions505{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;width:100%!important;clear:both!important;box-sizing:border-box!important}
}

/* V547: one favorite icon and collapsed FAQ headings across tools. */
.fx-star547{width:32px;height:32px;display:block;margin:auto;pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.tab-content button.fx-favorite-button505{color:#64748b!important}.tab-content button.fx-favorite-selected547{color:#f59e0b!important}.fx-favorite-selected547 .fx-star547{fill:currentColor}.dark .tab-content button.fx-favorite-button505:not(.fx-favorite-selected547){color:#94a3b8!important}
.fx-faq>summary,.p542-faq-list547>summary{font-weight:800!important;cursor:pointer;min-height:44px;display:list-item;padding-block:10px}.p542-faq-list547:not([open])>details{display:none}.p542-faq-list547>details{margin-inline:8px}
.tab-content .p542-tools input[id^="p542-plan-"]{height:44px!important;min-height:44px!important;max-height:44px!important;flex:0 1 260px!important;align-self:center!important;line-height:1.4!important;padding:10px 12px!important}.p542-tools>.fx-field-label532{flex:0 1 auto!important;width:auto!important;align-self:center!important}
@media(max-width:640px){.tab-content .p542-tools input[id^="p542-plan-"]{flex-basis:100%!important;max-width:100%!important}.p542-tools>.fx-field-label532{width:100%!important}}

/* V548: modestly larger FAQ section title; question text remains unchanged. */
.fx-faq>summary,.p542-faq-list547>summary{font-size:1.125rem!important;line-height:1.5!important}

/* V549: only the FAQ title words form the native disclosure target. */
.fx-faq>summary,.p542-faq-list547>summary{display:block!important;width:fit-content!important;max-width:100%;min-height:0!important;padding:0!important;margin-block:10px;list-style:none!important}
.fx-faq>summary::-webkit-details-marker,.p542-faq-list547>summary::-webkit-details-marker{display:none}

/* V550: guide links are navigation, not report content. */
.fx-guide-link550{display:block;width:fit-content;max-width:100%;margin-block:16px;color:#4f46e5;text-decoration:underline;font-size:.875rem;line-height:1.5}
.dark .fx-guide-link550{color:#a5b4fc}
@media print{.fx-guide-link550{display:none!important}}

/* V551: currency labels keep their natural width beside the help icon. */
.p542-shell label[for$="-currency"]{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;flex:0 0 auto!important;width:auto!important}
.p542-shell .fx-field-label532:has(>label[for$="-currency"]){flex-wrap:wrap}
.p542-shell .p542-table th{overflow-wrap:normal;word-break:normal}

/* V552: personal finance mobile tables retain readable columns within local scrolling. */
@media screen and (max-width:640px){
 .p542-shell .p542-table{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .p542-shell .p542-table table{table-layout:auto!important;width:max-content!important;min-width:100%;max-width:none!important}
 .p542-shell .p542-table th{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;padding:12px!important;line-height:1.5}
 .p542-shell .p542-table td{min-width:110px;max-width:280px;white-space:pre-wrap;overflow-wrap:break-word!important;word-break:normal!important;padding:12px!important;line-height:1.6;vertical-align:top}
 .p542-shell .p542-grid,.p542-shell .p542-record{min-width:0;max-width:100%}
}

/* V554: use one centering transform; Tailwind translate was applying a second offset. */
html body #toastContainer[data-page-toast505="1"]{translate:none!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important}
/* V571: a disclosure cue inside the existing FAQ title click target. */
.fx-faq>summary::after,.p542-faq-list547>summary::after{content:"";display:inline-block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-inline-start:10px;vertical-align:.2em;pointer-events:none;box-sizing:border-box}
.fx-faq[open]>summary::after,.p542-faq-list547[open]>summary::after{transform:rotate(225deg);vertical-align:0}
.fx-faq>summary:focus-visible,.p542-faq-list547>summary:focus-visible{outline:2px solid #818cf8;outline-offset:4px;border-radius:4px}
@media print{.fx-faq>summary::after,.p542-faq-list547>summary::after{display:none}}
