/* Canonical action buttons. Feature styles may arrange them, not restyle them. */
:root{--button-height:46px;--button-width:160px;--button-space:8px;--button-radius:999px;--button-light:#faf8f2;--button-blue:#213e72;--button-red:#a63044}
:is(.button-primary,.button-outline,.button-danger,.button-danger-outline,.button-text,.button-text-danger,.button-next,.action-pill,.photo-choose,.ui-button,.public-signin){box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:var(--button-height)!important;height:auto;min-width:var(--button-width)!important;max-width:100%;border:1px solid transparent!important;border-radius:var(--button-radius)!important;padding:10px 16px!important;margin-block:var(--button-space)!important;font:400 13px/16px var(--font-text,'Helvetica Neue',Helvetica,system-ui,sans-serif)!important;text-decoration:none!important;vertical-align:middle;cursor:pointer;white-space:normal;text-align:center;box-shadow:none!important;transition:background-color .15s,border-color .15s,color .15s,transform .25s,box-shadow .25s}
:is(.button-primary,.ui-button--primary,.public-signin){background:var(--button-blue)!important;color:#fff!important;border-color:var(--button-blue)!important}
:is(.button-outline,.photo-choose,.action-pill,.ui-button--secondary){background:var(--ui-surface,#fff)!important;color:var(--ui-link,#213e72)!important;border-color:var(--ui-link,#213e72)!important}
:is(.button-danger,.ui-button--danger){background:var(--button-red)!important;color:#fff!important;border-color:var(--button-red)!important}
:is(.button-danger-outline,.ui-button--danger-outline){background:var(--ui-surface,#fff)!important;color:var(--button-red)!important;border-color:var(--button-red)!important}
:is(.button-text,.button-text-danger,.ui-button--text){background:transparent!important;color:var(--ui-link,#213e72)!important;border-color:transparent!important;padding-inline:8px!important;min-width:0!important}
:is(.button-next,.ui-button--next){background:var(--button-light)!important;color:var(--ui-link,#213e72)!important;border-color:var(--button-light)!important}
:is(.action-pill,.ui-button--compact){min-width:0!important;min-height:32px!important;padding:6px 10px!important;font-size:12px!important;line-height:18px!important}
:is(.button-primary,.button-outline,.button-danger,.button-danger-outline,.button-text,.button-text-danger,.button-next,.action-pill,.photo-choose,.ui-button,.public-signin)>.nav-icon{width:18px!important;height:18px!important;flex:none}
:is(.button-primary,.ui-button--primary,.public-signin):hover:not(:disabled){background:#192f57!important;border-color:#192f57!important}
:is(.button-outline,.photo-choose,.action-pill,.ui-button--secondary):hover:not(:disabled){background:var(--ui-surface-soft,#edf2f8)!important;border-color:var(--ui-link,#213e72)!important}
:is(.button-danger,.ui-button--danger):hover:not(:disabled){background:#862638!important;border-color:#862638!important}
:is(.button-danger-outline,.ui-button--danger-outline):hover:not(:disabled){background:#fff0f2!important}
:is(.button-text,.button-text-danger,.ui-button--text):hover{text-decoration:underline!important}
:is(.button-primary,.button-outline,.button-danger,.button-danger-outline,.button-text,.button-text-danger,.button-next,.action-pill,.photo-choose,.ui-button,.public-signin):focus-visible{outline:2px solid var(--ui-link,#213e72)!important;outline-offset:3px!important}
:is(.button-primary,.button-outline,.button-danger,.button-danger-outline,.button-text,.button-text-danger,.button-next,.action-pill,.photo-choose,.ui-button,.public-signin):is(:disabled,[aria-disabled=true]){opacity:.45!important;cursor:not-allowed!important;pointer-events:none}
:is(.search-form,.management-search,.member-filters,.platform-filters) :is(input[name=q],select){box-sizing:border-box;min-height:40px!important;height:40px!important;padding-block:8px!important}
@media(max-width:650px){:root{--button-height:44px;--button-width:140px}:is(.button-primary,.button-outline,.button-danger,.button-danger-outline,.button-text,.button-text-danger,.button-next,.photo-choose,.ui-button,.public-signin){padding-block:11px!important}.action-pill,.ui-button--compact{min-height:44px!important;padding-block:11px!important}:is(.search-form,.management-search,.member-filters,.platform-filters) :is(input[name=q],select){min-height:44px!important;height:44px!important}}
@media(prefers-reduced-motion:reduce){:is(.button-primary,.button-outline,.button-danger,.button-danger-outline,.button-text,.button-text-danger,.button-next,.action-pill,.photo-choose,.ui-button,.public-signin){transition:none}}
:is(.button-primary,.button-outline,.button-danger,.button-danger-outline,.button-text,.button-text-danger,.button-next,.action-pill,.photo-choose,.ui-button,.public-signin)[hidden]{display:none!important}

.button-text-danger{background:transparent!important;color:var(--button-red)!important;border-color:transparent!important;padding-inline:8px!important;min-width:0!important}

/* Button labels always use regular weight, in every surface. */
button,[role="button"]{font-weight:400!important}

.ui-button-icon{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:6px!important;flex:none}.ui-button-icon>.nav-icon{width:18px!important;height:18px!important}
@media(max-width:650px){.ui-button-icon{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:11px!important}}

/* Shared contrasting action for blue offer panels, public and private. */
.ui-button--inverse{background:#faf8f2!important;color:#213e72!important;border-color:#faf8f2!important}
.ui-button--inverse:hover:not(:disabled){background:#edf2f8!important;color:#213e72!important;border-color:#edf2f8!important}
.ui-button--inverse:focus-visible{outline:2px solid #e8c180!important;outline-offset:3px!important}

/* The public reference also applies to family and platform actions. */
:is(.button-primary,.button-outline,.button-next,.button-danger,.button-danger-outline,.ui-button,.photo-choose,.public-signin):not(.ui-button-icon):not(.ui-button--text):hover:not(:disabled):not([aria-disabled=true]){transform:translateY(-2px);box-shadow:0 5px 14px #0c1f3926!important}
html[data-color-scheme=dark]{--button-light:var(--ui-surface-soft,#293343)}
@media(max-width:850px){:root{--button-height:44px;--button-width:140px}}
@media(prefers-reduced-motion:reduce){:is(.button-primary,.button-outline,.button-next,.button-danger,.button-danger-outline,.ui-button,.photo-choose,.public-signin){transition:none!important;transform:none!important}}

/* The inverse action keeps dark blue text on its light background in dark mode too. */
html[data-color-scheme=dark] .ui-button--inverse,html[data-color-scheme=dark] .ui-button--inverse:hover:not(:disabled){background:#faf8f2!important;color:#213e72!important;border-color:#faf8f2!important}

/* Search controls share a centreline and height, including the directory CTA. */
.directory-toolbar{align-items:center;min-width:0}
.directory-toolbar .search-form{align-items:center;min-width:0}
.directory-toolbar .directory-search input{margin:0;min-height:var(--button-height)!important;height:var(--button-height)!important}
:is(.directory-toolbar,.management-search,.member-filters,.platform-filters)>:is(.button-primary,.button-outline),.directory-toolbar .search-form>.button-outline{margin-block:0!important}
.directory-toolbar .directory-search{min-width:0}

:is(.search-form,.management-search,.member-filters,.platform-filters) :is(input[name=q],select){min-height:var(--button-height)!important;height:var(--button-height)!important;margin-block:0}

/* One compact action-menu treatment for the directory, photos and management. */
.directory-menu{position:relative;display:inline-block;text-align:left}
.directory-menu>summary{display:flex;align-items:center;justify-content:center;width:36px;height:36px;cursor:pointer;list-style:none;border-radius:50%;color:var(--blue,#213e72)}
.directory-menu>summary::-webkit-details-marker{display:none}
.directory-menu>summary:hover,.directory-menu[open]>summary{background:#edf2f9}
.directory-menu>summary svg{fill:currentColor}
.directory-menu>div{position:absolute;right:0;top:100%;z-index:50}
:is(.directory-menu,.photo-owner-menu,.media-photo-menu)>div,.family-focus-menu>nav,.account-dropdown{box-sizing:border-box;min-width:230px;width:max-content;max-width:calc(100vw - 24px);padding:6px;border:1px solid #dce3ed;border-radius:12px;background:#fff;box-shadow:0 10px 30px #213e721a;text-align:left}
:is(.directory-menu,.photo-owner-menu,.media-photo-menu)>div :is(a,button),.family-focus-menu>nav a,.account-dropdown :is(a,button){display:flex!important;align-items:center;justify-content:flex-start;gap:10px;box-sizing:border-box;width:100%;min-width:0!important;min-height:36px;height:auto;margin:0!important;padding:9px 12px!important;font-size:14px!important;font-weight:400;line-height:1.3!important;text-decoration:none;border:0!important;border-radius:7px!important;box-shadow:none!important;background:transparent;text-align:left;white-space:nowrap;color:#213e72}
:is(.directory-menu,.photo-owner-menu,.media-photo-menu)>div form{margin:0;padding:0}
:is(.directory-menu,.photo-owner-menu,.media-photo-menu)>div :is(a,button):hover,.family-focus-menu>nav a:hover,.account-dropdown :is(a,button):hover{background:#edf2f9}
:is(.directory-menu,.photo-owner-menu,.media-photo-menu)>div .button-text-danger{color:#b52f49}
:is(.directory-menu,.photo-owner-menu,.media-photo-menu)>div .nav-icon{width:18px;height:18px;flex:0 0 18px}
[data-action-popover]{position:fixed!important;inset:auto!important;margin:0!important;overflow:auto;max-height:calc(100dvh - 24px)}
[data-action-popover]::backdrop{background:transparent}
.profile-rights-card{max-width:760px}
.profile-rights-card fieldset{border:0;padding:0;margin:24px 0}
.guardian-options{display:grid;gap:8px;margin:16px 0;max-height:320px;overflow:auto}
.guardian-options label{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;background:#f6f8fb}
.guardian-options label[hidden]{display:none}
.guardian-options input{width:auto}
@media(max-width:390px){:is(.directory-menu,.photo-owner-menu,.media-photo-menu)>div :is(a,button){white-space:normal}}
.workspace .directory-table .directory-menu>div :is(a,button){width:100%!important;height:auto!important;min-width:0!important;justify-content:flex-start!important;overflow:visible!important;--button-space:0}
.workspace .directory-table .directory-menu>div .nav-icon{position:static!important;display:block!important;margin:0!important;transform:none!important;width:18px!important;height:18px!important;flex:0 0 18px}
