.login-page{position:relative;overflow:auto;background:radial-gradient(circle at 10% 15%,#fff 0,transparent 22%),linear-gradient(145deg,#dff4fb,#b9e2f0);font-family:'DM Sans',sans-serif}.back-link{position:absolute;top:24px;left:28px;display:flex;align-items:center;gap:5px;color:#285f76;text-decoration:none;font-weight:700;z-index:2}.back-link svg{width:16px}.login-shell{width:min(980px,calc(100% - 48px));min-height:590px;margin:auto;display:grid;grid-template-columns:1.08fr .92fr;background:#fff;border:1px solid #c4e4ef;border-radius:24px;overflow:hidden;box-shadow:0 28px 80px #205d7530}.login-visual{position:relative;padding:50px;display:flex;flex-direction:column;justify-content:end;background:radial-gradient(circle at 90% 8%,#fff 0,transparent 34%),linear-gradient(160deg,#effaff,#bfe5f2);overflow:hidden}.login-visual:after{content:'';position:absolute;width:250px;height:250px;border:42px solid #ffffff6b;border-radius:50%;right:-100px;bottom:-100px}.login-visual img{position:absolute;left:40px;top:34px;width:300px;max-width:75%;object-fit:contain}.login-visual>span{color:#247a9c;font-size:12px;font-weight:800;letter-spacing:.15em}.login-visual h1{font:800 39px/1.12 Manrope;margin:15px 0;color:#173b50;letter-spacing:-.03em;max-width:420px}.login-visual p{font-size:17px;line-height:1.6;color:#527585;max-width:410px}.login-form{padding:58px 48px;display:flex;flex-direction:column;justify-content:center}.secure-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;background:#eaf8f3;color:#24785c;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.secure-badge svg{width:14px}.login-form h2{font:800 34px Manrope;color:#173b50;margin:24px 0 7px}.login-form>p{color:#647d8a;line-height:1.55;margin:0 0 22px}.login-form vaadin-email-field,.login-form vaadin-text-field{margin-bottom:10px;--vaadin-input-field-background:#f4fafc;--vaadin-input-field-border-color:#c5e1eb;--vaadin-input-field-border-width:1px}.login-form vaadin-button{height:48px;margin-top:5px;border-radius:11px;background:#176b8b;color:#fff;font-weight:800}.login-note{font-size:12px!important;text-align:center;margin:18px 0 0!important;color:#78909a!important}.admin-link{position:fixed;right:20px;bottom:20px;z-index:20;background:#176b8b;color:white;padding:10px 14px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:700;box-shadow:0 8px 24px #0d2b3e40}@media(max-width:760px){.login-shell{grid-template-columns:1fr;margin:78px auto 28px}.login-visual{min-height:245px;padding:32px}.login-visual img{position:relative;left:auto;top:auto;width:230px;margin-bottom:35px}.login-visual h1{font-size:29px;margin-bottom:0}.login-visual p{display:none}.login-form{padding:38px 28px}.back-link{top:20px;left:22px}}.invite-separator{display:flex;align-items:center;gap:10px;margin:19px 0 5px;color:#78909a;font-size:12px}.invite-separator:before,.invite-separator:after{content:'';height:1px;flex:1;background:#d7e9ef}.login-form .invite-button{background:#fff;color:#176b8b;border:1px solid #9bcddd}.invite-dialog p{max-width:460px;color:#587582;line-height:1.6}.approval-page{background:linear-gradient(145deg,#e9f8fd,#c7eaf5)}.approval-card{width:min(520px,calc(100% - 48px));box-sizing:border-box;padding:42px;background:#fff;border:1px solid #c4e4ef;border-radius:22px;box-shadow:0 24px 70px #205d7525;text-align:center}.approval-card img{width:260px;max-width:80%}.approval-card h1{color:#173b50}.approval-card p{color:#587582;line-height:1.65}.approval-card a{display:inline-block;margin-top:14px;padding:12px 18px;border-radius:10px;background:#176b8b;color:#fff;text-decoration:none;font-weight:700}