@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";#root{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center}:root{--brand-purple: #7213ea;--brand-purple-hover: #5d0fbd;--brand-purple-light: #ab68ff;--brand-purple-ring: #a461f9;--background-purple: #f8f3fe;--background-active-purple: #e3d2f8;--surface-tertiary: #e8dbf7;--text-primary: #2f085e;--text-secondary: #74509f;--text-tertiary: #cabed8;--white: #fff;--gray-100: #ececec;--gray-200: #e3e3e3;--gray-300: #cdcdcd;--gray-400: #999696;--gray-500: #595959;--light-gradient: radial-gradient( ellipse 150% 200% at 25% 100%, rgba(147, 15, 255, .4) 0%, rgba(233, 177, 255, .4) .01%, transparent 25% ), radial-gradient( ellipse 150% 200% at 75% 100%, rgba(41, 51, 157, .4) 0%, rgba(177, 184, 255, .4) .01%, transparent 25% ), #f8f3fe;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:var(--text-primary);background-color:var(--background-purple);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;display:flex;place-items:center;justify-content:center;min-width:320px;min-height:100vh;background:var(--light-gradient)}h1,h2,h3,h4,h5,h6,p{margin:0}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;padding:20px}.login-card{background:var(--white);border-radius:20px;padding:56px 52px 48px;max-width:520px;width:100%;text-align:center;background-image:linear-gradient(var(--white),var(--white)),linear-gradient(135deg,#8364d166,#fff,#8364d1cc,#fff,#8364d166);background-origin:border-box;background-clip:padding-box,border-box;border:1.5px solid transparent;box-shadow:0 0 40px #8364d126,0 8px 32px #7213ea14}.login-logos{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.login-logo{width:32px;height:32px}.login-logo-kpmg{width:64px;height:25px}.login-title{font-size:2.1rem;font-weight:600;color:var(--brand-purple);margin-bottom:28px;line-height:1.2}.login-description{font-size:.95rem;color:var(--gray-500);margin-bottom:24px}.login-subtitle{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:12px}.login-divider{border:none;border-top:1px solid var(--gray-200);margin:0 0 24px}.form-group{text-align:left;margin-bottom:16px}.form-label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.select-wrapper{position:relative;background-image:linear-gradient(var(--white),var(--white)),linear-gradient(90deg,#8364d133,#fff,#8364d166);background-origin:border-box;background-clip:padding-box,border-box;border:1px solid transparent;border-radius:8px;box-shadow:0 0 12px #8364d114;transition:box-shadow .2s ease,border-color .2s ease}.select-wrapper:focus-within{box-shadow:0 0 20px #8364d133;background-image:linear-gradient(var(--white),var(--white)),linear-gradient(90deg,#8364d166,#fff,#8364d1cc)}.form-select{width:100%;padding:10px 36px 10px 14px;font-size:.9rem;font-family:inherit;color:var(--text-primary);background-color:transparent;border:none;border-radius:8px;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2374509f' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:1.25em 1.25em}.form-select option{color:var(--text-primary);padding:8px}.security-group-display{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background-color:var(--background-purple);border:1px solid var(--gray-200);border-radius:8px;font-size:.9rem;color:var(--text-primary)}.security-group-badge{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background-color:var(--brand-purple);border-radius:50%;flex-shrink:0}.security-group-badge svg{width:12px;height:12px;color:var(--white)}.button-row{display:flex;gap:12px;margin-top:24px}.btn{flex:1;padding:12px 24px;font-size:.95rem;font-weight:500;font-family:inherit;border-radius:8px;cursor:pointer;transition:all .15s ease;border:none}.btn-cancel{background-color:var(--background-purple);color:var(--text-secondary);border:1px solid var(--gray-200)}.btn-cancel:hover{background-color:var(--surface-tertiary)}.btn-continue{background-color:var(--brand-purple);color:var(--white)}.btn-continue:hover{background-color:var(--brand-purple-hover)}.btn-continue:disabled{opacity:.5;cursor:not-allowed}.btn-continue:disabled:hover{background-color:var(--brand-purple)}.login-info{background:#e8f4fd;border:1px solid #90caf9;border-radius:8px;padding:12px 16px;margin-bottom:20px;text-align:left}.login-info p{color:#1565c0;margin:0;font-size:.85rem}.login-error{background:#fff0f0;border:1px solid #ef5350;border-radius:8px;padding:12px 16px;margin-bottom:20px;text-align:left}.login-error strong{color:#c62828;display:block;margin-bottom:4px;font-size:.85rem}.login-error p{color:#c62828;margin:0;font-size:.8rem}.login-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0}.spinner{width:32px;height:32px;border:3px solid var(--background-active-purple);border-top:3px solid var(--brand-purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-loading p{color:var(--text-secondary);font-size:.9rem;margin:0}.login-button{width:80%;padding:14px 32px;font-size:1rem;font-weight:600;font-family:inherit;background-color:var(--brand-purple);color:var(--white);border:none;border-radius:28px;cursor:pointer;transition:all .2s ease;letter-spacing:.01em}.login-button:hover{background-color:var(--brand-purple-hover);transform:translateY(-1px);box-shadow:0 4px 16px #7213ea4d}.login-button:active{transform:translateY(0);box-shadow:none}@media(max-width:560px){.login-card{padding:40px 28px 32px;margin:16px}.login-title{font-size:1.6rem}.login-button{width:100%}.button-row{flex-direction:column}}
