:root{font-family:Arial,sans-serif;color:#17202a;background:#f3f5f7}*{box-sizing:border-box}body{margin:0}header{background:#15394a;color:#fff;padding:15px 3%;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}header strong{font-size:1.35rem}header span{opacity:.8}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{color:#fff;text-decoration:none;font-weight:700}main{max-width:1250px;margin:auto;padding:22px}h1{margin-top:0}.card{background:#fff;border:1px solid #d7dee3;border-radius:10px;padding:18px;box-shadow:0 2px 8px #0000000a}.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:20px}.kpi{text-decoration:none;color:inherit}.kpi strong{display:block;font-size:2rem;color:#15394a}.kpi span{color:#566}.form{max-width:760px;display:grid;gap:14px}.form.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form label{display:grid;gap:6px;font-weight:700}.form input,.form select,.form textarea,.search input,select{width:100%;padding:11px;border:1px solid #aeb9c0;border-radius:7px;font:inherit}.form textarea{min-height:100px}.wide{grid-column:1/-1}button,.button{background:#176b87;color:#fff;border:0;border-radius:7px;padding:11px 16px;font-weight:700;text-decoration:none;cursor:pointer}.secondary{background:#495057}.small{padding:10px 12px}.alert{background:#ffe3e3;padding:12px;border-radius:7px}.notice{background:#e7f5ff;padding:12px;border-radius:7px;margin-bottom:15px}.tablewrap{overflow:auto;background:#fff;border-radius:10px;border:1px solid #d7dee3}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:10px;border-bottom:1px solid #e4e8eb;vertical-align:top}th{background:#eaf0f3;position:sticky;top:0}.actions{display:flex;gap:12px;margin-top:14px}.filters{display:flex;gap:12px;flex-wrap:wrap}.search{display:flex;gap:10px;margin-bottom:14px}.search input{font-size:1.05rem}.spacegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.space{text-decoration:none;color:inherit;display:grid;gap:7px}.space strong{font-size:1.35rem;color:#176b87}.space small{color:#667}@media(max-width:700px){main{padding:14px}.form.two{grid-template-columns:1fr}.search{flex-direction:column}.actions{flex-direction:column}}
.cleanup-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:18px}.cleanup-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.cleanup-toolbar p{margin:.35rem 0 0;color:#566}.cleanup-toolbar .filters{justify-content:flex-end}.wizard-progress{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 4px 10px;color:#52616b;font-weight:700}.cleanup-form{padding:20px}.classification-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.class-choice{border:2px solid #cbd4da;border-radius:9px;padding:13px;cursor:pointer;background:#f8f9fa}.class-choice input{margin-right:8px}.class-choice:has(input:checked){box-shadow:0 0 0 2px #ffffff inset}.class-active:has(input:checked){border-color:#2b8a3e;background:#ebfbee}.class-review:has(input:checked){border-color:#e67700;background:#fff4e6}.class-archived:has(input:checked){border-color:#495057;background:#f1f3f5}.wizard-fields{max-width:none}.wizard-actions{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:18px}.wizard-nav,.wizard-save{display:flex;gap:10px;flex-wrap:wrap}.import-panel{margin-top:20px}.import-panel h2{margin-top:0}@media(max-width:760px){.cleanup-toolbar,.wizard-actions{align-items:stretch;flex-direction:column}.classification-bar{grid-template-columns:1fr}.cleanup-toolbar .filters,.wizard-nav,.wizard-save{justify-content:stretch}.cleanup-toolbar .button,.wizard-nav .button,.wizard-save button{width:100%;text-align:center}}
.welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.welcome h2,.section-heading h2{margin:0 0 6px}.welcome p,.section-heading p,.muted{margin:0;color:#65727a}.quick-actions{display:flex;gap:9px;flex-wrap:wrap}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.recent-list{display:grid}.recent-payment{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e4e8eb;text-decoration:none;color:inherit}.recent-payment:last-child{border-bottom:0}.recent-payment span{display:grid;gap:4px}.recent-payment small{color:#667}.progress{height:12px;border-radius:99px;background:#e4e8eb;overflow:hidden;margin:14px 0}.progress span{display:block;height:100%;background:#176b87}.customer-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.customer-summary>div{display:grid;gap:5px}.customer-summary>div>strong{font-size:1.35rem}.customer-summary span{color:#667}.customer-form{max-width:none}.timeline-card{margin-top:18px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.timeline{margin-top:16px;display:grid;gap:0}.timeline-item{position:relative;display:grid;grid-template-columns:22px 1fr;gap:10px;padding-bottom:18px}.timeline-item:before{content:"";position:absolute;left:7px;top:13px;bottom:-3px;width:2px;background:#d7dee3}.timeline-item:last-child:before{display:none}.timeline-dot{width:16px;height:16px;background:#176b87;border-radius:50%;margin-top:2px;z-index:1}.timeline-item>div{display:grid;gap:5px}.timeline-item small{color:#667}.timeline-item p{margin:0}.payment-form{max-width:800px;grid-template-columns:repeat(2,minmax(0,1fr))}.payment-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.payment-presets button{background:#eaf0f3;color:#173b4a;border:1px solid #b9c7ce}.payment-preview{background:#e7f5ff;padding:12px;border-radius:7px;color:#31596a}@media(max-width:850px){.dashboard-columns{grid-template-columns:1fr}.welcome,.customer-summary,.section-heading{align-items:stretch;flex-direction:column}.payment-form{grid-template-columns:1fr}.payment-presets{grid-template-columns:1fr 1fr}}
/* MM002 operations */
.operations-kpis{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.status-card{border-left:7px solid #b9c3c9}.status-current{border-left-color:#2f9e44;background:#f1fff4}.status-due{border-left-color:#f2c037;background:#fffbea}.status-late5{border-left-color:#f08c00;background:#fff4e6}.status-late14,.status-late30{border-left-color:#c92a2a;background:#fff0f0}.status-available{border-left-color:#1971c2;background:#edf7ff}.activity-type{font-size:.78rem;color:#52616b;text-align:right}.spreadsheet-progress{margin-top:16px}.status-pill{display:inline-block;border-radius:99px;padding:4px 9px;font-size:.78rem;font-weight:700;background:#e9ecef}.status-pill.status-current{background:#d3f9d8;color:#1b6b2a}.status-pill.status-due{background:#fff3bf;color:#7a5b00}.status-pill.status-late5{background:#ffe8cc;color:#9c4d00}.status-pill.status-late14,.status-pill.status-late30{background:#ffe3e3;color:#a51111}.status-pill.status-unknown{background:#e9ecef;color:#495057}.smart-search input{min-width:0;flex:1}.search-meta{display:flex;justify-content:space-between;color:#61717a;margin:-5px 0 12px}.space-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.space-toolbar h2{margin:0 0 6px}.space-toolbar p{margin:0;color:#667}.inline-form{display:flex;gap:8px;flex-wrap:wrap}.inline-form input{padding:10px;border:1px solid #aeb9c0;border-radius:7px}.space-filters{margin-bottom:14px}.interactive-spacegrid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr))}.space{border-left:7px solid #adb5bd;min-height:145px}.space em{font-style:normal;font-weight:700;font-size:.8rem}.space-current{border-left-color:#2f9e44}.space-due{border-left-color:#f2c037}.space-late5{border-left-color:#f08c00}.space-late14,.space-late30{border-left-color:#c92a2a}.space-available{border-left-color:#1971c2;background:#f4faff}.mini-link{margin-top:auto;text-decoration:none;font-weight:700;color:#176b87}.customer-record-head small{color:#52616b}.customer-record-head .quick-actions{justify-content:flex-end}.payment-presets button{min-height:66px}.timeline-dot{box-shadow:0 0 0 3px #e7f5ff}
@media(max-width:800px){.space-toolbar{align-items:stretch;flex-direction:column}.inline-form{display:grid}.customer-record-head .quick-actions{justify-content:stretch}.customer-record-head .button{width:100%;text-align:center}}
/* MM003 Piece 1 — Space Map 2.0 */
.lot-map-header{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:14px}.lot-map-header h2{margin:0 0 6px}.lot-map-header p{margin:0;color:#62717a}.add-space-form{justify-content:flex-end}.space-map-kpis{grid-template-columns:repeat(5,minmax(130px,1fr));margin-bottom:14px}.map-kpi{display:grid;gap:4px;border-left:6px solid #aab5bb}.map-kpi strong{font-size:1.8rem;color:#15394a}.map-kpi span{color:#5c6970}.map-kpi-occupied{border-left-color:#2f9e44}.map-kpi-available{border-left-color:#1971c2}.map-kpi-overdue{border-left-color:#c92a2a}.map-controls{margin-bottom:18px}.map-search-label{display:block;font-weight:700;margin-bottom:7px}.map-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.map-search-row input{width:100%;padding:13px;border:1px solid #9eabb3;border-radius:8px;font:inherit;font-size:1.05rem}.map-filter-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.map-filter{background:#e9eef1;color:#21353f;border:1px solid #c4ced4;padding:9px 12px}.map-filter span{display:inline-block;margin-left:5px;padding:1px 6px;border-radius:99px;background:#fff;color:#45545c}.map-filter.active{background:#176b87;color:#fff;border-color:#176b87}.map-filter.active span{color:#176b87}.map-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:14px;padding-top:13px;border-top:1px solid #e0e5e8;color:#52616b;font-size:.88rem}.map-legend span{display:flex;align-items:center;gap:6px}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#adb5bd}.legend-available{background:#1971c2}.legend-current{background:#2f9e44}.legend-due{background:#f2c037}.legend-late5{background:#f08c00}.legend-late14{background:#c92a2a}.map-result-count{margin-top:11px;font-weight:700;color:#40515a}.lot-map-sections{display:grid;gap:22px}.lot-section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:9px}.lot-section-heading h2{margin:0}.section-count{color:#65747c;font-weight:700}.visual-lot-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}.lot-space{position:relative;display:flex;flex-direction:column;gap:8px;min-height:175px;text-decoration:none;color:inherit;border-left:8px solid #adb5bd;transition:transform .12s ease,box-shadow .12s ease}.lot-space[href]:hover{transform:translateY(-2px);box-shadow:0 7px 17px #00000016}.lot-space[hidden],.lot-section[hidden]{display:none!important}.lot-space-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.lot-space-top strong{font-size:1.5rem;color:#15394a}.lot-customer-name{font-size:1.05rem;font-weight:700}.lot-space small{color:#63727a;min-height:1.2em}.lot-space-meta{display:grid;gap:4px;margin-top:auto;padding-top:8px;border-top:1px solid #e2e7ea;font-size:.82rem;color:#52616b}.assign-space-button{margin-top:auto;text-align:center}.space-available{border-left-color:#1971c2;background:#f4faff}.space-current{border-left-color:#2f9e44;background:#f6fff7}.space-due{border-left-color:#f2c037;background:#fffdf3}.space-late5{border-left-color:#f08c00;background:#fff8ef}.space-late14,.space-late30{border-left-color:#c92a2a;background:#fff5f5}.space-unknown{border-left-color:#868e96}.status-pill.status-available{background:#dbeeff;color:#135a91}.empty-map-state{text-align:center}
@media(max-width:900px){.space-map-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lot-map-header{align-items:stretch;flex-direction:column}.add-space-form{display:grid}.visual-lot-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr))}}
@media(max-width:560px){.space-map-kpis{grid-template-columns:1fr 1fr}.map-search-row{grid-template-columns:1fr}.map-search-row button{width:100%}.map-filter{flex:1 1 42%}.visual-lot-grid{grid-template-columns:1fr}.lot-space{min-height:155px}}
.actions form{display:inline-block;margin:0}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
/* MM003 Fix2 — interactive space conflict resolver */
.conflict-intro{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:16px}.conflict-intro h2,.conflict-heading h2{margin:0 0 5px}.conflict-intro p{margin:0;color:#5f6d75}.conflict-total{display:grid;text-align:center;min-width:145px;padding:12px;border-radius:9px;background:#fff4e6;border-left:6px solid #f08c00}.conflict-total strong{font-size:2rem;color:#9c4d00}.conflict-total span{font-weight:700;color:#70400e}.conflict-form{display:grid;gap:16px}.conflict-group{padding:20px}.conflict-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.conflict-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#a14d00}.resolve-later{display:flex;align-items:center;gap:7px;font-weight:700;background:#f1f3f5;border-radius:8px;padding:9px 12px}.conflict-customers{display:grid;gap:10px;margin-top:14px}.conflict-customer{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(210px,1fr) auto;gap:12px;align-items:center;border:2px solid #d8dfe3;border-radius:10px;padding:12px;background:#fff}.conflict-customer.selected-keeper{border-color:#2f9e44;background:#f1fff4}.keep-customer{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;cursor:pointer}.keep-customer span{display:grid;gap:3px}.keep-customer small{color:#617078}.keep-customer b{font-size:.78rem;color:#237735;background:#d3f9d8;padding:4px 8px;border-radius:99px}.new-space-label{display:grid;gap:5px;font-size:.82rem;font-weight:700;color:#45545c}.new-space-label input{width:100%;padding:10px;border:1px solid #aab6bd;border-radius:7px;font:inherit}.new-space-label.disabled{opacity:.38}.customer-link{font-weight:700;color:#176b87;white-space:nowrap}.sticky-conflict-actions{position:sticky;bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:13px;background:#ffffffee;border:1px solid #dbe1e4;border-radius:10px;box-shadow:0 -5px 15px #0000000d}.conflict-complete{text-align:center}.conflict-dashboard-alert{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;border-left:7px solid #f08c00;background:#fff8ef}.conflict-dashboard-alert h2{margin:0 0 5px}.conflict-dashboard-alert p{margin:0;color:#5f6d75}
@media(max-width:850px){.conflict-intro,.conflict-dashboard-alert{align-items:stretch;flex-direction:column}.conflict-total{width:100%}.conflict-customer{grid-template-columns:1fr}.customer-link{white-space:normal}.sticky-conflict-actions{display:grid}.sticky-conflict-actions .button,.sticky-conflict-actions button{text-align:center;width:100%}}
/* MM003 Fix3 — Customer Record workspace */
.customer-command-center{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:22px;margin-bottom:18px;border-top:6px solid #176b87}.customer-command-main{display:grid;gap:18px}.customer-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.customer-title-row h2{font-size:2rem;margin:3px 0 0;color:#15394a}.eyebrow{font-size:.78rem;letter-spacing:.08em;font-weight:700;color:#65727a}.customer-headline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.customer-headline-grid>div{background:#f4f7f8;border:1px solid #dbe2e6;border-radius:8px;padding:12px;display:grid;gap:4px}.customer-headline-grid small{font-weight:700;color:#65727a}.customer-headline-grid strong{font-size:1.08rem}.customer-headline-grid span{font-size:.82rem;color:#65727a}.customer-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-content:start}.customer-action-grid .button{text-align:center}.action-primary{grid-column:1/-1;font-size:1.05rem}.customer-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.record-panel h2{margin-top:0}.record-list{margin:0;display:grid}.record-list>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #e5eaed}.record-list>div:last-child{border-bottom:0}.record-list dt{font-weight:700;color:#65727a}.record-list dd{margin:0}.edit-customer-panel{margin-bottom:18px}.internal-notes-card,.payment-history-card{margin-top:18px}.note-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:15px 0}.note-form textarea{min-height:85px;padding:11px;border:1px solid #aeb9c0;border-radius:7px;font:inherit}.note-log{display:grid;gap:10px}.note-log article{background:#f5f8f9;border-left:5px solid #176b87;border-radius:7px;padding:12px;display:grid;gap:5px}.note-log small{color:#65727a}.compact-table table{min-width:720px}.payment-history-card .tablewrap{margin-top:15px}
@media(max-width:900px){.customer-command-center{grid-template-columns:1fr}.customer-headline-grid{grid-template-columns:1fr 1fr}.customer-overview-grid{grid-template-columns:1fr}.customer-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.customer-title-row{flex-direction:column}.customer-headline-grid,.customer-action-grid{grid-template-columns:1fr}.action-primary{grid-column:auto}.record-list>div{grid-template-columns:1fr;gap:3px}.note-form{grid-template-columns:1fr}.customer-title-row h2{font-size:1.65rem}}
.payment-customer-picker input{width:100%;font-size:1.15rem;padding:14px;margin:8px 0 14px}.payment-customer-results{display:grid;gap:8px}.payment-customer-results a{display:flex;justify-content:space-between;gap:16px;padding:13px;border:1px solid #d8dfe3;border-radius:8px;text-decoration:none;color:inherit}.payment-customer-results a:hover{border-color:#15394a;background:#f5f9fb}.payment-customer-results small{display:block;color:#65727a;margin-top:3px}.payment-presets button.selected{outline:3px solid #15394a;background:#e7f2f6}.payment-presets button small{display:block;font-size:.72rem;margin-top:3px}.payment-save{font-size:1.1rem;padding:14px}.error-notice{border-left:5px solid #a62c2c;background:#fff0f0}.payment-preview{font-size:1.05rem;line-height:1.6;background:#f5f9fb;border:1px solid #cbdbe2;border-radius:8px;padding:14px}
@media(max-width:650px){.payment-customer-results a{display:block}.payment-form{display:block}.payment-form label,.payment-form .wide{display:block;margin-bottom:14px}.payment-presets{grid-template-columns:1fr 1fr}.payment-presets button{min-height:76px}.payment-save{width:100%}}
/* MM003-Fix5 payment coverage and late-fee controls */
.payment-presets{grid-template-columns:repeat(5,minmax(0,1fr))}.late-fee-panel{border:1px solid #d8dfe3;border-radius:8px;padding:13px;background:#fffaf0;display:grid;gap:8px}.late-fee-panel p{margin:0}.checkbox-line{display:flex!important;align-items:center;gap:8px}.checkbox-line input{width:auto}.payment-form input[readonly]{background:#eef2f4}.payment-preview strong{color:#173b4a}@media(max-width:850px){.payment-presets{grid-template-columns:1fr 1fr}}@media(max-width:520px){.payment-presets{grid-template-columns:1fr}.late-fee-panel{margin-bottom:14px}}

.payment-void{opacity:.72;background:#fff1f1}.payment-void td{text-decoration:none}.danger-button{background:#a51d1d;color:#fff;border:0;border-radius:6px;padding:12px 18px;font-weight:700;cursor:pointer}.danger-button:hover{background:#7e1515}
/* MM003-Fix7 */
#tbl thead th[data-sort]{cursor:pointer;user-select:none;white-space:nowrap}
#tbl thead th[data-sort]:hover,#tbl thead th[data-sort]:focus{background:#eef4f7;outline:2px solid rgba(19,96,119,.22);outline-offset:-2px}
.sort-indicator{display:inline-block;min-width:1em;font-size:.8em}
.admin-actions{display:grid;gap:.75rem;min-width:260px;padding:1rem 0}
.admin-actions form{margin:0}
details summary{cursor:pointer;list-style:none;display:inline-block}
details summary::-webkit-details-marker{display:none}
@media(max-width:700px){.admin-actions{min-width:0}.tablewrap table{min-width:760px}}
.button.danger,.danger{background:#a61b1b;color:#fff;border-color:#a61b1b}.button.danger:hover{background:#861515}.former-customer-banner{margin-top:1rem;padding:1rem;border-radius:.75rem;background:#f3f4f6;border:1px solid #d1d5db;display:flex;gap:.4rem;flex-direction:column}.former-customer-banner strong{font-size:1.05rem}.former-customer-banner .balance-due{font-weight:800;color:#a61b1b}.status-pill.status-gone{background:#4b5563;color:#fff}.moveout-card{max-width:900px}.moveout-summary{margin:1rem 0}.moveout-form fieldset{border:1px solid #d1d5db;border-radius:.7rem;padding:1rem}.choice-row{display:flex!important;align-items:center;gap:.6rem}.choice-row input{width:auto!important}.inline-check{display:flex;align-items:center;gap:.4rem}.inline-check input{width:auto}.actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
/* MM004 Piece2 — vacancy management */
.vacancy-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:6px solid #1971c2}.vacancy-header h2{margin:0 0 5px}.vacancy-header p{margin:0;color:#63727a}.vacancy-total{min-width:130px;text-align:center;background:#eef7ff;border-radius:9px;padding:12px;display:grid}.vacancy-total strong{font-size:2rem;color:#135a91}.vacancy-total span{font-weight:700}.vacancy-controls{display:grid;gap:12px}.vacancy-controls>label{font-weight:800}.vacancy-filter,.vacancy-sort{background:#edf2f4;color:#183b4a;border:1px solid #cfd9de;border-radius:99px;padding:9px 13px;font-weight:700;cursor:pointer}.vacancy-filter.active,.vacancy-sort.active{background:#176b87;color:#fff;border-color:#176b87}.vacancy-sort-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vacancy-sort-row>span{font-weight:800}.vacancy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.vacancy-card{display:grid;gap:12px;border-left:7px solid #1971c2}.vacancy-card[hidden]{display:none}.vacancy-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.vacancy-card-top>strong{font-size:1.45rem;color:#15394a}.vacancy-card dl{margin:0;display:grid;gap:7px}.vacancy-card dl>div{display:grid;grid-template-columns:72px 1fr;gap:8px}.vacancy-card dt{font-weight:700;color:#68757c}.vacancy-card dd{margin:0}.vacancy-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.vacancy-actions .button{text-align:center}.space-detail-card{max-width:850px}.assign-vacancy-card{max-width:1000px}.assign-space-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.assign-space-heading h2{font-size:2rem;margin:4px 0}.assign-choice-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.assign-choice-grid h3{margin-top:0}.assign-choice-grid select{width:100%;min-height:260px;padding:8px}.new-customer-choice{border-left:1px solid #d9e0e4;padding-left:22px}.new-customer-choice .button{display:block;text-align:center;margin-top:20px}
@media(max-width:800px){.vacancy-header{align-items:stretch;flex-direction:column}.vacancy-total{width:100%}.assign-choice-grid{grid-template-columns:1fr}.new-customer-choice{border-left:0;border-top:1px solid #d9e0e4;padding:20px 0 0}.vacancy-actions{grid-template-columns:1fr}}
.space-admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.space-admin-add{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;align-items:end}.table-wrap{overflow-x:auto}.sortable-table{width:100%;border-collapse:collapse}.sortable-table th,.sortable-table td{padding:.7rem;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}.table-sort{border:0;background:transparent;color:inherit;padding:0;font:inherit;font-weight:700;cursor:pointer}.table-sort.active{text-decoration:underline}.table-actions{white-space:nowrap}.danger-zone{border-color:#b42318}.danger{background:#b42318;color:#fff;border-color:#b42318}

/* MM004 Piece4 — physical spaces and asset stickers */
.lot-map-header{align-items:flex-start}.lot-map-header>div{min-width:260px}.add-space-form{align-items:center;flex-wrap:wrap}.asset-sticker{font-weight:800;color:#176b87}.customer-headline-grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1000px){.customer-headline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.lot-map-header{display:block}.add-space-form{margin-top:14px}.add-space-form>*{width:100%}.customer-headline-grid{grid-template-columns:1fr}}

.compact-location-section{margin-bottom:18px}.compact-location-table{width:100%;border-collapse:collapse}.compact-location-table th,.compact-location-table td{padding:9px 10px;border-bottom:1px solid #dbe4e8;text-align:left;vertical-align:top}.compact-location-table th{background:#eef4f5;position:sticky;top:0}.compact-location-table tr:hover{background:#f7fbfb}.compact-location-table td:first-child{white-space:nowrap;width:110px}.compact-location-table td:nth-child(2){white-space:nowrap;width:100px}@media(max-width:700px){.compact-location-table{font-size:13px}.compact-location-table th,.compact-location-table td{padding:7px 6px}.compact-location-table th:nth-child(4),.compact-location-table td:nth-child(4){display:none}}

/* MM005 — login/autofill and Universal Search width improvements */
.login-card{max-width:520px;margin-inline:auto}.login-button{min-height:48px;font-size:1.05rem}.remember-line{font-weight:600}.remember-line input{width:auto!important}.password-field{display:flex;align-items:stretch;width:100%}.password-field input{flex:1;min-width:0;border-radius:7px 0 0 7px}.password-toggle{min-width:74px;border:1px solid #aeb9c0;border-left:0;border-radius:0 7px 7px 0;background:#eef3f5;color:#15394a;font-weight:800;cursor:pointer}.password-toggle:hover,.password-toggle:focus{background:#dde9ed;outline:2px solid rgba(23,107,135,.25);outline-offset:-2px}
#tbl{table-layout:fixed;width:100%;min-width:980px}#tbl th:nth-child(1){width:9%}#tbl th:nth-child(2){width:8%}#tbl th:nth-child(3){width:17%}#tbl th:nth-child(4){width:20%}#tbl th:nth-child(5){width:13%}#tbl th:nth-child(6){width:8%}#tbl th:nth-child(7){width:11%}#tbl th:nth-child(8){width:9%}#tbl th:nth-child(9){width:13%}.stored-item-cell{min-width:0}.stored-item-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}#tbl td:last-child{white-space:nowrap}
@media(max-width:700px){#tbl{min-width:940px}.password-toggle{min-width:68px}}

/* MM006-Fix2 Backup Manager */
.backup-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.backup-summary{display:grid;gap:7px}.backup-summary span{color:#65727a;font-weight:700}.backup-summary strong{font-size:1.15rem}.notice .button{margin-left:12px}@media(max-width:1000px){.backup-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.backup-summary-grid{grid-template-columns:1fr}.notice .button{display:block;margin:10px 0 0}}

/* MM007 Piece2 — customer My Account dashboard */
.portal-banner{display:grid;gap:5px;border-radius:10px;padding:17px 19px;margin-bottom:16px;border:1px solid transparent}.portal-banner strong{font-size:1.22rem}.portal-banner-current{background:#eafbea;border-color:#8bd39a;color:#155c27}.portal-banner-grace{background:#fff8db;border-color:#e8c857;color:#6b5200}.portal-banner-past-due,.portal-banner-former-due{background:#fff0f0;border-color:#e49595;color:#8a1717}.portal-banner-unknown{background:#eef2f4;border-color:#bac6cc}.portal-banner-former-clear{background:#edf7ff;border-color:#9dc8e8;color:#155684}.portal-welcome{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.portal-welcome h2{margin:2px 0 0;font-size:1.75rem}.portal-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;color:#667;margin:0}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-section h2{margin-top:0}.portal-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.portal-details>div{padding:12px 0;border-bottom:1px solid #e3e9ec}.portal-details>div:nth-child(odd){padding-right:16px}.portal-details dt{font-size:.82rem;font-weight:800;color:#65727a;margin-bottom:4px}.portal-details dd{margin:0;font-weight:800;font-size:1.06rem;overflow-wrap:anywhere}.portal-details .portal-full,.portal-details .portal-total{grid-column:1/-1;padding-right:0}.portal-total{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-total dd{font-size:1.45rem;color:#15394a}.portal-disclaimer{margin-top:13px!important}.portal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-actions .button{text-align:center;display:flex;align-items:center;justify-content:center;min-height:48px}.portal-disabled{background:#d8e0e4!important;color:#68757c!important;cursor:not-allowed}
@media(max-width:760px){.portal-grid{grid-template-columns:1fr}.portal-welcome{align-items:flex-start;flex-direction:column}.portal-details{grid-template-columns:1fr}.portal-details>div:nth-child(odd){padding-right:0}.portal-actions{grid-template-columns:1fr}.portal-banner{padding:15px}.portal-total{align-items:flex-start;flex-direction:column}}

/* MM007 Piece3 — customer payment history and secure receipts */
.portal-payment-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.portal-payment-head>div{display:grid;gap:4px}.portal-payment-head span,.portal-label{font-size:.8rem;font-weight:800;color:#65727a}.portal-payment-head strong{font-size:1.18rem}.portal-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.portal-section-heading h2,.portal-section-heading p{margin-top:0}.portal-payment-list{display:grid;gap:11px}.portal-payment-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid #dce5e9;border-radius:9px;padding:13px}.portal-payment-card.is-void{opacity:.72;background:#f3f4f6}.portal-payment-main{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:13px}.portal-payment-main>div{display:grid;gap:4px}.portal-payment-action{min-width:120px;text-align:right}.customer-receipt{max-width:850px;margin-inline:auto}.receipt-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:2px solid #15394a;padding-bottom:14px}.receipt-top h2{margin:2px 0 0;font-size:1.8rem}.receipt-number{display:grid;text-align:right}.receipt-number span{font-size:.8rem;font-weight:800;color:#65727a}.receipt-number strong{font-size:1.1rem}.receipt-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:18px 0}.receipt-details>div{padding:11px 0;border-bottom:1px solid #e1e7ea}.receipt-details>div:nth-child(odd){padding-right:18px}.receipt-details dt{font-size:.8rem;font-weight:800;color:#65727a;margin-bottom:3px}.receipt-details dd{margin:0;font-weight:750}.receipt-details .receipt-full,.receipt-details .receipt-total{grid-column:1/-1;padding-right:0}.receipt-total{display:flex;justify-content:space-between;align-items:center;font-size:1.18rem}.receipt-total dd{font-size:1.45rem}.receipt-alert{margin-top:14px;padding:10px;text-align:center;background:#8a1717;color:#fff;font-weight:900;letter-spacing:.08em}.receipt-alert.corrected{background:#946200}.receipt-actions{display:flex;gap:10px;flex-wrap:wrap}.receipt-void{border-color:#b42318}
@media(max-width:760px){.portal-payment-head{grid-template-columns:1fr}.portal-section-heading{display:block}.portal-payment-card{grid-template-columns:1fr}.portal-payment-main{grid-template-columns:1fr 1fr}.portal-payment-action{text-align:left}.receipt-top{display:block}.receipt-number{text-align:left;margin-top:12px}.receipt-details{grid-template-columns:1fr}.receipt-details>div:nth-child(odd){padding-right:0}}
@media print{body{background:#fff}.no-print,header,main>h1{display:none!important}main{max-width:none;padding:0}.customer-receipt{box-shadow:none;border:0;max-width:none}.customer-receipt.card{padding:0}}

/* MMRent003 — public customer choices and rental requests */
.customer-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:950px;margin:0 auto}.customer-choice-card{display:flex;flex-direction:column;gap:12px;min-height:260px}.customer-choice-card h2,.new-customer-login-card h2{margin:0}.customer-choice-card p,.new-customer-login-card p{margin:0;line-height:1.5}.choice-button{display:flex;align-items:center;justify-content:center;text-align:center;min-height:54px;margin-top:auto;font-size:1.05rem}.new-customer-card,.new-customer-login-card{border-top:6px solid #176b87}.customer-choice-contact{text-align:center;margin:18px 0}.customer-login-layout{display:grid;grid-template-columns:minmax(0,520px) minmax(260px,380px);gap:18px;justify-content:center;align-items:start}.customer-login-layout .login-card{width:100%;margin:0}.new-customer-login-card{display:flex;flex-direction:column;gap:13px}.rental-request-form{margin-inline:auto}.rental-request-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.request-success{max-width:760px;margin-inline:auto}.rental-request-admin-list{display:grid;gap:14px;margin-top:14px}.rental-request-admin-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.rental-request-admin-head>div{display:grid;gap:4px}.rental-request-admin-head strong{font-size:1.25rem}.rental-request-admin-head small{color:#65727a}.rental-request-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:14px 0}.rental-request-details>div{padding:10px 12px 10px 0;border-bottom:1px solid #e4e8eb}.rental-request-details dt{font-size:.8rem;font-weight:800;color:#65727a}.rental-request-details dd{margin:4px 0 0;overflow-wrap:anywhere}.rental-request-details .rental-request-full{grid-column:1/-1}.rental-request-status-form{display:flex;gap:10px;align-items:end}.rental-request-status-form label{display:grid;gap:5px;font-weight:700;min-width:180px}.rental-request-status-form select{padding:10px}
@media(max-width:760px){.customer-choice-grid,.customer-login-layout,.rental-request-two,.rental-request-details{grid-template-columns:1fr}.customer-choice-card{min-height:0}.rental-request-status-form{align-items:stretch;flex-direction:column}.rental-request-status-form label{min-width:0}}
