/* Public pages: a visible entrance and comfortable touch controls. */
.mj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.mj-card{min-width:0;border:1px solid #d6dece;border-radius:16px;padding:28px;background:#fffefa}
.mj-card h2,.mj-card h3{line-height:1.2;margin-bottom:16px}.mj-card p{margin-bottom:16px}
.fx-prices>.mj-card{display:flex;flex-direction:column}.fx-prices>.mj-card ul{flex:1}.fx-prices>.mj-card .button{margin-top:18px}
.fx-record-search{display:grid;gap:7px;max-width:520px;margin:0 0 18px;font-size:13px}
.fx-record-search input{min-height:46px}
.doc-dialog{color:#304b3c;background:#fffefa;border:1px solid #d5dfc8;border-radius:18px;padding:0;width:min(900px,calc(100% - 40px));max-width:900px;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #172c3640}
.doc-dialog::backdrop{background:#172c3680}
.doc-dialog .doc-panel{border:0;border-radius:0;margin:0;padding:28px;max-width:none}
.doc-dialog .doc-panel-heading{position:sticky;top:-28px;background:#fffefa;z-index:2;padding-block:14px;margin-top:-14px;border-bottom:1px solid #e2e7da}
.doc-dialog .doc-panel-heading .p-button{flex-shrink:0;min-height:44px}
.doc-dialog .fx-card{border:0;box-shadow:none;padding:0}
.doc-dialog .fx-form{padding:0;border:0;margin:20px 0}
.doc-dialog .fx-email-preview{height:330px}
.doc-dialog .fx-actions{flex-wrap:wrap}
.doc-dialog #fx-send-document{white-space:normal;overflow-wrap:anywhere;min-height:48px}
.doc-dialog .fx-mail-metadata{overflow-wrap:anywhere}
.doc-dialog [role=status]:not(:empty){padding:12px;background:#edf2e5;border-radius:8px}
.doc-dialog [role=alert]:not(:empty){padding:12px;background:#fbefe7;color:#8f3e2d;border-radius:8px}
.doc-mail-progress{font-size:13px;margin-top:8px;color:#576d4c}
.doc-mobile-actions{display:none}
@media(max-width:960px){
 .site-header{position:sticky;top:0;height:72px;background:#f4f1e9f7;backdrop-filter:blur(12px)}
 .site-header #site-nav{top:71px;max-height:calc(100dvh - 72px);overflow:auto;padding:12px 20px 24px;box-shadow:0 16px 26px #172c361c}
 .site-header #site-nav>a{min-height:48px;border-bottom:1px solid #d6d8cc}
 .site-header .menu-button{min-height:44px;padding:8px;border:1px solid #ccd4c5;border-radius:8px}
 .mj-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 html{scroll-padding-top:90px}.container{width:calc(100% - 36px)}
 .site-header .nav-wrap{gap:8px}.site-header .brand{font-size:1.9rem;gap:7px}.site-header .brand svg{width:21px}
 .site-header .header-login{padding:10px 13px;border-radius:9px;font-size:14px}.site-header .header-login span{display:none}
 .site-header .menu-button{font-size:13px;gap:7px}
 .hero{padding-top:29px;gap:24px}.hero h1{font-size:clamp(40px,10.7vw,58px);line-height:1.06;letter-spacing:-.045em}
 .hero-line{white-space:normal}.hero-copy .eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:18px}
 .hero-intro{font-size:16px;line-height:1.65;margin-top:20px}.hero .button-row{display:grid;gap:10px;margin-top:22px}
 .hero .button,.hero .text-link{display:flex;justify-content:center;align-items:center;min-height:50px;width:100%;font-size:14px;padding:12px 14px;border-radius:10px}
 .hero .text-link{border:1px solid #c9d2bf;text-decoration:none}.hero-note{font-size:12px;line-height:1.6;margin-top:16px}
 .hero-visual{max-width:430px}.section{padding-block:48px}.page-head h1,.mj-head h1{font-size:clamp(35px,10vw,48px);line-height:1.08;overflow-wrap:anywhere}
 h2{font-size:34px;line-height:1.12}.page-head .lead,.lead{font-size:17px}.page-head .crumb{margin-bottom:23px}
 .mj-grid,.services-grid{grid-template-columns:1fr}.mj-card{padding:23px}.mj-subnav{gap:12px;line-height:1.5;padding-block:15px}.mj-subnav a{min-height:40px;display:inline-flex;align-items:center}
 .service-card{border-right:0!important;border-bottom:1px solid #cbd2c1!important;padding:23px 0!important}.service-top{margin-bottom:14px}.service-card h3{font-size:27px}.service-card p,.service-card strong{font-size:15px}.service-cta{padding-top:20px;min-height:44px}
 .fixio-release-band{padding:22px;border-radius:14px;margin-block:20px}.fixio-release-band .button{width:100%}
 .footer-bottom>div{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;width:100%}.footer-bottom a{display:flex;align-items:center;min-height:44px;font-size:13px}
 .footer-top p{font-size:14px}.concept-tag{white-space:normal}
 .whatsapp-float,.whatsapp-button,.contact-float{max-width:calc(100vw - 32px)}
 .mj-form :is(input,select,textarea),.portal-login :is(input,select,textarea){font-size:16px}
 .fx-work-head h1{font-size:38px}.fx-work-head{margin-top:20px}
 /* The application has one scroll area, readable forms, and large navigation targets. */
 .fx-shell .p-button,.fx-shell .fx-icon-button,.fx-shell .fx-chat-toggle{min-height:44px}
 .fx-shell .fx-icon-button{min-width:44px}.fx-shell .fx-nav-group button{min-height:44px;font-size:14px}
 .fx-shell .fx-main{padding:16px 14px max(24px,env(safe-area-inset-bottom))}.fx-context-row{margin-bottom:19px}.fx-context-row select{font-size:14px;min-height:40px;max-width:210px}.fx-today{display:none}
 .fx-shell :is(input,select,textarea){font-size:16px!important}.fx-shell .fx-form{grid-template-columns:1fr}.fx-shell .fx-form .wide{grid-column:1}
 .fx-shell .fx-toolbar{flex-wrap:wrap;gap:12px}.fx-shell .fx-toolbar .p-button{font-size:14px}
 .fx-shell .fx-quick-actions{grid-template-columns:1fr}.fx-quick-actions button{min-height:68px}.fx-quick-actions strong{font-size:14px}.fx-quick-actions small{font-size:12px}
 .fx-shell .fx-metrics{grid-template-columns:1fr 1fr;gap:10px}.fx-metrics article:first-child{grid-column:1/-1}.fx-metrics article>span:not(.fx-metric-icon){font-size:12px}.fx-metrics small{font-size:11px}.fx-metrics strong{font-size:26px}
 .fx-shell .fx-record-table{border:0;background:transparent;overflow:visible}.fx-record-table table,.fx-record-table tbody{display:block;width:100%}.fx-record-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .fx-record-table tr{display:grid;grid-template-columns:1fr auto;gap:10px 12px;background:#fffefa;border:1px solid #dfe6d7;border-radius:12px;margin-bottom:12px;padding:16px;min-width:0}
 .fx-record-table td{border:0!important;padding:0!important;white-space:normal;min-width:0}.fx-record-table td:first-child{grid-column:1/-1;font-size:16px;overflow-wrap:anywhere}.fx-record-table td small{display:block;font-size:12px;margin-top:5px;color:#6b7b62}.fx-record-table td:nth-child(3){text-align:right;font-size:16px}.fx-record-table td:last-child{grid-column:1/-1}.fx-shell .fx-record-table button{width:100%;min-height:44px;text-align:left;background:#edf2e5;padding:10px 12px;border-radius:8px;font-size:14px}.fx-shell .fx-record-table .fx-status{font-size:12px}
 .doc-toolbar{margin-bottom:16px;gap:12px}.doc-toolbar h1{font-size:25px}.doc-toolbar-actions{justify-content:flex-start;gap:8px}.doc-toolbar-actions [data-doc=save],.doc-toolbar-actions [data-doc=mail]{display:none}.doc-toolbar-actions .p-button{font-size:12px;min-height:44px;padding:10px 12px}
 .doc-workspace{padding-bottom:95px}.doc-layout{gap:18px}.doc-paper{padding:22px 15px;min-height:0;border-radius:10px}.doc-recipient{max-width:none}
 .doc-controls{grid-template-columns:1fr}.doc-control-card{padding:18px}.doc-control-card p,.doc-control-card small{font-size:13px}.doc-control-card .p-button{font-size:14px}.doc-control-card label{font-size:13px}
 .doc-mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:8;left:0;right:0;bottom:0;gap:10px;padding:12px 14px max(12px,env(safe-area-inset-bottom));border-top:1px solid #d7dfcd;background:#fffefaf5;backdrop-filter:blur(12px)}
 .doc-mobile-actions .p-button{font-size:14px;min-height:48px;white-space:normal}.doc-mobile-actions .p-button:only-child{grid-column:1/-1}
 .doc-lines-scroll{overflow:visible}.doc-lines{display:block;min-width:0;width:100%;table-layout:auto}.doc-lines thead{display:none}.doc-lines tbody{display:grid;gap:16px}
 .doc-lines tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f5f7f0;border:1px solid #dce5d3;border-radius:10px;padding:14px}
 .doc-lines td{display:block;border:0;padding:0;min-width:0}.doc-lines td:first-child{grid-column:1/-1}.doc-lines td:last-child{display:flex;align-items:center;justify-content:space-between;padding:0;font-size:16px;white-space:normal}
 .doc-lines td:nth-child(4):before{content:'Btw';display:block;font-size:12px;color:#566d48;margin-bottom:6px}
 .doc-workspace .doc-lines label{display:grid;gap:6px;font-size:12px;line-height:1.5;color:#566d48}.doc-workspace .doc-lines label input{text-align:left}
 .doc-workspace .doc-paper :is(input,select,textarea){border:1px solid #d6dfcc;background:#fff;min-height:44px;padding:10px;border-radius:7px}
 .doc-workspace .doc-lines textarea{min-height:86px}.doc-lines textarea::placeholder{font-size:14px}.doc-line-extra{font-size:12px}.doc-line-extra summary{padding-block:12px;min-height:44px}
 .doc-remove{font-size:24px;min-width:44px;min-height:44px;background:#f1e9e0;border-radius:8px;color:#855745}
 .doc-paper [data-doc=add-line]{width:100%;font-size:14px;min-height:48px;border:1px dashed #bdcdae;margin-top:16px;padding:10px}
 .doc-dates{gap:12px;display:grid;grid-template-columns:1fr 1fr}.doc-dates label{font-size:12px}.doc-workspace .doc-paper .doc-dates input{max-width:100%;text-align:left}
 .doc-recipient>label:last-child{display:grid;grid-template-columns:1fr;gap:7px;font-size:12px}.doc-recipient #doc-customer{font-size:16px;padding:10px}.doc-recipient [data-doc=new-customer]{min-height:44px;font-size:13px;margin-top:9px}
 .doc-note{display:grid;gap:8px;font-size:13px}.doc-issuer p,.doc-issuer small{font-size:12px}.doc-letter{font-size:14px}.doc-issuer .p-button{font-size:12px}
 #doc-preview{height:850px}.doc-totals{font-size:14px;max-width:none}.doc-totals .doc-total{font-size:22px}
 .doc-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
 .doc-dialog .doc-panel{padding:20px 18px max(24px,env(safe-area-inset-bottom))}.doc-dialog .doc-panel-heading{top:-20px;gap:10px}.doc-dialog h2{font-size:25px}.doc-dialog .doc-panel>p,.doc-dialog label,.doc-dialog [role=status]{font-size:14px}.doc-dialog :is(input,select,textarea){font-size:16px!important;min-height:46px}
 .doc-dialog input[type=checkbox]{min-height:22px;width:22px;flex-shrink:0}.doc-dialog .doc-company-fields{grid-template-columns:1fr}.doc-dialog .doc-panel-actions,.doc-dialog .fx-actions{display:grid;grid-template-columns:1fr}.doc-dialog .p-button{min-height:48px;font-size:14px}.doc-dialog .fx-email-preview{height:280px}.doc-dialog .fx-form{grid-template-columns:1fr}.doc-dialog .fx-form button{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.fx-chat-open .doc-mobile-actions,.fx-menu-open .doc-mobile-actions{display:none}
.doc-mail details{margin-block:18px}.doc-mail summary{cursor:pointer;min-height:44px;padding-block:10px;font-size:14px}.fx-record-table tr[hidden]{display:none!important}

body.fx-auth-mode .fx-work-head{display:block}body.fx-auth-mode .fx-auth-brand{margin-bottom:20px;font-size:32px}body.fx-auth-mode .call-float{display:none}body.fx-auth-mode .fx-workspace{width:min(640px,100%)}
@media(max-width:600px){.call-float{width:48px;min-height:48px;padding:11px}.call-float span{display:none}body.fx-auth-mode .portal-login{padding:22px 18px}body.fx-auth-mode .fx-workspace{padding-inline:16px}body.fx-auth-mode .fx-work-head{padding:24px 4px 18px}body.fx-auth-mode h1{font-size:30px}}

@media(max-width:600px){.doc-dates label{min-width:0}.doc-workspace .doc-paper .doc-dates input{width:100%;min-width:0}.doc-dialog .doc-panel-heading .p-button{padding:10px;font-size:13px}}
@media(max-width:400px){.doc-dates{grid-template-columns:1fr}}

/* Chat floats above the workspace without narrowing the document or dashboard. */
.fx-shell.fx-chat-open{grid-template-columns:220px minmax(0,1fr)}
.fx-shell .fx-chat{position:fixed;inset:auto 24px 94px auto;width:410px;max-width:calc(100vw - 48px);height:min(660px,calc(100dvh - 118px));z-index:12;border:1px solid #d3dfcb;border-radius:20px;box-shadow:0 18px 70px #203c3533,0 3px 12px #203c3514}
.fx-shell .fx-chat-head{height:68px;padding-inline:18px}.fx-shell .fx-chat-head .fx-icon-button{width:44px;height:44px}
.fx-shell .fx-chat-scroll{padding:22px;scrollbar-gutter:stable}.fx-shell .fx-chat-compose{padding:12px 16px 16px}
.fx-shell .fx-chat-welcome{padding-top:0}.fx-shell .fx-chat-welcome h2{font-size:29px}.fx-shell .fx-welcome-icon{display:none}.fx-shell .fx-suggestions{margin-top:20px}
.fx-shell .fx-input-box button{width:40px;height:40px;border:0}.fx-shell .fx-input-box textarea{padding-right:52px;font-size:16px;min-height:76px}
.fx-shell .fx-chat-launcher{position:fixed;right:24px;bottom:max(20px,env(safe-area-inset-bottom));z-index:13;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 20px;border:1px solid #506752;border-radius:30px;background:#294638;color:#fffefa;box-shadow:0 5px 24px #203c3538;font-size:14px!important;line-height:1.2;cursor:pointer}
.fx-shell .fx-chat-launcher:hover{background:#3a5946}.fx-shell .fx-chat-launcher svg{width:26px;height:26px}.fx-chat-launcher:focus-visible{outline:3px solid #b9d969!important;outline-offset:4px!important}
.fx-chat-open .fx-chat-launcher{width:56px;height:56px;padding:14px}.fx-chat-open .fx-chat-launcher span{display:none}
.fx-shell .fx-work-footer{padding-bottom:68px}
.fx-shell.fx-chat-expanded .fx-chat{inset:20px 24px 94px;width:calc(100vw - 48px);max-width:none;height:auto}
.fx-shell.fx-chat-expanded .fx-chat-scroll,.fx-shell.fx-chat-expanded .fx-chat-compose{padding-inline:max(24px,calc((100% - 760px)/2))}
@media(max-width:759px){
 .fx-shell.fx-chat-open{grid-template-columns:minmax(0,1fr)}
 .fx-shell .fx-chat-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));min-height:54px;padding:13px 17px}
 .fx-shell .fx-chat,.fx-shell.fx-chat-expanded .fx-chat{inset:auto;top:calc(var(--fx-visible-top,0px) + 10px);left:10px;right:10px;width:auto;max-width:none;height:calc(var(--fx-visible-height,100dvh) - 92px - env(safe-area-inset-bottom));border-radius:18px;box-shadow:0 0 0 100vmax #1f352d59,0 15px 50px #203c3540}
 .fx-shell .fx-chat-head{height:62px;padding-inline:13px}.fx-shell [data-shell=expand]{display:none}
 .fx-shell .fx-chat-scroll{padding:18px}.fx-shell .fx-chat-compose{padding:10px 12px 12px}.fx-shell .fx-chat-context{padding:8px}
 .fx-shell .fx-chat-compose p{font-size:10px}.fx-shell .fx-chat-provider{display:none}.fx-shell .fx-suggestions button{min-height:48px;font-size:13px}
 .fx-shell.fx-chat-open .fx-chat-launcher{top:calc(var(--fx-visible-top,0px) + var(--fx-visible-height,100dvh) - 72px - env(safe-area-inset-bottom));bottom:auto}
}
@media(max-width:600px){.fx-shell:has(.doc-mobile-actions:not(:empty)):not(.fx-chat-open) .fx-chat-launcher{bottom:calc(86px + env(safe-area-inset-bottom))}}
@media(max-height:550px){.fx-shell .fx-chat-welcome h2{font-size:24px}.fx-shell .fx-chat-scroll{padding-top:14px}.fx-shell .fx-input-box textarea{min-height:54px}.fx-shell .fx-chat-compose p{display:none}}
.fx-subscription-history{margin-top:28px}.fx-subscription-history h2{font-size:25px}.fx-billing-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:16px 0;border:0;border-bottom:1px solid #d8e2d0;background:transparent;cursor:pointer}.fx-billing-row small{display:block;font-size:12px;margin-top:5px}.fx-subscription-document{max-width:700px;margin-top:22px}.fx-subscription-document h1{font-size:30px;overflow-wrap:anywhere}.fx-subscription-document p{margin-block:18px;line-height:1.7}.fx-subscription-document .fx-actions{flex-wrap:wrap;gap:10px}.fx-plan-feedback:not(:empty){padding:16px;border-radius:10px;background:#edf2e5;margin-top:14px}
