@font-face{font-family:Roboto;src:url('contracts/Roboto.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Roboto;src:url('contracts/Roboto-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:light;--navy:#102033;--teal:#087e92;--gold:#c99727;--muted:#627387}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background:#eef3f7;color:var(--navy);font-family:Roboto,Arial,sans-serif;display:grid;place-items:center;padding:32px;padding:max(32px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.login-shell{width:100%;max-width:1000px;display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px #10203316;background:white}.login-brand{padding:48px 40px;background:radial-gradient(ellipse at bottom left,#174958,transparent 70%),var(--navy);color:white;display:flex;flex-direction:column;min-width:0}.brand-logo{background:white;border-radius:12px;padding:16px 20px;align-self:flex-start;margin-bottom:56px}.brand-logo img{display:block;max-width:100%;height:auto}.brand-kicker{font-size:12px;letter-spacing:3px;color:#94d5df}.login-brand h1{font-size:34px;line-height:1.3;margin:20px 0 16px}.login-brand p{font-size:16px;line-height:1.7;color:#c0d1de;margin:0}.brand-modules{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 48px}.brand-modules span{border:1px solid #ffffff28;border-radius:8px;padding:8px 12px;font-size:13px;color:#dcebf1}.brand-footer{margin-top:auto;padding-top:22px;border-top:1px solid #ffffff24;font-size:13px;font-weight:700;letter-spacing:1px}.brand-footer span{display:block;color:#dfb863;font-weight:400;letter-spacing:0;margin-top:8px}.login-panel{padding:56px 40px;min-width:0}.panel-kicker{color:var(--teal);font-size:11px;font-weight:700;letter-spacing:2px}h2{font-size:30px;line-height:1.3;margin:14px 0 10px}.intro{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 30px}form>label{display:block;font-size:14px;font-weight:700;margin:20px 0 9px}input[type=text],input[type=password]{width:100%;height:52px;border:1px solid #ced8e2;border-radius:9px;font:400 16px Roboto,Arial,sans-serif;padding:12px 14px;color:var(--navy);background:#fcfdfe;min-width:0}input:focus{outline:2px solid var(--teal);outline-offset:2px}.password-wrap{position:relative}.password-wrap input{padding-right:68px}.password-wrap button{position:absolute;right:4px;top:4px;height:44px;min-width:54px;border:0;background:transparent;color:var(--teal);font:700 14px Roboto;cursor:pointer;border-radius:6px}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;margin:18px 0 24px}.remember{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px}.remember input{width:18px;height:18px;accent-color:var(--teal);margin:0}.login-options a{display:inline-flex;align-items:center;min-height:44px}.login-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:9px;min-height:52px;background:var(--teal);color:white;font:700 16px Roboto;cursor:pointer;padding:14px}.login-submit:hover{background:#06677a;text-decoration:none}.login-submit span{font-size:22px}.access-note{font-size:13px;color:var(--muted);line-height:1.65;text-align:center;margin:24px 0}.back-home{display:block;text-align:center;font-size:14px;padding:12px}.login-notice{padding:14px;border-radius:8px;line-height:1.6;font-size:14px;margin-bottom:20px}.error{background:#fff1ef;color:#a02d25;border:1px solid #f6d2cb}.success{background:#eaf8f3;color:#216a52;border:1px solid #c0e6d8}.switch-user{margin-top:24px}@media(max-width:760px){body{padding:20px 16px;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:block}.login-shell{max-width:480px;margin:auto;grid-template-columns:1fr;border-radius:18px}.login-brand{padding:24px;display:block}.brand-logo{margin:0 auto;max-width:280px;padding:12px 16px}.brand-kicker{display:block;text-align:center;margin-top:14px;font-size:11px}.login-brand h1,.login-brand p,.brand-modules,.brand-footer{display:none}.login-panel{padding:30px 24px}h2{font-size:27px}.intro{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
