/* XactlyLIT 8.9.3: a readable contractor workspace. Public landing styles stay scoped. */
body.workspace-active,
.shell {
  --bg: #eef2f6;
  --bg2: #f7f9fc;
  --panel: #ffffff;
  --panel2: #edf2f7;
  --text: #16263b;
  --muted: #53647a;
  --line: #cbd5e1;
  --blue: #2459bd;
  --gold: #805b1d;
  --champagne: #805b1d;
  --platinum: #dae2eb;
  --xl-border: #cbd5e1;
  --xl-gold: #805b1d;
  --shadow: 0 8px 28px rgba(20, 38, 63, .07);
  background: var(--bg);
  color: var(--text);
  color-scheme: light;
}
.shell .main {
  background: linear-gradient(160deg, #f5f7fa, #e9eef5);
  color: var(--text);
}
.shell .workspace { padding: 26px; }
.shell :is(h1,h2,h3,h4) { color: #16263b; }
.shell .sidebar {
  background: linear-gradient(175deg, #14253e, #0b1628);
  border-right: 1px solid #35445b;
  color: #e6edf7;
}
.shell .sidebar .brand {
  border-bottom: 1px solid #35445b;
  margin-bottom: 18px;
}
.shell .nav-label { color: #aab8cc; font-size: 10px; }
.shell .nav-item { color: #d3deed; min-height: 42px; }
.shell .nav-icon { color: #dfc58e; }
.shell .nav-item:is(:hover,.active) {
  background: #243750;
  color: #ffffff;
  border-color: #61718a;
}
.shell .nav-item.active { box-shadow: inset 3px 0 #dfc58e; }
.shell .topbar {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #cbd5e1;
  box-shadow: 0 2px 12px rgba(20,38,63,.04);
}
.shell .search input {
  background: #f0f4f8;
  border-color: #b9c7d8;
  color: #16263b;
}
.shell .search:before { color: #53647a; }
.shell .search input::placeholder { color: #53647a; }
.shell .page-head { margin-bottom: 24px; }
.shell .page-head h1 { font-size: clamp(26px, 2.5vw, 34px); }
.shell :is(.page-head p,.muted,.metric .k,.metric .s,.grow span,.lead-card p,.option-card p,.legal-doc small) {
  color: #53647a;
}
.shell .eyebrow { color: #805b1d; }
.shell .card,
body.workspace-active .modal.card {
  background: #ffffff;
  border-color: #cbd5e1;
  box-shadow: var(--shadow);
  color: #16263b;
}
.shell .metric {
  padding: 21px;
  border-top: 3px solid #c3cedc;
}
.shell .metric:first-child { border-top-color: #b5914e; }
.shell .metric .v { color: #16263b; font-size: 32px; }
.shell .metric.hot { border-color: #c8a465; }
.shell .btn,
body.workspace-active .modal .btn {
  background: #f0f4f9;
  border-color: #afbed1;
  color: #203651;
  min-height: 40px;
  box-shadow: none;
}
.shell .btn:hover { border-color: #536f94; background: #e4ebf4; }
.shell .btn.primary,
body.workspace-active :is(.modal .btn.primary,.mobile-quick) {
  background: linear-gradient(110deg, #f0dbac, #d9b86f);
  border-color: #b18b43;
  color: #1c293a;
  box-shadow: 0 4px 14px rgba(147,111,48,.12);
}
.shell .btn.gold { background: #fcf5e6; border-color: #b5914e; color: #634814; }
.shell .btn.danger { background: #fff0f2; border-color: #d592a0; color: #9b2943; }
.shell .pill { background: #f2f5fa; border-color: #b6c3d5; color: #344d6a; }
.shell .row { background: #f8fafc; border-color: #d5deea; color: #16263b; }
.shell .row:hover { background: #edf2f8; border-color: #92a6c0; }
.shell .avatar { background: #e8effa; color: #2459a5; }
.shell .empty-state { color: #53647a; padding: 28px 20px; }
.shell .empty-state b { color: #213650; }
.shell :is(.ops-flow>div,.engine-flow>div) { background: #f2f5f9; border-color: #cad5e2; }
.shell :is(.ops-flow span,.engine-flow span) { color: #805b1d; }
.shell :is(.ops-flow b,.engine-flow b) { color: #203651; }
.shell .stage { background: #e7edf5; border-color: #bfccdc; }
.shell .stage-head { background: #dbe4ef; color: #233c5a; border-color: #bfccdc; }
.shell .stage-head b { font-size: 11px; }
.shell .stage-empty { color: #53647a; }
.shell .lead-card { background: #ffffff; border-color: #c3d0e0; box-shadow: 0 3px 10px rgba(20,38,63,.04); }
.shell .quality-badge { color: #465b74; border-color: #aabbd0; background: #f3f6fa; }
.shell .quality-badge:is(.hot,.amber) { color: #6b4b11; border-color: #c4a165; background: #fff4da; }
.shell .quality-badge.green { color: #176240; border-color: #86b59d; background: #eaf6ef; }
.shell .status { color: #21518c; background: #eaf1fb; border-color: #a6bbd8; }
.shell .status.green { color: #176240; background: #eaf6ef; border-color: #86b59d; }
.shell .status.amber { color: #6b4b11; background: #fff4da; border-color: #c4a165; }
.shell .status.red { color: #932b40; background: #fff0f2; border-color: #d592a0; }
.shell .field label,
body.workspace-active .modal .field label { color: #435a76; }
.shell .field :is(input,select,textarea),
body.workspace-active .modal .field :is(input,select,textarea) {
  background: #f9fbfe;
  color: #16263b;
  border-color: #aebed3;
  min-height: 42px;
  color-scheme: light;
}
.shell :is(input,textarea)::placeholder { color: #61728a; }
.shell :is(.field input,.field select,.field textarea,.btn,.nav-item):focus-visible,
body.workspace-active .modal :is(input,select,textarea,button):focus-visible {
  outline: 3px solid #2459bd;
  outline-offset: 3px;
  box-shadow: none;
}
.shell table { color: #203651; background: #ffffff; }
.shell :is(th,td) { border-color: #d5deea; }
.shell th { background: #e8eef6; color: #435a76; }
.shell :is(td,tr) { color: #203651; }
.shell tr:hover td { background: #f2f6fb; }
.shell .settings-nav button { color: #435a76; min-height: 42px; }
.shell .settings-nav button.active { background: #e8eef8; color: #214b88; }
.shell :is(.legal-doc,.calendar-event,.event-date,.addon,.estimate-line) { border-color: #cbd5e1; }
.shell :is(.calendar-event p,.event-date span) { color: #53647a; }
.shell .option-card { background: #f7f9fc; border-color: #c1cee0; }
.shell .option-card.selected { background: #fffbf2; border-color: #b5914e; box-shadow: none; }
.shell .option-card .recommend { background: #1f3e69; color: #ffffff; }
.shell .proposal-cover { color: #edf3fa; background: linear-gradient(130deg, #18304f, #0b192c); }
.shell .proposal-cover :is(h2,p) { color: #edf3fa; }
.shell .proposal-cover:after { border-color: #b5914e; }
.shell .override-box { background: #f3f6fa; border-color: #b7c5d8; }
.shell .override-box .calc { color: #435a76; }
.shell .override-box input { background: #ffffff; border-color: #829abc; color: #16263b; }
body.workspace-active .modal-backdrop { background: rgba(16,31,51,.55); }
body.workspace-active .modal :is(h2,h3,p,label) { color: #203651; }
body.workspace-active .mobile-nav { background: #f9fbfe; border-color: #bfccdc; }
body.workspace-active .mobile-nav button { color: #53647a; }
body.workspace-active .mobile-nav button.active { color: #173f7b; background: #e6edf8; }
body.workspace-active .toast { background: #17304f; border-color: #c0a062; color: #ffffff; }

/* Photo canvas keeps its own scene colors. The surrounding controls use platinum panels. */
.shell .v83-designer-shell { border-color: #b4c3d7 !important; background: #e6edf5 !important; }
.shell .v83-designer-head { background: #ffffff !important; border-color: #bdcadd !important; }
.shell .v83-property-title h1 { color: #16263b !important; }
.shell .v83-property-title :is(.eyebrow,span) { color: #53647a !important; }
.shell .v83-stagebar { background: #e9eef6 !important; border-color: #bdcadd !important; }
.shell .v83-stagebar button { color: #53647a !important; }
.shell .v83-stagebar button.active { background: #fff8e8 !important; color: #6c4b12 !important; border-bottom-color: #a27b31 !important; }
.shell .v83-stagebar button+button:before { background: #bfccdc; }
.shell .v83-tools { background: #e4ebf4 !important; border-color: #bdcadd !important; }
.shell .v83-tool { color: #435a76 !important; }
.shell .v83-tool:is(:hover,.active) { color: #163d77 !important; background: #d0dff5 !important; border-color: #88a5d0 !important; }
.shell .v83-canvas-toolbar { background: #f3f6fa !important; border-color: #bdcadd !important; }
.shell :is(.v83-view-switch button,.v83-canvas-actions button,.v83-metal-btn) {
  background: #ffffff !important; color: #435a76 !important; border-color: #aabdd6 !important;
}
.shell :is(.v83-view-switch button.active,.v83-canvas-actions button.active) {
  background: #fff4db !important; color: #6b4b11 !important; border-color: #b5914e !important;
}
.shell :is(.v83-inspector,.v8-inspector) {
  background: #f1f5fa !important; border-color: #b9c7da !important; color: #16263b !important;
  --v83-text: #16263b; --v83-muted: #53647a; --v83-line: #b9c7da; --v83-gold: #805b1d;
}
.shell .v83-inspector :is(h2,h3,p,label,small,.microcopy,.v8-card-head span,.object-layer-row .grow span,.v83-measure-summary span) { color: #53647a !important; }
.shell .v83-inspector :is(h2,h3,b,.object-layer-row .grow b) { color: #16263b !important; }
.shell .v83-inspector :is(.v8-light-controls,.ambient-card,.v8-property-card,.v8-present-card,.v8-estimate-card,.calibration-card,.object-inspector,.project-pricing-card,.object-layers,.v83-measure-summary>div,.property-readout>div,.object-measure-grid>div,.ai-studio,.smart-studio,.recognition-review,.takeoff-object,.project-takeoff,.suggestion-row) {
  background: #ffffff !important; border-color: #b9c7da !important; color: #16263b !important;
}
.shell .v83-inspector :is(input:not([type=range]):not([type=checkbox]),select,textarea) {
  background: #f8fafd !important; color: #16263b !important; border-color: #9fb2cc !important; color-scheme: light;
}
.shell .v83-inspector :is(.bulb-choice,.scene-presets button,.layer-eye,.layer-lock) { background: #e9eef6 !important; color: #435a76 !important; border-color: #b9c7da !important; }
.shell .v83-inspector .bulb-choice.active { background: #fff4da !important; color: #624815 !important; border-color: #b5914e !important; }
.shell .v83-inspector .v83-preset-grid button { background: #ffffff !important; color: #435a76 !important; border-color: #b9c7da !important; }
.shell .v83-inspector .v83-preset-grid button:hover { background: #fff4da !important; border-color: #b5914e !important; }
.shell .v83-inspector .object-layer-row.active { background: #e6edf8 !important; border-color: #829fc5 !important; }
.shell .v83-inspector .metal-badge { color: #6b4b11; border-color: #b5914e; background: #fff4da; }
.shell .v83-inspector :is(.v8-range b,.object-measure-grid input) { color: #805b1d !important; }
.shell .v83-inspector :is(button,input,select,textarea):focus-visible { outline: 3px solid #2459bd; outline-offset: 2px; }

/* Administrator setup is readable before a workspace exists. */
.login-v89 .login-panel { background: linear-gradient(160deg,#f9fbfe,#e8eef6); color: #16263b; border-color: #bfccdc; color-scheme: light; }
.login-v89 .premium-admin-box :is(h2,.field label,.muted,.customer-designer-link) { color: #435a76; }
.login-v89 .premium-admin-box h2 { color: #16263b; }
.login-v89 .premium-admin-box .admin-brand { background: #13253d; padding: 12px 16px; border-radius: 12px; }
.login-v89 .premium-admin-box .field input { background: #ffffff; color: #16263b; border-color: #9fb2cc; }
.login-v89 .admin-status-note { background: #fff6df; color: #634815; border-color: #b5914e; }
.login-v89 .admin-status-note :is(b,span) { color: #634815; }
.login-v89 .login-error { color: #a1243e; }

@media(max-width:760px) {
  .shell .workspace { padding: 18px 14px 94px; }
  .shell .page-head { flex-wrap: wrap; }
  .shell .head-actions { display: flex; }
  .shell .head-actions .btn { min-height: 44px; }
  .shell .metric { padding: 16px; }
  .shell .topbar { gap: 8px; }
  .shell .top-actions { flex-wrap: nowrap; }
  .shell .top-actions .pill { padding: 6px; font-size: 9px; }
}

/* v8.9.11: editable company and proposal per-foot rate controls */
.xlt-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}
.xlt-rate-field{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:13px}
.xlt-rate-input{display:flex;align-items:center;gap:8px;border:1px solid #566273;border-radius:9px;padding:7px 12px;background:#0e192a}
.xlt-rate-input input{min-width:0;width:100%;background:transparent;border:0;color:#fff;font-size:17px;font-weight:700}
.xlt-rate-input span{opacity:.7;white-space:nowrap}
.pp-job-rate-row{display:grid;grid-template-columns:minmax(120px,1fr) 105px 100px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #334152}
.pp-job-rate-row input{width:100%;padding:8px;border-radius:6px}
.pp-job-rate-row b{text-align:right}
@media(max-width:520px){.pp-job-rate-row{grid-template-columns:1fr 100px}.pp-job-rate-row b{grid-column:2}}
