/* Account page only. Cleaner job screens retain their own layout. */
.fsm-site .fsm-account{--account-paper:#f7f8f3;--account-muted:#5d6c61;width:min(1040px,100% - 48px);max-width:1040px;padding:48px 0 32px;margin:0 auto;color:var(--ink);overflow-wrap:anywhere}
.fsm-site .fsm-account button,.fsm-site .fsm-account input,.fsm-site .fsm-account select{font:inherit}
.fsm-site .fsm-account a{color:var(--forest);text-underline-offset:3px}
.fsm-site .fsm-account a:focus-visible,.fsm-site .fsm-account button:focus-visible,.fsm-site .fsm-account input:focus-visible,.fsm-site .fsm-account select:focus-visible{outline:3px solid #839f48;outline-offset:3px}
.fsm-site .fsm-account-guest{max-width:480px;margin:0 auto}
.fsm-site .fsm-account-auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px;box-shadow:0 8px 30px #163c2805}
.fsm-site .fsm-account-auth-card h2,.fsm-site .fsm-account-auth-card h3{font-family:inherit;font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-1px;margin:0 0 12px;color:var(--forest)}
.fsm-site .fsm-account-description{font-size:15px;line-height:1.75;color:var(--account-muted);margin:0 0 27px}
.fsm-site .fsm-account-auth-card form{margin:0}
.fsm-site .fsm-account-auth-card form p{margin:0 0 20px}
.fsm-site .fsm-account-auth-card .login-username label,.fsm-site .fsm-account-auth-card .login-password label{display:block;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:8px;color:var(--ink)}
.fsm-site .fsm-account-auth-card .input{display:block;width:100%;height:50px;min-width:0;max-width:none;padding:12px 14px;font-size:16px;line-height:1.5;border:1px solid #bdc9be;border-radius:7px;background:#fff;color:var(--ink);box-shadow:none}
.fsm-site .fsm-account-auth-card .input:hover{border-color:#7b9581}
.fsm-site .fsm-account-auth-card .login-remember{font-size:13px;line-height:1.6;color:var(--account-muted)}
.fsm-site .fsm-account-auth-card .login-remember label{display:flex;align-items:center;gap:9px;width:fit-content;min-height:28px}
.fsm-site .fsm-account-auth-card .login-remember input{width:17px;height:17px;margin:0;accent-color:var(--forest)}
.fsm-site .fsm-account-auth-card .login-submit{margin-bottom:0}
.fsm-site .fsm-account-auth-card .login-submit input,.fsm-site .fsm-account-auth-card>.btn,.fsm-site .fsm-account-register>.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:49px;padding:12px 20px;border:1px solid var(--forest);border-radius:7px;background:var(--forest);color:#fff;font-family:inherit;font-size:15px;font-weight:600;line-height:1.5;text-decoration:none;cursor:pointer;box-shadow:none}
.fsm-site .fsm-account-auth-card .login-submit input:hover,.fsm-site .fsm-account-auth-card>.btn:hover{filter:brightness(.92)}
.fsm-site .fsm-account-auth-card .fsm-account-forgot{font-size:13px;line-height:1.6;text-align:center;margin:17px 0 0}
.fsm-site .fsm-account-register{border-top:1px solid var(--line);margin-top:27px;padding-top:24px;text-align:center}
.fsm-site .fsm-account-register p{font-size:14px;line-height:1.7;color:var(--account-muted);margin:0 0 13px}
.fsm-site .fsm-account-register>.btn{background:#fff;color:var(--forest);border-color:#bdc9be;font-weight:500}
.fsm-site .fsm-account-register>.btn:hover{background:var(--account-paper)}
.fsm-site .fsm-account-cleaner-link{font-size:13px;line-height:1.8;text-align:center;color:var(--account-muted);margin:23px 0 0}
.fsm-site .fsm-account-cleaner-link a{white-space:nowrap;font-weight:500}
.fsm-site .fsm-account-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 16px}
.fsm-site .fsm-account-heading h2{font-size:34px;line-height:1.2;font-family:inherit;letter-spacing:-1px;font-weight:600;margin:0 0 10px;color:var(--forest)}
.fsm-site .fsm-account-heading p{font-size:15px;line-height:1.7;margin:0;color:var(--account-muted)}
.fsm-site .fsm-account-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}
.fsm-site .fsm-account-actions>.btn{font-size:14px;line-height:1.5;padding:13px 22px;min-height:48px;border-radius:7px}
.fsm-site .fsm-account-actions>a{font-size:13px;line-height:1.6;padding:8px 0}
.fsm-site .fsm-account-overview{font-size:13px;line-height:1.8;color:var(--account-muted);margin:0 0 28px}
.fsm-site .fsm-account-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);padding:0;margin:0 0 28px;overflow-x:auto;overflow-y:hidden}
.fsm-site .fsm-account-tabs>button{flex:0 0 auto;min-height:48px;padding:10px 2px 14px;font-size:14px;font-weight:500;line-height:1.5;color:var(--account-muted);border:0;border-bottom:2px solid transparent;white-space:nowrap;border-radius:0;background:transparent}
.fsm-site .fsm-account-tabs>button.active{color:var(--forest);border-bottom-color:var(--forest)}
.fsm-site .fsm-account-tabs>button:hover{color:var(--forest)}
.fsm-site .fsm-account-content{min-height:180px}
.fsm-site .fsm-account-content .booking-list{display:grid;gap:18px}
.fsm-site .fsm-account-content .booking-row{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px;margin:0}
.fsm-site .fsm-account-content .booking-row-top h3{font-size:21px;line-height:1.4;margin:5px 0 0;letter-spacing:-.3px;font-weight:600}
.fsm-site .fsm-account-content .booking-ref{font-size:10px;line-height:1.5;letter-spacing:1px}
.fsm-site .fsm-account-content .booking-row .small-text{font-size:13px;line-height:1.8}
.fsm-site .fsm-account-content .booking-row-actions>button{font-size:13px;min-height:44px}
.fsm-site .fsm-account-content .empty-state{padding:50px 24px;border:1px solid var(--line);border-radius:12px;background:var(--account-paper);text-align:center;margin:0}
.fsm-site .fsm-account-content .empty-state h3{font-size:24px;line-height:1.3;letter-spacing:-.5px;margin:0 0 12px}
.fsm-site .fsm-account-content .empty-state p{font-size:14px;line-height:1.8;max-width:440px;margin:0 auto 23px;color:var(--account-muted)}
.fsm-site .fsm-account-content .empty-state>.btn{font-size:14px;min-height:46px;padding:12px 20px}
.fsm-site .fsm-account-content .finance-heading h3{margin-top:0;font-size:24px}
.fsm-site .fsm-account-content .dashboard-stats{margin:0 0 24px}
.fsm-site .fsm-account-content .fsm-preferences{max-width:650px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px}
.fsm-site .fsm-account-content .fsm-preferences h3{font-size:24px;line-height:1.4;letter-spacing:-.5px;margin:0 0 24px}
.fsm-site .fsm-account-content .field>span{font-size:14px;line-height:1.6}
.fsm-site .fsm-account-content .field input,.fsm-site .fsm-account-content .field select{font-size:16px;min-height:48px}
.fsm-site .fsm-account-sync{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;line-height:1.8;color:var(--account-muted);margin:20px 0 0}
.fsm-site .fsm-account-sync button{font-size:13px;line-height:1.5;min-height:40px;color:var(--forest);padding:8px 0}
.fsm-site .fsm-account-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;margin-top:24px;color:var(--account-muted);font-size:13px;line-height:1.8}
.fsm-site .fsm-account-footer p{font-size:13px;line-height:1.8;margin:0;color:var(--account-muted)}
.fsm-site .fsm-account-guest .fsm-account-footer{justify-content:center;border:0;padding-top:0;text-align:center}
.fsm-site .fsm-account-guest .fsm-account-footer>a{display:none}
.fsm-site .fsm-account-guest .fsm-account-footer a{white-space:nowrap}
.fsm-site .fsm-account .form-error,.fsm-site .fsm-account .fsm-flash{font-size:14px;line-height:1.7;margin-bottom:20px}
.fsm-site .modal .fsm-account{width:100%;padding:0}
@media(max-width:650px){.fsm-site .fsm-account{width:calc(100% - 32px);padding:28px 0 24px}.fsm-site .fsm-account-auth-card{padding:26px 23px;border-radius:12px}.fsm-site .fsm-account-auth-card h2,.fsm-site .fsm-account-auth-card h3{font-size:29px}.fsm-site .fsm-account-description{font-size:15px}.fsm-site .fsm-account-heading{align-items:start;flex-direction:column;gap:20px}.fsm-site .fsm-account-heading h2{font-size:29px}.fsm-site .fsm-account-heading p{font-size:14px}.fsm-site .fsm-account-actions{width:100%;justify-content:space-between}.fsm-site .fsm-account-overview{font-size:12px;margin-bottom:17px}.fsm-site .fsm-account-tabs{gap:23px;margin-bottom:22px}.fsm-site .fsm-account-tabs>button{font-size:14px;min-height:48px;padding-bottom:13px}.fsm-site .fsm-account-content .booking-row{padding:21px 18px}.fsm-site .fsm-account-content .booking-row-top h3{font-size:19px}.fsm-site .fsm-account-content .booking-row-actions>button{font-size:13px}.fsm-site .fsm-account-content .empty-state{padding:35px 20px}.fsm-site .fsm-account-content .empty-state h3{font-size:22px}.fsm-site .fsm-account-content .fsm-preferences{padding:23px 19px}.fsm-site .fsm-account-footer{font-size:12px;gap:10px}.fsm-site .fsm-account-footer p{font-size:12px}.fsm-site .fsm-account-content .payment-receipt{gap:15px}.fsm-site .modal .fsm-account{width:100%}}

