/* ===== Phone layout =====
   Everything here is scoped to [data-view="phone"] (set by view.js), so the desktop
   layout is untouched. Same content and functions — only spacing, stacking and tap targets change. */

/* ── v35 type scale (generated by gen_phone_type.py — do not hand-edit) ── */
[data-view="phone"] .sb{font-size:12px}
[data-view="phone"] .pt-tag{font-size:13px}
[data-view="phone"] .tier-pill{font-size:12px}
[data-view="phone"] .admin-link{font-size:13px}
[data-view="phone"] .adm-stat h4{font-size:12px}
[data-view="phone"] .adm-tbl th{font-size:12px}
[data-view="phone"] .adm-tbl td{font-size:14px}
[data-view="phone"] .tag{font-size:12px}
[data-view="phone"] .btn-sm{font-size:13px}
[data-view="phone"] .filters select,[data-view="phone"] .filters input{font-size:14px}
[data-view="phone"] .panel-sec h4{font-size:12px}
[data-view="phone"] .panel-fld label{font-size:12px}
[data-view="phone"] .pt-card-a .ptd{font-size:13px}
[data-view="phone"] .tier-num small{font-size:12px}
[data-view="phone"] .tier-parts{font-size:13px}
[data-view="phone"] .rate-cell{font-size:13px}
[data-view="phone"] .rate-cell b{font-size:14px}
[data-view="phone"] .rate-cell .bs{font-size:12px}
[data-view="phone"] .vtog button{font-size:13px}
[data-view="phone"] .mx-type-cnt{font-size:12px}
[data-view="phone"] .mx-type-desc{font-size:13px}
[data-view="phone"] .mx-org{font-size:13px}
[data-view="phone"] .mx-org .rb{font-size:11.5px}
[data-view="phone"] .mx-legend{font-size:13px}
[data-view="phone"] .mx-empty{font-size:13px}
[data-view="phone"] .cov table{font-size:13px}
[data-view="phone"] .cov th{font-size:12px}
[data-view="phone"] .cov .cd{font-size:12px}
[data-view="phone"] .stc h5 span{font-size:12px}
[data-view="phone"] .stc .orgs{font-size:13px}
[data-view="phone"] .cov-strip div{font-size:11.5px}
[data-view="phone"] .org-row b{font-size:14px}
[data-view="phone"] .org-row .m{font-size:12px}
[data-view="phone"] .stage{font-size:11.5px}
[data-view="phone"] .pl-col h6{font-size:12px}
[data-view="phone"] .ptype{font-size:11.5px}
[data-view="phone"] .ptype-btn{font-size:13px}
[data-view="phone"] .stage-sel{font-size:14px}
[data-view="phone"] .notes-ta{font-size:14px}
[data-view="phone"] .modal input{font-size:14px}
[data-view="phone"] .admin-login-card p{font-size:14px}
[data-view="phone"] .admin-login-err{font-size:14px}
[data-view="phone"] .adm-brand span{font-size:11.5px}
[data-view="phone"] .nav-foot{font-size:13px}
[data-view="phone"] .nav-foot button{font-size:13px}
[data-view="phone"] .pl-tabs button i{font-size:13px}
[data-view="phone"] .pl-hint{font-size:14.5px}
[data-view="phone"] .card-h small{font-size:13px}
[data-view="phone"] .btn-xs{font-size:12.5px}
[data-view="phone"] .grant{font-size:14px}
[data-view="phone"] .g-head b{font-size:14.5px}
[data-view="phone"] .g-acts{font-size:12.5px}
[data-view="phone"] .inst{font-size:13px}
[data-view="phone"] .inst th{font-size:11.5px}
[data-view="phone"] .lrow{font-size:14px}
[data-view="phone"] .person{font-size:14.5px}
[data-view="phone"] .person-acts{font-size:12.5px}
[data-view="phone"] .step{font-size:14px}
[data-view="phone"] .step em{font-size:13px}
[data-view="phone"] .tp{font-size:14px}
[data-view="phone"] .tp-when{font-size:12.5px}
[data-view="phone"] .ed label{font-size:12px}
[data-view="phone"] .ed input,[data-view="phone"] .ed textarea{font-size:14.5px}
[data-view="phone"] .svc{font-size:13.5px}
[data-view="phone"] .svc th{font-size:11.5px}
[data-view="phone"] .v-grid{font-size:13.5px}
[data-view="phone"] .v-grid label{font-size:11.5px}
[data-view="phone"] .vflag{font-size:12.5px}
[data-view="phone"] .kpi h4{font-size:12.5px}
[data-view="phone"] .kpi p{font-size:13.5px}
[data-view="phone"] .st-col h6{font-size:12px}
[data-view="phone"] .srow b{font-size:14.5px}
[data-view="phone"] .srow span{font-size:12.5px}
[data-view="phone"] .empty{font-size:13.5px}
[data-view="phone"] .attn li{font-size:14px}
[data-view="phone"] .attn span{font-size:13.5px}
[data-view="phone"] .pipe-legend{font-size:13px}
[data-view="phone"] .ratechip b{font-size:13px}
[data-view="phone"] .ratechip small{font-size:12px}
[data-view="phone"] .inv-sel{font-size:14.5px}
[data-view="phone"] .board-hint{font-size:13.5px}
[data-view="phone"] .ret-tag{font-size:12px}
[data-view="phone"] .new-tag{font-size:12px}
[data-view="phone"] .hist-grid label{font-size:12px}
[data-view="phone"] .hist-grid span{font-size:13px}
[data-view="phone"] .ktiles .kpi p{font-size:13.5px}
[data-view="phone"] .kchips span{font-size:13px}
[data-view="phone"] .sort-ind{font-size:11.5px}
[data-view="phone"] .board-sort button{font-size:13px}
[data-view="phone"] .gran-tag{font-size:12px}
[data-view="phone"] .tp-notes{font-size:14px}
[data-view="phone"] .tp-notes summary{font-size:13px}
[data-view="phone"] .unver{font-size:12px}
[data-view="phone"] .ver{font-size:12px}
[data-view="phone"] .vs{font-size:13px}
[data-view="phone"] .vm-h{font-size:13px}
[data-view="phone"] .vm-chk em{font-size:12.5px}
[data-view="phone"] .vm-chk small{font-size:13px}
[data-view="phone"] .inv-f span{font-size:12.5px}
[data-view="phone"] .seg button{font-size:14px}
[data-view="phone"] .fbar input,[data-view="phone"] .fbar select{font-size:14px}
[data-view="phone"] .fbar .cnt{font-size:13.5px}
[data-view="phone"] .tbl th{font-size:12px}
[data-view="phone"] .tbl td{font-size:14.5px}
[data-view="phone"] .subt{font-size:13px}
[data-view="phone"] .role-pill{font-size:13px}
[data-view="phone"] .role-pill i{font-size:12px}
[data-view="phone"] .role-pill.mini{font-size:12px}
[data-view="phone"] .role-pill.mini i{font-size:11.5px}
[data-view="phone"] .bcol h6{font-size:12px}
[data-view="phone"] .bcol h6 span{font-size:12px}
[data-view="phone"] .bcard b{font-size:14px}
[data-view="phone"] .bcard .m{font-size:12px}
[data-view="phone"] .status-tag{font-size:11.5px}
[data-view="phone"] .conv{font-size:13.5px}
[data-view="phone"] .conv th{font-size:11.5px}
[data-view="phone"] .who a{font-size:12.5px}
[data-view="phone"] .chat-hd span{font-size:13px}
[data-view="phone"] .chat-empty p{font-size:14.5px}
[data-view="phone"] .chat-sug{font-size:14.5px}
[data-view="phone"] .chat-ans h6{font-size:14px}
[data-view="phone"] .chat-ans table{font-size:14px}
[data-view="phone"] .chat-ans th{font-size:12.5px}
[data-view="phone"] .chat-setup{font-size:14.5px}
[data-view="phone"] .gapflag{font-size:12px}
[data-view="phone"] .unver.dot{font-size:12px}
[data-view="phone"] .rates-tbl td small{font-size:12px}
[data-view="phone"] .trend{font-size:13px}
[data-view="phone"] .changes{font-size:14px}
[data-view="phone"] .rt-list b{font-size:14.5px}
[data-view="phone"] .rt-list small{font-size:12.5px}
[data-view="phone"] .rt-col h6{font-size:12px}
[data-view="phone"] .ocard b{font-size:14.5px}
[data-view="phone"] .ocard p{font-size:12.5px}
[data-view="phone"] .tiny{font-size:12.5px}
[data-view="phone"] .notice{font-size:13.5px}
[data-view="phone"] .panel-hd .status-line{font-size:13px}
[data-view="phone"] .details summary{font-size:12px}
[data-view="phone"] .adm-main [style*="font-size: 9px"],[data-view="phone"] .panel [style*="font-size: 9px"],[data-view="phone"] .modal [style*="font-size: 9px"]{font-size:11.5px!important}
[data-view="phone"] .adm-main [style*="font-size: 9.5px"],[data-view="phone"] .panel [style*="font-size: 9.5px"],[data-view="phone"] .modal [style*="font-size: 9.5px"]{font-size:11.5px!important}
[data-view="phone"] .adm-main [style*="font-size: 10px"],[data-view="phone"] .panel [style*="font-size: 10px"],[data-view="phone"] .modal [style*="font-size: 10px"]{font-size:12px!important}
[data-view="phone"] .adm-main [style*="font-size: 10.5px"],[data-view="phone"] .panel [style*="font-size: 10.5px"],[data-view="phone"] .modal [style*="font-size: 10.5px"]{font-size:12.5px!important}
[data-view="phone"] .adm-main [style*="font-size: 11px"],[data-view="phone"] .panel [style*="font-size: 11px"],[data-view="phone"] .modal [style*="font-size: 11px"]{font-size:13px!important}
[data-view="phone"] .adm-main [style*="font-size: 11.5px"],[data-view="phone"] .panel [style*="font-size: 11.5px"],[data-view="phone"] .modal [style*="font-size: 11.5px"]{font-size:13.5px!important}
[data-view="phone"] .adm-main [style*="font-size: 12px"],[data-view="phone"] .panel [style*="font-size: 12px"],[data-view="phone"] .modal [style*="font-size: 12px"]{font-size:14px!important}
[data-view="phone"] .adm-main [style*="font-size: 12.5px"],[data-view="phone"] .panel [style*="font-size: 12.5px"],[data-view="phone"] .modal [style*="font-size: 12.5px"]{font-size:14.5px!important}
/* ── end type scale ── */

