@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#17243b;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.hidden{display:none!important}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:#edf2f8}.auth-card{width:min(960px,100%);min-height:540px;background:white;display:grid;grid-template-columns:1.02fr 1fr;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px #152d4c20}.auth-art{padding:54px;background:radial-gradient(circle at 85% 20%,#38547d,#101e38 55%,#0a1429);color:white;display:flex;flex-direction:column}.mark{display:grid;place-items:center;background:#d9b474;color:#13223a;font:800 22px Manrope;border-radius:13px;width:52px;height:52px;margin-bottom:50px}.mark.small{width:38px;height:38px;font-size:16px;margin:0}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:800;color:#d7b57a}.auth-art h1{font:800 clamp(30px,4vw,47px)/1.17 Manrope;margin:19px 0}.auth-art p{color:#d5dfed}.art-foot{margin-top:auto;color:#99a8bd;letter-spacing:1.5px;font-size:10px}.auth-form{padding:60px 56px;display:flex;flex-direction:column;justify-content:center;gap:16px}.auth-form h2{font:800 28px Manrope;margin:0}.auth-form p{color:#78869b;margin:0 0 15px}.auth-form label{font-weight:700;font-size:13px;display:grid;gap:8px}.auth-form input{height:47px;border:1px solid #dce3ec;border-radius:10px;padding:0 13px;outline:none}.auth-form input:focus,.search:focus{border-color:#5677aa}.primary{background:#132c50;color:white;border:0;border-radius:10px;padding:13px 17px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.primary:hover{background:#244a7d}.pill{width:max-content;border-radius:30px;background:#f3f5f9;color:#6b7b94;font-size:10px;letter-spacing:1px;padding:8px 12px;font-weight:800}.hint{font-size:12px;color:#8793a4}.error{font-size:13px;color:#bc3b48;min-height:16px}.shell{min-height:100vh;display:flex}aside{width:256px;background:#111f37;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:100vh;position:sticky;top:0}.side-top{display:flex;align-items:center;gap:12px;padding:23px 20px 21px;border-bottom:1px solid #ffffff14}.side-top strong{display:block;font:800 15px Manrope}.side-top small{display:block;font-size:9px;color:#91a2bd;letter-spacing:1.2px;margin-top:5px}.side-scroll{overflow-y:auto;padding:17px 10px;flex:1}.nav-group{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#6e84a4;padding:21px 15px 9px}.nav-btn{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;background:transparent;color:#bdcbe0;border:0;border-radius:9px;text-align:left;font-size:13px;font-weight:600}.nav-btn:hover{background:#1e304d;color:#fff}.nav-btn.active{background:#293e5f;color:#fff;box-shadow:inset 3px 0 #e5be7d}.nav-icon{font-size:17px;width:21px;text-align:center}.side-footer{border-top:1px solid #ffffff18;padding:16px;display:flex;align-items:center;gap:9px}.avatar,.top-avatar{height:36px;width:36px;display:grid;place-items:center;border-radius:11px;background:#d6b578;color:#132039;font-weight:800;font-size:12px}.user-meta{flex:1;min-width:0}.user-meta strong,.user-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta strong{font-size:12px}.user-meta small{font-size:10px;color:#8fa4c0;margin-top:3px}.icon-btn{border:0;background:transparent;color:inherit;font-size:20px;padding:8px}.main{min-width:0;flex:1}.topbar{height:72px;background:#fff;border-bottom:1px solid #e8edf4;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.crumb{font-size:11px;color:#8998ac;letter-spacing:1px;font-weight:800}.crumb span{margin:0 12px;color:#b4c0d0}.crumb b{color:#30415b}.top-right{display:flex;align-items:center;gap:22px}.live{font-size:11px;font-weight:800;color:#687d96}.live i{display:inline-block;width:7px;height:7px;background:#3dbb8a;border-radius:50%;margin-right:5px}.top-avatar{width:33px;height:33px}.content{padding:32px 36px 70px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:25px}.page-head h1{font:800 clamp(23px,3vw,31px) Manrope;margin:5px 0 8px;letter-spacing:-1px}.page-head p{margin:0;color:#8491a4;font-size:13px}.overline{font-size:10px;letter-spacing:2px;color:#bd9562;font-weight:800}.date-pill{background:white;border:1px solid #e5eaf1;border-radius:10px;padding:11px 15px;color:#73849c;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.stat,.panel{background:white;border:1px solid #e8edf4;border-radius:15px;box-shadow:0 3px 12px #1a355005}.stat{padding:21px}.stat .label{font-size:12px;color:#7f8da2;font-weight:700}.stat strong{display:block;font:800 29px Manrope;margin:15px 0 9px}.stat small{color:#91a0b4;font-size:11px}.stat .symbol{float:right;background:#f2f5fa;padding:9px;border-radius:10px}.panel{padding:23px}.grid-two{display:grid;grid-template-columns:1.3fr 1fr;gap:19px}.panel h3{font:800 16px Manrope;margin:0 0 8px}.panel p{font-size:12px;color:#8a98a9}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{background:white;border:1px solid #e7edf5;border-radius:13px;padding:20px;text-align:left;min-height:122px}.module-card:hover{border-color:#a9bfdc;box-shadow:0 8px 24px #112d5110}.module-card .big-icon{font-size:24px}.module-card strong{display:block;font-size:13px;margin-top:13px}.module-card small{display:block;font-size:11px;color:#91a0b1;margin-top:5px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0}.search{height:42px;border:1px solid #dfe6f0;border-radius:10px;padding:0 13px;min-width:240px;outline:none;background:white}.secondary{border:1px solid #dfe6ef;background:white;border-radius:10px;padding:11px 15px;font-size:12px;font-weight:800;color:#39516f}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;color:#7d8da2;font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:15px 12px;border-bottom:1px solid #e7ecf3;white-space:nowrap}.data-table td{padding:15px 12px;border-bottom:1px solid #f0f2f6;color:#3d4e67;white-space:nowrap;max-width:230px;overflow:hidden;text-overflow:ellipsis}.data-table tr:hover td{background:#fafcff}.empty{padding:36px;text-align:center;color:#8292a8;font-size:13px}.notice{border:1px solid #e9e3d5;background:#fffcf6;color:#806c49;border-radius:11px;padding:14px 17px;font-size:12px;line-height:1.7;margin-bottom:18px}.tag{background:#eef4ff;color:#365c8c;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800}.footer-note{font-size:11px;color:#9aa7b8;margin-top:18px}.mobile-menu{display:none}#toast{position:fixed;right:20px;bottom:20px;z-index:50;background:#142944;color:white;border-radius:10px;padding:13px 17px;font-size:13px;box-shadow:0 12px 30px #0002;display:none}#toast.show{display:block}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){aside{position:fixed;z-index:10;transform:translateX(-100%);transition:.2s}aside.open{transform:translateX(0)}.mobile-menu{display:block}.content{padding:24px 16px}.topbar{padding:0 16px}.grid-two{grid-template-columns:1fr}.auth-card{grid-template-columns:1fr}.auth-art{min-height:240px;padding:25px}.auth-art .mark{margin-bottom:12px}.auth-art h1{font-size:27px}.auth-form{padding:32px}.page-head{flex-direction:column}}@media(max-width:500px){.stats,.module-grid{grid-template-columns:1fr}.search{width:100%;min-width:0}}


