/* Private desktop workspace. Explicit surface/text pairs work in both themes. */
body.desktop-workspace { --dw-bg:#0a0e1a; --dw-card:#141a2a; --dw-raised:#1d273c; --dw-text:#f7f8fc; --dw-line:#3c4863; --dw-accent:#7160eb; background:var(--dw-bg); color:var(--dw-text); }
html[data-theme="light"] body.desktop-workspace, body.desktop-workspace[data-theme="light"], html.light body.desktop-workspace { --dw-bg:#f3f5fb; --dw-card:#fff; --dw-raised:#e9edf7; --dw-text:#0a0e1a; --dw-line:#9da9c1; --dw-accent:#5139c9; }
.desktop-workspace [hidden] { display:none!important; }
.dw-nav { display:flex; flex-direction:column; gap:8px; position:fixed; inset-inline-start:20px; top:122px; width:208px; padding:16px; border:1px solid var(--dw-line); background:var(--dw-card); border-radius:22px; z-index:35; }
.dw-nav a { display:flex; align-items:center; gap:12px; min-height:48px; padding:10px 12px; text-decoration:none; color:var(--dw-text); border-radius:12px; font-weight:650; }
.dw-nav-icon { width:24px; text-align:center; font-size:23px; }
.dw-nav a:hover, .dw-nav a[aria-current] { background:var(--dw-raised); outline:1px solid var(--dw-line); }
.dw-nav .dw-nav-create { margin-top:12px; background:var(--dw-accent); color:#fff; }
.desktop-workspace main { margin-inline-start:252px!important; margin-inline-end:24px!important; width:auto!important; max-width:1500px; }
.desktop-workspace #site-footer { margin-inline-start:252px; }
.desktop-workspace :is(.pl-page,.offer-create-section,.msg-main) { padding-top:28px; }
.desktop-workspace :is(h1,h2,h3,p,label,legend,small,.offer-help,.msg-peer-status) { color:var(--dw-text); }
.desktop-workspace :is(input,textarea,select) { color:var(--dw-text); background:var(--dw-raised); border-color:var(--dw-line); }
.desktop-workspace :is(input,textarea)::placeholder { color:var(--dw-text); opacity:.76; }
.desktop-workspace :focus-visible { outline:3px solid var(--dw-accent); outline-offset:3px; }
.desktop-workspace .pl-hero { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr); gap:28px; padding:30px; border:1px solid var(--dw-line); background:var(--dw-card); border-radius:24px; }
.desktop-workspace .pl-hero h1 { font-size:clamp(26px,2.5vw,42px); }
.desktop-workspace .pl-hero-panel { background:var(--dw-raised); }
.desktop-workspace :is(.pl-filter,.pl-row-section,.pl-top-offers) { margin-block:24px; }
.desktop-workspace .pl-card-row { grid-auto-columns:220px; }
.desktop-workspace .offer-create-shell { max-width:1200px; margin:0 auto; }
.desktop-workspace .offer-create-card { background:var(--dw-card); color:var(--dw-text); border:1px solid var(--dw-line); padding:28px; }
.desktop-workspace .offer-stepper { --dw-step-complete-bg:#39ff14; --dw-step-complete-text:#0a0e1a; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; margin-block:24px 32px; }
.desktop-workspace .offer-stepper li { min-width:0; color:var(--dw-text); }
.desktop-workspace .offer-stepper strong { font-size:13px; overflow-wrap:anywhere; }
.desktop-workspace .offer-step { max-width:900px; margin-inline:auto; }
.desktop-workspace .offer-type-grid { align-items:start; grid-template-columns:repeat(2,minmax(0,1fr)); }
.desktop-workspace section[data-step="0"] .offer-type-grid { max-width:620px; margin:48px auto; }
.desktop-workspace section[data-step="0"] .offer-type-card { min-height:220px; aspect-ratio:auto; justify-content:center; background:linear-gradient(135deg,#bafdaacc,#58ed8466); backdrop-filter:blur(18px); color:#09130b; border-color:#6acd70; }
.desktop-workspace section[data-step="0"] .offer-type-card:nth-child(2) { background:linear-gradient(135deg,#fff5a8ee,#ffe84e88); border-color:#d9c231; }
.desktop-workspace section[data-step="0"] .offer-type-card :is(strong,small) { color:#09130b; }
.desktop-workspace .offer-type-card.is-selected { outline:3px solid var(--dw-accent); outline-offset:3px; }
.desktop-workspace .offer-step[data-step="3"].is-active { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.desktop-workspace .offer-category-fields { grid-template-columns:minmax(0,1fr); align-content:start; }
.desktop-workspace .offer-category-fields .offer-field { min-width:0; }
.desktop-workspace .offer-delivery-details { min-width:0; margin:0; border:1px solid var(--dw-line); border-radius:16px; padding:20px; background:var(--dw-raised); color:var(--dw-text); }
.desktop-workspace .offer-delivery-details legend { padding-inline:8px; font-weight:700; color:var(--dw-text); }
.desktop-workspace .offer-delivery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.desktop-workspace .offer-delivery-grid :is(small,p) { margin:0; color:var(--dw-text); line-height:1.6; }
.desktop-workspace .offer-delivery-grid [hidden] { display:none; }
.desktop-workspace .offer-delivery-review { border-top:1px solid var(--dw-line); margin-top:20px; padding-top:16px; color:var(--dw-text); }
.desktop-workspace :is(.offer-review-card,.offer-review-checks) { background:var(--dw-card); color:var(--dw-text); border-color:var(--dw-line); }
.desktop-workspace :is(.offer-review-body,.offer-review-checks) :is(h2,p,li) { color:var(--dw-text); }
.desktop-workspace .offer-review-meta span { color:var(--dw-text); background:var(--dw-raised); border-color:var(--dw-line); }
.desktop-workspace .offer-delivery-review h3 { font-size:1rem; color:var(--dw-text); margin:0 0 12px; }
.desktop-workspace #offer-review-details { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:8px 16px; color:var(--dw-text); }
.desktop-workspace #offer-review-details dt { font-weight:700; }
.desktop-workspace #offer-review-details dd { margin:0; overflow-wrap:anywhere; }
@media(max-width:640px) { .desktop-workspace .offer-delivery-grid { grid-template-columns:minmax(0,1fr); } .desktop-workspace .offer-delivery-details { padding:16px; } }
.desktop-workspace .offer-step[data-step="3"] > :is(fieldset,.offer-location,.offer-desired,.offer-field:last-child) { grid-column:1/-1; }
.desktop-workspace #offer-fsk18-block { grid-column:1/-1; border:1px solid var(--dw-line); border-radius:16px; padding:20px; }
.desktop-workspace #offer-fsk18-block .offer-type-card { min-height:64px; padding:16px; }
.desktop-workspace .offer-wizard-footer { position:sticky; bottom:0; background:var(--dw-card); border-top:1px solid var(--dw-line); z-index:12; margin-top:32px; }
.dw-draft-bar,.dw-schedule { padding:20px; border:1px solid var(--dw-line); border-radius:16px; background:var(--dw-raised); margin-block:16px; }
.dw-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.dw-check { display:flex; gap:12px; align-items:start; margin-block:14px; }
.dw-check input { width:20px; height:20px; flex:none; }
.dw-date { font-size:20px; font-weight:700; display:block; margin-block:12px; }
.desktop-workspace .msg-app { width:100%; max-width:none; height:calc(100dvh - 170px); min-height:580px; grid-template-columns:minmax(260px,350px) minmax(0,1fr); margin:0; border:1px solid var(--dw-line); border-radius:20px; overflow:hidden; }
.desktop-workspace :is(.msg-sidebar,.msg-thread,.msg-conversation,.msg-empty,.msg-thread-head,.msg-composer,.msg-context) { background:var(--dw-card); color:var(--dw-text); }
.desktop-workspace .msg-messages { background:var(--dw-bg); }
.desktop-workspace .msg-context { border-block:1px solid var(--dw-line); padding:18px; }
.desktop-workspace .msg-input { background:var(--dw-raised); color:var(--dw-text); }
.dw-dialog { background:var(--dw-card); color:var(--dw-text); border:1px solid var(--dw-line); border-radius:22px; padding:28px; max-width:550px; width:calc(100vw - 32px); }
.dw-dialog::backdrop { background:#050a17aa; backdrop-filter:blur(4px); }
.dw-challenge-header { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-block:16px 30px; }
.dw-challenge-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-block:20px; }
.dw-challenge-tabs button[aria-pressed="true"] { background:var(--dw-accent); color:#fff; }
.dw-challenge-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; margin-block:24px; }
.dw-challenge-card { background:var(--dw-card); border:1px solid var(--dw-line); border-radius:20px; padding:24px; display:flex; flex-direction:column; gap:14px; }
.dw-challenge-card img { width:100%; height:190px; object-fit:contain; border-radius:14px; background:var(--dw-raised); }
.dw-challenge-card p { margin:0; }
.dw-challenge-card .dw-actions { margin-top:auto; }
.dw-challenge-form { max-width:800px; padding:28px; background:var(--dw-card); border:1px solid var(--dw-line); border-radius:22px; }
.dw-challenge-form > label { display:grid; gap:8px; margin-block:18px; }
.dw-challenge-form :is(input,textarea,select) { padding:14px; border-radius:10px; border:1px solid var(--dw-line); }
.dw-history { padding:0; list-style:none; }
.dw-history li { padding:16px 0; border-bottom:1px solid var(--dw-line); }
body.desktop-workspace .offer-wizard-shell { --offer-wizard-width:1120px; width:100%; }
body.desktop-workspace .offer-wizard-head h1 { font-size:clamp(26px,2.8vw,40px); }
body.desktop-workspace main :is(strong,.offer-group-add,.offer-help,.offer-field>span,.offer-group-head strong,.offer-group-head small) { color:var(--dw-text); }
body.desktop-workspace .offer-stepper li { background:var(--dw-raised); padding:0; align-items:stretch; border-color:var(--dw-line); }
body.desktop-workspace .offer-stepper button { appearance:none; display:flex; align-items:flex-start; gap:9px; width:100%; min-width:0; min-height:52px; padding:12px; border:0; border-radius:inherit; background:transparent; color:inherit; font:inherit; text-align:start; cursor:pointer; }
body.desktop-workspace .offer-stepper button:disabled { opacity:1; cursor:not-allowed; }
body.desktop-workspace .offer-stepper button:focus-visible { outline:3px solid currentColor; outline-offset:-5px; }
body.desktop-workspace .offer-stepper button:not(:disabled):hover strong { text-decoration:underline; text-underline-offset:3px; }
body.desktop-workspace .offer-stepper span { background:var(--dw-card); color:var(--dw-text); }
body.desktop-workspace .offer-stepper li strong { color:inherit; white-space:normal; overflow:visible; text-overflow:clip; line-height:1.3; }
body.desktop-workspace .offer-stepper li.is-done { background:var(--dw-step-complete-bg); color:var(--dw-step-complete-text); border-color:var(--dw-step-complete-bg); }
body.desktop-workspace .offer-stepper li.is-done span { background:transparent; color:var(--dw-step-complete-text); box-shadow:inset 0 0 0 1px currentColor; }
body.desktop-workspace .offer-stepper .is-active { color:var(--dw-text); outline:3px solid var(--dw-accent); outline-offset:2px; }
body.desktop-workspace .offer-stepper .is-active.is-done { color:var(--dw-step-complete-text); }
@media(max-width:760px) { body.desktop-workspace .offer-stepper button { justify-content:center; min-height:44px; padding:8px 4px; } }
body.desktop-workspace .btn.btn-primary, body.desktop-workspace .dw-nav .dw-nav-create { background:var(--dw-accent); color:#fff; }
body.desktop-workspace .btn.btn-secondary { background:var(--dw-raised); color:var(--dw-text); border-color:var(--dw-line); }
body.desktop-workspace section[data-step="0"] .offer-type-card :is(strong,small) { color:#09130b; }
body.desktop-workspace .offer-group-block { background:var(--dw-raised); border-color:var(--dw-line); }
body.desktop-workspace .offer-ai-panel { background:var(--dw-raised); }
body.desktop-workspace :is(.offer-step,.dw-challenge-form) { scroll-margin-top:110px; }
body.desktop-workspace .pl-hero-copy { background:var(--dw-card); }
body.desktop-workspace :is(.pl-top-offers,.pl-list-card,.pl-filter,.pl-row-section,.pl-own-section,.pl-hero-panel,.offer-location-card,.offer-desired-categories) { background:var(--dw-card); border:1px solid var(--dw-line); color:var(--dw-text); }
body.desktop-workspace :is(.pl-kpi,.pl-hero-panel span,.pl-eyebrow,.pl-state,.pl-quick-link,.pl-small-link,.offer-location-status,.offer-message,.dw-check span) { color:var(--dw-text); }
body.desktop-workspace :is(.offer-location-card,.offer-desired-categories,.offer-message) { background:var(--dw-raised); }
body.desktop-workspace .pl-hero-copy::before, body.desktop-workspace .pl-hero-copy::after { display:none; }
body.desktop-workspace #offer-fsk18-block .offer-type-card { background:var(--dw-raised); }
body.desktop-workspace .offer-step[data-step="3"].is-active { align-items:start; }
body.desktop-workspace .offer-step[data-step="3"] > * { min-width:0; }
body.desktop-workspace .offer-step[data-step="3"] .offer-location-card { grid-column:1/-1; }
body.desktop-workspace #offer-description { height:180px; min-height:180px; resize:vertical; }
body.desktop-workspace #offer-category, body.desktop-workspace #offer-value-band { max-width:100%; width:100%; }
body.desktop-workspace .offer-location-status { color:var(--dw-text); background:var(--dw-raised); }
body.desktop-workspace .offer-type-card { position:relative; }
body.desktop-workspace .offer-type-card input[type="radio"] { position:absolute; inset:12px auto auto 12px; width:1px; height:1px; opacity:0; }
body.desktop-workspace .offer-location-field { background:var(--dw-raised); border:1px solid var(--dw-line); color:var(--dw-text); }
body.desktop-workspace #offer-location-status { background:var(--dw-card); color:var(--dw-text)!important; }
body.desktop-workspace .dw-challenge-card :is(h2,h3) { font-size:23px; line-height:1.3; text-align:start; margin:0; }
body.desktop-workspace .offer-image-retry { position:relative; width:auto; font-size:12px; padding:8px; }
html[data-theme="light"] body.desktop-workspace { --text:#0a0e1a; --muted:#0a0e1a; --text-secondary:#0a0e1a; }
html[data-theme="light"] body.desktop-workspace #site-footer :is(a,button,p,span,li,small,h3) { color:var(--dw-text)!important; opacity:1!important; }
body.desktop-workspace :is(.pl-offer-card,.pl-proposal-sheet,.pl-map-sheet,.pl-auth-card,.pl-assign-popover,.sd-card,.sd-active-tile,.sd-empty) { background:var(--dw-card); color:var(--dw-text); border-color:var(--dw-line); }
body.desktop-workspace :is(.pl-empty,.pl-loading,.pl-error,.pl-proposal-hint,.pl-owner-count,.pl-card-meta,.pl-proposal-credits-hint,.pl-assign-row,.pl-grp-chip,.sd-card p,.sd-card span) { color:var(--dw-text); }
body.desktop-workspace :is(.pl-owner,.pl-own-assign,.pl-proposal-slot,.sd-offered-chip,.pl-ghost-btn,.pl-icon-btn,.offer-address-suggestions) { background:var(--dw-raised); color:var(--dw-text); border-color:var(--dw-line); }
body.desktop-workspace .pl-proposal-sheet :is(input,textarea,select) { background:var(--dw-raised); color:var(--dw-text); }
html[data-theme="light"] body.desktop-workspace .btn.btn-secondary { background:var(--dw-raised)!important; color:var(--dw-text)!important; }
html[data-theme="light"] body.desktop-workspace .btn.btn-primary { background:var(--dw-accent)!important; color:#fff!important; }
body.desktop-workspace :is(.msg-view-tab,.msg-li-status,.msg-context-help,.pl-condition) { color:var(--dw-text); }
body.desktop-workspace .pl-lists :is(.pl-status-item,.pl-status-chip,.pl-list-page,.pl-list-page-btn) { background:var(--dw-raised); color:var(--dw-text); border-color:var(--dw-line); }
body.desktop-workspace .pl-lists .pl-status-item span:not(.pl-status-swap-arrow) { color:var(--dw-text)!important; }
body.desktop-workspace .pl-lists .pl-status-swap-side { background:var(--dw-card); border-color:var(--dw-line); }
@media(max-width:1100px) { .dw-nav { width:180px; inset-inline-start:12px; padding:10px; } .desktop-workspace main { margin-inline-start:210px!important; margin-inline-end:16px!important; } .desktop-workspace .pl-hero { grid-template-columns:1fr; } .desktop-workspace .offer-step[data-step="3"].is-active { display:block; } .desktop-workspace .msg-app { grid-template-columns:260px minmax(0,1fr); } }
@media(max-width:760px) { .dw-nav { position:sticky; top:64px; width:auto; margin:8px 12px; flex-direction:row; overflow-x:auto; padding:8px; border-radius:14px; } .dw-nav a { white-space:nowrap; font-size:12px; min-height:42px; padding:8px; gap:5px; } .dw-nav .dw-nav-create { margin:0; } .desktop-workspace main { margin-inline:12px!important; } .desktop-workspace #site-footer { margin-inline:0; } .desktop-workspace .offer-create-card { padding:16px; } .desktop-workspace .offer-stepper strong { font-size:10px; } .desktop-workspace section[data-step="0"] .offer-type-card { min-height:180px; padding:14px; } .desktop-workspace .msg-app { min-height:500px; height:calc(100dvh - 180px); grid-template-columns:1fr; } .dw-challenge-header { align-items:start; flex-direction:column; } }
.desktop-workspace .offer-address-search { min-width:0; margin-top:16px; }
.desktop-workspace .offer-address-search > label { display:block; font-weight:700; }
.desktop-workspace .offer-address-search .offer-address-disclosure { margin:8px 0 12px; font-size:13px; line-height:1.5; color:var(--dw-text); }
.desktop-workspace .offer-address-search .offer-address-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.desktop-workspace .offer-address-search input { width:100%; min-width:0; background:var(--dw-raised); color:var(--dw-text); }
.desktop-workspace .offer-address-search input::placeholder { color:var(--dw-text); opacity:1; }
.desktop-workspace .offer-address-search .offer-address-suggestions { z-index:1100; text-align:start; background:var(--dw-card); border-color:var(--dw-line); }
.desktop-workspace .offer-address-search .offer-address-suggestion { color:var(--dw-text); min-height:44px; justify-content:center; overflow-wrap:anywhere; }
.desktop-workspace .offer-address-search .offer-address-suggestion:is(:hover,.is-active) { background:var(--dw-raised); outline:2px solid var(--dw-accent); outline-offset:-2px; }
.desktop-workspace .offer-address-search .offer-address-feedback { color:var(--dw-text); margin:8px 0; font-size:14px; }
.desktop-workspace .offer-address-feedback:empty { display:none; }
.desktop-workspace .offer-address-attribution { display:block; width:fit-content; margin-top:8px; color:var(--dw-text); font-size:12px; text-underline-offset:3px; }
@media(max-width:480px) { .desktop-workspace .offer-address-search .offer-address-row { grid-template-columns:minmax(0,1fr); } }
.desktop-workspace .offer-address-search .offer-address-suggestions.opens-above { top:auto; bottom:calc(100% + 4px); }