.fsm-site .fsm-account-booking-meta{font-size:13px;line-height:1.8;color:var(--account-muted);margin:14px 0}
.fsm-site .fsm-account-visit-details{padding:0;margin:13px 0 0;border:0}
.fsm-site .fsm-account-visit-details>summary{cursor:pointer;width:fit-content;min-height:40px;font-size:13px;line-height:1.8;color:var(--forest);padding:8px 0}
.fsm-site .fsm-account-visit-details>summary:focus-visible{outline:3px solid #839f48;outline-offset:3px}
.fsm-site .fsm-account-visit-details>div{padding:16px 0 4px}
.fsm-site .fsm-account .booking-row-actions{flex-wrap:wrap}
.fsm-site .fsm-account .booking-row .fsm-account-booking-meta{font-size:14px;line-height:1.8;color:var(--account-muted);margin:14px 0}
.fsm-site .fsm-account .booking-row-details>span{font-size:14px;line-height:1.7;color:var(--account-muted)}
.fsm-site .fsm-account .booking-row-details>strong{font-size:17px;font-weight:600;color:var(--forest)}
.fsm-site .fsm-account .booking-row .booking-ref{color:#596e5a}
.fsm-site .fsm-account .booking-row .status{font-size:12px;color:#365a2e;background:#edf3e8}
.fsm-site .fsm-account .booking-row .status-requested{color:#71582c;background:#fbf2d9}
.fsm-site .fsm-account .booking-row .status-cancelled{color:#605f5b;background:#f0f0ed}
.fsm-site .fsm-account .booking-row-actions{padding-top:15px;margin-top:16px}
.fsm-site .fsm-account .booking-row-actions>button{color:var(--forest);font-size:14px}
.fsm-site .fsm-account .booking-row-actions>.danger-text{color:#8b4939}
.fsm-site .fsm-account .fsm-account-visit-details>div p{font-size:14px;line-height:1.8;color:var(--account-muted)}
