/* SOMAGON / PILL CONTROLS · palette Aura
   Reference: rounded pills, soft alternatives, circular action accents.
   The data attributes come from the shared presentation adapter in ui-controls.js.
   #app specificity is intentional: a compatibility boundary around old themes,
   not a blanket restyle of calendar cells, cards, SVG handles or switches. */
:root{
 --elan-pill-height:46px;--elan-pill-radius:999px;--elan-pill-font:calc(.9375rem * var(--elan-ui-scale,1));
 --elan-pill-fast:140ms;--elan-pill-fill:#7657FF;--elan-pill-fill-ink:#FFFFFF;--elan-pill-fill-hover:#6A4BF5;
 --elan-pill-soft:#1D1928;--elan-pill-soft-ink:#F6F3FA;--elan-pill-line:#706684;
 --elan-pill-surface:#15121D;--elan-pill-ink:#F6F3FA;--elan-pill-muted:#B9B2C6;
 --elan-pill-hover:#252033;--elan-pill-focus:#956FFF;
}
/* Soft edges on horizontally scrolling menus. The measured widths fall to zero
   at either end, so the first and last choice can be seen completely. */
html[data-theme] :is(#app,body) [data-scroll-fade]{
 -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.35) calc(var(--sg-scroll-fade-left,0px) * .45),#000 var(--sg-scroll-fade-left,0px),#000 calc(100% - var(--sg-scroll-fade-right,0px)),rgba(0,0,0,.35) calc(100% - var(--sg-scroll-fade-right,0px) * .45),transparent 100%);
 mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.35) calc(var(--sg-scroll-fade-left,0px) * .45),#000 var(--sg-scroll-fade-left,0px),#000 calc(100% - var(--sg-scroll-fade-right,0px)),rgba(0,0,0,.35) calc(100% - var(--sg-scroll-fade-right,0px) * .45),transparent 100%);
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;
}
html[data-theme="light"]{
 --elan-pill-fill:#7657FF;--elan-pill-fill-ink:#FFFFFF;--elan-pill-fill-hover:#6A4BF5;
 --elan-pill-soft:#F0EBFA;--elan-pill-soft-ink:#17131F;--elan-pill-line:#83789B;
 --elan-pill-surface:#FFFFFF;--elan-pill-ink:#17131F;--elan-pill-muted:#625A70;
 --elan-pill-hover:#ECE5FB;--elan-pill-focus:#5F40EE;
}
html[data-theme="light"]{--es-accent-soft:#ECE5FB;--es-accent-ink:#5F40EE;--es-focus:#5F40EE}
html[data-theme="dark"]{--es-accent-soft:#251D41;--es-accent-ink:#956FFF;--es-focus:#956FFF}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]{
 box-sizing:border-box!important;display:inline-flex;position:relative;align-items:center;justify-content:center;gap:9px;
 min-width:44px!important;min-inline-size:44px!important;max-width:100%!important;max-inline-size:100%!important;
 min-height:var(--elan-pill-height)!important;height:auto!important;block-size:auto!important;
 padding:10px 18px!important;border:1px solid var(--elan-pill-line)!important;border-radius:var(--elan-pill-radius)!important;
 background:var(--elan-pill-soft)!important;color:var(--elan-pill-soft-ink)!important;
 font-family:var(--elan-ui-font,system-ui)!important;font-size:var(--elan-pill-font)!important;font-weight:550!important;line-height:1.4!important;
 letter-spacing:0!important;text-transform:none!important;text-align:center!important;text-decoration:none!important;
 white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;
 box-shadow:none!important;text-shadow:none!important;filter:none!important;transform:none!important;background-image:none!important;
 transition:background-color var(--elan-pill-fast) ease,border-color var(--elan-pill-fast) ease,color var(--elan-pill-fast) ease!important;
 cursor:pointer;touch-action:manipulation;
}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]>*:not(input):not(svg){min-width:0;max-width:100%;white-space:normal;overflow-wrap:break-word}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]>svg{display:block;flex:0 0 19px;width:19px;height:19px;margin:0;stroke-width:1.7}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="primary"]{background:var(--elan-pill-fill)!important;color:var(--elan-pill-fill-ink)!important;border-color:transparent!important}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="outline"]{background:transparent!important;border-color:var(--elan-pill-line)!important;color:var(--elan-pill-soft-ink)!important}
/* A single decorative action disc; the button remains ONE native target. */
/* Compact circular utility buttons, not extra action rows. */
/* Round icon buttons are true circles: fixed 44 × 44 box, glyph centred, never stretched by line height. */
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="icon"]{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;aspect-ratio:1/1;flex:0 0 44px;padding:0!important;border-radius:50%!important;background:var(--es-soft,#F0EBFA)!important;color:var(--elan-pill-ink)!important;font-size:20px!important;line-height:1!important;overflow:hidden}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="icon"] svg{width:22px;height:22px;flex-basis:22px}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="chip"]{min-height:44px!important;padding:8px 15px!important;font-size:calc(.875rem * var(--elan-ui-scale,1))!important;white-space:nowrap!important;flex:none;background:var(--es-soft,#F0EBFA)!important;color:var(--elan-pill-muted)!important}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="chip"]:is(.active,[aria-current="page"],[aria-current="step"],[aria-pressed="true"]){background:var(--es-accent-soft)!important;border-color:var(--es-accent-ink)!important;color:var(--es-accent-ink)!important}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]:focus-visible,
html[data-theme] :is(#app,body) label[data-elan-control]:has(input:focus-visible){outline:2px solid var(--elan-pill-focus)!important;outline-offset:3px!important}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]:disabled,
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]:has(input:disabled){opacity:.48!important;cursor:not-allowed;pointer-events:auto}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]:active:not(:disabled){background:var(--elan-pill-hover)!important;color:var(--elan-pill-soft-ink)!important;transform:none!important}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="primary"]:active:not(:disabled){background:var(--elan-pill-fill-hover)!important;color:var(--elan-pill-fill-ink)!important}
@media(hover:hover) and (pointer:fine){
 html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]:hover:not(:disabled){background:var(--elan-pill-hover)!important;color:var(--elan-pill-soft-ink)!important}
 html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="primary"]:hover:not(:disabled){background:var(--elan-pill-fill-hover)!important;color:var(--elan-pill-fill-ink)!important}
}
/* Native uploads stay focusable and keep their existing change listeners. */
html[data-theme] :is(#app,body) label[data-elan-control] input[type="file"]{position:absolute!important;inset:0!important;width:100%!important;max-width:100%!important;height:100%!important;opacity:0;cursor:pointer}
/* A field's intrinsic iOS date width must never dictate its form column. */
html[data-theme] #app :is(.v29-app,.brand-workspace,.form-welcome) :is(form,fieldset,label,.form-grid,.v29-form-grid,.v29-two-col,.p31-form-grid,.v30-profile-layout,.ae-edit-form,.v29-form-card){min-width:0!important;min-inline-size:0!important;max-width:100%}
html[data-theme] #app :is(.v29-app,.brand-workspace,.form-welcome) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),select,textarea){box-sizing:border-box!important;min-width:0!important;min-inline-size:0!important;max-width:100%!important;inline-size:100%;font-size:calc(1rem * var(--elan-ui-scale,1))!important;font-weight:400!important;line-height:1.5!important;border-radius:12px!important}
html[data-theme] #app input:is([type="date"],[type="datetime-local"]){width:100%!important;overflow:hidden;text-align:start;display:block;min-height:46px}
html[data-theme] #app input:is([type="date"],[type="datetime-local"])::-webkit-date-and-time-value{min-width:0;text-align:start}
html[data-theme] #app :is(.v29-page-actions,.bw-head-actions,.p31-inline-actions,.p33-presentation-actions){display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:stretch;min-width:0;max-width:100%}
html[data-theme] #app :is(.v29-page-actions,.bw-head-actions,.p31-inline-actions,.p33-presentation-actions)>:is(button,label,a)[data-elan-control]{flex:0 1 auto!important;width:auto!important;min-width:0!important;max-width:100%!important}
/* Readable short editing actions and social shortcuts use the same capsules. */
html[data-theme] #app .ep-network-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:10px}
html[data-theme] #app .ep-network-shortcuts>button[data-elan-control]{justify-content:flex-start!important;padding:7px 12px!important;gap:9px;min-width:0!important}
html[data-theme] #app .ep-network-shortcuts>button[data-elan-control]>svg{box-sizing:content-box;flex-basis:19px;width:19px;height:19px;padding:6px;border-radius:50%;background:var(--elan-pill-surface);color:var(--elan-pill-soft-ink)}
html[data-theme] #app .ep-network-shortcuts>button[data-elan-control]>span{font:inherit;line-height:1.35}
html[data-theme] #app .ep-network-shortcuts>button[data-elan-control]>i{margin-left:auto;font-size:12px}
/* Recadrer and Remplacer: two equal columns on every card width (the download is a text action below). */
html[data-theme] #app .elan-photo-card__secondary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
/* Preview text must not inherit white/low-contrast legacy color literals. */
html[data-theme] #app :is(.p33-presentation,.v29-profile-preview,.ae-public-card,.ae-preview,.ae-public-preview,.v30-public-card,.athlete-brand-card){background:var(--es-panel)!important;color:var(--es-ink)!important;border-color:var(--es-line)!important}
html[data-theme] #app :is(.p33-presentation,.v29-profile-preview,.ae-public-card,.ae-preview,.ae-public-preview,.v30-public-card,.athlete-brand-card) :is(p,small,em,.micro,.eyebrow){color:var(--es-muted)!important;opacity:1}
html[data-theme] #app :is(.p33-presentation,.v29-profile-preview,.ae-public-card,.ae-preview,.ae-public-preview,.v30-public-card,.athlete-brand-card) :is(h2,h3,strong){color:var(--es-ink)!important}
html[data-theme] #app .p33-presentation :is(.micro,.p33-eyebrow){color:var(--elan-pill-soft-ink)!important}
html[data-theme] #app .p33-presentation h2{font:650 calc(1.375rem * var(--elan-ui-scale,1))/1.25 var(--elan-ui-font,system-ui)!important;letter-spacing:-.025em!important}
/* The optional help action is not a white rectangle in the page heading. */
html[data-theme] #app :is(.ae-page-heading,.ep-section-heading)>[data-elan-control]{flex:none;font-size:calc(.875rem * var(--elan-ui-scale,1))!important}
html[data-theme] #app :is(.v30-save-bar):not(.is-private-beta):has([data-save-status][data-state="saved"]),
html[data-theme] #app :is(.v30-save-bar):not(.is-private-beta):has([data-save-status][data-state="local"]){display:none!important}
html[data-theme] #app .v30-save-bar.is-private-beta{position:static!important;inset:auto!important;width:auto;max-width:100%;margin:12px 16px;box-shadow:none;flex-wrap:wrap}
html[data-theme] #app .v30-save-bar:not(:has([data-save-status][data-state="saved"],[data-save-status][data-state="local"])){position:static!important;inset:auto!important;width:auto;max-width:100%;margin:12px 16px;box-shadow:none;flex-wrap:wrap}
/* Profile/theme text enlargement is never neutralized with fixed pixel type. */
html[data-theme] #app :is(.v29-page-head,.bw-head,.ae-page-heading)>h1{font-size:calc(1.75rem * var(--elan-ui-scale,1))!important;line-height:1.18!important;overflow-wrap:break-word}
html[data-theme] #app :is(.v29-page-head,.bw-head)>p{font-size:calc(.9375rem * var(--elan-ui-scale,1))!important;line-height:1.5!important}
@media(max-width:600px){
 :root{--elan-pill-height:44px}
 html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]{padding:9px 16px!important}
 html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="icon"]{padding:0!important}
 html[data-theme] #app .p33-presentation-actions{align-items:stretch}
}
@media(max-width:360px){html[data-theme] #app .ep-network-shortcuts>button[data-elan-control]{padding:6px 9px!important;gap:6px;font-size:calc(.875rem * var(--elan-ui-scale,1))!important}}
html[data-app-text="large"] #app .ep-network-shortcuts{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
html[data-app-motion="reduced"] :is(#app,body) [data-elan-control],html[data-app-motion="reduced"] :is(#app,body) [data-elan-control]::before{transition:none!important}
@media(prefers-reduced-motion:reduce){html[data-theme] :is(#app,body) [data-elan-control],html[data-theme] :is(#app,body) [data-elan-control]::before{transition:none!important}}

html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="danger"]{color:var(--es-danger)!important;background:var(--es-soft)!important;border-color:var(--es-danger)!important}
html[data-theme] #app .athlete-brand-card :is(.abc-eyebrow,.abc-event small,.abc-bio,.abc-stats dt,.abc-zones small){color:var(--elan-pill-muted)!important;opacity:1}
html[data-theme] #app .p33-presentation :is(label[data-elan-control],button[data-elan-control]){width:auto!important;margin:8px 8px 0 0;vertical-align:middle}
html[data-theme] #app .p33-presentation>div{min-width:0!important}
html[data-theme] #app .bw-sections{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:12px 16px;scrollbar-width:none}
html[data-theme] #app :is(.bw-demo-note,.demo-switcher,.demo-switcher>summary){color:var(--elan-pill-muted)!important;opacity:1}

/* Shared compact presentation and form bounds. */
html[data-theme] #app .p33-presentation{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:14px;padding:16px;margin:0 0 20px}
html[data-theme] #app .p33-portrait{width:80px;height:96px;min-height:0;max-height:96px;aspect-ratio:auto;border-radius:16px;overflow:hidden;background:var(--es-soft)!important}
html[data-theme] #app .p33-portrait img{width:100%;height:100%;object-fit:cover}
html[data-theme] #app .p33-presentation h2{font-size:calc(1.125rem * var(--elan-ui-scale,1))!important;margin:0 0 5px}
html[data-theme] #app .p33-presentation p{margin:0;font-size:calc(.875rem * var(--elan-ui-scale,1))!important;line-height:1.5}
html[data-theme] #app .eu-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}
html[data-theme] #app .p33-presentation .eu-actions>[data-elan-control]{margin:0;flex:0 1 auto;max-width:100%}
html[data-theme] #app :is(.v29-form-two,.bw-form-grid){grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
html[data-theme] #app :is(.v29-profile-grid,.bw-two-column,.bw-head,.bw-head>div,.bw-toolbar,.bw-section-head,.ae-page-heading,.ep-section-heading){min-width:0;max-width:100%}
@media(max-width:600px){html[data-theme] #app :is(.v29-form-two,.bw-form-grid){grid-template-columns:minmax(0,1fr)}html[data-theme] #app .bw-toolbar>label{min-width:0;flex:1 1 100%}html[data-theme] #app :is(.bw-head,.bw-section-head,.ae-page-heading,.ep-section-heading){flex-wrap:wrap;gap:10px}html[data-theme] #app .bw-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important}html[data-theme] #app .bw-head-actions{justify-content:flex-start;width:100%;max-width:100%}}
html[data-app-text="large"] #app :is(.v29-form-two,.bw-form-grid){grid-template-columns:minmax(0,1fr)}
/* Match the complete control selector so an earlier important transition cannot
   win when the app or operating system requests reduced motion. */
html[data-theme][data-app-motion="reduced"] :is(#app,body) :is(button,label,a)[data-elan-control],html[data-theme][data-app-motion="reduced"] :is(#app,body) :is(button,label,a)[data-elan-control]::before{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control],html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]::before{transition:none!important;animation:none!important}}

/* Authentication: one circular back target; the alternate account action is a text link below the form. */
html[data-theme] #app .fw-auth .fw-header{
 width:min(420px,calc(100% - 40px));display:flex;align-items:center;
 justify-content:flex-start;gap:12px;min-height:76px;margin-inline:auto;
 padding-block:max(12px,env(safe-area-inset-top,0px)) 12px;
}
html[data-theme] #app .fw-auth .fw-auth-home[data-elan-control]{
 box-sizing:border-box;display:inline-flex!important;align-items:center;justify-content:center;
 width:44px!important;min-width:44px!important;max-width:44px!important;
 height:44px!important;min-height:44px!important;max-height:44px!important;
 flex:0 0 44px;aspect-ratio:1;padding:0!important;border-radius:50%!important;
 background:transparent!important;color:var(--es-ink)!important;border-color:var(--es-line)!important;
}
html[data-theme] #app .fw-auth .fw-auth-home>svg{display:block;flex:none;width:20px;height:20px}
html[data-theme] #app .fw-auth .fw-account-switch .fw-auth-switch[data-elan-control]{
 display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;
 width:auto!important;min-width:0!important;max-width:100%!important;min-height:44px!important;
 padding:8px 4px!important;border:0!important;border-radius:6px!important;
 font-size:calc(.875rem * var(--elan-ui-scale,1))!important;font-weight:600!important;line-height:1.4!important;
 background:transparent!important;color:var(--es-accent-ink)!important;box-shadow:none!important;
}
/* The role selector uses the same measured corner radius as the form controls. */
html[data-theme] #app .fw-auth .v29-role-pick{
 display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(6.5rem * var(--elan-ui-scale,1))),1fr));
 gap:4px;padding:4px;background:var(--es-soft);border:1px solid var(--es-line);border-radius:14px;
}
html[data-theme] #app .fw-auth .v29-role-pick>button{
 min-width:0;min-height:44px;height:auto;padding:9px 10px;border:1px solid transparent!important;
 border-radius:10px!important;color:var(--elan-pill-ink)!important;background:transparent!important;
 font:550 calc(.9375rem * var(--elan-ui-scale,1))/1.4 var(--elan-ui-font,system-ui)!important;
}
html[data-theme] #app .fw-auth .v29-role-pick>button[aria-pressed="true"]{
 background:var(--elan-pill-fill)!important;color:var(--elan-pill-fill-ink)!important;
 border-color:var(--elan-pill-fill)!important;
}
html[data-theme] #app .fw-auth .fw-auth-home:active{background:var(--elan-pill-hover)!important;color:var(--elan-pill-soft-ink)!important}
html[data-theme] #app .fw-auth .fw-account-switch .fw-auth-switch:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:3px}
/* Secondary home links stay quiet. */
html[data-theme] #app .fw-entry :is(.fw-signin,.bd-entry-link)[data-elan-control]{
 background:transparent!important;color:var(--elan-pill-muted)!important;border-color:transparent!important;
}

