/* The initial document and the authenticated workspace share one light surface. */
html{background:#f4f6fa;color-scheme:light}body{background:#f4f6fa;color:#1c3253}
.x-password{display:block;position:relative;width:100%;min-width:0}
.x-password input{padding-inline-end:125px!important;width:100%;box-sizing:border-box}
.x-password .x-password-toggle{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);height:34px;min-height:34px!important;max-width:116px;padding:4px 8px!important;border:0!important;box-shadow:none!important;background:transparent!important;color:#345aaa!important;font-size:12px!important;line-height:1.15;text-transform:none!important;white-space:normal}
.x-password-toggle:focus-visible{outline:2px solid #285fea;outline-offset:0}
.x-password .x-password-toggle{z-index:3;min-height:34px!important}
.xc-message{flex-shrink:0}.xc-messages,.r292Chat,#joChat{overflow-anchor:none;overscroll-behavior:contain}
.r292Chat,#joChat{max-height:440px;overflow:auto;min-height:80px}
.r297ChatMsg time{font-size:12px;color:#60738c}.r297ChatMsg p{white-space:pre-wrap;overflow-wrap:anywhere}
.xc-composer{flex-shrink:0}.xc-shell{overflow-anchor:none}
@media(max-width:760px){.xn .xc-shell{height:auto;min-height:0;max-height:none}.xc-conversation{height:75svh;min-height:560px}.xc-projects{height:70svh}.xc-composer textarea{resize:none}.xc-messages{min-height:80px}}
.sj-analysis{padding:12px 16px;background:#f3f6ff;border-inline-start:3px solid #3969c8;margin-bottom:16px}.sj-analysis ul{margin:8px 0;padding-inline-start:20px}.sj-analysis small{display:block;color:#5b6d88}
.x-file-picker{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;width:100%;min-width:0;max-width:100%;padding:8px;box-sizing:border-box;border:1px solid #cbd8e8;border-radius:10px;background:#fff;color:#243b57;font-size:14px;font-weight:400;line-height:1.5;text-align:start}
.x-file-picker>input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;margin:0!important;padding:0!important;opacity:0!important;cursor:pointer;z-index:1}
.x-file-picker>.x-file-caption{flex-shrink:0;border:1px solid #d5dfef;border-radius:7px;padding:7px 12px;background:#f1f5fc;color:#23467c;font-weight:600;pointer-events:none}
.x-file-picker>.x-file-status{min-width:0;overflow-wrap:anywhere;white-space:normal;pointer-events:none}
.x-file-picker:focus-within{outline:2px solid #285fea;outline-offset:2px}
.x-file-picker:has(input:disabled){opacity:.6}.x-file-picker>input:disabled{cursor:not-allowed}
.x-file-picker[hidden]{display:none!important}
@media(max-width:480px){.x-file-picker{flex-wrap:wrap;gap:8px}.x-file-picker>.x-file-status{flex-basis:100%}}

/* Sign-in actions remain readable and reachable on short and narrow screens. */
html body #login.login{box-sizing:border-box;min-height:100vh;min-height:100dvh;height:auto;padding:24px 12px;overflow:auto;align-items:safe center}
html body #login .loginbox{box-sizing:border-box;width:min(460px,100%)!important;max-width:100%;padding:28px!important;margin:auto;min-width:0}
#login .brand{gap:12px;min-width:0}#login .brand>div:last-child{min-width:0}
#login .brand small{display:block;overflow-wrap:anywhere}
#login .loginbox h2{margin:24px 0 20px!important}
#login .loginbox label{font-size:14px!important;line-height:1.5;margin-top:14px}
#login .loginbox :is(input,select){box-sizing:border-box;max-width:100%;width:100%;min-height:48px!important;font-size:16px!important}
#login .loginbox .x-password .x-password-toggle{top:0!important;bottom:0!important;transform:none!important;margin-block:auto!important;height:44px!important;min-height:44px!important;background:transparent!important;box-shadow:none!important}
#login .xa-company-help{display:block;margin:6px 0 14px;font-size:13px;color:#526582;line-height:1.5}
#login .xa-signin-actions{display:grid;gap:10px;margin-top:20px}
#login .xa-signin-actions button{width:100%;min-height:46px!important;font-size:15px;white-space:normal;text-transform:none}
#login .loginbox .xn-login-links{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:20px;padding-top:18px}
#login .loginbox .xn-login-links button{box-sizing:border-box;width:100%;min-height:46px!important;padding:10px 14px!important;border:1px solid #d5dfef!important;border-radius:10px!important;font-size:14px!important;color:#23467c!important;background:#f5f8fe!important;white-space:normal;text-transform:none;line-height:1.4}
#login .loginbox .xn-login-links button:hover{background:#eaf1fc!important;border-color:#8ca7d5!important}
#login :is(button,input,select):focus-visible{outline:3px solid #7aabeb;outline-offset:3px}
dialog.xa-access-dialog.xn{width:min(560px,94vw)!important}
dialog.xa-access-dialog.xn .xn-form{grid-template-columns:minmax(0,1fr)!important}
dialog.xa-access-dialog .xn-notice p{margin:0 0 10px;line-height:1.55}dialog.xa-access-dialog .xn-notice p:last-child{margin-bottom:0}
@media(max-width:480px){html body #login.login{padding:12px}html body #login .loginbox{padding:22px!important;border-radius:16px!important}}

/* Compact sign-in without shrinking mobile input text or disabling pinch zoom. */
html body #login.login{padding:16px 12px;overflow-x:clip;overflow-y:visible}
html body #login .loginbox{width:min(440px,100%)!important;padding:22px!important}
#login .loginbox .brand strong{font-size:21px!important;white-space:nowrap;overflow-wrap:normal;word-break:normal;letter-spacing:3px}
#login .loginbox .brand .logo{flex:0 0 42px;width:42px;height:42px}
#login .loginbox .brand svg{width:42px;height:42px}
#login .loginbox .xn-login-language{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 0}
#login .loginbox .xn-login-language select{width:180px;max-width:65%;min-height:42px!important;padding:8px}
#login .loginbox h2{margin:16px 0 12px!important;font-size:23px!important}
#login .loginbox label{margin-top:10px;font-size:13px!important}
#login .loginbox :is(input,select){min-height:44px!important;padding:9px 11px}
#login .xa-company-help{font-size:12px;margin-bottom:8px}
#login .xa-signin-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;gap:8px}
#login .loginbox .xn-login-links{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;padding-top:12px;gap:8px}
#login .loginbox .xn-login-links button{padding:8px!important;font-size:13px!important}
/* Contain page overflow; tables, diagrams and maps retain their own scroll/pan. */
html,body{max-width:100%;overflow-x:clip}
@media(max-width:760px){html body #app{width:100%;max-width:100%;min-width:0}#app>main,#content{min-width:0!important;width:100%;max-width:100%}html body #login .loginbox{padding:18px!important}#login .loginbox .xn-login-links{gap:6px}}
