/* Shared Baseline workspace colors. Proposal documents use their own stylesheet. */
:root {
  color-scheme: light;
  --ink: #223029; --text: #223029; --muted: #58685e;
  --paper: #ffffff; --panel: #ffffff; --surface: #ffffff;
  --panel-2: #ffffff; --pale: #ffffff; --support: #ffffff;
  --line: #cbd5cd; --green: #28734f; --accent: #28734f;
  --green-dark: #18211d; --on-accent: #ffffff;
  --hover: #ffffff; --selected: #ffffff; --focus: #28734f;
  --amber: #805711; --warning-bg: #ffffff; --red: #a0392e; --error-bg: #ffffff;
  --success-bg: #ffffff; --success-text: #285d35;
  --info-bg: #ffffff; --info-ink: #245e60; --info-line: #75a4a5;
  --shadow: 0 6px 24px #18211d07;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #e7eee8; --text: #e7eee8; --muted: #adbbb1;
  --paper: #18211d; --panel: #222e27; --surface: #222e27;
  --panel-2: #2b3930; --pale: #2b3930; --support: #304333;
  --line: #4b5d50; --green: #afcc91; --accent: #afcc91;
  --on-accent: #18211d; --hover: #34473a; --selected: #304333; --focus: #c1dfa5;
  --amber: #e4be79; --warning-bg: #3a3020; --red: #ffb4a6; --error-bg: #432c28;
  --success-bg: #2a3f2c; --success-text: #c0dfb6;
  --info-bg: #233b3b; --info-ink: #c1e4df; --info-line: #80b8b3;
  --shadow: 0 8px 28px #00000018;
}
body {background: var(--paper); color: var(--ink)}
.help,.card-head p {font-size: 12px}
label,.visual-fieldset legend {font-size: 12px}
th {font-size: 10px}
h1,h2,h3,h4 {color: var(--ink)}
button,.button {background: var(--panel); border-color: var(--line); color: var(--ink)}
button:hover,.button:hover {background: var(--hover); border-color: var(--green); transform: none}
button.primary,.button.primary,button.active:not(.nav) {background: var(--green); border-color: var(--green); color: var(--on-accent)}
.primary:hover {background: var(--green); filter: brightness(.95)}
.text-button {background: transparent; color: var(--green)}
.danger,.error {color: var(--red)}
label,.visual-fieldset legend,.workload-slider-label {color: var(--ink)}
input,select,textarea {background: var(--panel); color: var(--ink); border-color: var(--line); color-scheme: inherit}
input::placeholder,textarea::placeholder {color: var(--muted); opacity: 1}
input[type="range"] {background: transparent}
input[type="checkbox"],input[type="radio"] {accent-color: var(--green)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline: 3px solid var(--focus); outline-offset: 3px;
}
.sidebar,.top {background: #18211d; color: #eef3ef; border-color: #3f5145}
.sidebar .baseline-lockup,.sidebar .baseline-lockup small {color: #eef3ef}
.side-label,.side-label span,.sidebar .nav,.sidebar .nav b,.side-note,.side-footer span {color: #b5c6ba}
.sidebar .nav.active,.sidebar .nav:hover {background: #304333; border-color: #4b6652; color: #fff}
.sidebar .nav.active b,.side-footer button,.top .studio-link {color: #c2dda9!important}
.side-note strong {color: #eef3ef}
.side-note,.side-footer,.sidebar nav {border-color: #3f5145}
.appearance-control {display: flex; flex-direction: column; gap: 6px; color: #c4d1c8; font-size: 11px; margin: 14px 0}
.appearance-control select {background: #24332a; color: #eef3ef; border-color: #5b7061; color-scheme: dark; min-height: 38px; width: 100%; margin: 0; font-size: 12px}
.top .appearance-control {margin: 0; min-width: 154px}
.top .brand span {color: #eef3ef}
.top .brand small {color: #c2dda9}
.top #account {color: #c4d1c8}
.topbar,.page-head,.mixed-property-option,.unit-section-list,.unit-section,.service-input-list,.service-input-list>div {border-color: var(--line)}
.eyebrow,.page-head h1 span {color: var(--green)}
.card,.workload-card,.metric,.metrics button {background: var(--panel); border-color: var(--line); box-shadow: var(--shadow)}
.metric .value,.metrics b {color: var(--ink)}
.metric .label,.metric .sub,.card-head p,.metrics button,.help,.muted,.hero-copy,.property-switch,.page-footer {color: var(--muted)}
.metric.primary {background: #24382b; border-color: #46634c; color: #fff}
.metric.primary .value {color: #c2dda9}
.metric.primary .label,.metric.primary .sub {color: #d4e1d5}
.metric.warning {background: var(--warning-bg); border-color: var(--amber)}
.metrics button:last-child b {color: var(--amber)}
.compare,.retention,.profile-followup,.profile-guidance,.property-image-preview,.scope-map-recommendations,
.import-suggestion,.progress-summary article,.progress-customer,.requirement-row,.memory-card,.memory-list>div,.memory-list>a,
.budget-plan-totals>div,.workspace-banner,.setup-steps article,.note {background: var(--panel-2); border-color: var(--line); color: var(--ink)}
.compare article strong,.budget-plan-totals strong,.budget-plan-columns strong,.bid-review-grid strong {color: var(--ink)}
.compare article:last-child strong,.price,.progress-summary strong {color: var(--green)}
.compare article span,.compare .arrow,.slider-labels,.service-title small,.hours small,.budget-alt span,
.audit span,.admin-user small,.empty,.profile-guidance div span,.profile-guidance p,.scope-definition p,.scope-definition span,
.scope-map-legend,.scope-map-recommendations li,.quick-quote p,.budget-plan-columns li,.budget-plan-columns p,
.mixed-option-intro,.mixed-community-scope p,.mixed-section .mixed-scope-detail,.property-card p,.workspace-banner p,.setup-steps p {color: var(--muted)}
.tag,.pill,.manual-pill,.assumption-pill,.quote-badge,.memory-stats span,.progress-stats span,.adjustment {background: var(--selected); border-color: var(--line); color: var(--green)}
.option-pill,.notice,.scope-definition {background: var(--warning-bg); color: var(--amber); border-color: var(--amber)}
.notice.error,#error,#dialog-error:not(:empty) {background: var(--error-bg); color: var(--red); border-color: var(--red)}
.notice.ok,body[data-app="operations"] .notice,#message:not(:empty) {background: var(--success-bg); color: var(--success-text); border-color: var(--line)}
.table-wrap,table {background: var(--panel); color: var(--ink); border-color: var(--line)}
th,.schedule-table thead th:first-child {background: var(--panel-2); color: var(--muted); border-color: var(--line)}
td,.audit,.admin-user,.budget-alt {border-color: var(--line)}
.schedule-table th:first-child,.schedule-table td:first-child {background: var(--panel)}
.visual-choice,.feature-choice,.scope-choice,.scale-choice,.planning-choice .mode-tab,.property-image-button {background: var(--panel); border-color: var(--line); color: var(--ink)}
.visual-choice:hover,.feature-choice:hover,.scope-choice:hover {background: var(--hover); border-color: var(--green)}
.visual-choice.selected,.feature-choice.selected,.scale-choice.selected,.scope-choice.selected,.planning-choice .mode-tab.active {background: var(--selected); border-color: var(--green); color: var(--ink); box-shadow: inset 0 0 0 1px var(--green)}
.visual-choice small,.feature-choice small,.scale-choice small,.scope-choice small,.mode-tab small,.mode-tab.active small {color: var(--muted)}
.scope-choice .scope-check {background: var(--panel-2)}
.scope-choice.selected .scope-check {background: var(--green); color: var(--on-accent)}
.estimate-mode-tabs,body[data-app="operations"] nav {background: var(--panel-2); border-color: var(--line)}
.mode-tab {background: transparent; color: var(--ink)}
.mode-tab.active {background: var(--panel); border-color: var(--green); color: var(--ink)}
.estimate-mode-tabs .mode-tab.active {background: var(--panel); border-color: var(--green); color: var(--ink)}
.quick-quote,.mixed-community-scope,.bid-approval-check,.estimate-optional>summary,.site-profile-card .estimate-optional>summary,
.proposal-choice,.bid-review-grid article,.brand-preview {background: var(--selected); border-color: var(--line); color: var(--ink)}
.mixed-community-scope strong {color: var(--ink)}
.quick-steps button {color: var(--amber); border-color: var(--amber)}
.quick-steps .done {color: var(--green); border-color: var(--green)}
.visual-choice.mixed-property-choice,.visual-choice.mixed-property-choice:hover,.visual-choice.mixed-property-choice.selected,
.multifamily-guidance {background: var(--info-bg); border-color: var(--info-line); box-shadow: inset 3px 0 0 var(--info-line)}
.mixed-property-choice strong,.mixed-property-choice small,.mixed-property-choice .mixed-choice-types,
.multifamily-guidance strong,.multifamily-guidance p,.mixed-section .mixed-building-layout {color: var(--info-ink)}
.mixed-property-choice .mixed-choice-icon {background: var(--panel); border-color: var(--info-line); color: var(--info-ink)}
dialog,.modal-head,.modal-content,.dialog-head {background: var(--panel); color: var(--ink); border-color: var(--line)}
.modal-footer,fieldset {border-color: var(--line)}
dialog::backdrop {background: #101b16a8}
.auth-screen {background: var(--paper)}
.auth-card {background: var(--panel); border-color: var(--line); box-shadow: var(--shadow)}
.auth-card .baseline-lockup small {color: var(--muted)}
#toast {background: var(--green); color: var(--on-accent); border-color: var(--green)}
body[data-app="operations"] nav button {background: transparent; color: var(--muted)}
body[data-app="operations"] nav button.active {background: var(--green); color: var(--on-accent)}
body[data-app="operations"] .card {border-radius: 14px}
@media(max-width:760px) {
  .sidebar .appearance-control {flex-direction: row; align-items: center; gap: 12px; margin: 12px 0 0}
  .sidebar .appearance-control select {width: auto; max-width: 200px}
  .top {flex-wrap: wrap}
  .top .appearance-control {flex-direction: row; align-items: center; width: 100%}
  .top .appearance-control select {width: auto}
  input,select,textarea {font-size: 16px}
  button,.button {min-height: 44px}
}
@media(prefers-reduced-motion:reduce) {* {transition: none!important; scroll-behavior: auto!important}}
@media print {
  :root,:root[data-theme="dark"] {color-scheme: light; --ink:#111; --text:#111; --muted:#444; --panel:#fff; --paper:#fff; --panel-2:#f3f3f3; --line:#ccc; --green:#245d3c}
  body {background: #fff; color: #111}
  .appearance-control {display: none!important}
}

/* Keep account controls inside the charcoal panel on shorter screens. */
.sidebar {overflow-y:auto}
@media(max-width:760px) {.sidebar {overflow-y:visible}}

/* Crisp white light-mode surfaces; state remains visible through text, borders and focus. */
:root:not([data-theme="dark"]){background:#fff}
:root:not([data-theme="dark"]) .metric.primary{background:#fff;color:var(--ink);border-color:var(--green)}
:root:not([data-theme="dark"]) .metric.primary .value{color:var(--green)}
:root:not([data-theme="dark"]) .metric.primary .label,:root:not([data-theme="dark"]) .metric.primary .sub{color:var(--muted)}

/* Existing Property Memory becomes the shared review point, without a new dashboard. */
.property-journey{border-block:1px solid var(--line);padding-block:20px;margin-block:20px;background:var(--panel)}.journey-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.journey-stages p{margin:0 0 14px}.journey-stages strong,.journey-stages span{display:block}.journey-stages span{font-size:12px;color:var(--muted);margin-top:5px}.property-journey li,.renewal-review li{margin:8px 0}.property-journey summary,.renewal-review summary{cursor:pointer;font-weight:650}.property-journey details{margin-top:16px}.renewal-review details[open]>summary{margin-bottom:18px}.property-journey .actions{margin-block:12px}@media(max-width:600px){.journey-stages{grid-template-columns:1fr}.property-journey .actions>*{width:100%;text-align:center}}

.property-journey a.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border:1px solid var(--green);border-radius:8px;text-decoration:none;font:inherit;font-weight:650}