/* Approved compact agreements layout. Rules are scoped to the shared listing;
   negotiation dialogs, payment controls and other workspaces keep their styles. */
html[data-theme] #app .ac-deals{--ac-selected:#251D41;--ac-selected-ink:#C8B8FF;--ac-selected-line:#7657FF;--ac-spark:#7657FF;}
html[data-theme="light"] #app .ac-deals{--ac-selected:#ECE5FB;--ac-selected-ink:#5F40EE;--ac-selected-line:#7657FF;--ac-spark:#5F40EE;}
html[data-theme] #app .ac-deals .ac-heading{margin:0 0 24px;}
html[data-theme] #app .ac-deals .ac-eyebrow{margin:0 0 10px;color:var(--es-muted)!important;font:600 calc(.6875rem * var(--elan-ui-scale,1))/1.4 var(--elan-ui-font,system-ui);letter-spacing:.095em;}
html[data-theme] #app .ac-deals .ac-heading h1{font:650 calc(1.75rem * var(--elan-ui-scale,1))/1.12 var(--elan-ui-font,system-ui)!important;letter-spacing:-.045em;margin:0 0 14px;color:var(--es-ink)!important;overflow-wrap:anywhere;}
html[data-theme] #app .ac-deals .ac-heading h1 span{color:inherit!important;}
html[data-theme] #app .ac-deals :is(.ac-intro,.ac-qualification){max-width:62ch;margin:0;font:400 calc(.875rem * var(--elan-ui-scale,1))/1.5 var(--elan-ui-font,system-ui);color:var(--es-muted)!important;}
html[data-theme] #app .ac-deals .ac-qualification{margin-top:3px;font-size:calc(.8125rem * var(--elan-ui-scale,1));}
html[data-theme] #app .ac-deals .ac-finances{margin:4px 0 16px;padding:14px 0 2px;border-top:1px solid var(--es-line);border-bottom:1px solid var(--es-line);background:transparent;}
html[data-theme] #app .ac-deals .ac-balance>h2{margin:0 0 10px;font:600 calc(1rem * var(--elan-ui-scale,1))/1.3 var(--elan-ui-font,system-ui);letter-spacing:0;text-transform:none;color:var(--es-ink);}
html[data-theme] #app .ac-deals .ac-finances .p31-stats{margin:0 0 12px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));}
html[data-theme] #app .ac-deals .ac-finances .p31-stats article{padding:12px;background:var(--es-panel);border-color:var(--es-line);}
html[data-theme] #app .ac-deals .ac-finances .p31-stats span{font-size:calc(.6875rem * var(--elan-ui-scale,1));color:var(--es-muted)!important;letter-spacing:0;}
html[data-theme] #app .ac-deals .ac-finances .p31-stats strong{font-size:calc(1.25rem * var(--elan-ui-scale,1));color:var(--es-ink)!important;margin-top:6px;}
/* The painted filter is 36px tall; its native hit area remains at least 44px.
   At large text sizes the complete capsule grows and wraps without clipping. */
