/* Phone-first refinements. Desktop remains governed by the existing page styles. */
.nav-icon{display:none}
.mobile-app-bar,.mobile-message-back{display:none}

@media(max-width:768px){
  :root{--mobile-gutter:14px;--mobile-nav-height:68px}
  html{scroll-padding-bottom:calc(var(--mobile-nav-height) + 18px)}
  body{overflow-x:hidden}
  input,select,textarea{font-size:16px}
  .button{min-height:44px;padding:0 16px}

  .dashboard-body{display:block;background:#f5f2eb}
  .dashboard-main{width:100%;padding:calc(67px + env(safe-area-inset-top)) var(--mobile-gutter) calc(92px + env(safe-area-inset-bottom))}
  .dashboard-nav{position:fixed;inset:auto 0 0;z-index:60;width:100%;height:auto;padding:0 4px env(safe-area-inset-bottom);display:block;background:#fff;color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(20,30,23,.09)}
  .dashboard-nav>.brand,.dashboard-nav>.nav-company,.dashboard-nav>.nav-signout{display:none}
  .dashboard-nav nav{width:100%;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;overflow:visible}
  .dashboard-nav nav button{position:relative;min-width:0;min-height:var(--mobile-nav-height);padding:8px 1px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:0;color:#7c867f;background:none;text-align:center;white-space:normal}
  .dashboard-nav nav button:hover{color:#7c867f;background:none}
  .dashboard-nav nav button.active{color:var(--orange);background:none}
  .dashboard-nav nav button.active:before{content:"";position:absolute;top:0;left:50%;width:30px;height:3px;transform:translateX(-50%);border-radius:0 0 4px 4px;background:var(--orange)}
  .dashboard-nav .nav-icon{display:block;font-size:23px;line-height:1}
  .dashboard-nav .nav-text{max-width:100%;font-size:0;line-height:1}
  .dashboard-nav .nav-text:after{content:attr(data-short);font-size:10px;font-weight:800;line-height:1.1}
  .dashboard-nav nav button span[id]{position:absolute;top:8px;left:50%;min-width:16px;height:16px;margin-left:7px;padding:0 4px;display:flex;align-items:center;justify-content:center;float:none;border-radius:99px;color:#fff;background:var(--orange);font-size:9px}
  .dashboard-nav nav button span[id]:empty{display:none}
  .dashboard-nav nav [data-view="calendar"],.dashboard-nav nav [data-view="notifications"]{display:none}

  .mobile-app-bar{position:fixed;inset:0 0 auto;z-index:55;min-height:calc(54px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 12px 8px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(220,215,205,.85);background:rgba(255,253,248,.94);box-shadow:0 4px 18px rgba(20,30,23,.05);backdrop-filter:blur(12px)}
  .mobile-app-brand{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--ink);font:800 12px Manrope,sans-serif}
  .mobile-app-title{min-width:0;flex:1}
  .mobile-app-title strong,.mobile-app-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-app-title strong{font:800 15px Manrope,sans-serif}
  .mobile-app-title small{margin-top:2px;color:#7a847d;font-size:10px;font-weight:700}
  .mobile-app-actions{display:flex;align-items:center;gap:6px}
  .mobile-app-action{position:relative;width:38px;height:38px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff}
  .mobile-app-action .material-symbols-outlined{font-size:21px}
  .mobile-signout-action{color:#a33f27;background:#fff8f5}
  .mobile-notification-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border:2px solid #fff;border-radius:99px;color:#fff;background:var(--orange);font-size:8px;font-weight:800}
  .mobile-notification-badge:empty{display:none}

  .dashboard-header{margin:3px 0 18px;display:grid;gap:12px}.dashboard-header h1{margin-top:6px;font-size:29px;line-height:1.12}.dashboard-header .button{width:100%}
  .page-heading{margin-bottom:18px;align-items:start;flex-direction:column}.page-heading h2{font-size:27px;line-height:1.18}.page-heading p{margin-bottom:0;font-size:12px;line-height:1.55}
  .card-heading{margin-bottom:14px;align-items:start}.card-heading h2{font-size:20px;line-height:1.25}
  .workspace-card,.directory-card,.stat-grid>div,.conversation-list,.message-panel{border-radius:13px}.workspace-card{padding:16px}
  .stat-grid{grid-template-columns:repeat(2,1fr);gap:9px}.stat-grid>div{padding:14px}.stat-grid strong{font-size:24px}
  .dashboard-columns{gap:10px}.setup-item strong{font-size:12px}.setup-item small{font-size:10px}
  .directory-grid,.referral-grid,.profile-manage-grid,.profile-results,.credential-profile-grid,.portfolio-grid{grid-template-columns:1fr}
  .directory-card,.referral-card{padding:16px}
  .connection-actions,.market-job-actions,.calendar-actions,.project-workflow-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .connection-actions .button,.market-job-actions .button,.project-workflow-actions .button{width:100%;min-height:42px}

  .job-filters{margin-bottom:20px;padding:11px;grid-template-columns:minmax(0,1fr) 112px;gap:9px;border-radius:13px}
  .job-filters label:first-child{grid-column:1/-1}.job-filters #clearJobFilters{width:112px;min-height:44px;align-self:end}
  .job-alert-controls{grid-column:1/-1!important;padding:12px!important}.job-alert-controls .button{width:100%}.saved-search-list{grid-column:1/-1}
  .job-section{margin-top:22px}.market-job-grid,.bid-grid{grid-template-columns:1fr}
  .market-job{padding:16px;border-radius:13px}.market-job h3{margin:11px 0 7px;font-size:18px}.market-job p{min-height:0;font-size:12px}.market-job-meta{margin:12px 0}.market-job-actions>*{min-width:0}
  .job-publish-card{padding:26px 18px}

  #messagesView{margin:calc(-67px - env(safe-area-inset-top)) calc(-1 * var(--mobile-gutter)) calc(-92px - env(safe-area-inset-bottom))}
  #messagesView .messaging-shell{height:100dvh;min-height:0;display:block}
  #messagesView .conversation-list{height:100%;padding:calc(62px + env(safe-area-inset-top)) 8px calc(80px + env(safe-area-inset-bottom));display:grid;border:0;border-radius:0;background:#f8f6f0}
  .conversation-list-head{padding:14px 10px 12px}.conversation-list-head .card-heading{margin-bottom:11px}.conversation-list-head .card-heading h2{font-size:25px}.conversation-filters{padding:9px 10px}#conversationList{padding:4px 2px 14px}
  .conversation-item{min-height:72px;padding:12px 9px;gap:10px;border-radius:11px}.conversation-item.active{border-color:transparent;background:#fff}.conversation-line time{font-size:10px}.conversation-job{font-size:10px!important}.conversation-preview{font-size:11px!important}
  #messagesView .message-panel{display:none}#messagesView .messaging-shell.mobile-chat-open .conversation-list{display:none}#messagesView .messaging-shell.mobile-chat-open .message-panel{height:100%;display:flex;border:0;border-radius:0;background:#fdfbf6}
  .dashboard-body:has(.messaging-shell.mobile-chat-open) .dashboard-nav,.dashboard-body:has(.messaging-shell.mobile-chat-open) .mobile-app-bar{display:none}
  #messagesView .message-workspace{height:100dvh;grid-template-rows:auto minmax(0,1fr) auto}
  .message-header{min-height:calc(62px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 10px 8px;gap:8px}
  .mobile-message-back{width:36px;height:36px;flex:0 0 36px;padding:0;display:grid;place-items:center;border:0;border-radius:10px;color:var(--ink);background:var(--cream);font-size:22px}
  .message-header .company-mark{display:none}.message-header-copy strong{font-size:14px}.message-context{margin-top:2px}.message-context small{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.message-job-pill{display:none}
  .message-header-actions{gap:4px}.message-header-actions .button{width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;padding:0;overflow:hidden;color:transparent;font-size:0}.message-header-actions .button:after{color:var(--ink);font-family:'Material Symbols Outlined';font-size:20px;font-weight:400;line-height:1}.message-header-actions [data-message-view-job]:after{content:"handyman"}.message-header-actions [data-message-view-profile]:after{content:"badge"}
  .message-thread{padding:14px 12px 18px}.message-group{margin:10px 0}.message-bubble{max-width:88%;padding:10px 12px}.message-bubble p{font-size:14px}
  .message-form{padding:8px 9px calc(8px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;gap:7px}.message-composer small{display:none}.message-form textarea{min-height:44px;padding:10px;font-size:16px}.message-form .button{width:58px;min-height:44px;padding:0 8px}
  .dashboard-body:has(.messaging-shell.mobile-chat-open) .feedback-launcher{display:none}

  .network-actions{gap:10px}.network-form .form-row,.profile-form-section .form-row{grid-template-columns:1fr}.network-form>.button{width:100%}.network-section{margin-top:25px}
  .role-profile-intro{margin:14px 0;padding:15px;display:grid;grid-template-columns:70px 1fr;gap:13px}.company-profile-image,.company-profile-placeholder{width:70px;height:70px;flex:0 0 70px;border-width:3px;border-radius:16px}.role-profile-intro h3{font-size:19px}.role-profile-intro p{grid-column:1/-1;font-size:11px}
  .company-profile-editor{margin:14px 0;grid-template-columns:1fr}.profile-save-bar{bottom:calc(var(--mobile-nav-height) + 10px + env(safe-area-inset-bottom));padding:9px}.profile-save-bar .button{flex:1}
  .calendar-heading{margin-bottom:15px;gap:12px}.calendar-heading h2{font-size:27px}.calendar-month-controls{width:100%;justify-content:space-between}.calendar-board{display:none}.upcoming-panel{margin:0;padding:16px}
  .notification-item{padding:15px!important;gap:10px!important}.notification-item strong{font-size:13px!important}.notification-item p{font-size:11px!important}

  .modal,.feedback-dialog,.trust-modal,.job-post-modal{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;padding:22px 16px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}
  .feedback-dialog{padding:0}.feedback-shell{padding:25px 17px calc(18px + env(safe-area-inset-bottom))}
  .feedback-launcher{right:12px;bottom:calc(var(--mobile-nav-height) + 12px + env(safe-area-inset-bottom));padding:10px 13px;font-size:10px}.dashboard-body:has(.profile-save-bar) .feedback-launcher{bottom:calc(var(--mobile-nav-height) + 78px + env(safe-area-inset-bottom))}.suggestion-menu{max-height:min(280px,42dvh)}

  .announcement{padding:8px 12px;gap:5px;text-align:center;font-size:10px}.announcement span{display:inline}.announcement a{display:none}
  .site-header{min-height:64px;padding:0 14px}.site-header .brand{font-size:16px}.header-actions{gap:6px}.header-actions .desktop-only{display:inline-flex}.header-actions .button{min-height:38px;padding:0 11px;font-size:9px}
  .hero{min-height:auto;gap:31px;padding:38px 14px 43px}.hero-content h1{font-size:clamp(41px,13vw,56px);line-height:.98}.hero-content>p{margin-top:17px;font-size:13px;line-height:1.55}.role-switcher{grid-template-columns:1fr 1fr;gap:6px}.role-option{padding:9px 7px}.hero-search{grid-template-columns:1fr;gap:8px}.hero-search .button{min-height:46px}.hero-proof{align-items:flex-start}.hero-proof p{font-size:10px;line-height:1.45}
  .role-preview{width:100%;overflow:visible}.role-preview-heading{margin-inline:0}.hero-job-card{width:100%}
  .market-strip{padding:16px 14px;grid-template-columns:1fr 1fr;gap:7px}.market-strip div{min-height:132px;padding:15px 13px}.market-strip strong{margin:7px 0 6px;font-size:12px}.market-strip .market-copy{font-size:11px;line-height:1.4}.section,.dark-section{padding:55px 14px}.section-heading h2,.dark-intro h2,.cta-section h2{font-size:32px}.jobs-grid{grid-template-columns:1fr}.role-path-card{padding:23px 20px}.role-path-label{font-size:21px}.role-path-card h3{margin-top:22px}.dark-section,.cta-section{grid-template-columns:1fr;gap:32px}.cta-section{padding:55px 14px}.cta-actions{width:100%;display:grid}.cta-actions .button{width:100%}footer{padding:28px 14px;gap:16px;align-items:start;grid-template-columns:1fr}

  .account-header{height:62px;padding:0 14px}.account-header .brand{font-size:16px}.account-home-link{min-height:38px;padding:0 12px}.account-shell{min-height:calc(100vh - 62px)}.account-panel{padding:16px 12px 30px}.account-card{padding:16px}.account-tabs{margin-bottom:20px}.account-tabs button{min-height:43px}.account-form{gap:14px}.account-form h2{font-size:28px;line-height:1.15}.account-fieldset{padding:13px}.capability-grid{grid-template-columns:1fr 1fr}.capability-grid label>span{min-height:80px;padding:12px}.form-row,.security-row,.location-row{grid-template-columns:1fr}
  .dashboard-main label{min-width:0}
  .dashboard-main input,.dashboard-main select,.dashboard-main textarea{max-width:100%;min-width:0}
  .market-job-actions .text-link,.calendar-actions .text-link,.connection-actions .text-link{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
}

@media(max-width:380px){
  .dashboard-nav .nav-text:after{font-size:9px}.mobile-app-title small{display:none}.mobile-app-bar{gap:7px;padding-inline:9px}.mobile-app-actions{gap:4px}.mobile-app-action{width:35px;height:35px}.connection-actions,.market-job-actions,.calendar-actions,.project-workflow-actions{grid-template-columns:1fr}.capability-grid{grid-template-columns:1fr}
}
