.portal-main{max-width:1200px;min-height:75vh;margin:auto;padding:56px 28px 80px}.portal-login{grid-template-columns:1fr 440px;align-items:center;gap:90px;display:grid}.portal-welcome>p{color:#587065;max-width:440px;font-size:18px}.portal-benefit{gap:16px;margin-top:28px;display:flex}.portal-benefit>svg{flex-shrink:0;margin-top:3px}.portal-benefit p{color:#587065;max-width:380px;margin:4px 0}.portal-card{background:#fff;border:1px solid #d5ded4;border-radius:18px;padding:30px;box-shadow:0 10px 35px #143d3008}.portal-card h2{margin:0 0 24px;font:32px/1.2 Georgia,serif}.portal-role{background:#edf1e9;border-radius:10px;margin-bottom:24px;padding:5px;display:flex}.portal-role button{border-radius:7px;width:50%;padding:11px 8px;font-size:16px}.portal-role button[aria-pressed=true]{color:#fff;background:#164f4b}.portal-card .field input{height:49px;font-size:16px}.portal-help{color:#52675f;margin-top:24px;font-size:14px;line-height:1.7}.portal-help a{text-underline-offset:3px;text-decoration:underline}.portal-security{color:#52675f;border-top:1px solid #e3e8de;align-items:center;gap:8px;margin-top:24px;padding-top:20px;font-size:14px;display:flex}.portal-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:40px;display:flex}.portal-heading h1{letter-spacing:-1px;margin:14px 0;font-size:48px}.portal-heading p{overflow-wrap:anywhere;color:#52675f}.portal-secondary{background:#fff;border:1px solid #aebfb3;border-radius:8px;align-items:center;gap:10px;padding:12px 18px;font-size:16px;display:inline-flex}.portal-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-toolbar h2{font:30px Georgia,serif}.portal-toolbar label{align-items:center;gap:10px;font-size:14px;display:flex}.portal-toolbar select{background:#fff;border:1px solid #b8c9bf;border-radius:8px;max-width:100%;padding:10px;font-size:16px}.portal-muted{color:#596e64;font-size:14px;line-height:1.7}.portal-bookings{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px;display:grid}.booking-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-status{text-transform:capitalize;background:#edf1e9;border-radius:30px;padding:5px 12px;font-size:14px}.status-completed{background:#dcebdd}.status-cancelled{color:#853f30;background:#f5e6e1}.booking-card h3{margin:22px 0 12px;font-size:22px;font-weight:500}.booking-address{overflow-wrap:anywhere;font-size:16px}.booking-total{border-top:1px solid #e0e6dd;justify-content:space-between;gap:16px;margin-top:22px;padding-top:18px;font-size:16px;display:flex}.booking-total strong{white-space:nowrap;font-size:22px}.portal-empty{text-align:center;margin-top:24px;padding:50px 24px}.portal-empty svg{margin:0 auto 20px}.portal-empty h2{margin-bottom:12px}.portal-more{margin:28px auto;display:flex}.portal-main button:disabled{opacity:.6;cursor:wait}.portal-header nav>a{display:block!important}.account-nav{white-space:nowrap;border:1px solid #bdccc0;border-radius:30px;padding:12px 18px;display:inline-flex!important}.portal-banner{background:#edf1e9;border:1px solid #cbd7ce;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;max-width:1248px;margin:24px auto 0;padding:18px 24px;display:flex}.portal-banner p{color:#52675f;margin:3px 0 0}.portal-banner-links{flex-wrap:wrap;gap:12px;display:flex}.portal-banner-links a{border:1px solid #164f4b;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}.portal-banner-links a:first-child{color:#fff;background:#164f4b}@media (max-width:850px){.portal-login{grid-template-columns:1fr;gap:28px;max-width:540px;margin:auto}.portal-welcome h1{font-size:42px}.portal-welcome h1 br,.portal-benefit{display:none}.portal-main{padding:30px 20px 50px}.portal-banner{flex-direction:column;align-items:flex-start;margin:18px 20px 0}.portal-heading h1{font-size:38px}.portal-bookings{grid-template-columns:1fr}.portal-toolbar{flex-direction:column;align-items:flex-start}.portal-card{padding:24px}.portal-heading{flex-wrap:wrap;align-items:flex-start}.site-header nav .account-nav{padding:10px;font-size:14px;display:inline-flex!important}.portal-banner-links{width:100%}}@media (max-width:420px){.site-header{flex-wrap:wrap}.portal-banner-links a{text-align:center;flex:1}.booking-total{flex-wrap:wrap}}.portal-role button{flex:1;width:auto}.admin-tabs{flex-wrap:wrap;gap:12px;margin-bottom:28px;display:flex}.admin-tabs button[aria-pressed=true]{color:#fff;background:#164f4b}.admin-details{border-top:1px solid #e0e6dd;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;padding-top:18px;font-size:14px;display:grid}.admin-details dd{text-align:right}.admin-contact,.admin-bio{overflow-wrap:anywhere}.admin-bio{white-space:pre-wrap;color:#52675f}.admin-pagination{justify-content:space-between;gap:12px;margin-top:28px;display:flex}@media (max-width:420px){.portal-role button{padding:10px 4px;font-size:14px}.admin-pagination button{padding:10px;font-size:14px}}.admin-actions{border-top:1px solid #d5ded4;margin-top:20px;padding-top:20px}.admin-action-buttons{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.admin-action-buttons .primary{flex:1;width:auto}.admin-actions h4{margin-bottom:12px;font-size:18px;font-weight:600}.admin-actions p{color:#52675f;margin:12px 0;font-size:14px}.admin-actions select{background:#fff;border:1px solid #bdccc0;border-radius:7px;width:100%;min-height:48px;padding:10px;font-size:16px}.admin-notice,.admin-warning{border-radius:8px;margin:20px 0;padding:16px;font-size:16px}.admin-notice{background:#e3f0e4;border:1px solid #98b69e}.admin-warning{color:#64480d;background:#fff5d9;border:1px solid #cdb367}.portal-section{border-top:1px solid #d5ded4;margin-top:42px;padding-top:30px}.portal-record-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.portal-record-actions>.portal-details{flex-basis:100%}.portal-details{overflow-wrap:anywhere;border-top:1px solid #e0e6dd;padding-top:16px}.portal-details dl{grid-template-columns:minmax(100px,1fr) 2fr;gap:12px;margin:0 0 24px;font-size:15px;display:grid}.portal-details dt{font-weight:600}.portal-details dd{margin:0}.portal-details form,.portal-details>div{width:100%}.portal-details .field input,.portal-availability-form .field input{border:1px solid #bdccc0;border-radius:7px;width:100%;min-height:48px;padding:10px;font-size:16px}.portal-details .primary,.portal-availability-form .primary{width:auto;margin:10px 12px 10px 0}.portal-notifications{gap:12px;margin-top:18px;display:grid}.portal-notifications .portal-card{padding:18px}.portal-notifications p{margin:8px 0}.portal-notifications small{color:#596e64}.portal-availability-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.portal-availability-form .primary{margin:0}.portal-slot{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (max-width:850px){.portal-availability-form{grid-template-columns:1fr}.portal-slot{flex-wrap:wrap}.portal-details dl{grid-template-columns:1fr 2fr}}.portal-record-actions .portal-job-button{width:auto;min-height:48px}.portal-action-error,.portal-record-actions>.admin-notice{flex-basis:100%;margin:6px 0}.admin-booking-search{flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0;display:flex}.admin-booking-search label{font-size:14px;font-weight:600}.admin-booking-search input{border:1px solid #bdccc0;border-radius:8px;flex:1;min-width:min(100%,340px);max-width:480px;min-height:48px;padding:10px;font-size:16px}
