/* ============================================================
   CUSTOMER HUB MOBILE — iOS-style customer hub layout
   All rules scoped to @media (max-width: 1024px)
   ============================================================ */@media (max-width:1024px){

  /* ── Page container ── */.m-hub{background:var(--m-bg-grouped,#f2f2f7);min-height:100vh;padding:0}

  /* ── Search bar ── */.m-hub-search{background:var(--m-surface,#fff);border-bottom:.5px solid var(--m-border,rgba(60,60,67,.12));padding:12px var(--m-gutter,16px);position:sticky;top:0;z-index:10}.m-hub-search-input{align-items:center;background:var(--m-bg-grouped,#f2f2f7);border-radius:10px;display:flex;gap:8px;padding:8px 12px}.m-hub-search-input input{background:none;border:none;color:var(--m-text-primary,#1c1c1e);flex:1;font-size:16px;min-width:0;outline:none}.m-hub-search-input input::-moz-placeholder{color:var(--m-text-muted,#8e8e93)}.m-hub-search-input input::placeholder{color:var(--m-text-muted,#8e8e93)}.m-hub-search-input svg{color:var(--m-text-muted,#8e8e93);flex-shrink:0}

  /* ── Customer list ── */.m-hub-list{display:flex;flex-direction:column;gap:10px;padding:var(--m-gutter,16px)}

  /* ── Customer card ── */.m-hub-card{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--m-surface,#fff);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06);cursor:pointer;display:flex;gap:12px;padding:14px var(--m-gutter,16px);transition:background .1s}.m-hub-card:active{background:var(--m-bg-grouped,#f2f2f7)}.m-hub-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:44px;justify-content:center;width:44px}.m-hub-card-info{flex:1;min-width:0}.m-hub-card-name{color:var(--m-text-primary,#1c1c1e);font-size:15px;font-weight:600}.m-hub-card-meta,.m-hub-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-hub-card-meta{color:var(--m-text-muted,#8e8e93);font-size:13px;margin-top:2px}.m-hub-card-badges{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.m-hub-badge{background:var(--texas-blue,#00205b);border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:2px 8px}.m-hub-badge-danger{background:var(--m-danger,#ff3b30)}.m-hub-chevron{flex-shrink:0}

  /* ── Empty state ── */.m-hub-chevron,.m-hub-empty{color:var(--m-text-muted,#8e8e93)}.m-hub-empty{font-size:15px;font-weight:500;padding:48px 32px;text-align:center}

  /* ── Customer detail view ── */.m-hub-detail{padding-bottom:80px /* clear bottom tab bar */}.m-hub-back{-webkit-tap-highlight-color:transparent;align-items:center;border:none;color:var(--texas-blue,#00205b);cursor:pointer;display:flex;font-size:16px;font-weight:400;gap:6px;padding:12px var(--m-gutter,16px);text-align:left;width:100%}

  /* ── Customer header card ── */.m-hub-back,.m-hub-header-card{background:var(--m-surface,#fff)}.m-hub-header-card{margin-bottom:12px;padding:var(--m-gutter,16px)}.m-hub-header-row{align-items:center;display:flex;gap:14px;margin-bottom:14px}.m-hub-avatar-lg{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:800;height:56px;justify-content:center;width:56px}.m-hub-customer-name{color:var(--m-text-primary,#1c1c1e);font-size:20px;font-weight:700;margin:0 0 4px}.m-hub-contact-links{display:flex;flex-direction:column;gap:4px}.m-hub-contact-link{align-items:center;color:var(--texas-blue,#00205b);display:flex;font-size:14px;gap:6px;text-decoration:none}.m-hub-contact-link svg{flex-shrink:0}

  /* ── Stats row ── */.m-hub-stats{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.m-hub-stat-card{background:var(--m-bg-grouped,#f2f2f7);border-radius:10px;padding:12px;text-align:center}.m-hub-stat-number{color:var(--texas-blue,#00205b);font-size:22px;font-weight:800;line-height:1}.m-hub-stat-label{font-size:11px;margin-top:4px}

  /* ── Timeline / estimates list ── */.m-hub-section-header,.m-hub-stat-label{color:var(--m-text-muted,#8e8e93);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.m-hub-section-header{font-size:13px;padding:12px var(--m-gutter,16px) 6px}.m-hub-filter-pills{-webkit-overflow-scrolling:touch;display:flex;gap:8px;overflow-x:auto;padding:0 var(--m-gutter,16px) 10px;scrollbar-width:none}.m-hub-filter-pills::-webkit-scrollbar{display:none}.m-hub-pill{-webkit-tap-highlight-color:transparent;background:var(--m-surface,#fff);border:1px solid var(--m-border,rgba(60,60,67,.12));border-radius:20px;color:var(--m-text-secondary,#3c3c43);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:6px 14px}.m-hub-pill.active{background:var(--texas-blue,#00205b);border-color:var(--texas-blue,#00205b);color:#fff}

  /* Reuse m-est-card pattern for timeline items */.m-hub-timeline-item{background:var(--m-surface,#fff);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin:0 var(--m-gutter,16px) 10px;padding:12px var(--m-gutter,16px)}.m-hub-timeline-date{color:var(--m-text-muted,#8e8e93);font-size:12px;font-weight:600;margin-bottom:4px}.m-hub-timeline-title{color:var(--m-text-primary,#1c1c1e);font-size:15px;font-weight:600;margin-bottom:2px}.m-hub-timeline-meta{color:var(--m-text-muted,#8e8e93);font-size:13px}.m-hub-timeline-dot{border-radius:50%;display:inline-block;height:8px;margin-right:6px;vertical-align:middle;width:8px}.m-hub-timeline-dot-estimate{background:#16a34a}.m-hub-timeline-dot-completed{background:#3b82f6}.m-hub-timeline-dot-abandoned{background:#ef4444}

  /* Dark mode overrides */[data-bs-theme=dark] .m-hub-search{background:var(--m-card-dark,#1c1c1e);border-color:hsla(0,0%,100%,.1)}[data-bs-theme=dark] .m-hub-search-input{background:hsla(0,0%,100%,.08)}[data-bs-theme=dark] .m-hub-search-input input{color:var(--m-text-primary-dark,#f2f2f7)}[data-bs-theme=dark] .m-hub-card,[data-bs-theme=dark] .m-hub-header-card,[data-bs-theme=dark] .m-hub-timeline-item{background:var(--m-card-dark,#1c1c1e)}[data-bs-theme=dark] .m-hub-stat-card{background:hsla(0,0%,100%,.06)}[data-bs-theme=dark] .m-hub-stat-number{color:#93b8e8}[data-bs-theme=dark] .m-hub-pill{background:var(--m-card-dark,#1c1c1e);border-color:hsla(0,0%,100%,.1);color:#ebebf5}}