.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 22px}.feature-card{background:#fff;border:1px solid #e4eaf3;border-radius:13px;text-align:left;padding:18px;min-height:125px;transition:.15s}.feature-card:hover{border-color:#b5c8e0;transform:translateY(-2px);box-shadow:0 8px 22px #112d5110}.feature-card strong{display:block;font-size:13px;line-height:1.4;margin:13px 0 8px}.feature-card small{color:#8a9ab0;font-size:11px}.feature-top,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.feature-icon{font-size:22px;color:#304e77}.state{font-size:9px;letter-spacing:.8px;font-weight:800;color:#2b7a69;background:#eaf7f2;padding:6px 8px;border-radius:20px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:18px;align-items:start}.workspace-grid>div{display:grid;gap:17px}.feature-aside{position:static;width:auto;height:auto;background:#fff;color:#263852;border:1px solid #e8edf4;border-radius:14px;padding:20px;display:block}.feature-aside h3{font-size:14px}.feature-aside p{font-size:12px;color:#8491a4;line-height:1.6}.feature-aside hr{border:0;border-top:1px solid #e8edf4;margin:17px 0}.checkrow{font-size:12px;margin:13px 0;color:#23806a}.checkrow.pending{color:#9b8d77}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.form-field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#42546c}.form-field.wide{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea,.filter-grid input,.filter-grid select{border:1px solid #dfe6f0;border-radius:9px;background:white;padding:11px 12px;min-width:0;width:100%;color:#344760;font:inherit;font-size:12px}.form-field textarea{min-height:95px;resize:vertical}.form-actions{grid-column:1/-1;display:flex;gap:10px}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0}.action-row,.mini-grid{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.directory{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:16px}.directory-row{display:flex;justify-content:space-between;align-items:center;border:1px solid #e8edf4;background:#fff;border-radius:10px;padding:13px;text-align:left;gap:10px}.directory-row strong{font-size:12px}.directory-row span{font-size:11px;color:#8294ac}.stat-button{text-align:left;cursor:pointer}.stat-button:hover{border-color:#9bb8dc}.panel{margin-bottom:16px}@media(max-width:1050px){.feature-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.feature-grid,.form-grid,.filter-grid,.directory{grid-template-columns:1fr}.form-field.wide,.form-actions{grid-column:1}.form-actions{flex-wrap:wrap}}

/* Integrated Lead Management screen */
.lead-head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.lead-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.lead-summary>div{background:#fff;border:1px solid #e3e9f2;border-radius:12px;padding:18px}.lead-summary span{display:block;font-size:12px;color:#8492a7}.lead-summary strong{display:block;font-size:26px;color:#17365d;margin-top:9px}.lead-filter-panel,.lead-table-panel{margin-bottom:18px}.lead-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.lead-field{display:flex;flex-direction:column;gap:7px;min-width:0}.lead-field span{font-size:11px;font-weight:700;color:#465874}.lead-field input,.lead-field select{width:100%;min-width:0;border:1px solid #dce4f0;background:#fff;border-radius:9px;padding:11px;color:#34435a;font-size:12px}.lead-search{grid-column:span 2}.lead-filter-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lead-filter-note{color:#8291a5;font-size:11px}.lead-table-scroll{overflow-x:auto;margin-top:17px;border:1px solid #e8edf4;border-radius:10px}.lead-table{border-collapse:collapse;width:100%;min-width:1400px;text-align:left}.lead-table th{background:#f5f7fb;font-size:11px;color:#566a85;white-space:nowrap;padding:15px 12px;border-bottom:1px solid #e4eaf2}.lead-table td{padding:25px 12px;font-size:12px}.lead-empty{text-align:center;padding:50px 12px!important;color:#3e506b}.lead-empty strong{font-size:15px}.lead-empty p{font-size:12px;color:#91a0b2}.lead-table-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:16px;font-size:11px;color:#8291a5}.lead-table-footer>div{display:flex;align-items:center;gap:10px}@media(max-width:1100px){.lead-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.lead-filters,.lead-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-search{grid-column:span 2}.lead-table-footer{flex-wrap:wrap}} 

/* Unified module workspaces */
.module-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:19px}
.module-summary>div{background:#fff;border:1px solid #e5ebf3;border-radius:13px;padding:19px}
.module-summary span,.module-summary small{display:block;font-size:11px;color:#8290a6}
.module-summary strong{display:block;font-size:27px;color:#17365d;margin:9px 0}
.module-tabs{display:flex;gap:4px;border-bottom:1px solid #e6ebf3;overflow-x:auto}
.module-tab{background:transparent;border:0;padding:13px 16px;color:#65758e;font-size:12px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}
.module-tab.active{color:#183b69;border-bottom-color:#d2ad6f}
.module-filter{display:grid;grid-template-columns:minmax(180px,2fr) 1fr 1fr auto auto;gap:9px;align-items:center;padding:18px 0}
.module-filter .search{min-width:0;width:100%}
.module-filter input,.module-filter select{height:42px;border:1px solid #dfe6f0;border-radius:9px;padding:0 10px;background:#fff;color:#455873;min-width:0}
.module-actions{border-top:1px solid #e9edf4;margin-top:14px;padding-top:19px}
.module-actions>span{display:block;font-size:12px;font-weight:800;margin-bottom:12px}
.module-actions>div,.quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}
.feature-accordion summary{cursor:pointer;color:#315a87;font-size:13px;font-weight:700;padding:12px 0}
.function-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.function-list button{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid #e9eef4;border-radius:8px;text-align:left;padding:11px;font-size:11px;color:#40516a}
.function-list button:hover{border-color:#a8bfd8}
@media(max-width:1150px){.module-filter{grid-template-columns:repeat(3,1fr)}.module-filter .search{grid-column:span 3}}
@media(max-width:650px){.module-summary{grid-template-columns:repeat(2,1fr)}.module-filter{grid-template-columns:repeat(2,1fr)}.module-filter .search{grid-column:span 2}.function-list{grid-template-columns:1fr}}

/* Professional CRM redesign — reference-led dashboard */
.dash-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:23px}
.dash-heading h1{font-size:28px;letter-spacing:-1px;margin:6px 0 5px;color:#142b48}
.dash-heading p{margin:0;color:#8492a5;font-size:12px}
.dash-kicker{font-size:10px;letter-spacing:2px;font-weight:800;color:#b58a52}
.dash-head-buttons,.dash-periods{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dash-datebar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.period-btn{border:1px solid #e4e9f0;background:#fff;color:#60748e;padding:10px 15px;border-radius:22px;font-size:11px;font-weight:750}
.period-btn.selected{background:#17345c;color:white;border-color:#17345c}
.dash-live{font-size:11px;color:#8191a6}
.dash-top-grid{display:grid;grid-template-columns:255px minmax(0,1fr);gap:17px;margin-bottom:18px}
.hero-total{position:relative;overflow:hidden;text-align:left;border:0;border-radius:17px;background:linear-gradient(140deg,#17365e,#10233e);padding:27px 25px;color:#fff;min-height:280px}
.hero-total .hero-eyebrow{display:block;letter-spacing:1.8px;font-size:10px;font-weight:800;color:#e0bf81}
.hero-total strong{display:block;font-size:65px;margin:24px 0 0;line-height:1.1}
.hero-total>span:nth-of-type(2){display:block;font-size:12px;color:#c2d0e2}
.hero-total .hero-cta{display:block;margin-top:37px;font-size:12px;color:#e0bf81;font-weight:800}
.hero-decor{position:absolute;width:210px;height:210px;border:1px solid #ffffff20;border-radius:50%;right:-105px;top:-95px}
.dash-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.status-tile{background:#fff;border:1px solid #e5eaf2;border-radius:13px;text-align:left;padding:17px;min-width:0;transition:.15s}
.status-tile:hover{border-color:var(--accent);transform:translateY(-2px)}
.status-mark{display:block;width:26px;height:4px;background:var(--accent);border-radius:5px}
.status-tile strong{display:block;font-size:28px;margin:13px 0 2px;color:#183552}
.status-tile>span:nth-of-type(2){display:block;font-size:11px;font-weight:800;color:#334d6b}
.status-tile small{display:block;margin-top:11px;color:#8e9bb0;font-size:10px}
.dash-content-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:17px;margin-bottom:2px}
.dash-chart,.dash-activity{min-height:285px}
.chart-bars{margin:25px 0 12px;display:grid;gap:19px}
.chart-row{display:grid;grid-template-columns:85px 1fr 20px;align-items:center;gap:10px;font-size:11px;color:#586a83}
.bar-track{height:10px;border-radius:10px;background:#edf2f8;overflow:hidden}
.bar-fill{height:100%;background:#d6ac70;border-radius:10px}
.chart-foot{font-size:11px;color:#97a4b5;margin-top:21px}
.today-label{font-size:11px;color:#8090a5}
.priority-list{display:grid;gap:4px;margin-top:13px}
.priority-row{display:flex;align-items:center;gap:13px;width:100%;border:0;background:#fff;text-align:left;border-bottom:1px solid #edf0f5;padding:13px 2px;font-size:12px;color:#304a6b}
.priority-row:hover{background:#f9fafc}
.priority-row>span:nth-child(2){flex:1}
.priority-icon{width:32px;height:32px;display:grid;place-items:center;background:#f0f4f9;border-radius:9px;color:#1c4979;font-size:16px}
.priority-row strong{font-size:16px}
.dash-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:27px}
.dash-metrics>div{padding:17px 9px;background:#f7f9fc;border-radius:10px;text-align:center}
.dash-metrics strong{display:block;font-size:23px;color:#1b385b}
.dash-metrics span{display:block;font-size:10px;color:#7b8aa1;margin-top:7px}
.dash-quick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
.dash-quick button{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f7f9fc;border:1px solid #e8edf4;border-radius:10px;padding:17px 13px;font-size:11px;color:#24476e;font-weight:800}
.dash-quick button:hover{border-color:#d1ab74}
.preview-footnote{font-size:11px;color:#94a1b3;margin:14px 0 30px}
@media(max-width:1150px){.dash-top-grid{grid-template-columns:1fr}.hero-total{min-height:190px}.dash-status-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.dash-content-grid{grid-template-columns:1fr}.dash-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:580px){.dash-status-grid{grid-template-columns:repeat(2,1fr)}.dash-datebar{align-items:flex-start;flex-direction:column}.dash-metrics{grid-template-columns:repeat(2,1fr)}.dash-quick{grid-template-columns:1fr}}

.dash-viewbar{display:flex;gap:9px;flex-wrap:wrap;margin:-4px 0 20px;padding:6px;background:#eaf0f7;border-radius:12px;width:max-content;max-width:100%}.dash-view-btn{padding:11px 18px;border:0;background:transparent;color:#536d8b;border-radius:9px;font-size:12px;font-weight:800}.dash-view-btn.selected{background:#fff;color:#143b69;box-shadow:0 2px 8px #1a355017}@media(max-width:560px){.dash-viewbar{width:100%}.dash-view-btn{flex:1;padding:10px 8px}}

/* KPI counts now vary by dashboard role */
.dash-top-grid{grid-template-columns:255px minmax(0,1fr)}
.dash-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.hero-total{min-height:280px;align-self:stretch}
@media(max-width:1100px){.dash-top-grid{grid-template-columns:1fr}}
@media(max-width:620px){.dash-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Heavens Estates - Login Logo Size Fix */
.auth-art img {
  display: block !important;
  width: 180px !important;
  max-width: 100% !important;
  height: 120px !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin-bottom: 20px !important;
}

/* Mobile push permission panel: stay ABOVE the five-button bottom navigation. */
@media (max-width: 767px) {
  #crmPushDevicePanel {
    position: fixed !important;
    bottom: calc(94px + env(safe-area-inset-bottom, 0px)) !important;
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    z-index: 10010 !important;
    width: auto !important;
    max-width: 420px !important;
    max-height: calc(100dvh - 125px - env(safe-area-inset-bottom, 0px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }
}
