.role-onboarding{margin-bottom:18px;border-color:#d8e3ed;background:linear-gradient(180deg,#fbfcfd,#fff)}
.role-onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.role-onboarding-head h2{margin:.15rem 0 .3rem}.role-onboarding-head p:not(.eyebrow){margin:0;max-width:760px;color:var(--muted);font-size:.82rem}.role-onboarding-progress{min-width:90px;text-align:right}.role-onboarding-progress strong,.role-onboarding-progress span{display:block}.role-onboarding-progress strong{font-size:1.15rem;color:var(--accent)}.role-onboarding-progress span{font-size:.7rem;color:var(--muted);margin-top:2px}.role-onboarding-bar{height:6px;border-radius:999px;background:#edf2f6;overflow:hidden;margin-bottom:14px}.role-onboarding-bar span{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .2s ease}.role-onboarding-steps{display:grid;gap:7px}.role-onboarding-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.role-onboarding-step.next{border-color:#b9d0e5;background:#f7fafd}.role-onboarding-step.complete{background:#fafbfd}.role-onboarding-step-icon{width:32px;height:32px;border-radius:9px;background:#eef3f8;color:var(--muted);display:grid;place-items:center}.role-onboarding-step.next .role-onboarding-step-icon{background:var(--accent2);color:var(--accent)}.role-onboarding-step.complete .role-onboarding-step-icon{background:#e8f5ee;color:#23744e}.role-onboarding-step-icon svg{width:16px;height:16px}.role-onboarding-step-copy strong,.role-onboarding-step-copy span{display:block}.role-onboarding-step-copy strong{font-size:.8rem}.role-onboarding-step-copy span{font-size:.72rem;color:var(--muted);margin-top:2px}.role-onboarding-step .button{white-space:nowrap}
.guided-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:42px 20px;text-align:center}.guided-empty-icon{width:44px;height:44px;border-radius:12px;background:var(--accent2);color:var(--accent);display:grid;place-items:center}.guided-empty-icon svg{width:21px;height:21px}.guided-empty strong{font-size:.92rem}.guided-empty p{max-width:520px;margin:0;color:var(--muted);font-size:.78rem}.guided-empty-actions{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:5px}
@media(max-width:760px){.role-onboarding{display:none}.role-onboarding-head{align-items:flex-start}.role-onboarding-progress{min-width:72px}.role-onboarding-step{grid-template-columns:34px minmax(0,1fr)}.role-onboarding-step .button{grid-column:2;justify-self:start}.guided-empty{padding:30px 14px}}
@media(max-width:480px){.role-onboarding-head{flex-direction:column}.role-onboarding-progress{text-align:left;display:flex;align-items:baseline;gap:7px}.role-onboarding-progress strong,.role-onboarding-progress span{display:inline}.role-onboarding-step{padding:9px}}
@media(prefers-reduced-motion:reduce){.role-onboarding-bar span{transition:none}}

/* Compact mobile density pass. Kept here as a global stylesheet already loaded by the shell. */
@media(max-width:760px){
  :root{--mobile-header-height:52px!important;--mobile-tabbar-height:60px!important}
  .topbar{padding-left:10px!important;padding-right:10px!important;gap:7px!important}
  .mobile-shell-title strong{font-size:.86rem!important;font-weight:700!important}
  .mobile-shell-title small{font-size:.61rem!important}
  .mobile-workspace-switch{width:36px!important;height:36px!important;min-height:36px!important;border-radius:10px!important;box-shadow:none!important}
  .content{padding:10px 10px calc(var(--mobile-tabbar-height) + 14px + env(safe-area-inset-bottom))!important}
  .content .page-head{gap:8px!important;margin-bottom:10px!important}
  .content .page-head h1{font-size:1.52rem!important;line-height:1.12!important;margin:.12rem 0 .24rem!important}
  .content .page-head p:not(.eyebrow){font-size:.76rem!important;line-height:1.45!important;margin:0!important}
  .content .eyebrow{font-size:.64rem!important;letter-spacing:.06em!important;margin-bottom:3px!important}
  .content .panel{border-radius:10px!important;box-shadow:none!important}
  .content .metrics{gap:7px!important;margin-bottom:10px!important}
  .content .metrics>div{padding:9px 10px!important;border-radius:10px!important;box-shadow:none!important}
  .content .metrics>div>span{font-size:.66rem!important}
  .content .metrics>div>b{font-size:1rem!important;line-height:1.15!important;margin-top:3px!important}
  .content .metrics>div>small{font-size:.62rem!important;line-height:1.35!important;margin-top:3px!important}
  .content button,.content .button{border-radius:9px}
  .content input,.content select,.content textarea{font-size:.82rem!important}
  .content input:not([type="checkbox"]):not([type="radio"]),.content select{min-height:42px!important;padding-top:7px!important;padding-bottom:7px!important}
  .mobile-tabbar{padding-top:4px!important;gap:0!important;box-shadow:0 -5px 16px rgba(0,41,83,.055)!important}
  .mobile-tabbar a,.mobile-tabbar button{min-height:50px!important;padding:3px 1px!important;border-radius:9px!important;font-size:.57rem!important;gap:2px!important}
  .mobile-tabbar a svg,.mobile-tabbar button svg{width:19px!important;height:19px!important}
  .mobile-tabbar a.active::before{width:18px!important;height:2px!important;top:1px!important}

  .content .resource-page-head{margin-bottom:7px!important}
  .content .resource-page-head .form-actions button:last-child,.content .ledger-actions button{min-height:44px!important;padding:0 13px!important;font-size:.75rem!important;right:10px!important;bottom:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom) + 8px)!important;box-shadow:0 7px 18px rgba(0,41,83,.16)!important}
  .content .resource-quick-filters{gap:5px!important;margin-bottom:0!important;padding-bottom:7px!important}
  .content .resource-filter-chip{min-height:32px!important;padding:5px 10px!important;font-size:.68rem!important}
  .content .resource-filterbar:not(.mobile-open){gap:6px!important;margin-bottom:8px!important}
  .content .resource-mobile-filter-trigger{min-height:42px!important;padding:0 11px!important;font-size:.72rem!important}
  .content .resource-filterbar.mobile-open{gap:7px!important;max-height:82dvh!important;padding:12px 10px calc(12px + env(safe-area-inset-bottom))!important;border-radius:14px 14px 0 0!important}
  .content .resource-mobile-filter-close{min-height:38px!important;padding-bottom:6px!important;font-size:.82rem!important}
  .content .resource-filterbar label{font-size:.62rem!important;margin-bottom:3px!important}
  .content .resource-table-meta{padding:7px 9px!important;margin-bottom:6px!important;border-radius:9px!important;font-size:.67rem!important}
  .content .resource-table tbody{gap:6px!important}
  .content .resource-table tbody tr.resource-record-row{border-radius:10px!important;box-shadow:none!important}
  .content .resource-table tbody tr.resource-record-row td:first-child{padding:10px 10px 8px!important}
  .content .resource-table tbody tr.resource-record-row td:not(:first-child):not(.resource-actions){grid-template-columns:minmax(78px,30%) minmax(0,1fr)!important;gap:7px!important;padding:6px 10px!important}
  .content .resource-table tbody tr.resource-record-row td::before{font-size:.59rem!important}
  .content .resource-primary strong{font-size:.78rem!important}
  .content .resource-primary small,.content .resource-cell-note{font-size:.65rem!important}
  .content .resource-property-image{width:46px!important;height:38px!important;border-radius:8px!important}
  .content .resource-table tbody tr.resource-record-row .resource-actions{padding:6px 8px!important;gap:4px!important}
  .content .resource-table .resource-action{min-height:34px!important;padding:5px 8px!important;font-size:.66rem!important;border-radius:7px!important}

  body:has(.founder-risk-head) .role-onboarding{padding:8px 10px!important;border-radius:10px!important;margin-bottom:8px!important}
  body:has(.founder-risk-head) .role-onboarding-head{margin-bottom:5px!important;gap:6px!important}
  body:has(.founder-risk-head) .role-onboarding-head h2{font-size:.86rem!important;margin:0!important}
  body:has(.founder-risk-head) .role-onboarding-progress strong{font-size:.8rem!important}
  body:has(.founder-risk-head) .role-onboarding-progress span{font-size:.62rem!important}
  body:has(.founder-risk-head) .role-onboarding-bar{height:3px!important;margin-bottom:0!important}
  .content .founder-head-actions{gap:5px!important;padding-bottom:1px!important}
  .content .founder-head-actions .button{min-height:36px!important;padding:6px 9px!important;font-size:.67rem!important}
  .content .founder-risk-filter{gap:6px!important;padding:8px!important;margin-bottom:8px!important;border-radius:10px!important}
  .content .founder-risk-filter label{font-size:.59rem!important}
  .content .risk-metric-grid{gap:6px!important;margin-bottom:8px!important}
  .content .risk-metric{min-height:88px!important;padding:8px!important;border-radius:10px!important}
  .content .risk-metric span{font-size:.61rem!important}
  .content .risk-metric strong{font-size:.91rem!important;margin:3px 0 2px!important}
  .content .risk-metric small{font-size:.59rem!important;line-height:1.3!important}
  .content .risk-queue-panel{padding:9px!important}

  .content .collections-head-actions{gap:5px!important}
  .content .collections-head-actions .button{min-height:36px!important;padding:6px 9px!important;font-size:.67rem!important}
  .content .collections-metrics{gap:6px!important}
  .content .collections-workspace .collections-filters{grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;padding:8px!important;margin-bottom:7px!important;border-radius:10px!important}
  .content .collections-workspace .collections-filters select{grid-column:1/-1}
  .content .collections-workspace .collections-filters button{width:auto!important;min-height:42px!important;padding:0 11px!important}
  .content .collections-workspace .queue-meta{font-size:.66rem!important;margin-bottom:6px!important}
  .content .collections-workspace .queue-table tbody{gap:6px!important}
  .content .collections-workspace .queue-table tbody>tr{border-radius:10px!important;box-shadow:none!important}
  .content .collections-workspace .queue-table tbody>tr>td{grid-template-columns:82px minmax(0,1fr)!important;gap:7px!important;padding:6px 9px!important}
  .content .collections-workspace .queue-table tbody>tr>td:nth-child(2){padding-top:10px!important;padding-bottom:6px!important}
  .content .collections-workspace .queue-table tbody>tr>td:nth-child(1){padding-bottom:6px!important}
  .content .collections-workspace .queue-table tbody>tr>td::before{font-size:.58rem!important}
  .content .collections-workspace .queue-client{font-size:.78rem!important}
  .content .collections-workspace .queue-contact,.content .collections-workspace .queue-sub{font-size:.64rem!important}
  .content .collections-workspace .priority-pill{padding:4px 7px!important;font-size:.64rem!important}
  .content .collections-workspace .queue-table tbody>tr>td:nth-child(8){padding:7px 8px!important}
  .content .collections-workspace .queue-actions{gap:5px!important}
  .content .collections-workspace .queue-actions button{min-height:38px!important;padding:5px 7px!important;font-size:.67rem!important}

  .content .ledger-actions{gap:5px!important}
  .content .ledger-actions .button{min-height:36px!important;padding:6px 9px!important;font-size:.67rem!important}
  .content .ledger-metrics{gap:6px!important;margin-right:-10px!important;padding-right:10px!important}
  .content .ledger-metrics>div{flex-basis:min(68vw,245px)!important;min-height:84px!important;padding:9px 10px!important;border-radius:10px!important}
  .content .ledger-metrics>div>b{margin-top:4px!important}
  .content .ledger-metrics>div>small{margin-top:4px!important}
  .content .ledger-note{padding:8px 9px!important;margin-bottom:7px!important;border-radius:9px!important;font-size:.67rem!important;line-height:1.4!important}
  .content .ledger-table-wrap>table tbody{gap:6px!important}
  .content .ledger-table-wrap>table tbody>tr{border-radius:10px!important;box-shadow:none!important}
  .content .ledger-table-wrap>table tbody>tr>td{grid-template-columns:78px minmax(0,1fr)!important;gap:7px!important;padding:6px 9px!important}
  .content .ledger-table-wrap>table tbody>tr>td:nth-child(2){padding-top:10px!important}
  .content .ledger-table-wrap>table tbody>tr>td::before{font-size:.58rem!important}
  .content .ledger-table-wrap>table tbody>tr>td:nth-child(7){padding:6px 8px!important}
  .content .ledger-table-wrap>table tbody>tr>td:nth-child(7) button{min-height:36px!important;padding:5px 8px!important;font-size:.66rem!important}
}

