/* v2.9.1 compact mobile promoter navigation; Calibri first, no fixed oversized controls */
body.promoter-mobile{font-family:Calibri,Arial,sans-serif;background:#f4f7fb}
.promoter-mobile header{height:56px;padding:0 max(14px,calc((100vw - 1120px)/2));gap:8px}
.promoter-mobile header .brandline{display:flex;align-items:center;gap:9px;font-size:15px;min-width:0;white-space:nowrap;color:#203552}
.promoter-mobile header .brandline svg{width:23px;height:23px;color:#265bd6;flex:none}
.promoter-mobile header a{font-size:13px;display:flex;align-items:center;gap:5px}
.promoter-mobile header a svg{width:17px;height:17px}
.promoter-mobile main{padding-top:14px;max-width:1120px}
.promoter-mobile .account-info{padding:9px 12px;margin:0 0 12px;background:#fff;border:1px solid #dce5f0;min-height:48px}
.promoter-mobile .account-info #accountLabel{font-size:13px;font-weight:700;color:#243b5e;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.promoter-mobile .account-tools{position:relative;flex:none}
.promoter-mobile .account-tools>button{display:inline-flex;width:34px;height:34px;min-height:34px;padding:7px;border:1px solid #dce5f0;background:#f5f8fd;border-radius:10px;align-items:center;justify-content:center;color:#28528b}
.promoter-mobile .account-tools svg{width:18px;height:18px}
.promoter-mobile .account-dropdown{position:absolute;top:39px;right:0;background:#fff;border:1px solid #dce5f0;box-shadow:0 13px 32px #20385723;z-index:20;border-radius:11px;min-width:165px;padding:6px;display:grid;gap:3px}
.promoter-mobile .account-dropdown button{width:100%;border:0;background:transparent;display:flex;gap:10px;align-items:center;font-size:13px;color:#254368;font-weight:700;padding:10px 8px;text-align:left;border-radius:7px;cursor:pointer}
.promoter-mobile .account-dropdown button:hover{background:#eff5ff}
.promoter-mobile .promoter-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}
.promoter-mobile .promoter-heading h1{font-size:clamp(21px,3.5vw,26px);margin:0;letter-spacing:-.5px}
.promoter-mobile .promoter-heading .subtitle{font-size:11px;color:#73849d}
.promoter-mobile .promoter-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:#e8effa;padding:5px;border-radius:13px;margin-bottom:12px}
.promoter-mobile .promoter-nav button{min-width:0;border:0;border-radius:9px;background:transparent;padding:9px 4px 8px;min-height:54px;color:#58708c;display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer}
.promoter-mobile .promoter-nav button svg{width:19px;height:19px;flex:none}
.promoter-mobile .promoter-nav button.chosen{background:#fff;color:#235cd0;box-shadow:0 2px 7px #234a7e15}
.promoter-mobile .filters{grid-template-columns:1fr 1.5fr 1fr 1fr;padding:12px;gap:9px;align-items:end;margin-bottom:12px}
.promoter-mobile .filters .field{min-width:0}
.promoter-mobile .filters .field label{font-size:11px}
.promoter-mobile .filters .field select{min-height:40px;padding:7px;font-size:13px}
.promoter-mobile .filters .segmented button{min-height:34px;padding:5px 9px;font-size:12px}
.promoter-mobile .promoter-section{margin-bottom:12px}
.promoter-mobile .promoter-section>.panel{margin-bottom:0}
.promoter-mobile .panel{padding:14px}
.promoter-mobile .panel h2{font-size:18px}
.promoter-mobile .section-summary{margin:2px 0 12px;font-size:13px;color:#687e99}
.promoter-mobile .section-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.promoter-mobile .section-actions .btn{flex:1;min-width:125px}
.promoter-mobile #tabApproved .wall,.promoter-mobile #tabCurrent .wall{max-width:100%;overflow:hidden}
.promoter-mobile .spatial-view{height:340px}
.promoter-mobile .promoter-section[hidden],.promoter-mobile .account-dropdown[hidden]{display:none!important}
.promoter-mobile .requests{gap:9px}
.promoter-mobile .request{padding:11px}
.promoter-mobile #busy{font-size:12px;padding:9px 12px;margin-bottom:10px}
.promoter-mobile #error{margin:0 0 12px}
.promoter-mobile #retryPlanLoad{margin-left:8px}
@media(max-width:700px){
 .promoter-mobile main{padding:12px 11px 100px}
 .promoter-mobile .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .promoter-mobile .filters .field:nth-child(2){grid-column:1/-1;grid-row:2}
 .promoter-mobile .filters .field:nth-child(3){grid-column:2;grid-row:1}
 .promoter-mobile .filters .field:nth-child(4){grid-column:1/-1;grid-row:3}
 .promoter-mobile .filters .field:nth-child(4) select{max-width:100%}
 .promoter-mobile .spatial-view{height:290px}
 .promoter-mobile header .brandline{font-size:14px}
 .promoter-mobile .promoter-nav button{font-size:11px}
 .promoter-mobile .slot-grid{gap:6px}
}
@media(max-width:360px){.promoter-mobile .promoter-nav button{font-size:10px;padding:8px 2px}.promoter-mobile .promoter-nav button svg{width:17px;height:17px}.promoter-mobile .promoter-heading h1{font-size:20px}}
.promoter-mobile .btn svg{width:16px;height:16px;max-width:16px;max-height:16px;flex:0 0 16px;vertical-align:middle}
.promoter-mobile .section-actions .btn,.promoter-mobile #requestBtn{min-height:40px;white-space:normal;font-size:12px}
.promoter-mobile .row.between .row{flex-wrap:nowrap}
.promoter-mobile #requestBtn{padding:9px 10px}
.promoter-mobile .spatial-item.model strong{white-space:nowrap;word-break:normal;overflow:hidden;line-height:1}
@media(max-width:700px){.promoter-mobile .promoter-section .section-actions .btn{flex:1 1 45%}}
