/* The existing portal identity is retained. All dimensions are CSS pixels. */
:root{--portal-width:100vw;--portal-height:100dvh;--portal-top:0px;--portal-left:0px}
.us-backdrop,.portal-mfa-overlay{
 box-sizing:border-box;inset:auto;top:var(--portal-top);left:var(--portal-left);
 width:var(--portal-width);height:var(--portal-height);overflow:hidden;
 padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
}
.us-dialog{box-sizing:border-box;min-width:0;min-height:0;max-width:100%;height:min(860px,100%);max-height:100%;overflow:hidden}
.us-heading{flex:none;margin:0;padding:16px 24px;border-bottom:1px solid var(--us-line);background:var(--us-bg)}
.us-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:12px}
.us-header{padding:16px 24px;border:0}
.us-scroll{overflow:visible;flex:none;padding:0 24px 18px}
.us-footer{flex:none;flex-wrap:wrap}
.us-result-foot>*,.us-result-meta>*{min-width:0}
.us-links{flex-shrink:1}
.portal-mfa-overlay{display:flex;align-items:center;justify-content:center}
.portal-mfa-card{box-sizing:border-box;min-width:0;min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;scroll-padding:14px}
.portal-mfa-card *{box-sizing:border-box}
.portal-mfa-card .portal-mfa-qr{max-width:100%;height:auto;aspect-ratio:1}
.portal-mfa-page{min-height:var(--portal-height);padding:12px}
.portal-mfa-page .portal-mfa-card{max-height:calc(var(--portal-height) - 24px)}
/* The login form is allowed to grow and scroll, including at 200% and 400%. */
#body div:has(>[data-testid=password-login-form]){height:var(--portal-height)!important;width:100%!important;overflow:auto;align-items:flex-start!important;padding:64px 12px 20px;box-sizing:border-box}
#body [data-testid=password-login-form]{flex-shrink:0;margin-block:auto;padding-block:12px;max-width:380px}
/* Keep native dialogs inside the visible area; retain their native focus/ACL logic. */
#body [data-slot=dialog-content]{box-sizing:border-box;min-width:0!important;min-height:0!important;max-width:calc(var(--portal-width) - 24px)!important;max-height:calc(var(--portal-height) - 24px)!important;overflow:auto;top:calc(var(--portal-top) + var(--portal-height)/2)!important;left:calc(var(--portal-left) + var(--portal-width)/2)!important;overscroll-behavior:contain}
#body .MuiDialog-paper{max-width:calc(var(--portal-width) - 24px);max-height:calc(var(--portal-height) - 24px);margin:12px;overflow:auto}
.cn-compose{box-sizing:border-box;width:min(420px,calc(var(--portal-width) - 24px));max-width:calc(var(--portal-width) - 24px);max-height:calc(var(--portal-height) - 24px)!important;top:calc(var(--portal-top) + 12px)!important;left:calc(var(--portal-left) + max(12px,(var(--portal-width) - 420px)/2))!important;overflow:auto;overscroll-behavior:contain;scroll-padding:12px}
.cn-compose .cn-actions{flex-wrap:wrap}.cn-compose .cn-top{flex-wrap:wrap}
.cn-compose input,.cn-compose textarea,.cn-compose select{min-width:0;max-width:100%}
.cn-backdrop.cn-dock{bottom:auto;top:calc(var(--portal-top) + min(var(--rt-panel-top,99px),100px));height:calc(var(--portal-height) - min(var(--rt-panel-top,99px),100px));max-width:var(--portal-width)}
.cn-dock .cn-dialog{min-height:0}
.cn-dock .cn-dialog-head{flex-shrink:0}
.portal-short-viewport .cn-dock .cn-dialog{display:block;overflow:auto;overscroll-behavior:contain}
.portal-short-viewport .cn-dock .cn-dialog-head{display:contents}
.portal-short-viewport .cn-dock .cn-dialog-head>.cn-top:first-child{position:sticky;top:0;z-index:1;padding:10px 12px;background:var(--background-primary,#fff);border-bottom:1px solid var(--border-primary,#c8d2cc)}
.portal-short-viewport .cn-dock .cn-dialog-head>:not(:first-child){margin:10px 12px;width:calc(100% - 24px)}
.portal-short-viewport .cn-dock .cn-results{overflow:visible}
.pf-frame.pf-active{top:var(--portal-top);left:var(--portal-left);right:auto;bottom:auto;width:var(--portal-width);height:var(--portal-height)}
#body .pf-active [data-slate-editor]{overflow-wrap:anywhere}
@media(max-width:700px){
 .us-heading{padding:12px}.us-heading h2{font-size:20px}.us-heading p{font-size:12px}
 .us-header{padding:12px}.us-scroll{padding:0 12px 14px}.us-footer{padding:8px 12px}
 .us-backdrop,.portal-mfa-overlay{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}
 .us-filters{flex-wrap:wrap;gap:8px}.us-filters label{flex-basis:43%}.us-filters label:last-child{flex-basis:100%}
 .us-filters select,.cn-compose input,.cn-compose textarea,.cn-compose select,.cn-dock input,.cn-dock select,.cn-dock textarea{font-size:16px}
 .portal-mfa-card{padding:20px}
 .portal-bar-actions{min-width:0;max-width:100%}.cn-bar{flex-wrap:wrap;gap:6px}
 .cn-backdrop.cn-dock{top:var(--portal-top);height:var(--portal-height);width:min(390px,var(--portal-width));z-index:1250}
 .cn-dock .cn-dialog{border-top:0}
 .pf-header{padding-inline:10px}.pf-close{min-height:40px}
}
.portal-short-viewport .us-heading{padding-block:8px}
.portal-short-viewport .us-heading p{display:none}
.portal-short-viewport .portal-mfa-card{padding:16px}
.portal-short-viewport .portal-mfa-card h1{font-size:21px;margin-bottom:8px}
.portal-short-viewport .portal-mfa-card input[name=code]{font-size:20px;padding:9px}
.portal-short-viewport .portal-mfa-card button{padding:9px;margin-top:8px}
/* Popovers use Radix collision geometry; bound their own scrolling contents. */
#body [data-testid=share-popover]{box-sizing:border-box;min-width:0!important;width:min(480px,calc(var(--portal-width) - 12px))!important;max-width:calc(var(--portal-width) - 12px)!important;max-height:calc(var(--portal-height) - 64px)!important;overflow:auto;overscroll-behavior:contain}
#body [data-testid=share-popover] input{min-width:0}
#body [data-testid=share-popover] [role=tablist]{flex-wrap:wrap;height:auto;min-height:40px}
#body [data-slot=popover-content]:not([data-testid=share-popover]),#body [data-slot=dropdown-menu-content],#body [data-slot=context-menu-content]{max-width:calc(var(--portal-width) - 16px)!important;max-height:calc(var(--portal-height) - 16px)!important;overflow:auto;overscroll-behavior:contain}
#body [data-testid=settings-dialog]{position:relative;overflow:hidden}
#body .portal-settings-close{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:8px;border:1px solid var(--border-primary,#c8d2cc);background:var(--background-primary,#fff);color:var(--text-primary,#172c22);font-size:24px;line-height:1;cursor:pointer}
#body .portal-settings-close:focus-visible{outline:2px solid #31815b;outline-offset:2px}
#body .portal-settings-select{display:none}
body:has([data-testid=settings-dialog]) #case-assistant{visibility:hidden}
@media(max-width:700px){
 #body [data-testid=settings-dialog]{flex-direction:column!important;width:calc(var(--portal-width) - 16px)!important;max-width:calc(var(--portal-width) - 16px)!important;height:calc(var(--portal-height) - 16px)!important;max-height:calc(var(--portal-height) - 16px)!important;margin:8px!important}
 #body .portal-settings-menu{width:100%!important;height:auto!important;flex:none;padding:8px 58px 8px 12px;overflow:visible;box-sizing:border-box;border-bottom:1px solid var(--border-primary,#c8d2cc)}
 #body .portal-settings-menu>[data-testid]{display:none}
 #body .portal-settings-select{display:block;width:100%;min-width:0;height:44px;font-size:16px;border:1px solid var(--border-primary,#c8d2cc);border-radius:8px;padding:5px 8px;background:var(--background-primary,#fff);color:var(--text-primary,#172c22)}
 #body .portal-settings-close{top:8px;right:8px;width:42px;height:44px}
 #body .portal-settings-content{width:100%;min-height:0}
 #body .portal-settings-content .px-8{padding-left:16px!important;padding-right:16px!important}
 #body .portal-settings-content h2{font-size:18px;overflow-wrap:anywhere}
 #body .portal-settings-content input,#body .portal-settings-content textarea{font-size:16px;min-width:0;max-width:100%}
 #body [data-testid=share-popover] input{font-size:16px}
}
#body .MuiDialog-root{top:var(--portal-top);left:var(--portal-left);right:auto;bottom:auto;width:var(--portal-width);height:var(--portal-height)}
body:has([data-testid=share-popover]) #case-assistant{visibility:hidden}
