/* Display chrome only. No selector changes candidate dots, bars, map paths or completion colours. */
/* Owner-selected colours visually matched to the supplied reference: NPP
   RGB(61,69,77), UDP RGB(255,229,34), UNITE RGB(0,0,128). These are editable
   presentation choices, not an independently certified party style guide. */
:root[data-branding=npp]{--brand-main:#3d454d;--brand-soft:#f0f1f2;--brand-accent:#f7f8f9;background:#eceef0}
:root[data-branding=udp]{--brand-main:#564510;--brand-soft:#fff9df;--brand-accent:#ffe522;background:#fff9e6}
:root[data-branding=unite]{--brand-main:#000080;--brand-soft:#efefff;--brand-accent:#000080;background:#f4f4ff}
:root[data-branding=npp] .top{background:#3d454d;color:#fff;border-bottom:4px solid #f6f7f8}
:root[data-branding=udp] .top{background:#ffe522;color:#30280d;border-bottom:4px solid #594810}
:root[data-branding=unite] .top{background:#000080;color:#fff;border-bottom:4px solid #dedfff}
:root[data-branding=unite] .top::after,:root[data-branding=unite] .dashboard-tour::before{background:linear-gradient(#000080 0 20%,#fff 20% 80%,#000080 80%)}
:root[data-branding=npp] .top::after,:root[data-branding=npp] .dashboard-tour::before{background:linear-gradient(#3d454d 0 20%,#fff 20% 80%,#3d454d 80%)}
:root[data-branding=udp] .top::after,:root[data-branding=udp] .dashboard-tour::before{background:linear-gradient(#564510 0 20%,#ffe522 20% 80%,#564510 80%)}
:root[data-branding=udp] .republic-name,:root[data-branding=udp] .national-brand-copy small{color:#493a0b}
.application-brand-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;font-size:42px;line-height:1;color:#fff}
:root[data-branding=udp] .application-brand-symbol{color:#30280d;font-size:35px}
.application-brand-badge{display:flex;align-items:center;justify-content:center;min-width:54px;min-height:36px;padding:4px 8px;border:2px solid currentColor;border-radius:3px;font-size:17px;font-weight:850;letter-spacing:.08em}
:root[data-branding=npp] .nav-shell{border-bottom:2px solid #62676d}
:root[data-branding=udp] .nav-shell{border-bottom:2px solid #c39a06}
:root[data-branding=npp] .map-area{background:linear-gradient(#fafbfc,#e9ebee)}
:root[data-branding=udp] .map-area{background:linear-gradient(#fffef7,#fff5cc)}
:root[data-branding=npp] .results-ticker{background:#282c31;color:#fff;border-color:#e5e7eb}
:root[data-branding=udp] .results-ticker{background:#3f330a;color:#fff;border-color:#ffe522}
:root[data-branding=npp] .results-ticker .ticker-label,:root[data-branding=npp] .results-ticker .ticker-label small{color:#fff}
:root[data-branding=udp] .results-ticker .ticker-label{color:#ffe47a}
:root[data-branding=npp] .council-map-caption{background:#3d454d;border-right-color:#d9dde2}
:root[data-branding=udp] .council-map-caption{background:#3f330a;border-right-color:#ffe522}
:root[data-branding=npp] .council-map-caption small{color:#fff}
:root[data-branding=udp] .council-map-caption small{color:#ffe47a}
:root[data-branding=npp] .dashboard-views .active{background:#3d454d;border-color:#3d454d;color:#fff}
:root[data-branding=udp] .dashboard-views .active{background:#ffe522;border-color:#9e7d00;color:#30280d}
:root[data-theme=night][data-branding=npp]{background:#17191c}
:root[data-theme=night][data-branding=udp]{background:#211d11}
:root[data-theme=night][data-branding=npp] .map-area{background:linear-gradient(#262b31,#323840)}
:root[data-theme=night][data-branding=udp] .map-area{background:linear-gradient(#2c281b,#3b321b)}
.application-branding-settings{margin-top:18px}.application-branding-settings form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:16px 0}.application-branding-settings label{min-width:200px;flex:1 1 240px}.application-branding-settings select{width:100%}.application-branding-status{flex-basis:100%;font-size:13px}.application-branding-settings p{line-height:1.5}.application-branding-settings .muted{font-size:12px}
@media(max-width:650px){.application-brand-symbol{width:34px;height:36px;flex-basis:34px;font-size:33px}:root[data-branding=udp] .application-brand-symbol{font-size:28px}.application-brand-badge{min-width:40px;min-height:28px;font-size:13px;padding:2px 5px}}

.demo-optional-fields{margin:18px 0;border:1px solid var(--line,#aebdca);border-radius:6px;padding:12px}.demo-optional-fields>summary{cursor:pointer;font-weight:650}.demo-optional-fields[open]>.form-grid{margin-top:14px}.simple-demo-steps{line-height:1.6}

:root[data-branding=udp] .theme-picker{color:#30280d}

/* Locally supplied raster artwork replaces text identities without altering data colours. */
.application-brand-monogram{font-size:16px;font-weight:850;letter-spacing:.04em;border:2px solid currentColor;border-radius:7px;width:48px;height:48px}
:root[data-branding=udp] .application-brand-monogram{font-size:16px}
.application-brand-logo{width:56px;height:56px;flex:0 0 56px;object-fit:contain;background:#fff;border:1px solid #ffffff70;border-radius:7px;padding:4px}
.application-brand-flag{width:68px;height:44px;flex:0 0 68px;object-fit:contain;border:1px solid #ffffff60;background:#fff;border-radius:3px}
.application-brand-portrait{display:flex;align-items:center;justify-content:center;margin:0;flex:0 0 58px;order:4}
.application-brand-portrait img{display:block;width:56px;height:58px;object-fit:contain;object-position:center bottom;border:1px solid #ffffffa6;border-radius:4px;background:#ffffff12}
.application-brand-portrait figcaption{display:none}
:root[data-branding=udp] .application-brand-portrait img{border-color:#56451099;background:#ffffff1c}
.branding-arrival>.application-brand-portrait{animation:portrait-arrive 650ms ease-out both}
@keyframes portrait-arrive{from{opacity:1;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.branding-arrival>.application-brand-portrait{animation:none}}
.application-branding-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.application-branding-options .application-brand-choice{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;padding:15px;border:2px solid #b1c0cd;border-radius:8px;min-width:0;white-space:normal;color:#17364c;background:#f3f7fa}
.application-branding-options .application-brand-choice[data-preset=npp]{background:#3d454d;color:#fff;border-color:#616970}
.application-branding-options .application-brand-choice[data-preset=udp]{background:#ffe522;color:#30280d;border-color:#a68400}
.application-branding-options .application-brand-choice[aria-pressed=true]{box-shadow:0 0 0 3px #2e779d;border-color:#fff}
.application-branding-options .application-brand-choice:focus-visible{outline:3px solid #2e779d;outline-offset:4px}
.application-brand-choice strong{font-size:17px}.application-brand-choice small{font-size:11px;line-height:1.4;opacity:.95}.brand-choice-monogram{font-size:10px;font-weight:850;letter-spacing:.12em;border:1px solid currentColor;border-radius:3px;padding:3px 6px}
#application-branding-preview{flex-basis:100%;width:100%;min-width:0}
.application-brand-preview{border:1px solid #a6b9c6;border-radius:9px;overflow:hidden;background:#f2f7fa;color:#17364c}
.brand-preview-header{display:flex;align-items:center;gap:14px;padding:18px;background:#17384d;color:#fff}
.application-brand-preview[data-preset=npp] .brand-preview-header{background:#3d454d}
.application-brand-preview[data-preset=udp] .brand-preview-header{background:#ffe522;color:#30280d}
.brand-preview-header>div{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.brand-preview-header small{font-size:10px;font-weight:700;letter-spacing:.12em}.brand-preview-header strong{font-size:22px;line-height:1.2;overflow-wrap:anywhere}.brand-preview-header span{font-size:12px}
.brand-preview-logo{width:62px;height:62px;object-fit:contain;background:#fff;border-radius:7px;padding:4px;flex-shrink:0}.brand-preview-flag{width:90px;height:58px;object-fit:contain;background:#fff;border-radius:3px;flex-shrink:0}
.brand-preview-monogram{display:flex;align-items:center;justify-content:center;flex:0 0 58px;width:58px;height:58px;border:2px solid currentColor;border-radius:8px;font-size:17px!important;font-weight:850;letter-spacing:.05em}
.brand-preview-body{display:flex;align-items:center;gap:20px;padding:22px;background:#f3f8fb;color:#17364c}
.application-brand-preview[data-preset=npp] .brand-preview-body{background:#edf0f3;color:#242a30}
.application-brand-preview[data-preset=udp] .brand-preview-body{background:#fff9df;color:#47380b}
.brand-preview-body h3{font-size:21px;margin:8px 0}.brand-preview-body p{font-size:12px;margin:7px 0}.brand-preview-body figure{margin:0;flex:0 0 90px}.brand-preview-body figure img{width:90px;height:110px;object-fit:cover;object-position:center top;border-radius:6px}.brand-preview-body figcaption{font-size:10px;text-align:center;margin-top:5px}.brand-preview-tag{font-size:9px;font-weight:800;letter-spacing:.13em}.brand-preview-fact{display:inline-block;background:#ffffffb3;border:1px solid #9cafbb;border-radius:4px;padding:6px 9px;font-size:10px}
.application-branding-artwork{flex-basis:100%;width:100%;border:1px solid var(--line,#aebdca);padding:12px;border-radius:6px}.application-branding-artwork>summary{cursor:pointer;font-weight:650}.application-branding-artwork>p{font-size:12px;margin:12px 0}
.application-branding-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.application-branding-settings .application-branding-asset-grid label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:12px}.application-branding-asset-grid input{width:100%;max-width:100%;min-width:0;font-size:11px}.application-branding-asset-grid button{align-self:flex-start;font-size:11px}.brand-asset-status{font-size:10px;font-weight:500;opacity:.85}.application-brand-source{font-size:12px}.application-brand-source a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){
 .application-branding-options{grid-template-columns:1fr}.application-branding-options .application-brand-choice{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:12px}.application-brand-choice small{grid-column:2}.brand-choice-monogram{grid-row:1/3;align-self:center}
 .application-branding-asset-grid{grid-template-columns:1fr}.brand-preview-header{padding:13px;gap:9px;flex-wrap:wrap}.brand-preview-header strong{font-size:18px}.brand-preview-flag{width:65px;height:42px}.brand-preview-logo{width:44px;height:44px}.brand-preview-monogram{width:44px;height:44px;flex-basis:44px;font-size:13px!important}.brand-preview-body{padding:15px;gap:12px}.brand-preview-body h3{font-size:18px}.brand-preview-body figure{flex-basis:65px}.brand-preview-body figure img{width:65px;height:85px}
 .application-brand-monogram,:root[data-branding=udp] .application-brand-monogram{font-size:12px;width:34px;height:36px;flex-basis:34px}.application-brand-logo{width:38px;height:40px;flex-basis:38px}.application-brand-flag{width:44px;height:30px;flex-basis:44px}.application-brand-portrait{flex-basis:34px;margin:0}.application-brand-portrait img{width:32px;height:38px}.application-brand-portrait figcaption{display:none}
}

/* Identity is a background layer; opaque result cards keep their original contrast. */
.application-branded-shell{position:relative;isolation:isolate}
.application-brand-watermark{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;user-select:none}
.application-brand-watermark img{position:absolute;top:24px;right:2%;width:min(42vw,500px);max-height:500px;object-fit:contain;opacity:.085;pointer-events:none;user-select:none}
.application-branded-header{position:relative;isolation:isolate}
.application-brand-pattern{display:flex;align-items:stretch;position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;user-select:none}
.application-brand-pattern img{display:block;position:static;transform:none;flex:0 0 clamp(72px,5vw,120px);width:clamp(72px,5vw,120px);height:100%;max-height:none;object-fit:contain;object-position:center;padding:3px 12px;opacity:.16;pointer-events:none;user-select:none}
.application-brand-footer-mark img{padding:2px 22px;opacity:.065}
:root[data-branding=udp] .application-brand-hero-mark img{opacity:.12}
.footer.application-branded-footer{position:relative;isolation:isolate}
.footer.application-branded-footer{flex-wrap:wrap;border-top:1px solid var(--line,#bdcbd5);padding-top:18px;color:#526477;line-height:1.5}
.application-brand-footer{display:flex;align-items:center;gap:12px;flex:1 1 100%;min-width:0;padding-bottom:12px;border-bottom:1px solid var(--line,#bdcbd5);color:#253b4d}
.application-brand-footer-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.application-brand-footer-copy strong{font-size:13px;font-weight:750;line-height:1.4}
.application-brand-footer-copy span{font-size:10px;line-height:1.5;letter-spacing:.025em}
.application-brand-footer-logo{width:42px;height:44px;object-fit:contain;flex:0 0 42px;background:#fff;border-radius:5px;padding:3px}
.application-brand-footer-flag{width:54px;height:36px;object-fit:contain;flex:0 0 54px;background:#fff;border:1px solid #b0bac3;border-radius:3px}
:root[data-branding=npp] .application-brand-footer{color:#30353a}
:root[data-branding=udp] .application-brand-footer{color:#59450a}
:root[data-theme=night] .footer.application-branded-footer{color:#b9c8d6;border-color:#52606e}
:root[data-theme=night] .application-brand-footer{color:#edf3f8;border-color:#52606e}
:root[data-theme=night] .application-brand-watermark img{opacity:.07}
:root[data-theme=night][data-branding=npp] .application-brand-footer{color:#f1f3f5}
:root[data-theme=night][data-branding=udp] .application-brand-footer{color:#ffe591}
.projection .footer.application-branded-footer{display:flex;margin-top:6px;padding-top:6px}
.projection .footer.application-branded-footer>span{display:none}
.projection .application-brand-footer{padding-bottom:0;border-bottom:0;gap:9px}
.projection .application-brand-footer-logo{width:28px;height:30px;flex-basis:28px;padding:2px}
.projection .application-brand-footer-flag{width:36px;height:24px;flex-basis:36px}
.projection .application-brand-footer-copy{gap:2px}
.projection .application-brand-footer-copy strong{font-size:11px}
.projection .application-brand-footer-copy span{font-size:9px}
@media(max-width:650px){
 .application-brand-watermark img{top:36px;right:-20px;width:65vw;max-height:300px;opacity:.06}
 .application-brand-hero-mark img{flex-basis:80px;width:80px;padding-inline:10px}
 .top:has(>.application-brand-portrait)>.national-brand{width:auto;flex:1 1 calc(100% - 54px);min-width:0}
 .top>.application-brand-portrait{order:0}
 .top:has(>.application-brand-portrait)>.top-right{order:1}
 .footer.application-branded-footer{gap:10px;padding-top:14px}
 .application-brand-footer{gap:9px;width:100%;flex-basis:auto;padding-bottom:10px}
 .application-brand-footer-logo{width:34px;height:36px;flex-basis:34px}
 .application-brand-footer-flag{width:44px;height:29px;flex-basis:44px}
 .application-brand-footer-copy strong{font-size:12px}.application-brand-footer-copy span{font-size:9px}
}
@media print{.application-brand-watermark,.application-brand-pattern{display:none}.footer.application-branded-footer,.application-brand-footer{color:#162a40!important}}
/* Keep the complete identity within the established desktop projector header. */
@media(min-width:1000px){
 .projection .application-brand-logo{width:44px;height:46px;flex-basis:44px}
 .projection .application-brand-flag{width:54px;height:36px;flex-basis:54px}
 .projection .application-brand-portrait{flex-basis:40px;margin-left:0}
 .projection .application-brand-portrait img{width:38px;height:46px}
 .projection .application-brand-portrait figcaption{display:none}
}
/* Public sign-in, recovery and hosted guide show only the active public identity. */
.public-branding-view{--public-brand-bg:#f0f3f7;--public-brand-ink:#253b4d;position:relative;isolation:isolate;background:var(--public-brand-bg)}
#app.public-branding-view{min-height:100vh;display:flex;flex-direction:column}
:root[data-branding=npp] .public-branding-view{--public-brand-bg:#eceef0;--public-brand-ink:#30353a}
:root[data-branding=udp] .public-branding-view{--public-brand-bg:#fff9e6;--public-brand-ink:#59450a}
.public-branding-header{display:flex;align-items:center;gap:16px;position:relative;padding:20px clamp(16px,4vw,48px);background:#17384d;color:#fff;border-bottom:3px solid #c2ad70}
:root[data-branding=npp] .public-branding-header{background:#3d454d;border-color:#c4c9ce}
:root[data-branding=udp] .public-branding-header{background:#ffe522;color:#30280d;border-color:#80650e}
.public-branding-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.public-branding-copy strong{font-size:20px;line-height:1.3;font-weight:750;letter-spacing:-.025em;overflow-wrap:anywhere}
.public-branding-copy span{font-size:12px;line-height:1.5;letter-spacing:.02em}
.public-branding-logo{width:50px;height:52px;object-fit:contain;flex:0 0 50px;background:#fff;border-radius:6px;padding:3px}
.public-branding-flag{width:64px;height:43px;object-fit:contain;flex:0 0 64px;background:#fff;border:1px solid #ffffff80;border-radius:3px}
.public-branding-status{display:inline-block;flex:0 0 auto;align-self:center;padding:5px 8px;background:#fae3a6;color:#4a3609;border:1px solid #c5a35a;border-radius:4px;font-size:9px;line-height:1.4;font-weight:800;letter-spacing:.05em;white-space:nowrap}
#app.public-branding-view>.login{width:min(440px,calc(100% - 28px));margin:clamp(24px,6vh,64px) auto;position:relative}
.public-branding-footer{display:flex;align-items:center;gap:12px;padding:18px clamp(16px,4vw,48px);border-top:1px solid #b5c1cb;color:var(--public-brand-ink);position:relative}
#app.public-branding-view>.public-branding-footer{margin-top:auto}
.public-branding-footer-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.public-branding-footer-copy strong{font-size:12px;line-height:1.4;font-weight:750}
.public-branding-footer-copy span{font-size:10px;line-height:1.5}
.public-branding-footer-logo{width:32px;height:34px;object-fit:contain;flex:0 0 32px;background:#fff;border-radius:4px;padding:2px}
.public-branding-footer-flag{width:45px;height:30px;object-fit:contain;flex:0 0 45px;background:#fff;border:1px solid #b4bdc5;border-radius:3px}
.public-branding-watermark{position:absolute;inset:110px 0 0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none}
.public-branding-watermark img{position:absolute;top:40px;right:3%;width:min(44vw,500px);max-height:500px;object-fit:contain;opacity:.07;pointer-events:none}
:root[data-theme=night] .public-branding-view{--public-brand-bg:#14202d;--public-brand-ink:#edf3f8}
:root[data-theme=night][data-branding=npp] .public-branding-view{--public-brand-bg:#17191c}
:root[data-theme=night][data-branding=udp] .public-branding-view{--public-brand-bg:#211d11;--public-brand-ink:#ffe591}
@media(max-width:650px){
 .public-branding-header{gap:10px;padding:15px 14px;flex-wrap:wrap}
 .public-branding-copy{flex-basis:calc(100% - 65px)}
 .public-branding-copy strong{font-size:18px}.public-branding-copy span{font-size:11px}
 .public-branding-logo{width:42px;height:44px;flex-basis:42px}
 .public-branding-flag{width:44px;height:30px;flex-basis:44px}
 .public-branding-status{margin-left:auto}
 .public-branding-footer{gap:9px;padding:14px}
 .public-branding-footer-copy strong{font-size:11px}.public-branding-footer-copy span{font-size:9px}
 .public-branding-watermark img{width:80vw;right:-10%;opacity:.055}
}
@media print{.public-branding-watermark{display:none}.public-branding-header,.public-branding-footer{break-inside:avoid}.public-branding-footer{color:#162a40!important}}
/* The self-contained manual keeps its original reading surface in every theme. */
body.public-branding-view>main{background:#f8fafc;color:#153048}
body.public-branding-view>main .public-branding-footer{color:#253b4d}
:root[data-theme=night] #app.public-branding-view>.login{background:#15283a;color:#edf3f8;--muted:#c0cfdd;border-color:#50637a}
#app.public-branding-view>.login .eyebrow{color:#506276}
:root[data-theme=night] #app.public-branding-view>.login .eyebrow{color:#c0cfdd}
:root[data-theme=night] #app.public-branding-view>.login input::placeholder{color:#c0cfdd;opacity:1}

/* The artwork editor shows the effective images without opening hidden controls. */
.application-branding-settings .brand-profile-status{flex:1 1 260px;margin:0 0 5px;font-size:13px;font-weight:650;overflow-wrap:anywhere}
.application-branding-options .brand-choice-state{font-size:11px;font-weight:750;line-height:1.5;min-height:17px}
.application-branding-settings .application-branding-artwork{padding:0;border:0;min-width:0}
.application-branding-artwork>h3{margin:0;font-size:17px}
.application-branding-artwork>p{margin:7px 0 13px}
.application-branding-settings .brand-asset-card{display:flex;flex-direction:column;min-width:0;padding:14px;border:1px solid var(--line,#aebdca);border-radius:7px;background:var(--paper,#fff);color:var(--ink,#18364b)}
.brand-asset-card h4{font-size:14px;line-height:1.35;margin:0 0 10px}
.brand-asset-preview{display:flex;align-items:center;justify-content:center;height:144px;padding:9px;border:1px solid #aabac6;border-radius:5px;background:#edf1f4;color:#3b5061;overflow:hidden}
.brand-asset-preview img{display:block;width:100%;height:100%;object-fit:contain}
.brand-asset-preview>span{font-size:13px;text-align:center;line-height:1.5}
.application-branding-settings .brand-asset-status{min-height:38px;margin:9px 0 5px;line-height:1.45;font-size:12px;font-weight:550;opacity:1;overflow-wrap:anywhere}
.brand-asset-status[data-state=draft]{color:#235d85}.brand-asset-status[data-state=conflict]{color:#943021}
.brand-asset-links,.brand-asset-edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.application-branding-settings .brand-asset-links{margin:0 0 12px;min-height:34px}
.application-branding-settings .brand-asset-links button,.application-branding-settings .brand-asset-edit-actions button{font-size:12px;line-height:1.3;min-height:34px;white-space:normal}
.brand-asset-links a{color:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:7px 3px;overflow-wrap:anywhere}
.application-branding-settings .brand-asset-card>label{display:flex;flex:0 0 auto;min-width:0;gap:6px;margin:0 0 12px;font-size:12px;font-weight:600}
.application-branding-settings .brand-asset-card input{font-size:12px;min-height:38px;max-width:100%;padding:6px}
.brand-asset-edit-actions{margin-top:auto}
.application-branding-settings .brand-artwork-privacy{margin:12px 0 0;font-size:12px}
.brand-save-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex-basis:100%}
.application-branding-settings .brand-save-help{flex-basis:100%;margin:0;font-size:12px}
.application-branding-settings .application-branding-status{margin:0;min-height:20px}
.branding-artwork-dialog{width:min(760px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);box-sizing:border-box;padding:16px;border:1px solid #879bab;border-radius:9px;background:#f4f6f8;color:#18364b}
.branding-artwork-dialog::backdrop{background:#07121dd9}
.branding-artwork-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.branding-artwork-dialog-head h3{font-size:17px;line-height:1.3;margin:0;overflow-wrap:anywhere}
.branding-artwork-dialog-head button{min-height:36px;flex-shrink:0;background:#fff;color:#18364b;border:1px solid #879bab}
.branding-artwork-dialog-image{display:block;width:100%;max-height:calc(100dvh - 125px);object-fit:contain;background:#e6eaed;border:1px solid #aabac6;border-radius:4px}
:root[data-theme=night] .application-branding-settings .brand-asset-card{background:#162a3b;color:#edf3f8;border-color:#587083}
:root[data-theme=night] .brand-asset-status[data-state=draft]{color:#b4dafa}
:root[data-theme=night] .brand-asset-status[data-state=conflict]{color:#ffc5b9}
@media(max-width:650px){
 .application-branding-settings .brand-profile-status{flex-basis:100%;margin:0}
 .application-branding-options .brand-choice-state{grid-column:2}
 .application-branding-settings .brand-asset-card{padding:12px}
 .brand-asset-preview{height:160px}
 .application-branding-settings .brand-asset-status{min-height:0}
 .application-branding-settings .brand-asset-links button,.application-branding-settings .brand-asset-edit-actions button,.brand-asset-links a{min-height:42px}
 .brand-save-actions>button{flex:1 1 130px;min-height:44px}
}
.application-branding-options .application-brand-choice small,.application-brand-preview .brand-preview-header small{color:inherit}

/* Keep the banner copy on a solid party-colour surface above repeated emblems.
   This changes no dimensions and leaves the transparent bar portraits untouched. */
.top{--banner-copy-bg:#102d42;--banner-copy-ink:#fff}
:root[data-branding=npp] .top{--banner-copy-bg:#3d454d;--banner-copy-ink:#fff}
:root[data-branding=udp] .top{--banner-copy-bg:#ffe522;--banner-copy-ink:#231d08}
.top .national-brand-copy{color:var(--banner-copy-ink);background:var(--banner-copy-bg);box-shadow:0 0 0 3px var(--banner-copy-bg);border-radius:2px;text-shadow:none}
.top .national-brand-copy :is(strong,small,.republic-name){color:inherit;opacity:1}
.top>.application-brand-portrait{opacity:1;background:#fff;border-radius:4px;isolation:isolate;mix-blend-mode:normal;filter:none}
:root .top>.application-brand-portrait img{opacity:1;background:#fff;border-color:#7b8794;mix-blend-mode:normal;filter:none}

/* Banner portraits share the chart's bounded crop, on an opaque white square.
   Only the two bundled sources have known blank headroom; uploads stay whole. */
.top>.application-brand-portrait{--leader-portrait-size:58px;flex-basis:var(--leader-portrait-size)}
.top>.application-brand-portrait .application-brand-portrait-frame{position:relative;display:block;flex:none;width:var(--leader-portrait-size);height:var(--leader-portrait-size);overflow:hidden;border:1px solid #7b8794;border-radius:4px;background:#fff;opacity:1}
:root .top>.application-brand-portrait .application-brand-portrait-frame>img{position:absolute;left:0;bottom:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;border-radius:0;object-fit:contain;object-position:center bottom;opacity:1;background:#fff}
:root .top>.application-brand-portrait .application-brand-portrait-frame[data-bundled-portrait=npp]>img{height:111.1112%;object-fit:cover}
:root .top>.application-brand-portrait .application-brand-portrait-frame[data-bundled-portrait=udp]>img{height:104.1667%;object-fit:cover}
@media(max-width:650px){.top>.application-brand-portrait{--leader-portrait-size:38px}}
@media(min-width:1000px){.projection .top>.application-brand-portrait{--leader-portrait-size:46px}}

.top>.application-brand-portrait[data-banner-image=logo] .application-brand-portrait-frame>img{object-fit:contain;padding:4px;background:#fff}

/* Owner-associated UNITE profile; configured candidate/completion colours remain
   independent of these presentation surfaces. */
:root[data-branding=unite] .nav-shell{border-bottom:2px solid #7272b5}
:root[data-branding=unite] .map-area{background:linear-gradient(#fcfcff,#e9e9fb)}
:root[data-branding=unite] .results-ticker{background:#111139;color:#fff;border-color:#d7d7ff}
:root[data-branding=unite] .results-ticker .ticker-label,:root[data-branding=unite] .results-ticker .ticker-label small{color:#fff}
:root[data-branding=unite] .council-map-caption{background:#111139;border-right-color:#c3c3ff}
:root[data-branding=unite] .council-map-caption small{color:#fff}
:root[data-branding=unite] .dashboard-views .active{background:#000080;border-color:#000080;color:#fff}
:root[data-theme=night][data-branding=unite]{background:#111126}
:root[data-theme=night][data-branding=unite] .map-area{background:linear-gradient(#202037,#29294b)}
:root[data-branding=unite] .top{--banner-copy-bg:#000080;--banner-copy-ink:#fff}
.application-branding-options .application-brand-choice[data-preset=unite],.application-brand-preview[data-preset=unite] .brand-preview-header{background:#000080;color:#fff;border-color:#7979ba}
.application-brand-preview[data-preset=unite] .brand-preview-body{background:#efefff;color:#20204c}
:root[data-branding=unite] .application-brand-footer{color:#242452}
:root[data-theme=night][data-branding=unite] .application-brand-footer{color:#e3e3ff}
.application-branding-options{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px) and (min-width:651px){.application-branding-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.application-branding-options{grid-template-columns:1fr}}
/* The bundled lockup stays intact. These existing compact square logo slots
   frame its left-hand emblem; the artwork editor/viewer retains the full image. */
:root :is(.application-brand-logo,.application-brand-footer-logo,.public-branding-logo,.brand-choice-logo,.brand-preview-logo)[src="/unite-logo.png"]{object-fit:cover;object-position:left center;padding:4px 2px;background:#fff}
:root .top>.application-brand-portrait[data-banner-image=logo] .application-brand-portrait-frame>img[src="/unite-logo.png"]{object-fit:cover;object-position:left center;padding:4px 2px;background:#fff}
