/* Consistent wide rows, warm visible frames, and compact touch-friendly actions. */
:root{--line:#d9d0bd;--frame:14px}
.card,.rent-panel,.property-project,.task-card,.match-card,.panel,.dashboard-division,.home-brokerage{border:1px solid #cfc3ac;box-shadow:0 2px 5px #51452b06}
.btn.outline,.btn.light,.link-btn,.iconbutton{border-color:#cbbb9c}
.btn.outline:hover,.link-btn:hover{border-color:#95815b;background:#f6f0e1}
.toolbar,.unit-toolbar,.task-filters,.workflow-filters,.tabs{border-color:#d1c5af}
.grid,.grid:has(>.finance-card),.project-units .grid,.task-grid{grid-template-columns:minmax(0,1fr);gap:11px}
.record-row{display:grid;grid-template-columns:86px minmax(0,1fr) minmax(150px,190px);gap:14px;padding:16px;align-items:center;overflow:hidden}
.record-row:hover{border-color:#9c8964;box-shadow:0 3px 12px #54472a0c}
.record-row .record-cover{width:86px;height:88px;border:1px solid #dfd4bb;border-radius:11px;align-self:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden;position:relative}
.record-cover svg.ico{width:30px;height:30px}.record-cover .cover-label{position:static;font-size:13px;background:none;padding:0;z-index:1}
.record-cover:has(.property-cover-image) .cover-label,.record-cover:has(.property-cover-image)>svg{visibility:hidden}
.record-info,.record-side{min-width:0}.record-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.record-badges:empty{display:none}
.record-row h3{margin:4px 0 6px;font-size:18px;line-height:1.7}.record-row h3 button{line-height:1.7;text-align:start}
.record-row .card-meta{margin:0;gap:5px 14px;font-size:14px;line-height:1.9}
.record-row .card-meta>span{background:none;border:0;border-radius:0;padding:0;display:inline-flex;gap:5px;align-items:center;overflow-wrap:anywhere}
.record-row .card-meta .ico{width:15px;height:15px;color:#968361}
.record-info>p{margin:4px 0;font-size:13px}.record-info .hold-badge{margin:6px 0 0;padding:5px 8px;font-size:13px}
.record-badges .request-rating{margin:0;font-size:14px}.record-side{display:flex;flex-direction:column;align-items:stretch;gap:9px;border-inline-start:1px solid var(--line);padding-inline-start:14px}
.record-price{display:flex;flex-direction:column;gap:0}.record-price>small{font-size:13px;color:var(--muted)}.record-row .price{font-size:22px;line-height:1.5;display:block;overflow-wrap:anywhere}.record-row .price small{font-size:13px;display:inline-block}
.record-actions{display:flex;flex-wrap:wrap;gap:6px}.record-actions .btn,.record-actions .link-btn{min-height:38px;font-size:13px;padding:6px 10px;flex:1;white-space:nowrap}.record-actions [data-hold]{flex-basis:100%;font-size:13px}.record-actions .ico{width:15px;height:15px}
.record-finance{grid-column:2/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid var(--line);padding-top:10px;min-width:0}
.record-finance>p{margin:0!important;font-size:13px;align-self:center}.record-finance .payment-card-totals{margin:0;padding:8px;gap:6px}.record-finance .payment-card-totals strong{font-size:18px}.record-finance .brokerage-total{margin:0;padding:9px 12px;grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 18px}.record-finance .receipt-button{justify-self:start;min-height:40px}
.record-row.finance-card .card-dues{margin:0!important;border-color:#d6cab4}.card-dues h4{padding:7px 10px}.card-dues-scroll{max-height:270px}
.card-due-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;padding:9px 10px}.card-due-item>div{margin:0;gap:6px;flex-wrap:wrap;font-size:13px}.card-due-item>div:first-child{grid-column:1}.card-due-item>p{grid-column:1;margin:0;line-height:1.8}.card-due-item>.card-due-actions{grid-column:2;grid-row:1/3;align-self:center;display:flex;flex-wrap:wrap;max-width:165px;justify-content:flex-end}.card-dues .card-due-actions .btn{min-height:38px;padding:5px 8px;font-size:13px;flex:none}
.rent-columns{grid-template-columns:minmax(0,1fr);gap:14px}.rent-panel>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:14px 18px;border-bottom-color:#d8ccb6;background:#f9f6ef}.rent-heading{grid-column:1;grid-row:1;gap:8px}.rent-panel h3{font-size:17px}.rent-panel header p{grid-column:1;grid-row:2;margin:3px 0 0;font-size:13px}.rent-total{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:0}.rent-total>span{font-size:13px}.rent-total strong{font-size:24px;line-height:1.5}.rent-symbol{width:27px;height:27px}.rent-count{font-size:13px}
.rent-payment-list{padding:0}.rent-payment{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.7fr) auto;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid #e1d7c6}.rent-payment:nth-child(even){background:#fdfbf7}.rent-payment-heading{gap:7px;flex-wrap:nowrap}.rent-unit-icon{display:none}.rent-payment-heading>div{flex-basis:auto}.rent-payment h4{font-size:15px;line-height:1.8}.rent-payment-heading p{font-size:13px;margin:2px 0 0}.rent-payment-heading>.badge{font-size:13px;margin:0;align-self:center}.rent-payment-facts{padding:0;margin:0;background:none;border:0;gap:12px;justify-content:space-around}.rent-payment-facts dt{font-size:13px}.rent-payment-facts dd{font-size:13px;margin:0}.rent-payment .rent-amount strong{font-size:20px}.rent-payment-actions{gap:6px}.rent-payment-actions>.btn{min-height:40px;font-size:13px;padding:7px 10px}.rent-payment-actions .btn.outline{flex:initial}.rent-payment-actions .receipt-button{flex:initial}.rent-payment-actions .ico{width:16px;height:16px}.rent-empty{min-height:85px;padding:16px;display:flex;align-items:center;justify-content:center;gap:10px}.rent-empty p{margin:0}.rent-empty .ico{width:22px;height:22px;padding:5px}
.property-project-summary{padding:14px;gap:14px}.project-cover{width:88px;height:80px;border:1px solid #ddd0b6}.project-summary-text h3{font-size:20px;margin:2px 0}.project-summary-text p{margin:2px 0;font-size:13px}.project-toggle{border-color:#c4b18f}.project-units{padding:13px;background:#f6f1e6;border-top-color:#cfc0a3}
.task-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:6px 20px;padding:15px;border-inline-start:3px solid #9e83b4}.task-card>.row,.task-card>h3,.task-card>p{grid-column:1;margin:0}.task-card h3 .link-btn{font-size:18px}.task-card .task-description{font-size:13px;line-height:1.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.task-card dl{grid-column:2;grid-row:1/5;margin:0;padding:8px 12px;align-self:center;gap:5px 14px}.task-card footer{grid-column:1/-1;padding-top:9px;margin-top:3px;justify-content:flex-end}.task-card footer .link-btn,.task-card footer .btn{min-height:38px}
.match-card{padding:15px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.match-card h3,.match-card p{margin:0;font-size:15px}.match-card .reasons{flex:1;min-width:150px;margin:0}.match-card .match-score{font-size:22px}
@media(max-width:1100px){.rent-payment{grid-template-columns:minmax(0,1fr) auto;gap:7px 14px}.rent-payment-heading{grid-column:1;grid-row:1}.rent-payment-facts{grid-column:1;grid-row:2;justify-content:flex-start;gap:22px;align-items:baseline}.rent-payment-facts>div{display:flex;align-items:baseline;gap:6px}.rent-payment-actions{grid-column:2;grid-row:1/3}.record-row{grid-template-columns:74px minmax(0,1fr) 155px;gap:12px;padding:14px}.record-row .record-cover{width:74px;height:80px}.record-finance{grid-column:1/-1}.card-due-item>.card-due-actions{max-width:90px}.task-card{grid-template-columns:minmax(0,1fr) minmax(230px,1fr)}}
@media(max-width:600px){.record-row{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:12px}.record-row .record-cover{width:58px;height:67px;border-radius:9px}.record-cover svg.ico{width:25px;height:25px}.record-cover .cover-label{font-size:13px}.record-row h3{font-size:16px;margin:3px 0 5px}.record-row .card-meta{font-size:13px;gap:3px 10px}.record-row .card-meta .ico{width:13px;height:13px}.record-badges{gap:4px}.record-badges .badge{font-size:13px;padding:2px 6px}.record-side{grid-column:1/-1;border-inline-start:0;border-top:1px solid #e2d7c4;padding:9px 0 0;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.record-row .price{font-size:20px}.record-price{flex:1;min-width:0}.record-price>small{font-size:13px}.record-actions{justify-content:flex-end;flex-shrink:0;max-width:63%;gap:5px}.record-actions .btn,.record-actions .link-btn{min-height:42px;font-size:13px;padding:6px 9px;flex:initial}.record-actions [data-hold]{flex-basis:auto;font-size:13px;min-height:36px}.record-actions:has([data-hold]){max-width:57%}.record-finance{grid-template-columns:minmax(0,1fr);gap:9px;padding-top:9px}.record-finance .payment-card-totals{padding:7px}.record-finance .brokerage-total{display:flex;flex-direction:column;align-items:flex-start;gap:0}.card-due-item>.card-due-actions{max-width:150px;gap:5px}.card-dues .card-due-actions .btn{min-height:40px;padding:5px 7px}.rent-panel>header{padding:12px;gap:5px 8px}.rent-heading{gap:5px}.rent-panel h3{font-size:15px}.rent-symbol{display:none}.rent-count{font-size:13px;padding:1px 5px}.rent-total strong{font-size:21px}.rent-total>span{font-size:13px}.rent-panel header p{font-size:13px}.rent-payment{grid-template-columns:minmax(0,1fr);gap:7px;padding:11px 12px}.rent-payment-heading{grid-row:1;grid-column:1;gap:6px}.rent-payment-heading>div{flex-basis:auto}.rent-payment h4{font-size:14px}.rent-payment-heading p{font-size:13px}.rent-payment-heading>.badge{margin:0;font-size:13px;flex-shrink:0}.rent-payment-facts{grid-row:2;grid-column:1;gap:8px;justify-content:space-between}.rent-payment-facts>div{gap:5px}.rent-payment-facts dt{font-size:13px}.rent-payment-facts dd{font-size:13px}.rent-payment .rent-amount strong{font-size:20px}.rent-payment-actions{grid-column:1;grid-row:3;justify-content:flex-end;gap:6px}.rent-payment-actions>.btn{min-height:42px;padding:6px 11px;font-size:13px}.rent-payment-actions .receipt-button,.rent-payment-actions .btn.outline{flex:0 1 auto}.rent-payment-actions .ico{width:15px;height:15px}.rent-empty{min-height:75px;font-size:13px}.property-project-summary{padding:12px;gap:11px}.project-cover{width:65px;height:66px}.project-summary-text h3{font-size:17px}.project-toggle{font-size:13px;min-height:39px;padding:6px 10px}.project-units{padding:9px}.project-units-heading{gap:6px}.task-card{grid-template-columns:minmax(0,1fr);padding:12px;gap:7px}.task-card>.row,.task-card>h3,.task-card>p,.task-card dl,.task-card footer{grid-column:1;grid-row:auto}.task-card dl{padding:7px 10px}.task-card h3 .link-btn{font-size:16px}.task-card footer{justify-content:flex-start;gap:5px}.task-card footer .link-btn,.task-card footer .btn{min-height:42px;font-size:13px;padding:6px 8px}.match-card{padding:12px;gap:7px 12px}.match-card .reasons{flex-basis:100%}.match-card .btn{min-height:42px;font-size:13px}.panel,.home-brokerage{padding:13px}}
/* A dedicated touch handle keeps scrolling and record actions available. */
.unit-order-handle{touch-action:none;cursor:grab;flex:none;min-width:44px;min-height:44px;border:1px solid var(--border,#ddd);border-radius:10px;background:var(--surface,#fff);color:inherit;font-size:26px;line-height:1;align-self:center;margin-inline-end:8px;user-select:none}
.unit-order-handle:active{cursor:grabbing}.unit-order-handle:focus-visible{outline:3px solid #ad7828;outline-offset:2px}.order-dragging{outline:2px solid #ad7828;opacity:.7}.order-saving .unit-order-handle{pointer-events:none;opacity:.45}td>.unit-order-handle{vertical-align:middle}

.home-tasks{margin:14px 0;padding:12px 14px;border-top:3px solid var(--green)}.home-tasks>header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.home-tasks h2{display:flex;align-items:center;gap:7px;margin:0;font-size:18px;color:var(--green)}.home-tasks header p{margin:2px 0 0}.home-task-rows{margin-top:9px}.home-task-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,160px) 130px auto;gap:8px 14px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:14px}.home-task-title{min-width:0;justify-self:start;text-align:start;overflow-wrap:anywhere}.home-task-assignee{min-width:0;overflow-wrap:anywhere;color:var(--muted)}.home-task-date{white-space:nowrap}.home-task-date.is-overdue{color:var(--red)}.home-tasks-empty{margin:9px 0 0}
@media(max-width:600px){.home-task-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:8px 0}.home-task-title{grid-column:1;grid-row:1}.home-task-row>.badge{grid-column:2;grid-row:1}.home-task-assignee{grid-column:1;grid-row:2;font-size:13px}.home-task-date{grid-column:2;grid-row:2;font-size:13px}.home-tasks>header .row{gap:6px}.home-tasks>header .btn,.home-tasks>header .link-btn{min-height:40px;font-size:13px}.home-tasks{padding:12px}}

.unit-number{display:inline-flex;align-items:center;max-width:100%;padding:3px 8px;border:1px solid #d6c7a8;border-radius:6px;background:#f7f2e7;color:#65502b;font-size:13px;line-height:1.6;font-weight:700;overflow-wrap:anywhere}.table-wrap td>.unit-number{display:flex;width:fit-content;margin-top:4px}.rent-payment-heading .unit-number{margin-top:4px}.card-due-item>.unit-number{margin:3px 0 6px}

.linked-contracts{margin:12px 0;padding:10px 12px;border:1px solid #d8cbb1;border-radius:9px;background:#faf7ef}.linked-contracts h3{margin:0 0 8px;font-size:16px}.linked-contracts .btn{white-space:normal;overflow-wrap:anywhere;text-align:start}.linked-contracts .row{flex-wrap:wrap}

.payment-identity{min-width:0;width:100%}.record-row .payment-project,.rent-payment .payment-project,.card-due-item .payment-project{margin:0 0 6px;padding:0;font-size:17px;line-height:1.7}.payment-project .link-btn{font-size:inherit;font-weight:700;text-align:start;overflow-wrap:anywhere}.payment-unit-status{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 5px}.payment-tenant,.payment-installment{margin:3px 0!important;line-height:1.7;overflow-wrap:anywhere}.payment-tenant{font-weight:600;color:var(--ink)}.payment-installment{font-size:13px;color:var(--muted)}.rent-payment-heading>.payment-identity{flex:1;min-width:0}.card-due-item .payment-project{font-size:14px}.card-due-item .payment-identity{padding-bottom:5px}.card-due-item .payment-unit-status .badge{font-size:12px}.card-due-item .payment-tenant{font-size:13px}
.card-due-item>.payment-identity{display:block;grid-column:1;min-width:0}.card-due-item>.payment-identity+div{grid-column:1}.card-due-item .payment-project{display:block;border:0;background:none}

.lease-groups{display:grid;gap:20px}.lease-group{min-width:0}.lease-group-heading{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding:9px 12px;background:#eee8da;border:1px solid #cbbc9f;border-inline-start:4px solid #8b7449;border-radius:8px;color:var(--ink)}.lease-group-heading h3{margin:0;flex:1;font-size:16px;overflow-wrap:anywhere}.lease-group-heading>span{font-size:13px;color:var(--muted);white-space:nowrap}.lease-group-heading .ico{width:19px;height:19px;flex:none}.lease-group .grid{gap:7px}
.lease-project-badge{background:#eee8da;color:#65502b;border:1px solid #d6c7a8;border-radius:6px;overflow-wrap:anywhere}
.record-row[data-record-module="leases"]{grid-template-columns:46px minmax(0,1fr) 160px;gap:7px 10px;padding:10px 12px}.record-row[data-record-module="leases"] .record-cover{width:46px;height:54px;gap:2px;border-radius:7px}.record-row[data-record-module="leases"] .record-cover .ico{width:22px;height:22px}.record-row[data-record-module="leases"] .record-cover .cover-label{font-size:12px}.record-row[data-record-module="leases"] .record-badges{gap:5px}.record-row[data-record-module="leases"] .record-badges>*{font-size:13px;font-weight:600;line-height:1.6;padding:2px 7px}.record-row[data-record-module="leases"] h3{margin:2px 0;font-size:16px}.record-row[data-record-module="leases"] .card-meta{font-size:13px;line-height:1.7;gap:3px 10px}.record-row[data-record-module="leases"] .record-finance{grid-column:1/-1;gap:5px;padding-top:6px}.record-row[data-record-module="leases"] .record-side{gap:5px;padding-inline-start:10px}
@media(max-width:600px){.record-row[data-record-module="leases"]{grid-template-columns:40px minmax(0,1fr);padding:9px 10px;gap:6px 8px}.record-row[data-record-module="leases"] .record-cover{width:40px;height:48px}.record-row[data-record-module="leases"] .record-side{padding:6px 0 0}.lease-group-heading{padding:8px 10px}.lease-group-heading h3{font-size:15px}}

/* Compact overview cards while keeping their information order and touch targets. */
.rent-overview .payment-project .link-btn{padding:0;border:0;border-radius:0;background:none;min-height:0;line-height:inherit}
.rent-overview .rent-payment{padding:8px 12px;gap:5px 12px}.rent-overview .payment-project{margin:0 0 2px;font-size:16px;line-height:1.45}.rent-overview .payment-unit-status{margin:0 0 2px;gap:5px}.rent-overview .payment-tenant,.rent-overview .payment-installment{margin:1px 0!important;line-height:1.45}.rent-overview .rent-payment-heading .unit-number{margin-top:0;padding:2px 7px}.rent-overview .rent-payment-facts{gap:10px}.rent-overview .rent-payment-actions{gap:5px}
.home-brokerage .grid{gap:7px}.home-brokerage .record-row{grid-template-columns:46px minmax(0,1fr) 160px;padding:10px 12px;gap:7px 10px}.home-brokerage .record-cover{width:46px;height:54px;gap:2px;border-radius:7px}.home-brokerage .record-cover svg.ico{width:22px;height:22px}.home-brokerage .record-cover .cover-label{font-size:12px}.home-brokerage .record-row h3{margin:2px 0;font-size:16px}.home-brokerage .record-row .card-meta{gap:3px 10px;font-size:13px;line-height:1.7}.home-brokerage .record-info>p{margin:2px 0}.home-brokerage .record-side{gap:5px;padding-inline-start:10px}.home-brokerage .record-finance{grid-column:1/-1;gap:5px;padding-top:6px}.home-brokerage .record-finance .brokerage-total{padding:5px 8px}.home-tasks .home-task-rows{margin-top:5px}.home-tasks .home-task-row{padding-block:6px;row-gap:3px}
@media(max-width:600px){.rent-overview .rent-payment{padding:8px 10px;gap:4px}.rent-overview .payment-project{font-size:15px}.rent-overview .rent-payment-facts{gap:6px}.rent-overview .rent-payment-facts>div{gap:4px}.home-brokerage .record-row{grid-template-columns:40px minmax(0,1fr);padding:9px 10px;gap:6px 8px}.home-brokerage .record-cover{width:40px;height:48px}.home-brokerage .record-side{padding:6px 0 0}}
