/* Shared visual language with DICOMShare's sign-in; no remote fonts or images. */
:root{color-scheme:light;--ink:#17212b;--muted:#637180;--line:#dce3e8;--accent:#194d67;--accent-hover:#123d54;--danger:#b42318;font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;display:grid;min-height:100vh;min-height:100svh;place-items:center;padding:28px;background:radial-gradient(circle at 15% 10%,#4a9ab82e,transparent 34%),radial-gradient(circle at 85% 88%,#1d4d6721,transparent 38%),#eef3f6;color:var(--ink)}
.shell{width:min(960px,100%);min-height:590px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);overflow:hidden;border:1px solid #21455724;border-radius:22px;background:#fffffff2;box-shadow:0 24px 70px #1e36442b}
.identity{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:52px;overflow:hidden;background:linear-gradient(145deg,#0d2d40,#1e5c76);color:white}.identity::after{content:"";position:absolute;width:320px;height:320px;right:-130px;bottom:-150px;border:1px solid #ffffff2e;border-radius:50%;box-shadow:0 0 0 54px #ffffff0a,0 0 0 108px #ffffff06;pointer-events:none}
.brand,.identity-copy,.version{position:relative;z-index:1}.brand{font-size:26px;letter-spacing:-.8px;line-height:1.05;font-weight:600;border-left:4px solid #60d0c4;padding-left:12px}.brand span{display:block;font-size:20px;font-weight:400;letter-spacing:-.45px;margin-top:3px}.identity-copy h1{margin:0 0 16px;font-size:clamp(34px,4.4vw,48px);line-height:1.06;letter-spacing:-.04em;font-weight:650}.identity-copy p{margin:0;max-width:350px;color:#ffffffc4;font-size:16px}.version{font-size:13px;color:#ffffffa3}
.forms{display:grid;align-items:center;padding:48px;min-width:0}.form-view h2{margin:0 0 8px;font-size:27px;letter-spacing:-.025em}.form-view>p{margin:0 0 28px;color:var(--muted)}label{display:block;margin:0 0 16px;color:#344452;font-size:14px;font-weight:650}
input,textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font:inherit;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:72px}input:focus,textarea:focus{border-color:#4d8da9;box-shadow:0 0 0 3px #4084a224}button,a{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #4d8da9;outline-offset:4px}h2:focus{outline:none}
.primary{width:100%;margin-top:7px;padding:12px 16px;border:0;border-radius:9px;background:var(--accent);color:white;font-weight:700;cursor:pointer}.primary:hover{background:var(--accent-hover)}.primary:disabled{opacity:.62;cursor:wait}.link-button{padding:0;border:0;background:none;color:var(--accent);cursor:pointer;font-size:14px;font-weight:650}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.back{display:inline-flex;margin-bottom:25px}.message{min-height:22px;margin:12px 0 0;color:var(--danger);font-size:14px}.message.success{color:#067647}.password-help{font-size:13px;color:var(--muted);margin:0 0 16px}.setup{border:1px solid var(--line);border-radius:9px;padding:14px;margin-bottom:20px;font-size:14px}.setup a{color:var(--accent);font-weight:650}.setup p{color:var(--muted);margin:12px 0 6px}.setup code{font-size:13px;overflow-wrap:anywhere;user-select:all}noscript{font-size:14px}[hidden]{display:none!important}
@media(max-width:780px){body{padding:0;background:white}.shell{min-height:100vh;min-height:100svh;grid-template-columns:1fr;border:0;border-radius:0;box-shadow:none}.identity{min-height:230px;padding:30px;gap:34px}.identity-copy h1{font-size:36px;margin-bottom:0}.identity-copy p,.version{display:none}.forms{padding:36px 28px 48px;align-items:start}}
@media(prefers-reduced-motion:reduce){input{transition:none}}
/* Allow account destinations and validation messages to wrap within the form. */
.identity a.brand{color:inherit;text-decoration:none;align-self:flex-start}
.forms{grid-template-columns:minmax(0,1fr)}
.form-view{min-width:0}
.form-view>p,.message{overflow-wrap:anywhere}
@media(max-width:780px){.shell{grid-template-rows:auto 1fr}.forms{align-content:start}.identity{min-height:0;gap:28px}}
