/* Quiet controls: reserve solid color for the main action. */
:root{--control-border:#d9dfdb;--control-hover:#f1f4f2;--control-ink:#304d47}
button{font-weight:500;transition:background-color .16s,border-color .16s,color .16s}
button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,summary:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #5b8076;outline-offset:3px}
.primary-button{background:#36564d;border:1px solid #36564d;color:#fff;border-radius:6px;box-shadow:none;font-weight:500}
.primary-button:hover{background:#29463e;border-color:#29463e;transform:none;box-shadow:none}
.crm-header-button,.crm-unit-button,#open-residences,.more-menu>summary,.plan-filter-controls>summary{border:1px solid var(--control-border);background:transparent;color:var(--control-ink);font-weight:500;box-shadow:none}
.crm-header-button:hover,.crm-unit-button:hover,#open-residences:hover,.more-menu>summary:hover,.plan-filter-controls>summary:hover{background:var(--control-hover);border-color:#b7c4bd}
.crm-header-button span{background:#eef2ef;color:#496059;font-weight:500}
.language-switch{background:transparent;border-color:var(--control-border);padding:2px}.language-switch button{color:#6c7771;font-weight:500}.language-switch button.active{background:#edf1ee;color:#233e36}.language-switch button:hover{background:#f2f4f2}
.experience-tabs{background:transparent;padding:0;gap:20px;border-radius:0;border-bottom:1px solid var(--control-border);max-width:none}.experience-tabs button{flex:0 1 auto;min-width:90px;padding:11px 12px;border-radius:0;border-bottom:2px solid transparent;color:#67766f;background:transparent}.experience-tabs button.active{background:transparent;color:#24453b;box-shadow:none;border-bottom-color:#496c5d}.experience-tabs button:hover{background:#f1f5ef;color:#24453b}
.plan-navigation .plan-actions{background:#f4f6f3;border:1px solid #e4e9e3;gap:4px}.plan-navigation .plan-actions button{border:1px solid transparent;border-radius:5px;color:#65766b}.plan-navigation .plan-actions button.active{background:#fff;color:#274d3c;border-color:#d8e1d5;box-shadow:0 1px 2px #18352a08}.plan-navigation .plan-actions button:hover{background:#fff}
.round-button,.source-zoom button,.three-zoom button,.three-top-actions button,.walk-controls button{border:1px solid #d8dfd9;background:#ffffffed;box-shadow:none;color:#3b574c}.round-button:hover,.source-zoom button:hover,.three-zoom button:hover,.three-top-actions button:hover,.walk-controls button:hover{background:#eef3ee}
/* Residence actions: padded touch targets with a quiet primary / secondary hierarchy. */
.unit-card .card-actions{display:flex;align-items:stretch;gap:8px;margin-top:12px}
.unit-card .card-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#4f655b;font-size:13px;line-height:1.35;font-weight:500;box-shadow:none;white-space:normal;overflow-wrap:normal;touch-action:manipulation}
.unit-card .card-actions button[data-detail]{flex:1;background:#edf2ee;color:#304e42}
.unit-card .card-actions button[data-detail]:hover{background:#e1eae3}
.unit-card .card-actions button[data-compare]{flex:0 1 auto}
.unit-card .card-actions button[data-compare]:hover{background:#f3f5f2;color:#304e42}
.unit-card .card-actions button[data-compare][aria-pressed=true]{background:#eaf1ec;border-color:#bfd0c3;color:#365a43}
.unit-card .card-actions button:active{background:#dce7de}
.unit-card .favorite-button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:0;border-radius:50%;line-height:1}
.unit-card .favorite-button:hover{background:#f1f4f1}
.unit-card .favorite-button[aria-pressed=true]{background:#f7f1e9}
.residences-dialog .drawer-heading{padding:12px 18px;gap:12px}
.residences-dialog #close-residences{display:grid;place-items:center;width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:0;border:1px solid transparent;border-radius:50%;background:#f2f5f2;color:#4d6459;font-size:26px;line-height:1;outline:none;touch-action:manipulation}
.residences-dialog #close-residences:hover{background:#e7ede7}
.residences-dialog #close-residences:focus-visible{outline:2px solid #5b8076;outline-offset:2px}
.selected-actions .crm-unit-button{background:transparent}.unit-card.active{border-color:#97ae98;box-shadow:inset 2px 0 #6b8968}
/* CRM: a calm sales workspace, compact directory and focused editor. */
.crm-dialog{width:min(1360px,calc(100% - 48px));height:92dvh;max-height:960px;background:#fff;border:1px solid #e1e6e2;border-radius:12px;overflow:auto;color:#263c34}
.crm-dialog .crm-heading{padding:24px 28px 19px;background:#fff;border-bottom:1px solid #e7ebe7;align-items:center;z-index:5}.crm-heading h2{font-size:30px;margin-top:6px}.crm-heading .eyebrow{color:#708075;font-size:11px;letter-spacing:1.8px}.crm-heading-actions{flex-wrap:nowrap}.crm-heading .round-button{border:0;background:transparent;color:#65766b;font-size:26px;border-radius:6px}.crm-heading .round-button:hover{background:#f2f4f2}
.crm-utility{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 28px;color:#778179;font-size:12px;border-bottom:1px solid #eef0ed}.crm-data-menu{position:relative;flex-shrink:0}.crm-data-menu summary{list-style:none;min-height:40px;display:flex;gap:12px;align-items:center;font-size:13px;color:#52655a}.crm-data-menu summary:after{content:'⌄'}.crm-data-menu summary::-webkit-details-marker{display:none}.crm-data-menu>div{position:absolute;right:0;top:100%;width:190px;background:#fff;border:1px solid #dfe5df;border-radius:8px;padding:6px;box-shadow:0 12px 28px #193a3015;z-index:8}.crm-data-menu button{width:100%;text-align:left;min-height:44px;font-size:14px;padding:10px;border-radius:4px}.crm-data-menu button:hover{background:#f3f5f2}
.crm-stats{padding:0;margin:20px 28px 26px;gap:0;border:1px solid #e0e6df;border-radius:8px;overflow:hidden;background:#fbfcfa}.crm-stat{border:0;border-right:1px solid #e0e6df;border-radius:0;padding:17px 22px;background:transparent;text-align:left;position:relative}.crm-stat:last-child{border-right:0}.crm-stat span{font-size:14px;color:#728075}.crm-stat strong{font:500 29px var(--sans);letter-spacing:-1px;margin-top:8px;color:#344f41}.crm-stat.overdue strong{color:#99633d}.crm-stat:hover{background:#f1f5ef}.crm-stat[aria-pressed=true]{background:#eff4ec}.crm-stat[aria-pressed=true]:after{content:'';position:absolute;left:22px;right:22px;bottom:0;height:2px;background:#718971}
.crm-layout{grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);gap:30px;padding:0 28px 28px;align-items:start}.crm-directory-top{margin-bottom:18px;min-height:44px}.crm-directory-top h3{font-size:19px;font-weight:500;letter-spacing:-.3px}.crm-directory-top h3 span{background:#f0f3ef;color:#68796c;font-size:12px}.crm-dialog #crm-new{border:1px solid #d2ded0;color:#3f6248;background:#f6f9f3;padding:10px 15px}.crm-dialog #crm-new:hover{background:#edf3e8;border-color:#b2c4ad}
.crm-stage-overview{display:flex;flex-wrap:wrap;gap:5px 8px;margin:0 0 20px;padding:0 0 18px;border-bottom:1px solid #e6eae3}.crm-stage-overview button{display:flex;align-items:center;gap:6px;padding:7px 9px;min-height:36px;border:1px solid transparent;border-radius:5px;color:#62705f;font-size:12px}.crm-stage-overview b{font-weight:500;color:#7a8875;margin-left:3px;font-variant-numeric:tabular-nums}.crm-stage-overview button:hover{background:#f5f7f1}.crm-stage-overview button[aria-pressed=true]{background:#f1f5eb;border-color:#ccd8c3;color:#34562f}.crm-stage-dot{width:5px;height:5px;background:#7f9b84;border-radius:50%;flex-shrink:0}.crm-stage-dot.contacted{background:#8b9eae}.crm-stage-dot.viewing{background:#9991ae}.crm-stage-dot.offer{background:#b79562}.crm-stage-dot.won{background:#507d58}.crm-stage-dot.lost{background:#b5b5b0}
.crm-filters{grid-template-columns:minmax(0,1fr) minmax(130px,.7fr);gap:12px}.crm-filters>label:first-child{grid-column:1/-1}.crm-dialog label{font-weight:400;color:#566650;font-size:14px}.crm-dialog input:not([type=checkbox]),.crm-dialog select,.crm-dialog textarea{border-color:#dce3d6;background:#fff;border-radius:6px;padding:10px 12px;color:#31472d;min-height:44px;margin-top:6px;font-size:16px}.crm-dialog input::placeholder,.crm-dialog textarea::placeholder{color:#8a9583}.crm-dialog input:hover,.crm-dialog select:hover,.crm-dialog textarea:hover{border-color:#b8c7af}.crm-dialog input:focus,.crm-dialog select:focus,.crm-dialog textarea:focus{border-color:#8aa279}.crm-dialog label.crm-due-filter{grid-column:1/-1;min-height:40px;color:#67765f;font-size:13px}.crm-dialog input[type=checkbox]{width:16px;height:16px;accent-color:#537542}
.crm-list-caption{min-height:40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e0e7d9;color:#8a9581;font-size:12px;padding:0 12px}.crm-list-caption button{font-size:12px;color:#627a51;min-height:40px}.crm-list{padding:0;gap:0;max-height:500px}.crm-lead{border:0;border-bottom:1px solid #e7ebdf;border-radius:0;padding:18px 12px;background:#fff}.crm-lead:hover{background:#f8faf5}.crm-lead.active{border-color:#dfe6d5;background:#f3f7ed;box-shadow:inset 2px 0 #839a70}.crm-lead-top{align-items:center}.crm-lead-top strong{font-size:16px;font-weight:500;color:#364e2e}.crm-lead-contact{font-size:14px;color:#7a886e;margin:5px 0 13px}.crm-stage-pill{background:#f0f3eb;color:#738169;font-size:12px;padding:4px 7px;border-radius:4px;font-weight:400}.crm-stage-pill.won{background:#eaf2e1;color:#4b7135}.crm-stage-pill.offer{background:#f7f2e6;color:#8c753b}.crm-stage-pill.lost{background:#f3efeb;color:#8b7c6b}.crm-lead-bottom{font-size:13px;color:#677b56}.crm-followup.overdue{font-weight:400;color:#a2733c}
.crm-empty{padding:56px 24px;border:0;border-bottom:1px solid #e7ebdf;border-radius:0;font-size:14px;color:#869079;background:#fcfdf9}.crm-empty strong{font:500 19px var(--sans);color:#4c613b;margin-bottom:10px}.crm-editor{padding:24px;border:1px solid #e0e6d9;border-radius:9px;background:#fcfdfb}.crm-editor-heading{border-bottom:1px solid #e3e9db;margin-bottom:22px}.crm-editor-heading .eyebrow{font-size:10px;color:#879479;letter-spacing:1.3px}.crm-editor-heading h3{font:500 23px var(--sans);letter-spacing:-.5px;margin:8px 0 20px;overflow-wrap:anywhere}.crm-editor-heading>p:last-child:not(.eyebrow){font-size:12px;color:#879479}.crm-section-title{font-size:13px;color:#789063;font-weight:500;margin:23px 0 14px;letter-spacing:.15px}.crm-section-title:first-child{margin-top:0}.crm-form-row{grid-template-columns:1fr 1fr;gap:12px}.crm-field-hint{font-size:12px;color:#88987b}.crm-unit-summary{background:#f0f5e9;border:1px solid #e2e9d8;border-radius:6px;padding:12px}.crm-unit-summary strong{font-size:16px;font-weight:500}.crm-unit-summary span{color:#7c9268}.crm-save-bar{position:sticky;bottom:0;background:#fcfdfbf5;padding:12px 0 4px;border-top:1px solid #e0e7d5;backdrop-filter:blur(8px);z-index:1}#crm-save-status{font-size:12px;color:#839a6e;margin:0 0 10px}.crm-dialog #crm-save{font-size:14px;background:#4b653b;border-color:#4b653b;padding:11px 17px}.crm-dialog #crm-save:hover{background:#3c542e}.crm-delete{text-decoration:none;font-size:13px;color:#987d65;padding:8px 10px;border-radius:5px}.crm-delete:hover{background:#f6eee8;color:#93613c}.crm-back{display:none}.crm-feedback{background:#f1f7e8;color:#637f49;border-bottom:1px solid #dce8ca;font-size:14px;padding:12px 28px}
@media(max-width:1100px){.crm-dialog{width:calc(100% - 32px)}.crm-layout{gap:22px;grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.crm-form-row{grid-template-columns:1fr}.crm-stage-overview{gap:4px}.crm-editor{padding:20px}.crm-stat{padding:16px}.crm-stat span{font-size:13px}}
@media(max-width:760px){.crm-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0}.crm-dialog .crm-heading{padding:17px 20px;align-items:center}.crm-heading h2{font-size:25px}.crm-heading-actions{gap:8px}.crm-heading .eyebrow{font-size:10px}.crm-utility{padding:5px 20px;align-items:center;font-size:11px}.crm-data-menu summary{font-size:12px}.crm-stats{margin:18px 20px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}.crm-stat{padding:15px 17px}.crm-stat:nth-child(2){border-right:0}.crm-stat:nth-child(-n+2){border-bottom:1px solid #e0e6df}.crm-stat strong{font-size:26px}.crm-stat span{font-size:13px}.crm-layout{display:block;padding:0 20px 28px}.crm-list{max-height:none}.crm-filters{grid-template-columns:1fr 1fr}.crm-stage-overview{gap:4px 6px}.crm-stage-overview button{min-height:44px}.crm-directory-top{flex-wrap:nowrap}.crm-directory-top h3{font-size:18px}.crm-editor{display:none;padding:0;border:0;background:#fff}.crm-dialog[data-panel=editor] .crm-editor{display:block}.crm-dialog[data-panel=editor] .crm-directory,.crm-dialog[data-panel=editor] .crm-stats,.crm-dialog[data-panel=editor] .crm-utility{display:none}.crm-back{display:flex;align-items:center;min-height:52px;padding:5px 0;color:#71835f;font-size:14px}.crm-form-row{grid-template-columns:1fr 1fr}.crm-save-bar{background:#fffffff5;bottom:0;padding:12px 0 16px}.crm-form-actions{flex-wrap:nowrap}.crm-lead-top{flex-wrap:nowrap}.crm-lead-bottom{flex-direction:row}.crm-heading-actions .language-switch button{min-width:30px;min-height:36px}.crm-heading-actions .round-button{width:36px}.crm-feedback{padding:12px 20px}.experience-tabs{gap:14px}.experience-tabs button{min-width:0;flex:1}.crm-stage-pill{white-space:nowrap}.crm-dialog .primary-button{padding:10px 12px}}
@media(max-width:440px){.crm-heading h2{font-size:22px}.crm-dialog .crm-heading{padding:16px}.crm-heading-actions{gap:3px}.crm-utility{padding-left:16px;padding-right:16px;gap:8px}.crm-utility>span{max-width:190px;line-height:1.6}.crm-stats{margin-left:16px;margin-right:16px}.crm-layout{padding-left:16px;padding-right:16px}.crm-form-row{grid-template-columns:1fr}.crm-heading-actions{max-width:none}.crm-lead-top{align-items:flex-start}.crm-stage-pill{max-width:115px;white-space:normal;text-align:right}.crm-dialog #crm-new{font-size:13px}.crm-stat span{font-size:12px}.crm-lead-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Stage chips replace the duplicate stage dropdown in the directory. */
.crm-stage-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-bottom:14px;padding-bottom:14px}.crm-stage-overview button{font-size:14px;padding:7px;min-height:40px;justify-content:flex-start;white-space:nowrap}.crm-stage-overview b{margin-left:auto}.crm-stage-overview button,.crm-stage-overview b{color:#596d50}.crm-filters{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr)}.crm-filters>label:first-child{grid-column:auto}.crm-stat span{font-size:14px}.crm-lead-bottom{font-size:14px}.crm-section-title{font-size:14px;color:#637952}.crm-field-hint,#crm-save-status,.crm-editor-heading>p:last-child:not(.eyebrow){color:#6a7c5b}.crm-dialog input::placeholder,.crm-dialog textarea::placeholder{color:#77826d}.crm-list-caption{color:#6e7d60}
@media(max-width:1100px){.crm-stage-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-filters>label:first-child{grid-column:1/-1}.crm-filters .crm-sort-label{grid-column:1/-1}.crm-stat span{font-size:14px}}
@media(max-width:760px){.crm-stage-overview{margin-bottom:14px;padding-bottom:12px}.crm-stage-overview button{min-height:44px}.crm-directory-top{margin-bottom:12px}.crm-stats{margin-bottom:18px}.crm-dialog[data-panel=editor] .crm-layout{padding-top:0}}

.crm-stage-panel{border-bottom:1px solid #e3e8dd;margin:0 0 16px}.crm-stage-panel>summary{list-style:none;display:flex;align-items:center;gap:12px;color:#586d4d;font-size:14px;min-height:44px;padding:8px 0}.crm-stage-panel summary::-webkit-details-marker{display:none}.crm-stage-panel>summary:after{content:'⌄';color:#7d8b74}.crm-stage-panel>summary span{margin-left:auto;font-size:13px;color:#728367}.crm-stage-panel .crm-stage-overview{margin:6px 0 0;border:0}.crm-stage-panel[open]>summary:after{content:'⌃'}
@media(max-width:760px){.crm-stat{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:8px}.crm-stat strong{font-size:24px;margin:0}.crm-stat span{font-size:13px;max-width:85px}.crm-stats{margin-top:14px}.crm-stage-panel{margin-bottom:14px}}
