.service-directory { background:#f6f9fc; color:#11294f; font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65; padding-bottom:40px; }
.service-directory * { box-sizing:border-box; }
.service-container { max-width:1160px; padding:0 24px; margin:auto; }
.service-directory .service-hero { background:linear-gradient(110deg,#edf5ff,#f0f8ee); padding:32px 0 40px; }
.service-directory a { color:#0759c5; text-decoration:none; }
.service-directory h1 { font:700 clamp(28px,4vw,44px)/1.2 Inter,"Segoe UI",Arial,sans-serif; margin:24px 0 16px; color:#11294f; }
.service-directory h1 span { color:#258127; }
.service-directory h2 { font:700 26px/1.3 Inter,"Segoe UI",Arial,sans-serif; color:#11294f; margin:0 0 24px; }
.service-directory h3 { font:650 19px/1.4 Inter,"Segoe UI",Arial,sans-serif; color:#11294f; margin:16px 0 10px; }
.service-directory p { font:400 16px/1.65 Inter,"Segoe UI",Arial,sans-serif; color:#526278; letter-spacing:normal; margin:0 0 14px; }
.service-content { padding-top:36px; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.service-tile,.provider-card { background:#fff; border:1px solid #dfe8f0; border-radius:14px; padding:24px; min-width:0; overflow-wrap:anywhere; }
.service-directory .service-tile { display:flex; flex-direction:column; color:#11294f; }
.service-tile > i,.provider-card > i { font-size:28px; color:#258127; }
.service-tile > span { color:#0759c5; font-size:15px; font-weight:600; margin-top:auto; }
.service-tile:hover { border-color:#8bbce8; box-shadow:0 5px 20px #11294f0d; }
.service-directory :is(a,button,input):focus-visible { outline:3px solid #0759c5; outline-offset:4px; }
.service-filters { display:flex; gap:18px; flex-wrap:wrap; align-items:flex-end; margin-top:24px; }
.service-filters label { font-size:16px; font-weight:600; margin:0; }
.service-filters input[type=search] { display:block; width:100%; font:inherit; border:1px solid #bacbdd; border-radius:7px; padding:10px 12px; margin-top:6px; }
.service-directory button { background:#0759c5!important; color:white!important; border:1px solid #0759c5!important; font:600 16px/1.5 Inter,"Segoe UI",Arial,sans-serif!important; padding:11px 20px!important; border-radius:7px!important; cursor:pointer; }
.service-filters > a { padding:12px 0; }
.service-empty { background:#fff; border:1px dashed #b6cfee; border-radius:14px; padding:32px; margin-bottom:24px; }
.service-pagination { display:flex; gap:24px; justify-content:center; align-items:center; margin-top:30px; font-size:16px; }
.provider-description { white-space:pre-line; }
@media(max-width:900px) { .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .service-container { padding-left:16px; padding-right:16px; } .service-grid { grid-template-columns:1fr; } .service-filters label,.service-filters button { width:100%; } .service-tile,.provider-card { padding:22px; } }

.request-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:28px; align-items:start; }
.request-card { background:white; border:1px solid #dfe8f0; border-radius:16px; padding:28px; min-width:0; }
.request-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.request-wide { grid-column:1/-1; }
.request-fields label { display:block; font-size:16px; font-weight:600; margin-bottom:7px; }
.service-directory .request-fields :is(input,textarea,select) { display:block; width:100%; min-height:48px; padding:11px 12px; border:1px solid #bacbdd; border-radius:8px; background:#fff; color:#11294f; font:400 16px/1.5 "Segoe UI",Arial,sans-serif; }
.request-fields textarea { resize:vertical; }
.request-fields small { font-size:14px; color:#526278; }
.service-directory .request-notice { margin:24px 0; padding:16px; background:#edf5ff; border-radius:8px; }
.request-steps ol { padding-left:22px; }
.request-steps li { padding:0 0 16px 8px; }
.request-errors { color:#a51b2b; }
.request-errors.validation-summary-valid { display:none; }
.request-reference { overflow-wrap:anywhere; }
.service-directory :is(textarea,select):focus-visible { outline:3px solid #0759c5; outline-offset:3px; }
@media(max-width:800px) { .request-layout { grid-template-columns:1fr; } }
@media(max-width:575px) { .request-fields { grid-template-columns:1fr; } .request-card { padding:20px; } .request-card button { width:100%; } }

.service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-directory .service-options label{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #dfe8f0;border-radius:8px;font-size:15px}.service-directory .service-options input[type=checkbox]{width:18px;min-height:18px;flex-shrink:0}.provider-services{border:0;padding:0;min-width:0}.provider-services legend{font-size:18px;font-weight:600}@media(max-width:575px){.service-options{grid-template-columns:1fr}}
.admin-tabs { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:24px; }
.admin-tabs a { padding:10px 16px; border:1px solid #cbdcf0; border-radius:8px; }
.admin-tabs a[aria-current="page"] { color:#fff; background:#0759c5; }
.admin-table-wrap { overflow-x:auto; }
.admin-table { width:100%; border-collapse:collapse; font-size:16px; }
.admin-table th,.admin-table td { padding:16px; text-align:left; border-bottom:1px solid #dce6f2; }
.admin-table th { background:#edf5ff; color:#11294f; }

.service-directory .provider-review-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:20px; }
.service-directory button.provider-approve { background:#258127!important; border-color:#258127!important; }
.service-directory button.provider-reject { background:#c62828!important; border-color:#c62828!important; }
.service-directory button.provider-approve:hover { background:#1d681f!important; border-color:#1d681f!important; }
.service-directory button.provider-reject:hover { background:#a51f1f!important; border-color:#a51f1f!important; }
.service-directory .remember-option { display:flex; align-items:center; gap:10px; margin-top:22px; }
.service-directory .remember-option input { width:20px; height:20px; accent-color:#0759c5; }
.service-directory .terms-consent { display:flex; align-items:flex-start; gap:10px; padding:14px; margin:0 0 16px; border:1px solid #dce8f4; border-radius:9px; background:#f8fbff; font-size:14px; line-height:1.6; }
.service-directory .terms-consent input[type=checkbox] { width:20px; height:20px; flex-shrink:0; margin:2px 0 0; accent-color:#258127; cursor:pointer; }
.service-directory .terms-consent label { display:inline; margin:0; font-size:14px; font-weight:400; cursor:pointer; }
.service-directory .terms-consent a { font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.terms-link-hint { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.terms-consent-error.field-validation-error { display:block; font-size:14px; color:#a51b2b; margin:-6px 0 16px; }
.otp-fieldset { border:0; padding:0; margin:24px 0; min-width:0; }
.otp-fieldset legend { font-size:17px; font-weight:600; }
.otp-digits { display:flex; gap:12px; margin:12px 0 16px; }
.service-directory .otp-digit { width:calc((100% - 60px)/6); min-width:0; max-width:70px; height:72px; padding:0; text-align:center; font-size:28px; font-weight:700; border:2px solid #ccdcef; border-radius:12px; background:#f8fbff; }
.otp-submit { margin-bottom:16px; }
.otp-resend { margin-top:12px; }
@media(max-width:480px){ .otp-digits{gap:6px;} .service-directory .otp-digit { width:calc((100% - 30px)/6);height:52px;font-size:22px;} }

.assignment-page .assignment-back { display:inline-flex; gap:10px; align-items:center; font-weight:600; margin-bottom:22px; }
.assignment-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; }
.assignment-page .assignment-eyebrow { color:#0759c5; font-size:12px; font-weight:700; letter-spacing:1.5px; margin-bottom:8px; }
.assignment-page h1 { margin:0 0 14px; overflow-wrap:anywhere; }
.assignment-status { display:inline-block; background:#e5f3e5; color:#206b23; border-radius:30px; padding:9px 16px; font-size:14px; font-weight:600; }
.assignment-status-pending { background:#fff2d6; color:#805400; }
.assignment-page .assignment-reference { margin:0; font-size:13px; }
.assignment-sections { display:grid; gap:24px; min-width:0; }
.assignment-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0 0; }
.assignment-facts > div { padding:20px; border:1px solid #e2eaf3; border-radius:12px; background:#f8faff; }
.assignment-facts dt { color:#526278; font-size:14px; font-weight:500; margin-bottom:10px; }
.assignment-facts dt i { margin-right:6px; color:#0759c5; }
.assignment-facts dd { color:#11294f; font-size:18px; font-weight:600; margin:0; overflow-wrap:anywhere; }
.assignment-facts dd small { display:block; font-size:14px; font-weight:400; margin-top:5px; }
.assignment-facts .assignment-price { background:#f0f8ee; border-color:#daebd7; }
.assignment-price dd { color:#258127; }
.assignment-privacy { display:flex; gap:16px; align-items:flex-start; padding:20px; border-radius:12px; background:#edf5ff; }
.assignment-privacy > i { color:#0759c5; margin-top:5px; font-size:20px; }
.assignment-page .assignment-privacy h3 { margin:0 0 8px; }
.assignment-page .assignment-privacy p { margin:0; }
.assignment-response { border-top:4px solid #258127; box-shadow:0 8px 28px #11294f08; }
.assignment-response-icon { display:inline-flex; color:#258127; background:#edf7ea; padding:12px; border-radius:12px; font-size:26px; margin-bottom:20px; }
.assignment-actions { display:flex; flex-wrap:wrap; gap:14px; margin:24px 0; }
.assignment-actions button { flex:1 1 200px; min-height:48px; }
.assignment-page .assignment-help { font-size:14px; color:#627189; border-top:1px solid #e2eaf3; padding-top:18px; margin:0; }
.assignment-customer { margin:0; }
.assignment-customer > div { padding:12px 0; border-bottom:1px solid #edf1f6; }
.assignment-customer dt { font-size:14px; color:#526278; }
.assignment-customer dd { margin:4px 0 0; overflow-wrap:anywhere; }
@media(max-width:575px) { .assignment-facts { grid-template-columns:1fr; } .assignment-heading { margin-bottom:18px; } .assignment-facts > div { padding:16px; } }

/* Admin service management */
.admin-workspace .assignment-eyebrow { color:#0759c5; font-size:12px; font-weight:700; letter-spacing:1.3px; margin:18px 0 8px; }
.admin-workspace .assignment-back { display:inline-block; font-weight:600; margin-bottom:8px; }
.admin-title-row { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.admin-title-row h1 { margin-top:8px; }
.admin-add-link { border:1px solid #aac5e7; background:#fff; border-radius:9px; padding:12px 18px; font-weight:600; white-space:nowrap; }
.provider-directory { padding:0; overflow:hidden; }
.provider-tablist { display:flex; gap:8px; padding:12px 20px 0; border-bottom:1px solid #dfe8f0; background:#fafcff; }
.provider-tablist [role=tab] { display:flex; align-items:center; gap:10px; padding:18px 14px; border-bottom:3px solid transparent; color:#526278; font-weight:600; }
.provider-tablist [aria-selected=true] { border-bottom-color:#0759c5; color:#0759c5; background:#edf5ff; border-radius:8px 8px 0 0; }
.provider-count { background:#e6edf6; border-radius:20px; padding:2px 9px; font-size:13px; }
.provider-tablist [aria-selected=true] .provider-count { background:#0759c5; color:white; }
.provider-directory [role=tabpanel] { padding:28px; }
.provider-directory [role=tabpanel][hidden] { display:none!important; }
.provider-panel-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:24px; }
.provider-panel-heading h2 { margin:0; font-size:23px; }
.provider-panel-heading p { margin:0; font-size:14px; }
.provider-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.provider-review-card { display:flex; flex-direction:column; min-width:0; border:1px solid #dfe8f0; border-radius:14px; padding:24px; background:#fff; overflow-wrap:anywhere; box-shadow:0 4px 16px #11294f04; }
.provider-card-heading { display:flex; align-items:center; gap:14px; padding-bottom:18px; border-bottom:1px solid #edf1f6; margin-bottom:18px; }
.provider-avatar { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; background:#edf5ff; color:#0759c5; font-size:21px; border-radius:12px; }
.provider-card-heading h3 { margin:0 0 3px; }
.provider-card-heading p { margin:0; color:#258127; font-size:14px; }
.provider-contact-list { margin:0 0 18px; }
.provider-contact-list > div { display:grid; grid-template-columns:65px minmax(0,1fr); gap:12px; padding:4px 0; }
.provider-contact-list dt { font-weight:500; color:#627189; font-size:14px; }
.provider-contact-list dd { margin:0; font-size:15px; }
.provider-review-card .provider-review-actions { margin-top:auto; padding-top:16px; }
.provider-state { align-self:flex-start; display:inline-block; font-size:13px; font-weight:600; padding:5px 11px; border-radius:20px; }
.provider-state-approved { color:#206b23; background:#e9f5e7; }
.provider-state-rejected { color:#a51f1f; background:#fff0ef; }
.provider-empty { text-align:center; padding:40px 20px; background:#f8fbff; border-radius:12px; }
.provider-empty > i { font-size:32px; color:#7a98ba; }
.admin-add-provider { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:40px; margin-top:28px; scroll-margin-top:24px; }
.admin-add-provider button { margin-top:20px; }
.admin-customer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
.admin-description { margin-top:24px; padding:20px; border-radius:10px; background:#f8fbff; }
.admin-description h3 { margin-top:0; }
.admin-description p { margin-bottom:0; }
.admin-consent { display:flex; align-items:flex-start; gap:10px; font-size:14px; margin:20px 0; }
.admin-consent input { width:18px; height:18px; flex-shrink:0; margin-top:4px; accent-color:#0759c5; }
.admin-workspace .admin-action-link { margin-top:18px; margin-bottom:0; }
.admin-email-heading h2 { margin-bottom:8px; }
.admin-email-heading > span { font-size:14px; color:#627189; }
.admin-email-item { padding:20px 0; border-bottom:1px solid #edf1f6; margin-bottom:16px; overflow-wrap:anywhere; }
.admin-email-item h3 { font-size:16px; margin:12px 0 6px; }
.admin-email-item p { font-size:14px; margin-bottom:6px; }
.admin-email-item small { color:#627189; }
.admin-email-item details { margin-top:12px; }
.admin-email-item summary { cursor:pointer; color:#0759c5; font-size:14px; }
.admin-workspace .admin-feedback-rating { font-size:30px; font-weight:700; color:#258127; }
.admin-feedback-rating small { font-size:18px; color:#627189; }
@media(max-width:800px) { .provider-review-grid,.admin-add-provider { grid-template-columns:1fr; } .admin-add-provider { gap:20px; } .admin-title-row { align-items:flex-start; flex-direction:column; gap:8px; } }
@media(max-width:575px) { .provider-tablist { padding:8px 8px 0; gap:2px; } .provider-tablist [role=tab] { flex:1; flex-direction:column; gap:6px; padding:12px 4px; font-size:13px; text-align:center; } .provider-directory [role=tabpanel] { padding:18px; } .provider-panel-heading { flex-direction:column; gap:6px; } .provider-review-card { padding:18px; } .admin-customer-grid { grid-template-columns:1fr; } }
