.elsaPopupDialog{box-sizing:border-box;background:transparent;border:0;padding:0}
.elsaPopupDialog::backdrop{background:rgba(17,24,39,.55)}
.elsaPopupPanel{position:relative;display:grid;gap:16px;max-height:calc(100vh - 32px);overflow:auto;padding:24px;border-radius:8px;background:var(--elsa-surface,#fff);box-shadow:0 16px 48px rgba(0,0,0,.28)}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupPanel{grid-template-rows:auto minmax(0,1fr);gap:0;max-height:90dvh;overflow:hidden;padding:0}
.elsaPopupBand{display:flex;align-items:flex-start;gap:8px;min-width:0}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBand{padding:var(--elsa-block-spacing,8px)}
.elsaPopupTitle{flex:1 1 auto;min-width:0;margin:0;font-size:1.25em}
.elsaPopupTitle:empty{display:none}
.elsaPopupBody{min-width:0}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBody{min-height:0;overflow:auto;padding:var(--elsa-block-spacing,8px)}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBody--fragment{display:grid;gap:var(--elsa-block-spacing,8px);align-content:start}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBody--fragment>[data-block-type]{margin-block:0}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBody--iframe{overflow:hidden;padding:0;gap:0}
.elsaPopupFrame{display:block;width:100%;height:0;border:0;background:var(--elsa-surface,#fff)}
.elsaPopupFrame[hidden]{display:none}
.elsaPopupActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.elsaPopupActions:empty{display:none}
/* アイコンだけの帯（COMMANDブロックの図像ボタンのみ、保存状態のSTATUSを伴ってもよい）は幅に関わらず必ず1行。文字の操作（歯車のCONTROLLER転写など）だけが折り返してよい。 */
.elsaPopupActions:not(:has(>.elsaCommandBlock:not(.elsaCommandBlock--icon))){flex-wrap:nowrap}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBand,.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupActions{gap:var(--elsa-block-spacing,8px)}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupActions button{height:var(--elsa-block-action-height,28px);min-height:var(--elsa-block-action-height,28px);white-space:nowrap}
.elsaPopupClose{--elsa-icon-close:url("../icons/close.svg");appearance:none;display:grid;place-items:center;width:var(--elsa-block-action-height);min-width:var(--elsa-block-action-height);height:var(--elsa-block-action-height);min-height:var(--elsa-block-action-height);padding:0;border:0;border-radius:50%;background:var(--elsa-button-default-bg,#d2d2d2);color:var(--elsa-button-default-color,#667085);cursor:pointer;font:inherit;font-size:var(--elsa-button-font-size,14px);line-height:1}
.elsaPopupClose[hidden]{display:none}
.elsaPopupClose::before{width:var(--elsa-block-action-icon-size,16.8px);height:var(--elsa-block-action-icon-size,16.8px);background:currentColor;content:"";-webkit-mask:var(--elsa-icon-close) var(--elsa-icon-close-mask-position, center) / var(--elsa-icon-close-mask-size, var(--elsa-icon-mask-size)) no-repeat;mask:var(--elsa-icon-close) var(--elsa-icon-close-mask-position, center) / var(--elsa-icon-close-mask-size, var(--elsa-icon-mask-size)) no-repeat}
.elsaPopupClose:focus-visible{outline:2px solid var(--elsa-primary-color,#24333f);outline-offset:2px}
@media(hover:hover){.elsaPopupClose:hover{background:var(--elsa-primary-color,#24333f);color:var(--elsa-primary-contrast,#fff)}}
.elsaPopupDialog--settings{width:min(800px,calc(100vw - 40px))}
.elsaPopupDialog--notification{width:min(800px,calc(100vw - 40px))}
.elsaPopupDialog--information,.elsaPopupDialog--calendar{width:min(560px,calc(100vw - 40px))}
@media(max-width:640px){
	/* The open mobile tree reserves a gutter; a fullscreen modal must use the whole viewport. */
	html:has(dialog.elsaPopupDialog[data-popup-shell][open]:not(.elsaAlertDialog)){scrollbar-gutter:auto}
	.elsaPopupDialog:not(.elsaAlertDialog){width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}
	.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupPanel{width:100%;height:100%;max-height:none;border-radius:0;box-shadow:none}
	.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBand{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start}
	.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupTitle{grid-column:1;grid-row:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
	.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupActions{grid-column:2;grid-row:1;min-width:0}
	.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupActions:has(>.elsaCommandBlock:not(.elsaCommandBlock--icon)){grid-column:1/-1;grid-row:2}
	.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupClose{grid-column:3;grid-row:1}
	.elsaPopupDialog.elsaAlertDialog{margin:auto;max-width:calc(100vw - 24px)}
	.elsaPopupDialog.elsaAlertDialog .elsaPopupPanel{max-height:calc(100vh - 24px);padding:18px}
}
/* Opt-in information details stay anchored even on a narrow touch screen. */
.elsaPopupDialog[data-popup-presentation="anchored"]{position:fixed;inset:auto;margin:0;z-index:10000;width:min(560px,calc(100vw - 16px));max-width:calc(100vw - 16px);height:auto;max-height:var(--elsa-popup-anchor-max-height,calc(100dvh - 16px));border-radius:8px}
.elsaPopupDialog[data-popup-presentation="anchored"] .elsaPopupPanel{width:100%;height:auto;max-height:var(--elsa-popup-anchor-max-height,calc(100dvh - 16px));border-radius:8px;box-shadow:0 16px 48px rgba(0,0,0,.28)}
/* タブの並びは本文の固定の行（Issue #4204。core/css/elsa_tab.css の3.）。先頭に置いたTAB（data-elsa-tab-leading、core/js/elsa_tab.js）があるときだけ、本文の箱は送らずにTABの本文（.elsaTabPanel）だけを送る。途中に置いたTAB・タブの中のタブは対象外。 */
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBody:has(.elsaTabBlock[data-elsa-tab-leading="true"]){display:flex;flex-direction:column;overflow:hidden;--elsa-tab-fixed-row-display:flex;--elsa-tab-fixed-row-overflow:auto}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBody:has(.elsaTabBlock[data-elsa-tab-leading="true"])>:not(.elsaTabBlock[data-elsa-tab-leading="true"]){flex:none}
.elsaPopupDialog:not(.elsaAlertDialog) .elsaPopupBody:has(.elsaTabBlock[data-elsa-tab-leading="true"]) :has(.elsaTabBlock[data-elsa-tab-leading="true"]){display:flex;flex-direction:column;flex:1 1 auto;width:auto;min-height:0;min-width:0}