html[data-theme] #app .ac-deals .ac-filters{display:flex!important;flex-wrap:wrap;gap:2px 6px;margin:0 0 12px;padding:0;background:transparent!important;}
html[data-theme] #app .ac-deals .ac-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:0!important;padding:24px 18px!important;border:1px dashed var(--es-line);border-radius:18px;background:var(--es-panel);text-align:center;}
html[data-theme] #app .ac-deals .ac-empty-icon{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--es-soft);color:var(--es-muted);}
.ac-empty-icon svg{width:30px;height:30px;}
.ac-empty-icon i::before,.ac-empty-icon i::after{content:"";position:absolute;right:14px;top:9px;width:3px;height:8px;background:var(--ac-spark);border-radius:2px;rotate:18deg;}
.ac-empty-icon i::after{right:8px;top:15px;rotate:55deg;}
html[data-theme] #app .ac-deals .ac-empty h2{max-width:100%;margin:0!important;font:650 calc(1.125rem * var(--elan-ui-scale,1))/1.3 var(--elan-ui-font,system-ui)!important;letter-spacing:-.03em;color:var(--es-ink)!important;overflow-wrap:anywhere;}
html[data-theme] #app .ac-deals .ac-empty p{margin:0!important;max-width:36ch;font:400 calc(.875rem * var(--elan-ui-scale,1))/1.5 var(--elan-ui-font,system-ui)!important;color:var(--es-muted)!important;overflow-wrap:anywhere;}
html[data-theme] #app .ac-deals .ac-empty-action[data-elan-control]{align-self:center;flex:none!important;min-height:44px!important;height:auto!important;width:fit-content!important;max-width:100%!important;min-width:44px!important;margin:4px 0 0!important;padding:10px 17px!important;gap:10px!important;font:550 calc(.875rem * var(--elan-ui-scale,1))/1.4 var(--elan-ui-font,system-ui)!important;white-space:normal!important;}
html[data-theme] #app .ac-deals .ac-empty-action>svg{display:block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;}

