body{background:#f6f8fb;color:#14263d;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.brand{background:#14263d;color:#fff}.card{border:1px solid #e2e8f0;border-radius:13px;box-shadow:0 2px 7px rgba(20,38,61,.035)}.stat{min-height:116px}.btn-primary,.progress-bar{background:#2779b8;border-color:#2779b8}.btn-primary:hover{background:#1d5f93;border-color:#1d5f93}.form-control,.form-select{border-radius:8px}.nav-pills .nav-link.active{background:#2779b8}.modal-content{border-radius:16px}header form{margin:0}header form .row{margin:0}header form .col-12{padding:0}

/* PropertyHub v0.7 premium dashboard; scoped to overview only */
body{background:#f3f5f9;color:#18283e}
.brand{background:linear-gradient(118deg,#111f34 0%,#1a3554 68%,#214665 100%)}
.ph-dashboard{--ph-navy:#172a42;--ph-blue:#2563eb;--ph-border:#e6ebf2;color:var(--ph-navy)}
.ph-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px;flex-wrap:wrap}
.ph-overline,.ph-panel-kicker{font-size:10px;font-weight:800;letter-spacing:.16em;color:#73849b}
.ph-overline-dot{color:#4d88eb;margin:0 5px}
.ph-welcome h1{font-size:clamp(24px,3vw,32px);font-weight:750;letter-spacing:-.045em;margin:8px 0 7px}
.ph-welcome p{color:#718096;margin:0;font-size:14px}
.ph-welcome-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ph-date{font-size:12px;color:#718096}
.ph-new-btn{background:#2563eb;color:white;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:650}
.ph-new-btn:hover{background:#1d4ed8;color:#fff}
.ph-metric{display:block;height:100%;padding:21px 22px;background:white;border:1px solid var(--ph-border);border-radius:15px;text-decoration:none;color:inherit;box-shadow:0 5px 24px rgba(24,44,72,.035);transition:transform .18s,box-shadow .18s}
.ph-metric:hover{transform:translateY(-2px);box-shadow:0 9px 26px rgba(24,44,72,.09);color:inherit}
.ph-metric-top{display:flex;align-items:center;justify-content:space-between;color:#697b91;font-size:12px;font-weight:650;gap:8px}
.ph-metric-icon{display:grid;place-items:center;background:#edf3ff;color:#2c63c4;border-radius:10px;width:34px;height:34px;font-size:19px}
.ph-metric-value{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.045em;font-weight:780;margin:12px 0 9px;white-space:nowrap}
.ph-metric-foot{font-size:11px;color:#8b98a8;display:flex;justify-content:space-between;gap:5px}
.ph-metric-foot span{color:#2563eb}
.ph-panel{background:white;border:1px solid var(--ph-border);border-radius:16px;overflow:hidden;box-shadow:0 5px 24px rgba(24,44,72,.03)}
.ph-panel-head{display:flex;justify-content:space-between;align-items:center;padding:23px 24px 18px;gap:10px}
.ph-panel-head h2{font-size:18px;letter-spacing:-.025em;font-weight:750;margin:5px 0 0}
.ph-subtle-link{font-size:12px;font-weight:650;color:#2563eb;text-decoration:none;white-space:nowrap}
.ph-subtle-link:hover{text-decoration:underline}
.ph-panel-body{padding:0 24px 22px}
.ph-task,.ph-match{display:flex;align-items:center;gap:14px;border-top:1px solid #eef1f5;padding:17px 0}
.ph-task-symbol{width:37px;height:37px;border-radius:10px;background:#ecfdf5;color:#149269;display:grid;place-items:center;flex-shrink:0}
.ph-task-info,.ph-match-info{min-width:0;flex:1}
.ph-task-info strong{font-size:13px}
.ph-task-meta,.ph-match-sub{font-size:11px;color:#8190a3;margin-top:4px}
.ph-tag{display:inline-block;padding:3px 7px;background:#f1f5fa;border-radius:5px;color:#64748b;text-transform:capitalize;margin-right:4px}
.ph-task form{flex-shrink:0}
.ph-done-btn{border:1px solid #cbd9e9;color:#325b86;font-weight:650;font-size:11px;border-radius:8px}
.ph-done-btn:hover{background:#e9f1fb}
.ph-count{font-size:11px;vertical-align:middle;background:#edf3ff;color:#2563eb;padding:4px 8px;border-radius:99px}
.ph-match{align-items:flex-start;flex-wrap:wrap}
.ph-match-title{font-weight:750;color:#172a42;text-decoration:none;font-size:14px}
.ph-match-title:hover{color:#2563eb}
.ph-match-client{font-size:12px;margin-top:8px}
.ph-match-reason{color:#2278a6;font-size:11px;font-weight:700;margin-top:5px}
.ph-match-actions{display:flex;gap:7px;flex-wrap:wrap}
.ph-match-actions .btn{font-size:11px;border-radius:8px}
.ph-empty{text-align:center;padding:28px 10px 34px;color:#73849b}
.ph-empty-symbol{width:46px;height:46px;border-radius:13px;background:#eef4ff;color:#3569cb;font-size:24px;display:grid;place-items:center;margin:0 auto 12px}
.ph-empty strong{display:block;color:#263b54;font-size:14px}
.ph-empty p{font-size:12px;max-width:310px;margin:7px auto 14px}
.ph-pipeline-total{display:flex;align-items:baseline;gap:12px;padding:4px 0 19px;border-bottom:1px solid #eef1f5;margin-bottom:19px}
.ph-pipeline-total strong{font-size:33px;letter-spacing:-.05em}
.ph-pipeline-total span{font-size:12px;color:#8491a1}
.ph-stage{margin-bottom:18px}
.ph-stage-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}
.ph-stage-label strong{color:#273c55}
.ph-track{height:7px;background:#edf1f7;border-radius:10px;overflow:hidden}
.ph-fill{height:100%;background:linear-gradient(90deg,#3d8cf3,#2459c8);border-radius:10px}
.ph-quick-links{padding:0 24px 18px}
.ph-quick-links a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#33475f;font-size:12px;font-weight:650;padding:12px 0;border-top:1px solid #eef1f5}
.ph-quick-links a span{display:grid;place-items:center;background:#f0f5ff;color:#2563eb;border-radius:8px;width:30px;height:30px;font-size:17px}
.ph-quick-links a b{margin-left:auto;color:#91a1b3}
.ph-quick-links a:hover{color:#2563eb}
@media(max-width:575px){.ph-panel-head,.ph-panel-body{padding-left:17px;padding-right:17px}.ph-metric{padding:16px}.ph-metric-value{font-size:22px}.ph-metric-foot{font-size:10px}.ph-date{display:none}}

/* v0.7.1 global navigation and property portfolio */
.ph-app-header{background:#14253b;color:#fff;box-shadow:0 2px 18px rgba(14,29,48,.08)}
.ph-header-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:92px}
.ph-app-logo{display:flex;align-items:center;gap:12px;color:white;text-decoration:none}
.ph-app-logo:hover{color:white}.ph-app-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#2d65cb;font-size:28px;line-height:1}
.ph-app-logo strong{display:block;font-size:21px;letter-spacing:-.045em;line-height:1.15}.ph-app-logo small{display:block;font-size:9px;letter-spacing:.14em;color:#aebed2;margin-top:6px}
.ph-header-right{display:flex;align-items:center;gap:14px}.ph-agency-label{color:#aabbd0;font-size:12px;border-right:1px solid #39506a;padding-right:16px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-header-add{background:#2d6be5;color:white;border-radius:9px;font-size:12px;font-weight:700;padding:9px 14px}.ph-header-add:hover{background:#2356bd;color:white}
.ph-user-pill{display:flex;align-items:center;gap:9px}.ph-user-avatar{display:grid;place-items:center;background:#365574;border:1px solid #53718f;border-radius:50%;width:34px;height:34px;font-size:13px;font-weight:750}.ph-user-details strong,.ph-user-details small{display:block;line-height:1.3}.ph-user-details strong{font-size:12px}.ph-user-details small{font-size:10px;color:#a9bed4}.ph-logout{color:#c2d0df;border:1px solid #425c78;font-size:11px;border-radius:8px;padding:8px 11px}.ph-logout:hover{color:#fff;border-color:#dce6f0}
.ph-app-nav{display:flex;align-items:center;gap:5px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.ph-nav-link{padding:14px 15px 13px;text-decoration:none;color:#b6c5d7;font-size:12px;font-weight:650;border-bottom:3px solid transparent;transition:color .15s}.ph-nav-link:hover{color:white}.ph-nav-link.active{color:white;border-color:#5b9aff;background:rgba(255,255,255,.045)}
.ph-listing-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:5px 0 24px;flex-wrap:wrap}.ph-listing-head h1{font-size:30px;letter-spacing:-.04em;font-weight:760;margin:7px 0}.ph-listing-head p{font-size:13px;color:#7b8a9d;margin:0}
.ph-listing-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap}.ph-listing-count{font-size:12px;color:#7b8a9d}.ph-listing-count strong{color:#1d3450}.ph-listing-count span{padding:0 8px}.ph-search-wrap{display:flex;align-items:center;gap:8px;background:white;border:1px solid #e1e7f0;border-radius:10px;padding:0 12px;width:min(100%,420px)}.ph-search-wrap span{font-size:23px;color:#7c91a9}.ph-search-wrap input{border:0;box-shadow:none!important;font-size:12px;padding:12px 0}
.ph-property-card{height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:15px;border:1px solid #e4eaf2;background:#fff;box-shadow:0 5px 22px rgba(20,40,70,.045);transition:transform .18s,box-shadow .18s}.ph-property-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,40,70,.1)}
.ph-property-photo{display:block;position:relative;height:215px;overflow:hidden;background:#edf3fa}.ph-property-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.ph-property-card:hover .ph-property-photo img{transform:scale(1.025)}
.ph-property-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#8193aa}.ph-property-placeholder span{font-size:48px;color:#c0ccda}.ph-property-placeholder small{font-size:11px}
.ph-property-type,.ph-property-status{position:absolute;top:13px;padding:6px 10px;border-radius:7px;font-size:10px;font-weight:750;box-shadow:0 2px 9px rgba(0,0,0,.08)}.ph-property-type{left:13px;background:#fff;color:#213b59}.ph-property-status{right:13px}.ph-property-status.is-available{background:#d9f7e8;color:#0c7449}.ph-property-status.is-unavailable{background:#fff2dc;color:#8d5a11}
.ph-property-content{padding:20px 20px 16px;flex:1}.ph-property-price{color:#2462c6;font-size:22px;font-weight:800;letter-spacing:-.04em;margin-bottom:7px}.ph-property-title{display:block;font-size:16px;font-weight:750;color:#1b304a;text-decoration:none;line-height:1.35}.ph-property-title:hover{color:#2563eb}.ph-property-location{color:#7d8da0;font-size:12px;margin-top:7px}.ph-property-facts{display:flex;gap:16px;padding:15px 0;margin-top:15px;border-top:1px solid #edf1f5;font-size:12px;color:#536981}.ph-property-agent{font-size:11px;color:#91a0b0}
.ph-property-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 20px;background:#fafcff;border-top:1px solid #edf1f5}.ph-property-actions a{font-size:11px;color:#5e7188;text-decoration:none;font-weight:700}.ph-property-actions a:hover{color:#2563eb}.ph-property-actions .ph-card-primary{color:#2462c6;margin-right:auto}
.ph-property-empty{background:white;border:1px dashed #cbd6e4;border-radius:15px;margin-top:20px}
@media(max-width:767px){.ph-header-top{padding:14px 0;min-height:75px}.ph-agency-label,.ph-user-details{display:none}.ph-header-right{gap:8px}.ph-header-add{padding:8px}.ph-logout{padding:7px}.ph-nav-link{padding:12px 11px}.ph-listing-head h1{font-size:26px}.ph-search-wrap{width:100%}}

/* v0.7.2 client and deals pages */
.ph-crm-page,.ph-deals-page{color:#172a42}
.ph-crm-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.ph-crm-summary>div,.ph-deal-stat{display:flex;flex-direction:column;gap:9px;padding:20px 23px;background:white;border:1px solid #e6ebf2;border-radius:14px;box-shadow:0 5px 24px rgba(24,44,72,.035)}
.ph-crm-summary span,.ph-deal-stat span{font-size:12px;font-weight:650;color:#77879b}
.ph-crm-summary strong,.ph-deal-stat strong{font-size:28px;letter-spacing:-.04em;color:#172a42}
.ph-deal-stat{height:100%}.ph-deal-stat small{font-size:11px;color:#8492a5}
.ph-client-card{background:#fff;border:1px solid #e6ebf2;border-radius:15px;padding:20px;height:100%;box-shadow:0 5px 24px rgba(24,44,72,.035)}
.ph-client-top{display:flex;align-items:center;gap:11px;min-width:0}
.ph-client-avatar{width:43px;height:43px;display:grid;place-items:center;flex-shrink:0;border-radius:12px;background:#eaf1ff;color:#245dc6;font-size:18px;font-weight:800}
.ph-client-identity{min-width:0;flex:1}.ph-client-identity a{font-size:15px;font-weight:750;color:#172a42;text-decoration:none}.ph-client-identity a:hover{color:#2563eb}
.ph-client-owner{font-size:11px;color:#8b98a8;margin-top:4px}.ph-client-kind{font-size:10px;font-weight:750;background:#eef4ff;color:#3269bb;padding:5px 8px;border-radius:99px}
.ph-client-budget{display:flex;flex-direction:column;gap:6px;background:#f5f8fc;padding:16px;border-radius:10px;margin:19px 0 14px}
.ph-client-budget span,.ph-share-label{font-size:10px;font-weight:800;letter-spacing:.12em;color:#8492a5}.ph-client-budget strong{font-size:23px;letter-spacing:-.035em}
.ph-client-detail{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding-bottom:12px;border-bottom:1px solid #eef1f5}.ph-client-detail span{color:#8b98a8}.ph-client-detail strong{text-align:right}
.ph-client-contact{font-size:12px;color:#5d6d81;min-height:49px;margin:13px 0;overflow-wrap:anywhere}.ph-client-contact>div{margin-bottom:5px}
.ph-client-archived{display:inline-block;background:#fff1ee;color:#a34d3d;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700}
.ph-client-actions{display:flex;gap:8px;padding:12px 0}.ph-client-actions .btn{font-size:12px;border-radius:8px}
.ph-client-share{border-top:1px solid #eef1f5;padding-top:13px}.ph-share-label{margin-bottom:9px}.ph-client-share .btn{border-radius:7px}
.ph-deals-caption{font-size:12px;color:#7d8ca0}.ph-deals-table-wrap{padding:0 23px 20px}.ph-deals-table{margin-bottom:0}
.ph-deals-table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#8492a5;background:#f6f8fc;border-bottom:0;padding:14px 13px;white-space:nowrap}
.ph-deals-table tbody td{font-size:12px;padding:18px 13px;border-color:#edf0f5}.ph-deals-table tbody td:first-child strong{font-size:13px}
.ph-table-sub{color:#8b98a8;font-size:11px;margin-top:5px}.ph-amount{font-weight:750;white-space:nowrap}
.ph-stage-pill{display:inline-block;font-size:11px;font-weight:750;border-radius:99px;padding:6px 10px;background:#edf4ff;color:#2b65bf}
.ph-stage-closed{background:#e7f7ee;color:#18805c}.ph-stage-lost{background:#fff0ee;color:#b65449}.ph-stage-offer,.ph-stage-negotiation{background:#fff6e5;color:#9d6b1b}.ph-stage-contract{background:#edeafe;color:#6955b3}
.ph-deals-table form{min-width:175px}.ph-deals-table .btn{border-radius:7px}
@media(max-width:575px){.ph-crm-summary{gap:8px}.ph-crm-summary>div{padding:13px}.ph-crm-summary span{font-size:10px}.ph-crm-summary strong{font-size:22px}.ph-deals-table-wrap{padding:0 10px 15px}}

/* Platform admin, deliberately separate from agency interface */
.ph-platform{background:#f2f5fa;color:#172a42;min-height:100vh}.ph-platform-head{background:linear-gradient(115deg,#14263d,#234665);color:#fff;padding:19px 0}.ph-platform-head strong{font-size:21px;display:block}.ph-platform-head small{font-size:11px;letter-spacing:.08em;color:#c2d1e1}.ph-platform-head form{margin:0}.ph-platform-card{background:white;border:1px solid #e4eaf2;border-radius:17px;padding:25px;box-shadow:0 8px 30px rgba(24,44,72,.04)}.ph-platform-agency{padding:18px 0;border-top:1px solid #edf1f6}.ph-platform-controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;align-items:start}.ph-platform-controls form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ph-platform-controls input{max-width:170px}.ph-platform .form-control{border-radius:9px}.ph-platform .btn{border-radius:9px}
