.portal-app .dash-sidebar{border-radius:12px}.portal-app .sidebar-nav a{display:flex;align-items:center;gap:.6rem;padding:.65rem .8rem;border-radius:8px;color:#334155;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease;min-height:40px}.portal-app .sidebar-nav a:hover{background:var(--p-primary-bg);color:var(--p-primary)}.portal-app .sidebar-nav a.active{background:var(--p-primary);color:#fff;font-weight:600;box-shadow:0 2px 6px rgba(79,70,229,.22)}.portal-app .sidebar-nav a.active svg{color:#fff}.portal-app .sidebar-nav .sidebar-badge{margin-left:auto;background:#fee2e2;color:#b91c1c;font-size:.7rem;font-weight:700;padding:.08rem .5rem;border-radius:10px}.portal-app .sidebar-nav a.active .sidebar-badge{background:#fff;color:var(--p-primary)}.portal-app .stat-card{border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.1rem;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}.portal-app .stat-label{font-size:.72rem;color:var(--p-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.portal-app .stat-value{font-size:1.6rem;font-weight:800;color:var(--p-text);line-height:1.1;margin-top:.35rem}.portal-app .data-table{width:100%;border-collapse:collapse;font-size:.88rem}.portal-app .data-table thead th{background:var(--p-bg);color:#475569;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:.7rem .85rem;border-bottom:1px solid #e5e7eb;text-align:left}.portal-app .data-table tbody td{padding:.85rem .85rem;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#1e293b}.portal-app .data-table tbody tr:hover td{background:#fafbff}.portal-app .badge-ls-active,.portal-app .badge-status-active{background:#d1fae5;color:#065f46;border:1px solid var(--p-success-border)}.portal-app .badge-ls-draft,.portal-app .badge-status-draft{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.portal-app .badge-ls-sold,.portal-app .badge-status-sold{background:var(--p-border);color:#334155;border:1px solid var(--p-border-hover)}.portal-app .badge-ls-rented,.portal-app .badge-status-rented{background:#dbeafe;color:#1e3a8a;border:1px solid #93c5fd}.portal-app .badge-ls-expired,.portal-app .badge-status-expired{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.portal-app .data-table .badge,.portal-app [class^="badge-ls-"],.portal-app [class^="badge-status-"]{display:inline-block;padding:.22rem .55rem;border-radius:6px;font-size:.73rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.portal-app .actions-cell{display:flex;gap:.4rem;flex-wrap:wrap}.portal-app .btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:34px;padding:.4rem .75rem;font-size:.8rem;font-weight:600;border-radius:6px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.portal-app .btn-sm.btn-edit,.portal-app a.btn-edit{background:var(--p-primary);color:#fff;border-color:var(--p-primary)}.portal-app .btn-sm.btn-edit:hover{background:var(--p-primary-mid);border-color:var(--p-primary-mid);color:#fff}.portal-app .btn-sm.btn-view,.portal-app a.btn-view{background:#fff;color:#334155;border-color:var(--p-border-hover)}.portal-app .btn-sm.btn-view:hover{background:#f1f5f9;border-color:#94a3b8}.portal-app .btn-sm.btn-delete{background:#fff;color:#b91c1c;border-color:var(--p-error-border)}.portal-app .btn-sm.btn-delete:hover{background:#fef2f2;border-color:#f87171}@media (min-width:721px) and (max-width:1023px){.portal-app .data-table th:nth-child(4),.portal-app .data-table td:nth-child(4),.portal-app .data-table th:nth-child(8),.portal-app .data-table td:nth-child(8){display:none}}@media (max-width:720px){.portal-app .table-wrap{overflow-x:visible}.portal-app .data-table .row-select-cell,.portal-app .data-table th:first-child:has(.row-select),.portal-app .data-table th.row-select-th{display:none}.portal-app .data-table,.portal-app .data-table thead,.portal-app .data-table tbody,.portal-app .data-table tr,.portal-app .data-table td{display:block;width:100%}.portal-app .data-table thead{display:none}.portal-app .data-table tbody tr{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:.8rem;padding:.8rem 1rem;box-shadow:0 1px 2px rgba(15,23,42,.04)}.portal-app .data-table tbody td{border-bottom:1px dashed #f1f5f9;padding:.5rem 0;display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.88rem}.portal-app .data-table tbody td:last-child{border-bottom:0}.portal-app .data-table tbody td::before{content:attr(data-label);color:var(--p-text-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.portal-app .actions-cell{justify-content:flex-end;width:100%}.portal-app .btn-sm{min-height:40px;flex:1 1 auto}}.portal-app .dash-filter-bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.75rem 0 1rem;border-bottom:1px solid #f1f5f9;margin-bottom:1rem}.portal-app .dash-filter-bar input,.portal-app .dash-filter-bar select{padding:.5rem .75rem;min-height:40px;font-size:.88rem;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;color:#1e293b;font-family:inherit}.portal-app .dash-filter-bar input:focus,.portal-app .dash-filter-bar select:focus{outline:none;border-color:var(--p-primary);box-shadow:0 0 0 3px rgba(79,70,229,.18)}.portal-app .dash-filter-bar input{flex:1 1 220px;min-width:180px}.portal-app .dash-filter-bar .pf-ss{flex:0 0 auto;width:auto}.portal-app .dash-filter-bar .pf-ss .pf-ss-trigger{min-width:170px;min-height:40px;padding:.5rem .75rem}.portal-app #dfbStatus + .pf-ss-trigger,.portal-app .dash-filter-bar .pf-ss:has(#dfbStatus) .pf-ss-trigger{min-width:160px}.portal-app .dash-filter-bar .pf-ss:has(#dfbType) .pf-ss-trigger{min-width:150px}.portal-app .dash-filter-bar .pf-ss:has(#dfbSort) .pf-ss-trigger{min-width:180px}@media (max-width:640px){.portal-app .dash-filter-bar .pf-ss{flex:1 1 calc(50% - .3rem)}.portal-app .dash-filter-bar .pf-ss .pf-ss-trigger{min-width:0;width:100%}}.portal-app .dash-filter-count{margin-left:auto;font-size:.82rem;color:var(--p-text-muted)}.portal-app .dash-filter-bar .dfb-count{margin-left:auto;font-size:.82rem;color:var(--p-text-muted)}.portal-app .dfb-clear{padding:.5rem 1.1rem;min-height:40px;font-size:.85rem;font-weight:600;border-radius:8px;background:#fff;color:var(--p-primary);border:1.5px solid var(--p-primary);cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.portal-app .dfb-clear:hover{background:var(--p-primary);color:#fff;box-shadow:0 4px 14px rgba(26,54,93,.28)}.portal-app .draft-card{background:var(--p-warning-bg);border:1.5px solid var(--p-warning-border);border-radius:10px;padding:1rem 1.1rem;position:relative}.portal-app .draft-card::before{content:'DRAFT';position:absolute;top:.8rem;right:.8rem;background:#f59e0b;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.15rem .45rem;border-radius:4px}.portal-app .draft-card-title{font-size:1rem;font-weight:700;color:var(--p-text);margin:0 0 .4rem;padding-right:3.5rem;line-height:1.3}.portal-app .draft-card-meta{display:flex;flex-wrap:wrap;gap:.35rem .8rem;font-size:.8rem;color:#78716c;margin-bottom:.8rem}.portal-app .draft-card-actions{display:flex;gap:.5rem;margin-top:.6rem}.portal-app .btn-draft-edit{background:#fff;color:var(--p-primary);border:1.5px solid var(--p-primary);padding:.5rem .95rem;border-radius:7px;font-size:.85rem;font-weight:600;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}.portal-app .btn-draft-edit:hover{background:var(--p-primary);color:#fff}.portal-app .btn-draft-publish{background:#10b981;color:#fff;border:0;padding:.5rem .95rem;border-radius:7px;font-size:.85rem;font-weight:700;cursor:pointer;min-height:40px}.portal-app .btn-draft-publish:hover{background:var(--p-success)}.portal-app .btn-draft-delete{background:#fff;color:#b91c1c;border:1.5px solid var(--p-error-border);padding:.5rem .75rem;border-radius:7px;font-weight:700;cursor:pointer;min-height:40px;margin-left:auto}.portal-app .btn-draft-delete:hover{background:#fee2e2}.dash-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:dashModalFade .15s ease-out}@keyframes dashModalFade{from{opacity:0}to{opacity:1}}.dash-modal{background:#fff;border-radius:14px;padding:1.5rem;max-width:440px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.25);animation:dashModalScale .15s ease-out}@keyframes dashModalScale{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.dash-modal-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;font-size:1.5rem}.dash-modal-icon.danger{background:#fee2e2;color:#b91c1c}.dash-modal-icon.info{background:var(--p-primary-bg);color:var(--p-primary)}.dash-modal-title{font-size:1.15rem;font-weight:700;color:var(--p-text);text-align:center;margin:0 0 .4rem}.dash-modal-body{font-size:.92rem;color:#475569;text-align:center;line-height:1.5;margin:0 0 1.25rem}.dash-modal-body strong{color:var(--p-text)}.dash-modal-actions{display:flex;gap:.6rem;justify-content:center}.dash-modal-actions button{min-height:44px;padding:.65rem 1.3rem;border-radius:8px;font-weight:700;font-size:.92rem;cursor:pointer;border:1px solid transparent;font-family:inherit;flex:1 1 auto}.dash-modal-cancel{background:#fff;color:#334155;border-color:var(--p-border-hover)}.dash-modal-cancel:hover{background:#f1f5f9}.dash-modal-confirm-danger{background:var(--p-error);color:#fff}.dash-modal-confirm-danger:hover{background:#b91c1c}.dash-modal-confirm-primary{background:var(--p-primary);color:#fff}.dash-modal-confirm-primary:hover{background:var(--p-primary-mid)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9998;display:flex;flex-direction:column;gap:.5rem;max-width:360px}.toast{padding:.85rem 1.05rem .85rem 1.2rem;border-radius:10px;font-size:.9rem;font-weight:500;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.15);border-left:4px solid rgba(255,255,255,.4);animation:toastSlide .2s ease-out;background:var(--p-text)}@keyframes toastSlide{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast-success{background:var(--p-success)}.toast-error{background:var(--p-error)}.toast-warning{background:#d97706}.toast-info{background:var(--p-primary)}@media (max-width:600px){.toast-container{left:1rem;right:1rem;max-width:none;top:auto;bottom:calc(76px + env(safe-area-inset-bottom,0))}.toast{width:100%}}.portal-app .pf-section{border-radius:12px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03);margin-bottom:1.1rem;overflow:hidden}.portal-app .pf-section-header{background:var(--p-bg);border-bottom:1px solid #e5e7eb;padding:.9rem 1.25rem}.portal-app .pf-section-title{font-size:.95rem;font-weight:700;color:var(--p-text);letter-spacing:-.01em}.portal-app .pf-section:focus-within{border-color:#c7d2fe;box-shadow:0 0 0 3px rgba(79,70,229,.08)}.portal-app .pf-label{font-size:.85rem;font-weight:600;color:#334155}.portal-app .pf-label .req{color:var(--p-error)}.portal-app .pf-error{color:var(--p-error);font-size:.78rem;margin-top:.25rem;font-weight:500}.portal-app .pf-save-row button,.portal-app .pf-form-actions button,.portal-app form button[type="submit"]{min-height:48px;font-weight:700}.portal-app .section-header{display:flex;align-items:baseline;justify-content:flex-start;gap:.65rem;margin-bottom:.75rem;flex-wrap:wrap}.portal-app .draft-card-grid>.draft-empty,.portal-app .draft-card-grid>.loading-row{grid-column:1/-1}.portal-app .section-title{font-size:1.2rem;font-weight:700;color:var(--p-text);margin:0}.portal-app .section-subtitle{font-size:.82rem;color:var(--p-text-muted)}.portal-app .empty-state,.portal-app .error-state,.portal-app .draft-empty{text-align:center;padding:2rem 1rem;color:#475569}.portal-app .empty-state svg{color:var(--p-border-hover);margin-bottom:.75rem}.portal-app .empty-state p,.portal-app .error-state p{margin:0 0 .75rem;font-size:.9rem}.portal-app .loading-row{color:var(--p-text-muted);font-size:.9rem;padding:1.5rem;text-align:center}.portal-app .btn-sm:focus-visible,.portal-app .sidebar-nav a:focus-visible,.dash-modal-actions button:focus-visible{outline:3px solid #818cf8;outline-offset:2px}@media (prefers-reduced-motion:reduce){.dash-modal-backdrop,.dash-modal,.toast{animation:none !important}}.portal-app .col-select,.portal-app .row-select-cell{width:36px;text-align:center;padding-left:.5rem;padding-right:.5rem}.portal-app .row-select,.portal-app #selectAllListings{width:16px;height:16px;accent-color:var(--p-primary);cursor:pointer;vertical-align:middle}.portal-app .dash-bulk-bar{display:none;align-items:center;gap:.6rem;padding:.6rem .9rem;margin:0 0 .75rem;background:var(--p-primary-bg);border:1px solid #c7d2fe;border-radius:10px;font-size:.9rem}.portal-app .dash-bulk-bar.has-selection{display:flex;flex-wrap:wrap}.portal-app .dbb-count{margin-right:auto;color:#3730a3}.portal-app .dbb-count strong{font-size:1rem}.portal-app .dbb-btn{min-height:36px;padding:.45rem .9rem;border-radius:8px;font-weight:600;font-size:.85rem;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.portal-app .dbb-btn:disabled{opacity:.6;cursor:not-allowed}.portal-app .dbb-btn-primary{background:#10b981;color:#fff}.portal-app .dbb-btn-primary:hover:not(:disabled){background:var(--p-success)}.portal-app .dbb-btn-danger{background:#fff;color:#b91c1c;border-color:var(--p-error-border)}.portal-app .dbb-btn-danger:hover:not(:disabled){background:#fee2e2}.portal-app .dbb-btn-ghost{background:transparent;color:#475569}.portal-app .dbb-btn-ghost:hover:not(:disabled){background:#fff}.portal-app .btn-spinner,.portal-app .is-loading .btn-spinner{display:inline-block;width:12px;height:12px;margin-right:.35rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:dashSpin .6s linear infinite;vertical-align:-2px}@keyframes dashSpin{to{transform:rotate(360deg)}}@media (max-width:768px){.portal-app .dash-filter-bar input,.portal-app .dash-filter-bar select,.dash-filter-bar input,.dash-filter-bar select{font-size:16px}.pf-error,.form-error,.pf-section-body .form-error{font-size:.82rem;line-height:1.45}}.portal-app .saved-search-item{display:flex;gap:1rem;padding:1rem;margin-bottom:.75rem;background:#fff;border:1px solid var(--p-border);border-radius:12px;align-items:flex-start;flex-wrap:wrap}.portal-app .saved-search-item .ss-info{flex:1 1 280px;min-width:0}.portal-app .saved-search-item .ss-label{font-weight:600;color:#1a365d;font-size:1rem;margin-bottom:.35rem}.portal-app .saved-search-item .ss-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.portal-app .ss-chip{background:#eff6ff;color:#1d4ed8;font-size:.75rem;padding:.2rem .55rem;border-radius:999px;font-weight:500;text-transform:capitalize}.portal-app .ss-chip-muted{background:#f1f5f9;color:var(--p-text-muted);font-style:italic}.portal-app .ss-meta{font-size:.82rem;color:#475569}.portal-app .saved-search-item .ss-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.portal-app .btn-active{background:#ecfdf5;border-color:#86efac;color:#065f46}@media (max-width:540px){.portal-app .saved-search-item{padding:.75rem}.portal-app .saved-search-item .ss-actions{width:100%}.portal-app .saved-search-item .ss-actions .btn-xs{flex:1;min-height:36px}}.portal-app button.stat-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;font-family:inherit;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.portal-app button.stat-card:hover{transform:translateY(-2px);border-color:var(--p-accent);box-shadow:0 6px 18px rgba(15,23,42,.10)}.portal-app button.stat-card:focus-visible{outline:2px solid var(--p-accent);outline-offset:2px}.portal-app button.stat-card:active{transform:translateY(0)}