/* SOMAGON / COMPACT BUTTONS — one size for the whole app (Instagram-like).
   Variants: primary (filled, main action) · outline and soft (secondary) · ghost text links (ae-text-button)
   · chip (filters, own look, unchanged) · icon (round, unchanged). The touch target stays 44px high (Apple guideline and the
   accessibility tests); only the visible part is compact: 4px transparent borders above and below leave a
   36px visual button, the outline is drawn inside with an inset shadow, corners are rounded, not pills. */
:root{--elan-pill-height:44px;--elan-pill-radius:12px;--elan-pill-font:calc(.875rem * var(--elan-ui-scale,1))}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]:not([data-elan-control="icon"]):not([data-elan-control="chip"]){
 border-style:solid!important;border-color:transparent!important;border-width:4px 0!important;background-clip:padding-box!important;
 padding:4px 14px!important;font-weight:600!important;line-height:1.3!important;gap:7px;
 box-shadow:inset 0 0 0 1px var(--elan-pill-line)!important;
}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="primary"]{box-shadow:none!important}
/* Dark entry role choices hide the disc (see below): their label stays centred. */
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control]:not([data-elan-control="icon"]):not([data-elan-control="chip"])>svg{flex-basis:17px;width:17px;height:17px}
html[data-theme] :is(#app,body) :is(button,label,a)[data-elan-control="chip"]{border-radius:999px!important}
/* Demo menu: account picker on its own line, then two equal buttons, then the full-width examples button. */
html[data-theme] #app .demo-account-bar{flex-wrap:wrap!important;align-items:flex-end}
html[data-theme] #app .demo-account-bar>:is(div,label){flex:1 1 100%!important;min-width:0}
html[data-theme] #app .demo-account-bar>button[data-elan-control]{flex:1 1 calc(50% - 6px)!important;width:auto!important}
/* Photo cards: secondary actions keep the common compact size instead of stretching to the tallest item. */
html[data-theme] #app .elan-photo-card__secondary{align-items:stretch!important}
/* Action rows share their tallest label's height, including wrapped and translated labels. */
html[data-theme] :is(#app,body) :is(.sf-actions,.bp-editor-actions,.cal-premium-other-actions,.eu-actions){align-items:stretch}
