.listing-cover-photo { display:block; width:100%; height:auto; max-height:320px; aspect-ratio:16/9; object-fit:cover; border-radius:6px; margin-bottom:16px; }
.offer-listing .listing-cover-photo { max-height:180px; }
.page-band { border-bottom: 1px solid var(--line); padding: 56px 0 44px; background: var(--wash); }
.page-band-grid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; }
.page-band h1 { max-width: 780px; margin-bottom: 12px; font-size: 2.5rem; }
.page-band p:last-child { max-width: 760px; margin-bottom: 0; color: var(--muted); font-size: 1.02rem; line-height: 1.7; }
.page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.content-section { padding: 54px 0 84px; }
.notice { margin-bottom: 22px; border: 1px solid; border-radius: 6px; padding: 13px 15px; font-size: .9rem; font-weight: 650; }
.notice-success { border-color: #a9dfbd; background: #ecfdf3; color: #0f6b39; }
.notice-error { border-color: #f0b8b2; background: #fff2f0; color: #ae2b22; }
.notice-info { border-color: #b7cff7; background: #eef5ff; color: #164ea4; }
.role-badge, .state-badge { display: inline-flex; width: max-content; max-width: 100%; align-items: center; border-radius: 999px; padding: 4px 9px; background: #e9f1ff; color: #175cd3; font-size: .72rem; font-weight: 800; }
.state-badge { background: #f1f3f6; color: #526075; }
.state-open, .state-published, .state-approved, .state-active { background: #eaf9ef; color: #16713c; }
.state-pending, .state-draft { background: #fff5dd; color: #8a5b00; }
.state-closed, .state-hidden, .state-suspended { background: #f2f4f7; color: #626d7e; }

.auth-shell { display: grid; width: min(100% - 32px, 1000px); min-height: calc(100svh - 73px); margin-inline: auto; padding: 54px 0 80px; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.auth-intro { padding-top: 42px; }
.auth-intro h1 { margin-bottom: 16px; font-size: 2.5rem; }
.auth-intro > p:last-child { color: var(--muted); line-height: 1.75; }
.auth-panel { border: 1px solid var(--line); border-radius: 8px; padding: 28px; background: #fff; box-shadow: var(--shadow); }
.auth-panel h2 { margin-bottom: 8px; font-size: 1.45rem; }
.auth-panel > p { color: var(--muted); font-size: .9rem; }
.auth-tabs { display: grid; margin: 22px 0; grid-template-columns: repeat(2, 1fr); border-bottom: 1px solid var(--line); }
.auth-tabs a { margin-bottom: -1px; border-bottom: 2px solid transparent; padding: 11px; color: var(--muted); font-size: .9rem; font-weight: 800; text-align: center; }
.auth-tabs a.active { border-color: var(--blue); color: var(--blue); }
.stack-form { display: grid; gap: 15px; }
.stack-form .check-line { display: flex; align-items: center; gap: 10px; font-size: .9rem; font-weight: 650; }
.stack-form .check-line input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 18px; accent-color: var(--blue); }
.stack-form label, .profile-form label, .post-form label, .reply-form label, .comment-form label { display: grid; gap: 7px; color: #374459; font-size: .86rem; font-weight: 750; }
.stack-form input, .stack-form select, .stack-form textarea, .profile-form input, .profile-form select, .post-form input, .post-form select, .post-form textarea, .reply-form input, .reply-form textarea, .comment-form textarea { width: 100%; border: 1px solid #cbd3de; border-radius: 6px; outline: 0; background: #fff; color: var(--ink); }
.stack-form input, .stack-form select, .profile-form input, .profile-form select, .post-form input, .post-form select, .reply-form input { height: 46px; padding: 0 12px; }
.stack-form textarea, .post-form textarea, .reply-form textarea, .comment-form textarea { min-height: 120px; resize: vertical; padding: 11px 12px; }
.stack-form input:focus, .stack-form select:focus, .stack-form textarea:focus, .profile-form input:focus, .profile-form select:focus, .post-form input:focus, .post-form select:focus, .post-form textarea:focus, .reply-form input:focus, .reply-form textarea:focus, .comment-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(7,86,232,.13); }
.field-help { margin: -7px 0 0; color: var(--muted); font-size: .78rem; }
.auth-links { display: flex; margin-top: 14px; justify-content: space-between; gap: 16px; color: var(--blue); font-size: .84rem; font-weight: 750; }
.social-divider { display: flex; margin: 24px 0 16px; align-items: center; gap: 12px; color: #8993a2; font-size: .76rem; font-weight: 750; text-transform: uppercase; }
.social-divider::before, .social-divider::after { height: 1px; flex: 1; background: var(--line); content: ""; }
.social-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.social-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border: 1px solid #cbd3de; border-radius: 6px; background: #fff; color: #263247; font-size: .86rem; font-weight: 800; }
.social-button[aria-disabled="true"] { cursor: not-allowed; opacity: .55; }

.account-head { display: flex; margin-bottom: 28px; align-items: end; justify-content: space-between; gap: 30px; }
.account-head h1 { margin-bottom: 7px; font-size: 2.3rem; }
.account-head p { margin-bottom: 0; color: var(--muted); }
.account-grid { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 36px; }
.account-sidebar { border-right: 1px solid var(--line); padding-right: 28px; }
.profile-summary { display: grid; margin-bottom: 24px; gap: 5px; }
.profile-summary strong { font-size: 1.15rem; }
.profile-summary span:not(.role-badge) { color: var(--muted); font-size: .88rem; overflow-wrap: anywhere; }
.account-nav { display: grid; border-top: 1px solid var(--line); }
.account-nav a { border-bottom: 1px solid var(--line); padding: 12px 2px; color: #445064; font-size: .9rem; font-weight: 750; }
.account-nav a.active { color: var(--blue); }
.dashboard-section + .dashboard-section { margin-top: 42px; }
.dashboard-section h2 { margin-bottom: 16px; font-size: 1.35rem; }
.dashboard-list { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: var(--line); gap: 1px; }
.dashboard-row { display: grid; padding: 17px; background: #fff; grid-template-columns: 1fr auto; align-items: center; gap: 18px; }
.dashboard-row strong, .dashboard-row span { display: block; }
.dashboard-row span { margin-top: 4px; color: var(--muted); font-size: .82rem; }
.profile-form { display: grid; max-width: 620px; grid-template-columns: 1fr 1fr; gap: 16px; }
.profile-form .wide { grid-column: 1 / -1; }
.contact-verification-grid { display: grid; max-width: 620px; margin-bottom: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.contact-verification-grid > div { display: grid; gap: 3px; border-bottom: 1px solid var(--line); padding: 0 0 12px; }
.contact-verification-grid strong { font-size: .83rem; }
.contact-verification-grid span { color: var(--muted); font-size: .84rem; }
.verification-step + .verification-step { margin-top: 28px; border-top: 1px solid var(--line); padding-top: 26px; }
.verification-step > p { color: var(--muted); font-size: .88rem; }
.verification-step .stack-form { max-width: 440px; margin-top: 15px; }
.verification-state { margin: 8px 0; color: #8a5b00 !important; font-weight: 750; }
.verification-state-ok { color: #16713c !important; }
.verification-resend { margin-top: 13px; }
.verification-unavailable { margin-top: 14px; }
.verification-panel > .text-link { display: inline-block; margin-top: 26px; }

.market-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 42px; align-items: start; }
.market-toolbar { display: grid; margin-bottom: 18px; grid-template-columns: minmax(220px, 1fr) 180px 160px auto; gap: 10px; }
.market-toolbar input, .market-toolbar select { width: 100%; height: 44px; border: 1px solid #cbd3de; border-radius: 6px; padding: 0 11px; background: #fff; }
.market-list { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--line); gap: 1px; }
.market-list[data-listing-view="cards"] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); border: 0; background: transparent; gap: 12px; overflow: visible; }
.market-list[data-listing-view="cards"] .market-job { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: 16px; border: 1px solid var(--line); border-radius: 7px; padding: 20px; }
.market-list[data-listing-view="cards"] .market-budget { min-width: 0; border-top: 1px solid var(--line); padding-top: 12px; text-align: left; }
.market-job { display: grid; padding: 24px; grid-template-columns: 1fr auto; align-items: start; gap: 28px; background: #fff; }
.market-job h2 { margin: 8px 0 10px; font-size: 1.25rem; }
.market-job h2 a:hover { color: var(--blue); }
.market-job p { max-width: 700px; margin-bottom: 12px; color: var(--muted); line-height: 1.65; }
.market-meta { display: flex; flex-wrap: wrap; gap: 14px; color: #596579; font-size: .78rem; font-weight: 700; }
.market-budget { min-width: 140px; text-align: right; }
.market-budget strong { display: block; color: var(--ink); font-size: 1.05rem; }
.market-budget span { color: var(--muted); font-size: .76rem; }
.market-side { border-left: 1px solid var(--line); padding-left: 28px; }
.market-side h2 { margin-bottom: 10px; font-size: 1.15rem; }
.market-side p { color: var(--muted); font-size: .88rem; line-height: 1.65; }
.market-side .market-note { margin-top: 22px; border-top: 1px solid var(--line); padding-top: 16px; color: #6b5b2a; font-size: .78rem; }
.market-side .button { width: 100%; margin-top: 7px; }
.freelancer-search { margin-bottom: 15px; }
.freelancer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.freelancer-grid[data-listing-view="list"] { grid-template-columns: 1fr; }
.freelancer-grid[data-listing-view="list"] .freelancer-card { display: grid; min-height: 0; grid-template-columns: minmax(210px, .8fr) minmax(0, 1.4fr); align-items: start; gap: 5px 20px; }
.freelancer-grid[data-listing-view="list"] .freelancer-card-head { grid-column: 1; grid-row: 1 / span 6; }
.freelancer-grid[data-listing-view="list"] .freelancer-card > :not(.freelancer-card-head) { grid-column: 2; }
.freelancer-grid[data-listing-view="list"] .freelancer-card > .text-link { margin-top: 4px; border-top: 0; padding-top: 4px; }
.freelancer-card { min-height: 240px; border: 1px solid var(--line); border-radius: 8px; padding: 22px; background: #fff; }
.freelancer-card-head { display: flex; align-items: center; gap: 12px; }
.freelancer-card-head > div { min-width: 0; }
.freelancer-card-head p, .profile-page-head p { overflow-wrap: anywhere; }
.profile-avatar { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 50%; background: #e5efff; color: var(--blue); font-weight: 850; }
.profile-photo { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; object-fit: cover; }
.profile-photo-small { width: 26px; height: 26px; flex-basis: 26px; }
.sender-with-photo, .reply-provider { display: inline-flex; align-items: center; gap: 8px; }
.reply-provider .role-badge, .reply-provider .rating-line { margin-left: 6px; }
.profile-avatar-large, .profile-photo-large { width: 88px; height: 88px; flex-basis: 88px; font-size: 2rem; }
.profile-photo-large { width: 112px; height: 112px; flex-basis: 112px; }
.profile-media-row, .profile-page-head { display: flex; align-items: center; gap: 22px; }
.profile-media-row form { width: min(100%, 440px); }
.verified-tick { display: inline-grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #0756e8; color: #fff; font-size: .75rem; vertical-align: middle; }
.rating-line { margin: 10px 0; color: #926100; font-size: .83rem; font-weight: 750; }
.verification-copy { max-width: 660px; color: var(--muted); font-size: .86rem; line-height: 1.6; }
.profile-page-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 50px; }
.profile-page-grid h2 { font-size: 1.45rem; }
.profile-page-side { border-left: 1px solid var(--line); padding-left: 24px; }
.profile-page-side .button { width: 100%; }
.review-list { display: grid; border-top: 1px solid var(--line); }
.review-item { padding: 18px 0; border-bottom: 1px solid var(--line); }
.review-item time { display: block; color: var(--muted); font-size: .75rem; }
.review-item p { margin: 9px 0 0; color: var(--muted); white-space: pre-line; }
.review-form-section { max-width: 660px; margin-top: 36px; border-top: 1px solid var(--line); padding-top: 30px; }
.review-form-section .stack-form { max-width: 500px; }
.map-field { border-top: 1px solid var(--line); padding-top: 16px; }
.map-field-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.map-field-head small { color: var(--muted); font-weight: 500; }
.job-location-map { height: 320px; border: 1px solid var(--line); border-radius: 6px; z-index: 0; }
.map-status { margin: 0; color: var(--muted); font-size: .8rem; }
.map-field .text-link { width: max-content; border: 0; padding: 0; background: transparent; }
.freelancer-card h2 { margin: 0; font-size: 1.05rem; }
.freelancer-card-head p { margin: 4px 0 0; color: var(--muted); font-size: .78rem; }
.profile-skills { margin: 18px 0 8px; color: #30425c; font-size: .84rem; font-weight: 750; line-height: 1.55; }
.profile-bio { margin: 8px 0 18px; color: var(--muted); font-size: .84rem; line-height: 1.6; }
.text-link { color: var(--blue); font-size: .84rem; font-weight: 800; }
.directory-note { max-width: 760px; margin: 24px 0 0; color: #6b5b2a; font-size: .8rem; line-height: 1.55; }
.post-form { display: grid; max-width: 800px; grid-template-columns: 1fr 1fr; gap: 16px; }
.post-form .wide { grid-column: 1 / -1; }
.post-form textarea { min-height: 190px; }
.post-form .form-note { grid-column: 1 / -1; margin: 0; color: #6b5b2a; font-size: .8rem; line-height: 1.55; }
.smart-post-form { max-width: 920px; }
.quick-post-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--line); }
.quick-post-panel > div { display: grid; gap: 6px; padding: 18px; background: #fff; }
.quick-post-panel span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #e9f1ff; color: var(--blue); font-size: .82rem; font-weight: 850; }
.quick-post-panel strong { font-size: .95rem; }
.quick-post-panel p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.voice-detail-field textarea { min-height: 230px; font-size: 1rem; line-height: 1.65; }
.voice-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.voice-tools .button { min-height: 38px; }
.voice-tools span { color: var(--muted); font-size: .78rem; font-weight: 650; line-height: 1.45; }
.quick-budget { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 7px; }
.quick-budget button { min-height: 34px; border: 1px solid #cbd3de; border-radius: 999px; padding: 0 12px; background: #fff; color: #344054; font-size: .78rem; font-weight: 800; cursor: pointer; }
.quick-budget button:hover, .quick-budget button.active { border-color: var(--blue); background: #e9f1ff; color: var(--blue); }
.job-view-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 58px; align-items: start; }
.job-view-copy h2 { margin: 38px 0 13px; font-size: 1.45rem; }
.job-view-copy p { color: var(--muted); line-height: 1.8; white-space: pre-line; }
.reply-panel { border: 1px solid var(--line); border-radius: 8px; padding: 24px; background: #fff; box-shadow: var(--shadow); }
.reply-panel h2 { margin-bottom: 8px; font-size: 1.25rem; }
.reply-panel > p { color: var(--muted); font-size: .88rem; line-height: 1.65; }
.reply-form { display: grid; margin-top: 18px; gap: 14px; }
.reply-list { display: grid; gap: 12px; }
.reply-item { border: 1px solid var(--line); border-radius: 7px; padding: 18px; background: #fff; }
.reply-item-head { display: flex; margin-bottom: 10px; justify-content: space-between; gap: 16px; }
.reply-item p { margin-bottom: 8px; color: var(--muted); white-space: pre-line; }
.reply-contact { color: var(--blue); font-size: .86rem; font-weight: 750; }
.message-panel { margin-top: 48px; border-top: 1px solid var(--line); padding-top: 42px; }
.message-panel-head { display: flex; margin-bottom: 20px; align-items: end; justify-content: space-between; gap: 24px; }
.message-panel-head h2 { margin: 9px 0 8px; font-size: 1.55rem; }
.message-panel-head p { max-width: 700px; margin-bottom: 0; color: var(--muted); font-size: .88rem; line-height: 1.65; }
.thread-picker { min-width: 220px; }
.thread-picker label, .voice-upload label { display: grid; gap: 7px; color: #374459; font-size: .82rem; font-weight: 750; }
.thread-picker select { width: 100%; height: 42px; border: 1px solid #cbd3de; border-radius: 6px; padding: 0 10px; background: #fff; color: var(--ink); }
.message-list { display: grid; max-width: 860px; gap: 10px; }
.message-item { max-width: 78%; border: 1px solid var(--line); border-radius: 8px; padding: 15px 17px; background: #fff; }
.message-item-own { margin-left: auto; border-color: #b7cff7; background: #eef5ff; }
.message-item-head { display: flex; margin-bottom: 7px; align-items: baseline; justify-content: space-between; gap: 14px; }
.message-item-head strong { color: #263247; font-size: .86rem; }
.message-item-head time { color: var(--muted); font-size: .72rem; }
.message-text { margin: 0; color: #344054; font-size: .9rem; line-height: 1.65; white-space: pre-line; }
.message-audio { display: block; width: min(100%, 330px); margin-top: 10px; }
.message-composer { display: grid; max-width: 860px; margin-top: 18px; gap: 14px; }
.message-composer > label { display: grid; gap: 7px; color: #374459; font-size: .86rem; font-weight: 750; }
.message-composer textarea { width: 100%; min-height: 110px; border: 1px solid #cbd3de; border-radius: 6px; padding: 11px 12px; resize: vertical; }
.message-composer textarea:focus, .thread-picker select:focus { border-color: var(--blue); outline: 0; box-shadow: 0 0 0 3px rgba(7,86,232,.13); }
.voice-upload { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr); align-items: end; gap: 18px; }
.voice-upload input[type="file"] { width: 100%; border: 1px solid #cbd3de; border-radius: 6px; padding: 9px; background: #fff; color: #4c586d; font-size: .82rem; }
.voice-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.voice-button { min-height: 40px; padding: 0 12px; font-size: .78rem; }
.voice-status { color: var(--muted); font-size: .76rem; line-height: 1.45; }
.messenger-page-head { padding-bottom: 32px; }
.messenger-page-head h1 { font-size: 2.7rem; }
.messenger-layout { display: grid; min-height: 630px; grid-template-columns: 330px minmax(0, 1fr); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: #fff; box-shadow: var(--shadow); }
.conversation-sidebar { border-right: 1px solid var(--line); background: #f8fafc; }
.conversation-sidebar-head { display: flex; min-height: 70px; padding: 20px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.conversation-sidebar-head h2 { margin: 0; font-size: 1.1rem; }
.conversation-sidebar-head span { color: var(--muted); font-size: .82rem; font-weight: 750; }
.conversation-list { display: grid; }
.conversation-row { display: grid; min-width: 0; padding: 16px; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: start; gap: 11px; border-bottom: 1px solid var(--line); color: inherit; }
.conversation-row:hover, .conversation-row.active { background: #fff; }
.conversation-row.active { box-shadow: inset 3px 0 0 var(--blue); }
.conversation-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #e5efff; color: var(--blue); font-weight: 850; }
.conversation-copy { display: grid; min-width: 0; gap: 3px; }
.conversation-copy strong, .conversation-copy span, .conversation-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conversation-copy strong { font-size: .88rem; }
.conversation-copy span { color: #4b586c; font-size: .78rem; font-weight: 700; }
.conversation-copy small { color: var(--muted); font-size: .74rem; }
.unread-badge { display: grid; min-width: 22px; height: 22px; padding: 0 6px; place-items: center; border-radius: 999px; background: var(--blue); color: #fff; font-size: .7rem; font-weight: 850; }
.conversation-panel { display: grid; min-width: 0; grid-template-rows: auto auto minmax(260px, 1fr) auto; }
.conversation-panel-head { display: flex; min-height: 92px; padding: 20px 24px; align-items: center; justify-content: space-between; gap: 22px; border-bottom: 1px solid var(--line); }
.conversation-panel-head p, .conversation-panel-head h2, .conversation-panel-head span { margin: 0; }
.conversation-panel-head p { color: var(--blue); font-size: .76rem; font-weight: 800; }
.conversation-panel-head h2 { margin: 4px 0; font-size: 1.15rem; }
.conversation-panel-head span { color: var(--muted); font-size: .76rem; }
.messenger-message-list { max-height: 480px; max-width: none; overflow-y: auto; padding: 24px; align-content: start; background: #f8fafc; }
.messenger-composer { max-width: none; margin: 0; border-top: 1px solid var(--line); padding: 20px 24px; }
.booking-workflow { display: grid; gap: 16px; margin: 26px 0; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.conversation-panel .booking-workflow { margin: 0; padding: 20px 24px; border-top: 0; }
.booking-workflow-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.booking-workflow-head h3 { margin: 4px 0 0; font-size: 1.12rem; }
.booking-workflow-head .eyebrow { margin: 0; font-size: .75rem; }
.booking-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.booking-summary > div { display: grid; gap: 4px; }
.booking-summary span, .booking-invoice-link span { color: var(--muted); font-size: .82rem; }
.booking-summary strong { color: var(--ink); font-size: .95rem; }
.booking-notes { margin: 0; color: #4b586c; font-size: .88rem; line-height: 1.55; white-space: pre-wrap; }
.booking-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.booking-actions form { margin: 0; }
.booking-invoice-link { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.booking-invoice-link a { color: var(--blue); font-weight: 750; }
.booking-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.booking-form label { display: grid; min-width: 0; gap: 6px; color: #374459; font-size: .84rem; font-weight: 750; }
.booking-form input, .booking-form select, .booking-form textarea { width: 100%; min-width: 0; border: 1px solid #cbd3de; border-radius: 6px; background: #fff; color: var(--ink); }
.booking-form input { height: 44px; padding: 0 11px; }
.booking-form select { min-height: 44px; padding: 0 11px; }
.booking-form textarea { min-height: 82px; padding: 10px 11px; resize: vertical; }
.booking-form-wide { grid-column: 1 / -1; }
.booking-form .form-note { margin: 0; color: var(--muted); font-size: .8rem; }
.booking-form button { justify-self: start; }
.booking-cancel-form { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; }
.booking-cancel-form .form-note { margin: 0; }
.freelancer-rate-line { color: #155342; font-size: .85rem; font-weight: 650; }
.profile-rate-list { display: grid; gap: 7px; margin: 0 0 18px; padding-left: 20px; color: #155342; font-weight: 700; }
.vault-toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.vault-finance-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.vault-finance-summary > div { display: grid; gap: 5px; min-width: 0; padding: 20px 24px 20px 0; }
.vault-finance-summary > div + div { border-left: 1px solid var(--line); padding-left: 24px; }
.vault-finance-summary span { color: var(--muted); font-size: .85rem; }
.vault-finance-summary strong { font-size: 1.45rem; line-height: 1.2; overflow-wrap: anywhere; }
.vault-finance-summary small { color: var(--muted); font-size: .78rem; }
.vault-payment-notice { max-width: 740px; margin: 16px 0 0; color: #6b4d22; font-size: .88rem; line-height: 1.55; }
.vault-list { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: var(--line); }
.vault-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 20px; background: #fff; }
.vault-row strong, .vault-row span { display: block; }
.vault-row span { margin-top: 4px; color: var(--muted); font-size: .82rem; }
.vault-upload { display: grid; max-width: 630px; gap: 14px; margin-top: 24px; }
.vault-upload label { display: grid; gap: 6px; font-size: .86rem; font-weight: 750; }
.vault-upload input { width: 100%; min-height: 44px; border: 1px solid #cbd3de; border-radius: 6px; padding: 9px 11px; }
.invoice-sheet { max-width: 860px; margin: 0 auto; padding: 38px; border: 1px solid var(--line); background: #fff; }
.invoice-head, .invoice-parties, .invoice-total { display: flex; justify-content: space-between; gap: 24px; }
.invoice-parties { margin: 34px 0; }
.invoice-parties > div { flex: 1; }
.invoice-label { display: block; margin-bottom: 6px; color: var(--muted); font-size: .78rem; font-weight: 750; text-transform: uppercase; }
.invoice-total { margin-top: 30px; border-top: 1px solid var(--line); padding-top: 20px; font-size: 1.25rem; font-weight: 800; }

.blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--line); gap: 1px; }
.blog-grid[data-listing-view="list"] { grid-template-columns: 1fr; }
.blog-grid[data-listing-view="list"] .blog-card { min-height: 0; display: grid; grid-template-columns: minmax(160px, .65fr) minmax(0, 1.35fr); gap: 6px 18px; }
.blog-grid[data-listing-view="list"] .blog-card > *:not(.blog-card-topic) { grid-column: 2; }
.blog-grid[data-listing-view="list"] .blog-card-topic { grid-row: 1 / span 5; grid-column: 1; align-self: start; }
.blog-card { min-height: 260px; padding: 28px; background: #fff; }
.blog-card time { color: #68758a; font-size: .76rem; font-weight: 750; }
.blog-card h2 { margin: 18px 0 12px; font-size: 1.45rem; }
.blog-card h2 a:hover { color: var(--blue); }
.blog-card p { color: var(--muted); line-height: 1.72; }
.blog-card > a { color: var(--blue); font-size: .9rem; font-weight: 800; }
.article-shell { width: min(100% - 40px, 800px); margin-inline: auto; }
.article-header { padding: 66px 0 42px; }
.article-header h1 { margin: 16px 0 18px; font-size: clamp(2.45rem, 6vw, 4rem); }
.article-header p { color: var(--muted); font-size: 1.1rem; line-height: 1.75; }
.article-meta { display: flex; gap: 14px; color: #68758a; font-size: .82rem; font-weight: 750; }
.article-body { border-top: 1px solid var(--line); padding: 44px 0 64px; }
.article-body p { margin-bottom: 24px; color: #344054; font-size: 1.05rem; line-height: 1.9; }
.comments-section { border-top: 1px solid var(--line); padding: 54px 0 84px; background: var(--wash); }
.comments-section h2 { margin-bottom: 24px; font-size: 1.6rem; }
.comment-form { display: grid; margin-bottom: 32px; gap: 13px; }
.comment-form .button { width: max-content; }
.comment-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.comment { padding: 20px; background: #fff; }
.comment-head { display: flex; margin-bottom: 9px; align-items: center; justify-content: space-between; gap: 16px; }
.comment-head time { color: var(--muted); font-size: .76rem; }
.comment p { margin-bottom: 0; color: #48566b; line-height: 1.7; white-space: pre-line; }
.empty-public { border: 1px dashed #b8c1cd; border-radius: 8px; padding: 46px 24px; text-align: center; }
.empty-public h2, .empty-public h3 { margin-bottom: 8px; }
.empty-public p { color: var(--muted); }

@media (max-width: 980px) {
  .profile-page-grid { grid-template-columns: 1fr; }
  .profile-page-side { border: 0; border-top: 1px solid var(--line); padding: 20px 0 0; }
  .auth-shell, .account-grid, .market-layout, .job-view-grid { grid-template-columns: 1fr; gap: 36px; }
  .freelancer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .auth-intro { padding-top: 0; }
  .account-sidebar, .market-side { border-right: 0; border-left: 0; border-bottom: 1px solid var(--line); padding: 0 0 24px; }
  .market-toolbar { grid-template-columns: 1fr 1fr; }
  .messenger-layout { grid-template-columns: 280px minmax(0, 1fr); }
}

@media (max-width: 700px) {
  .profile-page-head, .profile-media-row { align-items: flex-start; flex-direction: column; }
  .map-field-head { align-items: flex-start; flex-direction: column; }
  .job-location-map { height: 260px; }
  .quick-post-panel { grid-template-columns: 1fr; }
  .voice-tools { align-items: stretch; flex-direction: column; }
  .voice-tools .button { width: 100%; }
  .page-band { padding: 42px 0 36px; }
  .page-band-grid, .blog-grid, .post-form, .profile-form { grid-template-columns: 1fr; }
  .page-actions { justify-content: flex-start; }
  .auth-panel { padding: 22px 18px; }
  .social-actions, .market-toolbar { grid-template-columns: 1fr; }
  .contact-verification-grid { grid-template-columns: 1fr; }
  .account-head { align-items: stretch; flex-direction: column; }
  .market-job { grid-template-columns: 1fr; padding: 21px 18px; }
  .freelancer-grid { grid-template-columns: 1fr; }
  .market-budget { text-align: left; }
  .post-form .wide, .profile-form .wide { grid-column: auto; }
  .dashboard-row { grid-template-columns: 1fr; }
  .message-panel-head, .voice-upload { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
  .message-item { max-width: 92%; }
  .messenger-layout { display: block; min-height: 0; }
  .conversation-sidebar { border-right: 0; border-bottom: 1px solid var(--line); }
  .conversation-list { max-height: 280px; overflow-y: auto; }
  .conversation-panel-head { align-items: flex-start; flex-direction: column; }
  .messenger-message-list { max-height: 430px; }
  .messenger-composer { padding: 18px; }
  .conversation-panel .booking-workflow { padding: 18px; }
  .booking-workflow-head, .invoice-head, .invoice-parties { flex-direction: column; }
  .booking-summary, .booking-form { grid-template-columns: 1fr; }
  .booking-form-wide { grid-column: auto; }
  .vault-row { align-items: flex-start; flex-direction: column; }
  .vault-finance-summary { grid-template-columns: 1fr; }
  .vault-finance-summary > div + div { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .invoice-sheet { padding: 24px 18px; }
  .article-shell { width: min(100% - 32px, 800px); }
  .article-header { padding-top: 48px; }
}

/* Shared marketplace surfaces */
.page-band { padding: 46px 0 40px; background: #f4f7f6; }
.page-band h1 { max-width: 720px; margin-bottom: 10px; font-size: 2.45rem; line-height: 1.1; }
.page-band p:last-child { max-width: 680px; font-size: .97rem; line-height: 1.58; }
.page-actions { align-items: center; }
.content-section { padding: 38px 0 72px; }
.role-badge, .state-badge { border-radius: 4px; padding: 5px 8px; background: #eaf4f1; color: #096752; font-size: .7rem; }
.state-open, .state-published, .state-approved, .state-active { background: #e8f6ee; color: #12683b; }
.state-pending, .state-draft { background: #fff4d9; color: #78530a; }
.notice { border-radius: 5px; }

.market-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 34px; }
.market-toolbar { grid-template-columns: minmax(180px, 1.4fr) minmax(155px, 1fr) minmax(140px, .8fr) auto; gap: 8px; margin-bottom: 17px; }
.market-toolbar input, .market-toolbar select { height: 46px; border-color: #cbd6dd; border-radius: 5px; padding-inline: 13px; }
.market-toolbar .button { min-height: 46px; }
.job-count { margin-bottom: 13px; color: #4f606c; font-size: .8rem; text-transform: uppercase; }
.market-list { border-radius: 6px; }
.market-job { gap: 20px; padding: 22px 23px; }
.market-job h2 { font-size: 1.18rem; }
.market-job p { margin-bottom: 14px; font-size: .88rem; line-height: 1.58; }
.market-meta { gap: 9px 18px; font-size: .76rem; }
.market-budget strong { color: var(--green); font-size: 1rem; }
.market-side { padding-left: 22px; }
.market-side h2 { font-size: 1.08rem; }
.market-side p { font-size: .84rem; }
.market-side .market-note { color: #6f582c; }

.freelancer-grid { gap: 12px; }
.freelancer-card { display: flex; min-height: 292px; flex-direction: column; border-radius: 6px; padding: 20px; box-shadow: 0 3px 12px rgba(27,49,65,.04); }
.freelancer-card:hover { border-color: #aac5e9; box-shadow: var(--shadow); }
.freelancer-card .profile-photo, .freelancer-card .profile-avatar { width: 52px; height: 52px; flex-basis: 52px; }
.freelancer-card h2 { font-size: 1.03rem; }
.freelancer-card-category { margin: 15px 0 0; color: #2d3e4e; font-size: .83rem; font-weight: 760; }
.freelancer-card .rating-line { margin: 8px 0 0; }
.freelancer-card .profile-skills { margin: 12px 0 4px; }
.freelancer-card .profile-bio { display: -webkit-box; overflow: hidden; margin: 6px 0 16px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.freelancer-card > .text-link { margin-top: auto; border-top: 1px solid var(--line); padding-top: 13px; }
.rating-line { color: #a25427; }
.verified-tick { background: var(--blue); }
.blog-topic-filter { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; }
.blog-topic-filter a { display: inline-flex; min-height: 34px; align-items: center; gap: 7px; border: 1px solid #d5dfe3; border-radius: 4px; padding: 6px 10px; background: #fff; color: #334550; font-size: .78rem; text-decoration: none; }
.blog-topic-filter a[aria-current="page"] { border-color: #9fc4f4; background: #eef5ff; color: #074cbf; }
.blog-topic-filter img, .blog-card-topic img, .article-topic img { flex: 0 0 auto; }
.blog-card { display: flex; flex-direction: column; }
.blog-card-topic, .article-topic { display: inline-flex; width: fit-content; align-items: center; gap: 7px; border-radius: 4px; padding: 5px 8px; background: #eaf4f1; color: #096752; font-size: .74rem; font-weight: 700; }
.blog-card-topic { margin-bottom: 12px; }
.blog-card > time { margin-bottom: 8px; }
.blog-read-link { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: auto; padding-top: 12px; }
.blog-comment-count { margin-left: auto; color: #63717b; font-size: .76rem; font-weight: 500; }
.article-topic { margin: 20px 0 12px; }
.article-topic a { color: inherit; text-decoration: none; }
.article-topic a:hover { text-decoration: underline; }
.profile-page-grid { gap: 40px; }
.profile-page-side { padding-left: 25px; }
.review-item p { line-height: 1.6; }

.auth-shell { width: min(100% - 40px, 1040px); gap: 55px; }
.auth-intro h1 { font-size: 2.35rem; }
.auth-panel { border-radius: 6px; box-shadow: var(--shadow); }
.auth-tabs { gap: 3px; border: 1px solid var(--line); border-radius: 5px; padding: 3px; background: var(--wash); }
.auth-tabs a { margin: 0; border: 0; border-radius: 3px; padding: 9px; }
.auth-tabs a.active { background: #fff; color: var(--blue); box-shadow: 0 1px 5px rgba(27,49,65,.11); }
.account-grid { gap: 32px; }
.account-sidebar { padding-right: 25px; }
.account-nav a.active { border-color: #b9d3f9; background: #f2f7ff; padding-left: 9px; }
.dashboard-list { border-radius: 6px; }
.dashboard-row { padding: 16px 18px; }

.messenger-layout { border-radius: 6px; box-shadow: none; }
.conversation-sidebar { background: #f4f7f6; }
.conversation-row.active { box-shadow: inset 3px 0 0 var(--green); }
.messenger-message-list { background: #f6f9f8; }
.message-item { border-radius: 7px; }
.message-item-own { border-color: #bddef2; background: #eaf5ff; }
.booking-workflow { background: #fff; }

.blog-grid { border-radius: 6px; }
.blog-card { min-height: 234px; padding: 24px; }
.blog-card h2 { font-size: 1.32rem; }
.blog-card p { font-size: .89rem; line-height: 1.65; }
.article-header h1 { font-size: 2.85rem; }
.article-body p { line-height: 1.8; }
.empty-public { border-color: #b6cbd0; border-radius: 6px; background: #fbfdfc; }

.discovery-band-grid { grid-template-columns: minmax(0, 1.12fr) minmax(260px, .88fr); align-items: center; gap: clamp(24px, 4vw, 52px); }
.discovery-copy .page-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.discovery-visual { min-width: 0; margin: 0; }
.discovery-visual > img { display: block; width: 100%; height: auto; max-height: 240px; aspect-ratio: 1.62; border-radius: 5px; object-fit: cover; object-position: 72% center; }
.discovery-visual figcaption { display: flex; align-items: center; gap: 8px; margin-top: 10px; color: #546672; font-size: .78rem; }
.discovery-visual figcaption img, .market-toolbar .button img { flex: 0 0 auto; }
.market-toolbar .button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.market-category { display: inline-flex; max-width: 100%; align-items: center; gap: 8px; border-radius: 4px; padding: 5px 8px; background: #eaf4f1; color: #096752; font-size: .7rem; line-height: 1.25; }
.market-category img { flex: 0 0 auto; }
.market-meta span { display: inline-flex; align-items: center; gap: 5px; }
.market-meta img { flex: 0 0 auto; opacity: .78; }
.freelancer-card-head p { display: flex; align-items: center; gap: 5px; }
.freelancer-card-category { display: flex; align-items: center; gap: 8px; }
.freelancer-card-category img, .rating-line img { flex: 0 0 auto; }
.freelancer-card .rating-line { display: flex; align-items: center; gap: 5px; }

@media (max-width: 1120px) {
  .market-layout { grid-template-columns: 1fr; }
  .market-side { display: none; }
}
@media (max-width: 800px) {
  .page-band-grid { grid-template-columns: 1fr; gap: 19px; }
  .discovery-band-grid { grid-template-columns: 1fr; gap: 20px; }
  .discovery-visual > img { aspect-ratio: 2.05; }
  .page-actions { justify-content: flex-start; }
  .market-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .freelancer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .page-band { padding: 31px 0 29px; }
  .page-band h1 { font-size: 1.95rem; }
  .page-band p:last-child { font-size: .87rem; }
  .content-section { padding: 27px 0 54px; }
  .page-actions .button { min-height: 40px; font-size: .82rem; }
  .market-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-toolbar input:first-child, .market-toolbar .button { grid-column: 1 / -1; }
  .market-toolbar input, .market-toolbar select { min-width: 0; }
  .market-job { padding: 17px; }
  .discovery-visual > img { aspect-ratio: 1.72; }
  .market-budget { border-top: 1px solid var(--line); padding-top: 10px; text-align: left; }
  .freelancer-grid { grid-template-columns: 1fr; }
  .freelancer-card { min-height: 0; }
  .auth-shell { width: min(100% - 32px, 1040px); padding-top: 34px; }
  .auth-intro h1 { font-size: 1.95rem; }
  .article-header h1 { font-size: 2.1rem; }
}

.platform-inbox { margin-bottom:32px; border-top:2px solid var(--green); }
.platform-inbox-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0 10px; }
.platform-inbox-head h2 { margin:0; font-size:1.24rem; }
.platform-inbox-head span { color:var(--muted); font-size:.82rem; font-weight:750; }
.platform-message-list { border-top:1px solid var(--line); }
.platform-message { padding:15px 0; border-bottom:1px solid var(--line); }
.platform-message > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.platform-message strong { font-size:.95rem; }
.platform-message time { color:var(--muted); font-size:.78rem; white-space:nowrap; }
.platform-message p { max-width:820px; margin:10px 0 0; line-height:1.65; overflow-wrap:anywhere; }
.platform-message .text-link { display:inline-block; margin-top:7px; font-size:.84rem; }
.platform-message-unread strong { color:var(--blue); }
@media (max-width:600px) { .platform-message > div { align-items:start; flex-direction:column; gap:3px; } }

.offer-tabs { display:inline-flex; margin-bottom:20px; border:1px solid var(--line); border-radius:6px; padding:3px; background:#f3f6f8; }
.offer-tabs a { display:inline-flex; min-height:40px; align-items:center; justify-content:center; border-radius:4px; padding:0 18px; color:#4b596a; font-size:.88rem; font-weight:760; }
.offer-tabs a[aria-current="page"] { background:#fff; color:var(--blue-dark); box-shadow:0 1px 4px rgba(15,23,42,.12); }
.offer-listings { display:grid; border-top:1px solid var(--line); }
.offer-listings[data-listing-view="cards"] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); border: 0; gap: 12px; }
.offer-listings[data-listing-view="cards"] .offer-listing { grid-template-columns: 1fr; align-content: start; gap: 16px; border: 1px solid var(--line); border-radius: 7px; padding: 18px; background: #fff; }
.offer-listings[data-listing-view="cards"] .offer-price { justify-items: start; }
.offer-listing { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; border-bottom:1px solid var(--line); padding:23px 4px; }
.offer-listing .card-label { margin:0 0 7px; }
.offer-listing h2 { margin:0 0 8px; font-size:1.18rem; }
.offer-listing h2 a:hover { color:var(--blue); }
.offer-summary { display:-webkit-box; max-width:780px; overflow:hidden; margin:0 0 10px; color:var(--muted); font-size:.9rem; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.offer-listing .market-meta { margin-top:6px; }
.offer-price { display:grid; justify-items:end; gap:12px; white-space:nowrap; }
.offer-price strong { font-size:1rem; }
.offer-price .button { min-height:40px; padding-inline:14px; font-size:.82rem; }
.offer-trust-note { display:grid; gap:5px; margin-top:32px; border-left:3px solid #b47c21; padding:13px 16px; background:#fff9e8; }
.offer-trust-note strong { font-size:.88rem; }
.offer-trust-note span { color:#5f5b51; font-size:.82rem; line-height:1.55; }
.offer-form-shell { max-width:850px; }
.offer-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.offer-form label, .offer-inquiry label { display:grid; min-width:0; gap:7px; color:#374459; font-size:.84rem; font-weight:750; }
.offer-form input, .offer-form select, .offer-form textarea, .offer-inquiry textarea { width:100%; min-width:0; border:1px solid #cbd3de; border-radius:6px; padding:10px 12px; background:#fff; color:var(--ink); }
.offer-form input, .offer-form select { height:46px; }
.offer-form textarea, .offer-inquiry textarea { min-height:120px; resize:vertical; }
.offer-form input:focus, .offer-form select:focus, .offer-form textarea:focus, .offer-inquiry textarea:focus { border-color:var(--blue); outline:0; box-shadow:0 0 0 3px rgba(7,86,232,.13); }
.offer-form .wide { grid-column:1 / -1; }
.offer-form .form-note { margin:0; color:var(--muted); font-size:.81rem; line-height:1.6; text-align:left; }
.offer-detail-section { padding-top:35px; }
.offer-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 345px; align-items:start; gap:38px; }
.offer-detail { min-width:0; }
.offer-detail h1 { max-width:800px; margin-bottom:12px; font-size:2.4rem; }
.offer-detail-location { color:var(--muted); }
.offer-detail-price { margin:22px 0; color:var(--blue-dark); font-size:1.45rem; font-weight:850; }
.offer-description { border-top:1px solid var(--line); padding-top:20px; color:#344054; line-height:1.8; overflow-wrap:anywhere; }
.offer-owner { display:flex; margin-top:24px; align-items:center; gap:12px; border-top:1px solid var(--line); padding-top:16px; }
.offer-owner span { color:var(--muted); font-size:.85rem; }
.offer-owner strong { font-size:.92rem; }
.offer-safety { margin-top:25px; border-left:3px solid #b47c21; padding:13px 16px; background:#fff9e8; }
.offer-safety strong { font-size:.88rem; }
.offer-safety p { margin:6px 0 0; color:#5f5b51; font-size:.82rem; line-height:1.6; }
.offer-contact-panel { display:grid; gap:14px; border:1px solid var(--line); border-radius:7px; padding:22px; background:#fff; }
.offer-contact-panel h2 { margin:0; font-size:1.22rem; }
.offer-contact-panel > p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.6; }
.offer-contact-panel .button { width:100%; }
.offer-inquiry { display:grid; gap:12px; }
.offer-manage-list, .offer-inquiry-list { display:grid; border-top:1px solid var(--line); }
.offer-manage-list[data-listing-view="cards"], .offer-inquiry-list[data-listing-view="cards"], .dashboard-list[data-listing-view="cards"] { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); border:0; background:transparent; gap:12px; overflow:visible; }
.offer-manage-list[data-listing-view="cards"] .offer-manage-row, .offer-inquiry-list[data-listing-view="cards"] .offer-inquiry-row, .dashboard-list[data-listing-view="cards"] .dashboard-row { min-width:0; border:1px solid var(--line); border-radius:6px; padding:18px; background:#fff; }
.offer-manage-list[data-listing-view="cards"] .offer-manage-row { grid-template-columns:1fr; align-content:start; }
.offer-manage-list[data-listing-view="cards"] .offer-manage-actions { align-self:end; }
.offer-inquiry-list[data-listing-view="cards"] .offer-inquiry-row { align-content:start; }
.dashboard-list[data-listing-view="cards"] .dashboard-row { grid-template-columns:1fr auto; align-content:start; }
.offer-manage-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; border-bottom:1px solid var(--line); padding:18px 0; }
.offer-manage-row .card-label { margin:0 0 6px; }
.offer-manage-row h3 { margin:0 0 7px; font-size:1rem; }
.offer-manage-row h3 a:hover { color:var(--blue); }
.offer-manage-row p:not(.card-label) { margin:0 0 8px; color:var(--muted); font-size:.84rem; }
.offer-manage-actions { display:flex; flex-wrap:wrap; gap:8px; }
.offer-manage-actions .button { min-height:40px; padding-inline:12px; font-size:.82rem; }
.offer-inquiry-row { border-bottom:1px solid var(--line); padding:16px 0; }
.offer-inquiry-row > div { display:flex; justify-content:space-between; gap:12px; }
.offer-inquiry-row time { color:var(--muted); font-size:.78rem; }
.offer-inquiry-row p { margin:9px 0; line-height:1.65; white-space:pre-line; overflow-wrap:anywhere; }
.offer-inquiry-row .form-note { color:var(--muted); font-size:.8rem; }
.offer-inquiry-row .text-link { color:var(--blue); font-size:.85rem; font-weight:750; }

.sos-page-intro { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.sos-page-intro > div { max-width:760px; }
.sos-page-intro .button { flex:0 0 auto; }
.sos-safety-note { display:flex; max-width:920px; align-items:flex-start; gap:13px; border-left:3px solid #bd4338; padding:15px 17px; background:#fff4f2; color:#52251f; }
.sos-safety-note > img { flex:0 0 auto; }
.sos-safety-note strong { display:block; margin-bottom:3px; font-size:.92rem; }
.sos-safety-note p { margin:0; color:#68433e; font-size:.85rem; line-height:1.55; }
.sos-search { max-width:900px; margin-top:24px; grid-template-columns:minmax(220px,1fr) minmax(180px,.9fr) auto; }
.sos-search select { min-width:0; height:46px; border:1px solid #cbd6dd; border-radius:5px; padding:0 12px; background:#fff; color:var(--ink); }
.sos-search .button { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.sos-provider-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.sos-provider-grid[data-listing-view="list"] { grid-template-columns:1fr; }
.sos-provider-card { min-width:0; border:1px solid var(--line); border-radius:7px; padding:20px; background:#fff; }
.sos-provider-grid[data-listing-view="list"] .sos-provider-card { display:grid; grid-template-columns:minmax(190px,.8fr) minmax(0,1.3fr) auto; align-items:center; gap:14px 22px; }
.sos-provider-head { display:flex; min-width:0; align-items:center; gap:12px; }
.sos-provider-head > div { min-width:0; }
.sos-provider-head h2 { margin:0 0 5px; font-size:1.05rem; overflow-wrap:anywhere; }
.sos-provider-head h2 a:hover { color:var(--blue); }
.sos-provider-head p { display:flex; align-items:flex-start; gap:4px; margin:0; color:var(--muted); font-size:.78rem; line-height:1.5; }
.sos-provider-head p img, .sos-provider-rating img { flex:0 0 auto; }
.sos-provider-category { margin:14px 0 10px; color:var(--muted); font-size:.8rem; }
.sos-provider-grid[data-listing-view="list"] .sos-provider-category { margin:0; }
.sos-badges { display:flex; flex-wrap:wrap; gap:7px; }
.sos-service-badge { display:inline-flex; max-width:100%; align-items:flex-start; gap:7px; border:1px solid #e0e5ea; border-radius:5px; padding:7px 9px; background:#f7f9fb; color:#344054; font-size:.75rem; font-weight:750; line-height:1.35; }
.sos-service-badge > img { flex:0 0 auto; }
.sos-service-badge small { display:block; margin-top:2px; color:#667085; font-size:.67rem; font-weight:650; }
.sos-service-verified { border-color:#b9e2c8; background:#eef9f1; color:#175d35; }
.sos-service-volunteer { border-color:#f0d8a1; background:#fff9eb; color:#76520b; }
.sos-provider-rating { display:flex; align-items:center; gap:6px; margin:13px 0 8px; color:#775500; font-size:.79rem; font-weight:750; }
.sos-provider-grid[data-listing-view="list"] .sos-provider-rating { margin:0; }
.sos-provider-card > .text-link { display:inline-block; margin-top:8px; }
.sos-provider-grid[data-listing-view="list"] .sos-provider-card > .text-link { margin:0; }
.sos-privacy-note { max-width:900px; margin-top:28px; line-height:1.65; }
.profile-sos-section { margin:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; }
.profile-sos-section > p:not(.field-help) { max-width:720px; color:var(--muted); font-size:.88rem; line-height:1.6; }
.profile-sos-section .field-help { margin-top:12px; }
.sos-settings-head { max-width:800px; margin:22px 0; }
.sos-profile-options, .sos-credential-options { display:grid; gap:10px; border:1px solid var(--line); border-radius:6px; padding:18px; }
.sos-profile-options legend, .sos-credential-options legend { padding:0 6px; font-weight:800; }
.sos-profile-options > p, .sos-credential-options > p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.55; }
.sos-profile-options .check-line, .sos-credential-options .check-line { display:flex; align-items:flex-start; gap:10px; }
.sos-profile-options input, .sos-credential-options input { margin-top:3px; accent-color:var(--blue); }
.sos-settings-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.sos-qualification-section { max-width:760px; margin-top:32px; border-top:1px solid var(--line); padding-top:24px; }
.sos-qualification-section > p { color:var(--muted); line-height:1.6; }
.sos-qualification-form { display:grid; gap:14px; margin-top:18px; }
.sos-review-state { margin-top:18px; font-size:.86rem; }
@media (max-width:700px) {
  .freelancer-grid[data-listing-view="list"] .freelancer-card,
  .blog-grid[data-listing-view="list"] .blog-card { grid-template-columns:minmax(0,1fr); }
  .freelancer-grid[data-listing-view="list"] .freelancer-card > *,
  .blog-grid[data-listing-view="list"] .blog-card > * { grid-column:1 !important; grid-row:auto; min-width:0; }
  .sos-safety-note { flex-wrap:wrap; }
}
@media (max-width:900px) {
  .sos-provider-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sos-provider-grid[data-listing-view="list"] .sos-provider-card { grid-template-columns:minmax(170px,.8fr) minmax(0,1.2fr); }
  .sos-provider-grid[data-listing-view="list"] .sos-provider-card > .text-link { grid-column:2; }
}
@media (max-width:650px) {
  .sos-page-intro { align-items:flex-start; flex-direction:column; }
  .sos-search { grid-template-columns:1fr; }
  .sos-provider-grid { grid-template-columns:1fr; }
  .sos-provider-grid[data-listing-view="list"] .sos-provider-card { grid-template-columns:1fr; gap:12px; }
  .sos-provider-grid[data-listing-view="list"] .sos-provider-card > .text-link { grid-column:auto; }
  .sos-provider-grid[data-listing-view="list"] .sos-provider-category { margin:0; }
  .sos-settings-actions { align-items:stretch; flex-direction:column; }
}
@media (max-width:900px) { .offer-detail-grid { grid-template-columns:1fr; gap:24px; } .offer-contact-panel { max-width:none; } }
@media (max-width:700px) {
  .offer-listing { grid-template-columns:1fr; gap:14px; padding:19px 0; }
  .offer-price { justify-items:start; }
  .offer-price .button { width:100%; }
  .offer-form { grid-template-columns:1fr; }
  .offer-form .wide { grid-column:auto; }
  .offer-manage-row { grid-template-columns:1fr; }
  .offer-manage-actions { width:100%; }
  .offer-manage-actions .button { flex:1; }
  .offer-inquiry-row > div { align-items:flex-start; flex-direction:column; gap:3px; }
}
