:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-page:#f6f7f2;--color-surface:#fff;--color-surface-muted:#eef3eb;--color-ink:#1d211d;--color-muted:#667067;--color-border:#dce3d7;--color-primary:#0d8b65;--color-primary-strong:#08684d;--color-accent:#c47623;--color-danger:#b4443b;--color-info:#2d7690;--shadow-soft:0 18px 50px #1d211d14;--radius-sm:6px;--radius-md:8px;--sidebar-width:236px;background:var(--color-page);color:var(--color-ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-areas:"topbar topbar""sidebar content";grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:72px minmax(0,1fr);min-height:100vh;display:grid}.topbar{z-index:20;grid-area:topbar;grid-template-columns:var(--sidebar-width) minmax(260px, 1fr) auto;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;align-items:center;gap:20px;min-height:72px;padding:0 22px;display:grid;position:sticky;top:0}.topbar__left,.topbar__actions,.topbar__role-switcher,.brand-mark,.button,.icon-button,.avatar-button,.filter-button{align-items:center;display:inline-flex}.topbar__left{gap:12px}.topbar__menu{display:none}.brand-mark{letter-spacing:0;gap:10px;min-width:0;font-weight:760}.brand-mark__symbol{color:#fff;background:var(--color-ink);border-radius:var(--radius-md);place-items:center;width:38px;height:38px;display:grid}.brand-mark__text{text-overflow:ellipsis;font-size:18px;line-height:1;overflow:hidden}.topbar__role-switcher{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-self:center;width:min(100%,420px);padding:4px}.topbar__role-switcher button,.segmented-control button{min-width:0;height:34px;color:var(--color-muted);white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:1 1 0;padding:0 12px}.topbar__role-switcher button{font-size:13px;font-weight:720}.topbar__role-switcher button.is-active,.segmented-control button.is-active{color:var(--color-ink);background:var(--color-surface);box-shadow:0 8px 18px #1d211d14}.topbar__actions{justify-content:flex-end;gap:10px}.button,.icon-button,.avatar-button,.filter-button{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;transition:border-color .16s,background .16s,color .16s,transform .16s}.button{gap:8px;min-height:40px;padding:0 14px;font-size:14px;font-weight:760}.button--primary{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.button--primary:hover{background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.button--secondary{color:var(--color-ink);background:var(--color-surface);border-color:var(--color-border)}.button:disabled,.icon-button:disabled,.filter-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.icon-button,.avatar-button{width:40px;height:40px;color:var(--color-ink);background:var(--color-surface);border-color:var(--color-border)}.avatar-button{background:#f1ede5}.icon-button:hover,.avatar-button:hover,.filter-button:hover,.button--secondary:hover{border-color:#b9c4b5;transform:translateY(-1px)}.sidebar{background:var(--color-page);border-right:1px solid var(--color-border);grid-area:sidebar;padding:18px 14px}.sidebar__nav{gap:6px;display:grid}.sidebar__nav a{min-height:42px;color:var(--color-muted);border-radius:var(--radius-md);grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:720;display:grid}.sidebar__nav a.is-active{color:var(--color-ink);background:var(--color-surface);box-shadow:0 10px 24px #1d211d12}.shell-content{grid-area:content;min-width:0;padding:28px}.marketplace-route,.route-page{gap:18px;max-width:1440px;margin:0 auto;display:grid}.route-page__header{justify-content:space-between;align-items:flex-end;gap:16px;min-width:0;display:flex}.route-page__header h1,.panel-heading h2,.map-surface__toolbar h2,.state-panel h2{color:var(--color-ink);letter-spacing:0;margin:0}.route-page__header h1{font-size:clamp(28px,4vw,42px);line-height:1.08}.route-page__header p,.panel-heading p,.map-surface__toolbar p,.state-panel p{color:var(--color-muted);margin:7px 0 0}.route-page__header p,.panel-heading p,.map-surface__toolbar p{font-size:14px;line-height:1.45}.view-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:repeat(2,minmax(92px,1fr));padding:4px;display:inline-grid;box-shadow:0 12px 28px #1d211d0f}.view-tabs a{min-height:34px;color:var(--color-muted);border-radius:var(--radius-sm);place-items:center;padding:0 12px;font-size:13px;font-weight:760;display:grid}.view-tabs a.is-active{color:#fff;background:var(--color-ink)}.marketplace-toolbar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.search-field{min-height:46px;color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7f9f5;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:0 14px;display:grid}.search-field input{min-width:0;color:var(--color-ink);background:0 0;border:0;outline:0;font-size:15px;font-weight:560}.search-field input::placeholder{color:#899188}.toolbar-actions{justify-self:end;gap:8px;display:inline-flex}.compact-filter{gap:5px;min-width:132px;display:grid}.compact-filter span{color:var(--color-muted);align-items:center;gap:5px;font-size:12px;font-weight:760;display:inline-flex}.compact-filter input{width:100%;min-height:40px;color:var(--color-ink);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7f9f5;outline:0;padding:0 10px}.compact-filter input:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d8b6521}.filter-button{min-height:40px;color:var(--color-ink);background:var(--color-surface);border-color:var(--color-border);gap:7px;padding:0 11px;font-size:13px;font-weight:720}.segmented-control{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#eef3eb;grid-column:1/-1;gap:4px;width:min(100%,520px);padding:4px;display:inline-flex}.segmented-control button{font-size:13px;font-weight:700}.segmented-control--compact{grid-column:auto;width:auto;min-width:220px}.advanced-filters{grid-column:1/-1;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;display:grid}.marketplace-workspace{grid-template-columns:minmax(360px,.78fr) minmax(380px,1fr);align-items:stretch;gap:18px;min-height:520px;display:grid}.marketplace-route--map .marketplace-workspace{grid-template-columns:minmax(320px,.48fr) minmax(520px,1fr)}.adspace-list-shell,.map-surface,.state-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.adspace-list-shell,.map-surface{min-width:0;box-shadow:var(--shadow-soft)}.adspace-list-shell{grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px;display:grid}.panel-heading,.map-surface__toolbar{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.panel-heading h2,.map-surface__toolbar h2{font-size:18px;line-height:1.15}.panel-heading__meta{min-height:30px;color:var(--color-muted);white-space:nowrap;background:var(--color-surface-muted);border-radius:var(--radius-sm);align-items:center;padding:0 10px;font-size:12px;font-weight:760;display:inline-flex}.state-panel{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:180px;padding:22px;display:grid}.state-panel__icon{width:44px;height:44px;color:var(--color-primary);border-radius:var(--radius-md);background:#e7f3ed;place-items:center;display:grid}.state-panel--error .state-panel__icon{color:var(--color-danger);background:#fae9e6}.state-panel--permission .state-panel__icon{color:var(--color-accent);background:#f7eddf}.state-panel--loading .state-panel__icon svg{animation:1s linear infinite spin}.state-panel h2{font-size:17px;line-height:1.2}.state-panel p{max-width:52ch;font-size:14px;line-height:1.5}.state-panel__skeleton{gap:8px;max-width:360px;margin-top:16px;display:grid}.state-panel__skeleton span{background:linear-gradient(90deg,#e8ece4,#f5f7f0,#e8ece4) 0 0/200% 100%;border-radius:999px;height:10px;animation:1.4s ease-in-out infinite shimmer}.state-panel__skeleton span:nth-child(2){width:78%}.state-panel__skeleton span:nth-child(3){width:58%}.map-surface{grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px;display:grid}.map-canvas{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:#eef3eb;background-image:linear-gradient(90deg,#dce3d794 1px,#0000 1px),linear-gradient(#dce3d794 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:400px;position:relative;overflow:hidden}.map-road{background:#ffffffc7;border:1px solid #b9c4b599;border-radius:999px;height:14px;display:block;position:absolute;box-shadow:0 12px 30px #1d211d14}.map-road--one{width:78%;top:22%;left:-8%;transform:rotate(-13deg)}.map-road--two{width:86%;top:54%;right:-10%;transform:rotate(18deg)}.map-road--three{width:56%;bottom:21%;left:12%;transform:rotate(-3deg)}.map-marker{color:#fff;background:var(--color-primary);border:3px solid #fff;border-radius:999px;place-items:center;width:42px;height:42px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 16px 35px #08684d3d}.map-marker:hover{background:var(--color-primary-strong);transform:translate(-50%,-50%)scale(1.04)}.map-marker--one{top:28%;left:32%}.map-marker--two{background:var(--color-accent);top:56%;left:68%;box-shadow:0 16px 35px #c476233d}.map-marker--three{background:var(--color-info);top:68%;left:22%;box-shadow:0 16px 35px #2d76903d}.map-placeholder-note{max-width:240px;color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffdb;padding:10px 12px;font-size:13px;font-weight:720;line-height:1.35;position:absolute;bottom:18px;right:18px;box-shadow:0 12px 28px #1d211d14}.adspace-list,.owner-adspace-list{align-content:start;gap:12px;display:grid}.adspace-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fbfcf8;grid-template-columns:156px minmax(0,1fr);gap:14px;min-width:0;padding:12px;display:grid}.adspace-card__media{min-height:144px;color:var(--color-primary);text-align:center;border-radius:var(--radius-sm);background:linear-gradient(135deg,#0d8b6517,#c476231a),#eef3eb;place-items:center;font-size:13px;font-weight:780;display:grid;overflow:hidden}.adspace-card__media img{object-fit:cover;width:100%;height:100%}.adspace-card__body,.adspace-card__title-row{min-width:0}.adspace-card__body{gap:12px;display:grid}.adspace-card__title-row,.adspace-card__footer,.detail-summary-panel__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.adspace-card h3{color:var(--color-ink);margin:0;font-size:17px;line-height:1.18}.adspace-card__title-row p{color:var(--color-muted);align-items:center;gap:5px;margin:6px 0 0;font-size:13px;line-height:1.35;display:inline-flex}.status-chip{min-height:28px;color:var(--color-muted);white-space:nowrap;border-radius:var(--radius-sm);background:#eef3eb;border:1px solid #0000;flex:none;padding:6px 9px;font-size:12px;font-weight:780;line-height:1}.status-chip--published{color:var(--color-primary-strong);background:#e3f4ec}.status-chip--pending_review{color:var(--color-info);background:#e6f1f4}.status-chip--rejected,.status-chip--suspended{color:var(--color-danger);background:#fae9e6}.status-chip--archived{color:#7c6f62;background:#eee8df}.status-chip--booking-deposit_paid,.status-chip--booking-requested{color:var(--color-info);background:#e6f1f4}.status-chip--booking-accepted,.status-chip--booking-active{color:var(--color-primary-strong);background:#e3f4ec}.status-chip--booking-cancelled,.status-chip--booking-disputed{color:var(--color-danger);background:#fae9e6}.adspace-card__facts,.detail-facts{gap:9px;margin:0;display:grid}.adspace-card__facts{grid-template-columns:repeat(3,minmax(0,1fr))}.adspace-card__facts div,.detail-facts div{min-width:0}.adspace-card__facts dt,.detail-facts dt{color:var(--color-muted);align-items:center;gap:5px;font-size:12px;font-weight:760;display:inline-flex}.adspace-card__facts dd,.detail-facts dd{color:var(--color-ink);margin:4px 0 0;font-size:13px;font-weight:680;line-height:1.35}.adspace-card__footer{align-items:center;padding-top:2px}.adspace-card__footer strong,.detail-summary-panel__header strong{color:var(--color-ink);font-size:18px;line-height:1.1}.adspace-card__actions{align-items:center;gap:8px;display:inline-flex}.owner-list-panel,.session-panel,.form-section,.detail-summary-panel,.detail-media-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.owner-list-panel{gap:14px;padding:18px;display:grid}.session-panel{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:18px;display:grid}.session-panel--active{align-items:center}.session-panel__header{grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.session-panel h2,.form-section h2{margin:0;font-size:18px;line-height:1.2}.session-panel__label{color:var(--color-muted);margin-bottom:5px;font-size:12px;font-weight:800;display:block}.session-panel strong{font-size:16px;display:block}.session-panel p,.form-section__heading p,.detail-summary-panel p{color:var(--color-muted);margin:6px 0 0;font-size:14px;line-height:1.45}.session-form,.adspace-form{gap:14px;display:grid}.session-form{grid-column:1/-1;grid-template-columns:repeat(2,minmax(180px,1fr)) auto;align-items:end}.session-form .form-field:first-child:nth-last-child(4),.session-form .form-field:first-child:nth-last-child(4)~.form-field{grid-column:auto}.form-section{gap:16px;padding:20px;display:grid}.form-section__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.form-grid{gap:14px;display:grid}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.price-suggestion-panel,.price-suggestion-result{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7f9f5;gap:12px;padding:14px;display:grid}.price-suggestion-panel{grid-template-columns:minmax(0,1fr) auto;align-items:start}.price-suggestion-panel h3,.price-suggestion-result strong{color:var(--color-ink);letter-spacing:0;margin:0}.price-suggestion-panel h3{font-size:16px;line-height:1.25}.price-suggestion-panel p,.price-suggestion-result small{color:var(--color-muted);margin:5px 0 0;font-size:13px;line-height:1.4}.price-suggestion-result{background:#fff;grid-column:1/-1}.price-suggestion-result strong{margin-top:4px;font-size:22px;line-height:1.1;display:block}.price-suggestion-result span{color:var(--color-muted);font-size:12px;font-weight:800}.price-suggestion-result ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.price-suggestion-result li{min-height:28px;color:var(--color-primary-strong);border-radius:var(--radius-sm);background:#e7f4ee;border:1px solid #cae6d8;padding:5px 9px;font-size:12px;font-weight:760}.price-suggestion-actions{flex-wrap:wrap;gap:10px;display:flex}.form-field{gap:7px;min-width:0;display:grid}.form-field span,.form-field>label{color:var(--color-muted);font-size:13px;font-weight:760}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;min-height:42px;color:var(--color-ink);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7f9f5;outline:0;padding:0 12px}.booking-checkbox-field{align-content:start}.booking-checkbox-field input[type=checkbox]{width:42px;min-height:42px;accent-color:var(--color-primary)}.form-field textarea{resize:vertical;min-height:108px;padding:10px 12px}.form-field--error input,.form-field--error select,.form-field--error textarea{border-color:var(--color-danger)}.form-field small,.form-message--error{color:var(--color-danger)}.form-field small,.form-message{font-size:13px;font-weight:700;line-height:1.4}.form-message{color:var(--color-primary-strong);margin:0}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.route-page__home-link{color:var(--color-muted);align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:760;display:inline-flex}.detail-layout{grid-template-columns:minmax(320px,.9fr) minmax(340px,1fr);align-items:start;gap:18px;display:grid}.detail-media-panel{min-height:420px;overflow:hidden}.detail-media-panel img,.detail-media-panel__empty{width:100%;height:100%;min-height:420px}.detail-media-panel img{object-fit:cover;display:block}.detail-media-panel__empty{color:var(--color-primary);background:linear-gradient(135deg,#0d8b651a,#c476231f),#eef3eb;place-items:center;font-weight:800;display:grid}.detail-summary-panel{gap:16px;padding:20px;display:grid}.detail-actions{flex-wrap:wrap;gap:10px;display:flex}.detail-facts{gap:14px}.detail-facts dt{font-size:13px}.detail-facts dd{font-size:15px}.detail-layout .map-surface{grid-column:1/-1}.detail-price-suggestion{min-height:34px;color:var(--color-primary-strong);border-radius:var(--radius-sm);background:#e7f4ee;border:1px solid #cae6d8;align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:760;display:inline-flex}.route-page{align-content:start;min-height:calc(100vh - 128px)}.route-page--detail .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.route-page__home-link{justify-self:start}.booking-request-layout,.booking-detail-layout{align-items:start;gap:18px;display:grid}.booking-request-layout{grid-template-columns:minmax(280px,.46fr) minmax(360px,1fr)}.booking-detail-layout{grid-template-columns:minmax(320px,.82fr) minmax(360px,1fr)}.booking-adspace-summary,.booking-list-panel,.booking-overview-panel,.booking-next-action-panel,.booking-timeline-panel,.booking-side-panel,.booking-info-block,.booking-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.booking-adspace-summary,.booking-list-panel,.booking-overview-panel,.booking-next-action-panel,.booking-timeline-panel,.booking-side-panel,.booking-info-block{gap:16px;padding:18px;display:grid}.booking-form{min-width:0}.booking-summary-facts,.booking-card__facts{gap:12px;margin:0;display:grid}.booking-summary-facts dt,.booking-card__facts dt{color:var(--color-muted);align-items:center;gap:5px;font-size:12px;font-weight:760;display:inline-flex}.booking-summary-facts dd,.booking-card__facts dd{color:var(--color-ink);margin:5px 0 0;font-size:14px;font-weight:720;line-height:1.35}.booking-list{gap:12px;display:grid}.booking-card{box-shadow:none;background:#fbfcf8;gap:14px;padding:16px;display:grid}.booking-card__main,.booking-card__footer,.booking-overview-panel__header,.booking-info-block__heading,.booking-info-block__heading>div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.booking-info-block__heading>div{justify-content:flex-start;align-items:center}.booking-card h3,.booking-overview-panel h2,.booking-next-action-panel h2,.booking-timeline-panel h2,.booking-info-block h2,.booking-adspace-summary h2{color:var(--color-ink);letter-spacing:0;margin:0}.booking-card h3{font-size:17px;line-height:1.25}.booking-card__facts{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-card__footer{align-items:center;padding-top:2px}.booking-card__footer span{color:var(--color-muted);align-items:center;gap:6px;font-size:13px;font-weight:720;display:inline-flex}.booking-overview-panel h2,.booking-next-action-panel h2,.booking-timeline-panel h2,.booking-info-block h2,.booking-adspace-summary h2{font-size:18px;line-height:1.2}.booking-next-action-panel p,.booking-info-block p,.booking-adspace-summary p{color:var(--color-muted);margin:6px 0 0;font-size:14px;line-height:1.45}.booking-linked-actions{gap:10px;display:flex}.booking-owner-actions{grid-template-columns:auto minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.booking-next-action-note{color:var(--color-muted);align-items:center;gap:8px;font-size:14px;font-weight:720;display:inline-flex}.booking-timeline-panel{grid-column:1/2}.booking-side-panel{box-shadow:none;grid-area:span 2/2/auto/3}.booking-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.booking-timeline li{grid-template-columns:22px minmax(0,1fr) auto;gap:12px;padding:0 0 20px;display:grid;position:relative}.booking-timeline li:before{content:"";background:var(--color-border);width:1px;position:absolute;top:18px;bottom:0;left:7px}.booking-timeline li:last-child{padding-bottom:0}.booking-timeline li:last-child:before{display:none}.booking-timeline__dot{z-index:1;background:var(--color-primary);width:15px;height:15px;box-shadow:0 0 0 1px var(--color-border);border:3px solid #fff;border-radius:999px;margin-top:3px}.booking-timeline h3{margin:0;font-size:15px;line-height:1.25}.booking-timeline p,.booking-timeline small,.booking-timeline time,.ledger-list span{color:var(--color-muted);font-size:13px;line-height:1.4}.booking-timeline p{margin:5px 0 0}.booking-timeline small{color:var(--color-danger);margin-top:5px;font-weight:700;display:block}.booking-timeline time{white-space:nowrap}.ledger-list{gap:10px;display:grid}.ledger-list div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#f7f9f5;gap:4px;padding:10px;display:grid}.small-empty-state{color:var(--color-muted);align-items:center;gap:8px;font-size:14px;font-weight:680;display:inline-flex}.contractors-route,.construction-detail-route{align-content:start}.contractor-select-panel,.contractor-profile-panel,.construction-list-panel,.construction-overview-panel,.construction-action-panel,.design-asset-panel,.mockup-panel,.insights-panel,.construction-timeline-panel,.metric-card,.contractor-result-card,.construction-order-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.contractor-select-panel,.contractor-profile-panel,.construction-list-panel,.construction-overview-panel,.construction-action-panel,.design-asset-panel,.mockup-panel,.insights-panel,.construction-timeline-panel{gap:16px;padding:18px;display:grid}.contractor-search-grid,.contractor-profile-form,.design-asset-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.contractor-profile-form,.design-asset-form{grid-template-columns:repeat(3,minmax(0,1fr))}.contractor-profile-form__wide,.design-asset-form__wide{grid-column:1/-1}.contractor-result-list,.construction-order-list,.design-asset-list{gap:12px;display:grid}.contractor-result-card,.construction-order-card,.design-asset-list article{box-shadow:none;background:#fbfcf8;gap:14px;padding:16px;display:grid}.contractor-result-card{grid-template-columns:minmax(0,1fr) minmax(180px,.36fr) auto;align-items:center}.contractor-result-card h3,.construction-order-card h3,.construction-overview-panel h2,.construction-action-panel h2,.design-asset-panel h2,.construction-timeline-panel h2{color:var(--color-ink);letter-spacing:0;margin:0;font-size:18px;line-height:1.2}.contractor-result-card p,.construction-action-panel p,.design-asset-panel p,.construction-timeline-panel p{color:var(--color-muted);margin:6px 0 0;font-size:14px;line-height:1.45}.contractor-tags{flex-wrap:wrap;gap:8px;display:flex}.contractor-tags span{min-height:28px;color:var(--color-primary-strong);border-radius:var(--radius-sm);background:#e7f4ee;border:1px solid #cae6d8;padding:5px 9px;font-size:12px;font-weight:760}.contractor-result-card__footer{color:var(--color-muted);justify-content:flex-end;align-items:center;gap:10px;font-size:13px;font-weight:720;display:flex}.construction-order-card{grid-template-columns:minmax(0,1fr) minmax(260px,.6fr) auto;align-items:center}.construction-order-card dl,.construction-overview-panel dl{gap:10px;margin:0;display:grid}.construction-order-card dl{grid-template-columns:repeat(3,minmax(0,1fr))}.construction-order-card dt,.construction-overview-panel dt{color:var(--color-muted);font-size:12px;font-weight:760}.construction-order-card dd,.construction-overview-panel dd{color:var(--color-ink);margin:4px 0 0;font-size:14px;font-weight:720}.construction-detail-layout{grid-template-columns:minmax(320px,.78fr) minmax(380px,1fr);align-items:start;gap:18px;display:grid}.construction-overview-panel,.construction-action-panel,.design-asset-panel,.mockup-panel{grid-column:1/2}.construction-timeline-panel{grid-area:1/2/span 4/3}.construction-action-buttons{flex-wrap:wrap;gap:10px;display:flex}.design-asset-list article{grid-template-columns:28px minmax(0,1fr) auto;align-items:center}.design-asset-list h3{margin:0;font-size:15px;line-height:1.25}.mockup-workbench{grid-template-columns:minmax(260px,.9fr) minmax(260px,1fr);align-items:start;gap:14px;display:grid}.mockup-preview-canvas{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#e9eee4;min-height:280px;position:relative;overflow:hidden}.mockup-preview-canvas>img:first-child{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.mockup-preview-canvas__design{z-index:2;object-fit:cover;transform-origin:50%;border:2px solid #fff;position:absolute;box-shadow:0 16px 36px #1d211d38}.mockup-preview-canvas__empty{min-height:280px;color:var(--color-muted);text-align:center;place-items:center;gap:10px;padding:20px;font-size:14px;font-weight:720;display:grid}.mockup-controls{gap:12px;display:grid}.mockup-placement-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.mockup-preview-list{gap:10px;display:grid}.mockup-preview-list article{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfcf8;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.mockup-preview-list article>div{gap:4px;min-width:0;display:grid}.mockup-preview-list span{color:var(--color-muted);font-size:13px;line-height:1.4}.insights-route{align-content:start}.insights-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card{box-shadow:var(--shadow-soft);gap:10px;padding:16px;display:grid}.metric-card>div{color:var(--color-muted);align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.metric-card strong{color:var(--color-ink);font-size:24px;line-height:1.1}.metric-card p{color:var(--color-muted);margin:0;font-size:13px;line-height:1.4}.source-list{flex-wrap:wrap;gap:8px;display:flex}.source-list span{min-height:28px;color:var(--color-info);border-radius:var(--radius-sm);background:#edf6f8;border:1px solid #d2e8ee;padding:5px 9px;font-size:12px;font-weight:760}.wallet-layout{grid-template-columns:minmax(320px,.72fr) minmax(380px,1fr);align-items:start;gap:18px;display:grid}.wallet-summary-grid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.wallet-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-soft);gap:16px;padding:18px;display:grid}.wallet-top-up-panel,.wallet-documents-panel{grid-column:1/2}.wallet-transactions-panel{grid-area:2/2/span 3/3}.wallet-audit-panel{grid-column:1/2}.wallet-top-up-form{grid-template-columns:minmax(160px,1fr) minmax(92px,.35fr) auto;align-items:end;gap:12px;display:grid}.wallet-transaction-list,.wallet-document-list,.wallet-audit-list{gap:10px;display:grid}.wallet-transaction-card,.wallet-document-list article,.wallet-audit-list div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfcf8;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.wallet-transaction-card{grid-template-columns:minmax(0,1fr) minmax(160px,.52fr) auto}.wallet-document-list article,.wallet-audit-list div{grid-template-columns:minmax(0,1fr) auto}.wallet-transaction-card div,.wallet-document-list article div,.wallet-audit-list div{min-width:0}.wallet-transaction-card strong,.wallet-document-list strong,.wallet-audit-list strong{color:var(--color-ink);font-size:14px;line-height:1.25;display:block}.wallet-transaction-card span,.wallet-document-list span,.wallet-audit-list span{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:680;line-height:1.35;display:block;overflow:hidden}.status-chip--wallet-succeeded{color:var(--color-primary-strong);background:#e7f4ee}.status-chip--wallet-held{color:var(--color-accent);background:#f7eddf}.status-chip--wallet-pending{color:var(--color-muted);background:var(--color-surface-muted)}.status-chip--wallet-failed{color:var(--color-danger);background:#fae9e6}.status-chip--wallet-refunded,.status-chip--wallet-partially_refunded,.status-chip--wallet-reversed{color:var(--color-info);background:#edf6f8}.ar-spike-layout{grid-template-columns:minmax(240px,.75fr) minmax(260px,1fr);gap:16px;display:grid}.ar-spike-badge{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f7f9f5;align-content:start;gap:8px;padding:14px;display:grid}.ar-spike-badge strong{color:var(--color-ink);font-size:18px}.ar-spike-badge span,.ar-spike-layout li{color:var(--color-muted);font-size:14px;line-height:1.45}.ar-spike-layout h3{margin:0 0 10px;font-size:16px}.ar-spike-layout ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ar-spike-layout li{align-items:flex-start;gap:7px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1120px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"topbar""content"}.topbar{grid-template-columns:auto minmax(220px,1fr) auto}.topbar__menu{display:inline-flex}.brand-mark__text,.sidebar{display:none}.marketplace-workspace,.marketplace-route--map .marketplace-workspace,.detail-layout,.booking-request-layout,.booking-detail-layout,.construction-detail-layout,.wallet-layout,.mockup-workbench,.ar-spike-layout{grid-template-columns:minmax(0,1fr)}.booking-timeline-panel,.booking-side-panel,.construction-overview-panel,.construction-action-panel,.design-asset-panel,.mockup-panel,.construction-timeline-panel,.wallet-top-up-panel,.wallet-documents-panel,.wallet-transactions-panel,.wallet-audit-panel{grid-area:auto}.map-canvas{min-height:360px}.advanced-filters,.form-grid--three,.contractor-search-grid,.contractor-profile-form,.design-asset-form,.wallet-summary-grid,.insights-grid,.session-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app-shell{grid-template-rows:auto minmax(0,1fr)}.topbar{grid-template-columns:1fr auto;gap:12px;padding:12px}.topbar__left{min-width:0}.brand-mark__text{display:inline}.topbar__role-switcher{order:3;grid-area:2/1/auto/-1;justify-self:stretch}.topbar__actions{gap:6px}.topbar__actions .button{width:40px;padding:0}.topbar__actions .button span{font-size:0}.shell-content{padding:18px 12px 28px}.route-page__header,.marketplace-route__header,.panel-heading,.map-surface__toolbar{flex-direction:column;align-items:stretch}.route-page__header h1{font-size:30px}.view-tabs{width:100%}.marketplace-toolbar{grid-template-columns:minmax(0,1fr)}.toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;display:grid}.filter-button{min-width:0;padding:0 8px}.segmented-control{overflow-x:auto}.segmented-control button{flex:none}.advanced-filters,.form-grid--two,.form-grid--three,.session-form,.price-suggestion-panel,.contractor-search-grid,.contractor-profile-form,.design-asset-form,.mockup-placement-grid,.wallet-summary-grid,.wallet-top-up-form,.wallet-transaction-card,.wallet-document-list article,.wallet-audit-list div,.insights-grid,.contractor-result-card,.construction-order-card,.design-asset-list article{grid-template-columns:minmax(0,1fr)}.session-panel,.session-panel__header,.form-section__heading,.adspace-card__title-row,.adspace-card__footer,.detail-summary-panel__header,.booking-card__main,.booking-card__footer,.booking-overview-panel__header,.booking-info-block__heading,.price-suggestion-panel,.mockup-preview-list article{flex-direction:column;align-items:stretch}.session-panel{grid-template-columns:minmax(0,1fr)}.session-panel--active{align-items:stretch}.segmented-control--compact{width:100%}.adspace-card{grid-template-columns:minmax(0,1fr)}.adspace-card__media{min-height:210px}.adspace-card__facts,.booking-card__facts,.booking-owner-actions{grid-template-columns:minmax(0,1fr)}.state-panel{grid-template-columns:44px minmax(0,1fr)}.state-panel .button{grid-column:1/-1;justify-self:start}.route-page--detail .detail-grid{grid-template-columns:minmax(0,1fr)}.detail-media-panel,.detail-media-panel img,.detail-media-panel__empty{min-height:300px}}@media (width<=480px){.brand-mark__text{max-width:112px}.topbar__role-switcher button{padding:0 8px;font-size:12px}.topbar__actions .icon-button{display:none}.toolbar-actions{grid-template-columns:minmax(0,1fr)}.filter-button{justify-content:flex-start}.compact-filter{min-width:0}.form-actions,.adspace-card__actions{grid-template-columns:minmax(0,1fr);justify-content:stretch;display:grid}.form-actions .button,.adspace-card__actions .button{width:100%}.map-canvas{min-height:300px}.booking-timeline li{grid-template-columns:22px minmax(0,1fr)}.booking-timeline time{grid-column:2}}
