/* One viewport contract for pickers, search, editors and confirmation dialogs. */
html.app-popup-open,body.app-popup-open{overflow:hidden;overscroll-behavior:none}
dialog.app-popup:not([open]){display:none!important}
dialog.app-popup[open]{position:fixed;inset:auto;left:calc(var(--app-popup-left,0px) + var(--app-popup-width,100vw)/2);top:calc(var(--app-popup-top,0px) + var(--app-popup-height,100dvh)/2);transform:translate(-50%,-50%);margin:0;box-sizing:border-box;width:min(720px,calc(var(--app-popup-width,100vw) - 32px));max-width:calc(var(--app-popup-width,100vw) - 32px);max-height:calc(var(--app-popup-height,100dvh) - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--admin-line,#d4dfef);border-radius:18px;background:var(--admin-surface,#fff);color:var(--admin-ink,#142c50);box-shadow:0 24px 90px #081b4240;z-index:100;overflow-wrap:anywhere;font-family:inherit;line-height:1.6}
dialog.app-popup::backdrop{background:#081b4280;backdrop-filter:blur(3px)}
dialog.app-popup :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;min-width:0;font-size:16px!important;box-sizing:border-box}
dialog.app-popup :is(button,.btn-primary,.btn-secondary,.btn-danger,.btn-ghost){min-height:44px;min-width:44px;white-space:normal;touch-action:manipulation}
dialog.app-popup :is(pre,code){white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
dialog.app-popup :is(form,.subscription-dialog-body,.account-fields,.account-fields>div){min-width:0;max-width:100%}
dialog.app-popup>header,dialog.app-popup .aw-dialog-heading,dialog.app-popup .admin-search-input-wrap{position:sticky;top:0;z-index:3;background:var(--admin-surface,#fff)}
dialog.app-popup .admin-search-results{max-height:none;overflow:visible}
dialog.app-popup .account-form-actions,dialog.app-popup .aw-dialog-actions{display:flex;flex-wrap:wrap;gap:10px}
dialog.app-popup .media-picker-results{grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr));min-width:0}
dialog.app-popup .media-picker-choice{min-width:0;overflow-wrap:anywhere}
.app-popup-title{font-size:20px;line-height:1.4;letter-spacing:-.3px;margin:0;font-weight:600}
.app-popup-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--admin-line,#d4dfef)}
.app-popup-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid var(--admin-line,#d4dfef);border-radius:10px;background:var(--admin-surface,#fff);color:inherit;font:24px/1 system-ui;cursor:pointer}
.app-select-field{display:grid;grid-template-columns:minmax(0,1fr);position:relative;min-width:0;max-width:100%;width:100%}
.app-select-field[hidden]{display:none!important}
.panel-app .alert{max-width:100%;align-items:flex-start;overflow-wrap:anywhere;line-height:1.65}
.panel-app .alert>button{min-width:44px;min-height:44px;display:grid;place-items:center}
.app-select-native{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;clip-path:inset(50%)!important;pointer-events:none!important}
.app-select-trigger{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:100%;min-width:0;min-height:46px;text-align:left;white-space:normal;box-sizing:border-box;padding:11px 13px;border:1px solid var(--admin-line,#b9cbe4);border-radius:10px;background:var(--admin-surface,#fff);color:var(--admin-ink,#142c50);font:inherit;font-size:14px;line-height:1.5;cursor:pointer;touch-action:manipulation}
.app-select-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.app-select-trigger>span:last-child{flex-shrink:0;font-size:17px;color:var(--admin-muted,#526986)}
.app-select-trigger:focus-visible,.app-popup-close:focus-visible{outline:3px solid #0666f280;outline-offset:2px}
.app-select-trigger:disabled{opacity:.6;cursor:not-allowed}
.app-select-trigger[aria-invalid=true]{border-color:#d93025}
dialog.app-popup.app-select-picker[open]{padding:0;width:min(500px,calc(var(--app-popup-width,100vw) - 32px))}
dialog.app-select-picker[open]{display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:auto}
dialog.app-select-picker .app-popup-header{position:static;flex-shrink:0}
dialog.app-select-picker .app-select-search-wrap{position:static;flex-shrink:0}
dialog.app-select-picker .app-select-list{min-height:48px;flex:1 1 auto}
dialog.app-select-picker .app-select-hint{flex-shrink:0}
.app-select-search-wrap{padding:14px 20px 10px;position:sticky;top:81px;background:var(--admin-surface,#fff);z-index:2}
.app-select-search{display:block;width:100%;min-height:46px;padding:10px 13px;border:1px solid var(--admin-line,#b9cbe4);border-radius:10px;background:var(--admin-surface,#fff);color:inherit;font:inherit;font-size:16px}
.app-select-list{display:grid;gap:6px;padding:10px 12px 14px;overflow:auto;max-height:min(390px,calc(var(--app-popup-height,100dvh) - 220px));overscroll-behavior:contain;scrollbar-gutter:stable}
.app-select-option{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:48px;text-align:left;padding:12px 14px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:15px;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}
.app-select-option[aria-selected=true]{border-color:var(--admin-blue,#0666f2);background:var(--admin-blue-soft,#edf4ff);color:var(--admin-blue,#0657cd);font-weight:600}
.app-select-option:focus{outline:2px solid var(--admin-blue,#0666f2);outline-offset:-2px;background:var(--admin-blue-soft,#edf4ff)}
.app-select-option:disabled{opacity:.5;cursor:not-allowed}
.app-select-group{margin:8px 12px 0;color:var(--admin-muted,#536986);font-size:12px;font-weight:600}
.app-select-empty,.app-select-hint{margin:0;padding:12px 20px;color:var(--admin-muted,#536986);font-size:13px}
.app-select-hint{border-top:1px solid var(--admin-line,#d4dfef)}
dialog.app-popup.app-confirm-dialog[open]{width:min(480px,calc(var(--app-popup-width,100vw) - 32px));padding:0}
.app-confirm-body{padding:20px;font-size:15px;line-height:1.75;white-space:pre-wrap}
.app-confirm-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--admin-line,#d4dfef);background:var(--admin-surface,#fff)}
.app-confirm-actions button{padding:11px 18px;border:1px solid var(--admin-line,#b9cbe4);border-radius:10px;background:var(--admin-surface,#fff);color:inherit;font:600 14px/1.5 system-ui;cursor:pointer}
.app-confirm-actions .app-confirm-proceed{background:#0666f2;border-color:#0666f2;color:#fff}
.app-confirm-actions .app-confirm-proceed.is-danger{background:#d93025;border-color:#d93025}
.health-exception-dialog{padding:0}
.health-exception-dialog .health-exception-content>div:first-child{position:sticky;top:0;z-index:2;background:var(--admin-surface,#fff);flex-wrap:wrap;gap:12px}
@media(max-width:760px){
    dialog.app-popup[open]{width:calc(var(--app-popup-width,100vw) - 20px);max-width:calc(var(--app-popup-width,100vw) - 20px);max-height:calc(var(--app-popup-height,100dvh) - 20px);border-radius:16px;padding-bottom:env(safe-area-inset-bottom,0px)}
    .panel-app dialog.app-popup[open]{margin:0;padding-inline:0}
    dialog.app-popup :is(.subscription-dialog-body,.app-confirm-body){padding:18px 16px}
    dialog.app-popup>header,.app-popup-header{padding:14px 16px}
    dialog.app-popup .account-fields{grid-template-columns:minmax(0,1fr)}
    .app-popup-title,dialog.app-popup h2{font-size:19px}
    .app-select-trigger{min-height:48px;font-size:16px}
    .app-select-search-wrap{padding:12px 16px 8px;top:73px}
    .app-select-list{padding:8px 10px 12px;max-height:min(400px,calc(var(--app-popup-height,100dvh) - 208px))}
    .app-select-option{font-size:16px;padding:12px;min-height:50px}
    .app-confirm-actions{display:grid;grid-template-columns:1fr 1fr;padding:14px 16px;gap:10px}
    .panel-app dialog.aw-delete-dialog.app-popup{padding:20px 16px}
    dialog.app-popup .aw-dialog-actions>*{flex:1}
    dialog.app-popup .account-form-actions{display:grid;grid-template-columns:1fr 1fr}
    .panel-app dialog.media-picker-dialog.app-popup{padding:16px}
}
@media(max-height:480px){dialog.app-popup[open]{max-height:calc(var(--app-popup-height,100dvh) - 12px)}.app-select-list{max-height:calc(var(--app-popup-height,100dvh) - 150px)}.app-select-hint{display:none}.app-popup-header{padding-block:8px}.app-select-search-wrap{position:static}}
@media(max-width:480px){dialog.app-popup .account-form-actions{grid-template-columns:minmax(0,1fr)}dialog.app-popup .account-form-actions>:is(a,button){width:100%;min-width:0;white-space:normal;box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){dialog.app-popup{scroll-behavior:auto}}
.app-popup-compact .app-select-picker .app-select-hint{display:none}
.app-popup-compact .app-popup-header{padding:8px 12px}
.app-popup-compact .app-popup-title{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-popup-compact .app-select-search-wrap{padding:6px 12px}
.app-popup-compact .app-select-search{min-height:44px}
.app-popup-compact .app-select-list{padding:4px 8px;max-height:calc(var(--app-popup-height,100dvh) - 130px);min-height:44px}
