:root {
  --saas-accent: #8a5c2f;
  --saas-accent-dark: #694220;
  --saas-border: #d8c7b4;
  --saas-surface: #fffdf9;
  --saas-page: #f6f1e9;
  --saas-text: #2f2923;
}

body.auth-locked > #saas-foundation-shell#saas-foundation-shell { visibility: visible !important; }

.saas-staging-badge {
  position: fixed; right: 10px; bottom: 10px; z-index: 9990;
  border: 1px solid #b98b57; border-radius: 999px; background: #fff8e9;
  color: #744818; padding: 4px 9px; font: 700 11px/1.2 system-ui, sans-serif;
  box-shadow: 0 2px 10px #3b2a181a;
}

.saas-foundation-toolbar {
  position: static; display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px;
  min-width: 0; padding: 0; border: 0; background: transparent; box-shadow: none;
}

.saas-foundation-toolbar[hidden],
.saas-organization-field[hidden],
.saas-current-company[hidden],
.saas-company-conflict[hidden] { display: none !important; }

#signed-user-box:not(.hidden) { display: flex; flex-wrap: wrap; }
.saas-current-company { max-width: 150px; overflow: hidden; color: #cbd5e1; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.saas-organization-field { display: inline-flex; align-items: center; gap: 5px; min-width: 0; color: #cbd5e1; font-weight: 700; }
.saas-organization-field select { max-width: 180px; min-width: 0; }
.saas-management-menu { position: static; min-width: 70px; }
.saas-management-menu summary { min-height: 32px; display: inline-flex; align-items: center; gap: 5px; cursor: pointer; list-style: none; border: 1px solid #ffffff24; border-radius: 7px; background: #ffffff12; color: #fff; padding: 5px 9px; font-weight: 800; }
.saas-management-menu summary::-webkit-details-marker { display: none; }
.saas-management-menu:not([open]) .saas-management-actions { display: none; }
.saas-management-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; width: 100%; padding-top: 5px; }
.saas-management-actions > button { min-height: 32px; }

.saas-foundation-toolbar select,
.saas-foundation-toolbar button,
.saas-settings-tabs button,
.saas-actions button,
.saas-menu-row button {
  min-height: 34px; border: 1px solid var(--saas-border); border-radius: 7px;
  background: #fff; color: var(--saas-text); padding: 6px 10px; font-weight: 700;
}

.saas-foundation-toolbar button { background: #ffffff12; color: #fff; border-color: #ffffff24; }
.saas-foundation-loading { position: fixed; inset: 0; z-index: 10000; display: grid; place-content: center; gap: 12px; text-align: center; background: var(--saas-page); color: var(--saas-text); }
.saas-foundation-spinner { width: 32px; height: 32px; margin: auto; border: 3px solid #d8c7b4; border-top-color: var(--saas-accent); border-radius: 50%; animation: saas-spin .7s linear infinite; }
@keyframes saas-spin { to { transform: rotate(360deg); } }

.saas-modal { position: fixed; inset: 0; z-index: 10010; display: grid; place-items: center; padding: 16px; background: rgba(39, 31, 22, .35); }
.saas-modal[hidden] { display: none !important; }
.saas-modal-card { width: min(880px, 100%); max-height: min(860px, calc(100vh - 32px)); overflow: auto; border: 1px solid var(--saas-border); border-radius: 14px; background: var(--saas-surface); box-shadow: 0 18px 60px #2f211733; color: var(--saas-text); }
.saas-onboarding-card { width: min(680px, 100%); padding: 28px; }
.saas-onboarding-card h1, .saas-settings-card h2 { margin: 3px 0 8px; font-size: 26px; font-weight: 800; }
.saas-eyebrow { margin: 0; color: var(--saas-accent-dark); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.saas-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
.saas-form-grid label { display: grid; gap: 6px; color: #51463a; font-size: 13px; font-weight: 700; }
.saas-form-grid input, .saas-form-grid select { width: 100%; min-height: 42px; border: 1px solid #cdbba7; border-radius: 7px; background: #fff; color: #28221c; padding: 8px 10px; font-size: 15px; }
.saas-form-grid input:focus, .saas-form-grid select:focus { outline: 3px solid #bd8f5b33; border-color: var(--saas-accent); }
.saas-span-2 { grid-column: 1 / -1; }
.saas-primary { min-height: 42px; border: 1px solid var(--saas-accent); border-radius: 7px; background: var(--saas-accent); color: white; padding: 9px 16px; font-weight: 800; }
.saas-primary:hover { background: var(--saas-accent-dark); }
.saas-primary:disabled { opacity: .45; cursor: not-allowed; }
.saas-status { min-height: 20px; margin: 12px 0 0; color: #66594d; font-size: 13px; }
.saas-status[data-kind="error"] { color: #a12626; }
.saas-status[data-kind="success"] { color: #267148; }
.saas-settings-loading { margin: 24px 0; color: #66594d; text-align: center; font-weight: 700; }
.saas-company-conflict { border: 1px solid #e3a4a4; border-radius: 9px; background: #fff4f4; color: #7f1d1d; padding: 12px; }
.saas-company-conflict p { margin: 4px 0 8px; font-size: 12px; }
.saas-company-conflict ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.saas-company-conflict li { display: grid; grid-template-columns: minmax(90px,.45fr) 1fr 1fr; gap: 8px; border-top: 1px solid #efcaca; padding-top: 7px; font-size: 12px; overflow-wrap: anywhere; }

.saas-settings-card > header { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--saas-border); background: var(--saas-surface); z-index: 2; }
.saas-settings-card > header button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #efe6db; color: #4d4034; font-size: 25px; }
.saas-settings-tabs { display: flex; gap: 5px; overflow-x: auto; padding: 10px 18px; border-bottom: 1px solid #e4d9cb; }
.saas-settings-tabs button.active { background: var(--saas-accent); color: #fff; border-color: var(--saas-accent); }
#saas-settings-content { padding: 8px 22px 24px; }
#saas-settings-status { padding: 0 22px 18px; }
.saas-menu-list, .saas-member-list { display: grid; gap: 7px; margin: 14px 0; }
.saas-menu-row, .saas-member-list > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 7px 10px; border: 1px solid #e2d6c7; border-radius: 7px; background: #fff; }
.saas-menu-row label { font-weight: 700; }
.saas-menu-row[draggable="true"] { cursor: grab; }
.saas-menu-row.dragging { opacity: .45; border-style: dashed; }
.saas-drag-handle { margin-right: 7px; color: #8b7b69; letter-spacing: -3px; }
.saas-menu-row > div { display: flex; gap: 4px; }
.saas-menu-preview { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; padding: 12px; border: 1px dashed var(--saas-border); border-radius: 9px; background: #faf7f2; }
.saas-menu-preview span { padding: 5px 8px; border-radius: 999px; background: #fff; border: 1px solid #ded1c2; font-size: 12px; font-weight: 800; }
.saas-document-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.saas-document-preview article { min-height: 180px; padding: 18px; border: 1px solid #d9cbbb; border-radius: 9px; background: #fff; box-shadow: 0 4px 16px #49321c12; }
.saas-document-preview article[data-template="simple"] { box-shadow: none; border-color: #ddd; }
.saas-document-preview article[data-template="premium"] { border-top: 8px solid var(--saas-accent); background: linear-gradient(145deg,#fff,#fbf4e9); }
.saas-document-preview article[data-template="detailed"] { border-left: 5px solid #5f6670; }
.saas-onboarding-menus { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; border: 1px solid #d8c7b4; border-radius: 8px; padding: 12px; }
.saas-onboarding-menus legend { padding: 0 6px; font-weight: 800; }
.saas-actions { display: flex; justify-content: flex-end; gap: 8px; }
.saas-help { border-left: 3px solid #b98b57; background: #f8f0e4; padding: 10px 12px; color: #635446; font-size: 13px; }
.saas-sms-provider { max-width: 760px; }
.saas-sms-provider-state { display: grid; gap: 4px; margin: 18px 0 12px; padding: 15px; border: 1px solid #9bcdb1; border-radius: 10px; background: #effaf3; color: #245c39; }
.saas-sms-provider-state b { font-size: 16px; }
.saas-sms-provider .saas-subtle-danger { min-height: 42px; margin-top: 12px; }
.saas-blocked { position: fixed; inset: auto 16px 16px 16px; z-index: 10020; display: flex; flex-direction: column; gap: 4px; max-width: 520px; margin: auto; border: 1px solid #c0874d; border-radius: 10px; background: #fff8e9; color: #56391e; padding: 14px 16px; box-shadow: 0 8px 30px #3b281b33; }

.saas-furniture-page { display: grid; gap: 18px; color: #302820; }
.saas-furniture-header { display: flex; align-items: end; justify-content: space-between; gap: 16px; border: 1px solid #dfd1c1; border-radius: 14px; background: linear-gradient(135deg,#fffdf9,#f7eee2); padding: 20px; }
.saas-furniture-header p { margin: 0 0 3px; color: #8a5c2f; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.saas-furniture-header h2 { margin: 0; font-size: 24px; font-weight: 900; }
.saas-furniture-header span { display: block; margin-top: 5px; color: #75685c; font-size: 13px; }
.saas-furniture-header button,
.saas-furniture-actions button { min-height: 40px; border: 1px solid #8a5c2f; border-radius: 8px; background: #8a5c2f; color: #fff; padding: 8px 14px; font-weight: 900; }
.saas-furniture-header button { border-color: #d0bda8; background: #fff; color: #6d4b2d; }
.saas-furniture-editor { display: grid; gap: 16px; min-width: 0; }
.saas-furniture-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; min-width: 0; }
.saas-furniture-form,
.saas-furniture-output,
.saas-furniture-components-field,
.saas-furniture-saved { border: 1px solid #ddd0c1; border-radius: 13px; background: #fff; padding: 16px; box-shadow: 0 5px 18px #3a291813; }
.saas-furniture-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.saas-furniture-form label { display: grid; gap: 5px; color: #574a3e; font-size: 12px; font-weight: 800; }
.saas-furniture-form label.wide,
.saas-furniture-form fieldset.wide,
.saas-furniture-form .wide { grid-column: 1 / -1; }
.saas-furniture-form input,
.saas-furniture-form select,
.saas-furniture-form textarea { width: 100%; min-height: 40px; border: 1px solid #cdbfae; border-radius: 7px; background: #fff; color: #2c251f; padding: 8px 9px; font-size: 14px; }
.saas-furniture-form textarea { resize: vertical; }
.saas-furniture-form [data-dimension-side][hidden] { display: none !important; }
.saas-furniture-form fieldset { border: 1px solid #e0d4c6; border-radius: 9px; padding: 10px; }
.saas-furniture-form legend { padding: 0 5px; color: #574a3e; font-size: 12px; font-weight: 900; }
.saas-furniture-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.saas-furniture-options label { display: flex; align-items: center; gap: 5px; min-height: 32px; border: 1px solid #eadfd2; border-radius: 7px; background: #fbf8f4; padding: 5px 7px; }
.saas-furniture-options input { width: 16px; min-height: 16px; }
.saas-furniture-actions { position: sticky; bottom: 0; z-index: 4; display: flex; justify-content: flex-end; gap: 8px; border: 1px solid #dfd0bd; border-radius: 10px; background: #fffaf3f2; padding: 10px; box-shadow: 0 -5px 16px #3a291814; backdrop-filter: blur(5px); }
.saas-furniture-actions button:first-child { border-color: #bca58e; background: #fff; color: #694a2d; }
.saas-furniture-actions button:disabled { opacity: .45; cursor: not-allowed; }
.saas-furniture-components-field { min-width: 0; }
.saas-furniture-components-field > legend { padding: 0 7px; color: #574a3e; font-size: 13px; font-weight: 900; }
.saas-furniture-components-field > p { margin: 0 0 9px; color: #7b6b5d; font-size: 11px; }
.saas-furniture-notes { display: grid; gap: 5px; color: #574a3e; font-size: 12px; font-weight: 800; }
.saas-furniture-notes textarea { width: 100%; min-height: 72px; border: 1px solid #cdbfae; border-radius: 7px; background: #fff; color: #2c251f; padding: 8px 9px; font-size: 14px; resize: vertical; }
#saas-furniture-component-add { margin-top: 9px; min-height: 36px; border: 1px solid #9d805f; border-radius: 7px; background: #fff8ed; color: #624326; padding: 6px 10px; font-weight: 900; }
#saas-furniture-components { display: grid; gap: 5px; min-width: 0; }
.saas-furniture-component-head,
.saas-furniture-component-row { display: grid; grid-template-columns: minmax(260px,2fr) minmax(110px,.75fr) 84px minmax(130px,.85fr) minmax(110px,.75fr) 112px; gap: 6px; align-items: center; min-width: 0; }
.saas-furniture-component-head { color: #746456; padding: 0 5px; font-size: 10px; font-weight: 900; text-align: center; }
.saas-furniture-component-row { border: 1px solid #e2d6c8; border-radius: 8px; background: #fffdf9; padding: 6px; }
.saas-furniture-component-row label { display: block; min-width: 0; }
.saas-furniture-component-row label > span { display: none; }
.saas-furniture-component-row input,
.saas-furniture-component-row select { width: 100%; min-width: 0; min-height: 36px; border: 1px solid #cdbfae; border-radius: 6px; background: #fff; color: #30271f; padding: 5px 6px; font-size: 12px; }
.saas-furniture-direct-item { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 4px; }
.saas-furniture-component-row strong { color: #49331f; font-size: 12px; text-align: right; }
.saas-furniture-component-actions { display: flex; justify-content: flex-end; gap: 3px; }
.saas-furniture-component-actions button { width: 32px; min-height: 32px; border: 1px solid #cbb99f; border-radius: 6px; background: #fff; color: #664729; font-weight: 900; }
.saas-furniture-component-actions button[data-remove] { color: #aa2e2e; }
.saas-furniture-output { position: sticky; top: 10px; }
.saas-furniture-preview { overflow: hidden; border: 1px solid #e2d7cb; border-radius: 10px; background: #fffdfa; }
.saas-furniture-preview svg { display: block; width: 100%; height: auto; }
.saas-furniture-output h3,
.saas-furniture-saved h3 { margin: 15px 0 9px; font-size: 15px; font-weight: 900; }
.saas-furniture-starter { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(220px,1fr) auto minmax(210px,.8fr); gap: 10px; align-items: end; border: 1px solid #d8c6b2; border-radius: 12px; background: #fff9f0; padding: 12px; }
.saas-furniture-starter > div { display: grid; gap: 3px; align-self: center; }
.saas-furniture-starter span { color: #786757; font-size: 11px; }
.saas-furniture-starter label { display: grid; gap: 4px; color: #5d4a39; font-size: 11px; font-weight: 800; }
.saas-furniture-starter select,.saas-furniture-starter button { width: 100%; min-width: 0; min-height: 40px; border: 1px solid #cbb89f; border-radius: 8px; background: #fff; color: #493727; padding: 7px 9px; font-weight: 800; }
.saas-furniture-starter button { background: #76502d; color: #fff; }
.saas-furniture-modular { display: grid; grid-template-columns: minmax(290px,.85fr) minmax(420px,1.6fr) minmax(280px,.85fr); gap: 12px; align-items: start; min-width: 0; }
.saas-furniture-runs,.saas-furniture-drawing,.saas-furniture-properties,.saas-furniture-v2-tools > article { min-width: 0; border: 1px solid #ddd0c1; border-radius: 12px; background: #fff; padding: 12px; box-shadow: 0 4px 14px #3a291810; }
.saas-furniture-runs > header,.saas-furniture-drawing > header,.saas-furniture-v2-tools article > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 9px; }
.saas-furniture-runs h3,.saas-furniture-drawing h3,.saas-furniture-properties h3,.saas-furniture-v2-tools h3 { margin: 0; font-size: 14px; font-weight: 900; }
.saas-furniture-runs header p { margin: 3px 0 0; color: #7d6e61; font-size: 10px; }
.saas-furniture-runs header > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.saas-furniture-runs select,.saas-furniture-runs button,.saas-furniture-drawing button,.saas-module-add select,.saas-module-add button,.saas-furniture-v2-tools select,.saas-furniture-v2-tools input,.saas-furniture-v2-tools button { min-width: 0; min-height: 34px; border: 1px solid #cbb89f; border-radius: 7px; background: #fff; color: #513c29; padding: 5px 7px; font-size: 11px; font-weight: 800; }
#saas-furniture-run-list { display: grid; gap: 8px; }
.saas-furniture-run-card { border: 1px solid #e3d7ca; border-radius: 9px; background: #fffcf8; padding: 8px; }
.saas-furniture-run-card.active { border-color: #8a5c2f; box-shadow: 0 0 0 2px #8a5c2f22; }
.saas-furniture-run-card > header { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.saas-furniture-run-card > header > button { display: grid; flex: 1; gap: 1px; border: 0; background: transparent; padding: 2px; text-align: left; }
.saas-furniture-run-card > header > button span { color: #7b6b5c; font-size: 10px; }
.saas-furniture-run-card > header > div { display: flex; gap: 3px; }
.saas-furniture-run-card > header > div button { width: 30px; padding: 3px; }
.saas-furniture-run-card > p { margin: 7px 0; color: #6f6053; font-size: 10px; }
.saas-furniture-run-card .danger { color: #b42318; }
.saas-run-blocks { display: flex; gap: 4px; overflow-x: auto; padding: 5px 0; }
.saas-run-blocks > button { display: grid; flex: 0 0 auto; min-width: 86px; max-width: 150px; min-height: 48px; border-color: #cfb89d; background: #f4eadc; text-align: left; }
.saas-run-blocks > button.active { border-color: #6e4725; background: #e8d5bd; box-shadow: inset 0 0 0 1px #6e4725; }
.saas-run-blocks > button[draggable="true"] { cursor: grab; }
.saas-run-blocks span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.saas-run-blocks small { color: #756454; font-size: 9px; }
.saas-run-blocks em { color: #8a7c6f; font-size: 10px; }
.saas-furniture-run-card > footer { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }
.saas-run-warnings { margin: 7px 0 0; border-radius: 6px; background: #fff0ee; color: #a12620; padding: 7px 7px 7px 22px; font-size: 10px; font-weight: 800; }
.saas-furniture-drawing header > div { display: flex; gap: 4px; }
.saas-furniture-drawing button.active { border-color: #76502d; background: #76502d; color: #fff; }
.saas-drawing-note { margin-bottom: 7px; color: #7c6d60; font-size: 10px; }
.saas-furniture-properties { display: grid; gap: 10px; }
.saas-property-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.saas-property-grid label { display: grid; gap: 3px; min-width: 0; color: #695747; font-size: 10px; font-weight: 800; }
.saas-property-grid label.wide { grid-column: 1 / -1; }
.saas-property-grid input,.saas-property-grid select,.saas-property-grid textarea { width: 100%; min-width: 0; min-height: 34px; border: 1px solid #cdbfae; border-radius: 6px; background: #fff; padding: 5px 6px; font-size: 11px; }
.saas-property-grid textarea { resize: vertical; }
.saas-property-grid .saas-lock-field { display: flex; align-items: center; gap: 5px; min-height: 34px; }
.saas-property-grid .saas-lock-field input { width: 16px; min-height: 16px; }
.saas-module-add { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px; border-top: 1px solid #eadfd3; padding-top: 9px; }
.saas-furniture-v2-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; min-width: 0; }
#saas-furniture-constraint-list { display: grid; gap: 5px; }
#saas-furniture-constraint-list > div { display: grid; grid-template-columns: minmax(100px,.8fr) minmax(100px,.8fr) repeat(3,minmax(70px,.5fr)) minmax(120px,1fr) auto auto; gap: 4px; align-items: center; }
#saas-furniture-constraint-list label { display: flex; align-items: center; gap: 3px; font-size: 10px; }
#saas-furniture-constraint-list label input { width: 15px; min-height: 15px; }
.saas-module-set-toolbar { display: grid; grid-template-columns: minmax(150px,1fr) auto minmax(160px,1fr) auto; gap: 5px; }
.saas-furniture-preferences { display: flex; flex-wrap: wrap; align-items: end; gap: 7px; margin-top: 9px; border-top: 1px solid #eadfd3; padding-top: 9px; }
.saas-furniture-preferences label { display: flex; align-items: center; gap: 5px; color: #5f4c3a; font-size: 10px; font-weight: 800; }
.saas-furniture-preferences label:first-child { display: grid; gap: 3px; }
.saas-furniture-preferences label input[type="checkbox"] { width: 15px; min-height: 15px; }
.saas-component-run-label { display: block; margin-bottom: 3px; color: #8a5c2f; font-size: 9px; font-weight: 900; }
.saas-design-switch-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 9px; border: 1px solid #d4ad76; border-radius: 8px; background: #fff7e8; padding: 9px; color: #694519; font-size: 11px; }
.saas-saved-design-thumb { flex: 0 0 74px !important; width: 74px; height: 48px; overflow: hidden; border: 1px solid #e3d7cb; border-radius: 5px; background: #fff; }
.saas-saved-design-thumb svg { width: 100%; height: 100%; object-fit: contain; }
#saas-furniture-item-summary { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
#saas-furniture-item-summary li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #eee5dc; padding: 7px 2px; font-size: 12px; }
#saas-furniture-item-summary span { color: #75685c; text-align: right; }
#saas-furniture-saved-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
#saas-furniture-saved-list button { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; border: 1px solid #ded2c5; border-radius: 9px; background: #fffdf9; color: #342a22; padding: 10px; text-align: left; }
#saas-furniture-saved-list button span { display: grid; gap: 3px; min-width: 0; }
#saas-furniture-saved-list button small { overflow: hidden; color: #786b5f; text-overflow: ellipsis; white-space: nowrap; }
#saas-furniture-saved-list button em { flex: 0 0 auto; border-radius: 999px; background: #efe6da; color: #78532e; padding: 4px 7px; font-size: 10px; font-style: normal; font-weight: 900; }
.saas-furniture-empty { margin: 0; color: #85786c; font-size: 13px; }
#saas-furniture-estimate-summary { margin: 0 0 15px; border: 1px solid #cfbda8; border-radius: 12px; background: #fffdf9; padding: 14px; break-inside: avoid; }
#saas-furniture-estimate-summary h2 { margin: 0 0 10px; color: #684a2e; font-size: 16px; font-weight: 900; }
#saas-furniture-estimate-summary article { display: grid; grid-template-columns: minmax(180px,.65fr) minmax(260px,1fr); gap: 12px; align-items: center; border-top: 1px solid #eadfd3; padding: 10px 0; break-inside: avoid; }
.saas-furniture-estimate-copy { display: grid; gap: 4px; }
.saas-furniture-estimate-copy span,
.saas-furniture-estimate-copy small { color: #75685c; font-size: 11px; }
.saas-furniture-estimate-svg svg { display: block; width: 100%; max-height: 220px; }
.saas-furniture-estimate-drawings { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.saas-furniture-estimate-drawings figure { min-width: 0; margin: 0; padding: 6px; border: 1px solid #eadfd3; border-radius: 8px; background: #fff; break-inside: avoid; }
.saas-furniture-estimate-drawings figure.plan { grid-column: 1 / -1; }
.saas-furniture-estimate-drawings figcaption { margin: 0 0 4px; color: #5d4a39; font-size: 11px; font-weight: 800; }
.saas-furniture-estimate-drawings figure:not(.plan) svg { max-height: 130px; }

#saas-foundation-shell .hidden,
button[data-saas-menu-id][hidden],
button[data-saas-menu-id].hidden { display: none !important; }

@media (max-width: 720px) {
  #signed-user-box:not(.hidden) { align-items: center; gap: 6px; }
  .saas-foundation-toolbar { flex: 1 1 auto; flex-wrap: wrap; }
  .saas-organization-field { flex: 1 1 150px; }
  .saas-organization-field select { flex: 1; max-width: 100%; }
  .saas-management-menu[open] { flex-basis: 100%; text-align: right; }
  .saas-current-company { max-width: 112px; }
  .saas-company-conflict li { grid-template-columns: 1fr; gap: 2px; }
  .saas-form-grid { grid-template-columns: 1fr; }
  .saas-span-2 { grid-column: 1; }
  .saas-document-preview { grid-template-columns: 1fr; }
  .saas-onboarding-menus { grid-template-columns: 1fr 1fr; }
  .saas-modal { padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)); }
  .saas-modal-card { max-height: calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .saas-furniture-layout { grid-template-columns: 1fr; }
  .saas-furniture-form { grid-template-columns: 1fr; }
  .saas-furniture-form label.wide,
  .saas-furniture-form fieldset.wide,
  .saas-furniture-form .wide { grid-column: 1; }
  .saas-furniture-options { grid-template-columns: 1fr 1fr; }
  .saas-furniture-output { position: static; }
  #saas-furniture-saved-list { grid-template-columns: 1fr; }
  #saas-furniture-estimate-summary article { grid-template-columns: 1fr; }
}

@media print {
  html[data-saas-estimate-template="estimate-template-simple"] main,
  html[data-saas-contract-template="contract-template-simple"] main { box-shadow: none !important; color: #222 !important; }
  html[data-saas-estimate-template="estimate-template-simple"] main * { text-shadow: none !important; }
  html[data-saas-estimate-template="estimate-template-premium"] main { border-top: 10px solid #8a5c2f !important; padding-top: 22px !important; }
  html[data-saas-contract-template="contract-template-detailed"] main { border-left: 5px solid #5f6670 !important; padding-left: 24px !important; }
  html[data-saas-brand="warm-beige"] main { --saas-document-accent: #a77b52; }
  html[data-saas-brand="clean-white"] main { --saas-document-accent: #303030; }
  html[data-saas-brand="modern-gray"] main { --saas-document-accent: #5f6670; }
  html[data-saas-logo-position="center"] .company-logo { margin-inline: auto !important; }
  html[data-saas-logo-position="right"] .company-logo { margin-left: auto !important; }
  #saas-furniture-estimate-summary { display: block !important; width: 100% !important; margin: 0 0 4mm !important; padding: 3mm !important; break-inside: avoid !important; }
  #saas-furniture-estimate-summary article { grid-template-columns: 62mm 1fr !important; gap: 3mm !important; break-inside: avoid !important; }
  #saas-furniture-estimate-summary svg { max-height: 45mm !important; }
}

/* SaaS UAT workflow layout: the frozen OLD markup remains untouched. */
body { overflow-x: clip; }
[data-saas-relocated="true"],
[data-saas-top-actions="removed"] { display: none !important; }

#signed-user-name { color: #fff !important; text-shadow: 0 1px 2px #2b1b10a6; }
#signed-user-role { color: #fff1cf !important; font-weight: 800 !important; text-shadow: 0 1px 2px #2b1b10a6; }
.saas-current-company,
.saas-organization-field { color: #fff !important; text-shadow: 0 1px 2px #2b1b10a6; }
#sync-badge { color: #fff !important; text-shadow: none !important; }
#sync-badge.bg-emerald-500\/20 { background: #1f5b3a !important; border-color: #8cc5a0 !important; }
#sync-badge.bg-amber-500\/20 { background: #694508 !important; border-color: #d7ad64 !important; }
#sync-badge.bg-blue-500\/20 { background: #1d4f78 !important; border-color: #8ab6d8 !important; }
#sync-badge.bg-rose-500\/20 { background: #7d2933 !important; border-color: #dda0a8 !important; }
#sync-badge.bg-slate-500\/30 { background: #374151 !important; border-color: #aab3c0 !important; }
#header-logout-button {
  border-color: #9b7b5d !important; background: #fffaf3 !important; color: #3d2d20 !important;
  box-shadow: 0 1px 4px #3a281418;
}
#header-logout-button:hover { border-color: #6d4b2d !important; background: #f0dfc9 !important; color: #2f2117 !important; }
.saas-foundation-toolbar .saas-header-control {
  border-color: #9b7b5d; background: #fffaf3; color: #3d2d20;
  box-shadow: 0 1px 4px #3a281418;
}
.saas-foundation-toolbar .saas-header-control:hover { border-color: #6d4b2d; background: #f0dfc9; color: #2f2117; }
.saas-foundation-toolbar .saas-header-control:focus-visible,
.saas-floating-actions button:focus-visible,
.saas-planned-days-button:focus-visible,
.saas-furniture-category-button:focus-visible {
  outline: 3px solid #2f6f9f; outline-offset: 2px;
}
.saas-foundation-toolbar button:disabled,
.saas-settings-card button:disabled,
.saas-floating-actions button:disabled { opacity: 1; background: #e7e0d8; color: #756d65; border-color: #bbb0a5; cursor: not-allowed; }
.saas-status[data-kind="success"] { color: #12633d; font-weight: 800; }
.saas-status[data-kind="error"] { color: #9f1f1f; font-weight: 800; }

.saas-header-install {
  min-height: 30px; display: inline-flex; align-items: center; gap: 5px;
  border: 1px solid #92704e !important; background: #fff7ea !important; color: #4c3521 !important;
}
.saas-header-install.hidden { display: none !important; }
.saas-header-install:hover { background: #ead5b7 !important; color: #2d2016 !important; }

.project-management-inner { gap: 6px !important; }
.project-picker-row.saas-project-primary-row {
  display: grid !important;
  grid-template-columns: auto minmax(150px,.9fr) minmax(105px,130px) minmax(220px,1.35fr) auto !important;
  align-items: center !important; gap: 8px !important; width: 100% !important; max-width: none !important;
}
.project-picker-row.saas-project-primary-row > span,
.project-picker-row.saas-project-primary-row > .project-search-input,
.project-picker-row.saas-project-primary-row > #project-owner-filter,
.project-picker-row.saas-project-primary-row > .project-selector-input { grid-column: auto !important; }
.saas-project-primary-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-width: 0; }
.saas-project-primary-actions button {
  min-height: 38px !important; padding: 7px 10px !important; border-radius: 9px !important;
  justify-content: center !important; white-space: nowrap !important; font-size: 11px !important; font-weight: 800 !important;
}
.project-action-row.saas-project-status-row {
  display: flex !important; align-items: center !important; justify-content: flex-start !important;
  flex-wrap: nowrap !important; min-height: 0 !important; width: 100% !important; gap: 0 !important;
}
.saas-project-status-group {
  display: grid !important; grid-template-columns: repeat(3,minmax(104px,1fr));
  flex: 0 1 420px; width: min(420px,100%); gap: 4px; padding: 3px !important;
  border-color: #cdbda9 !important; background: #f5eee5 !important;
}
.saas-project-status-group .project-status-filter {
  width: 100%; min-width: 0 !important; min-height: 36px !important; padding: 7px 18px !important;
  border: 1px solid #c8b49d !important; border-radius: 8px !important; background: #fffaf4 !important;
  color: #4b4036 !important; font-size: 12px !important; font-weight: 800 !important; line-height: 1.2; text-align: center;
}
.saas-project-status-group .project-status-filter:hover { border-color: #8b6947 !important; background: #f3e4d1 !important; color: #2e241b !important; }
.saas-project-status-group .project-status-filter.bg-slate-700,
.saas-project-status-group #project-status-all.bg-slate-700,
.saas-project-status-group #project-status-estimate.bg-slate-700,
.saas-project-status-group #project-status-contracted.bg-slate-700 { border-color: #614329 !important; background: #6d4b2d !important; color: #fff !important; box-shadow: 0 2px 6px #402a1830; }
.saas-selected-estimate-delete {
  margin-left: 2px !important; border: 1px solid #a95e5e !important; background: #fff7f5 !important;
  color: #8a2929 !important; font-weight: 800 !important;
}
.saas-selected-estimate-delete:hover { background: #f7dfda !important; color: #681919 !important; }
.saas-estimate-heading { position: relative; }
.saas-estimate-title-status { position: absolute; right: 18px; top: 14px; z-index: 2; display: flex; justify-content: flex-end; margin: 0; }
.saas-estimate-title-status #quote-status-toggle {
  border: 1px solid #7a633e !important; background: #fff9ed !important; color: #49351d !important;
  min-height: 34px; padding: 6px 12px; box-shadow: 0 2px 8px #4d361519;
}
.saas-estimate-title-status #quote-status-toggle:hover { background: #ead7b8 !important; color: #2f2114 !important; }

.saas-floating-actions {
  /* Project actions must remain below modal backdrops (the lowest uses z-50). */
  position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: 24px; z-index: 40;
  display: grid; gap: 8px; width: 104px; padding: 10px; border: 1px solid #b49a7a;
  border-radius: 18px; background: #fffaf3f5; box-shadow: 0 14px 38px #3323163d; backdrop-filter: blur(9px);
}
.saas-floating-actions > span {
  display: flex; align-items: center; justify-content: center; min-height: 27px; padding: 3px 2px;
  border-bottom: 1px solid #dfd0bd; color: #4f443a; font-size: 10px; font-weight: 900; line-height: 1.25; text-align: center;
}
.saas-floating-actions > span[data-kind="dirty"] { color: #89520e; }
.saas-floating-actions > span[data-kind="saving"] { color: #1f5e8a; }
.saas-floating-actions > span[data-kind="error"] { color: #a12626; }
.saas-floating-actions button {
  display: grid; place-items: center; gap: 4px; min-height: 64px; border: 1px solid #c4aa89;
  border-radius: 12px; background: #fff; color: #3d2e21; font-size: 13px; font-weight: 900;
}
.saas-floating-actions button:hover { border-color: #775736; background: #f1e2cf; }
.saas-floating-actions button i { color: #805526; font-size: 18px; }
.saas-staging-badge { right: auto; left: 10px; bottom: 10px; }

@media (min-width: 721px) {
  body:has(.saas-floating-actions) main { padding-right: 128px !important; }
}

.saas-planned-days-button {
  min-height: 26px; border: 1px solid #bca37f; border-radius: 999px; background: #fff8e9;
  color: #674619; padding: 3px 8px; font-size: 10px; font-weight: 900; white-space: nowrap;
}
.saas-planned-days-button:hover { background: #ead8bd; }
.saas-planned-days-button[data-kind="error"] { border-color: #b85a5a; color: #8a2929; }
.saas-planned-days-input { width: 68px; min-height: 30px; border: 1px solid #8a5c2f; border-radius: 7px; padding: 3px 6px; color: #30261e; }
.saas-category-collapse { border: 1px solid #c8bba9; border-radius: 6px; background: #fff; color: #55483c; padding: 3px 7px; }
.saas-inline-item-button { min-width: 64px; }
.saas-inline-item-editor { display: block; width: 100%; }
.saas-template-price-review[hidden] { display: none !important; }
.saas-direct-item-input { min-width: 0; width: 100%; box-sizing: border-box; }
.saas-inline-item-editor input { min-width: 0; width: 100%; border: 0; border-bottom: 1px solid #cfb89e; background: transparent; color: #30271f; padding: 5px 3px; font-size: 12px; font-weight: 800; outline: none; }
.saas-inline-item-editor input:focus { border-color: #80562c; background: #fffaf3; box-shadow: 0 2px 0 #80562c22; }
.saas-inline-direct-editor { display: grid; gap: 4px; }
.saas-inline-direct-editor button { min-height: 27px; border: 1px solid #cbb99f; border-radius: 6px; background: #fff8ed; color: #664729; padding: 3px 6px; font-size: 10px; font-weight: 900; }
.saas-legacy-item-select { width: 100%; min-width: 0; min-height: 34px; border: 1px solid #cfb89e; border-radius: 6px; background: #fff; color: #30271f; padding: 5px 7px; font-size: 12px; font-weight: 800; }
.quote-category-card.saas-category-collapsed { overflow: hidden; }
.quote-category-card.saas-category-collapsed > :nth-child(2) { display: none; }

.saas-settings-section { margin: 14px 0; }
.saas-settings-section h3 { margin: 0 0 9px; color: #35291f; font-size: 17px; font-weight: 900; }
.saas-tool-grid { display: grid; gap: 10px; }
.saas-tool-grid article { display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid #dfd1c1; border-radius: 10px; background: #fff; padding: 13px; }
.saas-tool-grid article > div:first-child { display: grid; gap: 3px; }
.saas-tool-grid article span { color: #6d6156; font-size: 12px; }
.saas-tool-grid button,
.saas-duration-defaults button { min-height: 36px; border: 1px solid #9c7a55; border-radius: 7px; background: #fff8ed; color: #4d351d; padding: 7px 10px; font-weight: 800; }
.saas-tool-grid article > div:last-child { display: flex; gap: 6px; }
.saas-tool-grid .saas-subtle-danger { border-color: #b86b6b; background: #fff7f5; color: #882c2c; }
.saas-action-dialog { width: min(520px,100%); }
#saas-work-tab-strip { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); min-width:0; max-width:1280px; width:100%; overflow:visible; gap:4px; }
#saas-work-tab-strip > .tab-btn,#saas-management-tab-row > .tab-btn { width:100%; min-width:0; white-space:nowrap; justify-content:center; padding:12px 3px; gap:4px; }
#saas-work-tab-strip > .tab-btn { font-size:12px; }
#saas-management-tab-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; min-width:0; width:260px; max-width:100%; margin-left:auto; order:1; }
#saas-management-tab-row > .tab-btn { color:#5a4029!important; border:1px solid #cdbba7!important; background:#fffaf4!important; border-radius:7px; min-height:42px; padding:8px; font-size:12px; transition:box-shadow .15s ease,transform .15s ease!important; }
#saas-management-tab-row > .tab-btn:hover { background:#f4e6d5!important; color:#3f2b1b!important; border-color:#a98763!important; }
#saas-management-tab-row > .tab-btn.border-blue-600,
#saas-management-tab-row > .tab-btn[aria-selected="true"] { background:#5d3d24!important; color:#fff!important; border-color:#4d311c!important; box-shadow:0 0 0 1px #5d3d24 inset,0 2px 7px #5d3d2438!important; }
#saas-management-tab-row > #btn-reservation-tab[aria-selected="true"],
#saas-management-tab-row > #btn-master-tab[aria-selected="true"] { color:#fff!important; -webkit-text-fill-color:#fff!important; }
#saas-management-tab-row > .tab-btn.border-blue-600 i,
#saas-management-tab-row > .tab-btn[aria-selected="true"] i { color:inherit!important; }
#saas-management-tab-row > .tab-btn:focus-visible { outline:3px solid #d4a45f!important; outline-offset:2px; }
#saas-management-tab-row > .tab-btn:disabled { opacity:.58; cursor:not-allowed; }
#saas-work-tab-strip > .tab-btn[hidden],#saas-management-tab-row > .tab-btn[hidden] { display:none!important; }
.project-action-row.saas-project-status-row { column-gap:16px!important; }
.saas-payment-date { display:grid; gap:3px; min-width:0; }
.saas-payment-description { font-size:11px; color:#475569; white-space:normal; line-height:1.4; }
.saas-payment-date input,.saas-contract-date-label input { width:100%; max-width:150px; min-width:0; border:1px solid #c9b8a4; border-radius:5px; padding:5px 3px; background:white; color:#332a23; }
.saas-payment-date small { font-size:10px; color:#6b6359; }
.saas-payment-date small[data-mode=manual] { color:#925a17; font-weight:800; }
.saas-contract-date-label { display:inline-flex; align-items:center; gap:8px; margin-top:12px; }
.saas-payment-reload { border:1px solid #cdbba7; border-radius:6px; padding:6px 10px; margin-bottom:10px; font-size:11px; }
.saas-payment-reset-dialog { width:min(460px,calc(100% - 24px)); padding:22px; border:1px solid #d5bea4; border-radius:12px; color:#332a23; }
.saas-payment-reset-dialog::backdrop { background:#231b1266; }
.saas-payment-reset-dialog h2 { font-size:18px; font-weight:800; }
.saas-payment-reset-dialog p { margin:15px 0; font-size:13px; }
.saas-payment-reset-dialog > div { display:flex; justify-content:flex-end; gap:8px; }
.saas-payment-reset-dialog button { min-height:44px; border:1px solid #b79e80; padding:8px 14px; border-radius:6px; }
.saas-payment-reset-dialog [data-reset] { background:#6e4b29; color:white; }
.saas-extra-input { width:100%; min-width:0; border:1px solid #cbd5e1; border-radius:5px; padding:8px 5px; }
.saas-final-claim { margin-top:20px; margin-left:auto; width:min(100%,560px); padding:18px; border:1px solid #cdbba7; background:#fffdf9; break-inside:avoid; }
.saas-final-claim h3 { font-size:16px; font-weight:900; margin-bottom:12px; }
.saas-final-claim dl > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:12px; padding:6px 0; font-size:13px; }
.saas-final-claim dd { text-align:right; font-weight:700; overflow-wrap:anywhere; }
.saas-final-claim [data-claim-field=total] { border-top:2px solid #8a6843; margin-top:5px; padding-top:12px; font-size:17px; color:#7c3425; }
@media(max-width:850px) { #saas-work-tab-strip > .tab-btn { font-size:11px; gap:3px; flex-direction:column; } #saas-management-tab-row > .tab-btn { font-size:11px; } }
@media(max-width:650px) { #saas-management-tab-row { margin-top:8px; width:100%; } #saas-work-tab-strip { grid-template-columns:repeat(3,minmax(0,1fr)); } #saas-work-tab-strip > .tab-btn { min-height:44px; font-size:11px; padding:7px 2px; flex-direction:row; } .saas-final-claim { padding:12px; } }
@media print { .saas-extra-input,.saas-payment-date input,.saas-contract-date-label input { display:none!important; } #extra-charge-table-body .print-only,.saas-payment-date .print-only,.saas-contract-date-label .print-only { display:inline!important; } .saas-final-claim { background:white; } }
.saas-appliance-brand { color:#74675e; font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.saas-appliance-brand:empty { display:none; }
#saas-template-register-dialog { z-index:12020; }
#saas-template-register-form { display:grid; gap:13px; padding:18px; min-width:0; }
#saas-template-register-form label { display:grid; gap:5px; font-size:13px; font-weight:800; }
#saas-template-register-form input,#saas-template-register-form select { width:100%; min-width:0; min-height:44px; padding:8px 10px; border:1px solid #baa58c; border-radius:8px; }
#saas-template-register-form p { margin:0; font-size:12px; color:#67594c; }
#saas-template-register-form > div { display:flex; justify-content:flex-end; gap:8px; }
#saas-template-register-form button { min-height:44px; padding:8px 18px; border:1px solid #9c7a55; border-radius:8px; background:#fff8ed; font-weight:800; }
#saas-template-register-form button[type=submit] { background:#6d4b2d; color:white; }
#saas-template-register-form button:disabled { opacity:.6; }
.saas-action-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #dfd1c1; padding: 16px 18px; }
.saas-action-dialog > header p { margin: 0 0 3px; color: #806344; font-size: 11px; font-weight: 900; }
.saas-action-dialog > header h2 { margin: 0; font-size: 20px; }
.saas-action-dialog > header button { width: 38px; min-height: 38px; border: 1px solid #d5c4b1; border-radius: 50%; background: #fff; color: #49392c; font-size: 21px; }
#saas-copy-form,.saas-reset-confirmation { display: grid; gap: 13px; padding: 18px; }
#saas-copy-form label,.saas-reset-confirmation label:not(.saas-reset-final) { display: grid; gap: 5px; color: #4c3c30; font-size: 12px; font-weight: 900; }
#saas-copy-form input,#saas-reset-phrase { min-height: 43px; border: 1px solid #baa58c; border-radius: 8px; padding: 8px 10px; color: #2f2923; }
#saas-copy-form > div,.saas-reset-confirmation > div { display: flex; justify-content: flex-end; gap: 8px; }
#saas-copy-form button,.saas-reset-confirmation button { min-height: 40px; border: 1px solid #9c7a55; border-radius: 8px; background: #fff8ed; color: #4d351d; padding: 8px 13px; font-weight: 900; }
#saas-copy-form button[type="submit"],#saas-reset-confirm { background: #6d4b2d; color: #fff; }
#saas-copy-form button:disabled,#saas-reset-confirm:disabled { border-color: #bbb0a5; background: #e7e0d8; color: #756d65; }
.saas-reset-confirmation > p { margin: 0; color: #5e5146; font-size: 12px; line-height: 1.55; }
.saas-reset-confirmation > ul { margin: 0; border: 1px solid #ead6cc; border-radius: 9px; background: #fff8f5; color: #6f3434; padding: 11px 11px 11px 29px; font-size: 12px; }
.saas-reset-final { display: flex; align-items: flex-start; gap: 8px; color: #4d4034; font-size: 12px; font-weight: 800; }
.saas-duration-defaults { display: grid; gap: 7px; }
.saas-duration-defaults > div { display: grid; grid-template-columns: minmax(150px,1fr) minmax(130px,.55fr) minmax(110px,.45fr) auto 70px; gap: 8px; align-items: end; border: 1px solid #e1d4c5; border-radius: 9px; background: #fff; padding: 10px; }
.saas-duration-defaults label { display: grid; gap: 3px; color: #635548; font-size: 11px; font-weight: 800; }
.saas-duration-defaults input,.saas-duration-defaults select { min-height: 36px; border: 1px solid #cdbba7; border-radius: 7px; padding: 6px 8px; }
.saas-duration-defaults [data-status] { color: #4f6c57; font-size: 11px; font-weight: 800; }

.saas-schedule-card { width: min(900px,100%); }
.saas-schedule-card > header { position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ddd0c1; background: #fffdf9; padding: 16px 20px; z-index: 2; }
.saas-schedule-card > header h2 { margin: 2px 0 0; }
.saas-schedule-card > header button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #eee2d4; color: #49382a; font-size: 24px; }
.saas-schedule-body { display: grid; gap: 14px; padding: 18px 20px 22px; }
.saas-schedule-options { display: grid; grid-template-columns: 1fr .7fr 1.4fr auto; gap: 10px; align-items: end; }
.saas-schedule-options label { display: grid; gap: 5px; color: #51463a; font-size: 12px; font-weight: 800; }
.saas-schedule-options input,.saas-schedule-options select { min-height: 40px; border: 1px solid #cdbba7; border-radius: 7px; padding: 7px; }
.saas-schedule-options label:nth-child(2) { display: flex; align-items: center; min-height: 40px; }
.saas-schedule-preview-list { max-height: 48vh; overflow: auto; border: 1px solid #ded2c4; border-radius: 10px; background: #fff; padding: 10px; }
.saas-schedule-preview-list > p { margin: 10px; color: #776a5e; text-align: center; }
.saas-schedule-preview-head { display: flex; justify-content: space-between; margin-bottom: 8px; }
.saas-schedule-preview-head span { color: #74675b; font-size: 11px; }
.saas-schedule-preview-list [data-preview-row] { display: grid; grid-template-columns: 150px 1fr 110px; gap: 8px; align-items: center; border-top: 1px solid #eee5dc; padding: 7px 0; }
.saas-schedule-preview-list input,.saas-schedule-preview-list select { min-height: 36px; border: 1px solid #cdbba7; border-radius: 7px; padding: 6px; }
.saas-schedule-preview-list .conflict { color: #a12626; font-size: 11px; font-weight: 900; }
.saas-schedule-preview-list .clear { color: #28714b; font-size: 11px; font-weight: 900; }
.saas-schedule-final { display: flex; align-items: center; gap: 7px; color: #4d4034; font-size: 12px; font-weight: 800; }
.saas-manual-schedule-open { flex: 0 0 auto; min-height: 34px; border: 1px solid #b68a54; border-radius: 8px; padding: 6px 11px; background: #fff8ed; color: #6f4721; font-size: 12px; font-weight: 800; white-space: nowrap; }
.saas-schedule-actions { flex-wrap: wrap; }
.saas-manual-schedule-open:hover { background: #f5e3ca; }
.schedule-task-badge.schedule-task-manual { background: #be185d; }
.schedule-task-badge[data-manual-event-id] { cursor: pointer; }
.saas-manual-schedule-card { width: min(460px,100%); }
.saas-manual-schedule-card > header { position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ddd0c1; background: #fffdf9; padding: 16px 20px; z-index: 2; }
.saas-manual-schedule-card > header h2 { margin: 0; font-size: 19px; }
.saas-manual-schedule-card > header button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #eee2d4; color: #49382a; font-size: 24px; }
.saas-manual-source-picker { display:grid; grid-template-columns:1fr 1fr; gap:8px; border:0; padding:0; margin:0; }
.saas-manual-source-picker legend { grid-column:1/-1; margin-bottom:5px; color:#4d4034; font-size:12px; font-weight:900; }
.saas-manual-source-picker label { display:flex!important; align-items:center; justify-content:center; gap:7px; min-height:42px; margin:0!important; border:1px solid #cdbba7; border-radius:8px; background:#fffaf4; color:#5a4029; font-size:13px; font-weight:800; cursor:pointer; }
.saas-manual-source-picker input { width:auto!important; margin:0!important; accent-color:#6d4b2d; }
.saas-manual-schedule-form select { width:100%; min-height:43px; border:1px solid #cdbba7; border-radius:8px; background:#fff; color:#30251c; padding:8px 10px; }
.saas-manual-schedule-form { display: grid; gap: 12px; padding: 18px 20px 20px; }
.saas-manual-schedule-form label { display: grid; gap: 5px; color: #51463a; font-size: 12px; font-weight: 800; }
.saas-manual-schedule-form label[hidden] { display: none !important; }
.saas-manual-schedule-form label em { color: #a23c31; font-size: 10px; font-style: normal; }
.saas-manual-schedule-form label small { color: #87796b; font-weight: 600; }
.saas-manual-schedule-form input,.saas-manual-schedule-form textarea { width: 100%; min-height: 40px; border: 1px solid #cdbba7; border-radius: 7px; padding: 8px; background: #fff; }
.saas-manual-schedule-form textarea { resize: vertical; }
.saas-manual-schedule-form [data-manual-status] { min-height: 18px; margin: 0; color: #8a372f; font-size: 12px; font-weight: 700; }
.saas-manual-picked-date { margin: 0; border-radius: 8px; background: #f4eee7; padding: 9px 11px; color: #5a4636; font-size: 13px; font-weight: 900; text-align: center; }
.saas-manual-multi-toggle { display: flex !important; align-items: center; gap: 8px !important; min-height: 32px; }
.saas-manual-multi-toggle input { width: 18px; min-height: 18px; margin: 0; }
.saas-manual-schedule-form .saas-actions { display: grid; grid-template-columns: auto 1fr auto auto; gap: 8px; align-items: center; }
.saas-manual-schedule-form .saas-actions button { min-height: 38px; border: 1px solid #cdbba7; border-radius: 7px; padding: 7px 12px; background: #fff; font-size: 12px; font-weight: 800; }
.saas-manual-schedule-form .saas-actions .saas-primary { border-color: #76512f; background: #76512f; color: #fff; }
.saas-manual-schedule-form .saas-actions .saas-subtle-danger { border-color: #d8aaa7; background: #fff7f6; color: #9b302b; }
@media screen {
  #schedule-tab .schedule-remark-badge { display: -webkit-box; max-height: 3.15em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
}

.saas-furniture-workspace.hidden { display: none !important; }
html.saas-workspace-open,
body.saas-workspace-open { overflow: hidden; }
.saas-furniture-workspace { z-index: 10030; padding: max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
.saas-furniture-workspace-card { width: min(1180px,100%); max-height: calc(100dvh - 20px); }
.saas-furniture-page { padding: 16px; }
.saas-furniture-header { position: sticky; top: -16px; z-index: 5; align-items: center; }
.saas-furniture-header > div:last-child { display: flex; gap: 7px; }
#saas-furniture-close { width: 42px; padding: 5px; font-size: 24px; }
.saas-furniture-category-button { border: 1px solid #7c5a36; border-radius: 6px; background: #75502e; color: #fff; padding: 3px 8px; font-size: 11px; font-weight: 900; }
.saas-furniture-category-button:hover { background: #58391f; }
.saas-furniture-category-summary { width: 100%; margin: 12px 0 10px; border: 1px solid #cfbda8; border-radius: 11px; background: #fffdf9; padding: 11px; break-inside: avoid; overflow: hidden; }
.saas-furniture-category-summary article { display: grid; grid-template-columns: minmax(220px,.85fr) minmax(280px,1.15fr); gap: 12px; align-items: center; padding: 8px 0; break-inside: avoid; }
.saas-furniture-category-summary article + article { border-top: 1px solid #eadfd3; }
.saas-furniture-summary-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.saas-furniture-summary-actions button { border: 1px solid #bda98f; border-radius: 6px; background: #fff; color: #59432c; padding: 4px 7px; font-size: 10px; font-weight: 800; }
.saas-furniture-pricing { position: fixed; inset: max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); z-index: 10045; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; width: min(1120px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); margin: auto; overflow: hidden; border: 1px solid #cdbb9f; border-radius: 14px; background: #fbf7f1; box-shadow: 0 24px 80px #2e211755; }
.saas-furniture-pricing[hidden] { display: none !important; }
.saas-furniture-pricing > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #deceb9; background: #fffaf3; padding: 14px 16px; }
.saas-furniture-pricing h3 { margin: 0 0 3px; font-size: 16px; }
.saas-furniture-pricing header p { margin: 0; color: #75685c; font-size: 11px; }
.saas-furniture-pricing header button { width: 42px; min-height: 38px; border: 1px solid #bfa788; border-radius: 8px; background: #fff; color: #624326; padding: 4px; font-size: 22px; font-weight: 900; white-space: nowrap; }
.saas-furniture-pricing header button:disabled { border-color: #c7baa9; background: #e4dbd0; color: #756c64; }
.saas-furniture-pricing-toolbar { display: flex; gap: 7px; padding: 10px 16px; }
.saas-furniture-pricing-toolbar button,
.saas-furniture-pricing footer button { min-height: 38px; border: 1px solid #9d805f; border-radius: 8px; background: #fff; color: #624326; padding: 7px 12px; font-weight: 900; }
.saas-furniture-pricing footer button { background: #6d4b2d; color: #fff; }
#saas-furniture-pricing-rows { min-width: 0; overflow-x: hidden; overflow-y: auto; padding: 0 16px 12px; }
.saas-furniture-price-head,
.saas-furniture-price-row { display: grid; grid-template-columns: 150px minmax(220px,1fr) 90px 150px 74px 84px 64px; gap: 7px; align-items: center; }
.saas-furniture-price-head { position: sticky; top: 0; z-index: 1; border-bottom: 1px solid #d7c5ad; background: #fbf7f1; color: #6e5d4d; padding: 7px; font-size: 10px; font-weight: 900; text-align: center; }
.saas-furniture-price-row { border-bottom: 1px solid #e5d9ca; background: #fff; padding: 7px; }
.saas-furniture-price-row > input,
.saas-furniture-price-row > select { width: 100%; min-width: 0; min-height: 36px; border: 1px solid #c9b7a2; border-radius: 6px; background: #fff; padding: 5px 7px; }
.saas-furniture-price-row [data-price-field="unitPrice"] { text-align: right; }
.saas-price-active { display: flex; align-items: center; justify-content: center; gap: 4px; font-size: 10px; }
.saas-price-active span { display: none; }
.saas-price-order { display: flex; justify-content: center; gap: 3px; }
.saas-price-order button,
.saas-furniture-price-row [data-price-delete] { min-height: 32px; border: 1px solid #c9b7a2; border-radius: 6px; background: #fff; color: #624326; }
.saas-furniture-price-row [data-price-delete] { color: #a72f2f; }
.saas-furniture-pricing footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid #deceb9; background: #fffaf3; padding: 10px 16px; }
.saas-furniture-pricing footer p { margin: 0; }

@media (min-width: 901px) and (max-width: 1100px) {
  .saas-furniture-modular { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .saas-furniture-drawing { grid-column: 1 / -1; grid-row: 2; }
  .saas-furniture-v2-tools { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .project-picker-row.saas-project-primary-row {
    grid-template-columns: auto minmax(0,1fr) minmax(110px,140px) !important;
  }
  .project-picker-row.saas-project-primary-row > .project-selector-input { grid-column: 1 / -1 !important; }
  .saas-project-primary-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .saas-duration-defaults > div { grid-template-columns: 1fr 1fr; }
  .saas-duration-defaults > div > b { grid-column: 1 / -1; }
  .saas-schedule-options { grid-template-columns: 1fr 1fr; }
  .saas-furniture-layout { grid-template-columns: 1fr; }
  .saas-furniture-output { position: static; }
  .saas-furniture-component-head { display: none; }
  .saas-furniture-component-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .saas-furniture-component-row label:first-child { grid-column: 1 / -1; }
  .saas-furniture-component-row label > span { display: block; margin-bottom: 3px; color: #75685c; font-size: 9px; }
  .saas-furniture-component-row strong { align-self: end; min-height: 34px; padding: 9px 5px; }
  .saas-furniture-starter { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .saas-furniture-modular { grid-template-columns: 1fr 1fr; }
  .saas-furniture-drawing { grid-column: 1 / -1; grid-row: 2; }
  .saas-furniture-v2-tools { grid-template-columns: 1fr; }
  #saas-furniture-constraint-list > div { grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid #eadfd3; padding-bottom: 6px; }
  .saas-module-set-toolbar { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  main { padding-right: 10px !important; padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
  .saas-foundation-toolbar { width: 100%; justify-content: flex-end; }
  .saas-current-company { color: #fff !important; }
  .saas-header-control { min-height: 30px !important; padding: 4px 7px !important; font-size: 10px; }
  .saas-header-install { padding: 4px 6px !important; font-size: 10px !important; }
  .project-picker-row.saas-project-primary-row { grid-template-columns: 1fr 1fr !important; gap: 6px !important; }
  .project-picker-row.saas-project-primary-row > span { display: none !important; }
  .project-picker-row.saas-project-primary-row > .project-search-input,
  .project-picker-row.saas-project-primary-row > #project-owner-filter { grid-column: auto !important; width: 100% !important; }
  .project-picker-row.saas-project-primary-row > .project-selector-input,
  .saas-project-primary-actions { grid-column: 1 / -1 !important; width: 100%; }
  .saas-project-primary-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
  .saas-project-primary-actions button { width: 100% !important; min-width: 0 !important; min-height: 44px !important; padding: 6px 4px !important; white-space: normal !important; }
  .project-action-row.saas-project-status-row { display: block !important; }
  .saas-project-status-group { width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .saas-project-status-group .project-status-filter { padding-inline: 5px !important; }
  .saas-estimate-title-status { position: static; justify-content: flex-end; margin: 0 0 5px; padding-right: 2px; }
  .saas-floating-actions {
    left: 0; right: 0; bottom: 0; width: 100%; grid-template-columns: repeat(3,1fr);
    gap: 7px; border-width: 1px 0 0; border-radius: 0; padding: 8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  }
  .saas-floating-actions > span { position: absolute; right: 10px; top: -25px; min-height: 22px; border: 1px solid #cdb798; border-radius: 999px; background: #fffaf3; padding: 3px 8px; }
  .saas-floating-actions button { display: flex; justify-content: center; min-height: 56px; gap: 7px; font-size: 13px; }
  .saas-floating-actions button i { font-size: 18px; }
  .saas-staging-badge { bottom: calc(76px + env(safe-area-inset-bottom)); }
  .saas-tool-grid article { align-items: stretch; flex-direction: column; }
  .saas-duration-defaults > div { grid-template-columns: 1fr; }
  .saas-duration-defaults > div > b { grid-column: 1; }
  .saas-schedule-options { grid-template-columns: 1fr; }
  .saas-schedule-preview-list [data-preview-row] { grid-template-columns: 1fr; }
  .saas-manual-schedule-open { flex: 1 1 100%; }
  .saas-manual-schedule-card { width: calc(100% - 18px); }
  .saas-manual-schedule-form { padding: 15px; }
  .saas-furniture-workspace { padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom); }
  .saas-furniture-workspace-card { width: 100%; max-height: 100dvh; border-radius: 0; }
  .saas-furniture-page { padding: 9px; }
  .saas-furniture-header { top: -9px; align-items: flex-start; padding: 12px; }
  .saas-furniture-header > div:last-child { flex-wrap: wrap; justify-content: flex-end; }
  .saas-furniture-header h2 { font-size: 20px; }
  .saas-furniture-header span { font-size: 11px; }
  .saas-furniture-starter { grid-template-columns: 1fr; }
  .saas-furniture-modular { grid-template-columns: 1fr; }
  .saas-furniture-runs { order: 1; }
  .saas-furniture-properties { order: 2; }
  .saas-furniture-drawing { order: 3; grid-column: auto; grid-row: auto; }
  .saas-property-grid { grid-template-columns: 1fr; }
  .saas-property-grid label.wide { grid-column: 1; }
  .saas-module-add { grid-template-columns: 1fr; }
  #saas-furniture-constraint-list > div { grid-template-columns: 1fr 1fr; }
  .saas-module-set-toolbar { grid-template-columns: 1fr; }
  .saas-furniture-component-row { grid-template-columns: 1fr; }
  .saas-furniture-component-row label:first-child { grid-column: 1; }
  .saas-furniture-component-row strong { text-align: left; }
  .saas-furniture-component-actions { justify-content: flex-start; }
  .saas-furniture-actions { flex-wrap: wrap; }
  .saas-furniture-actions button { flex: 1 1 120px; min-height: 48px; }
  .saas-furniture-category-summary article { grid-template-columns: 1fr; }
  .saas-furniture-estimate-svg svg { max-height: 260px; }
  .saas-furniture-estimate-drawings { grid-template-columns: 1fr; }
  .saas-furniture-estimate-drawings figure.plan { grid-column: auto; }
  .saas-furniture-pricing { inset: 0; width: 100%; max-height: 100dvh; border: 0; border-radius: 0; }
  .saas-furniture-pricing > header { align-items: flex-start; }
  .saas-furniture-price-head { display: none; }
  .saas-furniture-price-row { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 8px; border: 1px solid #dfd0bd; border-radius: 9px; }
  .saas-furniture-price-row > [data-price-field="displayName"],
  .saas-furniture-price-row > [data-price-field="unitPrice"] { grid-column: 1 / -1; }
  .saas-price-active { justify-content: flex-start; }
  .saas-price-active span { display: inline; }
  .saas-price-order { justify-content: flex-start; }
  .saas-furniture-pricing footer { align-items: stretch; flex-direction: column; }
}

@media (max-width: 430px) {
  .project-picker-row.saas-project-primary-row { grid-template-columns: 1fr !important; }
  .project-picker-row.saas-project-primary-row > .project-search-input,
  .project-picker-row.saas-project-primary-row > #project-owner-filter,
  .project-picker-row.saas-project-primary-row > .project-selector-input { grid-column: 1 !important; }
  .saas-project-primary-actions { grid-column: 1 !important; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Furniture Editor V3 is a separate full-screen workspace. V2 remains recoverable at the pre-V3 tag. */
.saas-furniture-v3-shell,
.saas-furniture-v3-shell * { box-sizing: border-box; }
.saas-furniture-v3-shell.hidden,
.saas-furniture-v3-step[hidden],
.saas-component-detail[hidden] { display: none !important; }
.saas-furniture-v3-shell {
  position: fixed; inset: 0; z-index: 10030; display: grid;
  grid-template-rows: auto auto minmax(0,1fr); min-width: 0; background: #f5f0e9; color: #30271f;
}
.saas-furniture-v3-header {
  position: sticky; top: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between;
  gap: 18px; min-width: 0; border-bottom: 1px solid #d9cbb9; background: #fffdf9; padding: 12px 20px;
  box-shadow: 0 2px 12px #44311c10;
}
.saas-furniture-v3-title { display: flex; align-items: center; gap: 12px; min-width: 0; }
.saas-furniture-v3-title p { margin: 0; color: #8a6a49; font-size: 11px; font-weight: 900; white-space: nowrap; }
.saas-furniture-v3-title > div { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: baseline; gap: 9px; min-width: 0; }
.saas-furniture-v3-title h2 { margin: 0; font-size: 22px; white-space: nowrap; }
.saas-furniture-v3-title b { min-width: 0; color: #695747; font-size: 13px; overflow-wrap: anywhere; }
#saas-furniture-save-state { flex: 0 0 auto; border-radius: 999px; background: #eee7dd; color: #695747; padding: 5px 8px; font-size: 10px; font-weight: 900; }
#saas-furniture-save-state[data-kind="dirty"] { background: #fff0cc; color: #7d5711; }
#saas-furniture-save-state[data-kind="success"] { background: #e5f4e9; color: #24653a; }
.saas-furniture-v3-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; min-width: 0; }
.saas-furniture-v3-header-actions strong { margin-right: 4px; color: #684a2e; font-size: 13px; white-space: nowrap; }
.saas-furniture-v3-header-actions button,
.saas-furniture-v3-mobile-dock button,
.saas-v3-final-actions button { min-height: 40px; border: 1px solid #ae9474; border-radius: 8px; background: #fff; color: #5e4329; padding: 7px 11px; font-weight: 900; white-space: nowrap; }
.saas-furniture-v3-header-actions button.primary,
.saas-v3-final-actions button.primary { border-color: #70491f; background: #70491f; color: #fff; }
.saas-furniture-v3-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); min-width: 0; border-bottom: 1px solid #ddd0bf; background: #fffaf3; padding: 0 20px; }
.saas-furniture-v3-steps button { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 50px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #746453; font-size: 13px; font-weight: 900; }
.saas-furniture-v3-steps button span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #e9dfd2; }
.saas-furniture-v3-steps button.active { border-bottom-color: #76502d; color: #56391f; }
.saas-furniture-v3-steps button.active span { background: #76502d; color: #fff; }
body.saas-workspace-open .saas-furniture-v3-main {
  width: 100% !important; max-width: none !important; margin: 0 !important; min-width: 0;
  overflow-y: auto; padding: 22px clamp(14px,3vw,44px) 40px !important;
}
.saas-furniture-v3-form,
.saas-furniture-v3-step,
.saas-v3-basic-grid,
.saas-v3-runs-layout,
.saas-v3-run-work,
.saas-v3-placement-grid,
.saas-v3-panel { min-width: 0; }
.saas-furniture-v3-form { width: min(1600px,100%); margin: 0 auto; }
.saas-furniture-v3-step > header { margin-bottom: 16px; }
.saas-furniture-v3-step > header p { margin: 0 0 3px; color: #96734d; font-size: 11px; font-weight: 900; }
.saas-furniture-v3-step > header h3 { margin: 0 0 5px; font-size: 24px; }
.saas-furniture-v3-step > header span { color: #77695c; font-size: 13px; }
.saas-v3-panel { border: 1px solid #ded2c3; border-radius: 14px; background: #fffdf9; padding: 16px; box-shadow: 0 5px 18px #3929190b; }
.saas-v3-basic-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; align-items: start; }
.saas-v3-basic-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.saas-v3-basic-fields > label,
.saas-v3-template { display: grid; gap: 5px; min-width: 0; color: #655342; font-size: 12px; font-weight: 900; }
.saas-v3-basic-fields .wide { grid-column: 1 / -1; }
.saas-v3-basic-fields input,
.saas-v3-basic-fields select,
.saas-v3-basic-fields textarea,
.saas-v3-template select,
.saas-v3-template button,
.saas-v3-run-add select,
.saas-v3-run-add button,
.saas-v3-active-run select,
.saas-v3-inline-add select,
.saas-v3-inline-add button,
.saas-v3-price-toolbar select,
.saas-v3-price-toolbar button { width: 100%; max-width: 100%; min-width: 0; min-height: 42px; border: 1px solid #cbb9a3; border-radius: 8px; background: #fff; color: #49392b; padding: 7px 9px; font-size: 13px; }
.saas-v3-template { margin: 0; border: 1px solid #e1d3c2; border-radius: 10px; padding: 10px; }
.saas-v3-template > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.saas-v3-template button { width: auto; background: #76502d; color: #fff; font-weight: 900; }
.saas-v3-template small { color: #8a6a49; font-weight: 700; }
.saas-v3-basic-preview > header,
.saas-v3-elevation > header,
.saas-v3-component-editor > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.saas-v3-basic-preview header p,
.saas-v3-component-editor header p { margin: 0; color: #8a7968; font-size: 11px; }
.saas-v3-basic-preview h4,
.saas-v3-elevation h3,
.saas-v3-component-editor h3 { margin: 0; }
.saas-v3-basic-preview > p { color: #75685b; font-size: 12px; line-height: 1.55; }
#saas-furniture-expected-runs { display: grid; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
#saas-furniture-expected-runs li { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid #eee4d8; padding-top: 7px; font-size: 12px; }
#saas-furniture-expected-runs span { color: #76685b; }
.saas-v3-runs-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 16px; align-items: start; }
.saas-v3-runs-layout .saas-furniture-runs { max-height: calc(100dvh - 210px); overflow-y: auto; }
.saas-v3-run-add,
.saas-v3-inline-add { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; margin-bottom: 10px; }
.saas-v3-run-add button,
.saas-v3-inline-add button { width: auto; font-weight: 900; }
.saas-v3-runs-layout .saas-furniture-run-card { padding: 11px; }
.saas-v3-runs-layout .saas-furniture-run-card > p { margin-bottom: 3px; font-size: 11px; }
.saas-run-component-count { color: #7a6b5d; font-size: 10px; }
.saas-v3-run-work { display: grid; gap: 14px; }
.saas-v3-runs-layout > .saas-furniture-runs,
.saas-v3-runs-layout > .saas-v3-run-work { order: 0; }
.saas-v3-run-work > .saas-furniture-drawing { grid-column: auto; grid-row: auto; order: 1; }
.saas-v3-run-work > .saas-furniture-properties { order: 2; }
.saas-v3-run-work > .saas-v3-secondary-tools { order: 3; }
.saas-v3-plan-canvas { min-height: 520px; display: grid; place-items: center; overflow: auto; }
.saas-v3-plan-canvas svg { width: 100%; min-width: 620px; height: auto; }
.saas-v3-canvas-tools { display: flex; gap: 6px; }
.saas-v3-canvas-tools button,
.saas-v3-elevation header button { min-height: 34px; border: 1px solid #c7b49c; border-radius: 7px; background: #fff; color: #5d432b; padding: 5px 8px; font-weight: 800; }
.saas-v3-secondary-tools summary { cursor: pointer; color: #60452d; font-weight: 900; }
.saas-v3-secondary-tools[open] summary { margin-bottom: 12px; }
.saas-furniture-properties h4 { margin: 0 0 9px; }
.saas-v3-active-run { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 14px; border: 1px solid #d7c7b4; border-radius: 12px; background: #fff9f0; padding: 12px 14px; }
.saas-v3-active-run label { display: grid; gap: 4px; width: min(420px,100%); color: #685441; font-size: 11px; font-weight: 900; }
.saas-v3-active-run strong { color: #5d4126; font-size: 14px; }
.saas-v3-placement-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 16px; align-items: start; }
.saas-v3-elevation-canvas { min-height: 430px; display: grid; place-items: center; overflow: auto; }
.saas-v3-elevation-canvas svg { width: 100%; min-width: 560px; height: auto; }
.saas-v3-component-editor #saas-furniture-components { min-width: 0; }
.saas-furniture-v3-shell .saas-furniture-component-head,
.saas-furniture-v3-shell .saas-furniture-component-row { grid-template-columns: minmax(150px,2fr) minmax(72px,.75fr) 58px minmax(88px,.85fr) minmax(82px,.75fr) minmax(142px,1fr); }
.saas-furniture-v3-shell .saas-furniture-component-row { margin-bottom: 7px; }
.saas-furniture-v3-shell .saas-furniture-component-row > *,
.saas-furniture-v3-shell .saas-furniture-component-actions { min-width: 0; }
.saas-furniture-v3-shell .saas-furniture-component-actions button[data-component-detail-toggle] { width: auto; padding-inline: 7px; }
.saas-component-detail { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; border-top: 1px solid #eadfd3; padding-top: 10px; }
.saas-component-detail label { display: grid; gap: 4px; min-width: 0; color: #6b5949; font-size: 10px; font-weight: 900; }
.saas-component-detail label.wide { grid-column: span 2; }
.saas-component-detail input,
.saas-component-detail select { width: 100%; max-width: 100%; min-width: 0; min-height: 38px; }
.saas-component-detail .saas-lock-field { display: flex; align-items: center; gap: 5px; }
.saas-component-detail .saas-lock-field input { width: 16px; min-height: 16px; }
.saas-v3-price-panel { display: grid; gap: 16px; }
.saas-v3-price-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.saas-v3-price-toolbar label { display: grid; gap: 4px; width: min(380px,100%); color: #665442; font-size: 11px; font-weight: 900; }
.saas-v3-price-toolbar button { width: auto; }
.saas-price-totals { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.saas-price-totals > div { display: grid; gap: 5px; border: 1px solid #e1d5c6; border-radius: 10px; background: #fffaf3; padding: 12px; }
.saas-price-totals span { color: #7a6a5c; font-size: 11px; }
.saas-price-totals strong { color: #53391f; font-size: 15px; }
.saas-price-run-group { margin-top: 14px; border-top: 1px solid #ded1c1; padding-top: 14px; }
.saas-price-run-group h3 { margin: 0 0 8px; font-size: 15px; }
.saas-price-summary-head,
.saas-price-summary-row { display: grid; grid-template-columns: minmax(180px,1.4fr) minmax(85px,.6fr) 65px minmax(110px,.8fr) minmax(110px,.8fr) minmax(140px,1fr); gap: 8px; align-items: center; min-width: 0; padding: 8px; }
.saas-price-summary-head { background: #f2ebe3; color: #746353; font-size: 10px; font-weight: 900; }
.saas-price-summary-row { border-bottom: 1px solid #eee5db; font-size: 12px; }
.saas-price-summary-row > * { min-width: 0; overflow-wrap: anywhere; }
.saas-v3-final-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 6px; }
.saas-furniture-v3-step .saas-furniture-saved { margin-top: 16px; }
.saas-furniture-v3-mobile-dock { display: none; }

@media (max-width: 1439px) {
  .saas-furniture-v3-header { flex-wrap: wrap; gap: 8px 14px; padding-block: 9px; }
  .saas-furniture-v3-header-actions { flex-wrap: wrap; }
  .saas-v3-placement-grid { grid-template-columns: 1fr; }
  .saas-v3-elevation-canvas { min-height: 360px; }
}

@media (max-width: 1023px) {
  body.saas-workspace-open .saas-furniture-v3-main { padding: 16px 12px 32px !important; }
  .saas-furniture-v3-title p { display: none; }
  .saas-furniture-v3-header-actions strong { width: 100%; text-align: right; }
  .saas-v3-basic-grid,
  .saas-v3-runs-layout { grid-template-columns: 1fr; }
  .saas-v3-runs-layout .saas-furniture-runs { max-height: none; overflow-y: visible; }
  #saas-furniture-run-list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px,280px); overflow-x: auto; padding-bottom: 5px; }
  .saas-price-totals { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .saas-furniture-v3-shell .saas-furniture-component-head { display: none; }
  .saas-furniture-v3-shell .saas-furniture-component-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .saas-furniture-v3-shell .saas-furniture-component-row .saas-component-item,
  .saas-furniture-v3-shell .saas-component-detail { grid-column: 1 / -1; }
  .saas-furniture-v3-shell .saas-furniture-component-row label > span { display: block; }
  .saas-component-detail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .saas-price-summary-head { display: none; }
  .saas-price-summary-row { grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid #e7dbcd; border-radius: 9px; margin-bottom: 7px; }
}

@media (max-width: 767px) {
  .saas-furniture-v3-shell { grid-template-rows: auto auto minmax(0,1fr) auto; }
  .saas-furniture-v3-header { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 9px 10px; }
  .saas-furniture-v3-title { display: grid; gap: 3px; }
  .saas-furniture-v3-title > div { grid-template-columns: 1fr; gap: 1px; }
  .saas-furniture-v3-title h2 { font-size: 18px; }
  .saas-furniture-v3-title b { font-size: 11px; }
  .saas-furniture-v3-title > span { position: static; justify-self: start; }
  .saas-furniture-v3-header-actions { display: flex; }
  .saas-furniture-v3-header-actions > :not(#saas-furniture-compact-total):not(#saas-furniture-pricing-toggle) { display: none; }
  .saas-furniture-v3-header-actions strong { width: auto; font-size: 11px; }
  .saas-furniture-v3-header-actions #saas-furniture-pricing-toggle { min-height: 36px; padding: 5px 7px; font-size: 10px; }
  .saas-furniture-v3-steps { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0 6px; }
  .saas-furniture-v3-steps button { min-height: 42px; font-size: 11px; }
  .saas-furniture-v3-steps button span { width: 20px; height: 20px; }
  body.saas-workspace-open .saas-furniture-v3-main { padding: 13px 9px calc(86px + env(safe-area-inset-bottom)) !important; }
  .saas-furniture-v3-step > header h3 { font-size: 20px; }
  .saas-v3-panel { padding: 11px; border-radius: 11px; }
  .saas-v3-basic-fields,
  .saas-furniture-v3-shell .saas-furniture-component-row,
  .saas-component-detail,
  .saas-price-totals,
  .saas-price-summary-row { grid-template-columns: 1fr; }
  .saas-v3-basic-fields .wide,
  .saas-component-detail label.wide { grid-column: 1; }
  .saas-v3-template > div,
  .saas-v3-run-add,
  .saas-v3-inline-add { grid-template-columns: 1fr; }
  .saas-v3-template button,
  .saas-v3-run-add button,
  .saas-v3-inline-add button { width: 100%; }
  #saas-furniture-run-list { grid-auto-columns: minmax(210px,85vw); }
  #saas-furniture-run-list { grid-auto-flow: row; grid-template-columns: 1fr; overflow-x: visible; }
  .saas-v3-plan-canvas { min-height: 360px; }
  .saas-v3-plan-canvas svg { min-width: 520px; }
  .saas-v3-active-run { align-items: stretch; flex-direction: column; }
  .saas-v3-elevation-canvas { min-height: 320px; }
  .saas-v3-elevation-canvas svg { min-width: 480px; }
  .saas-furniture-v3-shell .saas-furniture-component-row > label,
  .saas-furniture-v3-shell .saas-furniture-component-row > strong,
  .saas-furniture-v3-shell .saas-furniture-component-actions { min-width: 0; width: 100%; }
  .saas-furniture-v3-shell .saas-furniture-component-actions { justify-content: flex-start; }
  .saas-v3-price-toolbar { align-items: stretch; flex-direction: column; }
  .saas-v3-price-toolbar button { width: 100%; }
  .saas-v3-final-actions { display: none; }
  .saas-module-set-toolbar { grid-template-columns: 1fr; }
  #saas-furniture-constraint-list > div { grid-template-columns: 1fr; }
  .saas-furniture-v3-mobile-dock { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; border-top: 1px solid #cfbea8; background: #fffdf9; padding: 8px max(9px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left)); }
  .saas-furniture-v3-mobile-dock button { min-height: 48px; min-width: 0; padding-inline: 5px; }
  .saas-furniture-v3-mobile-dock button:nth-child(2) { background: #70491f; color: #fff; }
}

@media print {
  .saas-floating-actions,.saas-estimate-title-status,.saas-furniture-workspace,.saas-furniture-v3-shell,
  .saas-furniture-summary-actions,.saas-furniture-category-button,.saas-planned-days-button,
  .saas-category-collapse { display: none !important; }
  .quote-category-card.saas-category-collapsed > :nth-child(2) { display: block !important; }
  .saas-furniture-category-summary { display: block !important; margin: 3mm 0 !important; padding: 3mm !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  .saas-furniture-category-summary article { grid-template-columns: 62mm 1fr !important; gap: 3mm !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  .saas-furniture-category-summary svg { max-height: 42mm !important; }
  .saas-furniture-estimate-drawings { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 2mm !important; }
  .saas-furniture-estimate-drawings figure { padding: 1.5mm !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  .saas-furniture-estimate-drawings figure.plan { grid-column: 1 / -1 !important; }
  .saas-furniture-estimate-drawings figure:not(.plan) svg { max-height: 31mm !important; }
}

/* Furniture Sketch V4 is a separate, price-free SVG block editor. */
html.saas-sketch-open,
body.saas-sketch-open { overflow: hidden; }
.saas-furniture-v4-shell,
.saas-furniture-v4-shell * { box-sizing: border-box; }
.saas-furniture-v4-shell.hidden { display: none !important; }
.saas-furniture-v4-shell {
  position: fixed; inset: 0; z-index: 10050; display: grid; grid-template-rows: auto auto auto minmax(0,1fr) auto;
  min-width: 0; background: #eee9e1; color: #30271f;
}
body.saas-sketch-open #saas-furniture-sketch-workspace > .saas-sketch-main { width: 100% !important; max-width: none !important; padding: 10px !important; }
.saas-furniture-v4-shell > .saas-sketch-header { grid-row: 1; }
.saas-furniture-v4-shell > .saas-sketch-draft { grid-row: 2; }
.saas-furniture-v4-shell > .saas-sketch-modes { grid-row: 3; }
.saas-furniture-v4-shell > .saas-sketch-main { grid-row: 4; }
.saas-furniture-v4-shell > .saas-sketch-footer { grid-row: 5; }
.saas-sketch-header {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0;
  border-bottom: 1px solid #d7c7b2; background: #fffdf9; padding: 10px 16px; box-shadow: 0 2px 14px #3d2c1c12;
}
.saas-sketch-heading { display: flex; align-items: center; gap: 12px; min-width: 0; }
.saas-sketch-heading > p { margin: 0; color: #8c6842; font-size: 10px; font-weight: 900; white-space: nowrap; }
.saas-sketch-heading > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.saas-sketch-heading h2 { margin: 0; font-size: 20px; white-space: nowrap; }
.saas-sketch-heading input { width: min(240px,24vw); min-width: 130px; height: 38px; border: 1px solid #c7b49c; border-radius: 8px; background: #fff; padding: 6px 9px; font-weight: 800; }
#saas-sketch-save-state { flex: 0 0 auto; border-radius: 999px; background: #eee6dc; color: #675545; padding: 5px 8px; font-size: 10px; font-weight: 900; }
#saas-sketch-save-state[data-kind="dirty"] { background: #fff0c9; color: #80580f; }
#saas-sketch-save-state[data-kind="success"] { background: #e1f2e5; color: #246238; }
.saas-sketch-header-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; min-width: 0; }
.saas-sketch-header-actions button,
.saas-sketch-stage-tools button,
.saas-sketch-placement-controls button,
.saas-sketch-palette button,
.saas-sketch-property-actions button,
.saas-sketch-draft button,
.saas-sketch-mobile-tools button {
  min-width: 0; min-height: 38px; border: 1px solid #bba386; border-radius: 8px; background: #fff; color: #59422c; padding: 6px 9px; font-weight: 900;
}
.saas-sketch-header-actions button.primary { border-color: #68451f; background: #68451f; color: #fff; }
.saas-sketch-header-actions button:disabled,
.saas-sketch-placement-controls button:disabled,
.saas-sketch-palette button:disabled,
.saas-sketch-property-actions button:disabled { opacity: .48; cursor: not-allowed; }
.saas-sketch-draft { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #dbbd83; background: #fff3d7; color: #684b19; padding: 7px 16px; font-size: 12px; font-weight: 800; }
.saas-sketch-draft[hidden] { display: none !important; }
.saas-sketch-draft > div { display: flex; gap: 5px; }
.saas-sketch-draft button { min-height: 32px; padding: 4px 8px; }
.saas-sketch-modes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); min-width: 0; border-bottom: 1px solid #dbcebd; background: #fbf6ef; padding: 0 16px; }
.saas-sketch-modes button { min-height: 46px; min-width: 0; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #776655; font-size: 13px; font-weight: 900; }
.saas-sketch-modes button.active { border-bottom-color: #724b27; color: #54371d; background: #fffaf3; }
.saas-sketch-main { display: grid; width: 100%; max-width: none; grid-template-columns: 220px minmax(700px,1fr) 286px; gap: 10px; min-width: 0; min-height: 0; padding: 10px; }
.saas-sketch-palette,
.saas-sketch-properties,
.saas-sketch-stage { min-width: 0; min-height: 0; border: 1px solid #d8cab8; border-radius: 12px; background: #fffdf9; }
.saas-sketch-palette { overflow-y: auto; padding: 10px; }
.saas-sketch-palette section + section { margin-top: 14px; border-top: 1px solid #e6ddd1; padding-top: 10px; }
.saas-sketch-palette h3 { margin: 0 0 7px; color: #745c45; font-size: 11px; }
.saas-sketch-palette button { display: flex; align-items: center; gap: 7px; width: 100%; margin-bottom: 5px; min-height: 36px; text-align: left; font-size: 11px; }
.saas-sketch-palette button.active { border-color: #6b4828; background: #6b4828; color: #fff; }
.saas-sketch-palette button > span { width: 16px; height: 16px; flex: 0 0 auto; border: 1px solid #4c3f34; border-radius: 4px; background: var(--tool-color); }
#saas-sketch-saved-list { display: grid; gap: 5px; }
#saas-sketch-saved-list button { display: grid; gap: 2px; }
#saas-sketch-saved-list small { color: #7a6b5e; font-size: 9px; }
.saas-sketch-empty { color: #88796a; font-size: 10px; line-height: 1.45; }
.saas-sketch-stage { display: grid; grid-template-rows: auto auto minmax(0,1fr) auto auto; overflow: hidden; }
.saas-sketch-stage-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid #e2d7ca; background: #fffaf3; padding: 7px 9px; }
.saas-sketch-stage-tools label { display: flex; align-items: center; gap: 5px; color: #665544; font-size: 10px; font-weight: 900; }
.saas-sketch-stage-tools select { height: 34px; border: 1px solid #c4b097; border-radius: 7px; background: #fff; padding: 4px 6px; }
.saas-sketch-stage-tools button { min-height: 34px; padding: 4px 8px; font-size: 10px; }
.saas-sketch-object-snap-state { border: 1px solid #9dc0dc; border-radius: 999px; background: #edf7ff; padding: 5px 8px; color: #245d88; font-size: 9px; font-weight: 900; white-space: nowrap; }
#saas-sketch-zoom-label { margin-left: auto; color: #756554; font-size: 11px; font-weight: 900; }
.saas-sketch-placement-controls { display: flex; align-items: center; gap: 8px; min-width: 0; border-bottom: 1px solid #d8c8b5; background: #fffdf9; padding: 8px 10px; }
.saas-sketch-placement-controls > strong { min-width: 110px; color: #53391f; font-size: 12px; overflow-wrap: anywhere; }
.saas-sketch-placement-controls label { display: flex; align-items: center; gap: 5px; color: #665442; font-size: 10px; font-weight: 900; white-space: nowrap; }
.saas-sketch-placement-controls input { width: 92px; height: 36px; min-width: 0; border: 1px solid #bba386; border-radius: 7px; background: #fff; padding: 5px 7px; color: #3f2f20; font-weight: 800; }
.saas-sketch-placement-controls button { min-height: 36px; border-color: #68451f; background: #68451f; color: #fff; padding-inline: 16px; }
.saas-sketch-placement-controls [data-placement-mode] { margin-left: auto; border: 1px solid #c4b49f; border-radius: 999px; background: #f2ece4; padding: 6px 9px; color: #675747; font-size: 10px; font-weight: 900; white-space: nowrap; }
.saas-sketch-placement-controls [data-placement-mode][data-mode="placement"] { border-color: #df9a55; background: #fff0de; color: #854a14; }
.saas-sketch-canvas-host { min-width: 0; min-height: 420px; overflow: hidden; background: #d7d1c8; touch-action: none; }
.saas-sketch-canvas-host svg { display: block; width: 100%; height: 100%; min-width: 0; cursor: default; user-select: none; }
.saas-sketch-canvas-host svg[data-interaction-mode="placement"] { cursor: crosshair; }
.sketch-block { cursor: move; }
.sketch-placement-preview { pointer-events: none; filter: drop-shadow(0 0 16px #d2762866); }
.sketch-block.upper { mix-blend-mode: multiply; }
.sketch-furniture-geometry { stroke-linecap: butt; stroke-linejoin: miter; }
.sketch-block-hit { pointer-events: all; }
.sketch-selection { fill: none; stroke: #1b69b6; stroke-width: 18; stroke-dasharray: 45 24; stroke-linecap: butt; stroke-linejoin: miter; pointer-events: none; }
.sketch-resize-handle { fill: #1b69b6; stroke: #fff; stroke-width: 10; cursor: nwse-resize; }
.sketch-snap-guides { pointer-events: none; }
.sketch-snap-guide { fill: none; stroke: #e04f2f; stroke-width: 2; stroke-dasharray: 8 5; vector-effect: non-scaling-stroke; }
.sketch-snap-point { fill: #fff8f0; stroke: #e04f2f; stroke-width: 2; vector-effect: non-scaling-stroke; }
.sketch-snap-point-core { fill: #e04f2f; stroke: none; }
.sketch-dimensions text { cursor: text; }
.saas-sketch-warning { margin: 0; border-top: 1px solid #ebb8ad; background: #fff0ed; color: #9b2e25; padding: 7px 10px; font-size: 11px; font-weight: 900; }
.saas-sketch-help { margin: 0; border-top: 1px solid #e2d7ca; background: #fffaf3; color: #776655; padding: 7px 10px; font-size: 10px; }
.saas-sketch-properties { overflow-y: auto; padding: 11px; transition: width .15s ease; }
.saas-sketch-properties > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.saas-sketch-properties header p { margin: 0 0 2px; color: #8a735c; font-size: 10px; font-weight: 900; }
.saas-sketch-properties h3 { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
.saas-sketch-properties header button { min-height: 32px; border: 1px solid #c3b098; border-radius: 7px; background: #fff; padding: 4px 7px; color: #5e4935; font-size: 10px; font-weight: 900; }
.saas-sketch-properties.collapsed .saas-sketch-property-body { display: none; }
.saas-sketch-property-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; min-width: 0; }
.saas-sketch-property-body > label,
.saas-sketch-property-body fieldset label { display: grid; gap: 4px; min-width: 0; color: #665442; font-size: 10px; font-weight: 900; }
.saas-sketch-property-body > label.wide,
.saas-sketch-property-body > fieldset.wide,
.saas-sketch-property-body > .wide { grid-column: 1 / -1; }
.saas-sketch-property-body input,
.saas-sketch-property-body select,
.saas-sketch-property-body textarea { width: 100%; max-width: 100%; min-width: 0; min-height: 36px; border: 1px solid #c9b69f; border-radius: 7px; background: #fff; padding: 5px 7px; }
.saas-sketch-property-body label.check,
.saas-sketch-property-body fieldset label.check { display: flex; align-items: center; gap: 5px; min-height: 34px; }
.saas-sketch-property-body label.check input,
.saas-sketch-property-body fieldset label.check input { width: 16px; min-height: 16px; }
.saas-sketch-property-body fieldset { display: grid; gap: 7px; margin: 3px 0 0; border: 1px solid #e2d6c7; border-radius: 9px; padding: 9px; }
.saas-sketch-property-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.saas-sketch-property-actions button { min-height: 34px; padding: 4px; font-size: 10px; }
.saas-sketch-property-actions button:last-child { border-color: #d5a9a3; color: #982d28; }
.saas-sketch-property-empty { grid-column: 1 / -1; color: #817263; font-size: 11px; line-height: 1.55; }
.saas-sketch-group-size { grid-column: 1 / -1; display: grid; gap: 4px; border-radius: 9px; background: #f4ede4; padding: 12px; }
.saas-sketch-group-size span { color: #7b6a5a; font-size: 10px; }
.saas-sketch-group-size strong { font-size: 15px; }
.saas-sketch-footer { display: grid; grid-template-columns: minmax(260px,1fr) minmax(220px,1fr); gap: 12px; align-items: center; border-top: 1px solid #d8c9b6; background: #fffdf9; padding: 8px 12px; }
.saas-sketch-footer label { display: flex; align-items: center; gap: 7px; color: #665442; font-size: 10px; font-weight: 900; }
.saas-sketch-footer input { width: 100%; max-width: 100%; min-width: 0; height: 36px; border: 1px solid #c7b49c; border-radius: 7px; padding: 5px 7px; }
#saas-sketch-status { margin: 0; color: #6c5d4d; font-size: 11px; text-align: right; }
#saas-sketch-status[data-kind="error"] { color: #a3312a; }
#saas-sketch-status[data-kind="success"] { color: #257043; }
.saas-sketch-mobile-tools { display: none; }

.saas-furniture-sketch-category-summary { width: 100%; margin: 12px 0 10px; border: 1px solid #cbb89e; border-radius: 11px; background: #fffdf9; padding: 11px; break-inside: avoid; overflow: hidden; }
.saas-furniture-sketch-category-summary article { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(360px,1.3fr); gap: 14px; align-items: center; break-inside: avoid; }
.saas-furniture-sketch-category-summary article + article { margin-top: 10px; border-top: 1px solid #eadfd2; padding-top: 10px; }
.saas-sketch-estimate-copy { display: grid; gap: 5px; min-width: 0; }
.saas-sketch-estimate-copy span,
.saas-sketch-estimate-copy small { color: #746454; overflow-wrap: anywhere; }
.saas-sketch-summary-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.saas-sketch-summary-actions button { min-height: 30px; border: 1px solid #baa487; border-radius: 6px; background: #fff; color: #5d432b; padding: 4px 7px; font-size: 10px; font-weight: 900; }
.saas-furniture-sketch-category-summary figure { min-width: 0; margin: 0; border: 1px solid #e1d6c9; border-radius: 9px; background: #fff; padding: 6px; }
.saas-furniture-sketch-category-summary figcaption { margin-bottom: 4px; color: #786958; font-size: 9px; font-weight: 900; }
.saas-sketch-estimate-svg { overflow: hidden; }
.saas-sketch-estimate-svg svg { display: block; width: 100%; height: auto; max-height: 360px; }
.saas-sketch-readonly[hidden] { display: none !important; }
.saas-sketch-readonly { z-index: 10070; }
.saas-sketch-readonly .saas-modal-card { width: min(1100px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; }
.saas-sketch-readonly header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #ddcfbd; padding: 12px 15px; }
.saas-sketch-readonly h2 { margin: 0; }
.saas-sketch-readonly header p { margin: 3px 0 0; color: #7b6b5c; font-size: 11px; }
.saas-sketch-readonly header button { width: 38px; height: 38px; border: 1px solid #c2ad92; border-radius: 50%; background: #fff; font-size: 22px; }
.saas-sketch-readonly [data-readonly-svg] { min-height: 360px; overflow: auto; padding: 14px; }
.saas-sketch-readonly [data-readonly-svg] svg { display: block; width: 100%; max-height: 70vh; }
.saas-sketch-readonly [data-readonly-notes] { margin: 0; border-top: 1px solid #e1d6c8; padding: 10px 15px; color: #675748; white-space: pre-wrap; }

@media (min-width: 1024px) and (max-width: 1439px) {
  .saas-sketch-main { grid-template-columns: 86px minmax(0,1fr) minmax(240px,270px); }
  .saas-sketch-palette { padding: 7px; }
  .saas-sketch-palette h3 { text-align: center; font-size: 9px; }
  .saas-sketch-palette button { justify-content: center; padding: 5px 3px; font-size: 9px; text-align: center; }
  .saas-sketch-palette button > span { display: none; }
  #saas-sketch-saved-list b { font-size: 9px; }
  .saas-sketch-heading > p { display: none; }
}

@media (max-width: 1023px) {
  .saas-furniture-v4-shell { grid-template-rows: auto auto auto minmax(0,1fr) auto; }
  .saas-sketch-header { align-items: stretch; flex-direction: column; gap: 7px; padding: 8px 10px; }
  .saas-sketch-heading { justify-content: space-between; }
  .saas-sketch-heading > p { display: none; }
  .saas-sketch-heading input { width: min(300px,42vw); }
  .saas-sketch-header-actions { justify-content: flex-start; }
  .saas-sketch-header-actions button { min-height: 34px; font-size: 10px; }
  .saas-sketch-main { grid-template-columns: 1fr; grid-template-rows: auto minmax(420px,1fr) auto; overflow-y: auto; }
  .saas-sketch-palette { display: flex; gap: 6px; overflow-x: auto; overflow-y: hidden; padding: 7px; }
  .saas-sketch-palette section { display: flex; gap: 5px; flex: 0 0 auto; }
  .saas-sketch-palette section + section { margin: 0; border-top: 0; border-left: 1px solid #e4d8ca; padding: 0 0 0 7px; }
  .saas-sketch-palette h3 { display: none; }
  .saas-sketch-palette button { width: auto; min-width: 92px; margin: 0; justify-content: center; white-space: nowrap; }
  #saas-sketch-saved-list { display: flex; }
  .saas-sketch-properties { overflow: visible; }
  .saas-sketch-canvas-host { min-height: 520px; }
  .saas-sketch-footer { grid-template-columns: 1fr; }
  #saas-sketch-status { text-align: left; }
  .saas-furniture-sketch-category-summary article { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .saas-furniture-v4-shell { grid-template-rows: auto auto auto minmax(0,1fr) auto auto; }
  .saas-sketch-header { gap: 6px; }
  .saas-sketch-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .saas-sketch-heading > div { display: grid; grid-template-columns: auto minmax(100px,1fr); gap: 6px; }
  .saas-sketch-heading h2 { font-size: 16px; }
  .saas-sketch-heading input { width: 100%; min-width: 0; height: 34px; font-size: 11px; }
  .saas-sketch-header-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .saas-sketch-header-actions button { width: 100%; min-height: 32px; padding: 4px 2px; font-size: 9px; white-space: normal; }
  .saas-sketch-modes { padding: 0 6px; }
  .saas-sketch-modes button { min-height: 40px; font-size: 11px; }
  body.saas-sketch-open #saas-furniture-sketch-workspace > .saas-sketch-main { position: relative; display: block; padding: 7px 7px calc(36vh + 70px) !important; overflow-y: auto; }
  .saas-sketch-palette { display: none; }
  .saas-sketch-stage { min-height: 560px; }
  .saas-sketch-stage-tools { gap: 4px; }
  .saas-sketch-stage-tools button { padding-inline: 5px; font-size: 9px; }
  .saas-sketch-placement-controls { display: grid; grid-template-columns: minmax(90px,1fr) repeat(2,minmax(94px,auto)) minmax(70px,auto); gap: 6px; padding: 7px; }
  .saas-sketch-placement-controls > strong { min-width: 0; font-size: 10px; }
  .saas-sketch-placement-controls input { width: 72px; }
  .saas-sketch-placement-controls [data-placement-mode] { grid-column: 1 / -1; margin-left: 0; text-align: center; }
  .saas-sketch-canvas-host { min-height: 470px; }
  .saas-sketch-help { font-size: 9px; }
  .saas-sketch-properties { position: fixed; left: 7px; right: 7px; bottom: calc(60px + env(safe-area-inset-bottom)); z-index: 3; max-height: 34vh; overflow-y: auto; border-color: #bba78d; border-radius: 14px 14px 8px 8px; box-shadow: 0 -8px 28px #2d211633; }
  .saas-sketch-properties.collapsed { max-height: 54px; overflow: hidden; }
  .saas-sketch-property-body { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .saas-sketch-footer { padding-bottom: 65px; }
  .saas-sketch-mobile-tools { display: grid; position: fixed; left: 0; right: 0; bottom: 0; z-index: 4; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; border-top: 1px solid #cbb79d; background: #fffdf9; padding: 6px max(7px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left)); }
  .saas-sketch-mobile-tools button { min-height: 46px; padding: 4px 2px; font-size: 9px; }
  .saas-sketch-readonly [data-readonly-svg] { min-height: 260px; padding: 8px; }
}

@media print {
  .saas-furniture-v4-shell,.saas-sketch-readonly,.saas-sketch-summary-actions { display: none !important; }
  .saas-furniture-sketch-category-summary { display: block !important; margin: 3mm 0 !important; padding: 3mm !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  .saas-furniture-sketch-category-summary article { grid-template-columns: 55mm minmax(0,1fr) !important; gap: 3mm !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  .saas-furniture-sketch-category-summary svg { width: 100% !important; max-height: 70mm !important; image-rendering: auto !important; }
}
.saas-template-price-review {
  display: block;
  margin-top: 4px;
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 4px;
  padding: 3px 4px;
  font-size: 10px;
  line-height: 1.4;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media print { .saas-template-price-review { display: none !important; } }

.saas-commercial-auth { display: grid; gap: 12px; min-width: 0; max-width: 100%; margin-top: 14px; text-align: left; }
.saas-auth-separator { display: flex; align-items: center; gap: 10px; color: #89786a; font-size: 11px; }
.saas-auth-separator::before,.saas-auth-separator::after { content: ""; flex: 1; height: 1px; background: #ddd3ca; }
.saas-auth-form { display: grid; gap: 9px; min-width: 0; max-width: 100%; }
.saas-auth-form label { display: grid; gap: 4px; min-width: 0; color: #66584e; font-size: 11px; font-weight: 800; }
.saas-auth-form input { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 42px; border: 1px solid #cdbfb3; border-radius: 9px; background: #fff; padding: 8px 10px; color: #211b17; }
.saas-auth-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; min-width: 0; max-width: 100%; }
.saas-auth-links button,#saas-application-logout { min-width: 0; width: 100%; border: 0; background: transparent; padding: 7px 4px; color: #76593f; font-size: 11px; font-weight: 800; line-height: 1.35; text-align: center; text-decoration: underline; white-space: normal; overflow-wrap: anywhere; }
.saas-application-summary { display: grid; gap: 8px; margin: 16px 0; }
.saas-application-summary div { display: grid; grid-template-columns: 100px 1fr; gap: 10px; border-bottom: 1px solid #eee7e1; padding: 8px 0; }
.saas-application-summary dt { color: #806f61; font-size: 11px; }
.saas-application-summary dd { margin: 0; font-weight: 800; }
.saas-application-rejected { border: 1px solid #efbbb6; border-radius: 9px; background: #fff3f1; padding: 10px; color: #9f3027; }
.saas-platform-card { width: min(1120px,calc(100vw - 28px)); max-height: calc(100dvh - 28px); overflow: auto; }
.saas-platform-card > header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; background: #fff; border-bottom: 1px solid #e3d8cd; padding-bottom: 12px; }
.saas-platform-card > header h2,.saas-platform-card > header p { margin: 0; }
.saas-platform-card > header button { width: 38px; height: 38px; border: 1px solid #cbbbab; border-radius: 50%; background: #fff; font-size: 22px; }
.saas-platform-content { display: grid; gap: 22px; padding-top: 14px; }
.saas-platform-content section > h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; }
.saas-platform-content section > h3 span { border-radius: 999px; background: #ede5dc; padding: 2px 8px; font-size: 11px; }
.saas-platform-applications,.saas-platform-organizations { display: grid; gap: 9px; }
.saas-platform-applications article { border: 1px solid #ddcdbd; border-radius: 12px; background: #fffdf9; padding: 12px; }
.saas-platform-applications h4,.saas-platform-applications p { margin: 0 0 6px; }
.saas-platform-applications dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 14px; margin: 9px 0; }
.saas-platform-applications dl div { display: grid; grid-template-columns: 72px 1fr; gap: 6px; font-size: 11px; }
.saas-platform-applications dt { color: #806f61; }
.saas-platform-applications dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.saas-platform-organizations article { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 12px; align-items: center; border-bottom: 1px solid #eee6df; padding: 10px 2px; }
.saas-platform-organizations h4,.saas-platform-organizations p { margin: 0 0 3px; }
.saas-platform-organizations small { color: #7c6e63; }
.saas-company-status { border-radius: 999px; padding: 4px 9px; background: #e6f5ea; color: #25623a; font-size: 10px; font-weight: 900; }
.saas-company-status[data-status="suspended"] { background: #fde9e7; color: #9f3027; }
.saas-member-list { display: grid; gap: 7px; margin-bottom: 16px; }
.saas-member-list article,.saas-invitation-list article { display: grid; grid-template-columns: minmax(140px,1fr) minmax(100px,auto) minmax(100px,auto); gap: 8px; align-items: center; border-bottom: 1px solid #ece4dc; padding: 8px 0; }
.saas-member-list select,.saas-invitation-list button { min-height: 36px; border: 1px solid #cdbdad; border-radius: 8px; background: #fff; padding: 5px 8px; }
.saas-member-list em,.saas-invitation-list em { color: #75685d; font-size: 10px; font-style: normal; }
.saas-invite-result { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: end; margin: 12px 0; border: 1px solid #d8c5ae; border-radius: 10px; background: #fff9ef; padding: 10px; }
.saas-invite-result label { display: grid; gap: 5px; min-width: 0; font-size: 11px; font-weight: 800; }
.saas-invite-result input { width: 100%; min-width: 0; border: 1px solid #cdbdad; border-radius: 7px; background: #fff; padding: 7px; }
.saas-invitation-list h3 { margin: 18px 0 8px; }

@media (max-width: 767px) {
  #auth-gate { align-items: flex-start; overflow-y: auto; padding: 12px; }
  #auth-gate .auth-card { box-sizing: border-box; width: min(430px,100%); max-width: 100%; max-height: none; margin: auto; padding: 20px 16px; overflow: visible; }
  .saas-commercial-auth,.saas-auth-form,.saas-auth-links { min-width: 0; max-width: 100%; }
  .saas-auth-form button { width: 100%; min-width: 0; white-space: normal; }
  .saas-platform-applications dl { grid-template-columns: 1fr; }
  .saas-platform-organizations article { grid-template-columns: 1fr auto; }
  .saas-platform-organizations article > div { grid-column: 1 / -1; }
  .saas-member-list article,.saas-invitation-list article { grid-template-columns: 1fr; }
  .saas-invite-result { grid-template-columns: 1fr; }
}

@media (max-width: 479px) {
  .saas-auth-links { grid-template-columns: 1fr; gap: 4px; }
}
