/* Compact dashboards and a standalone, single-column Edit Sign Details modal. */
.compact-stats{padding-top:8px;padding-bottom:8px}
.compact-stats .stat{padding:9px 12px;min-height:0}
.admin-overview .dashboard-map{height:clamp(480px,64vh,760px)}
.placement-edit-dialog{width:min(640px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;overflow:hidden;padding:24px;border:1px solid var(--line-soft);border-radius:12px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.22)}
.placement-edit-form{display:block!important;position:relative;min-width:0;max-width:100%;overflow:hidden}
.placement-edit-header{display:block;height:auto;padding:0 36px 0 0;background:transparent;border:0}
.placement-edit-header h3{margin:0 0 6px;line-height:1.2}
.placement-edit-dialog .dialog-context{margin:0 0 18px;color:var(--ink-soft);overflow-wrap:break-word;word-break:normal;white-space:normal}
.placement-edit-dialog .placement-edit-fields{display:block;margin:0}
.placement-edit-dialog label{display:block;min-width:0;margin:0 0 14px;font-weight:650}
.placement-edit-dialog input,.placement-edit-dialog textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin-top:6px;border:1px solid #cfc9c0;border-radius:8px;padding:10px;font:inherit}
.placement-edit-dialog textarea{min-height:112px;resize:vertical}
.placement-edit-dialog small{display:block;margin-top:5px;color:var(--ink-soft);font-weight:400}
.placement-edit-dialog .placement-inline-error{margin:5px 0 0;color:#a33131;font-size:.88rem;font-weight:700}
.placement-edit-dialog input[aria-invalid="true"]{border-color:#a33131;outline:2px solid rgba(163,49,49,.16)}
.placement-edit-dialog .dialog-close{position:absolute;top:0;right:0;border:0;background:transparent;color:var(--ink-soft);font-size:1.5rem;line-height:1;padding:4px 8px;cursor:pointer}
.placement-edit-dialog .dialog-actions{display:flex!important;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}
.placement-edit-dialog .dialog-actions button{flex:0 0 auto;white-space:nowrap;min-height:40px}
.placement-edit-dialog .dialog-cancel{background:#fff;color:var(--ink);border:1px solid var(--line-soft)}
.placement-edit-dialog::backdrop{background:rgba(20,24,24,.48)}
@media(max-width:620px){.placement-edit-dialog{padding:18px}.placement-edit-dialog .dialog-actions{margin-top:14px;padding-top:12px}}

/* Keep summary cards compact while preserving the operational map height. */
.compact-stats{padding-top:5px;padding-bottom:5px;gap:10px}
.compact-stats .stat{padding:7px 12px;min-height:0}

/* Ambassador placement form: an isolated, predictable field layout. */
.placement-form{display:block!important;box-sizing:border-box;min-width:0;max-width:100%;width:min(1000px,calc(100% - 32px));margin:24px auto;padding:30px 32px;}
.placement-form,.placement-form *{box-sizing:border-box;min-width:0;}
.placement-form h2{margin:0 0 16px;font-size:1.1rem;}
.placement-location-section,.placement-details-section{display:block;width:100%;margin:0 0 22px;padding:0;}
.placement-location-section .address-picker{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin:0;padding:24px;background:#fffaf0;border:1px solid #eadfca;border-radius:12px;}
.placement-location-section .address-picker label{display:grid;gap:7px;width:100%;}
.placement-location-section .address-picker input{width:100%;}
.placement-location-section .manual-location-panel{grid-column:auto;width:100%;}
.placement-location-section .placement-location-map{width:100%;}
.placement-details-section{padding-top:2px;}
.placement-host-grid{display:block;width:100%;max-width:500px;margin-bottom:20px;}
.placement-host-grid label+label{margin-top:20px;}
.placement-form label{display:grid;gap:7px;width:100%;font-weight:650;font-size:.9rem;line-height:1.25;}
.placement-form label input,.placement-form label select,.placement-form label textarea{width:100%;max-width:100%;}
.placement-form input:not([type="hidden"]),.placement-form select,.placement-form textarea{min-height:50px;padding:12px 14px;border:1px solid #cfd4d6;border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.35;box-shadow:none;}
.placement-form input[type="file"]{padding:12px 14px;line-height:24px;}
.placement-form input[type="file"]::file-selector-button{margin:-4px 10px -4px -4px;padding:7px 12px;border:1px solid #cfd4d6;border-radius:7px;background:#f4f6f7;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;}
.placement-host-grid input{height:44px;min-height:44px;padding:10px 14px;border-radius:12px;}
.placement-form textarea{min-height:120px;resize:vertical;}
.placement-form input:not([type="hidden"]):focus,.placement-form select:focus,.placement-form textarea:focus{outline:3px solid rgba(18,221,226,.24);outline-offset:1px;border-color:#6f9b9d;}
.placement-form small{font-size:.9rem;line-height:1.45;}
.placement-host-grid small,.placement-form .placement-photo-guidance{color:var(--ink-soft);font-weight:500;line-height:1.4;}
.placement-form .placement-inline-error{margin:0;color:#a33131;font-size:.88rem;font-weight:700;line-height:1.35;}
.placement-form input[aria-invalid="true"]{border-color:#a33131;outline:2px solid rgba(163,49,49,.16);}
.placement-field-full{margin-top:20px;}
.placement-field-full small{font-weight:500;}
.placement-field-full textarea{min-height:100px;resize:vertical;}
.placement-final-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;margin:0 0 22px;}
.placement-photo-guidance{display:block;margin-top:2px;}
.placement-actions{display:block;width:100%;padding-top:2px;border-top:1px solid var(--line-soft);}
.placement-actions button{display:block;width:100%;margin:22px 0 0;min-height:50px;font-size:16px;}
.placement-form .address-picker{background:#fffaf0;border-color:#eadfca;}
.welcome-illustration{display:block;width:min(240px,100%);height:140px;margin:0 auto 18px;}
.welcome-step{position:relative;min-width:0;}
.welcome-close{position:absolute;top:-8px;right:-8px;width:40px;height:40px;padding:0;border:1px solid var(--line-soft);border-radius:50%;background:#fff;color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;}
.welcome-close:hover{background:#f4f6f7;}
.welcome-close:focus-visible{outline:3px solid rgba(18,221,226,.45);outline-offset:2px;}
@media(max-width:700px){.placement-final-row{grid-template-columns:1fr;gap:20px}.placement-form{padding:20px}.placement-location-section,.placement-details-section{margin-bottom:20px}.placement-host-grid{max-width:none}}

.placement-location{display:block;margin-top:4px;color:var(--ink-soft);font-size:.82rem;overflow-wrap:anywhere}.reclaim-dialog{width:min(440px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);border:1px solid var(--line-soft);border-radius:12px;padding:22px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.22)}.reclaim-dialog::backdrop{background:rgba(20,24,24,.48)}.reclaim-dialog dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:18px 0}.reclaim-dialog dt{font-weight:700;color:var(--ink-soft)}.reclaim-dialog dd{margin:0;overflow-wrap:anywhere}.reclaim-dialog form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.map-marker-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.map-marker-actions a,.map-marker-actions button{font:inherit;font-size:.82rem;padding:6px 9px}.map-sign-popup{position:fixed;z-index:10000;display:block;width:min(320px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:14px 42px 14px 14px;border:2px solid #8f6500;border-radius:10px;background:#fff;color:#27313a;box-shadow:0 14px 34px rgba(0,0,0,.34);font:14px/1.45 Inter,ui-sans-serif,system-ui,sans-serif;pointer-events:auto}.map-sign-popup[hidden]{display:none}.map-sign-popup strong{display:block;margin-bottom:8px;font-size:1.05rem}.map-sign-popup-line{margin-top:4px;overflow-wrap:anywhere}.map-sign-popup-close{position:absolute;top:6px;right:8px;border:0;background:transparent;color:#27313a;font-size:1.35rem;line-height:1;cursor:pointer}.physical-signs-table{width:100%}
.reclaim-dialog[open]{display:block}.reclaim-dialog form{display:block!important;width:100%;min-width:0}.reclaim-dialog h3,.reclaim-dialog p,.reclaim-dialog dl,.reclaim-dialog form>div{width:100%;max-width:100%}.reclaim-dialog form>div{display:flex;flex-wrap:wrap;align-items:center}.reclaim-dialog form>div button{flex:0 0 auto;min-height:40px;white-space:nowrap}

/* Stable three-zone campaign header. */
.site-header{height:auto;min-height:72px;padding:0 clamp(24px,3vw,48px);background:#332923;border:0;color:#fff;box-shadow:0 2px 0 rgba(0,0,0,.18)}
.site-header-inner{display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);align-items:center;gap:16px;min-height:72px;width:100%;margin:0}
.site-header-left{min-width:0}.site-header-center{min-width:0;justify-self:center}.site-header-right{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-width:0}
.site-header .brand{flex:none;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.08rem,1.7vw,1.4rem);font-weight:700;letter-spacing:.015em;line-height:1.1;white-space:nowrap}
.site-header .brand span{color:#d9b85d;font-weight:400;white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:22px;min-height:0;padding:0;background:transparent;border:0;overflow:visible}
.site-nav-links{display:flex;align-items:center;gap:20px}.site-nav a{color:#fff;font-size:.9rem;font-weight:650;text-decoration:none;white-space:nowrap}
.site-nav a:hover,.site-nav a:focus-visible{text-decoration:underline;text-underline-offset:4px}.site-user{color:#eadfce;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.password-control{display:flex;align-items:stretch;gap:8px}.password-control input{flex:1;min-width:0}.password-toggle{flex:0 0 auto!important;white-space:nowrap}.password-requirements{margin:.35rem 0 1rem;padding-left:1.2rem;color:#6d655d}.password-requirements li.satisfied{color:#2f6f4e;font-weight:600}.password-match.satisfied{color:#2f6f4e;font-weight:600}.onboarding-empty a{font-weight:700;color:#8c6a13}
.site-header .header-logout{margin:0;flex:none}.site-header .header-logout button{min-height:42px;padding:9px 17px;border:1px solid #d8b64e;border-radius:3px;background:#c49a35;color:#201912;font-weight:800;letter-spacing:.01em}.site-header .header-logout button:hover{background:#d5ad48}
.menu-toggle{display:none}
@media(max-width:900px){.site-header{padding:0 20px}.site-header-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;min-height:68px}.site-nav-links{gap:14px}.site-nav{gap:14px}.site-user{max-width:120px}}
@media(max-width:680px){.site-header-inner{grid-template-columns:minmax(0,1fr) auto;min-height:64px;padding:10px 0;gap:10px}.site-header-left{grid-column:1}.site-header-center{grid-column:1/-1;grid-row:2;justify-self:stretch}.site-header-right{grid-column:2;grid-row:1;gap:8px}.site-header .brand{font-size:1.08rem;min-width:0}.site-header .header-logout button{min-height:40px;padding:8px 12px}.site-user{max-width:92px;font-size:.76rem}.menu-toggle{display:inline-block;padding:8px 11px;border:1px solid rgba(255,255,255,.55);border-radius:3px;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer}.site-nav{display:none;padding:4px 0 8px}.site-nav.is-open{display:block}.site-nav-links{display:grid;gap:0}.site-nav a{display:block;padding:11px 0;border-top:1px solid rgba(255,255,255,.16)}}
.mobile-menu-account{display:none}
@media(max-width:680px){.site-header-left{min-width:0}.site-header-right{flex-wrap:nowrap;white-space:nowrap}.site-header .brand{display:block;min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap;font-size:clamp(.88rem,4.25vw,1.08rem);letter-spacing:-.02em}.site-user{display:none}.menu-toggle{order:1;padding-left:9px;padding-right:9px}.site-header .header-logout{order:2}.site-header .header-logout button{padding-left:9px;padding-right:9px}.mobile-menu-account{display:block;padding:10px 0 12px;border-bottom:1px solid rgba(255,255,255,.16);color:#fff;overflow:hidden}.mobile-menu-account-label{display:block;color:#d9b85d;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mobile-menu-account strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}}
@media(max-width:380px){.site-header .brand{font-size:.74rem;letter-spacing:-.035em;overflow:hidden}.menu-toggle{padding-left:7px;padding-right:7px}.site-header .header-logout button{padding-left:8px;padding-right:8px}}
.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-stats .campaign-manager-stat{min-width:0}.compact-stats .campaign-manager-label{font-size:.88rem;font-weight:700;line-height:1.2}@media(max-width:900px){.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.compact-stats{grid-template-columns:1fr}}