/* ── Shared ── */
.view-switch{text-align:center;font-family:'Outfit',sans-serif;font-size:11.5px;padding:18px 16px 22px;color:#8b8678}
.view-switch a{color:#8b8678;text-decoration:underline;text-underline-offset:2px;margin:0 3px}
.view-switch a:hover{color:#232323}
@media print{.view-switch{display:none}}

[data-view="phone"] body{-webkit-text-size-adjust:100%;overflow-x:hidden}
/* iOS zooms into any field under 16px — keep every input at 16px on phones */
[data-view="phone"] input,[data-view="phone"] select,[data-view="phone"] textarea{font-size:16px!important}
[data-view="phone"] .btn{min-height:44px}
[data-view="phone"] .btn-xs,[data-view="phone"] .btn-sm{min-height:36px}

/* ── Assessment: header, gate, intro ── */
[data-view="phone"] .hdr{padding:12px 16px;gap:12px;position:sticky;top:0;z-index:20}
[data-view="phone"] .hdr .lm{width:34px;height:34px;font-size:15px}
[data-view="phone"] .hdr h1{font-size:15px;line-height:1.25}
[data-view="phone"] .hdr .sub{font-size:11px}
[data-view="phone"] .prog{padding:10px 16px;position:sticky;top:58px;z-index:19}
[data-view="phone"] .gate{padding:20px 16px;justify-content:flex-start;padding-top:12vh}
[data-view="phone"] .gate-card{padding:32px 22px;border-radius:14px}
[data-view="phone"] .gate-input{padding:15px 16px}
[data-view="phone"] .intro{padding:28px 18px 20px;text-align:left}
[data-view="phone"] .intro h2{font-size:25px;line-height:1.25}
[data-view="phone"] .intro p{font-size:15px;line-height:1.7}
[data-view="phone"] .intro-4{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}
[data-view="phone"] .intro .btn-go{width:100%;padding:16px;font-size:16px}

/* ── Assessment: questions ── */
[data-view="phone"] .fc{padding:20px 14px 8px}
[data-view="phone"] .st{font-size:21px;line-height:1.3}
[data-view="phone"] .sd{font-size:14px;margin-bottom:18px}
[data-view="phone"] .qb{padding:18px 16px;margin-bottom:14px;border-radius:12px}
[data-view="phone"] .ql{font-size:15px;line-height:1.45}
[data-view="phone"] .qh{font-size:13px}
[data-view="phone"] .og.two,[data-view="phone"] .grid2{grid-template-columns:1fr}
[data-view="phone"] .og{gap:8px}
[data-view="phone"] .oi{padding:14px 14px;min-height:50px;align-items:center;border-radius:10px}
[data-view="phone"] .oi input{width:20px;height:20px;margin-top:0}
[data-view="phone"] .oi label{font-size:15px;line-height:1.45}
[data-view="phone"] .ti,[data-view="phone"] .tai{padding:13px 14px;border-radius:10px}
/* State picker: bigger chips, search pinned at top */
[data-view="phone"] .sp-tools{position:sticky;top:0;background:#fff;z-index:2}
[data-view="phone"] .sp-tools input{min-width:0;padding:11px 12px}
[data-view="phone"] .sp-tools button{padding:9px 12px;font-size:12.5px}
[data-view="phone"] .sp-grid{grid-template-columns:repeat(5,1fr);gap:7px;max-height:300px;padding:10px}
[data-view="phone"] .sp-chip{padding:12px 2px;font-size:14px;border-radius:8px}
[data-view="phone"] .sp-sel{font-size:13px}
/* Rate matrix: each rate becomes a card with three big buttons */
[data-view="phone"] .rm-hd{display:none}
[data-view="phone"] .rm-row{grid-template-columns:1fr;gap:10px;padding:14px}
[data-view="phone"] .rm-row .rn{font-size:15px}
[data-view="phone"] .rm-row .rd{font-size:12.5px}
[data-view="phone"] .rm-opt{padding:12px 4px;font-size:13px;border-radius:8px}
/* Prev / Next stay pinned to the bottom of the screen */
[data-view="phone"] .fc .nav{position:sticky;bottom:0;z-index:15;background:rgba(250,250,248,.96);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin:18px -14px 0;padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid #E6E3DA}
[data-view="phone"] .fc .nav .btn{flex:1;padding:14px 10px;font-size:15px}
[data-view="phone"] .fc .nav .btn-s{flex:0 0 34%}

/* ── Admin: top bar + bottom tab bar ── */
[data-view="phone"] .adm{grid-template-columns:1fr;min-height:100vh}
[data-view="phone"] .adm-nav{position:sticky;top:0;z-index:60;height:auto;flex-direction:row;align-items:center;gap:10px;padding:10px 14px}
[data-view="phone"] .adm-brand{border:0;padding:0;margin:0}
[data-view="phone"] .adm-brand .lm{width:30px;height:30px;font-size:13px}
[data-view="phone"] .adm-brand b{font-size:13px}
[data-view="phone"] .adm-brand span{display:none}
[data-view="phone"] .adm-nav nav{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;background:var(--g);border-top:1px solid rgba(255,255,255,.12);padding:4px 4px calc(4px + env(safe-area-inset-bottom));overflow-x:auto;scrollbar-width:none}
[data-view="phone"] .adm-nav nav::-webkit-scrollbar{display:none}
[data-view="phone"] .nav-item{flex:1 0 auto;min-width:58px;width:auto;margin:0;padding:9px 6px;text-align:center;border-radius:8px}
[data-view="phone"] .nav-item b{font-size:11.5px}
[data-view="phone"] .nav-item span{display:none}
[data-view="phone"] .nav-foot{margin:0 0 0 auto;padding:0;border:0}
[data-view="phone"] .nav-foot .who{display:none}
[data-view="phone"] .nav-foot .links{gap:2px 10px;justify-content:flex-end}
[data-view="phone"] .nav-foot button{font-size:11.5px;padding:6px 0}
[data-view="phone"] body:has(.adm) .view-switch{padding-bottom:calc(76px + env(safe-area-inset-bottom))}

/* ── Admin: content ── */
[data-view="phone"] .adm-main{padding:16px 12px 24px}
[data-view="phone"] .adm-head{align-items:flex-start;margin-bottom:14px;gap:10px}
[data-view="phone"] .adm-head h1{font-size:22px}
[data-view="phone"] .adm-head p{font-size:12.5px}
[data-view="phone"] .adm-head .acts{width:100%}
[data-view="phone"] .adm-head .acts .seg{width:100%;display:flex}
[data-view="phone"] .adm-head .acts .seg button{flex:1}
[data-view="phone"] .card{border-radius:12px}
[data-view="phone"] .card-h{padding:12px 14px}
[data-view="phone"] .card-b{padding:14px}
[data-view="phone"] .kpis{grid-template-columns:1fr 1fr!important;gap:10px}
[data-view="phone"] .kpi{padding:12px 13px}
[data-view="phone"] .kpi .n{font-size:26px}
[data-view="phone"] .kpi p{font-size:11px;line-height:1.4}
[data-view="phone"] .ov-grid,[data-view="phone"] .st-layout,[data-view="phone"] .rt-layout,[data-view="phone"] .rt-cols,[data-view="phone"] .st-col3,[data-view="phone"] .mx-wrap{grid-template-columns:1fr!important}
[data-view="phone"] .map-card{position:static}
[data-view="phone"] .map-legend{font-size:10.5px}
[data-view="phone"] .rv-card{grid-template-columns:1fr!important;gap:10px;padding:14px}
[data-view="phone"] .v-grid,[data-view="phone"] .ap-2,[data-view="phone"] .ed-card{grid-template-columns:1fr}
[data-view="phone"] .ratechips{grid-template-columns:repeat(4,1fr)!important}
[data-view="phone"] .pipe-legend{grid-template-columns:repeat(3,1fr)}
[data-view="phone"] .attn li{padding:10px 4px}
/* Board: swipe between stage columns */
[data-view="phone"] .board{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;-webkit-overflow-scrolling:touch}
[data-view="phone"] .bcol{flex:0 0 82%;scroll-snap-align:start}
/* Pipeline table → one card per partner */
[data-view="phone"] .tbl .pl-table thead{display:none}
[data-view="phone"] .tbl .pl-table,[data-view="phone"] .tbl .pl-table tbody,[data-view="phone"] .tbl .pl-table tr,[data-view="phone"] .tbl .pl-table td{display:block;width:100%}
[data-view="phone"] .tbl .pl-table tr{border-bottom:8px solid #F6F5F1;padding:12px 14px}
[data-view="phone"] .tbl .pl-table td{border:0;padding:4px 0;max-width:none!important;min-width:0!important;white-space:normal!important}
[data-view="phone"] .tbl .pl-table td[data-label]:not([data-label=""]):before{content:attr(data-label);display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--tl);font-weight:600;margin-bottom:1px}
[data-view="phone"] .tbl .pl-table td.c-org .orgname{font-size:15px}
[data-view="phone"] .tbl .pl-table td.c-acts{padding-top:8px}
/* Wide grids scroll sideways with the org name pinned */
[data-view="phone"] .cov table td:first-child,[data-view="phone"] .cov table th:first-child{position:sticky;left:0;background:#fff;z-index:1}
[data-view="phone"] .rates-tbl,[data-view="phone"] .inst,[data-view="phone"] .svc{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
[data-view="phone"] .conv{font-size:12px}
/* Partner panel: full screen sheet */
[data-view="phone"] .panel{width:100vw;z-index:120}
[data-view="phone"] .panel-hd{padding:12px 14px}
[data-view="phone"] .panel-bd{padding:14px}
[data-view="phone"] .panel-act{padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:8px}
[data-view="phone"] .panel-act .btn{flex:1 1 45%}
[data-view="phone"] .person{flex-wrap:wrap}
[data-view="phone"] .tp{grid-template-columns:1fr;gap:2px}
[data-view="phone"] .grant{padding:10px}
/* Modals: near full width, scroll inside */
[data-view="phone"] .modal-ov{align-items:flex-end}
[data-view="phone"] .modal{width:100%;max-width:none!important;border-radius:16px 16px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));max-height:92vh;overflow-y:auto}
[data-view="phone"] .modal-act .btn{flex:1}
[data-view="phone"] .admin-login-card{width:calc(100% - 24px)!important;max-width:none}

/* ── Results page ── */
[data-view="phone"] .rc{padding:18px 12px}
[data-view="phone"] .rh{margin-bottom:20px}
[data-view="phone"] .rh h2{font-size:24px}
[data-view="phone"] .summary{grid-template-columns:1fr 1fr!important;gap:8px}
[data-view="phone"] .sc{padding:12px}
[data-view="phone"] .pc-h{padding:14px 16px;align-items:flex-start}
[data-view="phone"] .pc-h h3{font-size:16px}
[data-view="phone"] .pc-b{padding:16px}
[data-view="phone"] .rate-grid{grid-template-columns:1fr 1fr}
[data-view="phone"] .roles-3{grid-template-columns:1fr}
[data-view="phone"] .eco-row{flex-wrap:wrap;gap:6px}
[data-view="phone"] .eco-type{width:100%}
[data-view="phone"] .print-btn{width:100%}

/* Pipeline filters: tidy two-column grid, search full width */
[data-view="phone"] .fbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
[data-view="phone"] .fbar input{grid-column:1/-1;width:100%}
[data-view="phone"] .fbar select{width:100%;min-width:0}
[data-view="phone"] .fbar > *:not(input):not(select){grid-column:1/-1}
/* Buttons that are links: center their labels */
[data-view="phone"] .panel-act .btn,[data-view="phone"] .rv-acts .btn{display:flex;align-items:center;justify-content:center;text-align:center}
/* State rates table: drop the "moved by" column (the convene table right below shows it) */
[data-view="phone"] .rates-tbl th:nth-child(5),[data-view="phone"] .rates-tbl td:nth-child(5){display:none}

/* ── v25: larger tap targets and type on phones ── */
/* Assessment */
[data-view="phone"] .hdr h1{font-size:16.5px}
[data-view="phone"] .hdr .sub{font-size:12px}
[data-view="phone"] .prog-txt{font-size:13px}
[data-view="phone"] .st{font-size:24px}
[data-view="phone"] .sd{font-size:16px;line-height:1.65}
[data-view="phone"] .ql{font-size:17px}
[data-view="phone"] .qh{font-size:14.5px}
[data-view="phone"] .oi{padding:16px 15px;min-height:56px}
[data-view="phone"] .oi input{width:22px;height:22px}
[data-view="phone"] .oi label{font-size:16.5px}
[data-view="phone"] .sp-chip{padding:14px 2px;font-size:15.5px}
[data-view="phone"] .sp-tools button{font-size:14px;padding:10px 13px}
[data-view="phone"] .sp-sel{font-size:14px}
[data-view="phone"] .rm-row .rn{font-size:16.5px}
[data-view="phone"] .rm-row .rd{font-size:14px}
[data-view="phone"] .rm-opt{padding:15px 4px;font-size:15px}
[data-view="phone"] .intro p{font-size:16.5px}
[data-view="phone"] .intro-4 b{font-size:14.5px}
[data-view="phone"] .intro-4 span{font-size:13.5px}
[data-view="phone"] .intro-co{font-size:15px}
[data-view="phone"] .fc .nav{padding:14px 14px calc(14px + env(safe-area-inset-bottom))}
[data-view="phone"] .fc .nav .btn{min-height:58px;font-size:17.5px;padding:16px 10px;border-radius:12px}
[data-view="phone"] .intro .btn-go,[data-view="phone"] .gate-btn{min-height:58px;font-size:17.5px;border-radius:12px}
[data-view="phone"] .gate-card p{font-size:15.5px}
[data-view="phone"] .gate-input{font-size:17px!important;padding:17px 16px}
[data-view="phone"] .view-switch{font-size:13.5px}
/* Admin: bottom tab bar */
[data-view="phone"] .adm-nav nav{padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
[data-view="phone"] .nav-item{min-width:76px;padding:13px 8px;border-radius:10px}
[data-view="phone"] .nav-item b{font-size:14px}
[data-view="phone"] body:has(.adm) .view-switch{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
[data-view="phone"] .adm-brand b{font-size:15px}
[data-view="phone"] .nav-foot button{font-size:13.5px;padding:8px 0}
/* Admin: type */
[data-view="phone"] .adm-head h1{font-size:25px}
[data-view="phone"] .adm-head p{font-size:15px}
[data-view="phone"] .card-h h3{font-size:17.5px}
[data-view="phone"] .card-h small{font-size:12.5px}
[data-view="phone"] .tiny{font-size:13px!important}
[data-view="phone"] .subt{font-size:13.5px}
[data-view="phone"] .kpi h4{font-size:12px}
[data-view="phone"] .kpi .n{font-size:28px}
[data-view="phone"] .kpi p{font-size:13px}
[data-view="phone"] .attn b{font-size:15px}
[data-view="phone"] .attn span{font-size:13.5px}
[data-view="phone"] .tbl td{font-size:15px}
[data-view="phone"] .tbl .pl-table td.c-org .orgname{font-size:17px}
[data-view="phone"] .tbl .pl-table td[data-label]:not([data-label=""]):before{font-size:11px}
[data-view="phone"] .pt-tag{font-size:12.5px!important;padding:3px 9px!important}
[data-view="phone"] .lrow{font-size:14.5px;padding:10px 4px}
[data-view="phone"] .lrow .g-amt{font-size:15px}
[data-view="phone"] .grant{font-size:14px}
[data-view="phone"] .g-head b{font-size:15px}
[data-view="phone"] .inst{font-size:13px}
[data-view="phone"] .panel-hd h3{font-size:19px}
[data-view="phone"] .panel-sec h4{font-size:12px}
[data-view="phone"] .panel-fld .val{font-size:15px}
[data-view="phone"] .v-grid{font-size:14px}
[data-view="phone"] .v-grid label{font-size:11px}
[data-view="phone"] .vflag{font-size:12.5px}
[data-view="phone"] .ed label{font-size:12px}
[data-view="phone"] .conv{font-size:14px}
[data-view="phone"] .bcard b{font-size:15px}
[data-view="phone"] .seg button{font-size:14px;padding:10px 8px}
[data-view="phone"] .btn-sm{font-size:14.5px;min-height:42px}
[data-view="phone"] .btn-xs{font-size:13.5px;min-height:38px;padding:6px 11px}
[data-view="phone"] .link{font-size:14px}
/* Results */
[data-view="phone"] .pt-def,[data-view="phone"] .tier-def{font-size:15px}
[data-view="phone"] .pc-h .pt{font-size:13.5px}
[data-view="phone"] .rate-cell p,[data-view="phone"] .eco-desc{font-size:13.5px}
[data-view="phone"] .rate-note,[data-view="phone"] .note-box{font-size:14px}
[data-view="phone"] .svc{font-size:13.5px}
[data-view="phone"] .sc h4{font-size:11.5px}
/* AI chat on phones: full screen, button sits above the tab bar */
[data-view="phone"] .chat-fab{right:14px;bottom:calc(84px + env(safe-area-inset-bottom));padding:14px 20px;font-size:16px}
[data-view="phone"] .chat-panel{inset:0;width:100%;max-width:none;height:100%;border-radius:0;border:0;z-index:130}
[data-view="phone"] .chat-hd{padding:14px 16px calc(14px) 16px}
[data-view="phone"] .chat-ans,[data-view="phone"] .chat-bubble{font-size:15.5px}
[data-view="phone"] .chat-sug{font-size:15px;padding:13px 14px}
[data-view="phone"] .chat-in{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
[data-view="phone"] .chat-x{width:40px;height:40px;font-size:17px}
[data-view="phone"] .inv-layout{grid-template-columns:1fr!important}
[data-view="phone"] .inv-layout .pl-table td[data-label="Committed"],[data-view="phone"] .inv-layout .pl-table td[data-label="Paid"],[data-view="phone"] .inv-layout .pl-table td[data-label="To pay out"]{text-align:left!important;display:inline-block;width:33%}

[data-view="phone"] .adm-head .acts .inv-sel{flex:1 1 45%;font-size:15px}
[data-view="phone"] .inv-f{flex:1 1 100%;min-width:0}
[data-view="phone"] .inv-f select{font-size:16px;padding:11px 12px}
[data-view="phone"] .inv-grp .seg button{font-size:14px;padding:8px 10px}
[data-view="phone"] .vm-step{grid-template-columns:1fr}
[data-view="phone"] .vet-modal .ap-2{grid-template-columns:1fr}
[data-view="phone"] .board .bcol{flex:0 0 82%}
[data-view="phone"] .board-arr{display:none}
[data-view="phone"] .hist-grid{grid-template-columns:1fr}
[data-view="phone"] .ktiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* ══════════ v35 phone layout — admin, rebuilt for one-handed use ══════════
   Desktop is untouched: every rule is scoped to [data-view="phone"]; the new elements
   (.nav-ic, .nav-more, .top-ask, .more-ov, .flt-tog, .inv-tog-row, .pjump) are display:none on desktop. */
[data-view="phone"] body:has(.adm){background:#F4F2EC}
/* Top bar: brand + Ask. Account links live in the More sheet. */
[data-view="phone"] .adm-nav{padding:10px 14px calc(10px);padding-top:calc(10px + env(safe-area-inset-top));gap:10px;min-height:58px;box-shadow:0 1px 0 rgba(255,255,255,.06)}
[data-view="phone"] .adm-brand .lm{width:32px;height:32px;font-size:13.5px}
[data-view="phone"] .adm-brand b{font-size:16px;letter-spacing:.01em}
[data-view="phone"] .nav-foot{display:none}
[data-view="phone"] .top-ask{display:inline-flex;align-items:center;gap:7px;margin-left:auto;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:9px 16px;font-family:'Outfit',sans-serif;font-size:15px;font-weight:600;min-height:40px}
[data-view="phone"] .top-ask span{color:var(--y)}
[data-view="phone"] .chat-fab{display:none!important}
/* Bottom tab bar: five equal tabs with icons */
[data-view="phone"] .adm-nav nav{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#1c1c1c;border-top:1px solid rgba(255,255,255,.08);-webkit-mask-image:none;mask-image:none}
[data-view="phone"] .nav-item{min-width:0;padding:7px 2px 6px;display:flex;flex-direction:column;align-items:center;gap:3px;border-radius:12px;color:rgba(255,255,255,.62)}
[data-view="phone"] .nav-item.nav-sec{display:none}
[data-view="phone"] .nav-item.nav-more{display:flex}
[data-view="phone"] .nav-ic{display:block;width:24px;height:24px}
[data-view="phone"] .nav-item b{font-size:11.5px;font-weight:600;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
[data-view="phone"] .nav-item.on{background:transparent;color:var(--y)}
[data-view="phone"] .nav-item.on b{color:var(--y)}
[data-view="phone"] .nav-item.on .nav-ic{background:rgba(246,183,0,.14);border-radius:10px;padding:3px 12px;width:48px;height:30px;margin:-3px 0}
[data-view="phone"] body:has(.adm) .view-switch{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
/* More sheet */
[data-view="phone"] .more-ov{display:flex;position:fixed;inset:0;z-index:140;background:rgba(20,20,20,.42);align-items:flex-end;animation:psaFade .15s ease}
[data-view="phone"] .more-sheet{width:100%;background:#fff;border-radius:20px 20px 0 0;padding:8px 16px calc(18px + env(safe-area-inset-bottom));animation:psaUp .2s ease;font-family:'Outfit',sans-serif}
[data-view="phone"] .more-grab{width:40px;height:5px;border-radius:3px;background:#D9D5CA;margin:4px auto 12px}
[data-view="phone"] .more-who{font-size:14px;color:var(--tl);margin:0 4px 10px}
[data-view="phone"] .more-who b{color:var(--g)}
[data-view="phone"] .more-row{display:flex;width:100%;align-items:center;gap:14px;background:#F6F5F1;border:0;border-radius:14px;padding:14px 14px;margin-bottom:8px;text-align:left;font-family:inherit;color:var(--g)}
[data-view="phone"] .more-row .nav-ic{width:26px;height:26px;flex:0 0 26px;color:var(--g)}
[data-view="phone"] .more-row span{flex:1;min-width:0}
[data-view="phone"] .more-row b{display:block;font-size:17px;font-weight:600}
[data-view="phone"] .more-row small{display:block;font-size:13.5px;color:var(--tl);margin-top:1px}
[data-view="phone"] .more-row i{font-style:normal;font-size:22px;color:#B5B0A2}
[data-view="phone"] .more-row.on{background:#FFF7DD;box-shadow:inset 0 0 0 1.5px var(--y)}
[data-view="phone"] .more-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
[data-view="phone"] .more-links button{background:#fff;border:1px solid #E6E3DA;border-radius:12px;padding:13px 10px;font-family:inherit;font-size:15px;font-weight:500;color:var(--g);min-height:48px}
[data-view="phone"] .more-links button:last-child{grid-column:1/-1;color:#B3261E}
@keyframes psaUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes psaFade{from{opacity:0}to{opacity:1}}

/* Page header */
[data-view="phone"] .adm-main{padding:18px 14px 28px}
[data-view="phone"] .adm-head{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}
[data-view="phone"] .adm-head h1{font-size:28px;line-height:1.15;letter-spacing:-.01em}
[data-view="phone"] .adm-head p{font-size:15px;line-height:1.5;color:#5f5a4f;margin-top:6px}
[data-view="phone"] .adm-head .acts{display:flex;flex-wrap:wrap;gap:8px}
[data-view="phone"] .adm-head .acts .btn{flex:1 1 auto;min-height:46px;font-size:15px;border-radius:12px}
/* Segmented controls scroll sideways instead of wrapping */
[data-view="phone"] .seg{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;width:100%;padding:4px;border-radius:12px}
[data-view="phone"] .seg::-webkit-scrollbar{display:none}
[data-view="phone"] .seg button{flex:1 0 auto;white-space:nowrap;font-size:15px;padding:11px 14px;border-radius:9px;min-height:44px}
/* Cards & KPIs */
[data-view="phone"] .card{border-radius:16px;border-color:#E8E4DA}
[data-view="phone"] .card-h{padding:15px 16px}
[data-view="phone"] .card-h h3{font-size:19px}
[data-view="phone"] .card-b{padding:16px}
[data-view="phone"] .kpis{gap:10px}
[data-view="phone"] .kpi{border-radius:16px;padding:14px 14px 13px;border-color:#E8E4DA}
[data-view="phone"] .kpi h4{font-size:12px;letter-spacing:.07em;min-height:0;margin-bottom:4px;line-height:1.3}
[data-view="phone"] .kpi .n{font-size:32px;line-height:1.1}
[data-view="phone"] .kpi p{font-size:14px;line-height:1.4}
[data-view="phone"] .attn li{padding:14px 2px;gap:12px}
[data-view="phone"] .attn b{font-size:16px;line-height:1.35}
[data-view="phone"] .attn span{font-size:14px;line-height:1.45}
[data-view="phone"] .tag,[data-view="phone"] .pt-tag{font-size:13px!important;padding:4px 10px!important;border-radius:999px}
/* Filters: search + a Filters button; the selects open in a drawer */
[data-view="phone"] .fbar{grid-template-columns:1fr auto!important;gap:8px;margin-bottom:14px}
[data-view="phone"] .fbar input{grid-column:1!important;min-height:48px;border-radius:12px;padding:12px 14px}
[data-view="phone"] .fbar .flt-tog{grid-column:2!important;grid-row:1}
[data-view="phone"] .flt-tog{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #DCD8CD;border-radius:12px;padding:0 14px;min-height:48px;font-family:'Outfit',sans-serif;font-size:15px;font-weight:600;color:var(--g)}
[data-view="phone"] .flt-tog svg{width:20px;height:20px}
[data-view="phone"] .flt-tog i{font-style:normal;background:var(--g);color:#fff;border-radius:999px;font-size:12.5px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
[data-view="phone"] .flt-tog.on{background:var(--g);color:#fff;border-color:var(--g)}
[data-view="phone"] .flt-tog.on i{background:var(--y);color:var(--g)}
[data-view="phone"] .fbar select,[data-view="phone"] .fbar .btn{display:none}
[data-view="phone"] .fbar.open select,[data-view="phone"] .fbar.open .btn{display:block;grid-column:1/-1!important;min-height:48px;border-radius:12px}
[data-view="phone"] .fbar.open{background:#fff;border:1px solid #E8E4DA;border-radius:16px;padding:10px}
[data-view="phone"] .fbar .cnt{grid-column:1/-1!important;font-size:13.5px;text-align:left!important}
[data-view="phone"] .inv-tog-row{display:flex;align-items:center;gap:12px}
[data-view="phone"] .inv-tog-row .tiny{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-view="phone"] .inv-filters:not(.open) .inv-frow:not(.inv-grp){display:none}
[data-view="phone"] .inv-filters .inv-frow{margin-top:12px}
[data-view="phone"] .inv-grp{flex-direction:column;align-items:stretch!important;gap:6px}
/* Review / release cards */
[data-view="phone"] .rv-card{border-radius:16px;padding:16px;border-color:#E8E4DA}
[data-view="phone"] .rv-card h3{font-size:21px}
[data-view="phone"] .rv-acts .btn{min-height:50px;font-size:16px;border-radius:12px}
/* Board: one stage per swipe, bigger cards */
[data-view="phone"] .bcol{flex:0 0 86%;padding:12px;border-radius:16px}
[data-view="phone"] .bcard{padding:14px;border-radius:12px;margin-bottom:10px}
[data-view="phone"] .bcard b{font-size:16.5px}
/* Lists inside cards */
[data-view="phone"] .lrow{font-size:15px;padding:12px 2px}
[data-view="phone"] .conv td,[data-view="phone"] .conv th{padding:10px 6px}
[data-view="phone"] .conv th{font-size:11.5px}
/* State: map card then the brief */
[data-view="phone"] .map-legend{font-size:13px;gap:8px 12px}
[data-view="phone"] .st-panel h2{font-size:26px}

/* Partner panel: full-screen sheet with sticky header, section chips and a one-row action bar */
[data-view="phone"] .panel{background:#fff}
[data-view="phone"] .panel-hd{flex-wrap:wrap;align-items:flex-start;padding:12px 14px 0;padding-top:calc(12px + env(safe-area-inset-top));gap:0;z-index:5;box-shadow:0 1px 0 #EEEBE3}
[data-view="phone"] .panel-hd > div:first-child{flex:1;min-width:0}
[data-view="phone"] .panel-hd h3{font-size:22px;line-height:1.2}
[data-view="phone"] .status-line{font-size:13.5px;gap:6px}
[data-view="phone"] .panel-x{width:44px;height:44px;font-size:20px;background:#F3F1EB;border-radius:50%;color:var(--g);flex:0 0 44px;display:flex;align-items:center;justify-content:center}
[data-view="phone"] .pjump{display:flex;flex:0 0 100%;gap:6px;overflow-x:auto;scrollbar-width:none;margin:10px -14px 0;padding:0 14px 10px}
[data-view="phone"] .pjump::-webkit-scrollbar{display:none}
[data-view="phone"] .pjump button{flex:0 0 auto;border:1px solid #E2DED3;background:#fff;border-radius:999px;padding:8px 14px;font-family:'Outfit',sans-serif;font-size:14px;font-weight:500;color:#5f5a4f;min-height:38px}
[data-view="phone"] .pjump button.on{background:var(--g);border-color:var(--g);color:#fff}
[data-view="phone"] .panel-bd{padding:16px 14px 24px}
[data-view="phone"] .panel-sec{margin-bottom:26px}
[data-view="phone"] .panel-sec h4{font-size:13px!important;letter-spacing:.08em;margin-bottom:10px}
[data-view="phone"] .panel-act{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -6px 18px rgba(0,0,0,.06)}
[data-view="phone"] .panel-act::-webkit-scrollbar{display:none}
[data-view="phone"] .panel-act .btn{flex:0 0 auto;min-height:46px;font-size:15px;padding:10px 16px;border-radius:12px;white-space:nowrap}
[data-view="phone"] .panel-act .btn:last-child{display:none}
[data-view="phone"] .panel-act .btn[style*="FFEBEE"]{margin-left:0!important}
[data-view="phone"] .grant{border-radius:14px;padding:14px}
[data-view="phone"] .inst{display:block;overflow-x:auto}
[data-view="phone"] .inst td,[data-view="phone"] .inst th{white-space:nowrap}
/* Modals as bottom sheets */
[data-view="phone"] .modal{border-radius:20px 20px 0 0;padding:22px 16px calc(20px + env(safe-area-inset-bottom))}
[data-view="phone"] .modal h3{font-size:21px}
[data-view="phone"] .modal-act{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom));background:#fff;padding-top:10px}
[data-view="phone"] .modal-act .btn{min-height:50px;font-size:16px;border-radius:12px}

/* ══════════ v36 — app mode (home screen), pull to refresh ══════════ */
.ptr-hint{display:none}
[data-view="phone"] .ptr-hint{display:inline}
[data-view="phone"] body:has(.adm){overscroll-behavior-y:contain}
[data-view="phone"] .ov-refresh{display:none}
[data-view="phone"] .sync-stamp{white-space:nowrap}
[data-view="phone"] .ptr{display:flex;position:fixed;left:50%;top:calc(env(safe-area-inset-top) + 50px);z-index:70;width:42px;height:42px;margin-top:-42px;border-radius:50%;background:#fff;color:#232323;box-shadow:0 4px 14px rgba(0,0,0,.18);align-items:center;justify-content:center;transform:translate(-50%,0);opacity:0;transition:transform .2s ease,opacity .2s ease;pointer-events:none}
[data-view="phone"] .ptr svg{width:22px;height:22px;transition:transform .2s}
[data-view="phone"] .ptr.ready svg{transform:rotate(180deg);color:#b88900}
[data-view="phone"] .ptr.spin{opacity:1!important}
[data-view="phone"] .ptr.spin svg{animation:psaSpin .8s linear infinite}
@keyframes psaSpin{to{transform:rotate(360deg)}}
/* Install / add-to-home-screen row in More */
[data-view="phone"] .more-install{margin-bottom:10px}
[data-view="phone"] .more-install button,[data-view="phone"] .mi-how{display:flex;width:100%;align-items:center;gap:14px;background:#232323;color:#fff;border:0;border-radius:14px;padding:12px 14px;text-align:left;font-family:inherit}
[data-view="phone"] .more-install img{width:44px;height:44px;border-radius:11px;flex:0 0 44px}
[data-view="phone"] .more-install span{flex:1;min-width:0}
[data-view="phone"] .more-install b{display:block;font-size:16.5px;font-weight:600}
[data-view="phone"] .more-install small{display:block;font-size:13.5px;line-height:1.45;color:#d6d2c4;margin-top:2px}
[data-view="phone"] .more-install em{font-style:normal;font-weight:600;color:#fff}
[data-view="phone"] .more-install small svg{width:16px;height:16px;vertical-align:-3px;color:#f6b700}
[data-view="phone"] .more-install i{font-style:normal;font-size:22px;color:#f6b700}
/* Running from the home screen: feels like an app */
[data-standalone] body{-webkit-tap-highlight-color:transparent}
[data-standalone] .nav-item,[data-standalone] .more-row,[data-standalone] .btn,[data-standalone] .pjump button,[data-standalone] .seg button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
[data-standalone][data-view="phone"] body:has(.adm) .view-switch{display:none}
[data-standalone][data-view="phone"] .adm-main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
[data-standalone] .gate{padding-top:calc(12vh + env(safe-area-inset-top))}
[data-view="phone"] .keep-row{font-size:15px;margin:6px 0 4px}
[data-view="phone"] .keep-row input{width:20px!important;height:20px}

/* ══════════ v37 — Pipeline on phones ══════════ */
[data-view="phone"] .pl-head{align-items:center;margin-bottom:10px}
[data-view="phone"] .pl-title h1{font-size:28px}
[data-view="phone"] .pl-meta{font-size:14px}
[data-view="phone"] .pl-acts .btn{min-height:42px;padding:8px 12px;font-size:14px;border-radius:12px}
[data-view="phone"] .pl-acts .btn:last-child{display:none}
[data-view="phone"] .pl-tabs{position:sticky;top:calc(58px + env(safe-area-inset-top));z-index:30;background:#F4F2EC;margin:0 -14px 12px;padding:0 10px;overflow-x:auto;scrollbar-width:none}
[data-view="phone"] .pl-tabs::-webkit-scrollbar{display:none}
[data-view="phone"] .pl-tabs button{font-size:15.5px;padding:12px 12px 12px;flex:0 0 auto;white-space:nowrap}
[data-view="phone"] .pl-tabs button i{font-size:12.5px;min-width:22px;height:22px}
[data-view="phone"] .pl-morebtn{display:none}
[data-view="phone"] .pl-fbar.open .pl-x{display:block}
[data-view="phone"] .pl-hint{font-size:14px;margin-bottom:12px}
[data-view="phone"] .pl-empty{border-radius:16px;padding:28px 18px}
[data-view="phone"] .pl-empty b{font-size:21px}
[data-view="phone"] .pl-empty span{font-size:15px}
[data-view="phone"] .bh-desk{display:none}
[data-view="phone"] .board-hint{font-size:14px}
[data-view="phone"] .bjump{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -14px 10px;padding:0 14px}
[data-view="phone"] .bjump::-webkit-scrollbar{display:none}
[data-view="phone"] .bjump button{flex:0 0 auto;border:1px solid #E2DED3;background:#fff;border-radius:999px;padding:8px 13px;font-family:'Outfit',sans-serif;font-size:14px;font-weight:500;color:#3d3a33;display:inline-flex;gap:7px;align-items:center;min-height:40px}
[data-view="phone"] .bjump button i{font-style:normal;font-size:12.5px;color:#8a8475;font-weight:600}
[data-view="phone"] .bmove{display:flex;align-items:center;gap:8px;margin:10px 0 2px;padding-top:10px;border-top:1px solid #EEEBE3}
[data-view="phone"] .bmove span{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8a8475}
[data-view="phone"] .bmove select{flex:1;min-height:40px;border-radius:10px;border:1px solid #DCD8CD;background:#FAF8F3;padding:6px 10px;font-family:'Outfit',sans-serif;color:var(--g)}
[data-view="phone"] .board-arr{display:none}
[data-view="phone"] .adm{grid-template-rows:auto 1fr;align-content:start}
[data-view="phone"] .panel-hb{flex:0 0 auto}
[data-view="phone"] .panel-ask{min-height:44px;padding:0 14px;font-size:15px}