@media(max-width:430px){
  .content .page-head h1{font-size:1.42rem!important}
  .content .risk-metric{min-height:82px!important}
  .content .ledger-metrics>div{flex-basis:72vw!important}
}

/* Native-like mobile pull-to-refresh indicator. */
.pull-refresh-indicator{display:none}
@media(max-width:760px){
  .pull-refresh-indicator{position:fixed;z-index:79;left:50%;top:calc(var(--mobile-header-height) + env(safe-area-inset-top) + 6px);display:flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.98);box-shadow:0 5px 16px rgba(0,41,83,.1);color:var(--muted);font-size:.66rem;font-weight:700;opacity:0;pointer-events:none;transform:translate(-50%,-18px) scale(.96);transition:opacity .14s ease,transform .14s ease}
  .pull-refresh-indicator svg{width:15px;height:15px;stroke-width:2}
  .pull-refresh-indicator.visible{opacity:1}
  .pull-refresh-indicator.armed{color:var(--accent);border-color:#b9d0e5}
  .pull-refresh-indicator.refreshing{color:var(--accent)}
  .pull-refresh-indicator.refreshing svg{animation:pull-refresh-spin .7s linear infinite}
  #page-content.pull-refresh-pulling{will-change:transform;transition:none!important}
  #page-content.pull-refresh-settling{transition:transform .18s ease!important}
}
@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .pull-refresh-indicator{transition:none}
  .pull-refresh-indicator.refreshing svg{animation:none}
  #page-content.pull-refresh-settling{transition:none!important}
}

/* Property Bank mobile brand header. */
@media(max-width:760px){
  .topbar{
    position:relative!important;
    background:#002953!important;
    border-bottom-color:#002953!important;
    backdrop-filter:none!important;
  }
  .topbar::before{
    content:"";
    position:absolute;
    z-index:1;
    left:50%;
    top:calc(env(safe-area-inset-top) + (var(--mobile-header-height) / 2));
    width:min(62vw,240px);
    height:36px;
    transform:translate(-50%,-50%);
    background-image:url("https://images.leadconnectorhq.com/image/f_webp/q_80/r_1200/u_https://assets.cdn.filesafe.space/xshMEPJSYmsefHNM9SpH/media/6a030f5a82125b987468e1bc.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    pointer-events:none;
  }
  .mobile-shell-title{display:none!important}
  .mobile-workspace-switch{
    position:relative;
    z-index:2;
    margin-left:auto;
    background:transparent!important;
    border-color:rgba(255,255,255,.32)!important;
    color:#fff!important;
  }
  .mobile-workspace-switch:active{background:rgba(255,255,255,.1)!important}
  .topbar:has(.impersonation-form)::before{display:none}
}
