/* Shared by the React shell, employee workspace, and standalone admin CRM. */
:root{--noble-visible-height:100dvh;--noble-safe-top:env(safe-area-inset-top,0px);--noble-safe-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-block:calc(80px + var(--noble-safe-top)) calc(80px + var(--noble-safe-bottom));-webkit-text-size-adjust:100%}
body{min-height:100dvh}
:where(main,section,article,aside,form){min-width:0}
:where(video,canvas,iframe){max-width:100%}
:where(input,textarea,select){scroll-margin-block:90px}
:where(.table-wrap,.table-responsive,.skills,.tabs){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
:where(dialog:not(#noble-orientation),[role="dialog"]){max-width:calc(100vw - 24px);max-height:calc(var(--noble-visible-height) - 24px - var(--noble-safe-top) - var(--noble-safe-bottom));overflow-y:auto;overscroll-behavior:contain}
#noble-pwa-tools{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(84px + var(--noble-safe-bottom));z-index:9990;font:14px/1.4 system-ui;color:#eee7f7}
#noble-pwa-tools summary{cursor:pointer;list-style:none;border:1px solid #62516e;border-radius:24px;background:#211729;padding:12px 16px;box-shadow:0 4px 20px #0003;min-height:44px}
#noble-pwa-tools>div{position:absolute;bottom:54px;right:0;width:min(270px,calc(100vw - 24px));padding:12px;border:1px solid #62516e;border-radius:16px;background:#211729;box-shadow:0 10px 35px #0004;max-height:calc(var(--noble-visible-height) - 180px);overflow:auto}
#noble-pwa-tools button,#noble-pwa-tools a{display:block;width:100%;min-height:44px;padding:10px 12px;margin:4px 0;border:0;border-radius:8px;background:#392a45;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}
#noble-pwa-tools p{font-size:12px;padding:6px;line-height:1.5}
#noble-pwa-tools [hidden]{display:none!important}
#noble-pwa-status{position:fixed;left:50%;top:calc(10px + var(--noble-safe-top));transform:translateX(-50%);z-index:10000;width:max-content;max-width:calc(100vw - 24px);padding:10px 16px;border-radius:12px;background:#211729;color:#f4eaff;font:13px/1.5 system-ui;box-shadow:0 3px 20px #0004;pointer-events:none}
#noble-pwa-status:empty{display:none}
html.noble-keyboard-open #noble-pwa-tools{display:none}
html:has(#noble-orientation[open]) #noble-pwa-tools{display:none}
@media(pointer:coarse){button,[role="button"],input:not([type="checkbox"]):not([type="radio"]),select{min-height:44px}input:not([type="range"]),textarea,select{font-size:16px!important}}
@media(max-width:600px){.topbar{flex-wrap:wrap}.topbar .identity{flex-wrap:wrap}.tabs{gap:16px!important;white-space:nowrap}.pages{flex-wrap:wrap}.section-title{flex-wrap:wrap}.form-actions>button{min-height:44px}}
@media(display-mode:standalone){body:not(.dynasty27-body){padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.topbar{padding-top:calc(18px + var(--noble-safe-top))}.x-mobile-header{top:var(--noble-safe-top)!important}.main-content-area{padding-top:var(--noble-safe-top)}body:has(>header)>header{padding-top:calc(20px + var(--noble-safe-top))}body:has(>header)>main{padding-bottom:calc(28px + var(--noble-safe-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}#noble-pwa-tools *{animation:none!important;transition:none!important}}
/* iOS navigator.standalone fallback, also usable by browser QA. */
html.noble-standalone body:not(.dynasty27-body){padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
html.noble-standalone .x-mobile-header{top:var(--noble-safe-top)!important}
html.noble-standalone .main-content-area{padding-top:var(--noble-safe-top)}
html.noble-standalone .topbar{padding-top:calc(18px + var(--noble-safe-top))}
html.dynasty27-document .game-shell.production-live .shell-ui{box-sizing:border-box;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)!important}
#noble-orientation{padding:max(32px,env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left))!important}
@media(max-width:420px){.reg-role-reference-card .reg-role-reference-copy{width:88%;padding-left:64px;padding-right:14px}.reg-role-reference-card .reg-role-reference-copy::before{width:52px}.reg-role-reference-copy .reg-role-reference-icon{left:9px;width:34px}.reg-role-reference-card .reg-role-reference-copy>strong{font-size:24px;overflow-wrap:normal;word-break:normal}.reg-role-reference-card .reg-role-reference-copy>small{font-size:11px;line-height:1.4}.auth-page .reg-role-reference-title h1{font-size:40px}}
