/* Phone-only improvements; existing desktop and role-specific routes remain intact. */
@media (max-width:767px) {
  .app-layout:has(.fm-nav) {--fm-brand:#7137ef;--fm-ink:#262037;--fm-muted:#70677e;--fm-bottom:calc(76px + env(safe-area-inset-bottom,0px));}
  .app-layout:has(.fm-nav)>.sidebar,.app-layout:has(.fm-nav) .fx-menu-toggle,.app-layout:has(.fm-nav) .topbar-actions>div:first-child {display:none!important;}
  .app-layout:has(.fm-nav)>.topbar {gap:10px!important;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));}
  .app-layout:has(.fm-nav) .topbar-search {flex:1;max-width:none;min-width:0;min-height:44px;padding:10px 12px;border-radius:14px;}
  .app-layout:has(.fm-nav) .topbar-search input {font-size:16px;min-width:0;width:100%;}
  .app-layout:has(.fm-nav) .topbar-search>div {position:fixed!important;top:var(--topbar-h,64px)!important;left:12px!important;right:12px!important;min-width:0!important;max-height:60dvh!important;}
  .app-layout:has(.fm-nav) .topbar-icon-btn,.app-layout:has(.fm-nav) .topbar-user-pill {min-width:44px;min-height:44px;}
  .app-layout:has(.fm-nav) .topbar-actions {flex-shrink:0;gap:4px!important;}
  .app-layout:has(.fm-nav) .topbar-user-pill .pill-name {display:none;}
  .app-layout:has(.fm-nav) .topbar-actions>div:nth-child(2)>div {max-width:calc(100vw - 24px);right:-48px!important;}
  .app-layout:has(.fm-nav)>.page-content {padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(var(--fm-bottom) + 88px)!important;}
  .fm-quick,.fm-nav,.fm-sheet {box-sizing:border-box;color:var(--fm-ink,#262037);font-family:inherit;}
  .fm-quick *, .fm-nav *, .fm-sheet * {box-sizing:border-box;}
  .fm-quick button,.fm-nav button,.fm-sheet button {font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .fm-quick {margin:0 0 26px;}
  .fm-quick-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;}
  .fm-eyebrow {display:block;margin:0 0 5px;color:#7e6a99;font-size:10px;font-weight:750;letter-spacing:1.15px;line-height:1.5;}
  .fm-quick h2 {margin:0;font-size:24px;font-weight:700;letter-spacing:-.7px;line-height:1.2;}
  .fm-contact-link {display:flex;align-items:center;gap:3px;min-height:44px;padding:8px 0 8px 8px;border:0;background:none;color:#6934cb;font-size:12px!important;font-weight:650!important;}
  .fm-quick-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
  .fm-action {display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-height:108px;padding:13px 11px;border:1px solid var(--fm-border);border-radius:17px;background:var(--fm-soft);color:var(--fm-tone);text-align:left;}
  .fm-action strong {font-size:12px;line-height:1.35;font-weight:650;}
  .fm-purple {--fm-soft:#f1eaff;--fm-border:#e4d5ff;--fm-tone:#6935c3;}
  .fm-blue {--fm-soft:#eaf3ff;--fm-border:#d7e7fb;--fm-tone:#245aa2;}
  .fm-amber {--fm-soft:#fff3df;--fm-border:#f6e4c2;--fm-tone:#936013;}
  .fm-green {--fm-soft:#e9f5ee;--fm-border:#d5e9de;--fm-tone:#31734e;}
  .fm-action-icon {display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:12px;background:#ffffffbd;color:var(--fm-tone);}
  .fm-nav {position:fixed;z-index:105;bottom:0;left:0;right:0;display:flex;align-items:stretch;justify-content:space-around;min-height:var(--fm-bottom);padding:5px max(7px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));border-top:1px solid #eae5f0;background:#fffffff5;box-shadow:0 -5px 28px #27144208;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);}
  .fm-nav[hidden] {display:none;}
  .fm-nav>button {display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:62px;padding:4px 2px;border:0;border-radius:13px;background:none;color:#7b7287;font-size:10px;font-weight:600;}
  .fm-nav>button[aria-current=page] {color:#7137ef;background:#f6f1ff;}
  .fm-nav .fm-new {color:#5425ac;gap:2px;}
  .fm-new-icon {display:grid;place-items:center;width:42px;height:38px;border-radius:13px;background:#7137ef;color:white;box-shadow:0 4px 10px #7137ef29;}
  .fm-sheet {position:fixed;inset:auto 0 0;width:100%;max-width:600px;max-height:90dvh;margin:auto auto 0;padding:0;border:0;border-radius:25px 25px 0 0;background:#fff;box-shadow:0 -12px 60px #20103824;overflow:auto;overscroll-behavior:contain;}
  .fm-sheet::backdrop {background:#21133670;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
  .fm-sheet-inner {padding:9px 21px max(24px,env(safe-area-inset-bottom));}
  .fm-sheet-handle {width:36px;height:4px;border-radius:4px;background:#ddd5e6;margin:0 auto 20px;}
  .fm-sheet header {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;}
  .fm-sheet h2 {margin:0;font-size:25px;font-weight:700;letter-spacing:-.7px;}
  .fm-close {display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#f5f2f8;color:#655771;}
  .fm-create-list {display:grid;gap:10px;}
  .fm-create-row {display:flex;align-items:center;gap:13px;width:100%;min-height:78px;padding:14px;border:1px solid var(--fm-border);border-radius:16px;background:var(--fm-soft);color:var(--fm-tone);text-align:left;}
  .fm-create-row>span:nth-child(2) {flex:1;}
  .fm-create-row strong {display:block;font-size:15px;font-weight:650;line-height:1.5;}
  .fm-create-row small {display:block;margin-top:2px;font-size:12px;color:#71667e;line-height:1.5;}
  .fm-find {width:100%;min-height:48px;padding:12px 14px;margin-bottom:16px;border:1px solid #e7dfef;border-radius:13px;background:#faf8fc;color:#262037;font:inherit;font-size:16px;}
  .fm-tools {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .fm-tools button {display:flex;align-items:center;gap:10px;min-height:65px;padding:13px;border:1px solid #ede7f3;border-radius:13px;background:#fff;color:#5a4c69;text-align:left;font-size:13px;font-weight:550;line-height:1.4;}
  .fm-tools button>svg {flex-shrink:0;color:#895bbe;}
  .fm-tools button[aria-current=page] {border-color:#cdb5ec;background:#f7f1ff;color:#6429b1;}
  .fm-signout {display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;width:100%;margin-top:18px;border:0;border-top:1px solid #eee7f4;background:none;color:#786b85;font-size:13px;}
  .fm-no-tools {font-size:14px;line-height:1.6;color:#71667e;}
  .fm-quick button:focus-visible,.fm-nav button:focus-visible,.fm-sheet :is(button,input):focus-visible,.fm-status-filter select:focus-visible {outline:3px solid #a477ef;outline-offset:3px;}
  .fm-quick button:active,.fm-nav button:active,.fm-create-row:active,.fm-tools button:active {filter:brightness(.96);transform:translateY(1px);}
  .fm-status-filter {display:flex;align-items:center;gap:12px;margin:14px 0;color:#6d5d7b;font-size:13px;font-weight:600;}
  .fm-status-filter select {flex:1;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #ddd1e9;border-radius:12px;background:white;color:#49345e;font:inherit;font-size:16px;}
  .fm-board .jw-columns {display:flex;flex-direction:column;overflow:visible;min-height:0;gap:16px;}
  .fm-board .jw-column {flex:auto;min-width:0;max-width:none;width:100%;padding:14px;border-radius:16px;}
  .fm-board .jw-column h2 {font-size:15px;}
  .fm-board .jw-column>small {font-size:12px;}
  .fm-board .jw-card {padding:15px!important;border-radius:13px;cursor:default;}
  .fm-board .jw-open {min-height:44px;}
  .fm-board .jw-open strong {font-size:15px;}
  .fm-board :is(.jw-customer,.jw-service,.jw-address) {font-size:13px;line-height:1.5;}
  .fm-board .jw-card-bottom {font-size:12px;}
  .fm-board .jw-card-bottom strong {font-size:15px;}
  .fm-board .jw-move-label {font-size:12px;}
  .fm-board .jw-move-label select {min-height:44px;font-size:16px;border-radius:8px;padding:7px;}
  .app-layout:has(.fm-nav) :is(.jw-header-actions,.cc-heading-actions) {width:100%;gap:8px;}
  .app-layout:has(.fm-nav) :is(.jw-header-actions,.cc-heading-actions)>.btn {flex:1;min-height:44px;font-size:13px;}
  .app-layout:has(.fm-nav) .jw-board-toolbar nav {display:flex;flex-wrap:nowrap;width:100%;overflow-x:auto;padding:2px 0 8px;}
  .app-layout:has(.fm-nav) .jw-board-toolbar nav>button {flex-shrink:0;min-height:46px;font-size:13px;}
  .app-layout:has(.fm-nav) .jw-search {width:100%;min-height:46px;border-radius:12px;}
  .app-layout:has(.fm-nav) .jw-search input {font-size:16px;width:100%;}
  .app-layout:has(.fm-nav) .jw-flow-note {font-size:12px;line-height:1.65;}
  .app-layout:has(.fm-nav) .jw-flow-note button {min-height:44px;}
  .app-layout:has(.fm-nav) .fluxes-flow {bottom:calc(var(--fm-bottom) + 12px);}
  .app-layout:has(.fm-nav) .fg-offer-card {bottom:calc(var(--fm-bottom) + 12px);max-height:calc(100dvh - var(--fm-bottom) - 30px);}
  .installer-portal .ip-button {min-height:44px;padding:11px 14px;}
  .installer-portal :is(input:not([type=checkbox]):not([type=file]),select,textarea) {font-size:16px;}
}
@media (max-width:350px) {
  .fm-quick-grid {gap:6px;}
  .fm-action {padding:11px 8px;}
  .fm-tools {grid-template-columns:1fr;}
  .app-layout:has(.fm-nav)>.topbar {padding-left:10px;padding-right:10px;gap:5px!important;}
}
